github LinkoraApp/Linkora release-v0.17.0
0.17.0

17 hours ago

Linkora now runs on Web via Kotlin/Wasm and is currently experimental, try it out: https://linkora-app.netlify.app/ (scroll to bottom of this release notes for complete info)

If you use the sync-server, you must be on the latest version, v0.3.0 (at the time of writing this). Also, fill out this survey if you use sync-server, it'll give me insights on a possible rewrite in Rust with more solid syncing mechanisms and a couple more features beyond saving and syncing links.

From this release, all platform-specific artifacts are built via GitHub Actions.

What's New

  • A new proxy is available to route all your requests through it, built specifically for the web app and disabled by default on other platforms since there's only one public instance.
  • You can now resize the list pane in the collection screen (currently restricted to two boundaries) on desktop, web, Android tablets, or any large screen.
  • Added scrollbar support to Regular (and title-only) and grid layouts.
  • Replaced the default snackbar with a custom UI.

Internals

  • Collections Screen is now completely based on Material 3's adaptive-layout library, and the detail pane now uses its own navigation. I haven't migrated to Nav3 yet. There are a couple of limitations with the current Nav2, it basically binds the backstack with the NavHost and nested navigation becomes a mess. Had to do some workarounds. Once Nav3 is stable for KMP, I'll migrate eventually.
  • Preferences are now based on UDF principles instead of the global object approach it previously used. There wasn't a strong reason to migrate on its own, but web handles preferences differently than Android and desktop, and forcing it to work the old way would've been a mess. I needed a common ground that keeps things simple, so that's that.
  • All expect/actual definitions no longer directly reference the File object received from a specific platform since it isn't supported on web. It now uses either ByteArray or whatever works in the specific case.

Basically, a lot of things are refactored. Again.

State of the Web App

Linkora on web is not stable by any means. It runs fine on web itself, but the core component that handles the database isn't stable, primarily because of OPFS. This is already a known issue (https://sqlite.org/forum/info/58a377083cd24a). If there's any possible workaround, I'll implement it and put out a release.

Don't miss a new Linkora release

NewReleases is sending notifications on new releases.