- .githooks/pre-push: runs vue-tsc before every push; blocks TypeScript
regressions locally without any manual developer setup
- postinstall: git config core.hooksPath .githooks activates the hook
automatically on yarn install (yarn 4, enableScripts: true)
- tests/smoke/apiHandlers.smoke.test.ts: import-level smoke tests for all
bug-report handlers + 3 core admin handlers — catches broken exports and
top-level runtime errors without a DB or running server
- tests/server/bugReport.test.ts: 16 unit tests covering comment validation,
contact-string building, model schema fields, status enum, and patch logic
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Screenshots: html2canvas 1.4.1 only parses rgb/hsl and throws on color-mix(),
which the app uses app-wide; the throw was swallowed so no screenshot was ever
captured. Swap to modern-screenshot (native SVG foreignObject — supports
color-mix/oklch), capture before opening the dialog, surface failures instead of
hiding them, and show a capture spinner on the Bug button.
State restore: the old handler only patched local vars/flags and loaded the tree
— it never entered the monitor screen or created a backend session, so nothing
happened. New restoreBugReportState() reuses startMonitoring() to spin up a real
session for the same flight/scenario from the snapshot, overlays saved
variables/flags, and replays the captured comm log. The Python backend has no
mid-session resume, so the session restarts at the flow start and the captured
state id is surfaced in a banner.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- New BugReport MongoDB model (comment, contact, userId, screenshot, pmState, status)
- POST /api/bug-reports — authenticated submit; emails emanuel@faktorxmensch.com on receipt
- GET/PATCH /api/admin/bug-reports + /[id] — admin list, detail with screenshot, status toggle
- /pm: "Bug" button in HUD captures viewport screenshot (html2canvas), shows annotation
canvas where testers can draw arrows; submits comment + contact + state snapshot
- /admin: new "Bug Reports" tab with open-count badge, screenshot expand, "Erledigt" toggle,
and "In /pm öffnen" link that restores captured engine state via ?restoreBugReport=<id>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The previous `vue-tsc --noEmit` step was a no-op: the root tsconfig uses
`files: []` with project references, so without `--build` it checks zero files
and always passes. Switch to `vue-tsc --build` (new `yarn typecheck` script)
and make the job blocking.
Fix the one error this surfaced: UsageEventDocument extended mongoose.Document,
whose `model` method collides with the `model: string` field. Use the
recommended pattern — a plain attrs interface passed to the Schema/Model
generics (hydrated docs still expose Document methods). Typecheck is now clean.
Bump actions/checkout@v5 and actions/setup-node@v5 to silence the Node.js 20
runtime deprecation (forced to Node 24 from 2026-06-16).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* Updated and with new company details (Faktor Mensch MEDIA UG), updated email to , and refreshed dates.
* Replaced references to old OpenSquawk UG with new entity information.
* Added module to for image optimization support.
* Adjusted dependencies: added , ensured is correctly listed.
* Regenerated to include new dependencies (, High performance, secure and easy-to-use image optimizer. (ipx v2.1.1)
USAGE ipx serve
COMMANDS
serve Start IPX Server
Use ipx <command> --help for more information about a command., Usage: svgo [options] [INPUT...]
Nodejs-based tool for optimizing SVG vector graphics files
Arguments:
INPUT Alias to --input
Options:
-v, --version output the version number
-i, --input <INPUT...> Input files, "-" for STDIN
-s, --string <STRING> Input SVG data string
-f, --folder <FOLDER> Input folder, optimize and rewrite all *.svg files
-o, --output <OUTPUT...> Output file or folder (by default the same as the
input), "-" for STDOUT
-p, --precision <INTEGER> Set number of digits in the fractional part,
overrides plugins params
--config <CONFIG> Custom config file, only .js is supported
--datauri <FORMAT> Output as Data URI string (base64), URI encoded
(enc) or unencoded (unenc)
--multipass Pass over SVGs multiple times to ensure all
optimizations are applied
--pretty Make SVG pretty printed
--indent <INTEGER> Indent number when pretty printing SVGs
--eol <EOL> Line break to use when outputting SVG: lf, crlf.
If unspecified, uses platform default.
--final-newline Ensure SVG ends with a line break
-r, --recursive Use with '--folder'. Optimizes *.svg files in
folders recursively.
--exclude <PATTERN...> Use with '--folder'. Exclude files matching
regular expression pattern.
-q, --quiet Only output error messages, not regular status
messages
--show-plugins Show available plugins and exit
--no-color Output plain text without color
-h, --help display help for command, etc.).