Git Product home page Git Product logo

shoko-webui's People

Contributors

codex- avatar da3dsoul avatar dependabot[bot] avatar duehoa1211 avatar elementalcrisis avatar fearnlj01 avatar funniray avatar harshithmohan avatar hidden4003 avatar itzzlincler avatar krbrs avatar lexmalta avatar lordflashmeow avatar natyusha avatar queuecumbr avatar revam avatar terrails avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

shoko-webui's Issues

Log User out if Shoko Detects Username or Password Change

Currently the user stays logged in with a 401: Unauthorized message being shown. Instead if the user account is updated outside of the Web UI, the user should be logged out.

Also it seems to have caused another bug as I can log in with the new username but still get the 401: Unauthorized message.

0.1.5 Refreshing queues

Both with uncheck (default) or checked top right check box the queues wont refresh both the Queued Commands and Sepereate queue list (not the "action" button refresh them)

They only load (refresh) on first log in

Recent files inside dashboard show "error"

Its probably because for somewhat reason the 'path' is empty in old call.
I updated /api/dashboard with proper output about files but webui side need tweak as they results a bit different from what it used to.

used to be:

file: [ {id: int, path: string, success: bool } ]

is now (the part you are interested, excluding more information that are provided with same calls outside dashboard)

file: [ { id: int, filename: string, recognized: bool, ... } ]

Invalid login not handled properly

Issue

No login error on user names that don't exist on the JMMServer end.

To reproduce

Enter a username which does not exist in JMMServer which will display no notification and leave both the username and password filled.

Expected results

Inline or popup notification which lets user know it has used invalid login information.

Title change

I would suggest to stick to repo name
"jmmserver webui" or event "jmmserver-webui-{version_of_webui}"

Profile menu

When clicking on profile menu (user name) and menu drop down, it wont hide until you pick something from that menu or once again click on menu.

Could we hide menu when you click on anything else ?

Display logs inside webui

Could you please add log viewer ?

/api/log/get
/api/log/get/(int)

ShokoAnime/ShokoServer@c1bc66f

Also if its possible please write "ERROR / DEBUG / WARNING" in colors ex. Red / Blue / Orange or whatever EC will approve - as he is "The Designer" ;-)

Files Count Only Updates When Tab Switching

The Files count only updates when you switch the tab, staying on the Dashboard tab for example will not update the files count even after all commands have been processed.

Removing deprecated api cals

WebUI probably didn't use much of those that get deprecated but in case I just wanted to ping you that some of them are old and been replaced with new ones and in few next update those deprecated (they are marked in few ways) will be removed from api.

Also you should be happy that there have been added a lot of parameters that can be pass to api and resolve in big performance boost and webui also could benefit from it by using async ask page of data

limit number of items to return
offset starting number of item from list
offset + limit give you paging but you already had that on logs
level you can control on how many levels of object you can get ex. api/filter will return you all filters, with all groups attach to them and so on.. so the minimal usage is leve=1, default the value is 0 and this result in full tree
Those are probably the most important

Nothing except filters/series/ep/file was touched so probably only few that webui use.

The api/version call was also changed a bit so it also return module version and webui channel/version ;-)

autoupdate

autoupdate handle by jmmserver

/api/webui/update - will start the process
/api/webui/latest - will return latest version

Dynamic titles

This is just an idea:

Adding option to webui that make title as the status of current queue ?
maybe progres like 120/1000? percent ? and if all 3 queues are idle "finished" so you can have it pin on browser and see the progress without looking in tab itself.

webui version

should be visible on main panel, or there should be menu from drop down user menu "about" and there should be version.

One or both options

Wizard

Remember about wizard
and remember about checking api version also somewhere between

Settings Tab

settings - mockup

Its a work in progress but should provide the general idea, The settings page is anything related to JMM Server so there should be a box for Database setup/info and general JMM Server settings as well.

Also what do you guys think about the yes/no and daily/weekly/monthly switches?

rename files button on series page? quicker renaming of a show.

i think we need a way to rename a show or add a show to the rename queue from the series page (in collection and pinned)
that way it will be faster to rename files than to remember the name and typing it into the search in the rename tab.... or copy paste it.
to be able to just rename it or add it to the queue from the series page itself makes it a bit easier and alot faster in general.

Notification Improvements

Our current notifications are very basic, instead we should look into adapting a style similar to this style.

image

http://www.jqueryscript.net/other/Growl-Style-Message-Toaster-Plugin-For-jQuery-notify.html

When there is a new notification, it will slide in from the right at which the point the user can manually close it or let it fade away after X seconds with X being a user input. For situations where there might be multiple notifications at once or in short succession, we can show 3-5 and then have them start stacking on each other. We do have the global notifications button at the top which updates in realtime showing the user how many new notifcations there are, similar to how the Workers show how many tasks remain.

Down the line we could even add a report center that further expands on notifications.

User profile page

with infomation and setting about current loged user.
change password
maybe mal/anidb related things ? dunno

Error 404 on localhost:8111 with ShokoServer 3.7 beta

I have an error 404 on localhost:8111.

I downloaded and extracted ShokoServer-WebUI in "JMMServer install directory"/webui and I deleted index.html and restarted JMM Server.

There is other operations to see the webUI ?

login screen focus

When login page is loaded please set focus on login name form - as its possible ;-) and would help a lot

Travis integration

It is possible to use Travis CI to make release builds automatically, all that is needed is some configuration and when commit gets tagged it will automatically create a release. The difference is that the resulting file will have to be downloaded from release assets and not from the repository itself.

Backup/Import settings

Both work correct now
GET /api/config/export return full body of proper settings.json but don't read settings.json - it would be great to be able to download it thru webui or have it in alike textbox that you could copy
POST /api/config/import - it would be great to have ability to have same textbox as export and be able to past it there also you could tweak settings by hand this way while pasting it.
Having it formated in that textbox as proper json would be even better but normal text is great for start.

0.3.0-dev issues

  • "update available" showing, but clicking it don't do anything
  • quick actions - some of them are in API but not there
  • change password don't work
  • import folder - manage don't work
  • setting/log - throw 404 when I click "manage" on import folder before going there
  • logout don't work - should redirect to /webui/
  • update /api/config

Settings That Need To Be Added

This is just a general list so we know what needs to be added. As discussed a lot of settings from Desktop will be added so if unclear check the desktop settings section.

We should also work on improving the settings and not just copying them over.

Web UI Settings

  • Light/Dark
  • Custom
  • Turn Off Notifications

Log Rotator

  • On/Off
  • Schedule (X Days, Daily, Weekly, Monthly)
  • Zip (Yes/No)
  • Delete (Yes/No)

~~~- Type~~~
~~~- Port~~~
~~~- Server Address~~~
~~~- Database Name~~~
~~~- Username~~~
~~~- Password~~~

---

**Windows Only Settings**
- Start With Windows
- Minimize To Tray
- Start Minimized

---

~~~**AniDB Login Settings**~~~ (Done https://github.com/ShokoAnime/ShokoServer-WebUI/pull/130)
- ~~~Username~~~
- ~~~Password~~~
- ~~~Port~~~
- ~~~AvDump Key~~~
- ~~~AvDump Port~~~

~~~**AniDB Image Settings**~~~ (Done https://github.com/ShokoAnime/ShokoServer-WebUI/pull/131)
- ~~~Download AniDB Poster~~~ (no setting, and also makes no sense)
- ~~~Download Character Images~~~
- ~~~Download Creator Images~~~
- ~~~Creator images~~~ (added)
- ~~~Release group~~~ (added)

~~~**AniDB MyList Settings**~~~ (Done https://github.com/ShokoAnime/ShokoServer-WebUI/pull/131)
- ~~~Add Files~~~
- ~~~Storage State Options~~~
- ~~~Delete Action Options~~~
- ~~~Mylist Sync Options~~~
- ~~~Local Sync Options~~~

~~~**AniDB Updates**~~~ (Done https://github.com/ShokoAnime/ShokoServer-WebUI/pull/131)
- ~~~Update MyList Every X (6/12/24 Hours, Week, Month)~~~
- ~~~Get MyList Stats Every X (6/12/24 Hours, Week, Month)~~~
- ~~~Update Anime and Episode Info Every X (6/12/24 Hours, Week, Month)~~~
- ~~~Update Files With Missing Info Every X (6/12/24 Hours, Week, Month)~~~

---

~~~**TvDB Settings**~~~ (Done https://github.com/ShokoAnime/ShokoServer-WebUI/pull/135)
- ~~~Download Fanart~~~
- ~~~Download Wide Banners~~~
- ~~~Download Posters~~~
- ~~~Max Fanart~~~
- ~~~Max Wide Banners~~~
- ~~~Max Posters~~~
- ~~~Update Data Every X (6/12/24 Hours, Week, Month)~~~
- ~~~TvDB Language~~~

---

~~~**MAL Settings**~~~ (Done https://github.com/ShokoAnime/ShokoServer-WebUI/pull/136)
- ~~~Username~~~
- ~~~Password~~~
- ~~~Sync Watched States (Yes/No checkbox)~~~
- ~~~Sync Ratings (Yes/No checkbox)~~~ (not a separate setting)
- ~~~Never Decrease Series Status~~~

---

~~~**Trakt Settings**~~~ (Done https://github.com/ShokoAnime/ShokoServer-WebUI/pull/136)
- ~~~Trakt PIN~~~ (new auth is used PIN is deprecated)
- ~~~Update Data Every X (6/12/24 Hours, Week, Month)~~~

---

~~~**Movie DB Settings**~~~ (Done https://github.com/ShokoAnime/ShokoServer-WebUI/pull/136)
- ~~~Download Fanart~~~
- ~~~Download Posters~~~
- ~~~Max Fanart~~~
- ~~~Max Posters~~~

---

**Preferred Language Settings**
- See JMM Desktop

---

**Relation Settings**
- See JMM Desktop

---

**Web Cache**
- See JMM Desktop

Change between unstable and stable

Ability to pick in settings which version you want to install (stable or unstable)
From https://developer.github.com/v3/repos/releases/ I only see that there is latest or GET /repos/:owner/:repo/releases/tags/:tag
so the unstable would have to have same tag - which is possible.

This could end up usefull for testing things as it would be easier than downloading and replacing things on remote hosts.

What do you think ?

check api version before showing login screen

/api/version - check { api: int } for compatibility if api is same of lower than supported version then pass thru if not show update button

Do we need user to auth to update webui or we pass him without login/pass ?

Update process

As the update now detects and redirects, after the initial redirect to login screen (which has cached version as you said before) you are unable to login without refreshing it manually. (0.1.4 -> 0.1.5)

Import Folders tab

import folders tab
We are reusing top section and folders overview from main page, the new thing is series files in a folder.

  • Make new tab and connect to sidebar
  • API call to get series file list by import folder id (@bigretromike)
  • Connect it to UI

Use Fanart as Fallback if Episode has no Image.

using fanarts as "thumbnails" for movie files without a thumb.
so if the movie is not on the tvdb for thumbnails it will use a fanart image in a 16:9 ratio (if we can) to use as a thumbnail. that way its never empty. and many of the movies already have tmdb pages that host fanarts like that :D

Login screen version

/api/version will return:

{
{name: api, version: 1}
{name: jmmserver, version: 3.6.0.0}
}

This way you can populate data on loginscreen

Dashboard improvements

dashboard_-_remaining_items_v2

  • 1. Recent Files should only show the past 6 added files. We can have it as a user setting in a future update. Similar to the commands box, there is a button on the right that when click takes the user to the Interactive Log, have it hidden for now until Interactive log is added.
  • 2. We should show the import status for each file, the green success if the file was imported sucessfully and the red error if the file was not imported successfully
  • 3. Queued Commands does not update nor show total amount of queued commands.
  • 4. The top nav bar is missing the notifications indicator (Bell Icon) which can be clicked to show the last 10 notifications in a drop down. It's also missing the user box, should show the logged in user with a couple options like "Change Password" and Logout for now. Also included is the search icon that when click opens the search bar, we should add it but have it hidden by default until later.
  • 5. Text in the Commands box should be trimmed so it doesn't extend box. Can be a setting in a future update.
  • 6.The footer bar should be added and shown at the bottom of the page, the text in the middle shows the application name and version number with the scroll to top button on the far right.
  • 7.Implement the JMM News section, shows the article title and when clicked takes the user to that article. Similar to the commands box, there is a button on the right that when click takes the user to the blog so they can read more.
  • 8. Import Folders should be named Import Folders Overview. Also using it as an example each box should have a subtitle with it, check original mockup for the subtitle.Similar to the commands box, there is a button on the right that when click takes the user to the Add import Folder modal, have it hidden for now until Interactive log is added
  • 9. The Run Import button need to be pushed up as it's resting on the line.
  • 10. Quick Actions needs to be implamented, pick 6 commands for default, we will allow users to select actions in a future update.Similar to the commands box, there is a button on the right that when click takes the user to the Quick Actions section in settings, have it hidden for now until Interactive log is added.
  • 11. In the bottom-right we have three quick links, Home takes the user to the website, GitHub takes the user to GitHub and Support takes them the support page. Use fake URL's for now.
  • 12. Add collapsible menu button on the left-side of JMM Server.

Interactive Log

Two different ideas. The top one uses a pop-up to show the different filter options and general log options while the bottom one has it's own row for them.

interactive log - mockup

interactive log - mockup v2

In terms of the actual filter options and log options, the ones I put are just temporary. We can decide on the actual ones later as well as what else we need to add.

Import Folder add/edit/delete popup

import_popup_2
import_popup_3
import_popup_4

  • API call to edit a folder (@bigretromike)
  • API call to get directory tree/ subtree from server for Explore button (@bigretromike)
  • Create popup with tabs?
  • Create and connect add new folder tab
  • Create and connect edit/delete folder tab
  • Create and connect providers tab (might postpone that until merge with cloud branch)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.