Commit Graph

67 Commits

Author SHA1 Message Date
thecodrr
48d50850ce chore: update notes-core 2020-12-07 15:55:10 +05:00
thecodrr
ed5046ce1c fix: notes test should now pass 2020-12-01 12:56:09 +05:00
thecodrr
46fd1d72aa feat: implement multiple notes export 2020-11-26 10:47:04 +05:00
thecodrr
4a41a915ed feat: add custom scroll bars 2020-11-25 00:45:49 +05:00
thecodrr
c1c425450b fix: crash when expanding the first header 2020-11-21 10:34:37 +05:00
thecodrr
fff9453dc0 feat: add editor focus mode and improve editor task list 2020-11-18 15:59:53 +05:00
thecodrr
29dc882f60 fix: editor ui fixes and improvements 2020-11-18 14:23:52 +05:00
thecodrr
d98b5f33a0 feat: add sentry for error logging 2020-11-18 10:15:56 +05:00
thecodrr
cbdef98ae6 feat: use custom solution for autoresizing textarea 2020-11-11 15:02:47 +05:00
thecodrr
3f60413d2f feat: overhaul ui 2020-11-10 15:08:31 +05:00
thecodrr
6cda951709 feat: add recovery key backup dialog 2020-11-01 09:56:09 +05:00
thecodrr
5518e18e4d fix: use cdn to get sodium.js 2020-10-26 21:33:48 +05:00
thecodrr
3eb5f258d7 feat: add backup reminders 2020-10-03 14:52:22 +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
15d922806b fix: crash when searching 2020-09-24 11:40:16 +05:00
thecodrr
ae189a95b7 feat: upgrade framer-motion, remove animation from editor 2020-09-21 10:17:44 +05:00
thecodrr
25a0bef45c fix: editor word counter 2020-09-18 20:06:59 +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
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
12f3a9ca88 feat: add toast notification system 2020-09-14 11:59:12 +05:00
thecodrr
d8f1c75419 feat: remove in-house navigation, use hookrouter 2020-09-13 11:34:51 +05:00
thecodrr
f517dfdf1d fix: auto delete empty note (#148) 2020-09-09 11:56:36 +05:00
thecodrr
745b37c3b5 feat: improve markdown editting support 2020-09-08 12:31:09 +05:00
thecodrr
3fe1a0b9d8 ui(properties): show the notebook a note is in 2020-05-16 12:55:53 +05:00
thecodrr
6f4bfc121c fix: no need to use custom libsodium-wrappers 2020-04-25 15:13:20 +05:00
thecodrr
7c00a281e4 chore: update notesnook-core 2020-04-21 12:33:29 +05:00
thecodrr
6fad89bc21 ci: install babel-loader v8.1.0 dependency
The ZEIT deployment fails if we do not specify a babel-loader explicitly
2020-04-20 13:07:57 +05:00
thecodrr
b4520d2a0d perf: reduce libsodium dep size 2020-04-19 13:23:32 +05:00
thecodrr
c7dd6b5d49 chore: add missing packages 2020-04-17 12:52:55 +05:00
thecodrr
892f3c5e79 chore: updates all packages 2020-04-15 00:26:05 +05:00
thecodrr
28cf586c26 feat: add libsodium for crypto 2020-04-13 16:06:54 +05:00
alihamuh
84cab85fb1 fix:prop. btn clr changed, height of dot for title changed 2020-03-21 09:43:49 +05:00
thecodrr
a8ff14c368 feat: completely replace react-feather 2020-03-17 12:49:28 +05:00
thecodrr
9a54a8c7f8 feat: add mdi icons 2020-03-17 12:49:28 +05:00
Abdullah Atta
f89e6a8c2e ci: add ZEIT deployment (#120)
* ci: init zeit now

* add now.json

* add ssh key

* execute script

* add preinstall command

* use sh to execute script

* check

* add env var
2020-03-10 13:06:04 +05:00
thecodrr
c88f5d3b4d feat: completely remove event emitter 2020-03-10 11:49:37 +05:00
Abdullah Atta
91570ca86e ci: linting using reviewdog (#116) 2020-03-09 20:07:47 +05:00
thecodrr
319becedea chore: use custom localforage-getitems module 2020-03-09 09:36:20 +05:00
thecodrr
6eb1fc63b7 feat: add readMulti 2020-03-09 00:12:51 +05:00
Ammar Ahmed
e6a5891b2e ui: add properties show/hide animation (#91)
* merge

* add framer-motion library

* ui: anmate properties menu on open & close

* yarn.lock
2020-03-07 11:51:03 +05:00
thecodrr
62231a8641 perf: improve editor performance (fix #70) 2020-03-04 15:01:48 +05:00
thecodrr
38485f9cd4 refactor: use subtle.crypto instead of CryptoJS 2020-02-29 11:09:38 +05:00
thecodrr
1444cab7e6 feat: fix database crypto 2020-02-27 16:39:49 +05:00
thecodrr
f9e88ce6d2 feat: shift the whole editor to global state 2020-02-24 23:42:23 +05:00
thecodrr
2dac6e472c feat: make our own react-quill 2020-02-24 01:20:19 +05:00
thecodrr
ba6dc11b8c feat: start making editor stateful 2020-02-23 19:22:36 +05:00
thecodrr
afc6d4cd05 refactor: separate notebooks store 2020-02-23 10:46:20 +05:00