Abdullah Atta
f2c08c89b0
desktop: add support for running web tests via desktop app
2026-05-30 11:00:35 +05:00
Ammar Ahmed
8b92936d05
Add workflow to build android/ios previews on each PR ( #9604 )
...
Builds and publishes iOS and Android Preview apps that are instantly available to registered testers and quality assurance teams. We are using Firebase App Distribution for this purpose that works seamlessly on both android and iOS.
Signed-off-by: Ammar Ahmed <40239442+ammarahm-ed@users.noreply.github.com >
2026-03-31 09:42:24 +05:00
Vsevolod Volkov
c6d471cec9
docker: ability to build container with theme server
2025-11-26 19:24:04 +01:00
Ammar Ahmed
38600bf2a5
mobile: add tests
2025-10-28 12:00:38 +05:00
Abdullah Atta
687fb4e105
setup: remove editor-mobile from build all exclusion filter
2025-10-08 09:57:40 +05:00
Abdullah Atta
b695367e6c
global: add dotenv package
2025-10-08 09:34:59 +05:00
Abdullah Atta
bb274a84fe
ci: use node v22
2025-10-08 08:56:20 +05:00
Abdullah Atta
364dccbf7a
global: get rid of nx
2025-10-08 08:42:00 +05:00
Abdullah Atta
c239f490b0
setup: add custom task runner as an alternative to nx
2025-10-04 00:09:23 +05:00
Abdullah Atta
14029de484
misc: update nx
2025-10-03 18:47:15 +05:00
Ammar Ahmed
c540cb0fe4
mobile: enable debug tests
2025-04-10 10:28:58 +05:00
Ammar Ahmed
275b285a8b
mobile: release v3.0.29
2025-02-04 12:39:04 +05:00
Abdullah Atta
05b2e559d8
setup: downgrade tsup version
2025-01-28 13:33:29 +05:00
Abdullah Atta
60aa92ca03
setup: update typescript to 5.6
2024-11-13 15:48:33 +05:00
Ammar Ahmed
3e5b740ef0
mobile: migrate app to intl
2024-10-10 12:35:58 +05:00
Abdullah Atta
ecc9736b90
global: use tsup for bundling packages
2024-09-23 15:32:13 +05:00
Abdullah Atta
4c2ad4567c
setup: use listr2
2024-07-20 10:34:40 +05:00
Abdullah Atta
3e4ab0f6df
setup: update typescript to 5.5
2024-07-16 17:18:25 +05:00
Abdullah Atta
bde8dea048
global: update package lockfiles
2024-04-29 11:15:21 +05:00
Abdullah Atta
47ae03ba8a
global: upgrade typescript to 5.4.2
2024-03-21 11:21:07 +05:00
Abdullah Atta
aea31102f6
global: pin node version to 20
2024-03-21 11:17:32 +05:00
Abdullah Atta
061433d8cd
config: update nx
2024-03-21 10:56:00 +05:00
ammarahm-ed
380bfba776
theme: add theme builder app
2023-08-08 13:19:29 +05:00
Ammar Ahmed
89c2d45a4b
mobile: reduce app size ( #3068 )
...
* mobile: reduce app size
* editor: substitute all @mdi/js icons at build time
* mobile: add script to tree shake icon font file
* mobile: fix icon loading
* mobile: remove html-entities dep
* mobile: add missing icon fonts
* mobile: include plain editor
* mobile: add missing fonts
* mobile: use webpack-bundle
* mobile: keep generated fonts in repo
* mobile: update fonts
* mobile: fix duplicate key warning
* mobile: update fonts
* mobile: disable gesure on reminder sheet
* mobile: update fonts
* mobile: reset session correctly on logout
* mobile: update icon fonts
* mobile: set button action on reminder sheet
* mobile: add missing icons
* mobile: fix crash
* mobile: fix right menus
* mobile: remove console.log
* mobile: disable bounce effect
* mobile: update deps
---------
Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co >
2023-08-02 15:35:15 +05:00
Abdullah Atta
a9f36076b3
ci: deploy master branch to cloudflare as beta
2023-08-02 11:38:35 +05:00
Ammar Ahmed
622294b807
global: implement the new theme engine ( #2196 )
...
* mobile: theme
* theme: add theme engine
* mobile: migrate app colors to new theme engine
* mobile: fixed some colors
* mobile: fix colors
* mobile: store theme info in store
* theme: `ColorsType` -> `Variants`
* theme: use explicit return type for `useThemeColors`
* theme: add `backdrop` color
* mobile: `const colors` -> `const {colors}
* theme: add default pitch-black theme
* mobile: manage theme state via theme-engine
* mobile: add theme scopes
* mobile: commit
* mobile: fix button width on applock screen
* mobile: fix typings
* mobile: fix theme definition
* web: add partial support for custom themes
only context menus & popups are left.
* theme: add dialog & sheet scopes
* global: sync with master branch and make everything work again
* mobile: fix theme-engine usage in editor & app
* mobile: fix colors
* mobile: fix colors
* mobile: cleanup
* mobile: fix status bar color incorrect on entering foreground
* mobile: fix dark color scheme
* web: move emotion theme provider to @notesnook/theme
* editor: add support for theme enging
* web: adjust hover & focus colors on list item
* mobile: migrate share ext to theme engine
* mobile: fix editor theme provider
* clipper: add support for the new theme engine
* mobile: fix statusbar color on switch from bg
* misc: fix build
* mobile: fix build
* misc: fix colors
* mobile: fix theme colors
* mobile: fix bottom padding
* server: add theme server
* theme: add previewColors
* server: support themes query pagination
* mobile: add client from theme server
* server: reset cache on sync repo
* server: fix types
* server: show ip & port on start server
* server: theme updates
* web: finalize new theme engine on web
* editor: fix build
* global: fix @emotion/react version to 11.11.1
* editor: update katex patch
* web: fix imports
* global: fix @trpc/* versions
* global: a huge set of changes
1. get rid of ThemeVariant. All variants can now be accessed anywhere.
2. remove unnecessary button variants
3. make buttons more responsive
4. implement themes server
* web: add support for theme search and theme switching
* global: update lockfiles
* mobile: fix error
* theme: use vite-plugin-react to start theme server
* web: add support for auto updating themes
* mobile: update theme selector
* mobile: update theme if new verison available
* theme: add `isomorphic-fetch` package
* global: update lockfiles
* web: add theme details dialog
* setup: add scope for themes server in bootstrap script
* web: add production server url
* web: update lockfile
* web: update lockfile
* mobile: remove `react-native-blob-util`
* web: add support for endless scrolling in themes
* web: bring back dark/light mode option in settings
* web: fix colors in places
* theme: add selected variant
* global: use single typescript version across the projects
* web: fix sort & group options not having submenus
* web: apply selected variant where appropriate
* ui: use unique id for all menu items
* config: add ui scope for commits
* theme: export button variant creation fn
* web: fix only 1 theme showing in theme selector
* web: fix navigation item hover & other colors
* mobile: update theme
* editor: fix toolbar group alignments
* editor: set theme provider at app level
* theme: use scope name to get current scope
* mobile: fix color usage in message card
* theme: remove caching
* editor: bring back icons in table menus
* theme: use zustand to manage theme engine state
* web: fix login/signup theming
* mobile: fix webpack build
* misc: remove ThemeProvider usage
* editor: adjust theming and styling of editor toolbar
* mobile: refactor
* editor: fix toolbar group padding everywhere
* web: fix settings sidebar is not scrollable
* web: add loading indicator for themes loading
* mobile: fix warning
* mobile: fix ui issues
* web: fix Loader errors on build
* theme: add getPreviewColors & validateTheme
* theme: fix theme validation
* mobile: load theme from file
* mobile: fix share extension crash
* mobile: rename state
* theme: add sourceURL property
* theme: refactor theme-engine
* web: add support for loading theme from file
* web: improve button hover interaction
* mobile: fix floating button color
* mobile: update theme
* mobile: fix border radius of context menu
* mobile: set sheet overlay color to theme backdrop
* mobile: set sidemenu backdrop to theme backdrop
---------
Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co >
2023-08-01 12:07:21 +05:00
Abdullah Atta
ba72a92a8a
setup: switch to fdir from fast-glob
2023-08-01 10:42:21 +05:00
Abdullah Atta
022dd78eda
ci: add workflow for vericrypt publishing
2023-07-31 11:40:09 +05:00
Abdullah Atta
72a25dcf34
global: get rid of lerna
2023-07-06 11:14:04 +05:00
Abdullah Atta
984e8f8780
global: use node scripts directly everywhere
2023-07-05 13:40:09 +05:00
Abdullah Atta
bbeeacc480
desktop: use node directly for dev server instead of turbowatch
2023-07-05 11:45:13 +05:00
Abdullah Atta
87de351170
misc: move essential deps from devDependencies
2023-06-21 15:45:55 +05:00
Abdullah Atta
5374f2b56c
web: migrate to vitejs from webpack ( #2715 )
2023-06-12 11:49:37 +05:00
Abdullah Atta
0aa689ca03
desktop: add readme & other docs
2023-06-10 15:54:17 +05:00
Abdullah Atta
6ab0911970
desktop: finalize new desktop core
2023-06-10 15:54:17 +05:00
Abdullah Atta
28927e705b
desktop: overhaul desktop core and migrate to typescript
2023-06-10 15:54:17 +05:00
Abdullah Atta
24e13f488e
web: fully move to using web streams everywhere
2023-05-23 12:52:50 +05:00
Abdullah Atta
68ebb132cd
global: update packages to ensure we bundle only 1 version of @mdi/js
2023-02-20 15:23:52 +05:00
Abdullah Atta
7cd6a6e9ee
clipper(web): fix all eslint warnings
2022-12-05 15:20:54 +05:00
Abdullah Atta
58319c27f5
misc: install patch-package package
2022-12-02 11:25:59 +05:00
Abdullah Atta
b5843c24d4
editor: do not use shebang to execute build script
2022-10-06 13:19:44 +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
ammarahm-ed
042028f1eb
ci: build ipa in two steps
2022-09-22 17:57:13 +05:00
ammarahm-ed
508cb9bf2e
ci: move codemagic.yaml to root
2022-09-22 13:44:06 +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
ammarahm-ed
85a3b5f016
ci: add release commands
2022-09-20 14:45:41 +05:00
Abdullah Atta
dba1fe41e5
misc: add serve package for running web tests
2022-09-14 12:05:53 +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
ab38d89314
setup: use zx for cross-platform scripting
2022-09-07 23:04:40 +05:00
ammarahm-ed
24f0e5bd9c
mobile: make e2e tests work on android & iOS
2022-09-01 15:01:52 +05:00