diff --git a/playwriter/src/aria-snapshot.ts b/playwriter/src/aria-snapshot.ts index f51e2c2..d8db8bc 100644 --- a/playwriter/src/aria-snapshot.ts +++ b/playwriter/src/aria-snapshot.ts @@ -93,7 +93,7 @@ const css = String.raw const LABEL_STYLES = css` .__pw_label__ { position: absolute; - font: bold 11px Helvetica, Arial, sans-serif; + font: bold 12px Helvetica, Arial, sans-serif; padding: 1px 4px; border-radius: 3px; color: black; @@ -300,8 +300,8 @@ export async function showAriaRefLabels({ page, interactiveOnly = true }: { // Each rect is { left, top, right, bottom } in viewport coordinates const placedLabels: Array<{ left: number; top: number; right: number; bottom: number }> = [] - // Estimate label dimensions (11px font + padding) - const LABEL_HEIGHT = 16 + // Estimate label dimensions (12px font + padding) + const LABEL_HEIGHT = 17 const LABEL_CHAR_WIDTH = 7 // approximate width per character // Parse alpha from rgb/rgba color string (getComputedStyle always returns these formats) @@ -518,7 +518,7 @@ export async function screenshotWithAccessibilityLabels({ page, interactiveOnly const timestamp = Date.now() const random = Math.random().toString(36).slice(2, 6) const filename = `playwriter-screenshot-${timestamp}-${random}.jpg` - + // Use ./tmp folder (gitignored) instead of system temp const tmpDir = path.join(process.cwd(), 'tmp') if (!fs.existsSync(tmpDir)) { @@ -526,12 +526,20 @@ export async function screenshotWithAccessibilityLabels({ page, interactiveOnly } const screenshotPath = path.join(tmpDir, filename) - // Take screenshot - const buffer = await page.screenshot({ type: 'jpeg', quality: 80 }) - + // Get actual viewport size (innerWidth/innerHeight, not outer window size) + const viewport = await page.evaluate('(() => ({ width: window.innerWidth, height: window.innerHeight }))()') as { width: number; height: number } + + // Take screenshot clipped to actual viewport (excludes browser chrome) + const buffer = await page.screenshot({ + type: 'jpeg', + quality: 80, + scale: 'css', + clip: { x: 0, y: 0, width: viewport.width, height: viewport.height }, + }) + // Save to file fs.writeFileSync(screenshotPath, buffer) - + // Convert to base64 const base64 = buffer.toString('base64') diff --git a/playwriter/src/assets/aria-labels-google-snapshot.txt b/playwriter/src/assets/aria-labels-google-snapshot.txt index 185c501..36f4dab 100644 --- a/playwriter/src/assets/aria-labels-google-snapshot.txt +++ b/playwriter/src/assets/aria-labels-google-snapshot.txt @@ -31,7 +31,7 @@ - generic [ref=e55]: - text: "Google offered in:" - link [ref=e56] [cursor=pointer]: - - /url: https://www.google.com/setprefs?sig=0_U_LREl4THfXa2sQ-b49g0Jd45jk%3D&hl=it&source=homepage&sa=X&ved=0ahUKEwiYgJn4hfSRAxU00xoGHUTZBMEQ2ZgBCBU + - /url: https://www.google.com/setprefs?sig=0_gi5Q9KT3akeon6vbuxB8Wv_u0vw%3D&hl=it&source=homepage&sa=X&ved=0ahUKEwiG0LuSlPSRAxWiLtAFHc53GkwQ2ZgBCBU - text: Italiano - contentinfo [ref=e58]: - generic [ref=e59]: Italy diff --git a/playwriter/src/assets/aria-labels-hacker-news-snapshot.txt b/playwriter/src/assets/aria-labels-hacker-news-snapshot.txt index a8775a8..304978b 100644 --- a/playwriter/src/assets/aria-labels-hacker-news-snapshot.txt +++ b/playwriter/src/assets/aria-labels-hacker-news-snapshot.txt @@ -56,21 +56,21 @@ - link "dlp.rip" [ref=e42] [cursor=pointer]: - /url: from?site=dlp.rip - text: ) - - row "19 points by todsacerdoti 36 minutes ago | hide | 2 comments" [ref=e43]: + - row "50 points by todsacerdoti 1 hour ago | hide | 12 comments" [ref=e43]: - cell [ref=e44] - - cell "19 points by todsacerdoti 36 minutes ago | hide | 2 comments" [ref=e45]: + - cell "50 points by todsacerdoti 1 hour ago | hide | 12 comments" [ref=e45]: - generic [ref=e46]: - - text: 19 points by + - text: 50 points by - link "todsacerdoti" [ref=e47] [cursor=pointer]: - /url: user?id=todsacerdoti - generic "2026-01-05T08:29:38 1767601778" [ref=e48]: - - link "36 minutes ago" [ref=e49] [cursor=pointer]: + - link "1 hour ago" [ref=e49] [cursor=pointer]: - /url: item?id=46496494 - text: "|" - link "hide" [ref=e50] [cursor=pointer]: - /url: hide?id=46496494&goto=news - text: "|" - - link "2 comments" [ref=e51] [cursor=pointer]: + - link "12 comments" [ref=e51] [cursor=pointer]: - /url: item?id=46496494 - row [ref=e52] - 'row "2. upvote Databases in 2025: A Year in Review (cmu.edu)" [ref=e53]': @@ -88,86 +88,86 @@ - link "cmu.edu" [ref=e63] [cursor=pointer]: - /url: from?site=cmu.edu - text: ) - - row "30 points by viveknathani_ 1 hour ago | hide | 4 comments" [ref=e64]: + - row "77 points by viveknathani_ 2 hours ago | hide | 7 comments" [ref=e64]: - cell [ref=e65] - - cell "30 points by viveknathani_ 1 hour ago | hide | 4 comments" [ref=e66]: + - cell "77 points by viveknathani_ 2 hours ago | hide | 7 comments" [ref=e66]: - generic [ref=e67]: - - text: 30 points by + - text: 77 points by - link "viveknathani_" [ref=e68] [cursor=pointer]: - /url: user?id=viveknathani_ - generic "2026-01-05T07:14:30 1767597270" [ref=e69]: - - link "1 hour ago" [ref=e70] [cursor=pointer]: + - link "2 hours ago" [ref=e70] [cursor=pointer]: - /url: item?id=46496103 - text: "|" - link "hide" [ref=e71] [cursor=pointer]: - /url: hide?id=46496103&goto=news - text: "|" - - link "4 comments" [ref=e72] [cursor=pointer]: + - link "7 comments" [ref=e72] [cursor=pointer]: - /url: item?id=46496103 - row [ref=e73] - - row "3. upvote Building a Rust-style static analyzer for C++ with AI (mpaxos.com)" [ref=e74]: + - row "3. upvote A spider web unlike any seen before (nytimes.com)" [ref=e74]: - cell "3." [ref=e75] - cell "upvote" [ref=e76]: - link "upvote" [ref=e78] [cursor=pointer]: - - /url: vote?id=46495539&how=up&goto=news + - /url: vote?id=46496054&how=up&goto=news - generic "upvote" [ref=e79] - - cell "Building a Rust-style static analyzer for C++ with AI (mpaxos.com)" [ref=e80]: + - cell "A spider web unlike any seen before (nytimes.com)" [ref=e80]: - generic [ref=e81]: - - link "Building a Rust-style static analyzer for C++ with AI" [ref=e82] [cursor=pointer]: - - /url: http://mpaxos.com/blog/rusty-cpp.html + - link "A spider web unlike any seen before" [ref=e82] [cursor=pointer]: + - /url: https://www.nytimes.com/2025/11/08/science/biggest-spiderweb-sulfur-cave.html - generic [ref=e83]: - text: ( - - link "mpaxos.com" [ref=e84] [cursor=pointer]: - - /url: from?site=mpaxos.com + - link "nytimes.com" [ref=e84] [cursor=pointer]: + - /url: from?site=nytimes.com - text: ) - - row "48 points by shuaimu 3 hours ago | hide | 21 comments" [ref=e85]: + - row "63 points by juanplusjuan 3 hours ago | hide | 19 comments" [ref=e85]: - cell [ref=e86] - - cell "48 points by shuaimu 3 hours ago | hide | 21 comments" [ref=e87]: + - cell "63 points by juanplusjuan 3 hours ago | hide | 19 comments" [ref=e87]: - generic [ref=e88]: - - text: 48 points by - - link "shuaimu" [ref=e89] [cursor=pointer]: - - /url: user?id=shuaimu - - generic "2026-01-05T05:11:59 1767589919" [ref=e90]: + - text: 63 points by + - link "juanplusjuan" [ref=e89] [cursor=pointer]: + - /url: user?id=juanplusjuan + - generic "2026-01-05T07:06:22 1767596782" [ref=e90]: - link "3 hours ago" [ref=e91] [cursor=pointer]: - - /url: item?id=46495539 + - /url: item?id=46496054 - text: "|" - link "hide" [ref=e92] [cursor=pointer]: - - /url: hide?id=46495539&goto=news + - /url: hide?id=46496054&goto=news - text: "|" - - link "21 comments" [ref=e93] [cursor=pointer]: - - /url: item?id=46495539 + - link "19 comments" [ref=e93] [cursor=pointer]: + - /url: item?id=46496054 - row [ref=e94] - - row "4. upvote A spider web unlike any seen before (nytimes.com)" [ref=e95]: + - row "4. upvote Revisiting the original Roomba and its simple architecture (robotsinplainenglish.com)" [ref=e95]: - cell "4." [ref=e96] - cell "upvote" [ref=e97]: - link "upvote" [ref=e99] [cursor=pointer]: - - /url: vote?id=46496054&how=up&goto=news + - /url: vote?id=46472930&how=up&goto=news - generic "upvote" [ref=e100] - - cell "A spider web unlike any seen before (nytimes.com)" [ref=e101]: + - cell "Revisiting the original Roomba and its simple architecture (robotsinplainenglish.com)" [ref=e101]: - generic [ref=e102]: - - link "A spider web unlike any seen before" [ref=e103] [cursor=pointer]: - - /url: https://www.nytimes.com/2025/11/08/science/biggest-spiderweb-sulfur-cave.html + - link "Revisiting the original Roomba and its simple architecture" [ref=e103] [cursor=pointer]: + - /url: https://robotsinplainenglish.com/e/2025-12-27-roomba.html - generic [ref=e104]: - text: ( - - link "nytimes.com" [ref=e105] [cursor=pointer]: - - /url: from?site=nytimes.com + - link "robotsinplainenglish.com" [ref=e105] [cursor=pointer]: + - /url: from?site=robotsinplainenglish.com - text: ) - - row "28 points by juanplusjuan 1 hour ago | hide | 12 comments" [ref=e106]: + - row "15 points by ripe 1 hour ago | hide | 3 comments" [ref=e106]: - cell [ref=e107] - - cell "28 points by juanplusjuan 1 hour ago | hide | 12 comments" [ref=e108]: + - cell "15 points by ripe 1 hour ago | hide | 3 comments" [ref=e108]: - generic [ref=e109]: - - text: 28 points by - - link "juanplusjuan" [ref=e110] [cursor=pointer]: - - /url: user?id=juanplusjuan - - generic "2026-01-05T07:06:22 1767596782" [ref=e111]: + - text: 15 points by + - link "ripe" [ref=e110] [cursor=pointer]: + - /url: user?id=ripe + - generic "2026-01-03T04:53:20 1767416000" [ref=e111]: - link "1 hour ago" [ref=e112] [cursor=pointer]: - - /url: item?id=46496054 + - /url: item?id=46472930 - text: "|" - link "hide" [ref=e113] [cursor=pointer]: - - /url: hide?id=46496054&goto=news + - /url: hide?id=46472930&goto=news - text: "|" - - link "12 comments" [ref=e114] [cursor=pointer]: - - /url: item?id=46496054 + - link "3 comments" [ref=e114] [cursor=pointer]: + - /url: item?id=46472930 - row [ref=e115] - row "5. upvote Lessons from 14 years at Google (addyosmani.com)" [ref=e116]: - cell "5." [ref=e117] @@ -184,150 +184,150 @@ - link "addyosmani.com" [ref=e126] [cursor=pointer]: - /url: from?site=addyosmani.com - text: ) - - row "1195 points by cdrnsf 17 hours ago | hide | 511 comments" [ref=e127]: + - row "1247 points by cdrnsf 18 hours ago | hide | 535 comments" [ref=e127]: - cell [ref=e128] - - cell "1195 points by cdrnsf 17 hours ago | hide | 511 comments" [ref=e129]: + - cell "1247 points by cdrnsf 18 hours ago | hide | 535 comments" [ref=e129]: - generic [ref=e130]: - - text: 1195 points by + - text: 1247 points by - link "cdrnsf" [ref=e131] [cursor=pointer]: - /url: user?id=cdrnsf - generic "2026-01-04T15:23:54 1767540234" [ref=e132]: - - link "17 hours ago" [ref=e133] [cursor=pointer]: + - link "18 hours ago" [ref=e133] [cursor=pointer]: - /url: item?id=46488819 - text: "|" - link "hide" [ref=e134] [cursor=pointer]: - /url: hide?id=46488819&goto=news - text: "|" - - link "511 comments" [ref=e135] [cursor=pointer]: + - link "535 comments" [ref=e135] [cursor=pointer]: - /url: item?id=46488819 - row [ref=e136] - - 'row "6. upvote Logos Language Guide: Compile English to Rust (logicaffeine.com)" [ref=e137]': + - 'row "6. upvote Show HN: Terminal UI for AWS (github.com/huseyinbabal)" [ref=e137]': - cell "6." [ref=e138] - cell "upvote" [ref=e139]: - link "upvote" [ref=e141] [cursor=pointer]: - - /url: vote?id=46454085&how=up&goto=news + - /url: vote?id=46491749&how=up&goto=news - generic "upvote" [ref=e142] - - 'cell "Logos Language Guide: Compile English to Rust (logicaffeine.com)" [ref=e143]': + - 'cell "Show HN: Terminal UI for AWS (github.com/huseyinbabal)" [ref=e143]': - generic [ref=e144]: - - 'link "Logos Language Guide: Compile English to Rust" [ref=e145] [cursor=pointer]': - - /url: https://logicaffeine.com/guide + - 'link "Show HN: Terminal UI for AWS" [ref=e145] [cursor=pointer]': + - /url: https://github.com/huseyinbabal/taws - generic [ref=e146]: - text: ( - - link "logicaffeine.com" [ref=e147] [cursor=pointer]: - - /url: from?site=logicaffeine.com + - link "github.com/huseyinbabal" [ref=e147] [cursor=pointer]: + - /url: from?site=github.com/huseyinbabal - text: ) - - row "35 points by tristenharr 4 hours ago | hide | 16 comments" [ref=e148]: + - row "310 points by huseyinbabal 13 hours ago | hide | 154 comments" [ref=e148]: - cell [ref=e149] - - cell "35 points by tristenharr 4 hours ago | hide | 16 comments" [ref=e150]: + - cell "310 points by huseyinbabal 13 hours ago | hide | 154 comments" [ref=e150]: - generic [ref=e151]: - - text: 35 points by - - link "tristenharr" [ref=e152] [cursor=pointer]: - - /url: user?id=tristenharr - - generic "2026-01-01T13:48:27 1767275307" [ref=e153]: - - link "4 hours ago" [ref=e154] [cursor=pointer]: - - /url: item?id=46454085 + - text: 310 points by + - link "huseyinbabal" [ref=e152] [cursor=pointer]: + - /url: user?id=huseyinbabal + - generic "2026-01-04T20:17:22 1767557842" [ref=e153]: + - link "13 hours ago" [ref=e154] [cursor=pointer]: + - /url: item?id=46491749 - text: "|" - link "hide" [ref=e155] [cursor=pointer]: - - /url: hide?id=46454085&goto=news + - /url: hide?id=46491749&goto=news - text: "|" - - link "16 comments" [ref=e156] [cursor=pointer]: - - /url: item?id=46454085 + - link "154 comments" [ref=e156] [cursor=pointer]: + - /url: item?id=46491749 - row [ref=e157] - - 'row "7. upvote Show HN: Terminal UI for AWS (github.com/huseyinbabal)" [ref=e158]': + - row "7. upvote During Helene, I just wanted a plain text website (sparkbox.com)" [ref=e158]: - cell "7." [ref=e159] - cell "upvote" [ref=e160]: - link "upvote" [ref=e162] [cursor=pointer]: - - /url: vote?id=46491749&how=up&goto=news + - /url: vote?id=46494734&how=up&goto=news - generic "upvote" [ref=e163] - - 'cell "Show HN: Terminal UI for AWS (github.com/huseyinbabal)" [ref=e164]': + - cell "During Helene, I just wanted a plain text website (sparkbox.com)" [ref=e164]: - generic [ref=e165]: - - 'link "Show HN: Terminal UI for AWS" [ref=e166] [cursor=pointer]': - - /url: https://github.com/huseyinbabal/taws + - link "During Helene, I just wanted a plain text website" [ref=e166] [cursor=pointer]: + - /url: https://sparkbox.com/foundry/helene_and_mobile_web_performance - generic [ref=e167]: - text: ( - - link "github.com/huseyinbabal" [ref=e168] [cursor=pointer]: - - /url: from?site=github.com/huseyinbabal + - link "sparkbox.com" [ref=e168] [cursor=pointer]: + - /url: from?site=sparkbox.com - text: ) - - row "295 points by huseyinbabal 12 hours ago | hide | 149 comments" [ref=e169]: + - row "201 points by CqtGLRGcukpy 7 hours ago | hide | 102 comments" [ref=e169]: - cell [ref=e170] - - cell "295 points by huseyinbabal 12 hours ago | hide | 149 comments" [ref=e171]: + - cell "201 points by CqtGLRGcukpy 7 hours ago | hide | 102 comments" [ref=e171]: - generic [ref=e172]: - - text: 295 points by - - link "huseyinbabal" [ref=e173] [cursor=pointer]: - - /url: user?id=huseyinbabal - - generic "2026-01-04T20:17:22 1767557842" [ref=e174]: - - link "12 hours ago" [ref=e175] [cursor=pointer]: - - /url: item?id=46491749 + - text: 201 points by + - link "CqtGLRGcukpy" [ref=e173] [cursor=pointer]: + - /url: user?id=CqtGLRGcukpy + - generic "2026-01-05T02:36:20 1767580580" [ref=e174]: + - link "7 hours ago" [ref=e175] [cursor=pointer]: + - /url: item?id=46494734 - text: "|" - link "hide" [ref=e176] [cursor=pointer]: - - /url: hide?id=46491749&goto=news + - /url: hide?id=46494734&goto=news - text: "|" - - link "149 comments" [ref=e177] [cursor=pointer]: - - /url: item?id=46491749 + - link "102 comments" [ref=e177] [cursor=pointer]: + - /url: item?id=46494734 - row [ref=e178] - - row "8. upvote During Helene, I just wanted a plain text website (sparkbox.com)" [ref=e179]: + - row "8. upvote The unbearable joy of sitting alone in a café (candost.blog)" [ref=e179]: - cell "8." [ref=e180] - cell "upvote" [ref=e181]: - link "upvote" [ref=e183] [cursor=pointer]: - - /url: vote?id=46494734&how=up&goto=news + - /url: vote?id=46488355&how=up&goto=news - generic "upvote" [ref=e184] - - cell "During Helene, I just wanted a plain text website (sparkbox.com)" [ref=e185]: + - cell "The unbearable joy of sitting alone in a café (candost.blog)" [ref=e185]: - generic [ref=e186]: - - link "During Helene, I just wanted a plain text website" [ref=e187] [cursor=pointer]: - - /url: https://sparkbox.com/foundry/helene_and_mobile_web_performance + - link "The unbearable joy of sitting alone in a café" [ref=e187] [cursor=pointer]: + - /url: https://candost.blog/the-unbearable-joy-of-sitting-alone-in-a-cafe/ - generic [ref=e188]: - text: ( - - link "sparkbox.com" [ref=e189] [cursor=pointer]: - - /url: from?site=sparkbox.com + - link "candost.blog" [ref=e189] [cursor=pointer]: + - /url: from?site=candost.blog - text: ) - - row "182 points by CqtGLRGcukpy 6 hours ago | hide | 90 comments" [ref=e190]: + - row "620 points by mooreds 19 hours ago | hide | 370 comments" [ref=e190]: - cell [ref=e191] - - cell "182 points by CqtGLRGcukpy 6 hours ago | hide | 90 comments" [ref=e192]: + - cell "620 points by mooreds 19 hours ago | hide | 370 comments" [ref=e192]: - generic [ref=e193]: - - text: 182 points by - - link "CqtGLRGcukpy" [ref=e194] [cursor=pointer]: - - /url: user?id=CqtGLRGcukpy - - generic "2026-01-05T02:36:20 1767580580" [ref=e195]: - - link "6 hours ago" [ref=e196] [cursor=pointer]: - - /url: item?id=46494734 + - text: 620 points by + - link "mooreds" [ref=e194] [cursor=pointer]: + - /url: user?id=mooreds + - generic "2026-01-04T14:37:58 1767537478" [ref=e195]: + - link "19 hours ago" [ref=e196] [cursor=pointer]: + - /url: item?id=46488355 - text: "|" - link "hide" [ref=e197] [cursor=pointer]: - - /url: hide?id=46494734&goto=news + - /url: hide?id=46488355&goto=news - text: "|" - - link "90 comments" [ref=e198] [cursor=pointer]: - - /url: item?id=46494734 + - link "370 comments" [ref=e198] [cursor=pointer]: + - /url: item?id=46488355 - row [ref=e199] - - row "9. upvote The unbearable joy of sitting alone in a café (candost.blog)" [ref=e200]: + - 'row "9. upvote Logos Language Guide: Compile English to Rust (logicaffeine.com)" [ref=e200]': - cell "9." [ref=e201] - cell "upvote" [ref=e202]: - link "upvote" [ref=e204] [cursor=pointer]: - - /url: vote?id=46488355&how=up&goto=news + - /url: vote?id=46454085&how=up&goto=news - generic "upvote" [ref=e205] - - cell "The unbearable joy of sitting alone in a café (candost.blog)" [ref=e206]: + - 'cell "Logos Language Guide: Compile English to Rust (logicaffeine.com)" [ref=e206]': - generic [ref=e207]: - - link "The unbearable joy of sitting alone in a café" [ref=e208] [cursor=pointer]: - - /url: https://candost.blog/the-unbearable-joy-of-sitting-alone-in-a-cafe/ + - 'link "Logos Language Guide: Compile English to Rust" [ref=e208] [cursor=pointer]': + - /url: https://logicaffeine.com/guide - generic [ref=e209]: - text: ( - - link "candost.blog" [ref=e210] [cursor=pointer]: - - /url: from?site=candost.blog + - link "logicaffeine.com" [ref=e210] [cursor=pointer]: + - /url: from?site=logicaffeine.com - text: ) - - row "600 points by mooreds 18 hours ago | hide | 346 comments" [ref=e211]: + - row "38 points by tristenharr 5 hours ago | hide | 19 comments" [ref=e211]: - cell [ref=e212] - - cell "600 points by mooreds 18 hours ago | hide | 346 comments" [ref=e213]: + - cell "38 points by tristenharr 5 hours ago | hide | 19 comments" [ref=e213]: - generic [ref=e214]: - - text: 600 points by - - link "mooreds" [ref=e215] [cursor=pointer]: - - /url: user?id=mooreds - - generic "2026-01-04T14:37:58 1767537478" [ref=e216]: - - link "18 hours ago" [ref=e217] [cursor=pointer]: - - /url: item?id=46488355 + - text: 38 points by + - link "tristenharr" [ref=e215] [cursor=pointer]: + - /url: user?id=tristenharr + - generic "2026-01-01T13:48:27 1767275307" [ref=e216]: + - link "5 hours ago" [ref=e217] [cursor=pointer]: + - /url: item?id=46454085 - text: "|" - link "hide" [ref=e218] [cursor=pointer]: - - /url: hide?id=46488355&goto=news + - /url: hide?id=46454085&goto=news - text: "|" - - link "346 comments" [ref=e219] [cursor=pointer]: - - /url: item?id=46488355 + - link "19 comments" [ref=e219] [cursor=pointer]: + - /url: item?id=46454085 - row [ref=e220] - row "10. upvote Why does a least squares fit appear to have a bias when applied to simple data? (stats.stackexchange.com)" [ref=e221]: - cell "10." [ref=e222] @@ -344,21 +344,21 @@ - link "stats.stackexchange.com" [ref=e231] [cursor=pointer]: - /url: from?site=stats.stackexchange.com - text: ) - - row "230 points by azeemba 12 hours ago | hide | 60 comments" [ref=e232]: + - row "243 points by azeemba 13 hours ago | hide | 64 comments" [ref=e232]: - cell [ref=e233] - - cell "230 points by azeemba 12 hours ago | hide | 60 comments" [ref=e234]: + - cell "243 points by azeemba 13 hours ago | hide | 64 comments" [ref=e234]: - generic [ref=e235]: - - text: 230 points by + - text: 243 points by - link "azeemba" [ref=e236] [cursor=pointer]: - /url: user?id=azeemba - generic "2026-01-04T20:25:30 1767558330" [ref=e237]: - - link "12 hours ago" [ref=e238] [cursor=pointer]: + - link "13 hours ago" [ref=e238] [cursor=pointer]: - /url: item?id=46491821 - text: "|" - link "hide" [ref=e239] [cursor=pointer]: - /url: hide?id=46491821&goto=news - text: "|" - - link "60 comments" [ref=e240] [cursor=pointer]: + - link "64 comments" [ref=e240] [cursor=pointer]: - /url: item?id=46491821 - row [ref=e241] - row "11. upvote Street Fighter II, the World Warrier (2021) (fabiensanglard.net)" [ref=e242]: @@ -376,663 +376,669 @@ - link "fabiensanglard.net" [ref=e252] [cursor=pointer]: - /url: from?site=fabiensanglard.net - text: ) - - row "371 points by birdculture 18 hours ago | hide | 63 comments" [ref=e253]: + - row "380 points by birdculture 19 hours ago | hide | 67 comments" [ref=e253]: - cell [ref=e254] - - cell "371 points by birdculture 18 hours ago | hide | 63 comments" [ref=e255]: + - cell "380 points by birdculture 19 hours ago | hide | 67 comments" [ref=e255]: - generic [ref=e256]: - - text: 371 points by + - text: 380 points by - link "birdculture" [ref=e257] [cursor=pointer]: - /url: user?id=birdculture - generic "2026-01-04T14:30:29 1767537029" [ref=e258]: - - link "18 hours ago" [ref=e259] [cursor=pointer]: + - link "19 hours ago" [ref=e259] [cursor=pointer]: - /url: item?id=46488278 - text: "|" - link "hide" [ref=e260] [cursor=pointer]: - /url: hide?id=46488278&goto=news - text: "|" - - link "63 comments" [ref=e261] [cursor=pointer]: + - link "67 comments" [ref=e261] [cursor=pointer]: - /url: item?id=46488278 - row [ref=e262] - - row "12. upvote I charged $18k for a Static HTML Page (2019) (idiallo.com)" [ref=e263]: + - row "12. upvote Why Microsoft Store Discontinued Support for Office Apps (bgr.com)" [ref=e263]: - cell "12." [ref=e264] - cell "upvote" [ref=e265]: - link "upvote" [ref=e267] [cursor=pointer]: - - /url: vote?id=46469877&how=up&goto=news + - /url: vote?id=46454824&how=up&goto=news - generic "upvote" [ref=e268] - - cell "I charged $18k for a Static HTML Page (2019) (idiallo.com)" [ref=e269]: + - cell "Why Microsoft Store Discontinued Support for Office Apps (bgr.com)" [ref=e269]: - generic [ref=e270]: - - link "I charged $18k for a Static HTML Page (2019)" [ref=e271] [cursor=pointer]: - - /url: https://idiallo.com/blog/18000-dollars-static-web-page + - link "Why Microsoft Store Discontinued Support for Office Apps" [ref=e271] [cursor=pointer]: + - /url: https://www.bgr.com/2027774/why-microsoft-store-discontinued-office-support/ - generic [ref=e272]: - text: ( - - link "idiallo.com" [ref=e273] [cursor=pointer]: - - /url: from?site=idiallo.com + - link "bgr.com" [ref=e273] [cursor=pointer]: + - /url: from?site=bgr.com - text: ) - - row "273 points by caminanteblanco 15 hours ago | hide | 68 comments" [ref=e274]: + - row "23 points by itronitron 5 hours ago | hide | 16 comments" [ref=e274]: - cell [ref=e275] - - cell "273 points by caminanteblanco 15 hours ago | hide | 68 comments" [ref=e276]: + - cell "23 points by itronitron 5 hours ago | hide | 16 comments" [ref=e276]: - generic [ref=e277]: - - text: 273 points by - - link "caminanteblanco" [ref=e278] [cursor=pointer]: - - /url: user?id=caminanteblanco - - generic "2026-01-02T21:54:56 1767390896" [ref=e279]: - - link "15 hours ago" [ref=e280] [cursor=pointer]: - - /url: item?id=46469877 + - text: 23 points by + - link "itronitron" [ref=e278] [cursor=pointer]: + - /url: user?id=itronitron + - generic "2026-01-01T15:27:28 1767281248" [ref=e279]: + - link "5 hours ago" [ref=e280] [cursor=pointer]: + - /url: item?id=46454824 - text: "|" - link "hide" [ref=e281] [cursor=pointer]: - - /url: hide?id=46469877&goto=news + - /url: hide?id=46454824&goto=news - text: "|" - - link "68 comments" [ref=e282] [cursor=pointer]: - - /url: item?id=46469877 + - link "16 comments" [ref=e282] [cursor=pointer]: + - /url: item?id=46454824 - row [ref=e283] - - 'row "13. upvote Monads in C# (Part 2): Result (alexyorke.github.io)" [ref=e284]': + - row "13. upvote I charged $18k for a Static HTML Page (2019) (idiallo.com)" [ref=e284]: - cell "13." [ref=e285] - cell "upvote" [ref=e286]: - link "upvote" [ref=e288] [cursor=pointer]: - - /url: vote?id=46456787&how=up&goto=news + - /url: vote?id=46469877&how=up&goto=news - generic "upvote" [ref=e289] - - 'cell "Monads in C# (Part 2): Result (alexyorke.github.io)" [ref=e290]': + - cell "I charged $18k for a Static HTML Page (2019) (idiallo.com)" [ref=e290]: - generic [ref=e291]: - - 'link "Monads in C# (Part 2): Result" [ref=e292] [cursor=pointer]': - - /url: https://alexyorke.github.io/2025/09/13/monads-in-c-sharp-part-2-result/ + - link "I charged $18k for a Static HTML Page (2019)" [ref=e292] [cursor=pointer]: + - /url: https://idiallo.com/blog/18000-dollars-static-web-page - generic [ref=e293]: - text: ( - - link "alexyorke.github.io" [ref=e294] [cursor=pointer]: - - /url: from?site=alexyorke.github.io + - link "idiallo.com" [ref=e294] [cursor=pointer]: + - /url: from?site=idiallo.com - text: ) - - row "15 points by polygot 3 hours ago | hide | 11 comments" [ref=e295]: + - row "286 points by caminanteblanco 16 hours ago | hide | 72 comments" [ref=e295]: - cell [ref=e296] - - cell "15 points by polygot 3 hours ago | hide | 11 comments" [ref=e297]: + - cell "286 points by caminanteblanco 16 hours ago | hide | 72 comments" [ref=e297]: - generic [ref=e298]: - - text: 15 points by - - link "polygot" [ref=e299] [cursor=pointer]: - - /url: user?id=polygot - - generic "2026-01-01T18:45:02 1767293102" [ref=e300]: - - link "3 hours ago" [ref=e301] [cursor=pointer]: - - /url: item?id=46456787 + - text: 286 points by + - link "caminanteblanco" [ref=e299] [cursor=pointer]: + - /url: user?id=caminanteblanco + - generic "2026-01-02T21:54:56 1767390896" [ref=e300]: + - link "16 hours ago" [ref=e301] [cursor=pointer]: + - /url: item?id=46469877 - text: "|" - link "hide" [ref=e302] [cursor=pointer]: - - /url: hide?id=46456787&goto=news + - /url: hide?id=46469877&goto=news - text: "|" - - link "11 comments" [ref=e303] [cursor=pointer]: - - /url: item?id=46456787 + - link "72 comments" [ref=e303] [cursor=pointer]: + - /url: item?id=46469877 - row [ref=e304] - - row "14. upvote Baffling purple honey found only in North Carolina (bbc.com)" [ref=e305]: + - row "14. upvote Building a Rust-style static analyzer for C++ with AI (mpaxos.com)" [ref=e305]: - cell "14." [ref=e306] - cell "upvote" [ref=e307]: - link "upvote" [ref=e309] [cursor=pointer]: - - /url: vote?id=46448356&how=up&goto=news + - /url: vote?id=46495539&how=up&goto=news - generic "upvote" [ref=e310] - - cell "Baffling purple honey found only in North Carolina (bbc.com)" [ref=e311]: + - cell "Building a Rust-style static analyzer for C++ with AI (mpaxos.com)" [ref=e311]: - generic [ref=e312]: - - link "Baffling purple honey found only in North Carolina" [ref=e313] [cursor=pointer]: - - /url: https://www.bbc.com/travel/article/20250417-the-baffling-purple-honey-found-only-in-north-carolina + - link "Building a Rust-style static analyzer for C++ with AI" [ref=e313] [cursor=pointer]: + - /url: http://mpaxos.com/blog/rusty-cpp.html - generic [ref=e314]: - text: ( - - link "bbc.com" [ref=e315] [cursor=pointer]: - - /url: from?site=bbc.com + - link "mpaxos.com" [ref=e315] [cursor=pointer]: + - /url: from?site=mpaxos.com - text: ) - - row "70 points by rmason 6 hours ago | hide | 19 comments" [ref=e316]: + - row "56 points by shuaimu 4 hours ago | hide | 25 comments" [ref=e316]: - cell [ref=e317] - - cell "70 points by rmason 6 hours ago | hide | 19 comments" [ref=e318]: + - cell "56 points by shuaimu 4 hours ago | hide | 25 comments" [ref=e318]: - generic [ref=e319]: - - text: 70 points by - - link "rmason" [ref=e320] [cursor=pointer]: - - /url: user?id=rmason - - generic "2025-12-31T21:06:16 1767215176" [ref=e321]: - - link "6 hours ago" [ref=e322] [cursor=pointer]: - - /url: item?id=46448356 + - text: 56 points by + - link "shuaimu" [ref=e320] [cursor=pointer]: + - /url: user?id=shuaimu + - generic "2026-01-05T05:11:59 1767589919" [ref=e321]: + - link "4 hours ago" [ref=e322] [cursor=pointer]: + - /url: item?id=46495539 - text: "|" - link "hide" [ref=e323] [cursor=pointer]: - - /url: hide?id=46448356&goto=news + - /url: hide?id=46495539&goto=news - text: "|" - - link "19 comments" [ref=e324] [cursor=pointer]: - - /url: item?id=46448356 + - link "25 comments" [ref=e324] [cursor=pointer]: + - /url: item?id=46495539 - row [ref=e325] - - row "15. upvote Inducing self-NSFW classification in image models to prevent deepfakes edits" [ref=e326]: + - row "15. upvote Baffling purple honey found only in North Carolina (bbc.com)" [ref=e326]: - cell "15." [ref=e327] - cell "upvote" [ref=e328]: - link "upvote" [ref=e330] [cursor=pointer]: - - /url: vote?id=46496357&how=up&goto=news + - /url: vote?id=46448356&how=up&goto=news - generic "upvote" [ref=e331] - - cell "Inducing self-NSFW classification in image models to prevent deepfakes edits" [ref=e332]: - - link "Inducing self-NSFW classification in image models to prevent deepfakes edits" [ref=e334] [cursor=pointer]: - - /url: item?id=46496357 - - row "12 points by Genesis_rish 36 minutes ago | hide | 2 comments" [ref=e335]: - - cell [ref=e336] - - cell "12 points by Genesis_rish 36 minutes ago | hide | 2 comments" [ref=e337]: - - generic [ref=e338]: - - text: 12 points by - - link "Genesis_rish" [ref=e339] [cursor=pointer]: - - /url: user?id=Genesis_rish - - generic "2026-01-05T08:02:01 1767600121" [ref=e340]: - - link "36 minutes ago" [ref=e341] [cursor=pointer]: - - /url: item?id=46496357 - - text: "|" - - link "hide" [ref=e342] [cursor=pointer]: - - /url: hide?id=46496357&goto=news - - text: "|" - - link "2 comments" [ref=e343] [cursor=pointer]: - - /url: item?id=46496357 - - row [ref=e344] - - row "16. upvote ICE Is Using Facial-Recognition Technology to Quickly Arrest People (wsj.com)" [ref=e345]: - - cell "16." [ref=e346] - - cell "upvote" [ref=e347]: - - link "upvote" [ref=e349] [cursor=pointer]: - - /url: vote?id=46495560&how=up&goto=news - - generic "upvote" [ref=e350] - - cell "ICE Is Using Facial-Recognition Technology to Quickly Arrest People (wsj.com)" [ref=e351]: - - generic [ref=e352]: - - link "ICE Is Using Facial-Recognition Technology to Quickly Arrest People" [ref=e353] [cursor=pointer]: - - /url: https://www.wsj.com/politics/policy/ice-facial-recognition-app-mobile-fortify-dfdd00bf - - generic [ref=e354]: + - cell "Baffling purple honey found only in North Carolina (bbc.com)" [ref=e332]: + - generic [ref=e333]: + - link "Baffling purple honey found only in North Carolina" [ref=e334] [cursor=pointer]: + - /url: https://www.bbc.com/travel/article/20250417-the-baffling-purple-honey-found-only-in-north-carolina + - generic [ref=e335]: - text: ( - - link "wsj.com" [ref=e355] [cursor=pointer]: - - /url: from?site=wsj.com + - link "bbc.com" [ref=e336] [cursor=pointer]: + - /url: from?site=bbc.com - text: ) - - row "96 points by KnuthIsGod 3 hours ago | hide | 42 comments" [ref=e356]: - - cell [ref=e357] - - cell "96 points by KnuthIsGod 3 hours ago | hide | 42 comments" [ref=e358]: - - generic [ref=e359]: - - text: 96 points by - - link "KnuthIsGod" [ref=e360] [cursor=pointer]: - - /url: user?id=KnuthIsGod - - generic "2026-01-05T05:16:37 1767590197" [ref=e361]: - - link "3 hours ago" [ref=e362] [cursor=pointer]: - - /url: item?id=46495560 + - row "77 points by rmason 7 hours ago | hide | 20 comments" [ref=e337]: + - cell [ref=e338] + - cell "77 points by rmason 7 hours ago | hide | 20 comments" [ref=e339]: + - generic [ref=e340]: + - text: 77 points by + - link "rmason" [ref=e341] [cursor=pointer]: + - /url: user?id=rmason + - generic "2025-12-31T21:06:16 1767215176" [ref=e342]: + - link "7 hours ago" [ref=e343] [cursor=pointer]: + - /url: item?id=46448356 - text: "|" - - link "hide" [ref=e363] [cursor=pointer]: - - /url: hide?id=46495560&goto=news + - link "hide" [ref=e344] [cursor=pointer]: + - /url: hide?id=46448356&goto=news - text: "|" - - link "42 comments" [ref=e364] [cursor=pointer]: - - /url: item?id=46495560 - - row [ref=e365] - - row "17. upvote Claude Code On-the-Go (granda.org)" [ref=e366]: - - cell "17." [ref=e367] - - cell "upvote" [ref=e368]: - - link "upvote" [ref=e370] [cursor=pointer]: - - /url: vote?id=46491486&how=up&goto=news - - generic "upvote" [ref=e371] - - cell "Claude Code On-the-Go (granda.org)" [ref=e372]: - - generic [ref=e373]: - - link "Claude Code On-the-Go" [ref=e374] [cursor=pointer]: - - /url: https://granda.org/en/2026/01/02/claude-code-on-the-go/ - - generic [ref=e375]: + - link "20 comments" [ref=e345] [cursor=pointer]: + - /url: item?id=46448356 + - row [ref=e346] + - 'row "16. upvote Monads in C# (Part 2): Result (alexyorke.github.io)" [ref=e347]': + - cell "16." [ref=e348] + - cell "upvote" [ref=e349]: + - link "upvote" [ref=e351] [cursor=pointer]: + - /url: vote?id=46456787&how=up&goto=news + - generic "upvote" [ref=e352] + - 'cell "Monads in C# (Part 2): Result (alexyorke.github.io)" [ref=e353]': + - generic [ref=e354]: + - 'link "Monads in C# (Part 2): Result" [ref=e355] [cursor=pointer]': + - /url: https://alexyorke.github.io/2025/09/13/monads-in-c-sharp-part-2-result/ + - generic [ref=e356]: - text: ( - - link "granda.org" [ref=e376] [cursor=pointer]: - - /url: from?site=granda.org + - link "alexyorke.github.io" [ref=e357] [cursor=pointer]: + - /url: from?site=alexyorke.github.io - text: ) - - row "308 points by todsacerdoti 12 hours ago | hide | 193 comments" [ref=e377]: - - cell [ref=e378] - - cell "308 points by todsacerdoti 12 hours ago | hide | 193 comments" [ref=e379]: - - generic [ref=e380]: - - text: 308 points by - - link "todsacerdoti" [ref=e381] [cursor=pointer]: - - /url: user?id=todsacerdoti - - generic "2026-01-04T19:48:20 1767556100" [ref=e382]: - - link "12 hours ago" [ref=e383] [cursor=pointer]: - - /url: item?id=46491486 + - row "21 points by polygot 4 hours ago | hide | 18 comments" [ref=e358]: + - cell [ref=e359] + - cell "21 points by polygot 4 hours ago | hide | 18 comments" [ref=e360]: + - generic [ref=e361]: + - text: 21 points by + - link "polygot" [ref=e362] [cursor=pointer]: + - /url: user?id=polygot + - generic "2026-01-01T18:45:02 1767293102" [ref=e363]: + - link "4 hours ago" [ref=e364] [cursor=pointer]: + - /url: item?id=46456787 - text: "|" - - link "hide" [ref=e384] [cursor=pointer]: - - /url: hide?id=46491486&goto=news + - link "hide" [ref=e365] [cursor=pointer]: + - /url: hide?id=46456787&goto=news - text: "|" - - link "193 comments" [ref=e385] [cursor=pointer]: - - /url: item?id=46491486 - - row [ref=e386] - - row "18. upvote Web development is fun again (ma.ttias.be)" [ref=e387]: - - cell "18." [ref=e388] - - cell "upvote" [ref=e389]: - - link "upvote" [ref=e391] [cursor=pointer]: + - link "18 comments" [ref=e366] [cursor=pointer]: + - /url: item?id=46456787 + - row [ref=e367] + - row "17. upvote Web development is fun again (ma.ttias.be)" [ref=e368]: + - cell "17." [ref=e369] + - cell "upvote" [ref=e370]: + - link "upvote" [ref=e372] [cursor=pointer]: - /url: vote?id=46488576&how=up&goto=news - - generic "upvote" [ref=e392] - - cell "Web development is fun again (ma.ttias.be)" [ref=e393]: - - generic [ref=e394]: - - link "Web development is fun again" [ref=e395] [cursor=pointer]: + - generic "upvote" [ref=e373] + - cell "Web development is fun again (ma.ttias.be)" [ref=e374]: + - generic [ref=e375]: + - link "Web development is fun again" [ref=e376] [cursor=pointer]: - /url: https://ma.ttias.be/web-development-is-fun-again/ - - generic [ref=e396]: + - generic [ref=e377]: - text: ( - - link "ma.ttias.be" [ref=e397] [cursor=pointer]: + - link "ma.ttias.be" [ref=e378] [cursor=pointer]: - /url: from?site=ma.ttias.be - text: ) - - row "373 points by Mojah 18 hours ago | hide | 466 comments" [ref=e398]: - - cell [ref=e399] - - cell "373 points by Mojah 18 hours ago | hide | 466 comments" [ref=e400]: - - generic [ref=e401]: - - text: 373 points by - - link "Mojah" [ref=e402] [cursor=pointer]: + - row "389 points by Mojah 19 hours ago | hide | 485 comments" [ref=e379]: + - cell [ref=e380] + - cell "389 points by Mojah 19 hours ago | hide | 485 comments" [ref=e381]: + - generic [ref=e382]: + - text: 389 points by + - link "Mojah" [ref=e383] [cursor=pointer]: - /url: user?id=Mojah - - generic "2026-01-04T15:00:18 1767538818" [ref=e403]: - - link "18 hours ago" [ref=e404] [cursor=pointer]: + - generic "2026-01-04T15:00:18 1767538818" [ref=e384]: + - link "19 hours ago" [ref=e385] [cursor=pointer]: - /url: item?id=46488576 - text: "|" - - link "hide" [ref=e405] [cursor=pointer]: + - link "hide" [ref=e386] [cursor=pointer]: - /url: hide?id=46488576&goto=news - text: "|" - - link "466 comments" [ref=e406] [cursor=pointer]: + - link "485 comments" [ref=e387] [cursor=pointer]: - /url: item?id=46488576 - - row [ref=e407] - - 'row "19. upvote How to translate a ROM: The mysteries of the game cartridge [video] (youtube.com)" [ref=e408]': - - cell "19." [ref=e409] - - cell "upvote" [ref=e410]: - - link "upvote" [ref=e412] [cursor=pointer]: + - row [ref=e388] + - 'row "18. upvote How to translate a ROM: The mysteries of the game cartridge [video] (youtube.com)" [ref=e389]': + - cell "18." [ref=e390] + - cell "upvote" [ref=e391]: + - link "upvote" [ref=e393] [cursor=pointer]: - /url: vote?id=46440188&how=up&goto=news - - generic "upvote" [ref=e413] - - 'cell "How to translate a ROM: The mysteries of the game cartridge [video] (youtube.com)" [ref=e414]': - - generic [ref=e415]: - - 'link "How to translate a ROM: The mysteries of the game cartridge [video]" [ref=e416] [cursor=pointer]': + - generic "upvote" [ref=e394] + - 'cell "How to translate a ROM: The mysteries of the game cartridge [video] (youtube.com)" [ref=e395]': + - generic [ref=e396]: + - 'link "How to translate a ROM: The mysteries of the game cartridge [video]" [ref=e397] [cursor=pointer]': - /url: https://www.youtube.com/watch?v=XDg73E1n5-g - - generic [ref=e417]: + - generic [ref=e398]: - text: ( - - link "youtube.com" [ref=e418] [cursor=pointer]: + - link "youtube.com" [ref=e399] [cursor=pointer]: - /url: from?site=youtube.com - text: ) - - row "14 points by zdw 5 hours ago | hide | discuss" [ref=e419]: - - cell [ref=e420] - - cell "14 points by zdw 5 hours ago | hide | discuss" [ref=e421]: - - generic [ref=e422]: - - text: 14 points by - - link "zdw" [ref=e423] [cursor=pointer]: + - row "18 points by zdw 6 hours ago | hide | discuss" [ref=e400]: + - cell [ref=e401] + - cell "18 points by zdw 6 hours ago | hide | discuss" [ref=e402]: + - generic [ref=e403]: + - text: 18 points by + - link "zdw" [ref=e404] [cursor=pointer]: - /url: user?id=zdw - - generic "2025-12-31T01:10:05 1767143405" [ref=e424]: - - link "5 hours ago" [ref=e425] [cursor=pointer]: + - generic "2025-12-31T01:10:05 1767143405" [ref=e405]: + - link "6 hours ago" [ref=e406] [cursor=pointer]: - /url: item?id=46440188 - text: "|" - - link "hide" [ref=e426] [cursor=pointer]: + - link "hide" [ref=e407] [cursor=pointer]: - /url: hide?id=46440188&goto=news - text: "|" - - link "discuss" [ref=e427] [cursor=pointer]: + - link "discuss" [ref=e408] [cursor=pointer]: - /url: item?id=46440188 - - row [ref=e428] - - 'row "20. upvote Show HN: An interactive guide to how browsers work (howbrowserswork.com)" [ref=e429]': - - cell "20." [ref=e430] - - cell "upvote" [ref=e431]: - - link "upvote" [ref=e433] [cursor=pointer]: + - row [ref=e409] + - 'row "19. upvote Show HN: An interactive guide to how browsers work (howbrowserswork.com)" [ref=e410]': + - cell "19." [ref=e411] + - cell "upvote" [ref=e412]: + - link "upvote" [ref=e414] [cursor=pointer]: - /url: vote?id=46488654&how=up&goto=news - - generic "upvote" [ref=e434] - - 'cell "Show HN: An interactive guide to how browsers work (howbrowserswork.com)" [ref=e435]': - - generic [ref=e436]: - - 'link "Show HN: An interactive guide to how browsers work" [ref=e437] [cursor=pointer]': + - generic "upvote" [ref=e415] + - 'cell "Show HN: An interactive guide to how browsers work (howbrowserswork.com)" [ref=e416]': + - generic [ref=e417]: + - 'link "Show HN: An interactive guide to how browsers work" [ref=e418] [cursor=pointer]': - /url: https://howbrowserswork.com/ - - generic [ref=e438]: + - generic [ref=e419]: - text: ( - - link "howbrowserswork.com" [ref=e439] [cursor=pointer]: + - link "howbrowserswork.com" [ref=e420] [cursor=pointer]: - /url: from?site=howbrowserswork.com - text: ) - - row "227 points by krasun 17 hours ago | hide | 33 comments" [ref=e440]: - - cell [ref=e441] - - cell "227 points by krasun 17 hours ago | hide | 33 comments" [ref=e442]: - - generic [ref=e443]: - - text: 227 points by - - link "krasun" [ref=e444] [cursor=pointer]: + - row "231 points by krasun 19 hours ago | hide | 33 comments" [ref=e421]: + - cell [ref=e422] + - cell "231 points by krasun 19 hours ago | hide | 33 comments" [ref=e423]: + - generic [ref=e424]: + - text: 231 points by + - link "krasun" [ref=e425] [cursor=pointer]: - /url: user?id=krasun - - generic "2026-01-04T15:08:02 1767539282" [ref=e445]: - - link "17 hours ago" [ref=e446] [cursor=pointer]: + - generic "2026-01-04T15:08:02 1767539282" [ref=e426]: + - link "19 hours ago" [ref=e427] [cursor=pointer]: - /url: item?id=46488654 - text: "|" - - link "hide" [ref=e447] [cursor=pointer]: + - link "hide" [ref=e428] [cursor=pointer]: - /url: hide?id=46488654&goto=news - text: "|" - - link "33 comments" [ref=e448] [cursor=pointer]: + - link "33 comments" [ref=e429] [cursor=pointer]: - /url: item?id=46488654 - - row [ref=e449] - - row "21. upvote Why Microsoft Store Discontinued Support for Office Apps (bgr.com)" [ref=e450]: - - cell "21." [ref=e451] - - cell "upvote" [ref=e452]: - - link "upvote" [ref=e454] [cursor=pointer]: - - /url: vote?id=46454824&how=up&goto=news - - generic "upvote" [ref=e455] - - cell "Why Microsoft Store Discontinued Support for Office Apps (bgr.com)" [ref=e456]: - - generic [ref=e457]: - - link "Why Microsoft Store Discontinued Support for Office Apps" [ref=e458] [cursor=pointer]: - - /url: https://www.bgr.com/2027774/why-microsoft-store-discontinued-office-support/ - - generic [ref=e459]: - - text: ( - - link "bgr.com" [ref=e460] [cursor=pointer]: - - /url: from?site=bgr.com - - text: ) - - row "11 points by itronitron 4 hours ago | hide | 5 comments" [ref=e461]: - - cell [ref=e462] - - cell "11 points by itronitron 4 hours ago | hide | 5 comments" [ref=e463]: - - generic [ref=e464]: - - text: 11 points by - - link "itronitron" [ref=e465] [cursor=pointer]: - - /url: user?id=itronitron - - generic "2026-01-01T15:27:28 1767281248" [ref=e466]: - - link "4 hours ago" [ref=e467] [cursor=pointer]: - - /url: item?id=46454824 - - text: "|" - - link "hide" [ref=e468] [cursor=pointer]: - - /url: hide?id=46454824&goto=news - - text: "|" - - link "5 comments" [ref=e469] [cursor=pointer]: - - /url: item?id=46454824 - - row [ref=e470] - - row "22. upvote Six Harmless Bugs Lead to Remote Code Execution (mehmetince.net)" [ref=e471]: - - cell "22." [ref=e472] - - cell "upvote" [ref=e473]: - - link "upvote" [ref=e475] [cursor=pointer]: - - /url: vote?id=46457488&how=up&goto=news - - generic "upvote" [ref=e476] - - cell "Six Harmless Bugs Lead to Remote Code Execution (mehmetince.net)" [ref=e477]: - - generic [ref=e478]: - - link "Six Harmless Bugs Lead to Remote Code Execution" [ref=e479] [cursor=pointer]: - - /url: https://mehmetince.net/the-story-of-a-perfect-exploit-chain-six-bugs-that-looked-harmless-until-they-became-pre-auth-rce-in-a-security-appliance/ - - generic [ref=e480]: - - text: ( - - link "mehmetince.net" [ref=e481] [cursor=pointer]: - - /url: from?site=mehmetince.net - - text: ) - - row "59 points by ozirus 10 hours ago | hide | 11 comments" [ref=e482]: - - cell [ref=e483] - - cell "59 points by ozirus 10 hours ago | hide | 11 comments" [ref=e484]: - - generic [ref=e485]: - - text: 59 points by - - link "ozirus" [ref=e486] [cursor=pointer]: - - /url: user?id=ozirus - - generic "2026-01-01T20:02:09 1767297729" [ref=e487]: - - link "10 hours ago" [ref=e488] [cursor=pointer]: - - /url: item?id=46457488 - - text: "|" - - link "hide" [ref=e489] [cursor=pointer]: - - /url: hide?id=46457488&goto=news - - text: "|" - - link "11 comments" [ref=e490] [cursor=pointer]: - - /url: item?id=46457488 - - row [ref=e491] - - 'row "23. upvote Linear Address Spaces: Unsafe at any speed (2022) (acm.org)" [ref=e492]': - - cell "23." [ref=e493] - - cell "upvote" [ref=e494]: - - link "upvote" [ref=e496] [cursor=pointer]: + - row [ref=e430] + - 'row "20. upvote Linear Address Spaces: Unsafe at any speed (2022) (acm.org)" [ref=e431]': + - cell "20." [ref=e432] + - cell "upvote" [ref=e433]: + - link "upvote" [ref=e435] [cursor=pointer]: - /url: vote?id=46442282&how=up&goto=news - - generic "upvote" [ref=e497] - - 'cell "Linear Address Spaces: Unsafe at any speed (2022) (acm.org)" [ref=e498]': - - generic [ref=e499]: - - 'link "Linear Address Spaces: Unsafe at any speed (2022)" [ref=e500] [cursor=pointer]': + - generic "upvote" [ref=e436] + - 'cell "Linear Address Spaces: Unsafe at any speed (2022) (acm.org)" [ref=e437]': + - generic [ref=e438]: + - 'link "Linear Address Spaces: Unsafe at any speed (2022)" [ref=e439] [cursor=pointer]': - /url: https://queue.acm.org/detail.cfm?id=3534854 - - generic [ref=e501]: + - generic [ref=e440]: - text: ( - - link "acm.org" [ref=e502] [cursor=pointer]: + - link "acm.org" [ref=e441] [cursor=pointer]: - /url: from?site=acm.org - text: ) - - row "152 points by nithssh 14 hours ago | hide | 111 comments" [ref=e503]: - - cell [ref=e504] - - cell "152 points by nithssh 14 hours ago | hide | 111 comments" [ref=e505]: - - generic [ref=e506]: - - text: 152 points by - - link "nithssh" [ref=e507] [cursor=pointer]: + - row "157 points by nithssh 15 hours ago | hide | 114 comments" [ref=e442]: + - cell [ref=e443] + - cell "157 points by nithssh 15 hours ago | hide | 114 comments" [ref=e444]: + - generic [ref=e445]: + - text: 157 points by + - link "nithssh" [ref=e446] [cursor=pointer]: - /url: user?id=nithssh - - generic "2025-12-31T07:57:53 1767167873" [ref=e508]: - - link "14 hours ago" [ref=e509] [cursor=pointer]: + - generic "2025-12-31T07:57:53 1767167873" [ref=e447]: + - link "15 hours ago" [ref=e448] [cursor=pointer]: - /url: item?id=46442282 - text: "|" - - link "hide" [ref=e510] [cursor=pointer]: + - link "hide" [ref=e449] [cursor=pointer]: - /url: hide?id=46442282&goto=news - text: "|" - - link "111 comments" [ref=e511] [cursor=pointer]: + - link "114 comments" [ref=e450] [cursor=pointer]: - /url: item?id=46442282 - - row [ref=e512] - - 'row "24. upvote Eurostar AI vulnerability: When a chatbot goes off the rails (pentestpartners.com)" [ref=e513]': - - cell "24." [ref=e514] - - cell "upvote" [ref=e515]: - - link "upvote" [ref=e517] [cursor=pointer]: + - row [ref=e451] + - 'row "21. upvote Eurostar AI vulnerability: When a chatbot goes off the rails (pentestpartners.com)" [ref=e452]': + - cell "21." [ref=e453] + - cell "upvote" [ref=e454]: + - link "upvote" [ref=e456] [cursor=pointer]: - /url: vote?id=46492063&how=up&goto=news - - generic "upvote" [ref=e518] - - 'cell "Eurostar AI vulnerability: When a chatbot goes off the rails (pentestpartners.com)" [ref=e519]': - - generic [ref=e520]: - - 'link "Eurostar AI vulnerability: When a chatbot goes off the rails" [ref=e521] [cursor=pointer]': + - generic "upvote" [ref=e457] + - 'cell "Eurostar AI vulnerability: When a chatbot goes off the rails (pentestpartners.com)" [ref=e458]': + - generic [ref=e459]: + - 'link "Eurostar AI vulnerability: When a chatbot goes off the rails" [ref=e460] [cursor=pointer]': - /url: https://www.pentestpartners.com/security-blog/eurostar-ai-vulnerability-when-a-chatbot-goes-off-the-rails/ - - generic [ref=e522]: + - generic [ref=e461]: - text: ( - - link "pentestpartners.com" [ref=e523] [cursor=pointer]: + - link "pentestpartners.com" [ref=e462] [cursor=pointer]: - /url: from?site=pentestpartners.com - text: ) - - row "134 points by speckx 12 hours ago | hide | 34 comments" [ref=e524]: - - cell [ref=e525] - - cell "134 points by speckx 12 hours ago | hide | 34 comments" [ref=e526]: - - generic [ref=e527]: - - text: 134 points by - - link "speckx" [ref=e528] [cursor=pointer]: + - row "146 points by speckx 13 hours ago | hide | 36 comments" [ref=e463]: + - cell [ref=e464] + - cell "146 points by speckx 13 hours ago | hide | 36 comments" [ref=e465]: + - generic [ref=e466]: + - text: 146 points by + - link "speckx" [ref=e467] [cursor=pointer]: - /url: user?id=speckx - - generic "2026-01-04T20:52:52 1767559972" [ref=e529]: - - link "12 hours ago" [ref=e530] [cursor=pointer]: + - generic "2026-01-04T20:52:52 1767559972" [ref=e468]: + - link "13 hours ago" [ref=e469] [cursor=pointer]: - /url: item?id=46492063 - text: "|" - - link "hide" [ref=e531] [cursor=pointer]: + - link "hide" [ref=e470] [cursor=pointer]: - /url: hide?id=46492063&goto=news - text: "|" - - link "34 comments" [ref=e532] [cursor=pointer]: + - link "36 comments" [ref=e471] [cursor=pointer]: - /url: item?id=46492063 - - row [ref=e533] - - row "25. upvote NeXTSTEP on Pa-RISC (openpa.net)" [ref=e534]: - - cell "25." [ref=e535] - - cell "upvote" [ref=e536]: - - link "upvote" [ref=e538] [cursor=pointer]: - - /url: vote?id=46494061&how=up&goto=news - - generic "upvote" [ref=e539] - - cell "NeXTSTEP on Pa-RISC (openpa.net)" [ref=e540]: - - generic [ref=e541]: - - link "NeXTSTEP on Pa-RISC" [ref=e542] [cursor=pointer]: - - /url: https://www.openpa.net/nextstep_pa-risc.html - - generic [ref=e543]: + - row [ref=e472] + - row "22. upvote Claude Code On-the-Go (granda.org)" [ref=e473]: + - cell "22." [ref=e474] + - cell "upvote" [ref=e475]: + - link "upvote" [ref=e477] [cursor=pointer]: + - /url: vote?id=46491486&how=up&goto=news + - generic "upvote" [ref=e478] + - cell "Claude Code On-the-Go (granda.org)" [ref=e479]: + - generic [ref=e480]: + - link "Claude Code On-the-Go" [ref=e481] [cursor=pointer]: + - /url: https://granda.org/en/2026/01/02/claude-code-on-the-go/ + - generic [ref=e482]: - text: ( - - link "openpa.net" [ref=e544] [cursor=pointer]: + - link "granda.org" [ref=e483] [cursor=pointer]: + - /url: from?site=granda.org + - text: ) + - row "319 points by todsacerdoti 13 hours ago | hide | 203 comments" [ref=e484]: + - cell [ref=e485] + - cell "319 points by todsacerdoti 13 hours ago | hide | 203 comments" [ref=e486]: + - generic [ref=e487]: + - text: 319 points by + - link "todsacerdoti" [ref=e488] [cursor=pointer]: + - /url: user?id=todsacerdoti + - generic "2026-01-04T19:48:20 1767556100" [ref=e489]: + - link "13 hours ago" [ref=e490] [cursor=pointer]: + - /url: item?id=46491486 + - text: "|" + - link "hide" [ref=e491] [cursor=pointer]: + - /url: hide?id=46491486&goto=news + - text: "|" + - link "203 comments" [ref=e492] [cursor=pointer]: + - /url: item?id=46491486 + - row [ref=e493] + - row "23. upvote Six Harmless Bugs Lead to Remote Code Execution (mehmetince.net)" [ref=e494]: + - cell "23." [ref=e495] + - cell "upvote" [ref=e496]: + - link "upvote" [ref=e498] [cursor=pointer]: + - /url: vote?id=46457488&how=up&goto=news + - generic "upvote" [ref=e499] + - cell "Six Harmless Bugs Lead to Remote Code Execution (mehmetince.net)" [ref=e500]: + - generic [ref=e501]: + - link "Six Harmless Bugs Lead to Remote Code Execution" [ref=e502] [cursor=pointer]: + - /url: https://mehmetince.net/the-story-of-a-perfect-exploit-chain-six-bugs-that-looked-harmless-until-they-became-pre-auth-rce-in-a-security-appliance/ + - generic [ref=e503]: + - text: ( + - link "mehmetince.net" [ref=e504] [cursor=pointer]: + - /url: from?site=mehmetince.net + - text: ) + - row "62 points by ozirus 11 hours ago | hide | 15 comments" [ref=e505]: + - cell [ref=e506] + - cell "62 points by ozirus 11 hours ago | hide | 15 comments" [ref=e507]: + - generic [ref=e508]: + - text: 62 points by + - link "ozirus" [ref=e509] [cursor=pointer]: + - /url: user?id=ozirus + - generic "2026-01-01T20:02:09 1767297729" [ref=e510]: + - link "11 hours ago" [ref=e511] [cursor=pointer]: + - /url: item?id=46457488 + - text: "|" + - link "hide" [ref=e512] [cursor=pointer]: + - /url: hide?id=46457488&goto=news + - text: "|" + - link "15 comments" [ref=e513] [cursor=pointer]: + - /url: item?id=46457488 + - row [ref=e514] + - row "24. upvote NeXTSTEP on Pa-RISC (openpa.net)" [ref=e515]: + - cell "24." [ref=e516] + - cell "upvote" [ref=e517]: + - link "upvote" [ref=e519] [cursor=pointer]: + - /url: vote?id=46494061&how=up&goto=news + - generic "upvote" [ref=e520] + - cell "NeXTSTEP on Pa-RISC (openpa.net)" [ref=e521]: + - generic [ref=e522]: + - link "NeXTSTEP on Pa-RISC" [ref=e523] [cursor=pointer]: + - /url: https://www.openpa.net/nextstep_pa-risc.html + - generic [ref=e524]: + - text: ( + - link "openpa.net" [ref=e525] [cursor=pointer]: - /url: from?site=openpa.net - text: ) - - row "29 points by andsoitis 8 hours ago | hide | 5 comments" [ref=e545]: - - cell [ref=e546] - - cell "29 points by andsoitis 8 hours ago | hide | 5 comments" [ref=e547]: - - generic [ref=e548]: - - text: 29 points by - - link "andsoitis" [ref=e549] [cursor=pointer]: + - row "34 points by andsoitis 9 hours ago | hide | 5 comments" [ref=e526]: + - cell [ref=e527] + - cell "34 points by andsoitis 9 hours ago | hide | 5 comments" [ref=e528]: + - generic [ref=e529]: + - text: 34 points by + - link "andsoitis" [ref=e530] [cursor=pointer]: - /url: user?id=andsoitis - - generic "2026-01-05T00:48:44 1767574124" [ref=e550]: - - link "8 hours ago" [ref=e551] [cursor=pointer]: + - generic "2026-01-05T00:48:44 1767574124" [ref=e531]: + - link "9 hours ago" [ref=e532] [cursor=pointer]: - /url: item?id=46494061 - text: "|" - - link "hide" [ref=e552] [cursor=pointer]: + - link "hide" [ref=e533] [cursor=pointer]: - /url: hide?id=46494061&goto=news - text: "|" - - link "5 comments" [ref=e553] [cursor=pointer]: + - link "5 comments" [ref=e534] [cursor=pointer]: - /url: item?id=46494061 - - row [ref=e554] - - row "26. upvote Ripple, a puzzle game about 2nd and 3rd order effects (ripplegame.app)" [ref=e555]: - - cell "26." [ref=e556] - - cell "upvote" [ref=e557]: - - link "upvote" [ref=e559] [cursor=pointer]: + - row [ref=e535] + - row "25. upvote Ripple, a puzzle game about 2nd and 3rd order effects (ripplegame.app)" [ref=e536]: + - cell "25." [ref=e537] + - cell "upvote" [ref=e538]: + - link "upvote" [ref=e540] [cursor=pointer]: - /url: vote?id=46490323&how=up&goto=news - - generic "upvote" [ref=e560] - - cell "Ripple, a puzzle game about 2nd and 3rd order effects (ripplegame.app)" [ref=e561]: - - generic [ref=e562]: - - link "Ripple, a puzzle game about 2nd and 3rd order effects" [ref=e563] [cursor=pointer]: + - generic "upvote" [ref=e541] + - cell "Ripple, a puzzle game about 2nd and 3rd order effects (ripplegame.app)" [ref=e542]: + - generic [ref=e543]: + - link "Ripple, a puzzle game about 2nd and 3rd order effects" [ref=e544] [cursor=pointer]: - /url: https://ripplegame.app/ - - generic [ref=e564]: + - generic [ref=e545]: - text: ( - - link "ripplegame.app" [ref=e565] [cursor=pointer]: + - link "ripplegame.app" [ref=e546] [cursor=pointer]: - /url: from?site=ripplegame.app - text: ) - - row "117 points by mooreds 13 hours ago | hide | 29 comments" [ref=e566]: - - cell [ref=e567] - - cell "117 points by mooreds 13 hours ago | hide | 29 comments" [ref=e568]: - - generic [ref=e569]: - - text: 117 points by - - link "mooreds" [ref=e570] [cursor=pointer]: + - row "123 points by mooreds 14 hours ago | hide | 32 comments" [ref=e547]: + - cell [ref=e548] + - cell "123 points by mooreds 14 hours ago | hide | 32 comments" [ref=e549]: + - generic [ref=e550]: + - text: 123 points by + - link "mooreds" [ref=e551] [cursor=pointer]: - /url: user?id=mooreds - - generic "2026-01-04T17:50:04 1767549004" [ref=e571]: - - link "13 hours ago" [ref=e572] [cursor=pointer]: + - generic "2026-01-04T17:50:04 1767549004" [ref=e552]: + - link "14 hours ago" [ref=e553] [cursor=pointer]: - /url: item?id=46490323 - text: "|" - - link "hide" [ref=e573] [cursor=pointer]: + - link "hide" [ref=e554] [cursor=pointer]: - /url: hide?id=46490323&goto=news - text: "|" - - link "29 comments" [ref=e574] [cursor=pointer]: + - link "32 comments" [ref=e555] [cursor=pointer]: - /url: item?id=46490323 - - row [ref=e575] - - 'row "27. upvote Millennium Challenge: A corrupted military exercise and its legacy (2015) (warontherocks.com)" [ref=e576]': - - cell "27." [ref=e577] - - cell "upvote" [ref=e578]: - - link "upvote" [ref=e580] [cursor=pointer]: - - /url: vote?id=46493623&how=up&goto=news - - generic "upvote" [ref=e581] - - 'cell "Millennium Challenge: A corrupted military exercise and its legacy (2015) (warontherocks.com)" [ref=e582]': - - generic [ref=e583]: - - 'link "Millennium Challenge: A corrupted military exercise and its legacy (2015)" [ref=e584] [cursor=pointer]': - - /url: https://warontherocks.com/2015/11/millennium-challenge-the-real-story-of-a-corrupted-military-exercise-and-its-legacy/ - - generic [ref=e585]: + - row [ref=e556] + - row "26. upvote ICE is using facial-recognition technology to quickly arrest people (wsj.com)" [ref=e557]: + - cell "26." [ref=e558] + - cell "upvote" [ref=e559]: + - link "upvote" [ref=e561] [cursor=pointer]: + - /url: vote?id=46495560&how=up&goto=news + - generic "upvote" [ref=e562] + - cell "ICE is using facial-recognition technology to quickly arrest people (wsj.com)" [ref=e563]: + - generic [ref=e564]: + - link "ICE is using facial-recognition technology to quickly arrest people" [ref=e565] [cursor=pointer]: + - /url: https://www.wsj.com/politics/policy/ice-facial-recognition-app-mobile-fortify-dfdd00bf + - generic [ref=e566]: - text: ( - - link "warontherocks.com" [ref=e586] [cursor=pointer]: - - /url: from?site=warontherocks.com + - link "wsj.com" [ref=e567] [cursor=pointer]: + - /url: from?site=wsj.com - text: ) - - row "35 points by lifeisstillgood 9 hours ago | hide | 36 comments" [ref=e587]: - - cell [ref=e588] - - cell "35 points by lifeisstillgood 9 hours ago | hide | 36 comments" [ref=e589]: - - generic [ref=e590]: - - text: 35 points by - - link "lifeisstillgood" [ref=e591] [cursor=pointer]: - - /url: user?id=lifeisstillgood - - generic "2026-01-04T23:43:48 1767570228" [ref=e592]: - - link "9 hours ago" [ref=e593] [cursor=pointer]: - - /url: item?id=46493623 + - row "118 points by KnuthIsGod 4 hours ago | hide | 59 comments" [ref=e568]: + - cell [ref=e569] + - cell "118 points by KnuthIsGod 4 hours ago | hide | 59 comments" [ref=e570]: + - generic [ref=e571]: + - text: 118 points by + - link "KnuthIsGod" [ref=e572] [cursor=pointer]: + - /url: user?id=KnuthIsGod + - generic "2026-01-05T05:16:37 1767590197" [ref=e573]: + - link "4 hours ago" [ref=e574] [cursor=pointer]: + - /url: item?id=46495560 - text: "|" - - link "hide" [ref=e594] [cursor=pointer]: - - /url: hide?id=46493623&goto=news + - link "hide" [ref=e575] [cursor=pointer]: + - /url: hide?id=46495560&goto=news - text: "|" - - link "36 comments" [ref=e595] [cursor=pointer]: - - /url: item?id=46493623 - - row [ref=e596] - - row "28. upvote California residents can now request all data brokers delete personal info (ca.gov)" [ref=e597]: - - cell "28." [ref=e598] - - cell "upvote" [ref=e599]: - - link "upvote" [ref=e601] [cursor=pointer]: - - /url: vote?id=46495220&how=up&goto=news - - generic "upvote" [ref=e602] - - cell "California residents can now request all data brokers delete personal info (ca.gov)" [ref=e603]: - - generic [ref=e604]: - - link "California residents can now request all data brokers delete personal info" [ref=e605] [cursor=pointer]: - - /url: https://consumer.drop.privacy.ca.gov/ - - generic [ref=e606]: - - text: ( - - link "ca.gov" [ref=e607] [cursor=pointer]: - - /url: from?site=ca.gov - - text: ) - - row "226 points by memalign 5 hours ago | hide | 55 comments" [ref=e608]: - - cell [ref=e609] - - cell "226 points by memalign 5 hours ago | hide | 55 comments" [ref=e610]: - - generic [ref=e611]: - - text: 226 points by - - link "memalign" [ref=e612] [cursor=pointer]: - - /url: user?id=memalign - - generic "2026-01-05T04:00:38 1767585638" [ref=e613]: - - link "5 hours ago" [ref=e614] [cursor=pointer]: - - /url: item?id=46495220 - - text: "|" - - link "hide" [ref=e615] [cursor=pointer]: - - /url: hide?id=46495220&goto=news - - text: "|" - - link "55 comments" [ref=e616] [cursor=pointer]: - - /url: item?id=46495220 - - row [ref=e617] - - row "29. upvote Moiré Explorer (ertdfgcvb.xyz)" [ref=e618]: - - cell "29." [ref=e619] - - cell "upvote" [ref=e620]: - - link "upvote" [ref=e622] [cursor=pointer]: + - link "59 comments" [ref=e576] [cursor=pointer]: + - /url: item?id=46495560 + - row [ref=e577] + - row "27. upvote Moiré Explorer (ertdfgcvb.xyz)" [ref=e578]: + - cell "27." [ref=e579] + - cell "upvote" [ref=e580]: + - link "upvote" [ref=e582] [cursor=pointer]: - /url: vote?id=46487472&how=up&goto=news - - generic "upvote" [ref=e623] - - cell "Moiré Explorer (ertdfgcvb.xyz)" [ref=e624]: - - generic [ref=e625]: - - link "Moiré Explorer" [ref=e626] [cursor=pointer]: + - generic "upvote" [ref=e583] + - cell "Moiré Explorer (ertdfgcvb.xyz)" [ref=e584]: + - generic [ref=e585]: + - link "Moiré Explorer" [ref=e586] [cursor=pointer]: - /url: https://play.ertdfgcvb.xyz/#/src/demos/moire_explorer - - generic [ref=e627]: + - generic [ref=e587]: - text: ( - - link "ertdfgcvb.xyz" [ref=e628] [cursor=pointer]: + - link "ertdfgcvb.xyz" [ref=e588] [cursor=pointer]: - /url: from?site=ertdfgcvb.xyz - text: ) - - row "161 points by Luc 20 hours ago | hide | 19 comments" [ref=e629]: - - cell [ref=e630] - - cell "161 points by Luc 20 hours ago | hide | 19 comments" [ref=e631]: - - generic [ref=e632]: - - text: 161 points by - - link "Luc" [ref=e633] [cursor=pointer]: + - row "166 points by Luc 21 hours ago | hide | 19 comments" [ref=e589]: + - cell [ref=e590] + - cell "166 points by Luc 21 hours ago | hide | 19 comments" [ref=e591]: + - generic [ref=e592]: + - text: 166 points by + - link "Luc" [ref=e593] [cursor=pointer]: - /url: user?id=Luc - - generic "2026-01-04T12:54:20 1767531260" [ref=e634]: - - link "20 hours ago" [ref=e635] [cursor=pointer]: + - generic "2026-01-04T12:54:20 1767531260" [ref=e594]: + - link "21 hours ago" [ref=e595] [cursor=pointer]: - /url: item?id=46487472 - text: "|" - - link "hide" [ref=e636] [cursor=pointer]: + - link "hide" [ref=e596] [cursor=pointer]: - /url: hide?id=46487472&goto=news - text: "|" - - link "19 comments" [ref=e637] [cursor=pointer]: + - link "19 comments" [ref=e597] [cursor=pointer]: - /url: item?id=46487472 - - row [ref=e638] - - row "30. upvote Agentic Patterns (github.com/nibzard)" [ref=e639]: - - cell "30." [ref=e640] - - cell "upvote" [ref=e641]: - - link "upvote" [ref=e643] [cursor=pointer]: + - row [ref=e598] + - row "28. upvote Agentic Patterns (github.com/nibzard)" [ref=e599]: + - cell "28." [ref=e600] + - cell "upvote" [ref=e601]: + - link "upvote" [ref=e603] [cursor=pointer]: - /url: vote?id=46491244&how=up&goto=news - - generic "upvote" [ref=e644] - - cell "Agentic Patterns (github.com/nibzard)" [ref=e645]: - - generic [ref=e646]: - - link "Agentic Patterns" [ref=e647] [cursor=pointer]: + - generic "upvote" [ref=e604] + - cell "Agentic Patterns (github.com/nibzard)" [ref=e605]: + - generic [ref=e606]: + - link "Agentic Patterns" [ref=e607] [cursor=pointer]: - /url: https://github.com/nibzard/awesome-agentic-patterns - - generic [ref=e648]: + - generic [ref=e608]: - text: ( - - link "github.com/nibzard" [ref=e649] [cursor=pointer]: + - link "github.com/nibzard" [ref=e609] [cursor=pointer]: - /url: from?site=github.com/nibzard - text: ) - - row "116 points by PretzelFisch 13 hours ago | hide | 20 comments" [ref=e650]: - - cell [ref=e651] - - cell "116 points by PretzelFisch 13 hours ago | hide | 20 comments" [ref=e652]: - - generic [ref=e653]: - - text: 116 points by - - link "PretzelFisch" [ref=e654] [cursor=pointer]: + - row "123 points by PretzelFisch 14 hours ago | hide | 22 comments" [ref=e610]: + - cell [ref=e611] + - cell "123 points by PretzelFisch 14 hours ago | hide | 22 comments" [ref=e612]: + - generic [ref=e613]: + - text: 123 points by + - link "PretzelFisch" [ref=e614] [cursor=pointer]: - /url: user?id=PretzelFisch - - generic "2026-01-04T19:24:47 1767554687" [ref=e655]: - - link "13 hours ago" [ref=e656] [cursor=pointer]: + - generic "2026-01-04T19:24:47 1767554687" [ref=e615]: + - link "14 hours ago" [ref=e616] [cursor=pointer]: - /url: item?id=46491244 - text: "|" - - link "hide" [ref=e657] [cursor=pointer]: + - link "hide" [ref=e617] [cursor=pointer]: - /url: hide?id=46491244&goto=news - text: "|" - - link "20 comments" [ref=e658] [cursor=pointer]: + - link "22 comments" [ref=e618] [cursor=pointer]: - /url: item?id=46491244 - - row [ref=e659] - - row [ref=e660] - - row "More" [ref=e661]: - - cell [ref=e662] - - cell "More" [ref=e663]: - - link "More" [ref=e664] [cursor=pointer]: + - row [ref=e619] + - row "29. upvote Anti-aging injection regrows knee cartilage and prevents arthritis (scitechdaily.com)" [ref=e620]: + - cell "29." [ref=e621] + - cell "upvote" [ref=e622]: + - link "upvote" [ref=e624] [cursor=pointer]: + - /url: vote?id=46488711&how=up&goto=news + - generic "upvote" [ref=e625] + - cell "Anti-aging injection regrows knee cartilage and prevents arthritis (scitechdaily.com)" [ref=e626]: + - generic [ref=e627]: + - link "Anti-aging injection regrows knee cartilage and prevents arthritis" [ref=e628] [cursor=pointer]: + - /url: https://scitechdaily.com/anti-aging-injection-regrows-knee-cartilage-and-prevents-arthritis/ + - generic [ref=e629]: + - text: ( + - link "scitechdaily.com" [ref=e630] [cursor=pointer]: + - /url: from?site=scitechdaily.com + - text: ) + - row "311 points by nis0s 18 hours ago | hide | 117 comments" [ref=e631]: + - cell [ref=e632] + - cell "311 points by nis0s 18 hours ago | hide | 117 comments" [ref=e633]: + - generic [ref=e634]: + - text: 311 points by + - link "nis0s" [ref=e635] [cursor=pointer]: + - /url: user?id=nis0s + - generic "2026-01-04T15:13:18 1767539598" [ref=e636]: + - link "18 hours ago" [ref=e637] [cursor=pointer]: + - /url: item?id=46488711 + - text: "|" + - link "hide" [ref=e638] [cursor=pointer]: + - /url: hide?id=46488711&goto=news + - text: "|" + - link "117 comments" [ref=e639] [cursor=pointer]: + - /url: item?id=46488711 + - row [ref=e640] + - row "30. upvote Bison return to Illinois' Kane County after 200 years (phys.org)" [ref=e641]: + - cell "30." [ref=e642] + - cell "upvote" [ref=e643]: + - link "upvote" [ref=e645] [cursor=pointer]: + - /url: vote?id=46436279&how=up&goto=news + - generic "upvote" [ref=e646] + - cell "Bison return to Illinois' Kane County after 200 years (phys.org)" [ref=e647]: + - generic [ref=e648]: + - link "Bison return to Illinois' Kane County after 200 years" [ref=e649] [cursor=pointer]: + - /url: https://phys.org/news/2025-12-bison-illinois-kane-county-years.html + - generic [ref=e650]: + - text: ( + - link "phys.org" [ref=e651] [cursor=pointer]: + - /url: from?site=phys.org + - text: ) + - row "151 points by bikenaga 18 hours ago | hide | 46 comments" [ref=e652]: + - cell [ref=e653] + - cell "151 points by bikenaga 18 hours ago | hide | 46 comments" [ref=e654]: + - generic [ref=e655]: + - text: 151 points by + - link "bikenaga" [ref=e656] [cursor=pointer]: + - /url: user?id=bikenaga + - generic "2025-12-30T18:22:56 1767118976" [ref=e657]: + - link "18 hours ago" [ref=e658] [cursor=pointer]: + - /url: item?id=46436279 + - text: "|" + - link "hide" [ref=e659] [cursor=pointer]: + - /url: hide?id=46436279&goto=news + - text: "|" + - link "46 comments" [ref=e660] [cursor=pointer]: + - /url: item?id=46436279 + - row [ref=e661] + - row [ref=e662] + - row "More" [ref=e663]: + - cell [ref=e664] + - cell "More" [ref=e665]: + - link "More" [ref=e666] [cursor=pointer]: - /url: "?p=2" - - row "Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact Search:" [ref=e665]: - - cell "Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact Search:" [ref=e666]: + - row "Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact Search:" [ref=e667]: + - cell "Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact Search:" [ref=e668]: - img - - table [ref=e667]: - - rowgroup [ref=e668]: - - row [ref=e669]: - - cell [ref=e670] - - generic [ref=e671]: - - generic [ref=e672]: - - link "Guidelines" [ref=e673] [cursor=pointer]: + - table [ref=e669]: + - rowgroup [ref=e670]: + - row [ref=e671]: + - cell [ref=e672] + - generic [ref=e673]: + - generic [ref=e674]: + - link "Guidelines" [ref=e675] [cursor=pointer]: - /url: newsguidelines.html - text: "|" - - link "FAQ" [ref=e674] [cursor=pointer]: + - link "FAQ" [ref=e676] [cursor=pointer]: - /url: newsfaq.html - text: "|" - - link "Lists" [ref=e675] [cursor=pointer]: + - link "Lists" [ref=e677] [cursor=pointer]: - /url: lists - text: "|" - - link "API" [ref=e676] [cursor=pointer]: + - link "API" [ref=e678] [cursor=pointer]: - /url: https://github.com/HackerNews/API - text: "|" - - link "Security" [ref=e677] [cursor=pointer]: + - link "Security" [ref=e679] [cursor=pointer]: - /url: security.html - text: "|" - - link "Legal" [ref=e678] [cursor=pointer]: + - link "Legal" [ref=e680] [cursor=pointer]: - /url: https://www.ycombinator.com/legal/ - text: "|" - - link "Apply to YC" [ref=e679] [cursor=pointer]: + - link "Apply to YC" [ref=e681] [cursor=pointer]: - /url: https://www.ycombinator.com/apply/ - text: "|" - - link "Contact" [ref=e680] [cursor=pointer]: + - link "Contact" [ref=e682] [cursor=pointer]: - /url: mailto:hn@ycombinator.com - - generic [ref=e681]: + - generic [ref=e683]: - text: "Search:" - - textbox [ref=e682] \ No newline at end of file + - textbox [ref=e684] \ No newline at end of file diff --git a/playwriter/src/mcp.test.ts b/playwriter/src/mcp.test.ts index e70f4f9..dd3b2d0 100644 --- a/playwriter/src/mcp.test.ts +++ b/playwriter/src/mcp.test.ts @@ -2314,10 +2314,58 @@ describe('MCP Server Tests', () => { const page = await browserContext.newPage() await page.setContent(` +
+ + - - About Us - +