Skip to content

Support extensions triggering file import#2285

Open
mescanne wants to merge 1 commit into
beancount:mainfrom
mescanne:feature/import-extract-hash
Open

Support extensions triggering file import#2285
mescanne wants to merge 1 commit into
beancount:mainfrom
mescanne:feature/import-extract-hash

Conversation

@mescanne

Copy link
Copy Markdown

This functionality enables extensions to trigger a normal file import process. (for reference - https://github.com/mescanne/beancount-blue)

Background:
I'm building an extension to enable API-driven sync and imports. I'm using the standard Beancount and Fava file import pattern (where files contain configuration and do not move) and would like to leverage Fava's normal import process, but not import screen. Another PR will be raised to cover bulk importing.

Implementation:

  • Adds a globally hoisted <GlobalExtract> modal that triggers on the URL hash pattern #extract?filename=...&importer=....
  • The loading state is delegated to Fava's global loading_state.await(), keeping the PR focused and inheriting generic UI loading enhancements natively.

Let me know of any questions or feedback!

Thanks

@mescanne mescanne force-pushed the feature/import-extract-hash branch from 29e7742 to f754dc7 Compare May 31, 2026 13:33
Adds a globally hoisted `<GlobalExtract>` modal that triggers on the URL hash
pattern `#extract?filename=...&importer=...`. This allows third-party extensions
to trigger Fava's native ML extraction and `ExtractFeed` review UI as a pure
overlay without navigating away from their current dashboard context.

The loading state is delegated to Fava's global `loading_state.await()`,
keeping the PR focused and inheriting generic UI loading enhancements natively.
@mescanne mescanne force-pushed the feature/import-extract-hash branch from f754dc7 to 7cf0884 Compare May 31, 2026 13:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant