Commit graph

851 commits

Author SHA1 Message Date
Radhakrishnan Pachyappan
4f46fc737e fix(libreoffice): correct SYLK extension from sylk to slk
The conventional file extension for SYLK spreadsheets is .slk, not .sylk.
Using sylk meant uploaded .slk files would never match the properties entry
and would not receive the SYLK infilter.

Signed-off-by: Radhakrishnan Pachyappan <gingeekrishna@gmail.com>
2026-06-21 17:01:53 +05:30
Radhakrishnan Pachyappan
394ef1a26b style: apply prettier formatting
Signed-off-by: Radhakrishnan Pachyappan <gingeekrishna@gmail.com>
2026-06-21 16:52:57 +05:30
Radhakrishnan Pachyappan
089105fd09 fix(libreoffice): use separate input/output filters and add Calc category
LibreOffice Writer has no CSV export filter.  The shared filter map used
Text for csv in both directions, which made any Writer-category conversion
to csv fail with:

  no export filter for <file>.csv found, aborting.

Root cause: getFilters() looked up the same filters map for the infilter and
the outfilter.  Text is a valid *input* filter for reading delimiter-
separated files in Writer but is not accepted as an *output* filter for the
.csv extension.

Fix:
- Split into separate inputFilters / outputFilters maps so csv can remain
  readable by the text (Writer) category without offering it as a write
  target there.
- Remove csv from properties.to.text so the UI/router no longer exposes
  the unsupported Writer → CSV path.
- Populate the previously-empty filters.calc with correct LibreOffice Calc
  filter names and add spreadsheet formats to properties.from.calc /
  properties.to.calc, enabling conversions such as xlsx → csv, csv → xlsx,
  ods → xlsx, etc. via the Calc module.

Fixes #561

Signed-off-by: Radhakrishnan Pachyappan <gingeekrishna@gmail.com>
2026-06-21 16:48:32 +05:30
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
Mehul Anshumali
60f6f5b77f
fix(docker): add python3-tinycss2 for Inkscape DXF export (#498)
Co-authored-by: Mehul Anshumali <mehul.a@phonepe.com>
2026-01-11 16:18:46 +01:00
Emrik Östling
bbf6f6ba52
Fix Polish tutorial link in README.md 2026-01-08 21:53:34 +01:00
Emrik Östling
9802519e45
Add Polish tutorial link to README 2026-01-07 20:41:04 +01:00
renovate[bot]
2b40443885
chore(deps): lock file maintenance (#493)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-05 10:41:35 +01:00
renovate[bot]
28e5ed4c03
chore(deps): update dependency globals to v17 (#490)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-01 22:52:29 +00:00
renovate[bot]
c1ca9c770a
chore(deps): lock file maintenance (#489)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-31 13:43:44 +01:00
Sahil sharma
f2a92aaf39
feat: markitdown implementation (#486)
* feat: markitdown implementation

* fix: code review and docker file:

* fix: add markitdown PATH in container

* fix: feedback changes

* en: readme changed
2025-12-27 12:59:17 +05:30
Namit
8af8e59b4f
feat: bulk job deletion with multi-select UI (#481)
Closes #445
2025-12-27 00:24:39 +01:00
lif
9ac5e7569b
Fix timezone display in history page (#479) 2025-12-23 02:29:34 +01:00
renovate[bot]
955ea5c014
chore(deps): lock file maintenance (#484)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-23 02:12:09 +01:00
Geek Squirrel
5d70df424e
add .wma file as input (#485) 2025-12-23 02:11:07 +01:00
renovate[bot]
911587ea68
chore(deps): lock file maintenance (#477)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-15 08:37:32 +01:00
Emrik Östling
3d84925e1b
Potential fix for code scanning alert no. 2: Workflow does not contain permissions (#476)
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-12-14 20:46:01 +01:00
Emrik Östling
ab352987d5
Potential fix for code scanning alert no. 1: Workflow does not contain permissions (#474)
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-12-14 20:33:27 +01:00
Emrik Östling
689e66e3f9
Potential fix for code scanning alert no. 3: Workflow does not contain permissions (#475)
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-12-14 20:33:13 +01:00
Emrik Östling
4598745956
Potential fix for code scanning alert no. 6: Unnecessary use of cat process (#473)
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-12-14 20:32:56 +01:00
Emrik Östling
af199ab8bb
Potential fix for code scanning alert no. 5: Workflow does not contain permissions (#472)
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-12-14 20:30:31 +01:00
Emrik Östling
20b321c308 chore: update readme with hw accel link 2025-12-14 19:32:08 +01:00
Laertes87
8f898be20e
Merge pull request #462 from Laertes87/AddMoreUnitTests
test: add more unit tests
2025-12-14 14:38:14 +01:00
Emrik Östling
df3330fdc2
fix: add FFMPEG_OUTPUT_ARGS (#470) 2025-12-14 14:12:21 +01:00
Emrik Östling
12a5580694
fix: ffmpeg args (#469) 2025-12-14 13:43:20 +01:00
Emrik Östling
eabd6e6a7f
chore: update version number (#468) 2025-12-14 11:43:38 +01:00