Forgejo VS Code Extension
Browse Pull Requests, Issues, and Actions from Forgejo, Gitea, and Codeberg directly in VS Code.

Install
Install from VS Code Marketplace -- or search for "Forgejo Integration" in the Extensions panel (Ctrl+Shift+X).
Install from Open VSX -- for VSCodium and other compatible editors.
Quick Start
- Open a folder containing a Forgejo, Codeberg, or Gitea git repository
- Click the Forgejo icon in the Activity Bar (sidebar)
- Done! Your PRs and Issues appear automatically
For private repositories, add a Personal Access Token.
News
0.3.25
- Development version after the 0.3.24 release.
- Privacy & data info view (#146): added a "Forgejo: Show Privacy & Data Info" command and a Privacy & Data Handling README section documenting exactly what the extension stores and transmits.
- Correctness and safety audit (#246): authentication now validates supplied tokens and keeps instance configuration when signing out, local PR checkout/revert operations target the matching repository safely, detail refreshes are bounded and supersede stale requests, publishing preflights local state before creating a remote repository, and changed files/releases use deduplicated load-more pagination.
- Correctness audit review hardening (#246): credential migration now pairs each global, workspace, and resource-scoped folder token with the URL from that same scope, detail timelines retain their newest 50 entries across page boundaries, PR Git actions fetch advertised refs from the exact matching remote, Actions refreshes reject stale results, remote virtual documents refresh with credentials/repository state, and tracked-time loading is capped.
- Actions rerun and fork-diff identity (#246): workflow reruns now resolve repository-local run numbers instead of sending task IDs to the run endpoint, and fork pull request diffs fetch head-SHA content from the fork while keeping base content and review comments tied to the upstream PR repository.
- Status bar branch intelligence (#189): a status bar item now shows the active repository's branch, its linked open pull request and CI status, with click actions to open the pull request, drill into CI details, or create a pull request for the current branch. The item is event-driven (no polling), reflects the active repository in multi-root workspaces, and can be turned off with
forgejo.statusBar.enabled.
- Split SSH/HTTPS host support (#28): Forgejo instances whose SSH service runs on a different host than the web/API URL (for example SSH exposed directly as a Kubernetes Service and HTTPS behind an API gateway) can now be configured with an
sshHost. The extension matches SSH git remotes against sshHost and rewrites clone URLs to point at the reachable SSH service, instead of refusing to act. The sshPort field remains an independent option and composes with sshHost (e.g. SSH on ssh.example.com:2222).
- Actions tree pagination (#235): the Actions view now loads a bounded first page of workflow jobs and exposes older runs through an explicit load-more row instead of fetching the complete workflow-run history before rendering.
- PR detail workflow-file targeting (#229): the CI status
Workflow button in pull request detail pages now searches local workflow YAML files only inside the Git repository whose remote matches the pull request's instance, owner, and repository, so multi-root or nested-repository workspaces no longer open unrelated same-named workflow files.
- Multi-repository Actions and Releases fixes (#233, #237, #239): Actions workflow-file commands now search only the selected tree row's local repository, Releases rows use stable repository-scoped IDs, and create-release actions target the selected repository or ask which repository to use.
- Command palette manifest fix (#236): context-only commands now share one
commandPalette contribution block, so VS Code receives every hidden-command rule instead of dropping earlier entries during manifest parsing.
- Remote branch picker pagination (#234): remote repository browsing and branch switching now expose branches beyond the first API page through an explicit load-more item, so repositories with more than 100 branches can browse refs returned on later pages without unbounded startup requests.
- PR file diff drift fix (#182): pull request file diffs now compare against the PR's actual merge-base commit and head commit instead of the live base/head branch names. Previously, once the base branch advanced past the point the PR diverged from, the diff view would pull in unrelated upstream changes and could look like the whole file had changed instead of just the PR's diff.
- Activity timeline sort order (#181): the Activity section in Issue and Pull Request detail views now has a toggle button to switch between newest-first (the existing default) and oldest-first ordering. The choice is remembered across sessions via the
forgejo.activityTimelineSortOrder setting.
- Forgejo workflow validator parity (#29): workflow diagnostics now follow Forgejo runner's YAML scalar decoding instead of requiring native JavaScript strings, so valid boolean
cancel-in-progress values and numeric/boolean action inputs such as fetch-depth: 0 are accepted. This replaces an earlier, narrower fix that patched the bundled schema's types directly; the validator itself now matches the runner's decoding rules, and the vendored schema stays an unmodified copy of upstream. The schema and validator provenance now track runner v12.12.0, with adjacent maintainer guidance for future upstream synchronization.
- Copy Permalink (#232): a new
Forgejo: Copy Permalink command (editor context menu and command palette) copies a Forgejo web URL to the current file, pinned to the current commit SHA rather than the branch name, so the link stays valid after future commits. Selecting one or more lines includes a #L{start}-L{end} anchor; the command is multi-repo/multi-instance aware and warns if the file has uncommitted changes or the branch has no upstream to push to.
- Remote directory browser pagination (#222): browsing a remote repository's file tree now exposes directory entries beyond the first API page through an explicit "Load more entries" row, so directories with more than 100 files and folders can be fully browsed instead of being silently truncated.
- Label, assignee, and milestone metadata management (#137): issue and pull request detail pages now let you edit labels, assignees, and milestone directly from VS Code, without switching to the browser. Pull request detail pages previously showed none of this metadata at all; they now display and support editing labels, assignees, and milestone the same way issue detail pages do.
- Saved query dashboard (#187): a new "Saved Queries" sidebar view shows the built-in query groups (Waiting for my review, Assigned to me, Created by me, Mentioned me, Recently updated) fanned out across every configured repository and instance, each with its own paged load-more. Custom saved queries (a label, a free-text search, and a target of pull requests, issues, or both) can be added, edited, removed, and reordered via the view's toolbar and context menu, and are persisted in the new
forgejo.savedQueries setting.
0.3.24
- TODO quick fix repository targeting (#223): the
Create Forgejo issue from TODO quick fix now resolves the Forgejo config from the TODO source file's owning Git repository instead of the active editor or first detected repository, so in multi-root or nested-repository workspaces the create-issue form targets the repository that actually contains the TODO. Reference hovers and completions also resolve per-document.
- PR diff URI parser ambiguity fix (#225): the PR diff virtual-document URI parser no longer guesses the instance URL by base64url-decoding the first path segment. Instance-aware URIs now use a self-identifying
v1 version prefix (forgejo-pr:/v1/...), so a repository owner whose name happens to decode to an HTTP(S) URL can no longer shift owner/repo/ref/file identity and cause restored PR diff tabs to fetch the wrong repository.
- Create Pull Request workspace root fix (#221): the global
Forgejo: Create Pull Request command and PR view title action now read the current and default branch from the local Git repository whose remote matches the resolved Forgejo config, instead of always using the first workspace folder. In multi-root or nested-repository workspaces this prevents creating a PR with the wrong head/base branch; when multiple matching checkouts exist it now asks which one to use.
- Workflow expression function diagnostics fix (#27): the workflow validator no longer flags valid
startsWith(...) expressions as "Unknown Function Call", and hashFiles, success, failure, always, and cancelled are now recognized as built-in expression functions in every expression context rather than only where the schema declares them.
- Remote repository browsing (#192): configured Forgejo and Gitea instances now have a Repositories view for browsing remote branches, directories, and read-only virtual files without cloning locally, including public no-token repositories.
- Pull request mergeability (#209): PR tree rows and detail views now show whether Forgejo reports a pull request as ready to merge, conflicted, or unknown, and conflicted PR detail pages disable the merge button.
- Faster CI dependency installs: all test/publish/live-test jobs now cache the npm download cache (
~/.npm) keyed on package-lock.json, so the ~740-package npm ci reinstall reuses cached tarballs instead of re-fetching them from the registry on every run.
- Live PR test gate restored: pull requests now run the Forgejo live integration and VS Code live smoke tests inside the main Test workflow again, so PR merge checks include the real Forgejo matrix without a separate duplicate workflow.
- Start work on issue (#188): issue rows now offer a start-work action that picks a local Git repository, suggests branch names from the issue number and title, and checks out the branch through VS Code's Git extension from the configured base ref.
- Start work target clarity (#188): when multiple matching local worktrees exist, Start Work now asks which path to use and its success message names the existing local worktree where the branch was checked out.
- Issue detail Start Work (#188): issue detail pages now include a Start Work button that uses the same branch and worktree selection flow as issue tree rows.
- Issue comment composer (#200): issue detail views now show the comment text box immediately when the selected repository has a configured token, instead of requiring a separate "+ Comment" reveal button.
- Issue time tracking (#194): issue detail pages now show tracked time, running stopwatch state, and controls to start, stop, cancel, or manually add time.
- Issue timeline specificity (#212): issue and pull request detail timelines now show added or removed label actions and include exact tracked-time durations when Forgejo reports them.
- Actions tree identity fix: action repository, run, job, and step rows now use stable tree item IDs so refreshes and duplicate step names do not collide in multi-repository views.
- Editor references (#190): code and Markdown editors now visually highlight
#123 references with Forgejo hovers, bounded cached #/@ completions, and TODO/FIXME code actions that prefill the create-issue form.
0.3.23
- Faster live Playwright CI: the live-test Docker image now bakes VS Code and the Playwright chromium browser, and the live/VS Code Playwright configs reuse the baked VS Code install instead of downloading 241 MB on every run.
- Open VSX workflow schema publishing fix: the vendored workflow schema now avoids password-shaped string mappings that Open VSX secret scanning can mistake for credentials during publication.
- PR and issue autolinks (#199): detail webviews now link same-repository
#123 and cross-repository owner/repo#123 references in descriptions and comments.
0.3.21
- Development version after the 0.3.20 release.
- Built-in query views (#136): Pull Request and Issue views now include "My Queries" groups for assigned, created, and mentioned items, plus PRs waiting for your review.
- Query view duplicate row fix (#136): Pull Request and Issue rows now keep distinct tree item IDs when the same item appears in both a state group and a "My Queries" group.
- Improved issue creation (#180): creating an issue now opens a dedicated webview page with title, description, labels, assignees, milestone, and due date fields instead of a multi-step input prompt.
- Create issue repository safety (#180): create issue pages are now scoped by instance, owner, and repository so the displayed repository always matches the submit target.
- Create issue submission safety (#180): multi-repository issue creation now uses repository-scoped actions, and duplicate create clicks are ignored while a submission is in flight.
- Create issue CI fix (#195): issue creation changes now satisfy the lint rules used by the pull request test workflow.
- Duplicate PR tree row fix: paged pull request results are now deduplicated before rendering so overlapping API pages cannot register the same tree item id twice.
- Richer pull request activity details: PR detail timelines now normalize Forgejo commit payloads before rendering, so commit authors, timestamps, messages, branch actions, merge commits, and commit references show useful context instead of "Unknown" or empty commit rows.
- Custom SSH clone ports (#26): configured instances can now set
sshPort so VS Code's Forgejo clone picker uses the right SSH port for self-hosted servers.
- Workflow validation and failed CI navigation (#191): Forgejo-compatible workflow files now get local diagnostics, and failed CI rows link directly to logs and matching workflow files.
0.3.20
- Pull request and issue search (#135): the Pull Requests and Issues views now search server-side through forgejo-ts 0.4.0 while preserving paged load-more behavior.
- forgejo-ts pagination wrapper: legacy Pull Request and Issue page helpers now delegate to forgejo-ts pagination metadata instead of rebuilding those requests locally.
- Issue and PR timeline activity rendering (forgejo#13020): detail views now preserve Forgejo timeline action names and skip duplicate timeline comment rows instead of showing extra "performed an action" entries.
- Nested repository detection (#22): workspaces with nested Forgejo/Gitea repositories are now detected through VS Code's Git API and grouped by repository across Pull Requests, Issues, Actions, and Releases.
- Safer instance matching (#171): repositories whose HTTP(S) git remote does not match any configured Forgejo instance now use the remote host unauthenticated instead of falling back to an unrelated default instance.
- Paged PR and issue loading (#20): Pull request and issue trees now fetch the first page for each group, then load additional pages through explicit load-more actions so very large repositories remain responsive.
- More reliable PR tree actions (#20): pull request tree rows now use stable identities so overview and file commands continue to work after refreshes and load-more updates.
- Tree UI regression coverage (#20): VS Code Playwright tests now exercise the Pull Requests and Issues tree load-more rows with mocked API pages.
- Agent workflow guidance: repo instructions now ask agents to add follow-up commits instead of amending or force-pushing ongoing PR branches.
0.3.19
- Forgejo clone picker icon: the built-in Git clone source picker now shows the Forgejo logo next to configured Forgejo repository sources.
- Publish to Forgejo (#17): local repositories can now be published directly to a configured Forgejo instance from VS Code's built-in Source Control publish flow. Thanks to @excubitor.
0.3.18
- Forgejo authentication provider (#16): configured Forgejo instances are now exposed through VS Code's Authentication API for better account/session integration. Thanks to @excubitor.
- Clone from Forgejo (#18): Forgejo repositories now appear in VS Code's built-in Git clone flow via a remote source provider, with bounded repository lookups across configured instances. Thanks to @excubitor.
- Faster PR loading for large repositories (#20): the Pull Requests view now fetches open PRs first and lazy-loads merged/closed PRs only when those groups are expanded, avoiding long startup fetches on repositories with thousands of historical PRs.
- Forgejo activity bar icon (#15): the Activity Bar now uses the Forgejo logo instead of the generic pull request icon. Thanks to @excubitor.
0.3.17
- Safer git remote detection (#130): the extension now separates repository identity from instance resolution. HTTP(S) remotes still support zero-config detection, while SSH remotes no longer guess a Forgejo web/API URL from the git transport. If you're using SSH remotes with a self-hosted instance, configure the Forgejo instance explicitly for the most reliable matching.
- More secure token storage (#129): personal access tokens are now stored in VS Code SecretStorage instead of settings.json.
- Better remote parsing for dotted repository names (#124): repositories with dots in their names are now detected correctly from git remotes.
- Authentication docs clarified (#128): the required token scopes now explicitly mention
read:issues.
Features
Pull Requests
- Browse PRs grouped by state (Open/Draft load initially; Merged/Closed load on expansion)
- View file changes directly in VS Code's diff editor
- Add inline review comments on PR diffs
- Create new pull requests from within VS Code
- Merge PRs with multiple strategies (merge, squash, rebase)
- Close PRs directly from the sidebar
- Rich detail view showing description, comments, CI status, and timeline
Issues
- Browse issues with full details and comments
- Create new issues from within VS Code
- Rich detail view with comment history and timeline events
- Track time from issue details with Forgejo stopwatch and manual time entries
Actions / CI
- Monitor CI/CD workflow runs in a 3-level tree view (Run > Job > Step)
- View job logs directly in the editor
- Re-run failed workflows
- Clickable CI status links in PR detail views
Multi-Instance & Auto-Detection
- Connect to multiple Forgejo servers simultaneously
- Auto-detect instance from your git remote
- Select preferred remote when multiple remotes exist
- Built-in diagnostics to troubleshoot connection issues
Browser Integration
- Open any PR, Issue, or Action in your browser with one click
- Codeberg
- Self-hosted Forgejo instances
- Gitea instances (compatible API)
Setting Up Authentication
Authentication is optional for public repositories but required for private repos.
Step 1: Create a Personal Access Token (PAT)
On Codeberg
- Go to codeberg.org/user/settings/applications
- Under "Manage Access Tokens", click Generate New Token
- Enter a name (e.g., "VS Code Extension")
- Select permissions:
read:repository - Browse repository files and pull requests (required)
read:issues - Browse issues (required)
write:repository - Merge PRs, close Issues (optional)
- Click Generate Token
- Copy the token immediately - you won't see it again!
On Self-Hosted Forgejo
- Go to
https://your-forgejo-instance.com/user/settings/applications
- Follow the same steps as Codeberg above
Step 2: Add the Token to VS Code
Option A: Using Command Palette (Recommended)
- Press
Ctrl+Shift+P (Windows/Linux) or Cmd+Shift+P (Mac)
- Type "Forgejo: Add Instance"
- Enter your instance URL (e.g.,
https://codeberg.org)
- Paste your token when prompted
- The extension tests the connection
- Enter a friendly name (e.g., "Codeberg")
- Enter an SSH host if your SSH git remote uses a different hostname than the web URL (e.g. when SSH is exposed directly and HTTPS is behind a gateway), or leave it blank
- The extension saves the instance
Option B: Using Settings UI
- Open Settings:
Ctrl+, (Windows/Linux) or Cmd+, (Mac)
- Search for "forgejo"
- Click Edit in settings.json under "Forgejo: Instances"
- Add your instance configuration
Multiple Instances
You can connect to multiple Forgejo servers:
- Run "Forgejo: Manage Instances" from Command Palette
- Add additional instances with their own tokens
- The extension will match repositories to the correct instance automatically
Usage
Viewing Pull Requests
- Click the Forgejo icon in the Activity Bar
- Expand the Pull Requests section
- Click a PR to see its files
- Click a file to view the diff
Built-In Query Views
Pull Request and Issue My Queries groups require an authentication token because the extension first resolves the current API user with GET /user.
Pull Request state groups use the Forgejo pull request list API:
| Section |
Query |
Client-side filter |
| Open |
/repos/{owner}/{repo}/pulls?state=open&page={page}&limit=50 |
draft === false |
| Draft |
/repos/{owner}/{repo}/pulls?state=open&page={page}&limit=50 |
draft === true |
| Merged |
/repos/{owner}/{repo}/pulls?state=closed&page={page}&limit=50 |
merged === true |
| Closed |
/repos/{owner}/{repo}/pulls?state=closed&page={page}&limit=50 |
merged === false |
When Pull Request search text is active, state groups instead use /repos/{owner}/{repo}/issues?state={open|closed}&type=pulls&q={search}&page={page}&limit=50, hydrate each matched row as a PR, then apply the same client-side filter.
Pull Request My Queries groups use issue-search filters with type=pulls and state=open:
| Section |
Query |
Notes |
| Assigned to me |
/repos/{owner}/{repo}/issues?state=open&type=pulls&assigned_by={login}&page={page}&limit=50 |
Hydrates each matched issue as a PR. |
| Waiting for my review |
/repos/issues/search?state=open&type=pulls&review_requested=true&owner={owner}&page={page}&limit=50 |
Forgejo treats review_requested=true as "review requested from the authenticated user"; the extension filters results back to {owner}/{repo} before hydrating PRs. |
| Created by me |
/repos/{owner}/{repo}/issues?state=open&type=pulls&created_by={login}&page={page}&limit=50 |
Hydrates each matched issue as a PR. |
| Mentioned me |
/repos/{owner}/{repo}/issues?state=open&type=pulls&mentioned_by={login}&page={page}&limit=50 |
Hydrates each matched issue as a PR. |
Issue state groups use the Forgejo issue list API:
| Section |
Query |
Client-side filter |
| Open |
/repos/{owner}/{repo}/issues?state=open&type=issues&page={page}&limit=50 |
Excludes rows with pull_request. |
| Closed |
/repos/{owner}/{repo}/issues?state=closed&type=issues&page={page}&limit=50 |
Excludes rows with pull_request. |
When Issue search text is active, state groups add q={search} to the same issue-list query.
Issue My Queries groups use state=open issue filters:
| Section |
Query |
Client-side filter |
| Assigned to me |
/repos/{owner}/{repo}/issues?state=open&type=issues&assigned_by={login}&page={page}&limit=50 |
Excludes rows with pull_request. |
| Created by me |
/repos/{owner}/{repo}/issues?state=open&type=issues&created_by={login}&page={page}&limit=50 |
Excludes rows with pull_request. |
| Mentioned me |
/repos/{owner}/{repo}/issues?state=open&type=issues&mentioned_by={login}&page={page}&limit=50 |
Excludes rows with pull_request. |
When the tree search box has text, My Queries groups also add q={search} to the query shown in the table.
PR Actions
Right-click on a PR for options:
- View PR Details - See full description and comments
- Open PR in Browser - Open on Forgejo website
- Merge PR - Merge with options (merge commit, squash, rebase)
- Close PR - Close without merging
Viewing Issues
- Expand the Issues section in the Forgejo view
- Click an issue to see full details, comments, and timeline
- Right-click to open in browser
- Use the + button in the Issues title bar to create a new issue
Monitoring Actions / CI
- Expand the Actions section in the Forgejo view
- See workflow runs with their status (success, failure, running)
- Expand a run to see individual jobs and steps
- Click a step to view its logs in the editor
- Right-click a run or job to re-run the workflow
Maintaining Workflow Validation
Workflow diagnostics use the schema bundled by Forgejo runner, the same Actions parser Forgejo calls through act/model.ReadWorkflow and act/jobparser.Parse. The vendored schema lives at src/diagnostics/schemas/forgejo-workflow.schema.json.
To refresh the schema from the currently documented runner version:
npm run update:workflow-schema
To bump to a specific Forgejo runner version:
FORGEJO_RUNNER_VERSION=v12.11.1 npm run update:workflow-schema
After updating, run npm run lint, npm run compile, and npm run test:unit -- workflowDiagnostics.
Commands
Open Command Palette (Ctrl+Shift+P / Cmd+Shift+P) and type "Forgejo":
| Command |
Description |
| Forgejo: Add Instance |
Add a new Forgejo server |
| Forgejo: Manage Instances |
View and edit configured servers |
| Forgejo: Create Pull Request |
Create a new PR from the current branch |
| Forgejo: Create Issue |
Create a new issue |
| Forgejo: Refresh Pull Requests |
Reload PR list |
| Forgejo: Refresh Issues |
Reload Issue list |
| Forgejo: Refresh Actions |
Reload Actions list |
| Forgejo: Select Git Remote |
Choose which git remote to use |
| Forgejo: Show Diagnostics |
Debug connection issues |
| Forgejo: Show Output Channel |
View extension logs |
Configuration
| Setting |
Default |
Description |
forgejo.autoDetectFromRemote |
true |
Auto-detect instance from git remote |
forgejo.preferredRemote |
"" |
Preferred git remote name (default: auto-detect, falls back to origin) |
forgejo.startWorkOnIssueBaseRef |
"origin/master" |
Git ref to create Start Work on Issue branches from |
forgejo.debug |
false |
Enable debug logging |
forgejo.showFileStatusNotifications |
true |
Show notifications for added/deleted files |
Per-instance entries in forgejo.instances also support sshHost for self-hosted servers whose SSH service runs on a different host than the web/API URL (for example SSH as a direct Kubernetes Service and HTTPS behind an API gateway):
{
"id": "my-forgejo",
"name": "My Forgejo",
"instanceUrl": "https://git.example.com",
"sshHost": "ssh.example.com"
}
When sshHost is set, the extension matches SSH git remotes against it and rewrites SSH clone URLs to use that host. The sshPort field (for instances where the SSH port differs from the default 22) is an independent option and composes with sshHost — both may be set at once (e.g. SSH on ssh.example.com:2222). The port is injected only when the clone URL does not already specify one.
For existing instances, run "Forgejo: Manage Instances", select the instance, then choose "Edit SSH Host" or "Edit SSH Port".
Troubleshooting
"No Forgejo configuration found"
- Make sure you're in a workspace with a git repository
- Check that you have a git remote configured (
git remote -v)
- Try running "Forgejo: Add Instance" to manually configure
PRs or Issues not loading
- Run "Forgejo: Show Diagnostics" to check connection status
- Verify your token is valid and has correct permissions
- Check the Output channel: "Forgejo: Show Output Channel"
Authentication errors
- Regenerate your token on the Forgejo website
- Run "Forgejo: Manage Instances" to update the token
- Make sure the token has
read:repository and read:issues scopes
Git remote not detected
The extension looks for the origin remote by default (configurable via forgejo.preferredRemote). Supported URL formats:
- HTTPS:
https://codeberg.org/owner/repo.git
- SSH:
git@codeberg.org:owner/repo.git
- SSH protocol:
ssh://git@codeberg.org/owner/repo.git
Privacy & Data Handling
This extension sends no telemetry or analytics, and makes network requests only to the Forgejo instance(s) you configure.
- Network requests: the only outbound requests are Forgejo/Gitea API calls to the instance URL(s) you add under "Forgejo: Add Instance". There is no other network destination — no analytics service, no crash reporter, no update-check endpoint, and no request to the extension author.
- Personal access tokens are stored in VS Code's
SecretStorage (your OS keychain), never in settings.json.
- Instance metadata (name, URL, SSH host/port, username) is stored in your VS Code
settings.json under forgejo.instances — no secrets are stored there.
- PR/issue/diff content you view is kept in memory only for the current VS Code session and is never written to disk.
- Logs go to a local "Forgejo" Output channel and are never transmitted anywhere.
Two things worth knowing that are outside this extension's control:
- If you have VS Code Settings Sync enabled, VS Code may sync your
settings.json (including the instance list above) and SecretStorage contents through your own sync account, depending on your Settings Sync configuration. That syncing is performed by VS Code itself, not by this extension.
- VS Code's own telemetry (
telemetry.telemetryLevel) is a separate setting unrelated to, and not controlled by, this extension.
Run "Forgejo: Show Privacy & Data Info" from the Command Palette to view this information inside the editor. This extension is open source — you can verify these claims directly in src/api/forgejoClient.ts (network calls) and src/utils/secretStorage.ts (token storage).
Feedback & Issues
Found a bug or have a feature request? Please open an issue on the Codeberg repository.
Acknowledgments
| |