Commit Graph

2543 Commits

Author SHA1 Message Date
Abdullah Atta
a61b577947 web: check for desktop os when filtering announcements 2022-09-28 12:14:41 +05:00
Abdullah Atta
de0bbff296 web: treat mac app store build specially 2022-09-28 12:13:37 +05:00
Abdullah Atta
5646b9249e desktop: ready app for mac store submission (#1057)
* desktop: add support for publishing to mac app store

* ci: add step for deployment to testflight

* ci: temporarily run build only on macos

* config: cache `build:desktop` output in nx

* ci: use `macos-12` instead of `macos-latest`

* ci: no need to install `jq`

* ci: build & deploy manually

* ci: set env_vars using `env` key

* ci: install packages before building

* ci: build electron bundle before deployment

* ci: install distribution signing cert

* web: disable app store offending stuff for macos

* ci: enable deployment to testflight

* ci: remove cert installation to keychain

* desktop: pass entitlement files through plutil

* ci: use a single cert for everything

* ci: fix altool command for uploading macOS package

* ci: use env_vars for apiKey & apiIssuer

* ci: install provisionprofile

* ci: install provisioning profile in `./apps/web/desktop` dir

* desktop: change bundleId to `org.streetwriters.notesnook`

* ci: deploy & build in separate steps

* ci: add jobs for linux & windows releasing

* ci: checkout repo before anything else

* ci: add `GH_TOKEN` to env & use ps syntax on windows

* ci: get app store versions only for mac app

* ci: correct order of steps

Co-authored-by: ammarahm-ed <ammarahmed6506@gmail.com>
2022-09-28 12:00:33 +05:00
Abdullah Atta
b3ea6523ae global: set license prop of all package.json files to GPL-3.0-or-later 2022-09-26 15:30:16 +05:00
Abdullah Atta
0b34af4931 web: allow regional pricing 2022-09-24 09:25:12 +05:00
Abdullah Atta
977e0fd1c1 ci: publish to snapcraft manually 2022-09-23 12:01:34 +05:00
Abdullah Atta
7b48499527 desktop: publish app to snapcraft 2022-09-23 11:13:35 +05:00
Abdullah Atta
e0e672c892 web: add download link for portable desktop app 2022-09-22 14:02:21 +05:00
Abdullah Atta
5290021b25 desktop: include os & _portable in artifactName 2022-09-22 13:56:16 +05:00
Abdullah Atta
5643525829 web: fix editor content resets on rerender
this was an annoying issue where any kind of re-render caused the editor
content to be reset.
2022-09-22 13:20:07 +05:00
Abdullah Atta
fbb8ace28d desktop: generate portable windows binaries (fixes #864) 2022-09-22 12:26:52 +05:00
Abdullah Atta
df92c8db9d web: remove unused github workflows 2022-09-22 12:08:36 +05:00
Abdullah Atta
6499af1781 web: sync package-lock.json with package.json 2022-09-22 12:08:36 +05:00
Abdullah Atta
1017739bdb web: add feature highlights for v2.2.0 2022-09-22 12:08:36 +05:00
Abdullah Atta
dbc0762b35 web: bump version to v2.2.0 2022-09-22 12:08:36 +05:00
Abdullah Atta
6d75476e7c web: optimize tests by ~120% (#1018)
This is mainly done via sharding, caching & reducing total work:
1. `terser` is turned off when generating test build
2. `nx` distributed cache allows reusing build outputs
3. `playwright` sharding allows running tests in parallel

This can further be improved by using `swc` & `esbuild` during build
2022-09-21 14:01:32 +05:00
Abdullah Atta
e347922be9 web: show correct toast when removing notes from topic 2022-09-21 13:48:14 +05:00
Abdullah Atta
4f08f1aa5e web: fix crash on shortcut removal 2022-09-21 13:47:54 +05:00
Abdullah Atta
6c613c6f1e Merge branch 'move-pins-out' 2022-09-21 10:45:58 +05:00
Ammar Ahmed
e5e965415d feat: realtime & auto sync for all users (#944) 2022-09-20 18:33:55 +05:00
Abdullah Atta
a0b8262fb6 web: can't add a tag that's a substring of another tag (fixes #1002) 2022-09-19 17:02:16 +05:00
Abdullah Atta
0f44ca49a9 web: refactor sync logic 2022-09-19 16:20:44 +05:00
Abdullah Atta
f98a9e1142 web: increase keyboard-list-nav tests timeout 2022-09-19 12:25:31 +05:00
Abdullah Atta
508d1c46f2 web: add tests for keyboard list navigation 2022-09-18 17:36:15 +05:00
Abdullah Atta
21ac825359 web: use keyboard list navigation hook for all selection logic 2022-09-18 17:35:55 +05:00
Abdullah Atta
7924ffbce9 web: implement a generic keyboard list nav react hook 2022-09-18 17:35:55 +05:00
Abdullah Atta
836be5e4f4 web: take keymap plugin from prosemirror-keymap
we'll be using this later on for everything keyboard related.
it is simple implementation that normalizes key codes across platforms
2022-09-18 17:35:55 +05:00
Abdullah Atta
02a0ccebee web: fix failing tests 2022-09-18 16:37:33 +05:00
Abdullah Atta
7cc8b74a7a web: add more waitFors for failing tests 2022-09-17 00:45:29 +05:00
Abdullah Atta
bd3b5a4b98 web: redirect if logged in user navigates to unauthorized routes (fixes #907) 2022-09-17 00:11:48 +05:00
Abdullah Atta
06dd760325 editor: insert new p at end of document on click
This addresses issue #947 on web/desktop.
2022-09-16 15:26:39 +05:00
Ammar Ahmed
686b38ca87 editor: expose link opening logic to clients (#969) 2022-09-16 12:10:06 +05:00
Abdullah Atta
3880fd9053 web: increase overall test timeout to 30s 2022-09-16 09:34:40 +05:00
Abdullah Atta
060c17505a web: patch react-scripts to handle multi react versions error 2022-09-16 09:32:24 +05:00
Abdullah Atta
fd8e14e9ff web: check logged out status using its locator 2022-09-16 09:32:07 +05:00
Abdullah Atta
b83aab3c3b web: increase user.test timeout to 45s 2022-09-16 09:31:36 +05:00
Abdullah Atta
446bec83e7 web: revert "make checkout tests run in parallel" 2022-09-16 09:31:20 +05:00
Abdullah Atta
6110080877 web: turn tracing on for tests & increase timeout to 20s 2022-09-16 08:27:20 +05:00
Abdullah Atta
296b4031af web: upload firefox/webkit snapshots for checkout tests 2022-09-16 08:08:15 +05:00
Abdullah Atta
f149d6c523 web: add test for login & sync 2022-09-16 08:07:45 +05:00
Abdullah Atta
6f2c00b090 web: do not wait for sync complete in login test 2022-09-16 08:07:27 +05:00
Abdullah Atta
555f848ab0 web: convert playwright config to typescript 2022-09-16 08:06:31 +05:00
Abdullah Atta
e4720c4ca9 web: make checkout tests run in parallel 2022-09-16 08:06:13 +05:00
Abdullah Atta
0ae2c6cc17 ci: provide correct path for test-results dir 2022-09-16 00:31:03 +05:00
Abdullah Atta
926043d222 web: set icons' stroke width to 0 2022-09-15 13:51:23 +05:00
Abdullah Atta
d31a43b463 web: rewrite the whole test suite to be more resilient
**Why?**
The old test suite was a confusing mess, hard to maintain, update, and
add more tests to. It lacked a much needed layer of expressivity &
the reusable functions were all over the place.
Since it used a global `page` (by mistake), it couldn't run in parallel.
Moreover, the global `page` approach caused random flakiness.

All the above reasons led to this OM (Object Model) based approach to tests.
The tests are now much more expressive, reslient, resuable & easier to
maintain. During the rewriting process I also added a couple more
tests (about 10) so this is a net improvement.

Previously, running the tests were also quite slow (15-25s avg). This has
now been improved to (5-8s avg) by running the tests in production.
This means the app now requires to be built before running the tests:

```sh
npm run build:test:web # this is only required once
npm run test:web
```
2022-09-14 11:50:24 +05:00
Abdullah Atta
a6c3aeac84 web: editor doesn't detect focus mode 2022-09-14 11:44:04 +05:00
Abdullah Atta
5fb91d9229 web: restoring locked session doesn't update content 2022-09-14 11:44:04 +05:00
Abdullah Atta
0e9d2dcd5e web: allow changing plans when claiming an offer via url 2022-09-14 11:44:04 +05:00
Abdullah Atta
9a77d2e93d web: migrate editor footer to typescript 2022-09-14 11:44:04 +05:00