Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
740 commits
Select commit Hold shift + click to select a range
7ab4852
pdfrx_coregraphics: dest handling update
espresso3389 Oct 24, 2025
4c86697
Add PdfDocumentRefByLoader
espresso3389 Oct 24, 2025
66b6cd0
FIXED: pdfrx_coregraphics could not handle some dests correctly
espresso3389 Oct 24, 2025
07d9592
WIP: reverting example's project files
espresso3389 Oct 24, 2025
7c7e59c
Release pdfrx_coregraphics v0.1.5
espresso3389 Oct 24, 2025
a0afe31
Add configurable timeout parameter to openUri/pdfDocumentFromUri
Oct 24, 2025
740d984
Add missing implementations.
espresso3389 Oct 24, 2025
465e88a
Merge pull request #509 from gunnarmagholder/feature/configurable-htt…
espresso3389 Oct 24, 2025
a3e8519
Release pdfrx_engine v0.2.3, pdfrx v2.2.6, and pdfrx_coregraphics v0.1.6
espresso3389 Oct 24, 2025
ad2b403
#508: PdfViewer.uri supports timeout
espresso3389 Oct 24, 2025
8d010ac
Release pdfrx v2.2.7
espresso3389 Oct 24, 2025
7f38ba1
FIXED: The type parameter 'T' shadows a type parameter from the enclo…
espresso3389 Oct 24, 2025
cb66b1d
Document updates
espresso3389 Oct 24, 2025
4ecc0ce
WIP
espresso3389 Oct 24, 2025
24b463f
Enable Windows ARM64 build test (just for testing) Rel: #388
espresso3389 Oct 27, 2025
8208544
WIP: arm64 windows config.
espresso3389 Oct 27, 2025
1489afb
Bump actions/upload-artifact from 4.6.2 to 5.0.0
dependabot[bot] Oct 27, 2025
c2736c1
Merge pull request #511 from espresso3389/dependabot/github_actions/a…
espresso3389 Oct 27, 2025
1e20020
Bump actions/download-artifact from 5.0.0 to 6.0.0
dependabot[bot] Oct 27, 2025
f1c1dad
Merge pull request #512 from espresso3389/dependabot/github_actions/a…
espresso3389 Oct 27, 2025
e4af566
WIP
espresso3389 Oct 27, 2025
7b72e64
Don't import native implementation.
espresso3389 Oct 27, 2025
6f3949e
WIP
espresso3389 Oct 27, 2025
7ea0d5a
WIP: introducing PdfPageRange (not finished)
espresso3389 Oct 27, 2025
2c4ca34
fix for _goToXXX is initiated by non-user action not working for page…
enhancient Oct 27, 2025
151de17
WIP: reorganize PdfPageLayout classes
espresso3389 Oct 28, 2025
cba3a6b
WIP
espresso3389 Oct 28, 2025
f4b79e6
WIP
espresso3389 Oct 28, 2025
55090e3
fix page snap issue + improve discrete boundary calculation
enhancient Oct 29, 2025
c89aba9
Merge remote-tracking branch 'enhancient/layout-enhancements-discrete…
espresso3389 Oct 29, 2025
8efde58
WIP
espresso3389 Oct 29, 2025
02437e6
Add more PDFium functions to pdfium_bindings.dart
espresso3389 Oct 29, 2025
0b3fa8f
WIP
espresso3389 Oct 29, 2025
4acc79a
PdfDocument now supports page re-arragement and even accepts PdfPage …
espresso3389 Oct 30, 2025
084b9f7
Add pdf_combine app example.
espresso3389 Oct 30, 2025
c5d3ef5
Release pdfrx v2.2.8, pdfrx_engine v0.2.4, and pdfrx_coregraphics v0.1.7
espresso3389 Oct 30, 2025
b3a4901
Update documentation to reflect PDF manipulation and editing features
espresso3389 Oct 30, 2025
79f2dbe
Add comprehensive PDF Page Manipulation documentation
espresso3389 Oct 30, 2025
baafe0d
Document assemble() function for PDF page manipulation
espresso3389 Oct 30, 2025
e83fb4a
Doc updates.
espresso3389 Oct 30, 2025
eda7b07
Implement PdfDocument.createNew for all backends including WASM
espresso3389 Oct 30, 2025
954d9d8
WIP
espresso3389 Oct 31, 2025
45ac7ba
PDF combine examples now uses PdfDocument.createNew
espresso3389 Oct 31, 2025
2fb768d
Add simple mechanism to localize GUI texts.
espresso3389 Oct 31, 2025
ec6d3c6
WIP margin improvements and preserve zoom and position on rotation
enhancient Oct 31, 2025
af80fd0
Text flow analysis should be done in the original coordinate.
espresso3389 Oct 31, 2025
d853f2c
Supports page rotation
espresso3389 Oct 31, 2025
18924c6
WIP
espresso3389 Oct 31, 2025
a5dc878
WIP
espresso3389 Oct 31, 2025
dbc97a0
pdfrx_engine file structure refactoring
espresso3389 Oct 31, 2025
06cc40c
WIP
espresso3389 Oct 31, 2025
44dafe4
WIP
espresso3389 Oct 31, 2025
9a9d007
WIP - simplify zoom in several _calc functions
enhancient Oct 31, 2025
30f0fb7
minScale - pageTransition.discrete set to _fitScale
enhancient Oct 31, 2025
b769117
remove async Future.microtask in _updateLayout to improve performance…
enhancient Nov 1, 2025
d696419
remove debug and testing flags
enhancient Nov 1, 2025
ec2072f
pdf_combine now supports drag-and-drop of platform's files
espresso3389 Nov 1, 2025
95d4b59
WIP
espresso3389 Nov 2, 2025
7e76cb9
WIP
espresso3389 Nov 2, 2025
393b853
Now pdfrx supports imports of images
espresso3389 Nov 2, 2025
26e9420
Doc updates
espresso3389 Nov 2, 2025
3f27e82
WIP
espresso3389 Nov 2, 2025
31ec28b
WIP
espresso3389 Nov 2, 2025
32d7af4
chromium/7390 ->chromium/7506
espresso3389 Nov 3, 2025
70fb388
Add _setTextSelection; it should be a member of PdfTextSelectionDeleg…
espresso3389 Nov 3, 2025
cf86449
WIP
espresso3389 Nov 3, 2025
ac3cb58
Update github-pages.yml to upload more examples
espresso3389 Nov 3, 2025
cfd828c
pdf_combine show generated PDF on another tab
espresso3389 Nov 4, 2025
0cb4a28
WIP
espresso3389 Nov 4, 2025
cd9de0b
WIP
espresso3389 Nov 4, 2025
e909af0
WIP: PdfDocument.createFromImage is superseded by PdfDocument.createF…
espresso3389 Nov 4, 2025
8d6375b
WIP
espresso3389 Nov 4, 2025
f738a92
WIP
espresso3389 Nov 4, 2025
6638b5c
Add _jpegEncodeAsync
espresso3389 Nov 4, 2025
7f3289a
WIP
espresso3389 Nov 4, 2025
2a6de67
WIP
espresso3389 Nov 4, 2025
b9b3a14
WIP
espresso3389 Nov 4, 2025
e247490
Add handleOffset to PdfTextSelectionParams
enhancient Nov 5, 2025
53401a6
Merge branch 'master' into layout-enhancements-discrete-transitions
enhancient Nov 5, 2025
1667567
Merge branch 'espresso3389:master' into guesscurrentpagenumber-enhanc…
enhancient Nov 5, 2025
655052f
Merge pull request #517 from enhancient/text-selection-handle-anchor
espresso3389 Nov 5, 2025
383ca82
#517: PdfTextSelectionParams: handleOffset -> calcSelectionHandleOffset
espresso3389 Nov 5, 2025
0a6e9c8
WIP
espresso3389 Nov 5, 2025
3b8660b
WIP
espresso3389 Nov 5, 2025
54aa5fb
Implement PdfiumFileAccess, PdfiumFileWrite
espresso3389 Nov 6, 2025
657f7a2
Update pdf_combine to run correctly on iOS/macOS
espresso3389 Nov 6, 2025
15e7a5b
#518: introduces PdfViewerKeyHandlerParams.enabled
espresso3389 Nov 7, 2025
c49d4c3
FIXED: command line/test codes on macOS should load dylib from the sp…
espresso3389 Nov 7, 2025
abe6f7d
WIP
espresso3389 Nov 7, 2025
2f28f18
pdfrx_engine example: main.dart -> pdf2image.dart
espresso3389 Nov 8, 2025
a4cb97f
WIP
espresso3389 Nov 8, 2025
eb03673
#520 Now pdfrx_binding imports all of available PDFium functions
espresso3389 Nov 9, 2025
d35d867
Now uses xcframework built by another project.
espresso3389 Nov 9, 2025
f31107f
Now CocoaPods works correctly.
espresso3389 Nov 9, 2025
93de47a
.pdfium_hash file to detect xcframework updates.
espresso3389 Nov 9, 2025
fb0c7d1
Now SwiftPM support works well
espresso3389 Nov 9, 2025
d202bdc
Add pdfium_dart package.
espresso3389 Nov 10, 2025
4a6b04a
Update pdfrx_engine to use pdfium_dart package
espresso3389 Nov 10, 2025
5e7c85f
Introduces pdfium_flutter
espresso3389 Nov 10, 2025
5596640
Document updates.
espresso3389 Nov 10, 2025
6099eb0
Merge remote-tracking branch 'origin/pdfium-dylib-xcframework'
espresso3389 Nov 10, 2025
81c1a2b
WIP: updating notes for pdfrx_engine and lower packages
espresso3389 Nov 10, 2025
b6a4679
WIP
espresso3389 Nov 10, 2025
736b73c
Magnifier enhancements to support customization
enhancient Nov 10, 2025
ef4d90b
Release pdfrx_engine v0.3.0
espresso3389 Nov 10, 2025
b34bd34
Release pdfrx v2.2.9 and pdfrx_coregraphics v0.1.8
espresso3389 Nov 10, 2025
18e3963
Merge pull request #507 from enhancient/guesscurrentpagenumber-enhanc…
espresso3389 Nov 10, 2025
4b8ff13
Merge pull request #523 from enhancient/magnifier-customization
espresso3389 Nov 10, 2025
21e3877
WIP: fixes for iOS/macOS builds
espresso3389 Nov 10, 2025
522182a
Release pdfium_dart v0.1.1, pdfium_flutter v0.1.1, pdfrx_engine v0.3.…
espresso3389 Nov 10, 2025
79fb469
PdfViewerScrollThumb sometime show `null`
espresso3389 Nov 10, 2025
d146339
Revert "Magnifier enhancements to support customization"
espresso3389 Nov 10, 2025
b963b22
Merge pull request #524 from espresso3389/revert-523-magnifier-custom…
espresso3389 Nov 10, 2025
af062eb
Bump actions/upload-artifact from 4 to 5
dependabot[bot] Nov 10, 2025
423db2a
Bump softprops/action-gh-release from 2.4.1 to 2.4.2
dependabot[bot] Nov 10, 2025
5e8c73e
Bump actions/download-artifact from 4 to 6
dependabot[bot] Nov 10, 2025
d4900ac
Merge pull request #525 from espresso3389/dependabot/github_actions/a…
espresso3389 Nov 10, 2025
c6b103f
Merge pull request #526 from espresso3389/dependabot/github_actions/s…
espresso3389 Nov 10, 2025
474b022
Merge pull request #527 from espresso3389/dependabot/github_actions/a…
espresso3389 Nov 10, 2025
f6614c3
Magnifier customization enhancements
enhancient Nov 11, 2025
941c2ab
#513 Introducing PdfTextSelection.textSelectionPointRange/PdfTextSele…
espresso3389 Nov 11, 2025
9e6ef83
Update document
espresso3389 Nov 11, 2025
b2c9b56
Merge branch 'master' into magnifier-customization-resubmit
espresso3389 Nov 11, 2025
7dc3894
Merge pull request #528 from enhancient/magnifier-customization-resubmit
espresso3389 Nov 11, 2025
72d6306
PdfViewerSelectionMagnifierParams.shouldBeShownForAnchor -> shouldSho…
espresso3389 Nov 11, 2025
9728d18
Update document.
espresso3389 Nov 11, 2025
33c9c22
Release pdfium_flutter v0.1.2
espresso3389 Nov 11, 2025
e56331c
Release pdfium_flutter v0.1.3
espresso3389 Nov 11, 2025
b3743fb
Release pdfium_flutter v0.1.4
espresso3389 Nov 11, 2025
1461393
Release pdfium_flutter v0.1.5
espresso3389 Nov 11, 2025
c2b85d7
Merge remote-tracking branch 'upstream/master' into layout-enhancemen…
enhancient Nov 12, 2025
11974d0
PDFium chromium/7520 and updates on shared module caching mechanism
espresso3389 Nov 12, 2025
be6db79
Update pdfrx:remove_darwin_pdfium_modules to correctly handle pdfium_…
espresso3389 Nov 12, 2025
6ad4f94
Release pdfium_dart v0.1.2, pdfium_flutter v0.1.6, and pdfrx_engine v…
espresso3389 Nov 12, 2025
f118597
WIP
espresso3389 Nov 12, 2025
1801b31
WIP
espresso3389 Nov 12, 2025
53e8f26
WIP: use shortened syntax for Allocator.allocate
espresso3389 Nov 13, 2025
cccbba2
WIP: update example viewer code
espresso3389 Nov 13, 2025
f12ffd3
Add PdfViewerController.localToDocument/documentToLocal
espresso3389 Nov 13, 2025
47bfac1
FIXED: #532
espresso3389 Nov 13, 2025
6070880
Anyway comment-out the magnifier control example
espresso3389 Nov 13, 2025
52eacb3
Release pdfrx_engine v0.3.3 and pdfrx v2.2.11
espresso3389 Nov 13, 2025
40ed41b
Update RELEASING.md to include all packages in monorepo
espresso3389 Nov 13, 2025
fd8088f
Merge remote-tracking branch 'origin/master' into layout-enhancements…
enhancient Nov 13, 2025
2a7b951
FIXED: #535
espresso3389 Nov 13, 2025
a6b48e8
FIXED: #535
espresso3389 Nov 13, 2025
16dfbc4
Release pdfrx v2.2.12
espresso3389 Nov 13, 2025
edaea66
Feature Request: Add loadingBuilder and errorBuilder to PdfDocumentVi…
espresso3389 Nov 13, 2025
54cd362
Add more comments.
espresso3389 Nov 13, 2025
6444947
Merge pull request #537 from espresso3389/espresso3389/PdfDocumentVie…
espresso3389 Nov 13, 2025
35041eb
FIXED: #540 wire _CanvasLinkPainter._handleTapUp to _handleGeneralTap
espresso3389 Nov 17, 2025
80ebbd8
Introduces PdfLinkHandlerParams.laidOverPageOverlays
espresso3389 Nov 17, 2025
c902086
FIX: update document reference comparison to use key for consistency
SlickSlime Nov 17, 2025
426f13f
Merge pull request #543 from SlickSlime/fix/re_render
espresso3389 Nov 17, 2025
d06822e
Update docs.
espresso3389 Nov 17, 2025
d586b57
#544: Treat empty PDF as a valid PDF to keep consistency with existin…
espresso3389 Nov 17, 2025
8240f1a
FIXED: #518 Focus.of -> Focus.maybeOf to not throw exceptions
espresso3389 Nov 17, 2025
808ef70
#515: PdfTextSearcher updates to deal with document changes
espresso3389 Nov 17, 2025
7406469
Release pdfrx v2.2.13
espresso3389 Nov 17, 2025
20cc1c9
Update text loading method to loadStructuredText
espresso3389 Nov 17, 2025
ea6ebdf
Fix page indexing for text selection example
espresso3389 Nov 17, 2025
6fb187b
DOCS: Fix API inconsistencies in documentation
espresso3389 Nov 17, 2025
44df633
WIP
espresso3389 Nov 17, 2025
49e57c6
Release pdfrx v2.2.14
espresso3389 Nov 17, 2025
b330f73
Merge remote-tracking branch 'origin/master' into layout-enhancements…
enhancient Nov 18, 2025
4dd492f
#518 The context to get focus is wrong.
espresso3389 Nov 18, 2025
8ea96e9
Release pdfrx v2.2.15
espresso3389 Nov 18, 2025
1eeff4c
Update .gitignore
espresso3389 Nov 18, 2025
5f09bb1
Removed: l10nDelegate
espresso3389 Nov 18, 2025
754cb04
Example: viewer now has search-web context menu
espresso3389 Nov 18, 2025
82e297f
WIP: consistency updates for _pages use
espresso3389 Nov 18, 2025
06d3525
- Introduces PdfPage helper functions to wait for page loaded.
espresso3389 Nov 18, 2025
27cf99d
PdfPageStatusChange now has page parameter to notify the new page.
espresso3389 Nov 18, 2025
f621e61
Remove API refs. from progressive loading doc.
espresso3389 Nov 18, 2025
814912d
Release pdfrx 2.2.16, pdfrx_engine 0.3.4, pdfrx_coregraphics 0.1.9
espresso3389 Nov 18, 2025
3464ac1
WIP
espresso3389 Nov 18, 2025
84a22b7
WIP: PdfViewer.network???
espresso3389 Nov 18, 2025
a0d296a
WIP
espresso3389 Nov 18, 2025
741e51a
WIP
espresso3389 Nov 18, 2025
0be0ee9
WIP
espresso3389 Nov 18, 2025
61a2954
Release pdfium_dart v0.1.3, pdfium_flutter v0.1.7, pdfrx_engine v0.3.5
espresso3389 Nov 18, 2025
18a4fd9
Update README.md files
espresso3389 Nov 18, 2025
37953b7
Throw PdfException rather than PlatformException
espresso3389 Nov 18, 2025
00847e5
feat: Enhanced PDF annotation support with comprehensive metadata ext…
bybabek Nov 19, 2025
6e2442d
fix: Remove Flutter dependency from PdfAnnotation class
bybabek Nov 19, 2025
eb9632a
T should be "Title" though it's actually Author
espresso3389 Nov 19, 2025
7eca71d
Merge pull request #546 from bybabek/feature/enhanced-pdf-annotation-…
espresso3389 Nov 19, 2025
6c631a0
Add PdfDateTime class for PDF date parsing.
espresso3389 Nov 19, 2025
589e806
_setZoom now properly set boundaryMargins
espresso3389 Nov 20, 2025
624fcd4
#547
espresso3389 Nov 20, 2025
606b39a
#538: Ctrl+wheel logic can be enabled on Web
espresso3389 Nov 20, 2025
c08e022
fix trackpad & wheel boundary issues on web
enhancient Nov 21, 2025
c6ad5ca
Merge pull request #548 from enhancient/fix/547
espresso3389 Nov 21, 2025
a51894e
PdfDateTime is now an extension type.
espresso3389 Nov 21, 2025
71f9187
Merge remote-tracking branch 'origin/master' into layout-enhancements…
enhancient Nov 22, 2025
6de1716
Bump actions/checkout from 5.0.0 to 6.0.0
dependabot[bot] Nov 24, 2025
082ab62
Merge pull request #552 from espresso3389/dependabot/github_actions/a…
espresso3389 Nov 24, 2025
e9fc23b
Bump softprops/action-gh-release from 2.4.2 to 2.5.0
dependabot[bot] Dec 1, 2025
041c7a3
Merge pull request #557 from espresso3389/dependabot/github_actions/s…
espresso3389 Dec 1, 2025
a946a4c
Bump actions/checkout from 6.0.0 to 6.0.1
dependabot[bot] Dec 8, 2025
8224fde
Bump actions/setup-java from 5.0.0 to 5.1.0
dependabot[bot] Dec 8, 2025
96628eb
Merge pull request #559 from espresso3389/dependabot/github_actions/a…
espresso3389 Dec 9, 2025
37091ca
Merge pull request #560 from espresso3389/dependabot/github_actions/a…
espresso3389 Dec 9, 2025
de1a3b8
Move dart_pubspec_licenses to dev_dependencies (#561).
espresso3389 Dec 9, 2025
1d2ed9e
Release pdfrx_engine v0.3.6
espresso3389 Dec 9, 2025
91bd9f5
Release pdfrx v2.2.17
espresso3389 Dec 9, 2025
a190ac8
Add .tmp/ to .gitignore
espresso3389 Dec 9, 2025
c045f91
Bump actions/upload-artifact from 5.0.0 to 6.0.0
dependabot[bot] Dec 15, 2025
e639589
Bump actions/download-artifact from 6 to 7
dependabot[bot] Dec 15, 2025
0588ed5
Merge pull request #565 from espresso3389/dependabot/github_actions/a…
espresso3389 Dec 15, 2025
03abcd2
Merge pull request #566 from espresso3389/dependabot/github_actions/a…
espresso3389 Dec 15, 2025
9d6fcf9
#563, #570 dart_pubspec_licenses 3.0.15 to make it compatible with Fl…
espresso3389 Dec 16, 2025
534cf26
Intentionally leave flutter_lints version open.
espresso3389 Dec 16, 2025
64a4960
Release pdfrx v2.2.18
espresso3389 Dec 16, 2025
adb4917
PdfPage "proxy" is not a public feature
espresso3389 Dec 24, 2025
409d173
Smooth scroll and zoom interactions (optional)
quaaantumdev Dec 30, 2025
75efb8c
WIP: adding PdfDocument.useNativeDocumentHandle/reloadPages
espresso3389 Jan 1, 2026
7320b1e
Update Gradle wrapper to version 8.12 and Android plugin to version 8…
espresso3389 Jan 1, 2026
2bd6aa2
Improved positioning and scaling with a pluggable size delegate
quaaantumdev Jan 2, 2026
5fd2ff8
Extracted zoom steps into it's own provider
quaaantumdev Jan 2, 2026
1ff49bf
FIXED: #550 round10BitFrac should not process Infinity or NaN
espresso3389 Jan 6, 2026
232f808
Update Gradle configuration and dependencies to improve performance a…
espresso3389 Jan 6, 2026
eb8a0d7
#567: Add isDirty flag to page image cache to not remove cache before…
espresso3389 Jan 6, 2026
4ab73d4
pdfium_flutter 0.1.8/pdfrx_engine 0.3.7/pdfrx_coregraphics 0.1.11/pdf…
espresso3389 Jan 6, 2026
f90c8d0
Re-organize AGENTS.md
espresso3389 Jan 6, 2026
a6ba837
Add note for tagging commits
espresso3389 Jan 6, 2026
7a7e299
FIXED: #553
espresso3389 Jan 7, 2026
eb9b1d7
pdfium_flutter 0.1.9/pdfrx 2.2.20/pdfrx_coregraphics 0.1.12
espresso3389 Jan 7, 2026
1322d1e
Introduces experimental PdfrxEntryFunctions.compute for #551
espresso3389 Jan 8, 2026
ccf33f1
Introduces PdfViewerParams.onDocumentLoadFinished (Related: #586)
espresso3389 Jan 9, 2026
d744135
pdfrx_engine 0.3.8/pdfrx 2.2.22/pdfrx_coregraphics 0.1.14
espresso3389 Jan 9, 2026
dde4da9
minor fixes
espresso3389 Jan 9, 2026
1ef3375
pdfrx 2.2.23/pdfrx_coregraphics 0.1.15
espresso3389 Jan 9, 2026
4952c80
Remove invalid versions from CHANGELOG
espresso3389 Jan 9, 2026
d7c5f06
Update documentation: Revise CLAUDE.md, enhance COMMANDS.md with shel…
espresso3389 Jan 10, 2026
4f48873
Refactor pdfium.dart: Remove unused native function lookup and clean …
espresso3389 Jan 10, 2026
8fa7ea9
Introduces PdfrxEntryFunctions.stopBackgroundWorker #184/#430
espresso3389 Jan 10, 2026
2c3364a
pdfrx_engine 0.3.9/pdfrx 2.2.24/pdfrx_coregraphics 0.1.16
espresso3389 Jan 10, 2026
a3c81db
Merge pull request #505 from enhancient/layout-enhancements-discrete-…
espresso3389 Jan 10, 2026
3409ebf
Merge branch 'feat-smooth-scroll-zoom' into work-pre-3.0
espresso3389 Jan 15, 2026
33f7f31
Merge branch 'feat-smooth-scroll-zoom' into feat-better-resizing
espresso3389 Jan 15, 2026
386d59d
Merge branch 'feat-better-resizing' into work-pre-3.0
espresso3389 Jan 15, 2026
71a89ef
Merge branch 'work-pre-3.0'
espresso3389 Jan 15, 2026
a4d138e
Doc updates/remove unused function
espresso3389 Jan 15, 2026
bc32d8c
WIP: updating docs for 2.3.0
espresso3389 Jan 15, 2026
368eba1
Added a smarter sizing strategy
quaaantumdev Jan 16, 2026
6613d46
Merge pull request #592 from quaaantumdev/feat-smart-sizing-strategy
espresso3389 Jan 16, 2026
b6cd596
Fixes internal imports not to use `pdfrx.dart` as much as possible; e…
espresso3389 Jan 17, 2026
a1a6da1
Fix minor typos
espresso3389 Jan 17, 2026
361a386
Merge branch 'master' into pdfrx-3.0
espresso3389 Jan 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
github:
- espresso3389
11 changes: 11 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Set update schedule for GitHub Actions
# https://docs.github.com/en/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot

version: 2
updates:

- package-ecosystem: "github-actions"
directory: "/"
schedule:
# Check for updates to GitHub Actions every week
interval: "weekly"
287 changes: 287 additions & 0 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,287 @@
name: Build Test

on:
push:
branches: [ master, main ]
paths-ignore:
- '**.md'
- 'doc/**'

pull_request:
branches: [ master, main ]
paths-ignore:
- '**.md'
- 'doc/**'
workflow_dispatch:
inputs:
build_android:
description: 'Build Android'
required: false
type: boolean
default: true
build_ios:
description: 'Build iOS'
required: false
type: boolean
default: true
build_macos:
description: 'Build macOS'
required: false
type: boolean
default: true
build_linux:
description: 'Build Linux'
required: false
type: boolean
default: true
build_linux_arm64:
description: 'Build Linux ARM64'
required: false
type: boolean
default: true
build_windows:
description: 'Build Windows'
required: false
type: boolean
default: true
build_windows_arm64:
description: 'Build Windows ARM64'
required: false
type: boolean
default: true
build_web:
description: 'Build Web'
required: false
type: boolean
default: true

jobs:
# Android build
android:
if: ${{ github.event_name != 'workflow_dispatch' || inputs.build_android }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1

- name: Setup Java
uses: actions/setup-java@f2beeb24e141e01a676f977032f5a29d81c9e27e # v5.1.0
with:
distribution: 'temurin'
java-version: '18'

- name: Setup Flutter
run: |
git clone https://github.com/flutter/flutter.git --depth 1 --branch stable ~/flutter
echo "$HOME/flutter/bin" >> $GITHUB_PATH
~/flutter/bin/flutter config --no-enable-linux-desktop
~/flutter/bin/flutter channel stable
~/flutter/bin/flutter doctor -v
yes | ~/flutter/bin/flutter doctor --android-licenses

- name: Install dependencies
working-directory: packages/pdfrx/example/viewer
run: flutter pub get

- name: Build App Bundle
working-directory: packages/pdfrx/example/viewer
run: flutter build apk --debug --verbose

# iOS build
ios:
if: ${{ github.event_name != 'workflow_dispatch' || inputs.build_ios }}
runs-on: macos-latest
strategy:
matrix:
package_manager: [cocoapods, swiftpm]
name: ios-${{ matrix.package_manager }}
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1

- name: Setup Flutter
run: |
git clone https://github.com/flutter/flutter.git --depth 1 --branch stable ~/flutter
echo "$HOME/flutter/bin" >> $GITHUB_PATH
~/flutter/bin/flutter config --no-enable-android --no-enable-macos-desktop
~/flutter/bin/flutter channel stable
~/flutter/bin/flutter doctor -v

- name: Configure package manager
run: |
if [ "${{ matrix.package_manager }}" = "swiftpm" ]; then
~/flutter/bin/flutter config --enable-swift-package-manager
else
~/flutter/bin/flutter config --no-enable-swift-package-manager
fi

- name: Install dependencies
working-directory: packages/pdfrx/example/viewer
run: flutter pub get

- name: Build iOS (no signing) - ${{ matrix.package_manager }}
working-directory: packages/pdfrx/example/viewer
run: flutter build ios --debug --no-codesign --verbose

# macOS build
macos:
if: ${{ github.event_name != 'workflow_dispatch' || inputs.build_macos }}
runs-on: macos-latest
strategy:
matrix:
package_manager: [cocoapods, swiftpm]
name: macos-${{ matrix.package_manager }}
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1

- name: Setup Flutter
run: |
git clone https://github.com/flutter/flutter.git --depth 1 --branch stable ~/flutter
echo "$HOME/flutter/bin" >> $GITHUB_PATH
~/flutter/bin/flutter config --no-enable-android --no-enable-ios
~/flutter/bin/flutter channel stable
~/flutter/bin/flutter doctor -v

- name: Configure package manager
run: |
if [ "${{ matrix.package_manager }}" = "swiftpm" ]; then
~/flutter/bin/flutter config --enable-swift-package-manager
else
~/flutter/bin/flutter config --no-enable-swift-package-manager
fi

- name: Install dependencies
working-directory: packages/pdfrx/example/viewer
run: flutter pub get

- name: Build macOS - ${{ matrix.package_manager }}
working-directory: packages/pdfrx/example/viewer
run: flutter build macos --debug --verbose

# Linux build
linux:
if: ${{ github.event_name != 'workflow_dispatch' || inputs.build_linux }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1

- name: Install Linux dependencies
run: |
sudo apt-get update -y
sudo apt-get install -y ninja-build libgtk-3-dev

- name: Setup Flutter
run: |
git clone https://github.com/flutter/flutter.git --depth 1 --branch stable ~/flutter
echo "$HOME/flutter/bin" >> $GITHUB_PATH
~/flutter/bin/flutter config --no-enable-android
~/flutter/bin/flutter channel stable
~/flutter/bin/flutter doctor -v

- name: Install dependencies
working-directory: packages/pdfrx/example/viewer
run: flutter pub get

- name: Build Linux
working-directory: packages/pdfrx/example/viewer
run: flutter build linux --debug --verbose

# Linux ARM64 build
linux-arm64:
if: ${{ github.event_name != 'workflow_dispatch' || inputs.build_linux_arm64 }}
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1

- name: Install Linux dependencies
run: |
sudo apt-get update -y
sudo apt-get install -y ninja-build libgtk-3-dev

- name: Setup Flutter
run: |
git clone https://github.com/flutter/flutter.git --depth 1 --branch stable ~/flutter
echo "$HOME/flutter/bin" >> $GITHUB_PATH
~/flutter/bin/flutter config --no-enable-android
~/flutter/bin/flutter channel stable
~/flutter/bin/flutter doctor -v

- name: Install dependencies
working-directory: packages/pdfrx/example/viewer
run: flutter pub get

- name: Build Linux
working-directory: packages/pdfrx/example/viewer
run: flutter build linux --debug --verbose

# Windows build
windows:
if: ${{ github.event_name != 'workflow_dispatch' || inputs.build_windows }}
runs-on: windows-latest
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1

- name: Setup Flutter
shell: pwsh
run: |
git clone https://github.com/flutter/flutter.git --depth 1 --branch stable C:\flutter
echo "C:\flutter\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
C:\flutter\bin\flutter.bat config --no-enable-android
C:\flutter\bin\flutter.bat channel stable
C:\flutter\bin\flutter.bat doctor -v

- name: Install dependencies
working-directory: packages/pdfrx/example/viewer
run: C:\flutter\bin\flutter.bat pub get

- name: Build Windows
working-directory: packages/pdfrx/example/viewer
run: C:\flutter\bin\flutter.bat build windows --debug --verbose

# Windows ARM64 build (requires ARM64 runner or cross-compilation)
windows-arm64:
if: ${{ github.event_name != 'workflow_dispatch' || inputs.build_windows_arm64 }}
runs-on: windows-11-arm
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1

- name: Setup Flutter (master branch for ARM64 support)
shell: pwsh
run: |
git clone https://github.com/flutter/flutter.git --depth 1 C:\flutter
echo "C:\flutter\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
C:\flutter\bin\flutter.bat config --no-enable-android
C:\flutter\bin\flutter.bat doctor -v

- name: Install dependencies
working-directory: packages/pdfrx/example/viewer
run: C:\flutter\bin\flutter.bat pub get

- name: Build Windows ARM64
working-directory: packages/pdfrx/example/viewer
run: C:\flutter\bin\flutter.bat build windows --debug --verbose

# Web build
web:
if: ${{ github.event_name != 'workflow_dispatch' || inputs.build_web }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1

- name: Setup Flutter
run: |
git clone https://github.com/flutter/flutter.git --depth 1 --branch stable ~/flutter
echo "$HOME/flutter/bin" >> $GITHUB_PATH
~/flutter/bin/flutter config --no-enable-android --no-enable-linux-desktop
~/flutter/bin/flutter channel stable
~/flutter/bin/flutter doctor -v

- name: Install dependencies
working-directory: packages/pdfrx/example/viewer
run: flutter pub get

- name: Build Web
working-directory: packages/pdfrx/example/viewer
run: flutter build web --verbose

- name: Build Web (WASM)
working-directory: packages/pdfrx/example/viewer
run: flutter build web --wasm --verbose
37 changes: 37 additions & 0 deletions .github/workflows/claude.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Claude Code

on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
issues:
types: [opened, assigned]
pull_request_review:
types: [submitted]

jobs:
claude:
if: |
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude') && contains(vars.CLAUDE_ALLOWED_USERS, github.event.comment.user.login)) ||
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude') && contains(vars.CLAUDE_ALLOWED_USERS, github.event.comment.user.login)) ||
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude') && contains(vars.CLAUDE_ALLOWED_USERS, github.event.review.user.login)) ||
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')) && contains(vars.CLAUDE_ALLOWED_USERS, github.event.issue.user.login))
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: read
issues: read
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
fetch-depth: 1

- name: Run Claude Code
id: claude
uses: anthropics/claude-code-action@beta
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}

Loading