Skip to content

[pull] main from jason5ng32:main#113

Merged
pull[bot] merged 25 commits into
Cosr-Backup:mainfrom
jason5ng32:main
Jun 30, 2026
Merged

[pull] main from jason5ng32:main#113
pull[bot] merged 25 commits into
Cosr-Backup:mainfrom
jason5ng32:main

Conversation

@pull

@pull pull Bot commented Jun 30, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

jason5ng32 and others added 25 commits June 16, 2026 10:48
Turn the nav's "Advanced Tools" item into a discoverable menu of its
sub-tools instead of a bare scroll link:

- Desktop: a NavigationMenu (shadcn-vue) opens on hover; clicking the
  label keeps the original behavior of scrolling to the section.
- Mobile drawer: an inline Collapsible, expanded by default, so phone
  users see the bottom-of-page tools when they open the nav.
- Picking a tool scrolls to the Advanced Tools section, then opens that
  tool's in-page drawer (no jump to a standalone page). The list mirrors
  Advanced.vue's original-site gating so unavailable tools aren't shown.

Also swap the Preferences icon to Cog (nav button + panel header), and
add the navigation-menu primitive via shadcn-vue.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
shields.io's stars badge kept failing on GitHub token-pool exhaustion
("Unable to select the next GitHub token from pool"). Serve the count
from our own backend instead and render the badge ourselves.

- api/github-stars.js: fetch stargazers_count unauthenticated (no token),
  edge-cached for a day in backend-server.js. Behind Cloudflare the origin
  hits GitHub at most once per cache window, well under the 60 req/hour
  unauthenticated limit; error responses stay no-store so failures aren't
  cached.
- Nav.vue: replace the shields.io <img> with our own GitHub badge on
  desktop and add the count to the mobile drawer's "Star on GitHub" row,
  both fed by /api/github-stars (fetched on mount). Count is hidden until
  it lands / on error, so the link never depends on the fetch.
- format-star-count.js: pure compact formatter (1234 -> 1.2k) with tests.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ents

Split the single "Auto Run" switch into per-module switches (Connectivity /
WebRTC / DNS Leak); IP info always runs and has no switch. Preferences move to
the v7 key and any old `autoStart` value migrates onto the three switches.

- use-refresh-orchestrator runs each module per its own switch and flags the
  rest loaded immediately, so allHasLoaded still resolves (it gates the
  info-mask button, the user-info fetch, the brand shimmer).
- Connectivity summary toast now fires on manual runs too, not only at startup:
  handelCheckStart takes a boot/manual/refresh trigger. The multiple-refresh
  and notification options move to Program Settings (they apply to manual runs).
- Fix language switching after the version bump: i18n reads the active language
  from the same prefs key as the store (shared via data/default-preferences.js),
  so a v6 → v7 migration no longer strands the saved choice.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The blur now skips IP slots showing a non-sensitive placeholder — WebRTC and
DNS-leak waiting/error states, and the IPv4/IPv6 error strings — via a shared
createMaskGate(t). A masked screenshot then shows the status word instead of a
pointlessly blurred label; real addresses still blur.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Cut changelog-style narration from comments ("previously…", "replaced in v7",
"…fixes that", the shields.io backstory) so they explain the current code, not
how it got here. Codify this in AGENTS.md's Comments section.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
macchecker / cfradar / asn-connectivity / asn-history serve registry or
append-only data that changes on a monthly-or-slower cadence, so bump their
edge TTL from 1 week to 30 days. Drop the now-unused ONE_HOUR_CACHE and
ONE_WEEK_CACHE constants.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The static map renders at zoom 3, where ~0.176° spans a single pixel, so
rounding the request lat/lon to 1 decimal (~0.1°) leaves the marker visually
unchanged while collapsing every IP in the same grid cell onto one CF
edge-cache key. The cache key is the client URL, so the rounding lives on the
frontend; the displayed lat/lon keep full precision.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Pass asn-history's MIN_PEERS to the routing-history call so RIPEstat drops
sub-threshold rows during its scan instead of returning noise we filter out
anyway. Trims the response and cuts latency on long-history prefixes (e.g.
1.1.1.0/24 from timeout-prone to ~5s) without changing the result. The
threshold stays single-sourced in the handler; fetchRoutingHistory just
forwards it.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@pull pull Bot locked and limited conversation to collaborators Jun 30, 2026
@pull pull Bot added the ⤵️ pull label Jun 30, 2026
@pull pull Bot merged commit fb164bb into Cosr-Backup:main Jun 30, 2026
2 of 3 checks passed
@4everland 4everland Bot requested a deployment to production June 30, 2026 18:27 Abandoned
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant