Skip to content

Fix broken Obtainium deep links#14

Merged
gavyncaldwell merged 3 commits intomainfrom
fix/obtainium-deep-links
Mar 20, 2026
Merged

Fix broken Obtainium deep links#14
gavyncaldwell merged 3 commits intomainfrom
fix/obtainium-deep-links

Conversation

@gavyncaldwell
Copy link
Collaborator

Summary

  • Obtainium's App.fromJson hard-casts id, url, author, name as non-nullable Strings — missing or null fields crash with "type 'Null' is not a subtype of type 'String' in type cast"
  • Stored configs were missing id entirely, omitting author when empty, and including overrideSource: null
  • Fixed the seed parser to always include all required fields with defaults
  • Fixed link generation to backfill defaults at runtime for existing DB data (no re-seed needed)

Test plan

  • Deploy and verify Obtainium deep links open correctly on Android
  • Check apps with and without stored Obtainium configs
  • Verify F-Droid/IzzyOnDroid obtainium://add/ links still work

… script

- package.json license field: MIT → AGPL-3.0-only to match LICENSE file
- add aria-hidden to decorative SVGs (grid-layout-switcher, site-footer, apps filter)
- add role="presentation" to click interceptor divs (alternative-card, apps filter backdrop)
- add biome-ignore for intentional dangerouslySetInnerHTML (html-description)
- remove stale biome-ignore comments (apps/index, alternatives/index)
- remove unused loaderData param (search route head)
- rewrite cache-purge to use wrangler CLI with targeted key deletion
Obtainium's App.fromJson hard-casts id, url, author, and name as
non-nullable Strings. Our stored configs were missing id entirely,
omitting author when empty, and including overrideSource: null —
all of which crash the Dart type cast.

Always include all required fields with defaults in both the seed
parser and at link generation time (for existing DB data).
@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Mar 20, 2026

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
unclouded 8eaab57 Commit Preview URL

Branch Preview URL
Mar 20 2026, 10:18 PM

@gavyncaldwell gavyncaldwell merged commit d5e7537 into main Mar 20, 2026
2 checks passed
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