Commit Graph

2565 Commits

Author SHA1 Message Date
Abdullah Atta
11a3092bac web: make editor title font-size relative to title length 2022-10-13 19:23:48 +05:00
Abdullah Atta
e1fc116994 core: improve content conflict detection using proper HTML diffing (#1183)
Since HTML is a tree-like language it is futile to compare it character
for character. `html1 === html2` is almost always false. This commit
introduces a simple diffing algorithm that only checks the text inside
the html + a few other attributes to decide whether the 2 HTMLs are
actually different or not. This is obviously not foolproof and it will
ignore everything aesthetic (b, em, strong tags etc.). This is actually
desireable because in our case only the text difference should
warrant a conflict. Everything else can easily be brought back.
Similarly, this also ignores whitespace differences surrouding the
tags.

All in all it'll provide a more reliable alternative to MD5 hashing the
2 HTMLs.
2022-10-13 19:22:32 +05:00
Abdullah Atta
9701a3d660 web: make table row toolbar vertical for compactness 2022-10-13 19:18:33 +05:00
Abdullah Atta
73ed73b2b3 web: improve tag auto suggest 2022-10-12 20:16:26 +05:00
Abdullah Atta
74bcd1b27d web: clicking under table should create a new paragraph 2022-10-12 15:16:42 +05:00
Abdullah Atta
ee0fb3680a desktop: reduce minimum required macOS version to 10.12.0
This fixes #1180
2022-10-12 14:35:07 +05:00
Abdullah Atta
bba3e5cf37 desktop: update package-lock.json 2022-09-29 22:40:52 +05:00
Abdullah Atta
b384f85b01 desktop: use official electron-builder-notarize package 2022-09-29 22:37:10 +05:00
Abdullah Atta
32283e973b desktop: use custom fork of electron-builder-notarize 2022-09-29 19:46:41 +05:00
Abdullah Atta
ce889cf1c3 web: bump version to v2.2.1 2022-09-29 19:05:25 +05:00
Abdullah Atta
53ce66f4a6 web: remove limit on no. of pins 2022-09-29 18:48:13 +05:00
Abdullah Atta
0eeaf808fc desktop: fix issue with snap desktop integration 2022-09-29 18:17:11 +05:00
Abdullah Atta
78afb7eaf7 web: update note title only on note open
this was a subtle bug where typing really fast in the editor
caused jank & erratic behavior.
2022-09-29 18:09:03 +05:00
Abdullah Atta
2334987359 web: set user status to premium during tests 2022-09-29 16:03:24 +05:00
Abdullah Atta
745c89ef86 web: fix issue where onboarding is shown to everyone
this happened due to a very annoying issue with javascript where
`null <= 0` is true but `null === 0` is false & `null < 0` is false too.
2022-09-29 16:03:24 +05:00
Abdullah Atta
2d277fbe2b web: don't treat dev environment as a special case 2022-09-29 16:03:24 +05:00
Abdullah Atta
02459d759f web: speed up word counting
Previously we moved to getting the `innerText` directly from the browser.
This was okay but it strained the browser quite a bit. Now we are moving
back to using `textBetween` since after some benchmarking the difference
in speed is minimal. It is possible
that there is a better alternative
specifically designed for prosemirror.
2022-09-29 15:56:24 +05:00
Abdullah Atta
db5abecb43 web: set title on nav item menus 2022-09-29 15:55:52 +05:00
Abdullah Atta
89123c0be5 web: right click on selected items deselects them 2022-09-29 15:55:52 +05:00
Abdullah Atta
119a931312 web: install @types/marked 2022-09-29 15:55:37 +05:00
Abdullah Atta
e3d86440c1 web: open all links in release notes in a new tab/window 2022-09-29 15:55:37 +05:00
Abdullah Atta
8a19fd8de5 desktop: handle MAC_APP_STORE is not defined error 2022-09-29 14:37:35 +05:00
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