Commit graph

  • 9c8bafa42f 1.0.2 master 1.0.2 uppinote 2026-06-21 00:53:27 +0900
  • 8796c7fa46
    Merge pull request #113 from uppinote20/refactor/assert-never-helper uppinote 2026-06-20 20:07:31 +0900
  • 9c4c7b4f13 refactor: route exhaustiveness guards through assertNever test-sync handbook-sync uppinote 2026-06-20 20:03:34 +0900
  • 2181997e27 refactor(utils): add shared assertNever exhaustiveness helper uppinote 2026-06-20 20:03:34 +0900
  • 0ba8cea21a
    Merge pull request #112 from uppinote20/feat/cache-recent-setup-verification uppinote 2026-06-20 17:57:10 +0900
  • 831c69cba3 refactor(settings): throw on unknown credential type in fingerprint guard uppinote 2026-06-20 17:51:55 +0900
  • 7aa0934908 Avoid redundant setup probes after recent credential verification uppinote20 2026-06-12 12:38:29 +0900
  • 00e617c860
    Merge pull request #111 from uppinote20/test/field-mapper-parity uppinote 2026-06-20 17:39:40 +0900
  • 2f4f86a2c8 test(field-mapper): wire @tested markers to parity contract uppinote 2026-06-20 17:31:07 +0900
  • b07341701b test(field-mapper): add cross-provider parity contract uppinote20 2026-06-11 17:13:58 +0900
  • ec8a33f4f6 refactor(field-mapper): sort filename-safe types for deterministic output uppinote20 2026-06-11 17:13:46 +0900
  • c21869d131
    Merge pull request #109 from uppinote20/chore/typescript-5-upgrade uppinote 2026-06-20 16:02:09 +0900
  • ec222e056c Unblock modern TypeScript syntax in the toolchain uppinote20 2026-06-15 13:42:23 +0900
  • eebdc9d588
    Merge pull request #108 from uppinote20/fix/object-shaped-field-push-guard uppinote 2026-06-20 12:18:20 +0900
  • 28f61634f4 docs: clarify push-safety comments after isPushable migration uppinote 2026-06-20 11:43:58 +0900
  • 7aded2cda4 fix: base Supabase view-guard on writability, not pushability uppinote 2026-06-20 11:43:58 +0900
  • b4bd61854c Prevent frontmatter edits from overwriting structured remote fields uppinote20 2026-06-12 10:07:23 +0900
  • 856a1bc7a6
    Merge pull request #106 from uppinote20/chore/ci-node24-actions uppinote 2026-05-29 21:35:35 +0900
  • a9561d0325 ci(release): bump artifact and attest actions to Node 24 runtimes uppinote 2026-05-29 21:22:06 +0900
  • 0966d3586d 1.0.1 1.0.1 uppinote 2026-05-29 21:09:30 +0900
  • e60a463704
    Merge pull request #105 from uppinote20/chore/post-merge-cleanup uppinote 2026-05-29 20:14:36 +0900
  • 297d8f4ca1 style(main): trim cross-file reference from command-registry comment uppinote 2026-05-29 19:51:03 +0900
  • 2fbedbd24f test(seatable): cover fetchRecord 2xx path uppinote 2026-05-29 19:50:54 +0900
  • 60719579b4 fix(field-cache): accept full 2xx status range uppinote 2026-05-29 19:50:45 +0900
  • 5d5a719713 refactor: resolve eslint warnings in main and field-cache uppinote 2026-05-29 19:22:51 +0900
  • 2a073b0936 fix(seatable): accept full 2xx status range in client uppinote 2026-05-29 19:22:40 +0900
  • bba5e1d55b
    Merge pull request #104 from uppinote20/chore/scorecard-cleanup uppinote 2026-05-29 17:36:03 +0900
  • 73dc1140ea fix(release): SHA-pin checkout and setup-node actions uppinote 2026-05-29 16:25:11 +0900
  • 6a18091d9a chore(seatable): address PR review nits uppinote 2026-05-28 23:10:44 +0900
  • fcab899f1f fix(release): attest manifest.json + SHA-pin artifact actions uppinote 2026-05-28 23:10:26 +0900
  • a7ad79df7d fix(api-errors): guard extractApiErrorMessage against lazy json getter uppinote 2026-05-28 23:10:10 +0900
  • 0f191b0afa test(seatable): cover Accept header and clearForCred race fix uppinote 2026-05-28 22:34:46 +0900
  • 7245a549ef docs(readme): correct vault API disclosure list uppinote 2026-05-28 07:47:08 +0900
  • 61eeb7e7fc fix(css): bump ani-field-error specificity to (0,3,0) uppinote 2026-05-28 07:46:56 +0900
  • 5c87c3e0d0 fix(seatable): harden metadata cache for proxies and older Obsidian uppinote 2026-05-28 07:46:43 +0900
  • bf5feec8a4 fix(release): harden workflow against supply chain attacks uppinote 2026-05-28 07:46:20 +0900
  • 9e99cf043d docs: disclose permissions and network surfaces uppinote 2026-05-27 14:54:14 +0900
  • 3d5132356d ci(release): attest build provenance for main.js and styles.css uppinote 2026-05-27 14:52:52 +0900
  • df0590e8e7 refactor(seatable): use Obsidian requestUrl for metadata cache uppinote 2026-05-27 14:51:43 +0900
  • e363253371 chore: address community scorecard warnings (manifest, build, css) uppinote 2026-05-27 14:50:11 +0900
  • 0e7f15aedb 1.0.0 1.0.0 uppinote 2026-05-27 11:08:20 +0900
  • 55228085a0
    Merge pull request #100 from uppinote20/feature/issue-98-subfolder-mapper-policy uppinote 2026-05-27 10:52:04 +0900
  • 1e0dbd87ab docs(supabase): clarify json/jsonb comment vs OBJECT_SHAPED_TYPES (#98) uppinote 2026-05-27 09:29:20 +0900
  • 7e47f445f7 fix: supabase isReadOnly prototype-leak + exhaustive-guard TS comment (#98) uppinote 2026-05-27 03:17:36 +0900
  • 832b5884eb fix(ui): filename stale guard, fail-closed switch, double-count, gen guard (#98) uppinote 2026-05-27 02:24:07 +0900
  • 26d1c50768 fix: determineFolderPath runtime guard against object-shaped values (#98) uppinote 2026-05-27 02:23:56 +0900
  • 6372c74f6b fix: deeper isSubfolderSafe / isReadOnly hardening (#98) uppinote 2026-05-27 02:23:51 +0900
  • 9d3911240f fix(ui): supabase hasFieldTypeMapper guard + mode-specific hint text (#98) uppinote 2026-05-27 01:42:33 +0900
  • 851e01f189 fix(ui): stale subfolder value guard + exhaustive filterMode (#98) uppinote 2026-05-27 01:32:10 +0900
  • fdfb5b56ac fix: harden isSubfolderSafe — exclude attachment/link, no prototype leak (#98) uppinote 2026-05-27 01:31:47 +0900
  • b0a33a3ab4 feat(ui): wire subfolder dropdown to isSubfolderSafe filter (#98) uppinote 2026-05-27 01:13:23 +0900
  • 7daed5bfde feat: add isSubfolderSafe / getSubfolderSafeTypes to FieldTypeMapper (#98) uppinote 2026-05-27 01:13:18 +0900
  • ce21b10744
    Merge pull request #99 from uppinote20/hotfix/release-workflow-tag-filter uppinote 2026-05-27 01:01:13 +0900
  • 6e6ae8ff30 chore(github): add CODEOWNERS, PR template, issue templates uppinote 2026-05-27 00:42:59 +0900
  • 5e431d805e chore(ci): bump GitHub Action versions to v6 uppinote 2026-05-27 00:42:51 +0900
  • a4e41658b5 fix(ci): restrict release workflow trigger to semver tags uppinote 2026-05-26 23:14:36 +0900
  • 8f49e00160
    Merge pull request #97 from uppinote20/feature/issue-96-subfolder-slash-toggle uppinote 2026-05-26 23:04:09 +0900
  • 4e5f291b5d test(e2e): add subfolder slash toggle UI tests (#96) uppinote 2026-05-26 22:11:27 +0900
  • 512386fc15 fix(ui): shorten subfolder slash toggle description (#96) uppinote 2026-05-26 21:45:18 +0900
  • e624950edb chore(tests): align ConfigEntry fixtures with current shape (#96) uppinote 2026-05-26 20:58:11 +0900
  • 26f3797bd8 fix: hydrate legacy ConfigEntry fields on settings load (#96) uppinote 2026-05-26 20:57:57 +0900
  • 4e42f62e9a fix: reject bare dot segments in literal-mode subfolder values (#96) uppinote 2026-05-26 20:57:39 +0900
  • fa2ab3cc25 docs: sync description with 0.11.0 (Airtable + SeaTable + Supabase) uppinote20 2026-05-26 16:54:43 +0900
  • 040e2de0e4 feat: add per-config toggle for subfolder slash literal (#96) uppinote 2026-05-26 02:00:44 +0900
  • d7d4a61fde 0.11.0 0.11.0 uppinote 2026-05-24 13:23:24 +0900
  • 6b7504b7fe
    Merge pull request #94 from uppinote20/chore/release-0.11.0-docs uppinote 2026-05-24 13:22:49 +0900
  • 58cb105c9f docs: match actual button label 'Test' in publishable-key flow (#94) uppinote 2026-05-24 13:15:33 +0900
  • 034ba6bfa5 docs: refresh README + CLAUDE.md for Supabase + inline RPC banner (0.11.0 prep) uppinote 2026-05-24 13:07:40 +0900
  • 85ad54d04a
    Merge pull request #92 from uppinote20/feature/issue-91-supabase-rpc-banner uppinote 2026-05-24 12:38:05 +0900
  • b7a805e5e7 refactor(settings-ui): renderSetupBannerForRequirement returns void (#91) uppinote 2026-05-24 12:29:58 +0900
  • b8ffe050d0 fix(e2e): escape nested backticks in scenario NOTE comments (#91) uppinote 2026-05-24 11:51:55 +0900
  • 417b205f32 fix(e2e): use host ref for bannerHost after renderRpcSetupBannerInForm void return (#91) claude[bot] 2026-05-24 02:45:36 +0000
  • 6f81fadc1e fix(settings-ui): Save button loading + drop redundant return value (#91) uppinote 2026-05-24 11:40:48 +0900
  • 2b84e900a4 fix(supabase): anchor isRpcMissingResponse on status + test cred label (#91) uppinote 2026-05-24 11:16:17 +0900
  • db234b5eb0 docs(e2e): document private-member access in #91 scenarios (#91) uppinote 2026-05-24 10:07:13 +0900
  • e69bfbd77a fix(settings-ui): stale banner cleanup + Test loading + textContent guard (#91) uppinote 2026-05-24 10:06:38 +0900
  • 1a76965e6d fix(supabase): verifySetup mirrors testConnection's 2-step probe (#91) uppinote 2026-05-24 10:05:01 +0900
  • 43ac0b1d0d docs: add e2e @tested marker for supabase-credential-form (#91) uppinote 2026-05-24 00:28:14 +0900
  • cfaff0a8ed test(supabase): cover RPC response safety + verifySetup detail (#91) uppinote 2026-05-24 00:25:57 +0900
  • 42c8b4c09b fix(supabase): harden RPC response parsing + verifySetup detail (#91) uppinote 2026-05-24 00:24:05 +0900
  • 87702ceec1 fix(settings-ui): harden form lifecycle + signal dispatch (#91) uppinote 2026-05-24 00:22:47 +0900
  • f6c1535f16 test(e2e): cover RPC banner state ↔ DOM integration (#91) uppinote 2026-05-24 00:05:22 +0900
  • 2912efc862 feat(settings-ui): auto-reset setup state on field input (#91) uppinote 2026-05-23 23:56:30 +0900
  • 16d4ac02d0 feat(settings-ui): wire Save button reference for setup gate (#91) uppinote 2026-05-23 23:55:27 +0900
  • 03a5361978 feat(settings-ui): block credential save on needsSetup (#91) uppinote 2026-05-23 23:54:43 +0900
  • 3a3552e68a feat(settings-ui): render inline RPC banner on testConnection (#91) uppinote 2026-05-23 23:53:45 +0900
  • efd047bd56 feat(settings-ui): scaffold form-scoped UI state (#91) uppinote 2026-05-23 23:51:44 +0900
  • 6fa63cbefd refactor(settings-ui): extract renderRpcSetupBannerCore helper (#91) uppinote 2026-05-23 23:50:32 +0900
  • 01e708d68c feat(supabase): add verifySetup method for save-time gating (#91) uppinote 2026-05-23 23:48:47 +0900
  • e0a38c62ab feat(supabase): testConnection emits needsSetup signal (#91) uppinote 2026-05-23 23:47:38 +0900
  • 4a9945146c feat(types): add needsSetup signal + verifySetup hook (#91) uppinote 2026-05-23 23:46:42 +0900
  • a62a1dabd4
    Merge pull request #90 from uppinote20/feature/issue-53-supabase-provider uppinote 2026-05-23 19:26:55 +0900
  • 32aaf8f65d refactor: drop redundant validateConfig call in updateRecord (#53) uppinote 2026-05-23 18:09:01 +0900
  • 50ebee5bc8 chore: trigger Claude Code Review workflow uppinote 2026-05-23 17:57:47 +0900
  • 0f26ff0e7a fix: reject composite primary keys for Supabase sync (#53) uppinote 2026-05-23 17:18:35 +0900
  • fd69f40501 test(supabase): cover RPC x-primary-key / x-table-type extension paths (#53) uppinote 2026-05-23 16:58:24 +0900
  • 64c503e6e4 docs: replace node -e require(.ts) with tsx + UI Copy SQL guidance (#53) uppinote 2026-05-23 13:58:30 +0900
  • 5e64648601 fix: address 15 findings from second-pass code review (#53) uppinote 2026-05-23 13:58:18 +0900
  • a8e195147a test(e2e): adapt duplicate scenario to spy pattern + RPC setup docs (#53) uppinote 2026-05-23 13:07:52 +0900
  • 9bc14a739b fix: type-aware coercion for Supabase upsert bodies (#53) uppinote 2026-05-23 13:07:35 +0900