This repository was archived by the owner on May 13, 2026. It is now read-only.
Test CI skip behavior - #2
Closed
shiba4life wants to merge 1 commit into
Closed
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
shiba4life
added a commit
that referenced
this pull request
Apr 8, 2026
…s, UX improvements Closes the remaining gaps that prevented access control from being usable in practice. Fix #1/#7 — Batch apply defaults: - POST /api/sharing/apply-defaults — applies classification-based access policies to all approved schemas with unprotected fields - "Apply Default Policies" button in Sharing Overview when unprotected fields are detected, with warning banner explaining the exposure Fix #2 — Unsigned policy routes: - PUT /api/sharing/policy/{schema}/{field} — set field policy without signature (under /sharing/ scope, not /schema/ which is protected) - GET /api/sharing/policies/{schema} — get all field policies - API client: setFieldPolicy, getSchemaFieldPolicies, applyDefaultPolicies Fix #4 — Role prompt after invite acceptance: - After accepting an invite, UI switches to Contacts tab and auto-opens the new contact's Manage panel with role picker + audit - Message updated: "Accepted X — assign a role below" Fix #5 — Unprotected fields warning: - Sharing Overview shows yellow warning banner when unprotected fields > 0 - Explains "anyone you trust can see these" with one-click fix button - Distinguishes "no policies set" from "everything protected" Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
shiba4life
added a commit
that referenced
this pull request
Apr 8, 2026
…s, UX improvements (#257) Closes the remaining gaps that prevented access control from being usable in practice. Fix #1/#7 — Batch apply defaults: - POST /api/sharing/apply-defaults — applies classification-based access policies to all approved schemas with unprotected fields - "Apply Default Policies" button in Sharing Overview when unprotected fields are detected, with warning banner explaining the exposure Fix #2 — Unsigned policy routes: - PUT /api/sharing/policy/{schema}/{field} — set field policy without signature (under /sharing/ scope, not /schema/ which is protected) - GET /api/sharing/policies/{schema} — get all field policies - API client: setFieldPolicy, getSchemaFieldPolicies, applyDefaultPolicies Fix #4 — Role prompt after invite acceptance: - After accepting an invite, UI switches to Contacts tab and auto-opens the new contact's Manage panel with role picker + audit - Message updated: "Accepted X — assign a role below" Fix #5 — Unprotected fields warning: - Sharing Overview shows yellow warning banner when unprotected fields > 0 - Explains "anyone you trust can see these" with one-click fix button - Distinguishes "no policies set" from "everything protected" Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
shiba4life
added a commit
that referenced
this pull request
Apr 8, 2026
…tail Fix #1 — Better error messages: - "Discovery master key not configured" → "Email invites and link sharing require Exemem cloud backup. Enable in Settings." Fix #2 — Mark sent invites as accepted: - When accepting a reciprocal invite, marks the first pending sent invite as accepted in SentInviteStore Fix #4 — Mutual direction tracking: - accept_trust_invite checks if sender is already in contacts - If yes (reciprocal accept), sets direction to Mutual - Contact upsert now updates connected_at timestamp - Preserves existing roles on update (don't overwrite with empty map) Fix #6 — Descriptive names in audit: - AccessibleSchema now includes descriptive_name and total_fields - Users can see which schema is hidden and how many fields are filtered Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
shiba4life
added a commit
that referenced
this pull request
Apr 8, 2026
…tail (#260) Fix #1 — Better error messages: - "Discovery master key not configured" → "Email invites and link sharing require Exemem cloud backup. Enable in Settings." Fix #2 — Mark sent invites as accepted: - When accepting a reciprocal invite, marks the first pending sent invite as accepted in SentInviteStore Fix #4 — Mutual direction tracking: - accept_trust_invite checks if sender is already in contacts - If yes (reciprocal accept), sets direction to Mutual - Contact upsert now updates connected_at timestamp - Preserves existing roles on update (don't overwrite with empty map) Fix #6 — Descriptive names in audit: - AccessibleSchema now includes descriptive_name and total_fields - Users can see which schema is hidden and how many fields are filtered Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
shiba4life
added a commit
that referenced
this pull request
Apr 8, 2026
…ly, descriptive names Fix #1 — Mutual direction: accept_trust_invite now checks sent_invites store (not just contact book) to detect reciprocal accepts. If we have any sent invites, the incoming accept makes it mutual. Fix #2 — Sent invite nonce correlation: marks the most recent pending sent invite as accepted (reversed iteration to get latest first). Fix #3 — Re-apply defaults with force: apply_classification_defaults accepts a `force` parameter. POST /api/sharing/apply-defaults?force=true overwrites existing policies. UI and non-force calls preserved. Fix #4 — Remote query descriptive names: node-info endpoint now returns a `schemas` array with `{name, descriptive_name}` alongside the legacy `shared_schemas` string array. Remote Query UI shows descriptive names like "Meeting Notes" instead of hashes. Fix #5 — Auto-apply on approval: verified working. approve_schema() calls apply_classification_defaults after approval, which populates policies from field_data_classifications. Fix #6 — Email verification: code path verified end-to-end (routes → publisher → Lambda). Requires live Exemem deployment to test SES. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2 tasks
shiba4life
added a commit
that referenced
this pull request
Apr 15, 2026
…snack, restore Fixes 6 friction points from the second browser walkthrough: #2 Relationship dropdown overlapping tier text — wrapped in flex-wrap with shrink-0 so relationship + tier stack cleanly on narrow viewports instead of overlapping. #6 Me persona name button cursor — built-in personas now show cursor-not-allowed + reduced opacity instead of the default pointer, so the no-op click is visually signaled. #7 Detail pane scroll — added overflow-y-auto + max-h so the detail column scrolls independently instead of pushing the whole page. The persona list stays visible while you browse a long detail view. #8 Edge a/b readable labels — PersonaDetailBody builds a fpIndex (id → label) from the enriched fingerprints array and passes it to EdgeRows. Each edge row now renders "face · Photos:IMG_A_0 — face · Photos:IMG_A_3 · 1.00" instead of raw fp_6bc921… hashes. #9 Undo snackbar on ✂ exclude — every exclude (mention or edge) now shows a fixed-position "Excluded mention mn_5de… — Undo" toast at the bottom of the viewport. Auto-dismisses after 5 seconds. Clicking Undo fires the un-exclude patch and clears the snackbar. #10 Restore dismissed Failed records — resolve_ingestion_error now accepts { resolved: bool } in the PATCH body (defaults to true for backward compat). The IngestionErrorsPanel shows a "Restore" button on resolved rows (visible when "Show dismissed" is checked) that PATCHes resolved=false. The client's resolveIngestionError(id, resolved) signature gains the optional second arg. 31 vitest cases pass; cargo clippy clean.
3 tasks
shiba4life
added a commit
that referenced
this pull request
Apr 15, 2026
…snack, restore (#483) Fixes 6 friction points from the second browser walkthrough: #2 Relationship dropdown overlapping tier text — wrapped in flex-wrap with shrink-0 so relationship + tier stack cleanly on narrow viewports instead of overlapping. #6 Me persona name button cursor — built-in personas now show cursor-not-allowed + reduced opacity instead of the default pointer, so the no-op click is visually signaled. #7 Detail pane scroll — added overflow-y-auto + max-h so the detail column scrolls independently instead of pushing the whole page. The persona list stays visible while you browse a long detail view. #8 Edge a/b readable labels — PersonaDetailBody builds a fpIndex (id → label) from the enriched fingerprints array and passes it to EdgeRows. Each edge row now renders "face · Photos:IMG_A_0 — face · Photos:IMG_A_3 · 1.00" instead of raw fp_6bc921… hashes. #9 Undo snackbar on ✂ exclude — every exclude (mention or edge) now shows a fixed-position "Excluded mention mn_5de… — Undo" toast at the bottom of the viewport. Auto-dismisses after 5 seconds. Clicking Undo fires the un-exclude patch and clears the snackbar. #10 Restore dismissed Failed records — resolve_ingestion_error now accepts { resolved: bool } in the PATCH body (defaults to true for backward compat). The IngestionErrorsPanel shows a "Restore" button on resolved rows (visible when "Show dismissed" is checked) that PATCHes resolved=false. The client's resolveIngestionError(id, resolved) signature gains the optional second arg. 31 vitest cases pass; cargo clippy clean.
This was referenced Apr 18, 2026
This was referenced May 1, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Verify jobs skip gracefully with no code.