Commit Graph

210 Commits

Author SHA1 Message Date
Abdullah Atta
3ff34a5c82 core: use official html-to-text lib instead of fork 2023-04-17 18:09:29 +05:00
ammarahm-ed
1fdede5518 core: add getFileNameWithExtension utility 2023-03-21 09:59:45 +05:00
Abdullah Atta
fb8e3a2364 core: update showdown to 3.0.1.alpha.2 2023-02-09 13:24:18 +05:00
Abdullah Atta
22871d8baf core: use the new login flow in all tests 2023-01-06 17:44:07 +05:00
Abdullah Atta
07ebbf622d core: add mockdate package 2023-01-05 22:01:01 +05:00
Abdullah Atta
5e6caa7273 core: use upstream htmlparser2 instead of in-house
This is mostly because I am not 100% certain about how stable our own
optimized version is. While it does perform a lot better, there is
significant risk that things might break in production. To avoid
that, I am replacing it with the upstream version which is much more
heavily tested.
2022-11-23 14:58:34 +05:00
Abdullah Atta
8f5ebe315e core: use client given compression module 2022-11-11 17:01:01 +05:00
Abdullah Atta
fa6e88a0b0 Merge branch 'master' into new-html-parser 2022-11-10 17:02:32 +05:00
Abdullah Atta
eacbbe2ad8 core: use html-to-text library for better text conversion 2022-11-10 17:00:11 +05:00
Abdullah Atta
205373dca3 core: use htmlparser2 for html rewriting
This replaces DOMParser with htmlparser2 which is much, much faster.
How much faster? 80%. This new implementation can parse at 50mb/s
which is insane! The old one could only do 5-10mb/s

We still haven't gotten rid of the DOMParser though since HTML-to-MD
conversion still needs it. This will be done soon though by using `dr-sax`.

This uses a custom implementation of htmlparser2 instead of the default
one which is 50% faster.
2022-11-10 15:16:13 +05:00
Abdullah Atta
e25d4a3039 global: update qclone to 1.2.0 2022-10-19 12:10:31 +05:00
Abdullah Atta
d42f617d0f core: fix md export for notes with codeblocks 2022-10-18 17:31:31 +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
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
8fa4e2184f config: streamline running core tests
by default running `npm run test:core` will only run unit tests.
E2E tests require setting up credentials in the .env file.
Until we figure out a way to streamline this whole process,
this is how the tests will be run.
2022-08-31 20:03:58 +05:00
Abdullah Atta
f6b6a0af06 refactor: rename core, theme, and logger 2022-08-29 23:30:48 +05:00
thecodrr
9f56eb6197 chore: bump version to 7.3.6 2022-08-16 09:43:06 +05:00
thecodrr
6d45c23e79 chore: bump version to 7.3.5 2022-08-06 12:57:04 +05:00
thecodrr
135d3174c9 chore: bump version to 7.3.4 2022-08-06 11:06:03 +05:00
thecodrr
f41edb0a4d chore: bump version to 7.3.3 2022-07-26 23:13:03 +05:00
thecodrr
b31f6cf9f9 chore: bump version to 7.3.2 2022-07-26 13:26:08 +05:00
thecodrr
5198dcdcc6 chore: bump version to 7.3.1 2022-07-25 16:39:34 +05:00
thecodrr
9eefd4bd86 chore: bump version to 7.3.0 2022-07-20 19:58:05 +05:00
thecodrr
c1ad41a17b chore: bump version to 7.2.1 2022-07-20 08:40:04 +05:00
thecodrr
0ca7b768e0 chore: bump version to 7.2.0 2022-07-20 07:46:13 +05:00
thecodrr
27087df28f chore: update all packages 2022-07-20 07:19:19 +05:00
thecodrr
3b399da096 chore: bump version to 7.1.3 2022-07-19 17:10:53 +05:00
thecodrr
e0a3cbeece chore: update logger to v1.0.3 2022-07-19 17:10:24 +05:00
thecodrr
2c81c0ebc4 chore: bump version to 7.1.2 2022-07-19 16:49:40 +05:00
thecodrr
8bb96fed77 refactor: separate out logging & log managing 2022-07-19 16:48:56 +05:00
thecodrr
966485cbe5 chore: bump version to 7.1.1 2022-07-19 11:22:39 +05:00
thecodrr
12352461db chore: bump version to 7.1.0 2022-07-19 11:18:27 +05:00
thecodrr
fa30984849 feat: add logger 2022-07-19 09:41:29 +05:00
thecodrr
20d4a08b37 chore: bump version to 7.0.5 2022-07-15 19:32:07 +05:00
thecodrr
f48d68bd30 chore: bump version to 7.0.4 2022-07-15 15:57:04 +05:00
thecodrr
32a81b5f9e chore: change version bump message 2022-07-15 15:56:15 +05:00
thecodrr
89a574e6dd 7.0.3 2022-07-15 15:40:35 +05:00
thecodrr
2b5267df61 7.0.2 2022-07-15 14:49:24 +05:00
thecodrr
e8e564919a chore: disable release draft creation during np 2022-07-15 14:48:44 +05:00
thecodrr
a80badea31 7.0.1 2022-07-15 09:47:16 +05:00
thecodrr
f888b1276a chore: publish on github packages 2022-07-15 09:30:01 +05:00
thecodrr
08884ddcc1 chore: bump version to 7.0.0 2022-07-07 13:28:44 +05:00
thecodrr
751305e04c perf: optimize grouping/sorting & id creation 2022-06-16 16:01:08 +05:00
thecodrr
3300b019a2 chore: bump version to 6.17.0 2022-06-08 10:04:36 +05:00
thecodrr
ad10b6c98d feat: use linkedom 2022-04-19 00:28:42 +05:00
thecodrr
c9c57d87ab feat: migrate to happy-dom from node-html-parser 2022-04-19 00:04:57 +05:00
thecodrr
c234c87a76 feat: use messagepack for syncing 2022-03-31 16:18:34 +05:00
thecodrr
4135028137 feat: improve sync over websockets 2022-03-30 15:52:48 +05:00
thecodrr
ff475678c2 chore: update signalr package 2022-03-28 10:32:02 +05:00
thecodrr
bb675e9da2 initial 2022-02-08 13:16:41 +05:00