Skip to content

Fulgur v0.8.0

Choose a tag to compare

@github-actions github-actions released this 02 Jun 08:05

This version focuses on improving the file sharing with Fulgurant and supporting its newer API, and on code quality.

New features & functional improvements

  • Multiple server profiles. Fulgur sync is no longer tied to a single Fulgurant server. You can now configure several server profiles, each with its own credentials and device, and manage them from a dedicated add/edit form in Settings.
  • Per-server connections. Each configured profile maintains its own SSE connection, so live updates arrive independently per server.
  • Multi-profile sharing. The share sheet now lets picking devices across all the configured profiles, so a single file can be shared to devices registered on different servers.
  • Aggregated sync status in the status bar. The status bar combines the sync state of every active profile into a single indicator, with a tooltip breaking down the status per server.
  • Developer mode. A development-specific user profile tied with the debug target avoids messing up with the actual production user profile.

Performance & technical improvements

  • Begin-share fetches for the v2 sync API now run in parallel using scoped threads, reducing the time to establish a sync session. Requires Fulgurant v0.7.0+.
  • The SSE stream uses a dedicated long-timeout agent and an absolute read deadline. This stops the repeated ~10s connection churn seen previously and lets Fulgur reliably detect dead connections.
  • Sync now uses the v2 begin-connection API, with an automatic fallback to the legacy v1 API for older servers. Requires Fulgurant v0.7.0+.
  • The file-watcher event channel is now bounded to avoid unbounded memory growth under heavy filesystem activity.
  • Token refresh timeout handling was improved for more reliable session renewal.
  • Minimum supported Rust version raised to 1.95.0.
  • Bumped all the dependencies to their latest revisions, including the GPUI / gpui-component stack.
  • Implementation in progress for the pedantic support of cargo clippy.

Security

  • Opening files now rejects non-file URL schemes, preventing unexpected handling of remote or non-local URLs.
  • The keyring dependency was replaced with keyring-core for system keychain access.

Bug fixes

  • Received tabs now detect their language from content when restored, so syntax highlighting is correct for files arriving via sync.
  • The Markdown preview tab now preserves its scroll position when switching between tabs.
  • Restored external (custom-registered) language imports that had been accidentally disabled.
  • Fixed a formatting issue specific to Windows, alongside Windows- and Linux-specific lint and code-quality fixes.