Skip to content

refactor(core): introduce VaultContext and unify service layer#72

Merged
mors119 merged 1 commit into
FrilLab:mainfrom
mors119:refactor/core-cache
Jun 16, 2026
Merged

refactor(core): introduce VaultContext and unify service layer#72
mors119 merged 1 commit into
FrilLab:mainfrom
mors119:refactor/core-cache

Conversation

@mors119

@mors119 mors119 commented Jun 16, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • migrate NoteService to VaultContext
  • remove direct repository injection
  • update tests to use VaultContext
  • prepare cache integration layer

Closes #25
Closes #26
Closes #23

Type of Change

  • feat
  • fix
  • docs
  • refactor
  • test
  • chore

Required

  • cargo check passes
  • cargo fmt --all --check passes
  • cargo clippy --workspace --all-targets -- -D warnings passes
  • cargo test passes

Checklist

  • Code builds successfully
  • Tests pass
  • Documentation updated

@coderabbitai

coderabbitai Bot commented Jun 16, 2026

Copy link
Copy Markdown

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 9a7b8d8d-9bcd-4dc5-a4a4-b16a913ec2f6

📥 Commits

Reviewing files that changed from the base of the PR and between f8b398d and dcdb5b1.

⛔ Files ignored due to path filters (2)
  • apps/vscode-extension/media/frilvault-line-note.svg is excluded by !**/*.svg
  • apps/vscode-extension/media/frilvault-symbol-note.svg is excluded by !**/*.svg
📒 Files selected for processing (50)
  • apps/frilvault-cli/src/app.rs
  • apps/frilvault-cli/src/cli/mod.rs
  • apps/frilvault-cli/src/cli/search.rs
  • apps/frilvault-cli/src/command/add.rs
  • apps/frilvault-cli/src/command/delete.rs
  • apps/frilvault-cli/src/command/doctor.rs
  • apps/frilvault-cli/src/command/list.rs
  • apps/frilvault-cli/src/command/repair.rs
  • apps/frilvault-cli/src/command/search.rs
  • apps/frilvault-cli/src/command/stats.rs
  • apps/frilvault-cli/src/command/update.rs
  • apps/frilvault-cli/src/main.rs
  • apps/frilvault-cli/src/output.rs
  • apps/frilvault-cli/src/tests.rs
  • apps/vscode-extension/package.json
  • apps/vscode-extension/src/core/cliClient.ts
  • apps/vscode-extension/src/core/nodeBridge.ts
  • apps/vscode-extension/src/extension.ts
  • apps/vscode-extension/src/features/add-note/cli.ts
  • apps/vscode-extension/src/features/add-note/command.ts
  • apps/vscode-extension/src/features/add-note/service.ts
  • apps/vscode-extension/src/features/decorations/decorator.ts
  • apps/vscode-extension/src/features/decorations/gutter.ts
  • apps/vscode-extension/src/features/decorations/provider.ts
  • apps/vscode-extension/src/features/decorations/service.ts
  • apps/vscode-extension/src/features/hover/hoverProvider.ts
  • apps/vscode-extension/src/features/notes-panel/provider.ts
  • apps/vscode-extension/src/features/notes-panel/service.ts
  • apps/vscode-extension/src/features/notes-panel/view.ts
  • apps/vscode-extension/src/features/search/command.ts
  • apps/vscode-extension/src/features/workspace/health.ts
  • apps/vscode-extension/src/features/workspace/stats.ts
  • apps/vscode-extension/src/test/extension.test.ts
  • apps/vscode-extension/src/types.ts
  • apps/vscode-extension/src/types/index.ts
  • apps/vscode-extension/src/utils/file.ts
  • apps/vscode-extension/src/utils/parser.ts
  • crates/frilvault-core/src/cache/vault_context.rs
  • crates/frilvault-core/src/note/dto/mod.rs
  • crates/frilvault-core/src/note/dto/note_view.rs
  • crates/frilvault-core/src/note/mod.rs
  • crates/frilvault-core/src/note/service.rs
  • crates/frilvault-core/src/tests/note_service_test.rs
  • crates/frilvault-core/src/tests/workspace_index_repository_test.rs
  • crates/frilvault-core/src/tests/yaml_repository_test.rs
  • crates/frilvault-core/src/workspace/service/workspace_service.rs
  • crates/frilvault-node/src/lib.rs
  • docs/ARCHITECTURE.md
  • docs/CURRENT_STATE.md
  • docs/ROADMAP.md
 ________________________________________________________________________
< OpenAI said I could be anything I wanted, so I became a code reviewer. >
 ------------------------------------------------------------------------
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai

coderabbitai Bot commented Jun 16, 2026

Copy link
Copy Markdown

Caution

Failed to replace (edit) comment. This is likely due to insufficient permissions or the comment being deleted.

Error details
{"name":"HttpError","status":500,"request":{"method":"PATCH","url":"https://api.github.com/repos/FrilLab/frilvault/issues/comments/4716186186","headers":{"accept":"application/vnd.github.v3+json","user-agent":"octokit.js/0.0.0-development octokit-core.js/7.0.6 Node.js/24","authorization":"token [REDACTED]","content-type":"application/json; charset=utf-8"},"body":{"body":"<!-- This is an auto-generated comment: summarize by coderabbit.ai -->\n<!-- review_stack_entry_start -->\n\n[![Review Change Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/FrilLab/frilvault/pull/72?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)\n\n<!-- review_stack_entry_end -->\n<!-- This is an auto-generated comment: review in progress by coderabbit.ai -->\n\n> [!NOTE]\n> Currently processing new changes in this PR. This may take a few minutes, please wait...\n> \n> <details>\n> <summary>⚙️ Run configuration</summary>\n> \n> **Configuration used**: defaults\n> \n> **Review profile**: CHILL\n> \n> **Plan**: Pro Plus\n> \n> **Run ID**: `9a7b8d8d-9bcd-4dc5-a4a4-b16a913ec2f6`\n> \n> </details>\n> \n> <details>\n> <summary>📥 Commits</summary>\n> \n> Reviewing files that changed from the base of the PR and between f8b398daff01c7037f26b004b4f2438faa6ced6c and dcdb5b1e36b6bd78299672818985da966edf7293.\n> \n> </details>\n> \n> <details>\n> <summary>⛔ Files ignored due to path filters (2)</summary>\n> \n> * `apps/vscode-extension/media/frilvault-line-note.svg` is excluded by `!**/*.svg`\n> * `apps/vscode-extension/media/frilvault-symbol-note.svg` is excluded by `!**/*.svg`\n> \n> </details>\n> \n> <details>\n> <summary>📒 Files selected for processing (50)</summary>\n> \n> * `apps/frilvault-cli/src/app.rs`\n> * `apps/frilvault-cli/src/cli/mod.rs`\n> * `apps/frilvault-cli/src/cli/search.rs`\n> * `apps/frilvault-cli/src/command/add.rs`\n> * `apps/frilvault-cli/src/command/delete.rs`\n> * `apps/frilvault-cli/src/command/doctor.rs`\n> * `apps/frilvault-cli/src/command/list.rs`\n> * `apps/frilvault-cli/src/command/repair.rs`\n> * `apps/frilvault-cli/src/command/search.rs`\n> * `apps/frilvault-cli/src/command/stats.rs`\n> * `apps/frilvault-cli/src/command/update.rs`\n> * `apps/frilvault-cli/src/main.rs`\n> * `apps/frilvault-cli/src/output.rs`\n> * `apps/frilvault-cli/src/tests.rs`\n> * `apps/vscode-extension/package.json`\n> * `apps/vscode-extension/src/core/cliClient.ts`\n> * `apps/vscode-extension/src/core/nodeBridge.ts`\n> * `apps/vscode-extension/src/extension.ts`\n> * `apps/vscode-extension/src/features/add-note/cli.ts`\n> * `apps/vscode-extension/src/features/add-note/command.ts`\n> * `apps/vscode-extension/src/features/add-note/service.ts`\n> * `apps/vscode-extension/src/features/decorations/decorator.ts`\n> * `apps/vscode-extension/src/features/decorations/gutter.ts`\n> * `apps/vscode-extension/src/features/decorations/provider.ts`\n> * `apps/vscode-extension/src/features/decorations/service.ts`\n> * `apps/vscode-extension/src/features/hover/hoverProvider.ts`\n> * `apps/vscode-extension/src/features/notes-panel/provider.ts`\n> * `apps/vscode-extension/src/features/notes-panel/service.ts`\n> * `apps/vscode-extension/src/features/notes-panel/view.ts`\n> * `apps/vscode-extension/src/features/search/command.ts`\n> * `apps/vscode-extension/src/features/workspace/health.ts`\n> * `apps/vscode-extension/src/features/workspace/stats.ts`\n> * `apps/vscode-extension/src/test/extension.test.ts`\n> * `apps/vscode-extension/src/types.ts`\n> * `apps/vscode-extension/src/types/index.ts`\n> * `apps/vscode-extension/src/utils/file.ts`\n> * `apps/vscode-extension/src/utils/parser.ts`\n> * `crates/frilvault-core/src/cache/vault_context.rs`\n> * `crates/frilvault-core/src/note/dto/mod.rs`\n> * `crates/frilvault-core/src/note/dto/note_view.rs`\n> * `crates/frilvault-core/src/note/mod.rs`\n> * `crates/frilvault-core/src/note/service.rs`\n> * `crates/frilvault-core/src/tests/note_service_test.rs`\n> * `crates/frilvault-core/src/tests/workspace_index_repository_test.rs`\n> * `crates/frilvault-core/src/tests/yaml_repository_test.rs`\n> * `crates/frilvault-core/src/workspace/service/workspace_service.rs`\n> * `crates/frilvault-node/src/lib.rs`\n> * `docs/ARCHITECTURE.md`\n> * `docs/CURRENT_STATE.md`\n> * `docs/ROADMAP.md`\n> \n> </details>\n> \n> ```ascii\n>  ___________________________________________________________________________________________________\n> < Test your software, or your users will. Test ruthlessly. Don't make your users find bugs for you. >\n>  ---------------------------------------------------------------------------------------------------\n>   \\\n>    \\   \\\n>         \\ /\\\n>         ( )\n>       .( o ).\n> ```\n\n<!-- end of auto-generated comment: review in progress by coderabbit.ai -->\n\n<!-- finishing_touch_checkbox_start -->\n\n<details>\n<summary>✨ Finishing Touches</summary>\n\n<details>\n<summary>🧪 Generate unit tests (beta)</summary>\n\n- [ ] <!-- {\"checkboxId\": \"f47ac10b-58cc-4372-a567-0e02b2c3d479\", \"radioGroupId\": \"utg-output-choice-group-unknown_comment_id\"} -->   Create PR with unit tests\n\n</details>\n\n</details>\n\n<!-- finishing_touch_checkbox_end -->\n<!-- tips_start -->\n\n---\n\nThanks for using [CodeRabbit](https://coderabbit.ai?utm_source=oss&utm_medium=github&utm_campaign=FrilLab/frilvault&utm_content=72)! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.\n\n<details>\n<summary>❤️ Share</summary>\n\n- [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)\n- [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)\n- [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)\n- [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)\n\n</details>\n\n\n<sub>Comment `@coderabbitai help` to get the list of available commands and usage tips.</sub>\n\n<!-- tips_end -->"},"request":{"retryCount":3,"signal":{},"retries":3,"retryAfter":16}}}

@mors119 mors119 merged commit cfc2f49 into FrilLab:main Jun 16, 2026
3 checks passed
@mors119 mors119 deleted the refactor/core-cache branch June 16, 2026 07:58
@mors119 mors119 self-assigned this Jun 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[EXTENSION] Hover Preview [EXTENSION] Gutter Decorations [EXTENSION] Add Note Command

1 participant