Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make this app a PWA #306

Open
tnyeanderson opened this issue Apr 23, 2019 · 7 comments
Open

Make this app a PWA #306

tnyeanderson opened this issue Apr 23, 2019 · 7 comments
Labels
feature request Requests for complete new features needs discussion Need to clarify if and how we should implement this

Comments

@tnyeanderson
Copy link
Contributor

tnyeanderson commented Apr 23, 2019

I mentioned in #122 that implementing a service worker could help alleviate bugs due to connection issues and extended sessions. If this is done, we wouldn't be too far away from having this app be installable as a PWA. To see what this would look like, see my project nextcloud-notes-webview. We could just pull the CSS from there to get the mobile UI working nicely (haven't seen any bugs yet!)

I am not too well-versed in PWAs, but is this possible? With the file manipulation involved in this app, I assume we would have to have some type of "sync" between the cached files on an offline device and the stored notes. This is where my knowledge breaks down (and this may be where it gets way too complicated and not worth it at all).

Why do it in the first place? I think a consistent experience across devices is important when choosing a note-taking app. It has its limits this way (long notes >400 lines are very slow on mobile) but if we can do it, I think it will make new user's transitions easier and help any other current users out there that feel the same way I do.

If that's not in the cards, I would love to get my chunk of scss into this repo. It would only affect apps with the custom useragent suffix I set for the webview (notes-android), so it wouldn't change anything for anyone, but then I could package my app and have it work instantly for anyone who wants to use it :)


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@korelstar korelstar added the needs discussion Need to clarify if and how we should implement this label Apr 24, 2019
@stefan-niedermann
Copy link
Member

It's technically possible and we should definitely aim to go there in the long term.

We would have to implement a proper merge dialoge (unlike the android app) as soon as we have offline capabilities of course, but starting from there, the way should not be huge :)

@jakobroehrl

This comment has been minimized.

@tnyeanderson
Copy link
Contributor Author

Check out my project that I linked above if you want a webview-based app. It works fully as far as I can see (can view and edit notes, checkbox functionality works) and is pretty smooth (though there are a few quirks during loading/long sessions).

I'll reference nextcloud-notes#552 to answer your other question. Due to performance issues when loading long notes (over 400-500 lines), Stefan's app will not be supporting a webview editor (at least for the time being).

@stefan-niedermann

This comment has been minimized.

@tnyeanderson
Copy link
Contributor Author

After using my app for a while, I see one critical bug: autocorrect on my Android phone screws up CodeMirror during editing (because the word changes but a keydown event is not sent). This will need to be remedied before the app can be a PWA. This will also be something to keep in mind for #204

@korelstar korelstar added feature request Requests for complete new features and removed needs discussion Need to clarify if and how we should implement this labels Dec 14, 2019
@beerisgood

This comment has been minimized.

@stefan-niedermann

This comment has been minimized.

@korelstar korelstar added the needs discussion Need to clarify if and how we should implement this label Dec 28, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request Requests for complete new features needs discussion Need to clarify if and how we should implement this
Projects
None yet
Development

No branches or pull requests

5 participants