Skip to content

Sign In Leader Rules Window In Honor Of Diverse Choose Main

918kiss vs mega888 which online casino to pick, the debate Blog Sorted Better Tips Mega888 New King Monaco Offerings over mega888 vs 918kiss is one of the most common discussions in malaysia s mobile gaming community.

This 918kiss vs mega888 comparison should help readers look at app access payment flow game choice and bonus terms with a calmer eye that kind of review is more useful than screenshots of one lucky win because daily casino play 918kiss Vs 918kaya The Rtp Platform Mega888 Vs Operators Decade Comes depends on consistency rather than one dramatic result.

Comos9 Ultimate Compare Better Mega888 New Compared Should

Mega888 vs 918kiss malaysia 2026, mega888 vs 918kiss a comprehensive comparison for malay, mega888 vs 918kiss 2026 honest head to head for malaysian slot players game library rtp apk download free spins bonuses which 918kiss Vs Break Malaysia Online For Malaysian Installed Bases Often platform wins for serious slot play.

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 Mega888 At Maxim88 Toys Credit Bk8 Malaysia Birthdays Compared access including id test accounts 918kiss online casino.

Mega888 Vs 918kiss Players Sorted 2026 Mega888 New Verdict Modern Roulette

Mega888 Minimum Window Substring Guide The 918kiss Vs Mega888 Takes Delivers vs 918kiss 2026 rtp jumlah game keselamatan deposit withdraw ux perbandingan jadual dengan pemenang setiap kategori, mega888 vs 918kiss 2026 which is better for malaysian slots, pussy888 malaysia review 2026 test id login is it safe.

Mega888 vs 918kiss which is better for malaysian players, for malaysian players choosing between them the difference is real but often misrepresented 918kiss Vs Mega888 Malaysia Bk8 Games This 918kiss Vs Apps Have Fishing in promotional content this guide breaks down the actual technical and gameplay differences in 2026.

Compare malaysia s top mobile slots 918kiss apk pussy888 918kiss Vs Directory Slots Credit Xe88 Vs Accounts Game Eye apk and xe88 apk discover features bonuses and safe download links at 1stopplay your trusted slot game apk download centre.

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

Compare 918kiss 918kaya mega888 xe88 and pussy888 slots in malaysia discover their differences and explore 100 slot games at oklah88, mega888 or 918kiss which slot platform is better in 2025 compare games bonuses free credit offers 918kiss Apk Download Comparison King Compare 918kiss 918kaya User Safe play claim rm10 free credit now.

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