Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 0 additions & 27 deletions .changeset/one-prompt-not-a-thousand.md

This file was deleted.

28 changes: 28 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,33 @@
# fiber

## 0.16.1

### Patch Changes

- [#97](https://github.com/MathiasWP/fiber/pull/97) [`a2b9a8c`](https://github.com/MathiasWP/fiber/commit/a2b9a8c7964d03865f51883b1595a772d274145a) Thanks [@AndersRobstad](https://github.com/AndersRobstad)! - A collection the API is rejecting no longer re-runs its loader every time you
click back into the window, and editing one no longer reaches for the keychain.

Between them those two made the app unusable after an update. Fiber is signed
ad-hoc, so a new build is a new identity and every keychain item's access list
names the old one: for one launch after every update, each credential read is a
macOS authorization dialog. That is the intended cost, and it should be one
dialog per credential.

It was not, because a failed loader run writes no cache. `loadedAt` never moved,
so the collection stayed stale and the focus trigger re-ran it — and the
authorization dialog is itself a focus event, handing the window back the moment
it is dismissed. Allow, refocus, re-run, prompt again, for as long as the
credential is being refused. A failure now counts as an attempt, so the TTL
means the same thing for both outcomes: don't ask this API again for another
`ttlSeconds`. Refresh and Sign in again are unaffected — those are you asking.

The second one arrived with the credentials file in 0.15.0. Saving a section
reconciled that file, and reconciling it means unsealing it, and unsealing it
means reading the sealing key from the keychain. Fiber saves a section on any
edit, so renaming a request could raise a password prompt. It is now reconciled
only when sharing itself moves — the switch, or which credential the collection
uses — which is what it was always for.

## 0.16.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "fiber",
"private": true,
"version": "0.16.0",
"version": "0.16.1",
"type": "module",
"packageManager": "pnpm@11.22.0",
"engines": {
Expand Down
2 changes: 1 addition & 1 deletion src-tauri/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion src-tauri/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "fiber"
version = "0.16.0"
version = "0.16.1"
description = "A local-first API client"
authors = ["Mathias Picker"]
license = "MIT"
Expand Down
2 changes: 1 addition & 1 deletion src-tauri/tauri.conf.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "../node_modules/@tauri-apps/cli/config.schema.json",
"productName": "Fiber",
"version": "0.16.0",
"version": "0.16.1",
"identifier": "dev.fiber.app",
"build": {
"frontendDist": "../build",
Expand Down
Loading