drumber / kitsune Goto Github PK
View Code? Open in Web Editor NEWUnofficial android app for Kitsu.app (Kitsu.io)
License: Apache License 2.0
Unofficial android app for Kitsu.app (Kitsu.io)
License: Apache License 2.0
Currently I don't find a way to update my profile picture or banner from the app
Recently the app has been showing that I'm watching Castlevania season 2, however I finished it and have add it to my completed list... Here is how my watch list looks on the website, and you see it only once, Castlevania (season 3):
And here is how it looks in the app:
And as you can see here, it is in my completed section on Kitsu:
Here is my Kitsu profile, in case you need it for debugging: https://kitsu.io/users/Netsu
I was thinking it would be good to have the user profile picture at the bottom right instead of the generic profile icon when logged in!
It should be possible to created, update and delete profile links.
Steps to reproduce:
Possible cause:
If multiple profile links are created and they contain one (or more) profile links with an incorrect pattern, it is possible that a correct profile link was created on the server. However, since the entire process has failed, the profile links that were actually created are still treated as new profile links. This will cause subsequent API calls to also fail as we are trying to POST a new profile link that still exists on the server.
Possible fixes:
could it be possible to display some sort of an "average user rating" on each anime's page? There already exists the "Ratings" section on the bottom of every page but even with that its a bit hard to really assess user's reception on a particular anime.
since the data for user ratings is already there, i imagine it shouldn't be too hard to implement
Steps:
There is a race condition when the access token is being updated and at the same time other API calls are being made which result in 401 errors.
We should wait for the OAuth token call to finish before making any other API calls.
Captured logs:
AuthPreferences io.github.drumber.kitsune D Parse and return access token stored as json.
AuthRepository io.github.drumber.kitsune D Loaded stored access token.
AuthRepository io.github.drumber.kitsune D Access token expires on 1693827852 (in seconds)
AuthRepository io.github.drumber.kitsune D Refreshing access token...
okhttp.OkHttpClient io.github.drumber.kitsune I --> POST https://kitsu.io/api/oauth/token (236-byte body)
okhttp.OkHttpClient io.github.drumber.kitsune I <-- 200 https://kitsu.io/api/oauth/token (2560ms, unknown-length body)
okhttp.OkHttpClient io.github.drumber.kitsune I --> GET https://kitsu.io/api/edge/anime?etc
AuthPreferences io.github.drumber.kitsune D Converting access token to json and storing it in encrypted shared preferences.
okhttp.OkHttpClient io.github.drumber.kitsune I <-- 401 https://kitsu.io/api/edge/anime?etc
MainFragmentViewModel io.github.drumber.kitsune E Failed to load data.
retrofit2.HttpException: HTTP 401
at retrofit2.KotlinExtensions$await$2$2.onResponse(KotlinExtensions.kt:53)
at retrofit2.OkHttpCall$1.onResponse(OkHttpCall.java:161)
at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:519)
I found this app by accident, it's better than the official one so I was wondering ^
Some titles won't show up even when I search the exact titles...
I have a list of a few features that are missing or would be nice to have in the app:
Other than these few things, I think the app is really awesome, and already way better then the official app! :)
Currently, the access token is only refreshed shortly before it expires. However, the access token may expire before the expected time (e.g. after changing the password). This causes all API requests to fail with a 401 response code, rendering the app unusable (unless you re-login).
To fix this, the access token should be updated when a 401 response code is received.
The themed app icon (Android 13+) is not working as expected.
The SearchView in the library fragment is closed although the library is in search state.
Steps to reproduce:
When using the sliders (e.g. release year) the filter gets updated while still touching the slider. This could cause the layout (and therefore the slider) to shift up (or down).
The filter should be set only once when the slider loses focus.
The filter values of sliders should be cleared when the sliders are in the default position. Currently it's only possible to reset the sliders with the "Clear all" button.
Do you have a discord, or can there be a discord for this project?
Normally, the local database (Room) is the single data source of truth. When making changes to the library, the local database gets updated and the change gets shown in the UI. (Handled using a RemoteMediator)
When searching the library, the data source is changed directly to the PagingSource and the local database is ignored:
or
It would be nice to be able to tap or hold the animes name to copy it please..
Add ("check for update") in parentheses next to app version, please 🥺🥺🥺
Dynamic theme (Android 12+) is not set in fullscreen dialog fragments (Edit Library Entry, Categories).
Locally stored library modifications are not considered when displaying the library status in the DetailsFragment and as well all other values in EditEntryFragment.
This can be confusing for the user since the LibraryFragment shows library entries including local/offline changes.
It should be considered to have EditEntryFragment not save failed library updates locally by default, but display a dialog with the option to discard or store library modifications.
When progressing a library entry with only one episode (e.g. movies) the status of the library entry is set to 'current'. It should be set to 'finished' instead.
Do not use the same model classes for the UI and Kitsu API. The API classes should not depend on any unnecessary classes, interfaces or annotations since these dependencies may change and introduce new side-effects (see issue #19).
Migrate UI from Material 2 to Material 3.
It would be nice to have a report page in settings or profile or on anime lists...
How is the development..?
I would like it when you can't find it and you use a browser to find it, it would be nice to open kitsu links in the browser to your app. If that's makes sense...
Apps targeting API >= 33 require the POST_NOTIFICATIONS
permission to send push notification.
Reference: https://developer.android.com/develop/ui/views/notifications/notification-permission
Related commit: 5690939
Can this be added? Please...
Show character details when clicking on a character and allow to add the character to the favorites.
Any library updates made in the app are not syncing back to Kitsu.
09-30 23:08:33.973 3711 3778 D LibraryManager: Synchronizing 1 offline modifications...
09-30 23:08:34.222 3711 3778 E LibraryManager: Failed to synchronize library entry 96423765
09-30 23:08:34.222 3711 3778 E LibraryManager: retrofit2.HttpException: HTTP 400
Steps to reproduce:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.