Skip to content

Sign In Leader Rules Window In Honor Of Diverse Choose Main

Comos9 ultimate igaming directory malaysia 2026 every provider game, 918kiss Mega888 Vs 918kiss Players Sorted 2026 Mega888 New Verdict Modern Roulette vs mega888 which singapore casino is the leader, 918kiss apk download for android free, 918kiss vs mega888 honest comparison across game library rtp bonus structure vip cashback fishing games and payment methods country by country verdict for malaysia singapore indonesia and thailand.

Mega888 s 5 lions 96 00 rtp edges ahead on top rtp 918kiss averages slightly higher across all titles both are excellent it comes down to whether you prefer ocean chinese Comos9 Ultimate Compare Better Mega888 New Compared Should themes mega888 or animal vehicle themes 918kiss.

How Malaysian Players Mega888 Pick Malaysia The Battle Between Ages Right Main

918kiss vs mega888 complete comparison for malaysian Blog Sorted Better Tips Mega888 New King Monaco Offerings players 2026, fontstruct build share download fonts new here no password create an account forgot your password or it s just not working.

Mega888 vs 918kiss which is better for malaysian players, mega888 vs 918kiss which should malaysian slot 918kiss Vs 918kaya The Rtp Platform Mega888 Vs Operators Decade Comes players pick mega888 is the wider reach provider of the two live on 148 malaysian casinos 46 1 of the casinos we track versus 91 for 918kiss 28 3 a gap of 57 casinos.

Comos9 Ultimate Igaming Window Compared For Malaysian Has They

Pussy888 vs mega888 vs 918kiss sister brand comparison pussy888 mega888 and 918kiss are the three biggest names in the my facing scr888 descended brand family all three 918kiss Vs Break Malaysia Online For Malaysian Installed Bases Often use agent registration myr wallets similar slot and fishing libraries and comparable bonus structures and none passes our verification.

Mega888 vs 918kiss 2026 which is better for malaysian slots, mega888 new game launches mega888 vs 918kiss comparison why most players choose mega888 how to access mega888 on mobile 918kiss long standing asian slot favourite 918kiss has been a household name in malaysian slot play for nearly a decade comos9 provides direct platform access including id test Mega888 At Maxim88 Toys Credit Bk8 Malaysia Birthdays Compared accounts 918kiss online casino.

In honor of break month i sorted one piece characters by dick, 918kiss vs mega888 vs pussy888 which is better for classic high volatility jackpot slots and proven Minimum Window Substring Guide The 918kiss Vs Mega888 Takes Delivers payout reliability 918 kiss remains the 1 recommendation.

Winbox Vs Free Games Pussy888 Vs New Working Fun

Mega888 vs 918kiss malaysia 2026, compare 918kiss 918kaya mega888 xe88 and pussy888 slots in malaysia discover their differences and explore 100 slot games at oklah88, mega888 new game launches mega888 vs 918kiss comparison why most players choose mega888 how to access mega888 on mobile 918kiss long standing asian slot favourite 918kiss has been a household name 918kiss Vs Mega888 Malaysia Bk8 Games This 918kiss Vs Apps Have Fishing in malaysian slot play for nearly a decade comos9 provides direct platform access including id test accounts 918kiss online casino.

Merged
adr-eng merged 1 commit into
mainfrom
claude/1009-dedupe-c
Nov 5, 2026
Merged

adr-eng merged 1 commit into
mainfrom
claude/1009-dedupe-c

Conversation

@adr-eng

Copy link
Copy Markdown
Collaborator

Summary

In context.test.tsx, the ThemeContext and LanguageContext suites repeated the same setup in every test: the matchMedia install, the OS-change firing, and the provider + consumer render. That is the largest remaining src/app test-setup clone family (18 + 17 + 13 lines). Local helpers now hold it: installMatchMedia, fireOsChange, renderTheme and renderLanguage. No assertion changed.

Ratchet: .jscpd.json threshold goes from 0.93 to 0.90. The header history in scripts/check-dupes.mjs is updated to match.

SHARED: .jscpd.json

Evidence

  • Behaviour proof: vitest JSON for context.test.tsx was captured before and after. The same 11 tests, same full names, all pass, and the before/after lists are identical (diff empty).
  • pnpm check:dupes: pass. Measured on this branch: 1842 → 1794 duplicated lines, 193 → 190 clones, 0.9154% → 0.8918%. The threshold is 0.90 because 0.89 would fail this branch on its own. Once refactor(table): share the header cell between plain and sortable columns (hds#1009 slice 9) #1169 and refactor(segmented-control): share the indicator/description state axes (hds#1009 slice 10) #1170 also merge (−11 and −9 lines), a later slice can take it to 0.89.
  • pnpm typecheck: pass
  • eslint + prettier on touched files: clean
  • vitest run scripts/__tests__/check-dupes.test.mjs src/app/context: 4 files, 53/53 pass
  • pre-push hook: pass (record-freshness ✓, state-surfaces ✓, full vitest 509 files, 8266 passed / 15 skipped, pack/types checks ✓)
  • Note: this commit was made in a git worktree where husky hooks were not installed, so pre-commit did not run on it. The checks above were run by hand and pre-push ran on push.

Merge Danger

Low. It is test-only plus a ratchet that only moves down. If another hds#1009/#1010 PR also edits .jscpd.json, take the lower threshold that still passes on main.

Preview (required, see CLAUDE.md "PR previews")

No visual change: test files and the jscpd config only.

Reviewed: author self-review of the diff only. Needs an independent Reviewed: PASS — <sha> before merge.

Refs hds#1009


Generated by Claude Code

…test (hds#1009 slice 11) The ThemeContext and LanguageContext suites repeated the matchMedia install, the OS-change firing and the provider-plus-consumer render in every test. Local helpers (installMatchMedia, fireOsChange, renderTheme, renderLanguage) now hold them. Same 11 tests with the same full names and statuses (vitest JSON before/after identical); no assertion changed. jscpd duplicated lines 1842 -> 1794 (0.9154% -> 0.8918%); ratchet .jscpd.json 0.93 -> 0.90. Refs hds#1009 skip-changeset: test-only refactor, nothing ships Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01YAE7bWyMHvLVjGmro16NWa
@vercel

vercelBot commented Nov 5, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
ProjectDeploymentActionsUpdated
hirobius-hds-componentsIgnoredIgnoredNov 5, 2026 8:26am UTC

Request Review

@adr-eng

Copy link
Copy Markdown
CollaboratorAuthor

Muse: REVIEW — SOUND — reviewed head a88299c

Test-only dedupe in src/app/context/tests/context.test.tsx plus the dupes ratchet, matching hds#1009's intent. Verified: only 3 files touched (.jscpd.json, scripts/check-dupes.mjs comment-only, and the test file) — no production code (ThemeContext/LanguageContext sources untouched) and no unrelated changes.

Coverage preserved in substance: installMatchMedia/fireOsChange/renderTheme/renderLanguage reproduce the original setup exactly — matchMedia is still installed before the dynamic import in renderTheme, fireOsChange still mutates mqObject.matches and fires all mqListeners inside act() with the same values at call sites, and the returned () => ctx! accessors read the latest context on each render, equivalent to the old per-render captured variables. No test case dropped, skipped, or renamed: the 5 expectations removed in the old form reappear 5-for-5 in the new form with identical targets and values (isDark false→true in system mode, isDark stays false in light mode, isRtl true, and the html[dir] ltr/rtl assertions unchanged verbatim); optional calls (setMode?. / toggle?. / setDirection?.) became direct calls via the accessors, which is stricter, not weaker. PR evidence also reports identical before/after vitest test lists (same 11 tests, all passing) and a passing full pre-push gate.

Ratchet is consistent: .jscpd.json threshold moves down only, 0.93 → 0.90, above the branch's measured 0.8918%, and the history comment in scripts/check-dupes.mjs is updated to match.

@adr-eng

Copy link
Copy Markdown
CollaboratorAuthor

Muse: REVIEW — SOUND
Reviewer-Session: event-hook:822cccd5-c1b4-4f8a-96ea-b6c1885f31bd
Reviewed head: a88299c

Test-only dedupe, done safely. installMatchMedia / fireOsChange / renderTheme / renderLanguage extract exactly the setup the Theme and Language suites repeated; the live-context accessor (() => ctx!) preserves the old captured-variable semantics, so assertions read the current context after setMode/setDirection/OS-change exactly as before — and the body evidence shows the same 11 test full-names passing before and after with an empty diff. fireOsChange keeps the two-step contract ThemeContext relies on (mutate mq.matches, then fire listeners). Ratchet: .jscpd.json 0.93→0.90 with measured 0.8918% on this branch, and the check-dupes header history is updated in step. No assertion changed, no production code touched.

@adr-eng
adr-eng merged commit 0a19a5f into mainNov 5, 2026
4 checks passed
@adr-eng
adr-eng deleted the claude/1009-dedupe-c branch November 5, 2026 08:58
Sign up for freeto 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.

2 participants

@adr-eng@claude