[iOS] Mobile AlliCrab for WaniKani

If logging out purges the database, it had no impact. I think it’s missing the radicals I’m relearning through the new tool. Right now I only have one review, a radical being relearned, and it doesn’t show up in the app.

For what it’s worth, the review timeline in the app correctly shows that one review.

Isn’t there a direct API endpoint to check to get the number of reviews?

Logging out does purge the database. Strange that you see them in the review timeline but not the study queue. Those counts both pretty much come from the assignments. I’ll be pushing out a new version soon which I hope will fix the counts being off.

Yes, the /summary endpoint does this. There was a reason why I was avoiding it, but I can’t remember what it was now. Possibly because I thought it was redundant given I have to fetch all the subjects and assignments anyway.

1 Like

This is something that annoys me too (or it did while I was still doing my reviews), and has been on my list to look into. It’s on my “one day” pile sadly, so it will likely be some time before I get to it.

1 Like

Probably makes sense to use that even if it is a little redundant. It is the source of truth after all.

I’ve just got the latest update and the counters and reviews count seems to be fixed! :slight_smile:

@cplaverty The counts are still wrong for me. I have one review available (the modified/relearned radical 廴). It shows up in the timeline, but not in the total reviews available count on the home screen.

I think these items count as being resurrected (since I already burned them). Is it possible the app isn’t handling resurrected items properly across the board?

EDIT: Maybe it was just briefly confused because I haven’t had any more issues with this.

@cplaverty Searching in the beta using English crashes the app.

When I was initially experimenting with the v2 API, I had the impression that IDs for resources were globally unique since at the time they didn’t overlap. This turns out not to be the case in general: they’re only guaranteed to be unique within their respective resource type. The app will crash if an ID for a subject which is found in the search is duplicated by some other resource type. I need to do some refactoring to break the assumption that IDs are globally unique.

1 Like

@cplaverty Never mind on my edit. This is definitely still wrong. I just didn’t have any of the relearned radicals up for review at the time. Right now the app’s dashboard says I have 41 reviews. But I actually have 50.

Notification balloons number and dashboard number for reviews aren’t the same. The notification balloons seem to be correct and the dashboard is incorrect on iPhone XS Max with the most recent iOS update.

@cplaverty

I noticed that the reorder script is on your intended to do list. Is that expected to be released in the near future? Or is there something else that is higher priority?

1 Like

Any news on the issue where the keyboard minimises after each answer when reviewing? Reviewing takes much longer than it should.

If you install this, I believe that problem is resolved.

Hi @cplaverty and sorry for the wall of text ahead…

I have been using my own little iOS app with a lot of custom scripts for a while now and it has been helping me so much that I thought it would be nice to make something like that available to others.
However, since there has to be at least some native content in order for an app to make it into through the app store review process, I’ll probably have to add at least a count of reviews & lessons and notifications :-/ .

I was wondering if it would be OK for you if I was using your code as a base to do that since I’m nowhere near as experienced in iOS development as you are. I saw that you published it under the MIT license but I wanted to ask anyway and make sure that you don’t have any issues with that.

I would of course not just be making a fork and make it look like your existing app entirely: I would not be reusing any of the advanced widgets (upcoming reviews, progress, item search, item distribution… ) or artwork since I wouldn’t want my crappy little app to be a competition to yours in any way. The focus would be including as many scripts as possible, and that would be it. I don’t even know if I would ever go ahead and publish it on the app store, a perpetual beta version would probably be enough (if it even makes it through the review…).

Ideally, it would not even be noticeable that I reused your code but since you put so much work into it, it would feel very wrong to do this without asking.

(If you are interested and if things work out, I could give you the list of tested and working scripts and you could also embed them at some point if you like)

Thanks and I hope you’re doing fine and life is just keeping you busy with lots of fun things to do.

5 Likes

@cplaverty I second the motion! :raising_hand_woman:
I just leveled up this morning at work and now have to wait all day before I can get home to my scripts and start my new radicals.:disappointed: (I don’t know how I ever managed to make it through the first few levels with all the waiting involved.)

Thanks for all the hard work and keep doing you. :+1:

@cplaverty On the latest beta I just got a crash after finishing a review session and closing the webview. Do you want me to send you any additional information?

1 Like

Hi!

It’s been a while, so I guess it’s time for an update.

Latest beta should have fixed the review counts being wrong. @seanblue and @hikaru1412 please let me know if you see further issues there.

@SoraR Re: reorder script. I have put integrating further user scripts on hold for the time being. If I do look to add more user scripts in the future, the reorder script is top of the pile because I get so many requests to implement it.

One of the reasons why I have put user scripts on hold is because they have been dropping increasingly stronger hints that support for reviewing through the API is a possibility. I have wanted to include native reviewing to the app since I originally wrote it, but have always been wary of using the private API to do so. If official API support for this becomes available, I will definitely adopt it. At that point user scripts become moot. These native screens would probably include some limited support for reordering.

4 Likes

I have absolutely no issue with you using the code. Please feel free!

3 Likes

I get crash dumps automatically from the beta, though they are anonymous so I can’t tie them to a particular person. I’ve had one crash dump through that looks like it could likely be yours. It’s a race condition in the progress reporting mechanism which I’ve managed to make less likely over time, but still haven’t yet managed to completely eliminate.

I assume after a relaunch, the app refreshed as normal?

1 Like

Yeah, the app loaded perfectly fine afterward.