mirror of
https://github.com/pbakaus/impeccable.git
synced 2026-09-12 06:06:37 +03:00
Compare commits
base: skills/pbakaus_impeccable:copilot/live-polling-rework-source-locks
skills/pbakaus_impeccable:main
skills/pbakaus_impeccable:codex/comp-gate-integrity
skills/pbakaus_impeccable:feat/rule-optout-by-selector
skills/pbakaus_impeccable:fix/ai-color-palette-custom-tokens
skills/pbakaus_impeccable:claude/issue-560-409663
skills/pbakaus_impeccable:fix/394-stripe-child
skills/pbakaus_impeccable:fix/801-stale-carbonize-diag
skills/pbakaus_impeccable:fix/800-live-poll-reply-ack
skills/pbakaus_impeccable:codex/release-skill-4-3-1
skills/pbakaus_impeccable:codex/release-4-3-0
skills/pbakaus_impeccable:codex/publish-cli-4-0-5-skill-4-2-3
skills/pbakaus_impeccable:codex/release-engine-0-1-4
skills/pbakaus_impeccable:fix/784-user-hook-dedupe
skills/pbakaus_impeccable:codex/fix-skill-workflow-regressions
skills/pbakaus_impeccable:codex/fix-367-monorepo-hook-design
skills/pbakaus_impeccable:codex/marketplace-install-docs
skills/pbakaus_impeccable:fix/760-windows-line-prompt
skills/pbakaus_impeccable:codex/fix-761-windows-csp-paths
skills/pbakaus_impeccable:codex/vscode-publisher-identity
skills/pbakaus_impeccable:fix/757-native-tls-trust
skills/pbakaus_impeccable:codex/harden-480-ci-trust
skills/pbakaus_impeccable:codex/fix-522-stop-baseline
skills/pbakaus_impeccable:codex/publish-release-013
skills/pbakaus_impeccable:codex/publish-signed-release
skills/pbakaus_impeccable:codex/scan-740-defender
skills/pbakaus_impeccable:codex/release-signed-bundle-cli
skills/pbakaus_impeccable:fix/721-tests-path-permalinks
skills/pbakaus_impeccable:fix/736-noninteractive-skill-activation
skills/pbakaus_impeccable:rust-swap
skills/pbakaus_impeccable:codex/fix-434-static-parser-bundle
skills/pbakaus_impeccable:codex/fix-435-url-exit
skills/pbakaus_impeccable:fix/700-target-basename
skills/pbakaus_impeccable:codex/fix-625-detector
skills/pbakaus_impeccable:codex/fix-625-hooks
skills/pbakaus_impeccable:fix/699-update-help
skills/pbakaus_impeccable:codex/simplify-detector-profiling-20260901
skills/pbakaus_impeccable:fix/434-static-html-parsers
skills/pbakaus_impeccable:questionaire
skills/pbakaus_impeccable:fix/568-finish-screenshot-fallback
skills/pbakaus_impeccable:codex/fix-681
skills/pbakaus_impeccable:fix/523-plugin-scripts-path
skills/pbakaus_impeccable:fix/670-embed-spaced-path
skills/pbakaus_impeccable:fix/671-system-font-stack
skills/pbakaus_impeccable:feat/comp-fidelity
skills/pbakaus_impeccable:fix/639-live-ignores-hardening
skills/pbakaus_impeccable:fix/555-answer-session-key
skills/pbakaus_impeccable:fix/479-bundle-download-safety
skills/pbakaus_impeccable:fix/662-dead-ignore-values
skills/pbakaus_impeccable:fix/657-redact-url-credentials
skills/pbakaus_impeccable:fix/652-root-relative-stylesheets
skills/pbakaus_impeccable:fix/570-monorepo-design-root
skills/pbakaus_impeccable:fix/573-context-windows-teardown
skills/pbakaus_impeccable:codex/link-hook-trust-guide
skills/pbakaus_impeccable:fix/603-codex-stop-payload
skills/pbakaus_impeccable:fix/646-grok-hook-stdin
skills/pbakaus_impeccable:fix/642-grok-global-hook
skills/pbakaus_impeccable:codex/centralize-image-prompt-parsing-20260823
skills/pbakaus_impeccable:codex/share-doctor-boot-findings-20260822
skills/pbakaus_impeccable:fix/589-comment-strip-markup-css
skills/pbakaus_impeccable:fix/615-grid-1d-rails
skills/pbakaus_impeccable:fix/578-color-mix-nested-hex
skills/pbakaus_impeccable:fix/618-live-source-symlink
skills/pbakaus_impeccable:fix/592-oklch-parseanycolor
skills/pbakaus_impeccable:fix/488-strip-reserved-poll-fields
skills/pbakaus_impeccable:codex/centralize-live-glob-matching-20260821
skills/pbakaus_impeccable:codex/issue-624-claude-agents
skills/pbakaus_impeccable:codex/centralize-framework-detection-20260820
skills/pbakaus_impeccable:codex/issue-620-tune-no-params
skills/pbakaus_impeccable:codex/remove-dead-design-parser-paths-20260819
skills/pbakaus_impeccable:codex/issue-614-remove-multiedit
skills/pbakaus_impeccable:codex/simplify-manual-apply-failures-20260818
skills/pbakaus_impeccable:oracle-harness
skills/pbakaus_impeccable:codex/centralize-provider-smoke-runtime-20260817
skills/pbakaus_impeccable:codex/issue-604-claude-hook-migration
skills/pbakaus_impeccable:fix/comp-ground-sampling
skills/pbakaus_impeccable:fix/comp-air-record
skills/pbakaus_impeccable:fix/late-raster-provenance
skills/pbakaus_impeccable:pr-evidence
skills/pbakaus_impeccable:fix/build-path-consent-in-init
skills/pbakaus_impeccable:claude/comp-shipped-screen
skills/pbakaus_impeccable:fix/browser-bg-resolution-dark-themes
skills/pbakaus_impeccable:codex/issue-525-compact-batch
skills/pbakaus_impeccable:codex/issue-524-claude-stdin
skills/pbakaus_impeccable:issue-slop-gate
skills/pbakaus_impeccable:live-ui-surfaces-importable
skills/pbakaus_impeccable:agent/bump-web-ext-10
skills/pbakaus_impeccable:copilot/live-polling-rework-source-locks
skills/pbakaus_impeccable:copilot/live-polling-rework
skills/pbakaus_impeccable:codex/live-polling-improvements
skills/pbakaus_impeccable:codex/openai-plugin-submission
skills/pbakaus_impeccable:codex/ai-sdk-v7-rollup
skills/pbakaus_impeccable:claude/issue-330-description-field-byxdyx
skills/pbakaus_impeccable:cleanup-brand-quality-tiers
skills/pbakaus_impeccable:feat/live-modal-host-friendliness
skills/pbakaus_impeccable:3.0
skills/pbakaus_impeccable:skill-v4.3.1
skills/pbakaus_impeccable:skill-v4.3.0
skills/pbakaus_impeccable:cli-v4.1.0
skills/pbakaus_impeccable:engine-v0.1.5
skills/pbakaus_impeccable:skill-v4.2.3
skills/pbakaus_impeccable:cli-v4.0.5
skills/pbakaus_impeccable:engine-v0.1.4
skills/pbakaus_impeccable:skill-v4.2.2
skills/pbakaus_impeccable:cli-v4.0.4
skills/pbakaus_impeccable:engine-v0.1.3
skills/pbakaus_impeccable:skill-v4.2.1
skills/pbakaus_impeccable:cli-v4.0.3
skills/pbakaus_impeccable:engine-v0.1.2
skills/pbakaus_impeccable:cli-v4.0.2
skills/pbakaus_impeccable:engine-v0.1.1
skills/pbakaus_impeccable:cli-v4.0.1
skills/pbakaus_impeccable:ext-v1.4.0
skills/pbakaus_impeccable:cli-v4.0.0
skills/pbakaus_impeccable:skill-v4.2.0
skills/pbakaus_impeccable:engine-v0.1.0
skills/pbakaus_impeccable:skill-v4.1.3
skills/pbakaus_impeccable:ext-v1.3.3
skills/pbakaus_impeccable:cli-v3.6.1
skills/pbakaus_impeccable:skill-v4.1.2
skills/pbakaus_impeccable:skill-v4.1.1
skills/pbakaus_impeccable:ext-v1.3.2
skills/pbakaus_impeccable:cli-v3.6.0
skills/pbakaus_impeccable:skill-v4.1.0
skills/pbakaus_impeccable:ext-v1.3.1
skills/pbakaus_impeccable:cli-v3.5.0
skills/pbakaus_impeccable:skill-v4.0.4
skills/pbakaus_impeccable:ext-v1.3.0
skills/pbakaus_impeccable:cli-v3.4.0
skills/pbakaus_impeccable:skill-v4.0.3
skills/pbakaus_impeccable:skill-v4.0.2
skills/pbakaus_impeccable:cli-v3.3.1
skills/pbakaus_impeccable:skill-v4.0.1
skills/pbakaus_impeccable:skill-v4.0.0
skills/pbakaus_impeccable:cli-v3.3.0
skills/pbakaus_impeccable:skill-v3.9.1
skills/pbakaus_impeccable:cli-v3.2.0
skills/pbakaus_impeccable:skill-v3.9.0
skills/pbakaus_impeccable:cli-v3.1.0
skills/pbakaus_impeccable:skill-v3.8.0
skills/pbakaus_impeccable:ext-v1.2.1
skills/pbakaus_impeccable:cli-v3.0.3
skills/pbakaus_impeccable:skill-v3.7.1
skills/pbakaus_impeccable:cli-v3.0.2
skills/pbakaus_impeccable:skill-v3.7.0
skills/pbakaus_impeccable:ext-v1.2.0
skills/pbakaus_impeccable:skill-v3.6.0
skills/pbakaus_impeccable:cli-v3.0.1
skills/pbakaus_impeccable:cli-v3.0.0
skills/pbakaus_impeccable:cli-v2.3.2
skills/pbakaus_impeccable:skill-v3.5.0
skills/pbakaus_impeccable:cli-v2.3.1
skills/pbakaus_impeccable:cli-v2.3.0
skills/pbakaus_impeccable:ext-v1.1.0
skills/pbakaus_impeccable:cli-v2.2.0
skills/pbakaus_impeccable:skill-v3.1.1
skills/pbakaus_impeccable:skill-v3.1.0
skills/pbakaus_impeccable:cli-v2.1.9
skills/pbakaus_impeccable:skill-v3.0.7
skills/pbakaus_impeccable:skill-v3.0.6
skills/pbakaus_impeccable:ext-v1.0.3
skills/pbakaus_impeccable:ext-v1.0.2
skills/pbakaus_impeccable:skill-v3.0.5
skills/pbakaus_impeccable:cli-v2.1.8
skills/pbakaus_impeccable:skill-v3.0.4
..
compare: skills/pbakaus_impeccable:copilot/live-polling-rework
skills/pbakaus_impeccable:codex/comp-gate-integrity
skills/pbakaus_impeccable:feat/rule-optout-by-selector
skills/pbakaus_impeccable:fix/ai-color-palette-custom-tokens
skills/pbakaus_impeccable:main
skills/pbakaus_impeccable:claude/issue-560-409663
skills/pbakaus_impeccable:fix/394-stripe-child
skills/pbakaus_impeccable:fix/801-stale-carbonize-diag
skills/pbakaus_impeccable:fix/800-live-poll-reply-ack
skills/pbakaus_impeccable:codex/release-skill-4-3-1
skills/pbakaus_impeccable:codex/release-4-3-0
skills/pbakaus_impeccable:codex/publish-cli-4-0-5-skill-4-2-3
skills/pbakaus_impeccable:codex/release-engine-0-1-4
skills/pbakaus_impeccable:fix/784-user-hook-dedupe
skills/pbakaus_impeccable:codex/fix-skill-workflow-regressions
skills/pbakaus_impeccable:codex/fix-367-monorepo-hook-design
skills/pbakaus_impeccable:codex/marketplace-install-docs
skills/pbakaus_impeccable:fix/760-windows-line-prompt
skills/pbakaus_impeccable:codex/fix-761-windows-csp-paths
skills/pbakaus_impeccable:codex/vscode-publisher-identity
skills/pbakaus_impeccable:fix/757-native-tls-trust
skills/pbakaus_impeccable:codex/harden-480-ci-trust
skills/pbakaus_impeccable:codex/fix-522-stop-baseline
skills/pbakaus_impeccable:codex/publish-release-013
skills/pbakaus_impeccable:codex/publish-signed-release
skills/pbakaus_impeccable:codex/scan-740-defender
skills/pbakaus_impeccable:codex/release-signed-bundle-cli
skills/pbakaus_impeccable:fix/721-tests-path-permalinks
skills/pbakaus_impeccable:fix/736-noninteractive-skill-activation
skills/pbakaus_impeccable:rust-swap
skills/pbakaus_impeccable:codex/fix-434-static-parser-bundle
skills/pbakaus_impeccable:codex/fix-435-url-exit
skills/pbakaus_impeccable:fix/700-target-basename
skills/pbakaus_impeccable:codex/fix-625-detector
skills/pbakaus_impeccable:codex/fix-625-hooks
skills/pbakaus_impeccable:fix/699-update-help
skills/pbakaus_impeccable:codex/simplify-detector-profiling-20260901
skills/pbakaus_impeccable:fix/434-static-html-parsers
skills/pbakaus_impeccable:questionaire
skills/pbakaus_impeccable:fix/568-finish-screenshot-fallback
skills/pbakaus_impeccable:codex/fix-681
skills/pbakaus_impeccable:fix/523-plugin-scripts-path
skills/pbakaus_impeccable:fix/670-embed-spaced-path
skills/pbakaus_impeccable:fix/671-system-font-stack
skills/pbakaus_impeccable:feat/comp-fidelity
skills/pbakaus_impeccable:fix/639-live-ignores-hardening
skills/pbakaus_impeccable:fix/555-answer-session-key
skills/pbakaus_impeccable:fix/479-bundle-download-safety
skills/pbakaus_impeccable:fix/662-dead-ignore-values
skills/pbakaus_impeccable:fix/657-redact-url-credentials
skills/pbakaus_impeccable:fix/652-root-relative-stylesheets
skills/pbakaus_impeccable:fix/570-monorepo-design-root
skills/pbakaus_impeccable:fix/573-context-windows-teardown
skills/pbakaus_impeccable:codex/link-hook-trust-guide
skills/pbakaus_impeccable:fix/603-codex-stop-payload
skills/pbakaus_impeccable:fix/646-grok-hook-stdin
skills/pbakaus_impeccable:fix/642-grok-global-hook
skills/pbakaus_impeccable:codex/centralize-image-prompt-parsing-20260823
skills/pbakaus_impeccable:codex/share-doctor-boot-findings-20260822
skills/pbakaus_impeccable:fix/589-comment-strip-markup-css
skills/pbakaus_impeccable:fix/615-grid-1d-rails
skills/pbakaus_impeccable:fix/578-color-mix-nested-hex
skills/pbakaus_impeccable:fix/618-live-source-symlink
skills/pbakaus_impeccable:fix/592-oklch-parseanycolor
skills/pbakaus_impeccable:fix/488-strip-reserved-poll-fields
skills/pbakaus_impeccable:codex/centralize-live-glob-matching-20260821
skills/pbakaus_impeccable:codex/issue-624-claude-agents
skills/pbakaus_impeccable:codex/centralize-framework-detection-20260820
skills/pbakaus_impeccable:codex/issue-620-tune-no-params
skills/pbakaus_impeccable:codex/remove-dead-design-parser-paths-20260819
skills/pbakaus_impeccable:codex/issue-614-remove-multiedit
skills/pbakaus_impeccable:codex/simplify-manual-apply-failures-20260818
skills/pbakaus_impeccable:oracle-harness
skills/pbakaus_impeccable:codex/centralize-provider-smoke-runtime-20260817
skills/pbakaus_impeccable:codex/issue-604-claude-hook-migration
skills/pbakaus_impeccable:fix/comp-ground-sampling
skills/pbakaus_impeccable:fix/comp-air-record
skills/pbakaus_impeccable:fix/late-raster-provenance
skills/pbakaus_impeccable:pr-evidence
skills/pbakaus_impeccable:fix/build-path-consent-in-init
skills/pbakaus_impeccable:claude/comp-shipped-screen
skills/pbakaus_impeccable:fix/browser-bg-resolution-dark-themes
skills/pbakaus_impeccable:codex/issue-525-compact-batch
skills/pbakaus_impeccable:codex/issue-524-claude-stdin
skills/pbakaus_impeccable:issue-slop-gate
skills/pbakaus_impeccable:live-ui-surfaces-importable
skills/pbakaus_impeccable:agent/bump-web-ext-10
skills/pbakaus_impeccable:copilot/live-polling-rework-source-locks
skills/pbakaus_impeccable:copilot/live-polling-rework
skills/pbakaus_impeccable:codex/live-polling-improvements
skills/pbakaus_impeccable:codex/openai-plugin-submission
skills/pbakaus_impeccable:codex/ai-sdk-v7-rollup
skills/pbakaus_impeccable:claude/issue-330-description-field-byxdyx
skills/pbakaus_impeccable:cleanup-brand-quality-tiers
skills/pbakaus_impeccable:feat/live-modal-host-friendliness
skills/pbakaus_impeccable:3.0
skills/pbakaus_impeccable:skill-v4.3.1
skills/pbakaus_impeccable:skill-v4.3.0
skills/pbakaus_impeccable:cli-v4.1.0
skills/pbakaus_impeccable:engine-v0.1.5
skills/pbakaus_impeccable:skill-v4.2.3
skills/pbakaus_impeccable:cli-v4.0.5
skills/pbakaus_impeccable:engine-v0.1.4
skills/pbakaus_impeccable:skill-v4.2.2
skills/pbakaus_impeccable:cli-v4.0.4
skills/pbakaus_impeccable:engine-v0.1.3
skills/pbakaus_impeccable:skill-v4.2.1
skills/pbakaus_impeccable:cli-v4.0.3
skills/pbakaus_impeccable:engine-v0.1.2
skills/pbakaus_impeccable:cli-v4.0.2
skills/pbakaus_impeccable:engine-v0.1.1
skills/pbakaus_impeccable:cli-v4.0.1
skills/pbakaus_impeccable:ext-v1.4.0
skills/pbakaus_impeccable:cli-v4.0.0
skills/pbakaus_impeccable:skill-v4.2.0
skills/pbakaus_impeccable:engine-v0.1.0
skills/pbakaus_impeccable:skill-v4.1.3
skills/pbakaus_impeccable:ext-v1.3.3
skills/pbakaus_impeccable:cli-v3.6.1
skills/pbakaus_impeccable:skill-v4.1.2
skills/pbakaus_impeccable:skill-v4.1.1
skills/pbakaus_impeccable:ext-v1.3.2
skills/pbakaus_impeccable:cli-v3.6.0
skills/pbakaus_impeccable:skill-v4.1.0
skills/pbakaus_impeccable:ext-v1.3.1
skills/pbakaus_impeccable:cli-v3.5.0
skills/pbakaus_impeccable:skill-v4.0.4
skills/pbakaus_impeccable:ext-v1.3.0
skills/pbakaus_impeccable:cli-v3.4.0
skills/pbakaus_impeccable:skill-v4.0.3
skills/pbakaus_impeccable:skill-v4.0.2
skills/pbakaus_impeccable:cli-v3.3.1
skills/pbakaus_impeccable:skill-v4.0.1
skills/pbakaus_impeccable:skill-v4.0.0
skills/pbakaus_impeccable:cli-v3.3.0
skills/pbakaus_impeccable:skill-v3.9.1
skills/pbakaus_impeccable:cli-v3.2.0
skills/pbakaus_impeccable:skill-v3.9.0
skills/pbakaus_impeccable:cli-v3.1.0
skills/pbakaus_impeccable:skill-v3.8.0
skills/pbakaus_impeccable:ext-v1.2.1
skills/pbakaus_impeccable:cli-v3.0.3
skills/pbakaus_impeccable:skill-v3.7.1
skills/pbakaus_impeccable:cli-v3.0.2
skills/pbakaus_impeccable:skill-v3.7.0
skills/pbakaus_impeccable:ext-v1.2.0
skills/pbakaus_impeccable:skill-v3.6.0
skills/pbakaus_impeccable:cli-v3.0.1
skills/pbakaus_impeccable:cli-v3.0.0
skills/pbakaus_impeccable:cli-v2.3.2
skills/pbakaus_impeccable:skill-v3.5.0
skills/pbakaus_impeccable:cli-v2.3.1
skills/pbakaus_impeccable:cli-v2.3.0
skills/pbakaus_impeccable:ext-v1.1.0
skills/pbakaus_impeccable:cli-v2.2.0
skills/pbakaus_impeccable:skill-v3.1.1
skills/pbakaus_impeccable:skill-v3.1.0
skills/pbakaus_impeccable:cli-v2.1.9
skills/pbakaus_impeccable:skill-v3.0.7
skills/pbakaus_impeccable:skill-v3.0.6
skills/pbakaus_impeccable:ext-v1.0.3
skills/pbakaus_impeccable:ext-v1.0.2
skills/pbakaus_impeccable:skill-v3.0.5
skills/pbakaus_impeccable:cli-v2.1.8
skills/pbakaus_impeccable:skill-v3.0.4
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
b130f911ef | Initial plan | ||
|
|
61f37ccfb8 |
Drop the progressive benchmark, remove dead wrap scaffolding
Review fallout from removing progressive publication. The Live benchmark existed to compare atomic against progressive delivery: compareModelBackedReports measures goToFirstVariantMs improvement of one over the other. With progressive gone it measures nothing against nothing. Worse, benchmark-live.mjs still passed `progressive` to bootFixtureSession, which no longer accepts it, so `--delivery progressive` was silently ignored and would have emitted reports labeled progressive that actually ran atomic. Silent wrong data is worse than a crash. It was built for progressive, so it goes with progressive: benchmark-live.mjs, its lib, its test, and the bench:live script. If an atomic latency baseline is wanted later, that is a smaller thing built on purpose. live-wrap.mjs: sourceOriginalLines was assigned and never read. Both found by review bots on #381 (Copilot). Assisted-by: Claude (claude-halva-eap) via Claude Code |
||
|
|
55b297d7fc |
Live: polling rework, source locks, preflight scaffolding, Vue previews
Carved out of #371, minus progressive publication. Everything here works against real project source the way main's Live already does: the agent writes variants into the file the browser loaded, HMR fires, Accept promotes and carbonizes. Nothing is staged anywhere. Poll lanes. Events now carry an explicit priority: accept/discard/exit ahead of manual_edit_apply/steer/carbonize_cleanup ahead of generate. A long generate can no longer sit in front of the Accept the user just clicked. leaseEvent claims its lease before awaiting, so a slow prepare cannot hand the same event to two pollers. Source locks. A per-file mutex around every accept and discard path, keyed on a digest of the absolute path. Staleness is decided by owner-pid liveness rather than mtime, so a wedged lock clears when its owner dies instead of after an arbitrary timeout, and a slow-but-live accept is never stolen from. Only the owning process can release a lock. Preflight scaffolding. The server runs live-wrap (or live-insert) before the poll returns and hands the result back as event.scaffold. That walk is measured at ~7.6s on a large repo; moving it off the agent's critical path removes a deterministic tool round trip without touching the generated design. Falls back cleanly to the agent running the helper itself. Vue previews. previewMode: "vue-component" for Nuxt/Vue targets, matching the existing Svelte component path: variants compile as real SFCs from a dev-only directory so the route is never rewritten during generation, and Vite mounts them without invalidating page state. Accept is the only route write. Includes a Vue attr tokenizer that normalizes shorthand bindings (@x, :x, #x) to their canonical forms. Accept hardening. Every thrown failure now returns mode: 'error' rather than an ambiguous unhandled result, so a real failure is never classified as a deliberate manual handoff and silently dropped. The marker search skips node_modules/.git/dist/build/.impeccable. Shared CLI arg parsing extracted to scripts/lib/cli-args.mjs. Assisted-by: Claude (claude-halva-eap) via Claude Code |
1 changed files with 0 additions and 7 deletions
@@ -5687,13 +5687,6 @@
|
||||
arrivedVariants = variants.length;
|
||||
expectedVariants = parseInt(wrapper.dataset.impeccableVariantCount || arrivedVariants);
|
||||
if (arrivedVariants <= 0) {
|
||||
// Scaffold wrapper exists but variants haven't been written yet.
|
||||
// This happens when server-side preflight triggers a full page reload
|
||||
// (e.g. Astro's HMR) before the agent finishes writing variants. In
|
||||
// GENERATING state the agent will write the variants shortly — don't
|
||||
// destroy the session. The next HMR or done SSE will call this again
|
||||
// with the full variant set.
|
||||
if (state === 'GENERATING') return;
|
||||
recoverEmptyCycling('source-fallback-empty');
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.