Commit Graph

12 Commits

Author SHA1 Message Date
Abdullah Atta
9b6f7ff225 web: fix release track switching 2025-03-01 13:13:25 +05:00
Abdullah Atta
5374f2b56c web: migrate to vitejs from webpack (#2715) 2023-06-12 11:49:37 +05:00
thecodrr
81cae7ea93 feat: add support for encrypting large files safely 2021-10-10 18:56:05 +05:00
thecodrr
574fc935b2 ci: use @playwright/test 2021-07-07 12:46:20 +05:00
thecodrr
6ef11183f1 chore: add mac electron build script 2021-05-28 21:27:59 +05:00
thecodrr
83a8c06e8f fix: properly generate service-worker 2021-05-28 21:26:11 +05:00
thecodrr
eb06e7fe9a feat: add electron app support 2021-05-28 21:25:34 +05:00
thecodrr
e590f96965 feat: add compression before encryption 2021-02-13 12:06:52 +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
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
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
181dc4d60b Initial commit from Create React App 2019-11-15 01:24:28 +05:00