Yet Another PWA JNC Client
-
I'm still using this as my main reader on Android, so thanks again @crimson-wise for your work on it. One major improvement would be if it used the watch/follow list from the beta website/app. This would get around the app's problem that every so often it forgets all the follow settings.
-
@Shiny wasn't aware of that.
Well, took a look at the API for that and seemed simple enough, so replaced the follow logic with the one from JNC. Note that this means that current users' followed series are lost (sorry) but I think this is better long term.
Anyway, this release includes some other improvements:
- Upcoming bar: noticed that the events API now includes the series ID so added the section, to see what is coming soon.
- Manga is now listed: note that you can't read the chapters on the app, but it will tell you that a new part is available. I go to the beta app to read them. And regarding progress, the JNC API doesn't really say the percentage, so manga parts will be either read or not. I think the beta app ended up implementing it the same way.
- And some other minor things since I haven't made a release since July.
Edit: noticed that the shadows are wrong on the Upcoming bar, more noticeable on light mode. Will fix some other day.Done. -
The new version is great and still much better then the beta app which is hard to read on an iPad. The upcoming releases feature is even, more convenient then the main website.
Thanks.
-
@Crimson-Wise said in Yet Another PWA JNC Client:
@Shiny wasn't aware of that.
Well, took a look at the API for that and seemed simple enough, so replaced the follow logic with the one from JNC. Note that this means that current users' followed series are lost (sorry) but I think this is better long term.
From my perspective it's definitely better in the long term. Thanks for the improvements.
-
I've noticed that the app is no longer sending my password to the server when I try to login, even though I've confirmed that my password manager is filling it in to the form:
(Literal traffic with the exception of my email address and encoding.)App.tsx:137 Refreshing data... App.tsx:399 Missing volume info for 600a84aed4a6298b3e69ba48 ViewLogin.tsx:20 POST https://api.j-novel.club/api/users/login?include=user 401 {"email":"xxxxxxxxxxx@gmail.com","password":""} {"error":{"name":"Error","status":401,"message":"login failed","statusCode":401,"code":"LOGIN_FAILED"}} App.tsx:137 Refreshing data... App.tsx:399 Missing volume info for 600a84aed4a6298b3e69ba48 App.tsx:234 GET https://api.j-novel.club/api/users/undefined?filter={%22include%22:[%22ownedBooks%22,%22readParts%22,%22mangaReadParts%22,%22serieFollows%22,%22mangaSerieFollows%22]} 401 filter: {"include":["ownedBooks","readParts","mangaReadParts","serieFollows","mangaSerieFollows"]} {"error":{"name":"Error","status":401,"message":"Authorization Required","statusCode":401,"code":"AUTHORIZATION_REQUIRED"}}
-
-
@Crimson-Wise I'm using Chrome 88.0.4324.104 (Official Build) (64-bit) with the built-in password manager.
I did a bit of exploration, and there seems to be some scripting running on that element that's interfering with the normal functioning of the <input>. Like, the app isn't looking at the actual value of the element but rather at some JavaScript variable that's normally updated by events that aren't getting fired when the password manager does it. I would guess that it's hooked the keypress events but not any other input or changed events.
I have found the workaround is to start by typing something into the field, which erases everything that was pasted in before the first keypress but seems to put it into a state where it acts like a real text box. Then, apply the password via the password manager. Then type another character at the end of the password, and then delete the character you added. Then submit.
-
@Iseguy Thanks, and yes, that's how it works. I guess I'll just replace Ionic's fields with raw HTML; will take a look.
-
@Crimson-Wise It's a common problem. The best event to hook is input/oninput, but IE support for that is historically missing/terrible, so most JS frameworks avoid it.
-
As a noob and while dont understand this stuff, i want to ask "is there a problem with the site? I cant login and cant able to access the stuff?"
-
@hopebestman Just tried to log in myself and it works.
What are you seeing? Just logging in doesn't work? Which browser and device are you using? For example, are you using the password manager from Chrome? (There is the issue @Iseguy mentioned above.)
-
@Crimson-Wise yeap my bad. Chrome thingy i guess. Last 2 weeks it was working so i didnt think it was browser problem.
-
@hopebestman Well, on my release a couple of weeks ago I upgraded some libraries I was using internally, including one for the UI, and I think that broke things down. If it's the same issue, for now, copy/pasting the credentials should work.
I still need to look further at the issue.
-
Having problems signing in here as well. I wrote manually the password, the site says "Signing in", throws me at the front page, and is still not logged in. No error message, nothing. This issue was present already before the update on JNC site a month ago but at that time I had no energy to see if I can make it work. Thanks to the new official reader I'd like to give this a try though, but can't log in.
EDIT: Running up to date Firefox, tried with Chrome too. Are there some browser settings that are necessary for this to work? Third party cookies maybe or something?
-
Well, rather than wasting time looking at the bug on the library component, I've just replaced the fields with standard HTML input fields.
Please try again and let me know if you have issues. Firefox's password manager seems to work.
-
Nope, still does not work and redirects me to the front page when I try to login, still giving only "Sign in" in the profile icon menu in the upper right corner.The reaction to me logging in is the same with real credentials and with a made up email address and password. It does require email@address.com form from the email and if I enter just a random string as the email it will not redirect me to the front page upon clicking "sign in". It asks me to enter a real email address. I tried crtl + F5 both on front page and login page if that helps at all.I tried this with Firefox Beta and Chrome on Android too after my previous message (previosly Windows 10) and the behaviour is to my eyes similar.EDIT: Well, this is embarrassing. I had remembered my password wrong on JNC and kept entering the wrong one to Crimson Reader.
On a completely unrelated note I have a feature request: could the site tell me if my credentials seem to be incorrect?
-
Is it just me or can it normally take like 15 minutes before a new release shows up on the client due to how the cache works?
-
@shiny up to 30mins, although you can pull down to force refresh everything.
-
@crimson-wise Have you considered using Service Workers to periodically check for updates and send notifications (For those that want em) when a followed series is updated?
Additionally, probably checking the Calendar (if there's an API for that?) to schedule cache refreshes when a new update is expected?
-
@tusf said in Yet Another PWA JNC Client:
@crimson-wise Have you considered using Service Workers to periodically check for updates and send notifications (For those that want em) when a followed series is updated?
Hmm, I won't use it myself so not sure if the effort is worth it.
Additionally, probably checking the Calendar (if there's an API for that?) to schedule cache refreshes when a new update is expected?
Yeah, there is one. Thought about it when Shiny mentioned it, and since I'm already checking the times on that API in a few places, it should be straightforward, will take a look.
I personally already know the times when parts get released so I just open the app at that point.