Commit Graph

873 Commits

Author SHA1 Message Date
Orban Gergo 45b94cdf41
Merge aa39368427 into c8551d9548 2026-08-12 17:53:14 +03:00
Orban Gergo aa39368427 Merge branch 'main' into feat/supported-source-formats-for-targets 2026-08-12 17:53:03 +03:00
OrbanGergo 9abc19f0aa fix: address remaining cubic review feedback 2026-08-12 17:45:26 +03:00
Emrik Östling c8551d9548
chore: update deps (#605) 2026-08-10 22:45:52 +02:00
Emrik Östling 85355c64b3
ci: change autolabeler to a custom built (#603) 2026-08-10 20:04:33 +02:00
Laertes87 84e954948b
test: add unit tests for main and db and improve coverage (#596) 2026-08-07 20:31:44 +02:00
Emrik Östling 5cf7703dd4
fix: better 404 message in logs (#599) 2026-08-04 22:02:26 +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
OrbanGergo 83aefc2687 fix: address remaining cubic review feedback 2026-08-01 17:08:32 +03:00
OrbanGergo cb8900b20a fix: address remaining cubic review feedback - clearing search bar 2026-08-01 16:56:58 +03:00
OrbanGergo 23d405e7db fix: address remaining cubic review feedback 2026-08-01 16:47:04 +03:00
OrbanGergo fd7841b3c2 Race condition and key correction 2026-08-01 16:36:03 +03:00
OrbanGergo e0929b6fe9 index.tsx left out of prev commit 2026-08-01 16:31:27 +03:00
OrbanGergo ffddc284f2 feat(ui): show supported source formats when a target is selected 2026-08-01 16:18:29 +03:00
OrbanGergo b4d36556c1 feat(convert): add /convert-sources endpoint 2026-08-01 16:17:47 +03:00
OrbanGergo 4e9c2b8c14 feat(converters): add reverse lookup for supported source formats 2026-08-01 16:17:02 +03: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
Emrik Östling 8aa23c75aa
Potential fix for code scanning alert no. 4: Workflow does not contain permissions (#527) 2026-02-11 17:35:23 +01:00
renovate[bot] 0483392f7e
chore(deps): lock file maintenance (#533)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-09 08:17:45 +01:00
renovate[bot] debbe5d1d4
chore(deps): update eslint monorepo to v10 (#531)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-07 12:09:41 +01:00
renovate[bot] cd32144bce
chore(deps): lock file maintenance (#528)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-02 08:54:23 +01:00
Emrik Östling f747a5b94b
chore: update eslint config (#521) 2026-01-30 19:10:03 +01:00
Toni Ros 52af8d5824
PDF to DOCX using LibreOffice, fixes #425 (#510)
* Fix to issue #425

* Fix to Fix error in previous fix, and adapt tests

* Fix to Fix error in previous fix, and adapt tests plus prettier

* Update tests/converters/libreoffice.test.ts

Thanks

Co-authored-by: Emrik Östling <emrik.ostling@gmail.com>

* Update src/converters/libreoffice.ts

Thanks

Co-authored-by: Emrik Östling <emrik.ostling@gmail.com>

* Update src/converters/libreoffice.ts

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: Emrik Östling <emrik.ostling@gmail.com>
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2026-01-29 17:20:12 +01:00
Emrik Östling 8129ecdc39
chore: update deps (#522) 2026-01-26 20:48:26 +01:00
renovate[bot] 18f2aa8562
chore(deps): update dependency eslint-plugin-better-tailwindcss to v4 (#506)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Emrik Östling <emrik.ostling@gmail.com>
2026-01-26 19:44:19 +01:00
renovate[bot] 081f62de95
chore(deps): lock file maintenance (#519)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-26 07:52:27 +01:00
renovate[bot] 1032311299
chore(deps): lock file maintenance (#512)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-19 09:24:59 +01:00
Emrik Östling 6c812b44bb chore: prepare for 0.17.0 2026-01-13 20:38:35 +01:00
Emrik Östling 7a936bdc04
Merge commit from fork 2026-01-13 20:34:21 +01:00
renovate[bot] 7ec6b66da8
chore(deps): lock file maintenance (#501)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-12 17:22:22 +01:00
Emrik Östling bb751163ba chore: add comment to dev compose file 2026-01-11 17:46:56 +01:00
kunal763 c3f17cc5a7
feat: add VCF to CSV converter (#497) 2026-01-11 16:38:32 +01:00