Commit Graph

780 Commits

Author SHA1 Message Date
thecodrr
561f1db34c feat: improve settings and add backup section 2020-10-01 12:52:31 +05:00
thecodrr
7cd59f3857 test: add delete, permanent delete, and pin, notebook tests 2020-09-29 16:17:24 +05:00
thecodrr
156e297448 feat: improve move note ux 2020-09-29 15:45:04 +05:00
thecodrr
4602c72788 test: make unfavorite test pass 2020-09-29 15:44:07 +05:00
Abdullah Atta
c0a99427d9 test: setup E2E Tests (#161)
* test: intialize testing environment

* test: add an example test for reference

* test: add simple navigation test

* some initial tests

* some changes

* name and other small changes

* permanently delete a note

* permanenlt delete a note

* test: improve test readability

I have added different id builders for building test ids. They make the tests more readable and fluent.

* test lock a note

* test add a note to notebook

* test favorite a note

* test pin a note

* test: further improve test readability

basically I refactored some frequently performed actions into helper functions

* test: check for presence of toast

* test: properly test pinned note

* test: increase tests reliability

* test: fix all tests

* perf: load 2co script & fonts when needed

* ci: initialize e2e gh test runner

* ci: do not run npm ci

* test: fix lock note test for all browsers

* ci: fix playwright tests

* ci: fix yaml syntax error

* ci: no need to use custom ssh-agent action for eslint

* test: improve lock a note test

* ci: add GH_DEPLOY_KEY env in eslint.yml

* test: check for state: "visible" in isPresent

* test: do not check for toast in lock a note test

* test: log crypto error to console

* test: skip "lock a note" test for now until further investigation

* ci: only run tests on firefox & chromium

* fix: fix useMediaQuery for WebKit browsers

* ci: try webkit once again

* properties tests

* test tag a color /properties

* test: run some tests sequentially and independently

* test: reenable all tests

* fix: user only able to type on character in title box

* test: skip lock/unlock tests in CI

* test edit a notebook

* test: fix all tests

* test: fix and add more notebook tests

* test: do not only run edit topics test

* test: make sure all notes tests pass

* test: skip add note to notebook tests for now

* test: make sure all tests pass

Co-authored-by: alihamuh <alihamuh@gmail.com>
2020-09-28 14:31:45 +05:00
thecodrr
1e78ccd1b5 refactor: fix all unused refrences warnings 2020-09-27 15:37:16 +05:00
thecodrr
18123a0e69 feat: open wider dialogs on mobiles 2020-09-27 15:36:42 +05:00
thecodrr
27c0163781 feat: improve UI of all dialogs 2020-09-27 15:35:11 +05:00
thecodrr
1781115ab2 fix: only allow single finger touch swiping 2020-09-26 16:20:01 +05:00
thecodrr
dc8ea2d73f feat: add swipe to open nav menu on mobiles 2020-09-26 15:56:38 +05:00
thecodrr
f0c2f4b793 fix: do not show nav menu button when canGoBack=true 2020-09-26 14:29:17 +05:00
thecodrr
207a8061cb feat: make unlock note UI responsive 2020-09-26 14:25:34 +05:00
thecodrr
b83e447d71 fix: minor ui inconsistencies 2020-09-26 13:25:38 +05:00
thecodrr
1686892dc6 refactor: fix warning in unlock 2020-09-25 12:06:29 +05:00
thecodrr
91ead3046a refactor: fix all warnings 2020-09-25 12:06:09 +05:00
thecodrr
5701f226ef fix: locking note does not update UI 2020-09-25 12:05:39 +05:00
thecodrr
c48797f60f fix: pinning should be disabled for notes with context 2020-09-24 15:00:57 +05:00
thecodrr
4f9e70ded4 refactor: fix all warnings 2020-09-24 14:54:36 +05:00
thecodrr
fd89615b36 feat: make search independent of other data 2020-09-24 14:53:52 +05:00
thecodrr
15d922806b fix: crash when searching 2020-09-24 11:40:16 +05:00
thecodrr
c041584d5b fix: new note not respecting current context 2020-09-21 12:17:51 +05:00
thecodrr
a0a268a1b5 feat: allow user to focus editor by clicking anywhere 2020-09-21 12:07:15 +05:00
thecodrr
a7f67738ed fix: crash on pressing add topic button (#155) 2020-09-21 11:51:10 +05:00
thecodrr
b3ec638854 fix: trash restore causing an error (#154) 2020-09-21 11:49:45 +05:00
thecodrr
6792a15809 fix: notebook & topic navigation causing crash 2020-09-21 11:44:42 +05:00
thecodrr
5e584d5b66 fix: notebook editing 2020-09-21 11:39:48 +05:00
thecodrr
808f253462 feat: reduce framer-motion bundle size 2020-09-21 10:20:21 +05:00
thecodrr
ae189a95b7 feat: upgrade framer-motion, remove animation from editor 2020-09-21 10:17:44 +05:00
thecodrr
666f06147c feat: allow back button navigation from editor in phones 2020-09-21 09:52:39 +05:00
thecodrr
99dd53e07b feat: use max item height as estimated item height 2020-09-20 09:55:37 +05:00
thecodrr
b10b7fd438 fix: sync by pressing sync button 2020-09-20 09:51:54 +05:00
thecodrr
7f3b7a5ca5 feat: add animation to global context menu 2020-09-18 20:55:56 +05:00
thecodrr
c493a46aa2 feat: add note changing animation 2020-09-18 20:35:38 +05:00
thecodrr
54dc8760a7 feat: add proper icon for AddToNotebook 2020-09-18 20:16:44 +05:00
thecodrr
0698abc0d0 feat: improve selection ui 2020-09-18 20:11:33 +05:00
thecodrr
25a0bef45c fix: editor word counter 2020-09-18 20:06:59 +05:00
thecodrr
d18d58b668 feat: add WebCrypto polyfill for browsers that don't have it in WebWorkers 2020-09-18 15:39:21 +05:00
thecodrr
04fa3634a8 feat: improve editor performance
this addresses a few things:
1. editting a locked note was excruciatingly slow due to synchronous crypto
2. libsodium is, unfortunately, synchronous hence it locks the UI
3. quill was sending unnecessary onChange events on every key stroke

How they are handled:
1 & 2. all crypto related functions have been moved to a web worker for asynchrony with synchronous as fallback
This allows for non-blocking crypto and fluid editting experience
3. onChange events are only sent when user stops typing

KNOWN ISSUES:
1. The word counter may be a bit slow. It should be moved into quill as a module.
2020-09-18 12:40:41 +05:00
thecodrr
b2db840ffa feat: enable locked note opening 2020-09-17 15:14:05 +05:00
thecodrr
44ca7938e7 feat: add ability to unpin using the pin ui 2020-09-17 13:43:16 +05:00
thecodrr
eac78e1a61 perf: improve list rendering performance
fundamentally, we have done 3 things:
1. move out rendering of menu per item to a global component so it renders only once
2. ditch react-virtuoso and migrate to react-window
3. make all items of predictable size and give that size to react-window List

Combining all three, the performance while scrolling and initial rendering shoul improve by almost 50%.
2020-09-17 13:36:47 +05:00
thecodrr
b516ebba2c feat: sync with new notesnook-core changes
basically we are now sending our own EventSource explicitly.
2020-09-17 10:31:30 +05:00
thecodrr
d4c63f166a feat: add toast when note is saved (only mobile) 2020-09-15 09:37:04 +05:00
thecodrr
db74883268 feat: improve toast ui on mobile 2020-09-15 09:36:47 +05:00
thecodrr
a293a2f577 fix: no placeholder appearing when home is empty 2020-09-15 09:29:43 +05:00
thecodrr
d011075252 refactor: cleanup all toast related code 2020-09-15 09:28:01 +05:00
thecodrr
61d382aabf feat: add toast for permanent delete 2020-09-14 16:20:25 +05:00
alihamuh
64ccf899bd feat: trash restore and permanent delete 2020-09-14 15:30:15 +05:00
alihamuh
1ac0044342 feat: notebook delete toast 2020-09-14 15:21:46 +05:00
alihamuh
37d24d3b9c Merge branch 'master' of https://github.com/streetwriters/notesnook-web 2020-09-14 15:11:31 +05:00