23 Commits

Author SHA1 Message Date
Tom Moor a4a67f2cdd fix: Upgrade yauzl, improve stream close handling 2026-05-27 20:33:33 -04:00
Tom Moor 8d44a0fd92 chore: Migrate from JSZip to Yazl (#12408)
* chore: Migrate from JSZip to Yazl

* Add koa stream helper, PR feedback
2026-05-21 23:27:23 -04:00
Tom Moor ee5164290d perf: Move Markdown importer to zip stream (#12372)
* perf: Move Markdown importer to zip stream

* refactor

* refactor: Extract zip walk + tree builder into ZipHelper

Adds `ZipHelper.walk` and `ZipHelper.toFileTree` so other importers can
stream zip contents without extracting to disk. Tree construction uses
an O(1) path → node map; `./`-prefixed entries are normalized, while
dotfiles, `__MACOSX`, and `..` segments are filtered.

* PR feedback
2026-05-18 18:32:58 -04:00
Tom Moor 6d7d8b056c fix: trimFilenameAndExt should not be passed full path (#12101) 2026-04-18 08:10:30 -04:00
Tom Moor 00fb4d1af7 chore: Update node style imports (#11277)
- crypto → node:crypto
  - fs → node:fs
  - fs/promises → node:fs/promises
  - path → node:path
  - http → node:http
  - https → node:https
  - stream → node:stream
  - buffer → node:buffer
  - url → node:url
  - os → node:os
  - net → node:net
  - dns → node:dns
  - events → node:events
  - readline → node:readline
  - querystring → node:querystring
  - util → node:util
2026-01-26 20:51:50 -05:00
Tom Moor bf45e97641 chore: Enforce type import consistency (#10968)
* Update types

* fix circular dep

* type imports

* lint type imports and --fix
2025-12-19 23:07:02 -05:00
Tom Moor a97908518a fix: Various issues with JSON import and UTF8 or very long filenames (#9850) 2025-08-05 21:15:45 -04:00
Tom Moor 32c1712fdc fix: Various cases that could leave file handles open on export (#9168)
* fix: Various cases that could leave file handles open on export

* Consolidate error handling
2025-05-10 17:48:24 -04:00
Tom Moor d3c8224839 fix: Error during import with long filenames (#7738)
* fix: Stream error during import causes worker restart

* refactor

* fix: Ensure we never write filenames longer than the system can handle
2024-10-07 05:36:18 -07:00
Tom Moor 67a1033ded fix: Allow for zip files with '/' path in central directory 2023-11-16 19:25:43 -05:00
Tom Moor cf6a946c9c chore: Normalize fs-extra usage 2023-11-15 19:43:17 -05:00
Tom Moor 726613bf1d fix: Remove unzipper as it cannot handle zip within zip (#6162) 2023-11-15 16:32:17 -08:00
Tom Moor 1898a34418 Rearchitect import (#6141) 2023-11-13 17:15:38 -08:00
Tom Moor 1a556b6ff2 fix: Internal server error during import with nested documents 2023-11-09 19:24:16 -05:00
Tom Moor d8d49f6950 fix: Internal server error during import with nested documents 2023-11-09 19:24:16 -05:00
Tom Moor 6aec085942 fix: Error handling on streams missing error handler on read streams.
Related https://github.com/outline/outline/discussions/5855
2023-09-23 18:08:36 -04:00
Tom Moor 127115272a feat: Return attachments when exporting an individual file (#5778) 2023-09-06 17:53:30 -07:00
Tom Moor b7bfc4bb1a chore: Remove optimize imports to allow vite upgrade (#5691) 2023-08-14 11:44:58 -07:00
Tom Moor 9942bbee3e fix: Refactor attachment downloads during export to use promises (#5294
* Refactor attachment downloads during export to use promises instead of streams
Date attachments in zip file correctly

* tsc
2023-05-04 17:20:33 -07:00
Tom Moor 12bfa6c58d Add additional debug logging to export 2023-04-29 22:05:52 -04:00
Tom Moor 794df52080 fix: NotionImportTask 2023-03-29 09:34:04 -04:00
Tom Moor 8a2831ef80 fix: Add support for Zip files created natively on Windows
closes #5117
2023-03-29 08:28:51 -04:00
Tom Moor bb568d2e62 fix: Exports generate invalid internal links (#4639)
* refactoring

* Refactoring continues

* Refactor export, fix internal links in exported docs

* fix: Dupe document name detection

* sigh
2023-01-04 04:18:59 -08:00