Commit Graph
84 Commits
Author SHA1 Message Date
azeeee05 ad51b4b270 feat: implement PDF viewer, floating text toolbar, and document editing gateway router 2026-07-09 12:39:47 +05:30
azeeee05 f9ec4e1680 feat: implement redaction UI and backend engine support for area-based PDF redactions 2026-07-09 11:51:28 +05:30
azeeee05 82a07d2e6e feat: implement PDF annotation extraction and inspector API endpoints via C++ bindings 2026-07-09 10:38:26 +05:30
azeeee05 62ad42b116 feat: implement backend and frontend support for PDF text overlays and annotations 2026-07-08 15:53:17 +05:30
azeeee05 99f87eb7cf feat: implement PDF page parsing, text extraction, and document modeling logic 2026-07-07 19:03:11 +05:30
Furqan-14 17023abf27 feat: updated text handling bugs 2026-06-30 21:18:46 +05:30
Furqan-14 3b1c36d645 fix: code refactor 2026-06-29 10:51:04 +05:30
Furqan-14 e795eed63e feat: updated font handling in older pdfs, along with tables 2026-06-26 11:33:28 +05:30
saqib mir 23b162f3c2 create the api for the display list 2026-06-22 16:23:59 +05:30
Furqan-14 e8620947a5 fix: code cleanup 2026-06-22 15:18:47 +05:30
saqib mir e1e1c91736 fix the issue 2026-06-22 10:17:51 +05:30
Furqan-14 a124a43877 feat: implemented multi page reflow 2026-06-18 16:48:29 +05:30
Furqan-14andClaude Opus 4.8 839add269a fix(reflow): center/right edits 422'd and silently reverted
Two bugs made centered/right-aligned heading edits vanish on commit:

1. Gateway: ReflowParagraphData.align was Literal["left","justify"], so a center/right reflow
   commit failed Pydantic validation -> 422 Unprocessable Entity. Widened to include
   "center","right" (matches the frontend + engine, which already handle them).

2. Frontend: gatewayService.applyEdits caught ALL errors (incl. HTTP 422/403/500) and returned
   fake success with a phantom `${documentId}_edited` id. The app then adopted that id and 404'd
   on every fetch, so the edit silently reverted instead of showing an error. Now only genuine
   network failures use the offline fallback; real HTTP errors throw the gateway's detail so the
   caller toasts a clear message and stays on the current document.

Gateway runs with --reload (auto-picks up the model change); frontend needs a refresh.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 20:37:18 +05:30
Furqan-14andClaude Opus 4.8 660649a562 fix(reflow): kill bulge/merge + font-change on edit; add center/right, IME; harden Raw Text
Reflow (primary editor):
- Geometric backstop in reflow_paragraph: adopt any text object fully inside the paragraph
  bbox that the model's objectIndices omitted (PDFium glyph->object map can return -1), so it's
  deleted + its original font is resolved. Fixes both the leftover-glyph "bulge/merge" and the
  font-substitution-on-edit (same root cause). No-op on correctly-indexed paragraphs (gate-proven
  byte-identical: overlay diff unchanged at 1.69%/1.70%).
- Preserve data-fid on edited contentEditable nodes (extractFlatRuns climbs to nearest styled
  ancestor / inherits from adjacent run) so edits keep their real font instead of the dominant.
- Converge preview & commit through one buildReflowData (no preview-OK/commit-wrong drift).
- Center/right alignment: additive emission branch (greedy path only) + heading-align inference.
- IME composition handling (suppress render mid-composition; don't commit on composing Enter).
- Fix WASM document-handle leak (free superseded versions on documentId change/unmount).
- Quiet the backstop instrumentation (warn -> debug) now the root cause is confirmed.

Raw Text / StreamEditor (beta companion):
- Permission-gate both text_objects endpoints behind canModify; label tool "(beta)".
- P1a: preserve TJ kerning numbers for same-length edits (redistribute into original slots),
  fall back to single-string collapse otherwise (never worse than before).
- P1b: reject edits with characters unencodable in the run's font (clear 400 instead of corruption).
- P2a: commit Raw Text edits as a new document version (add_document) and adopt the id via
  pushHistory, so they join undo/redo instead of mutating in place.
- P2b: exact hit-boxes from real font metrics (re-measured once @font-face loads).

WASM preview rebuilt with the reflow changes; cache version bumped.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 17:12:53 +05:30
Furqan-14 21f0bfab9a Merge branch 'dev' of https://gitea.maskantech.in/gitea_admin/pdf into furqan 2026-06-17 11:39:58 +05:30
saqib mir 69d7346803 Merge branch 'dev' of https://gitea.maskantech.in/gitea_admin/pdf into saqib 2026-06-17 11:26:18 +05:30
saqib mir 20ee7fbe20 content ad the frontend 2026-06-16 19:27:32 +05:30
saqib mir 7cd400e62a content stream 2026-06-16 19:06:48 +05:30
Furqan-14 c449cf01b9 feat: updated the text reflow engine 2026-06-16 16:45:04 +05:30
Furqan-14 d53f059952 fix: reflow for bullets 2026-06-16 14:13:14 +05:30
azeeee05 0d095cf14b Merge branch 'dev' of https://gitea.maskantech.in/gitea_admin/pdf into azeem 2026-06-16 10:57:01 +05:30
Furqan-14 ec509400e7 feat: implemented real flow text editor for paragraphs 2026-06-16 10:56:08 +05:30
azeeee05 42b4224bb3 Merge branch 'dev' of https://gitea.maskantech.in/gitea_admin/pdf into azeem 2026-06-16 10:54:14 +05:30
azeeee05 f8fb4feaff done undo functions 2026-06-16 10:53:37 +05:30
Furqan-14 44f64a0d99 feat: implemented caret based selection at any click position 2026-06-12 19:13:29 +05:30
Furqan-14 d47895c990 feat: implemented base editing, underline and striking 2026-06-12 15:04:09 +05:30
Furqan-14 f11bac7419 Merge branch 'dev' of https://gitea.maskantech.in/gitea_admin/pdf into furqan 2026-06-12 11:31:40 +05:30
Furqan-14 03cabc05a3 feat: implemented unicode and update base fonts, and sub fonts 2026-06-12 11:31:10 +05:30
saqib mir 74a2ba7b8d merge conflict solve 2026-06-11 19:36:38 +05:30
saqib mir 4d900c3d0c Underline + decoration renderer (DecorationBuilder) 2026-06-11 19:30:27 +05:30
azeeee05 18d7cd98d1 Merge branch 'dev' of https://gitea.maskantech.in/gitea_admin/pdf into azeem 2026-06-11 19:23:45 +05:30
azeeee05 948461da65 fixed issues on edit 2026-06-11 19:23:34 +05:30
Furqan-14 98c63f91fc Merge branch 'dev' of https://gitea.maskantech.in/gitea_admin/pdf into furqan 2026-06-11 19:22:07 +05:30
Furqan-14 377a9044af feat: implemented hit testing, form field, content stream and base security hardening 2026-06-11 19:19:01 +05:30
saqib mir b52890818b update the pipiline 2026-06-11 18:19:26 +05:30
saqib mir 33667f8985 Merge branch 'dev' of https://gitea.maskantech.in/gitea_admin/pdf into saqib 2026-06-11 11:27:27 +05:30
azeeee05 ab88a05d36 Image XObject handler (Do operator) 2026-06-11 11:25:27 +05:30
saqib mir 9131b11932 Merge branch 'dev' of https://gitea.maskantech.in/gitea_admin/pdf into saqib 2026-06-11 10:24:04 +05:30
Furqan-14 fa35589f81 fix: reworked ui components 2026-06-10 21:51:43 +05:30
saqib mir 9b94954613 Merge branch 'dev' of https://gitea.maskantech.in/gitea_admin/pdf into saqib 2026-06-10 19:33:39 +05:30
saqib mir fd0f8e3ec9 update the glyph 2026-06-10 19:33:27 +05:30
azeeee05 d2c429f047 done React: form field viewing (Widget annotations) with saving issues fixed 2026-06-10 19:29:11 +05:30
azeeee05 58b39b6780 React: form field viewing (Widget annotations) 2026-06-10 18:38:38 +05:30
Furqan-14 b0baf2a057 fix: updated .env 2026-06-10 15:30:29 +05:30
Furqan-14 42993cb839 feat: updated annotations 2026-06-10 15:22:34 +05:30
saqib mir 345f88c516 fix 2026-06-09 10:52:54 +05:30
Furqan-14 83e18fff6f feat: implemented export and wasm rendering 2026-06-09 10:39:45 +05:30
saqib mir 6e987bb7e9 phase2 2026-06-09 10:35:12 +05:30
Furqan-14 5408540847 Merge branch 'dev' of https://gitea.maskantech.in/gitea_admin/pdf into furqan 2026-06-08 16:54:28 +05:30
Furqan-14 5d366132ef feat: page deletion, redaction and page rotation 2026-06-08 16:53:02 +05:30