* Update to latest Node LTS
* Add sveltekit
* Split tslib into separate @generated and @tslib components
SvelteKit's path aliases don't support multiple locations, so our old
approach of using @tslib to refer to both ts/lib and out/ts/lib will no
longer work. Instead, all generated sources and their includes are
placed in a separate out/ts/generated folder, and imported via @generated
instead. This also allows us to generate .ts files, instead of needing
to output separate .d.ts and .js files.
* Switch package.json to module type
* Avoid usage of baseUrl
Incompatible with SvelteKit
* Move sass into ts; use relative links
SvelteKit's default sass support doesn't allow overriding loadPaths
* jest->vitest, graphs example working with yarn dev
* most pages working in dev mode
* Some fixes after rebasing
* Fix/silence some svelte-check errors
* Get image-occlusion working with Fabric types
* Post-rebase lock changes
* Editor is now checked
* SvelteKit build integrated into ninja
* Use the new SvelteKit entrypoint for pages like congrats/deck options/etc
* Run eslint once for ts/**; fix some tests
* Fix a bunch of issues introduced when rebasing over latest main
* Run eslint fix
* Fix remaining eslint+pylint issues; tests now all pass
* Fix some issues with a clean build
* Latest bufbuild no longer requires @__PURE__ hack
* Add a few missed dependencies
* Add yarn.bat to fix Windows build
* Fix pages failing to show when ANKI_API_PORT not defined
* Fix svelte-check and vitest on Windows
* Set node path in ./yarn
* Move svelte-kit output to ts/.svelte-kit
Sadly, I couldn't figure out a way to store it in out/ if out/ is
a symlink, as it breaks module resolution when SvelteKit is run.
* Allow HMR inside Anki
* Skip SvelteKit build when HMR is defined
* Fix some post-rebase issues
I should have done a normal merge instead.
* Improve update interval of timer display
Timer calculation frequency increased and aligned with new card apparition.
* Update CONTRIBUTORS
* Update timer interval to 0.333 sec
* Restore timer to 1 sec
- Restoring timer to 1sec value as it is not necessary to increase the frequency.
- Adding a time update directy after new card is displayed so that the timer display immediatly restarts to 0.
* Simplify the offline build
The two environment variables OFFLINE_BUILD and NO_VENV jointly provide
the ability to build Anki fully offline. This commit boils them down
into just one, namely OFFLINE_BUILD.
The rationale being that first, OFFLINE_BUILD implies the use of
a custom non-networked Python environment.
Second, building Anki with a custom Python environment in a networked
setting is a use case, that we currently do not support.
Developers in need of such a solution may want to give containerized
development environments a try. Users could also look into building
Anki fully offline instead.
* Add documentation for offline builds.
* Add support for offline generation of Sphinx documentation.
Control installation of Sphinx dependencies via the network through the
OFFLINE_BUILD environment variable.
* Add documentation for offline generation of Sphinx documentation.
This reverts commit 58b2475f42.
Rolling this back for now, as it may cause regressions. We can give it
another try at the start of the next beta-testing period.
The respective *.ftl file keys `actions-forget-card` and `qt-accel-forget` will keep the same name to prevent having to force a retranslation for other languages, only the string value was changed
* more better pan zoom with space for drag, shift for horizontal scroll and ctrl for zoom
* use middle mouse button for drag
* improve panning with space + mousemove, remove middle mouse implementation
* handle tool change after mouseup event
* Preserve HTML formatting inside clozes
* Place caret after/inside cloze
To match the old behavior
* Fix clozing in mathjax
* Formatting
* Avoid .extractContents() and handle partially covered tags
* Exclude range end if endOffset == 0
* Remove unnecessary branches
* Use nodeIsElement
* Let extractContents() handle partially selected nodes
* fix: ensure proper drawing of shape tools after pan/zoom
* remove sticky bottom toolbar
* make bounding-box not selectable after undo/redo
* fix: resize issue, added option to pan using alt/shift + mouse wheel
* drag with touchpad
* use isDesktop and move globalThis to index.ts
* gesture event not required, use preventDefault with passive false in wheel event
* use shift in mac and ctrl in pc
* - update remove decks function to return names of all deleted decks
- update protobuf message to display deck names
- update python files to receive message in the frontend.
- add message template to ftl
* update CONTRIBUTORS
* format
* refactor: move up deck names concatenation to tooltip api call
to fix type expectations
* restore core behavior and get deck name from view
* fix type specs
* remove new type and use str instead
restore incorrectly removed lines
* qt/aqt/__init__.py: Skip GL library workaround for FreeBSD
The workaround to load explicitly "libGL.so.1" isn't required for
FreeBSD and leads to segmentation faults if used in environments that
have nVidia drivers loaded.
See also FreeBSD bug 270778 for further details. [1]
[1] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=270778
* Update CONTRIBUTORS
* fix: blur in io, remove panzoom and use fabricjs for panzoom
- remove panzoom
- implement panzoom using fabricjs
- set background image for canvas
- add bounding rect for canvas
- draw or add point inside in bounding rect
- update zoom tool
* support pinch to zoom on mobile client
* fix lagging of canvas, zoom in draw mode
* panning in touch events
* update fsrs to 0.4.5
* update to fsrs 0.4.6
* add benchmark API
* update fsrs to 0.5.0
* cargo fmt
* ./ninja fix:minilints
* ./ninja format
* Add a brief comment about the new method (dae)
* Fix/set pretrain_only and insufficient reviews based on fsrs_items
* use review_count for FsrsInsufficientReviews
* Update weights.rs
* Update weights.rs