Commit Graph

888 Commits

Author SHA1 Message Date
Jörg Krzeslak 86cf842605 test: wait for resolves to finish before assertion 2026-08-04 09:52:38 +02:00
Jörg Krzeslak 46705b6b34 test: ensure that module is loaded after environment variable is set 2026-08-04 09:32:54 +02:00
Jörg Krzeslak 310a0652ec test: consolidate db test 2026-08-04 02:19:44 +02:00
Jörg Krzeslak 2fa4dcf84e test: remove dead mock code line 2026-08-04 02:09:47 +02:00
Jörg Krzeslak ecfa591eec test: test that handleConvert does not throw 2026-08-04 02:02:20 +02:00
Jörg Krzeslak 152be90a5c test: test the actual default export 2026-08-04 01:19:10 +02:00
Jörg Krzeslak 6fac7cb451 test: fix test name and comment 2026-08-04 01:08:11 +02:00
Jörg Krzeslak 81334c7db8 test: do not silently swallow every unexpected error 2026-08-04 01:00:53 +02:00
Jörg Krzeslak 823c83eea4 test: ensure that migrateDb database always gets cleaned up 2026-08-04 00:54:15 +02:00
Jörg Krzeslak aa81ed11c6 test: ensure that test database connection is properly closed 2026-08-04 00:46:26 +02:00
Jörg Krzeslak 87924f3898 test: ensure that test does not touch production database 2026-08-03 23:58:37 +02:00
Jörg Krzeslak b316452dc4 test: add unit test for printVersions 2026-08-03 23:13:48 +02:00
Jörg Krzeslak 165c48722a test: revert renaming of commonTests.ts and add bunfig.toml to ignore it from test coverage 2026-08-03 23:13:48 +02:00
Jörg Krzeslak ab92a06721 test: rename commonTests.ts to not be included in coverage report 2026-08-03 23:13:48 +02:00
Jörg Krzeslak dd853043b1 test: fix copy and paste comment 2026-08-03 23:13:48 +02:00
Jörg Krzeslak a2f0005bfc test: remove dead fallback logic 2026-08-03 23:13:48 +02:00
Jörg Krzeslak 1d328f4b77 test: create isolated test db in temp directory and clean up afterward 2026-08-03 23:13:48 +02:00
Jörg Krzeslak 210fa5bd7f test: remove duplicate initializeDatabase call 2026-08-03 23:13:48 +02:00
Jörg Krzeslak b32c28d87f test: fall back to isolated test db instead of production db 2026-08-03 23:13:48 +02:00
Jörg Krzeslak 7d411b1425 test: restore parent-directory creation for db 2026-08-03 23:13:48 +02:00
Jörg Krzeslak 7d7415b722 test: make sure data directory exists when executing main.test.ts 2026-08-03 23:13:48 +02:00
Jörg Krzeslak 7b80678ff9 test: set DB_PATH in process.env for main.test.ts 2026-08-03 23:13:48 +02:00
Jörg Krzeslak c2bebb1712 test: correctly create isolated test db in main.test.ts 2026-08-03 23:13:48 +02:00
Jörg Krzeslak 396dd9f629 test: correctly use isolated test db instead of production db in tests 2026-08-03 23:13:48 +02:00
Jörg Krzeslak 1d722545f7 test: improve test cleanup in libreoffice.test.ts 2026-08-03 23:13:48 +02:00
Jörg Krzeslak 210897595f test: adapt main.test.ts to test against isolated db 2026-08-03 23:13:48 +02:00
Jörg Krzeslak 8c204a7a7a test: translate comments to English 2026-08-03 23:13:48 +02:00
Jörg Krzeslak 82af881fe8 test: test isolated test db 2026-08-03 23:13:48 +02:00
Jörg Krzeslak 761cc8ab52 test: fix db test actually exercising db.ts code 2026-08-03 23:13:48 +02:00
Jörg Krzeslak d00bfdcd53 test: add unit tests for main and db and improve coverage 2026-08-03 23:13:48 +02:00
Rayan Salhab 3602f12113
fix(dasel): update converter for v3 CLI (#591) 2026-08-03 21:37:21 +02:00
桌子潔 15e4046c19
fix(results): encode download filenames (#587) 2026-08-03 21:21:08 +02:00
casi3 7157d2398e
Apply EXIF orientation when converting images with ImageMagick (#577) 2026-08-03 21:20:35 +02:00
tr3lane dc61643912
fix(libreoffice): don't force MS Word 97 infilter on .wps (#585)
* fix(libreoffice): don't force MS Word 97 infilter on .wps

.wps is Microsoft Works, not MS Word 97/.doc. Forcing that infilter
makes soffice reject a genuine Works document with "source file could
not be loaded", even though the same file converts fine when no
--infilter is passed at all (LibreOffice auto-detects it correctly).

Fixes #582

* test: lock in wps export direction; document why null covers both sides

Per review: the filter map feeds both --infilter and the --convert-to
suffix, so wps: null also affects exporting TO wps. That is deliberate
and behavior-preserving: LibreOffice has no Works export filter (its
MS_Works filter is import-only), and bare `--convert-to wps` falls back
to LibreOffice's default export filter for the extension - "MS Word 97",
the exact filter this map pinned before, so export output is unchanged.
Adds a regression test asserting the docx -> wps invocation.

---------

Co-authored-by: tr3lane <182920672+tr3lane@users.noreply.github.com>
2026-07-29 11:01:02 +02:00
Emrik Östling 393441faa1 chore: fix release config 2026-06-21 22:40:20 +02:00
Emrik Östling cc4de7625d chore: refresh lockfile 2026-06-21 22:40:09 +02:00
Emrik Östling 174877cd88 ci: remove bump version action 2026-06-21 22:39:58 +02:00
Emrik Östling eceb29c22d chore: prepare for 0.18.0 2026-06-21 22:29:15 +02:00
Emrik Östling 4bdb643ed4 chore(deps): bump deps 2026-06-21 22:26:09 +02:00
Emrik Östling e125326720
Merge commit from fork
Co-authored-by: Ayushi Rathore <ayushirathore@Ayushis-MacBook-Air.local>
2026-06-21 21:04:29 +02:00
Fluxmux 0965928949
security: fix path traversal vulnerability in conversion API (#532) 2026-04-27 21:43:47 +02:00
Dante Barbieri 1ba82cf1b2
fix(assimp): pass -f<format> so non-extension targets work (#557)
* fix(assimp): pass -f<format> so non-extension targets work

The assimp converter invokes `assimp export <in> <out>` and relies on
assimp's extension-based format inference to pick the output format.
That works for targets whose id happens to match a real file extension
(glb, gltf, obj, stl, ply, etc.) but silently fails for every target
whose assimp id is not a conventional filename extension:

  glb2, gltf2, objnomtl, stlb, plyb, fbxa, assbin, assxml, pbrt, assjson

Picking any of those in the UI aborts the job with:

  assimp export: no output format specified and I failed to guess it

assimp_cmd's `-f<h>` flag overrides extension inference, and the values
in `properties.to.object` already correspond 1:1 to assimp's format ids
(verified against `assimp listexport`). Passing `-f${convertTo}` makes
every advertised target work without changing anything else.

Reproduction: upload any .stl, convert to glb2. Before: ENOENT on the
nonexistent output file. After: valid binary glTF 2.0.

* fix(assimp): write real file extensions for non-extension format ids

Follow-up to the previous commit. With `-f<format>` now passed to
assimp, every advertised target exports successfully — but seven of
them still produce files with assimp's internal format id as the
extension, which no third-party viewer recognises:

  glb2 → .glb2   (really binary glTF 2.0, should be .glb)
  gltf2 → .gltf2 (text glTF 2.0, should be .gltf)
  objnomtl → .objnomtl   (OBJ without .mtl, should be .obj)
  stlb → .stlb   (binary STL, should be .stl)
  plyb → .plyb   (binary PLY, should be .ply)
  fbxa → .fbxa   (ASCII FBX, should be .fbx)
  assjson → .assjson   (JSON dump, should be .json)

Map these in `normalizeOutputFiletype`, the same helper that already
handles jpeg→jpg, latex→tex, markdown→md. The format id on `convertTo`
is untouched, so `assimp -f<id>` still selects the correct
encoding/variant — only the output filename changes.

assbin, assxml, and pbrt are both the format id and the canonical
extension, so they need no mapping.

* style(assimp): fix prettier formatting
2026-04-22 22:28:52 +02:00
Emrik Östling 70fcc8413f
chore: downgrade elysia to 1.4.22 (#551)
* chore: downgrade elysia to 1.4.22

* chore: add  ca-certificates
2026-03-28 12:25:14 +01:00
renovate[bot] bee3f6302b
chore(deps): update docker/login-action action to v4 (#545)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-04 15:41:11 +01:00
renovate[bot] 0d201261c8
chore(deps): lock file maintenance (#542)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-02 08:38:02 +01:00
renovate[bot] f1439faf12
chore(deps): update github artifact actions (#540)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-28 21:39:32 +01:00
renovate[bot] 9cbd233dd6
chore(deps): lock file maintenance (#539)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-23 08:44:58 +01:00
renovate[bot] 7c93846afa
chore(deps): lock file maintenance (#537)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-17 23:09:12 +01:00
Emrik Östling b013b4d0bc
feat: update to debian testing (forky) (#534) 2026-02-15 12:49:11 +01:00
Giulio Librando d291f049b8
fix: allow dynamic server port via environment variable (#530) 2026-02-11 18:06:23 +01:00