Skip to content

Resolve PR Conflicts#1

Merged
kodahhhhh merged 43 commits intomasterfrom
codex/resolve-pr-conflicts
Feb 27, 2026
Merged

Resolve PR Conflicts#1
kodahhhhh merged 43 commits intomasterfrom
codex/resolve-pr-conflicts

Conversation

@kodahhhhh
Copy link
Member

Resolve PR Conflicts

mehmetozguldev and others added 30 commits February 15, 2026 16:09
…thasdev#535)

* Improve large-file virtual scrolling performance
* Improve security hardening and auth flow
* Add auth, autocomplete, and extension validation tests
…ng + mimalloc + LTO (athasdev#532)

* fix memory leak, reduce I/O, parallelize extensions, add code splitting + mimalloc + LTO

- plug unbounded Map growth in app-store (lastBufferContent/historyDebounceTimers never cleared on buffer close)
- debounce saveSessionToStore so closing 10 tabs = 1 disk write instead of 10
- extensions load in parallel via Promise.allSettled instead of sequential await loop
- lazy-load 9 heavy components (terminal, sqlite viewer, diff viewer, PR viewer, image/pdf/web viewer, agent tab, external editor) + UpdateDialog
- add mimalloc as global allocator (~2x faster small allocs vs default Windows heap)
- add lto="thin" + codegen-units=1 for release builds (~5-8% runtime gain)

* Fix CI formatting and ignore local Claude settings

---------

Co-authored-by: Mehmet Özgül <mehmetozguldev@gmail.com>
Co-authored-by: Mehmet Ozgul <91568457+mehmetozguldev@users.noreply.github.com>
mehmetozguldev and others added 13 commits February 22, 2026 17:56
OpenCode is installed via `go install` which places the binary at
~/go/bin. Without searching Go and Cargo paths, agents installed
through these package managers would never be detected.
- Remove extensions/ directory (grammars, manifests, packages, registry)
- Remove legacy manifests from src/extensions/languages/manifests/
- Remove obsolete workflows (extensions-index, deploy) and scripts
- Update language-packager to fetch manifests from CDN instead of import.meta.glob
- Update extension-store to initialize language packager before loading
- Update diff highlighting hooks to use CDN URLs for parsers and queries
- Update full-extensions download URLs from packages/ to direct paths
Remove verbose CSS variable listing from rules, simplify contributing guide
Remove .editorconfig, .tool-versions, CHANGELOG.md, CODE_OF_CONDUCT.md, ROADMAP.md
Replace old workflows with unified ci.yml, update release workflow with ARM targets and docs deploy
Restructure docs from docs/app/ Next.js layout to flat docs/*.mdx files
Extensions validation now lives in the extensions repo
…conflicts

# Conflicts:
#	src-tauri/src/features/ai/acp/bridge.rs
#	src-tauri/src/features/ai/acp/client.rs
#	src-tauri/src/features/ai/acp/config.rs
#	src/features/ai/components/chat/ai-chat.tsx
#	src/features/ai/components/chat/chat-header.tsx
#	src/features/ai/components/chat/chat-messages.tsx
#	src/features/ai/components/messages/tool-call-display.tsx
#	src/features/ai/types/acp.ts
#	src/features/settings/store.ts
#	src/features/window/custom-title-bar.tsx
#	src/hooks/use-deep-link.ts
#	src/utils/acp-handler.ts
#	src/utils/ai-chat.ts
@coderabbitai
Copy link

coderabbitai bot commented Feb 27, 2026

Important

Review skipped

Too many files!

This PR contains 260 files, which is 110 over the limit of 150.

📥 Commits

Reviewing files that changed from the base of the PR and between cc17310 and e039c39.

⛔ Files ignored due to path filters (40)
  • Cargo.lock is excluded by !**/*.lock
  • bun.lock is excluded by !**/*.lock
  • docs/public/icon.png is excluded by !**/*.png
  • extensions/bash/parser.wasm is excluded by !**/*.wasm
  • extensions/c/parser.wasm is excluded by !**/*.wasm
  • extensions/c_sharp/parser.wasm is excluded by !**/*.wasm
  • extensions/cpp/parser.wasm is excluded by !**/*.wasm
  • extensions/css/parser.wasm is excluded by !**/*.wasm
  • extensions/dart/parser.wasm is excluded by !**/*.wasm
  • extensions/elisp/parser.wasm is excluded by !**/*.wasm
  • extensions/elixir/parser.wasm is excluded by !**/*.wasm
  • extensions/elm/parser.wasm is excluded by !**/*.wasm
  • extensions/embedded_template/parser.wasm is excluded by !**/*.wasm
  • extensions/go/parser.wasm is excluded by !**/*.wasm
  • extensions/html/parser.wasm is excluded by !**/*.wasm
  • extensions/java/parser.wasm is excluded by !**/*.wasm
  • extensions/javascript/parser.wasm is excluded by !**/*.wasm
  • extensions/json/parser.wasm is excluded by !**/*.wasm
  • extensions/kotlin/parser.wasm is excluded by !**/*.wasm
  • extensions/lua/parser.wasm is excluded by !**/*.wasm
  • extensions/objc/parser.wasm is excluded by !**/*.wasm
  • extensions/ocaml/parser.wasm is excluded by !**/*.wasm
  • extensions/packages/php/parsers/tree-sitter-php.wasm is excluded by !**/*.wasm
  • extensions/php/parser.wasm is excluded by !**/*.wasm
  • extensions/python/parser.wasm is excluded by !**/*.wasm
  • extensions/ql/parser.wasm is excluded by !**/*.wasm
  • extensions/rescript/parser.wasm is excluded by !**/*.wasm
  • extensions/ruby/parser.wasm is excluded by !**/*.wasm
  • extensions/rust/parser.wasm is excluded by !**/*.wasm
  • extensions/scala/parser.wasm is excluded by !**/*.wasm
  • extensions/solidity/parser.wasm is excluded by !**/*.wasm
  • extensions/swift/parser.wasm is excluded by !**/*.wasm
  • extensions/systemrdl/parser.wasm is excluded by !**/*.wasm
  • extensions/tlaplus/parser.wasm is excluded by !**/*.wasm
  • extensions/toml/parser.wasm is excluded by !**/*.wasm
  • extensions/tsx/parser.wasm is excluded by !**/*.wasm
  • extensions/typescript/parser.wasm is excluded by !**/*.wasm
  • extensions/vue/parser.wasm is excluded by !**/*.wasm
  • extensions/yaml/parser.wasm is excluded by !**/*.wasm
  • extensions/zig/parser.wasm is excluded by !**/*.wasm
📒 Files selected for processing (260)
  • .editorconfig
  • .github/PULL_REQUEST_TEMPLATE.md
  • .github/workflows/bun.yml
  • .github/workflows/ci.yml
  • .github/workflows/deploy.yml
  • .github/workflows/docs.yml
  • .github/workflows/extensions-index.yml
  • .github/workflows/release.yml
  • .github/workflows/sync-docs.yml
  • .gitignore
  • .rules
  • .tool-versions
  • .windsurfrules
  • CHANGELOG.md
  • CONTRIBUTING.md
  • CONTRIBUTOR_LICENSE_AND_FEEDBACK_AGREEMENT.md
  • Cargo.toml
  • README.md
  • ROADMAP.md
  • docs/.gitignore
  • docs/ai-agents.mdx
  • docs/ai-assistant.mdx
  • docs/ai-providers.mdx
  • docs/app/(docs)/[[...slug]]/page.tsx
  • docs/app/(docs)/layout.tsx
  • docs/app/api/search/route.ts
  • docs/app/global.css
  • docs/app/layout.tsx
  • docs/app/llms-full.txt/route.ts
  • docs/app/llms.txt/route.ts
  • docs/app/llms/docs/[[...slug]]/route.ts
  • docs/app/og/docs/[...slug]/route.tsx
  • docs/command-palette.mdx
  • docs/extension-development.mdx
  • docs/git-branches.mdx
  • docs/git-diff.mdx
  • docs/git-integration.mdx
  • docs/index.mdx
  • docs/installation.mdx
  • docs/keymaps.mdx
  • docs/lib/cn.ts
  • docs/lib/source.ts
  • docs/meta.json
  • docs/minimap.mdx
  • docs/next-env.d.ts
  • docs/next.config.ts
  • docs/package.json
  • docs/postcss.config.mjs
  • docs/project-tabs.mdx
  • docs/releasing.mdx
  • docs/setup-contributing/linux.mdx
  • docs/setup-contributing/macos.mdx
  • docs/setup-contributing/meta.json
  • docs/setup-contributing/windows.mdx
  • docs/source.config.ts
  • docs/terminal.mdx
  • docs/themes.mdx
  • docs/tsconfig.json
  • docs/workspaces.mdx
  • extensions/bash/extension.json
  • extensions/bash/highlights.scm
  • extensions/c/extension.json
  • extensions/c/highlights.scm
  • extensions/c_sharp/extension.json
  • extensions/c_sharp/highlights.scm
  • extensions/cpp/extension.json
  • extensions/cpp/highlights.scm
  • extensions/css/extension.json
  • extensions/css/highlights.scm
  • extensions/dart/extension.json
  • extensions/dart/highlights.scm
  • extensions/elisp/extension.json
  • extensions/elisp/highlights.scm
  • extensions/elixir/extension.json
  • extensions/elixir/highlights.scm
  • extensions/elm/extension.json
  • extensions/elm/highlights.scm
  • extensions/go/extension.json
  • extensions/go/highlights.scm
  • extensions/html/extension.json
  • extensions/html/highlights.scm
  • extensions/java/extension.json
  • extensions/java/highlights.scm
  • extensions/javascript/extension.json
  • extensions/javascript/highlights.scm
  • extensions/json/extension.json
  • extensions/json/highlights.scm
  • extensions/kotlin/extension.json
  • extensions/kotlin/highlights.scm
  • extensions/lua/extension.json
  • extensions/lua/highlights.scm
  • extensions/ocaml/extension.json
  • extensions/ocaml/highlights.scm
  • extensions/packages/css/extension.json
  • extensions/packages/go/build.sh
  • extensions/packages/go/extension.json
  • extensions/packages/html/extension.json
  • extensions/packages/lua/build.sh
  • extensions/packages/lua/extension.json
  • extensions/packages/markdown/build.sh
  • extensions/packages/markdown/extension.json
  • extensions/packages/php/build.sh
  • extensions/packages/php/build/index.js
  • extensions/packages/php/build/package.json
  • extensions/packages/php/extension.json
  • extensions/packages/php/queries/highlights.scm
  • extensions/packages/php/snippets.json
  • extensions/packages/rust/build.sh
  • extensions/packages/rust/extension.json
  • extensions/packages/toml/build.sh
  • extensions/packages/toml/extension.json
  • extensions/packages/web-core/BUILD.md
  • extensions/packages/web-core/build.sh
  • extensions/packages/web-core/extension.json
  • extensions/php/extension.json
  • extensions/php/highlights.scm
  • extensions/python/extension.json
  • extensions/python/highlights.scm
  • extensions/registry.json
  • extensions/ruby/extension.json
  • extensions/ruby/highlights.scm
  • extensions/rust/extension.json
  • extensions/rust/highlights.scm
  • extensions/scala/extension.json
  • extensions/scala/highlights.scm
  • extensions/swift/extension.json
  • extensions/swift/highlights.scm
  • extensions/toml/extension.json
  • extensions/toml/highlights.scm
  • extensions/tsx/extension.json
  • extensions/tsx/highlights.scm
  • extensions/typescript/extension.json
  • extensions/typescript/highlights.scm
  • extensions/vue/extension.json
  • extensions/vue/highlights.scm
  • extensions/yaml/extension.json
  • extensions/yaml/highlights.scm
  • extensions/zig/extension.json
  • extensions/zig/highlights.scm
  • package.json
  • scripts/build-extensions-index.ts
  • scripts/pre-release-check.ts
  • scripts/release.ts
  • src-tauri/Cargo.toml
  • src-tauri/capabilities/main.json
  • src-tauri/src/commands/ai/acp.rs
  • src-tauri/src/commands/ai/auth.rs
  • src-tauri/src/commands/ai/tokens.rs
  • src-tauri/src/commands/development/lsp.rs
  • src-tauri/src/commands/development/tools.rs
  • src-tauri/src/commands/extensions.rs
  • src-tauri/src/commands/ui/window.rs
  • src-tauri/src/commands/vcs/git/stash.rs
  • src-tauri/src/commands/vcs/git/status.rs
  • src-tauri/src/commands/vcs/github.rs
  • src-tauri/src/extensions/installer.rs
  • src-tauri/src/features/ai/acp/bridge.rs
  • src-tauri/src/features/ai/acp/client.rs
  • src-tauri/src/features/ai/acp/config.rs
  • src-tauri/src/features/ai/acp/types.rs
  • src-tauri/src/features/mod.rs
  • src-tauri/src/features/tools/installer.rs
  • src-tauri/src/features/tools/mod.rs
  • src-tauri/src/features/tools/registry.rs
  • src-tauri/src/lsp/client.rs
  • src-tauri/src/lsp/manager.rs
  • src-tauri/src/main.rs
  • src-tauri/src/menu.rs
  • src-tauri/src/secure_storage.rs
  • src-tauri/tauri.conf.json
  • src/App.tsx
  • src/extensions/core/providers/icon-theme-provider.ts
  • src/extensions/core/providers/theme-provider.ts
  • src/extensions/core/store.ts
  • src/extensions/languages/full-extensions.ts
  • src/extensions/languages/language-packager.ts
  • src/extensions/languages/manifests/bash.json
  • src/extensions/languages/manifests/c.json
  • src/extensions/languages/manifests/cpp.json
  • src/extensions/languages/manifests/csharp.json
  • src/extensions/languages/manifests/css.json
  • src/extensions/languages/manifests/dart.json
  • src/extensions/languages/manifests/elixir.json
  • src/extensions/languages/manifests/go.json
  • src/extensions/languages/manifests/html.json
  • src/extensions/languages/manifests/java.json
  • src/extensions/languages/manifests/json.json
  • src/extensions/languages/manifests/kotlin.json
  • src/extensions/languages/manifests/lua.json
  • src/extensions/languages/manifests/markdown.json
  • src/extensions/languages/manifests/ocaml.json
  • src/extensions/languages/manifests/python.json
  • src/extensions/languages/manifests/ruby.json
  • src/extensions/languages/manifests/rust.json
  • src/extensions/languages/manifests/scala.json
  • src/extensions/languages/manifests/solidity.json
  • src/extensions/languages/manifests/swift.json
  • src/extensions/languages/manifests/toml.json
  • src/extensions/languages/manifests/typescript.json
  • src/extensions/languages/manifests/vue.json
  • src/extensions/languages/manifests/yaml.json
  • src/extensions/languages/manifests/zig.json
  • src/extensions/loader/extension-loader.ts
  • src/extensions/registry/extension-registry.ts
  • src/extensions/registry/extension-store.ts
  • src/extensions/themes/builtin/vitesse.json
  • src/extensions/themes/theme-initializer.ts
  • src/extensions/themes/theme-loader.ts
  • src/extensions/types/extension-manifest.ts
  • src/features/ai/components/chat/ai-chat.tsx
  • src/features/ai/components/chat/chat-header.tsx
  • src/features/ai/components/chat/chat-message.tsx
  • src/features/ai/components/chat/chat-messages.tsx
  • src/features/ai/components/github-copilot-settings.tsx
  • src/features/ai/components/input/chat-input-bar.tsx
  • src/features/ai/components/mentions/file-mention-dropdown.tsx
  • src/features/ai/components/mentions/slash-command-dropdown.tsx
  • src/features/ai/components/messages/plan-block-display.tsx
  • src/features/ai/components/messages/plan-step-display.tsx
  • src/features/ai/components/selectors/chat-mode-selector.tsx
  • src/features/ai/components/selectors/context-selector.tsx
  • src/features/ai/components/selectors/model-selector-dropdown.tsx
  • src/features/ai/components/selectors/session-mode-selector.tsx
  • src/features/ai/components/selectors/unified-agent-selector.tsx
  • src/features/ai/store/store.ts
  • src/features/ai/store/types.ts
  • src/features/ai/types/acp.ts
  • src/features/ai/types/ai-chat.ts
  • src/features/command-bar/components/file-list-item.tsx
  • src/features/command-bar/hooks/use-file-loader.ts
  • src/features/database/providers/sqlite/components/context-menus.tsx
  • src/features/database/providers/sqlite/components/crud-modals.tsx
  • src/features/database/providers/sqlite/sqlite-viewer.tsx
  • src/features/database/providers/sqlite/stores/sqlite-store.ts
  • src/features/editor/completion/completion-dropdown.css
  • src/features/editor/completion/completion-dropdown.tsx
  • src/features/editor/components/code-editor.tsx
  • src/features/editor/components/debug/scroll-debug-overlay.tsx
  • src/features/editor/components/editor.tsx
  • src/features/editor/components/gutter/gutter.tsx
  • src/features/editor/components/layers/definition-link-layer.tsx
  • src/features/editor/components/layers/input-layer.tsx
  • src/features/editor/components/layers/search-highlight-layer.tsx
  • src/features/editor/components/layers/selection-layer.tsx
  • src/features/editor/components/stylesheet.tsx
  • src/features/editor/config/constants.ts
  • src/features/editor/extensions/builtin/syntax-highlighting.ts
  • src/features/editor/hooks/use-autocomplete.test.ts
  • src/features/editor/hooks/use-autocomplete.ts
  • src/features/editor/hooks/use-layout.ts
  • src/features/editor/hooks/use-lsp-integration.ts
  • src/features/editor/hooks/use-tokenizer.ts
  • src/features/editor/hooks/use-viewport-lines.ts
  • src/features/editor/lib/wasm-parser/extension-assets.ts
  • src/features/editor/lib/wasm-parser/loader.ts
  • src/features/editor/lsp/hover-tooltip.css
  • src/features/editor/lsp/hover-tooltip.tsx
  • src/features/editor/lsp/lsp-client.ts
  • src/features/editor/lsp/lsp-store.ts
  • src/features/editor/lsp/use-definition-link.ts

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch codex/resolve-pr-conflicts

Tip

Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs).
Share your feedback on Discord.


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.

@ColineApp ColineApp deleted a comment from cursor bot Feb 27, 2026
@kodahhhhh kodahhhhh merged commit 421f029 into master Feb 27, 2026
6 checks passed
Comment on lines +16 to +44
if: github.repository == 'athasdev/athas'
name: Bun — typecheck, lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest

- name: Cache Bun dependencies
uses: actions/cache@v4
with:
path: ~/.bun/install/cache
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lock') }}
restore-keys: |
${{ runner.os }}-bun-

- name: Install dependencies
run: bun install

- name: Run typecheck
run: bun typecheck

- name: Run biome check
run: bun check

rust:

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}

Copilot Autofix

AI 14 days ago

In general, the fix is to explicitly declare a minimal permissions: block in the workflow file so that the GITHUB_TOKEN used by the jobs is limited to the least privileges required. For CI workflows that only check out code, restore caches, install dependencies, and run checks, contents: read is typically sufficient; no write or admin scopes are needed.

The best way to fix this workflow without changing functionality is to add a root-level permissions: block setting contents: read. This applies to all jobs (bun and rust), since neither job performs write operations back to GitHub. Concretely, in .github/workflows/ci.yml, add:

permissions:
  contents: read

between the concurrency: section (line 10–12) and the jobs: section (line 14). No additional imports or definitions are required because this is pure workflow configuration. We do not need per-job permissions blocks unless different jobs require different scopes, which they do not here.


Suggested changeset 1
.github/workflows/ci.yml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -11,6 +11,9 @@
   group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
   cancel-in-progress: true
 
+permissions:
+  contents: read
+
 jobs:
   bun:
     if: github.repository == 'athasdev/athas'
EOF
@@ -11,6 +11,9 @@
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

permissions:
contents: read

jobs:
bun:
if: github.repository == 'athasdev/athas'
Copilot is powered by AI and may make mistakes. Always verify output.
Comment on lines +153 to +160
runs-on: ubuntu-latest
steps:
- name: Trigger docs rebuild on www
uses: peter-evans/repository-dispatch@v3
with:
token: ${{ secrets.WWW_DEPLOY_TOKEN }}
repository: athasdev/www
event-type: docs-updated

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {}

Copilot Autofix

AI 14 days ago

In general, the problem is fixed by explicitly declaring the least-privilege permissions needed for each job (or at the workflow root). For this workflow, publish-tauri already has permissions: contents: write, but deploy-docs has no permissions and therefore inherits potentially broad defaults. Since deploy-docs only triggers a repository-dispatch event on another repository using a custom token and does not appear to need any repository access via GITHUB_TOKEN, we can safely lock GITHUB_TOKEN down to contents: read (or even permissions: {}; however, contents: read matches common minimal guidance).

The best minimal, non-breaking fix is to add a permissions block under the deploy-docs job definition (around line 152–153) with read-only contents access. No imports or additional methods are required since this is just a YAML configuration change in .github/workflows/release.yml.

Concretely:

  • Edit .github/workflows/release.yml.
  • Under jobs: deploy-docs:, add:
    permissions:
      contents: read
  • Leave the rest of the job steps unchanged.

Suggested changeset 1
.github/workflows/release.yml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -150,6 +150,8 @@
           args: ${{ matrix.args }}
 
   deploy-docs:
+    permissions:
+      contents: read
     runs-on: ubuntu-latest
     steps:
       - name: Trigger docs rebuild on www
EOF
@@ -150,6 +150,8 @@
args: ${{ matrix.args }}

deploy-docs:
permissions:
contents: read
runs-on: ubuntu-latest
steps:
- name: Trigger docs rebuild on www
Copilot is powered by AI and may make mistakes. Always verify output.
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.

3 participants