Commit Graph

  • 2db2901e9e Patch primp-h2 so the empty frame that ends a response stops counting toward its flood limit, which closed every connection to X after about 100 answers. master 4cuckandCursor 2026-10-27 03:32:32 +00:00
  • 3e041c5e57 Copy a call that runs long onto a spare account without waiting for the limits lock, and log each operation's latency every minute. 4cuckandCursor 2026-10-27 03:11:57 +00:00
  • f3e4281f81 Park a proxy exit for a while when X answers it far slower than the rest of the fleet, doubling the time when it relapses. 4cuckandCursor 2026-10-27 03:02:15 +00:00
  • dbdce021d3 Fetch a profile tab's user and posts in the same wave when the id is known, and send the page once the posts land instead of waiting on the photo strip. 4cuckandCursor 2026-10-27 02:56:10 +00:00
  • 729040d944 Gzip pages, feeds and JSON on the way out so they cross the Cloudflare tunnel at a fraction of their size. 4cuckandCursor 2026-10-27 02:47:45 +00:00
  • 429eb14d34 Write logs from a background thread so a lagging pm2 drops lines instead of stalling requests, and log GraphQL calls without the feature blob. 4cuckandCursor 2026-10-27 02:41:57 +00:00
  • 6bd0b2dfcc Undo parking slow proxy exits, copying long X calls, and fetching a tab's user and posts together. 4cuckandCursor 2026-10-27 02:25:58 +00:00
  • 0988cae123 Park proxy exits X slow-walks, copy calls that run long, and fetch a profile tab's user and posts together. 4cuckandCursor 2026-10-27 01:52:54 +00:00
  • 7438d9c867 Store account rate limits and user ids in Postgres so a profile does not rewrite a JSON file or wait twice for X. 4cuckandCursor 2026-10-27 00:19:33 +00:00
  • 040f75babb Stop a call to X from waiting on a scan of every account and a full limits rewrite. 4cuckandCursor 2026-10-26 23:33:08 +00:00
  • 6dde62090f Send the profile before the photo strip finishes, and hide Articles until X confirms them. 4cuckandCursor 2026-10-26 23:20:39 +00:00
  • bf581e2c7f Stop dead proxy sockets and the articles check from holding a profile. 4cuckandCursor 2026-10-26 22:29:32 +00:00
  • 1e10373c6b Take the first free account when the whole pool is already at its cap. 4cuckandCursor 2026-10-26 18:14:58 +00:00
  • 5219453120 Add the profile posts menu and stop treating prices as tickers. 4cuckandCursor 2026-10-25 21:04:19 +00:00
  • b8a0d0fc00 Give article bylines room between the name and the handle. 4cuckandCursor 2026-10-25 20:33:22 +00:00
  • 74c1afa0e2 Add a profile Articles tab so long posts can be opened from the account. 4cuckandCursor 2026-10-25 20:29:20 +00:00
  • 44b006821d Skip an account that already has two calls in flight so a crawl keeps moving. 4cuckandCursor 2026-10-25 09:23:46 +00:00
  • d00136558a Refuse cross-site preference changes and redirects off Twitter, YouTube, and Reddit. 4cuckandCursor 2026-10-25 03:31:12 +00:00
  • e93d659d21 Load the next gallery page when the photos already fit on screen. 4cuckandCursor 2026-10-24 18:03:27 +00:00
  • b0572193fc Show spare domains and a donate button on the front page. 4cuckandCursor 2026-10-24 03:05:01 +00:00
  • de02b80c42 Link the public status page from the README. vpsandCursor 2026-10-22 00:26:51 +00:00
  • 54939a9899 Publish a signed Web Bot Auth key directory. 4cuckandCursor 2026-10-21 01:13:15 +00:00
  • 599def5d4d Publish the documents and read tools agents need to use teapawt. 4cuckandCursor 2026-10-21 00:17:13 +00:00
  • f0c057710c Bind translate buttons on replies that infinite scroll inserts. 4cuckandCursor 2026-10-20 16:58:43 +00:00
  • 601da983e0 Retry a search on another account when its 429 still carries a rate-limit window. 4cuckandCursor 2026-10-20 16:05:22 +00:00
  • 2689a1f1d4 Add Explore, game highlights, and trending stories. 4cuckandCursor 2026-10-20 08:08:43 +00:00
  • fadab2cb13 Center and compact timeline pagination controls. 4cuckandCursor 2026-10-20 06:39:15 +00:00
  • f0c1b6c20c Stop gallery auto-scan after forty empty results. 4cuckandCursor 2026-10-20 06:31:27 +00:00
  • c378025e6c Keep media galleries moving through empty cached pages. 4cuckandCursor 2026-10-20 06:24:23 +00:00
  • 7baf62ec9e Explain why some accounts stay out of search. 4cuckandCursor 2026-10-20 05:34:38 +00:00
  • f361b6c594 Park a proxy exit when X rate-limits its IP. 4cuckandCursor 2026-10-20 05:26:00 +00:00
  • 58f09c286c Note that posting will take months, and set the version to 0.19.0. 4cuckandCursor 2026-10-20 01:35:25 +00:00
  • 5c18c66429 Show this month's donations on the homepage, and reset the counter on the 23rd. 4cuckandCursor 2026-10-19 16:27:11 +00:00
  • e0e51f903d Keep accounts that cannot search out of search for good. 4cuckandCursor 2026-10-19 15:58:55 +00:00
  • 1143f95bf4 Ask for another $120 and drop the imageboard links from the nav. 4cuckandCursor 2026-10-19 15:48:36 +00:00
  • 24ad9d0dfe Expose a post's translation as plain text on the status JSON. vpsandCursor 2026-10-18 22:38:37 +00:00
  • 170b7bcbf1 Carry proxy media onto every link in a proxied RSS feed. 4cuckandCursor 2026-10-18 20:47:13 +00:00
  • 6f5eaa50f3 Note that a busy instance should leave the per-account cap uncapped. 4cuckandCursor 2026-10-18 19:57:28 +00:00
  • 98f1493543 Stop idle connections from filling the proxy exits. 4cuckandCursor 2026-10-18 19:37:40 +00:00
  • aeb5299f54 Let people pick a default reply order, and honor proxy media on RSS. 4cuckandCursor 2026-10-18 19:04:54 +00:00
  • 6f9cfa0ec8 Stop a bad span or a dead connection from stalling the page. 4cuckandCursor 2026-10-18 18:56:00 +00:00
  • 89e317a2d3 Point GitHub links at teapawt and drop the fork line from the README. 4cuckandCursor 2026-10-14 01:56:49 +00:00
  • a50c0ebadd Let donation forms redirect to the card, crypto, and LZT checkouts. 4cuckandCursor 2026-10-14 00:05:02 +00:00
  • 8a9f095c31 Count a partial crypto donation as the amount that actually arrived. 4cuckandCursor 2026-10-13 20:04:50 +00:00
  • 1528e967e8 Tell donors they can request features, and what extra money would fund. 4cuckandCursor 2026-10-13 17:55:53 +00:00
  • 9c1dd0f29a Add a donate page for card, crypto, and LZT Market payments. 4cuckandCursor 2026-10-13 17:05:46 +00:00
  • 7b42783b32 Let a translate click through when automatic translations have used the minute. 4cuckandCursor 2026-10-12 23:47:31 +00:00
  • 12dba443f6 Let Firefox users dismiss the media tracking warning. 4cuckandCursor 2026-10-12 23:21:52 +00:00
  • bd6db0a940 Warn Firefox users that tracking protection flags direct Twitter media. 4cuckandCursor 2026-10-12 23:04:07 +00:00
  • 5094ab658e Add broadcast and community pages plus HLS playback, and tighten preferences. 4cuckandCursor 2026-10-12 22:50:25 +00:00
  • c63f792963 Let the browser load Twitter media directly, with a preference to proxy it. 4cuckandCursor 2026-10-12 22:31:27 +00:00
  • e9c86c04a3 Pack the timeline tighter, put the time under the name, and add the Nitter themes. 4cuckandCursor 2026-10-12 22:08:22 +00:00
  • d5d6312a4e Stop reusing a dead CDN connection for images and video. vpsandCursor 2026-10-12 21:50:12 +00:00
  • cc390c9b30 Show a page when X fails to fill one field of it, instead of an internal error. 4cuck 2026-10-09 22:13:11 +00:00
  • d5b8abfd36 Read profile counts, banner, website, and pinned post from X's current user layout. 4cuck 2026-10-09 22:07:05 +00:00
  • 5d609d621e Read X's live GraphQL ids, skip accounts X refuses search, and stop retry loops. 4cuck 2026-10-09 20:42:33 +00:00
  • b8fe22b76d Add a Lists search tab and open list pages with their banner and posts. 4cuck 2026-10-06 04:20:29 +00:00
  • 979b7b89cf Add a profile Reposts tab and send X requests in the captured Chrome header order. 4cuck 2026-10-06 02:55:30 +00:00
  • 01c8303fc2 Give the homepage and profile search fields room for their placeholder text. 4cuck 2026-10-06 02:07:36 +00:00
  • 48b067736b Rewrite a search only after X denylists that exact query. 4cuck 2026-10-06 01:44:09 +00:00
  • 571f94eea7 Serve a cached profile when the timeline quota is gone. 4cuck 2026-10-05 03:40:32 +00:00
  • b80b1960cf Preview the linked photo for unfurl bots and keep slash URLs on the same page. 4cuck 2026-10-05 03:00:46 +00:00
  • 3adc9754c6 Retry an HTML 429 through the configured proxy, and keep account limits direct. 4cuck 2026-10-05 02:48:52 +00:00
  • 52114cbbf9 Explain when a video is over the 512 MB cache instead of playing it. 4cuck 2026-10-05 02:48:52 +00:00
  • fff4a6fd57 Restore the full profile and static sitemaps. vpsandCursor 2026-09-20 18:32:40 +00:00
  • c5a49dda25 Add Nord Dark and Nord Light themes. vpsandCursor 2026-09-20 18:21:48 +00:00
  • 3bd0fc3789 Keep only our GitHub on About and shrink sitemaps so Googlebot can fetch them. vpsandCursor 2026-09-20 18:20:57 +00:00
  • 1bacf0f5de Open the site to crawlers and fix the homepage profile hub. vpsandCursor 2026-09-19 01:19:23 +00:00
  • 3b696b22d3 parser: preserve media grid order vpsandCursor 2026-09-17 13:58:18 +00:00
  • 8008b61d92 Add donation addresses to the About page and README. 4cuck 2026-09-07 16:51:20 +00:00
  • 7cefbccead Wrap the conversation scroll fragment so loaded replies are shown. 4cuck 2026-09-06 18:31:55 +00:00
  • 9f795eec97 Page conversations past X's "show more replies" fold. 4cuck 2026-09-06 18:08:46 +00:00
  • 164d631694 Present every account as a real browser and speed up the upstream path. 4cuck 2026-09-06 17:40:03 +00:00
  • 69d450c5b0 Preserve every GIF in multi-GIF posts. 4cuck 2026-09-06 16:24:48 +00:00
  • 782682785b Drop the transaction id when X answers a bodyless 404. 4cuck 2026-09-06 16:24:44 +00:00
  • 6e0267b0da Refuse ids that cannot be snowflakes before spending a session. 4cuck 2026-09-05 04:48:48 +00:00
  • 57b64c3b73 Lift X's adult-media age gate and finish the search layout. 4cuck 2026-09-02 22:29:42 +00:00
  • 95cc2df375 Route GraphQL through session-pinned SOCKS5 and serve repeats from cache. 4cuck 2026-09-02 19:59:32 +00:00
  • b41745925c Retry empty GraphQL 404s instead of calling the search not found. 4cuck 2026-08-31 14:40:43 +00:00
  • 92dcab30ca Stop treating locked cookie sessions as suspended profiles. 4cuck 2026-08-31 14:32:13 +00:00
  • cac35b725d Keep quote Translate buttons above the quote overlay. 4cuck 2026-08-31 14:24:10 +00:00
  • 83a5b64a8c prefs: let the theme cookie be read from script 4cuck 2026-08-29 03:23:21 -04:00
  • 827833cf79 views: show country and translation on quoted posts 4cuck 2026-08-29 03:23:21 -04:00
  • fabccf5039 views: say what a suspended or missing account means 4cuck 2026-08-29 03:23:21 -04:00
  • 37a9f399bc css: realign the interstitial with the new layout layer 4cuck 2026-08-29 03:23:21 -04:00
  • 1e8707fa47 Turn off X's default NSFW filters on new cookie sessions. 4cuck 2026-08-31 14:20:35 +00:00
  • db77470c5b Rebrand the public identity as teapawt with the cup-and-paw logo. 4cuck 2026-08-30 02:31:22 +00:00
  • a427103cc2 Restore the icon navbar and drop the hamburger menu. 4cuck 2026-08-30 02:10:00 +00:00
  • a13e8ce0d3 Merge amaanq/teapot: about-account, mobile nav, and landing refresh. vpsandCursor 2026-08-30 01:54:25 +00:00
  • 904ff9bfc2 Add nitter.cf instance branding, search dedupe, and safer API errors. vpsandCursor 2026-08-30 01:54:05 +00:00
  • db22d78a36 css: add the information-first layout layer 4cuck 2026-08-29 03:23:21 -04:00
  • 95e375759f views: fill the photo rail grid evenly 4cuck 2026-08-29 03:23:21 -04:00
  • afbb0dd8ad css: limit the Twemoji face to emoji codepoints 4cuck 2026-08-29 03:23:21 -04:00
  • e17ee3ce23 views: mark thread position on timeline items 4cuck 2026-08-29 03:23:21 -04:00
  • 8bbaee7b4f config: document the X-Posed community cache 4cuck 2026-08-29 03:23:21 -04:00
  • 5834c2a5ce views: add a mobile navigation menu 4cuck 2026-08-29 03:23:21 -04:00
  • 9afb6bc6be views: abbreviate profile stat counts 4cuck 2026-08-29 03:23:21 -04:00
  • 5f5055bfd4 views: add the sticky thread context bar 4cuck 2026-08-29 03:23:21 -04:00
  • 02939eda6b views: rework the landing page and search results 4cuck 2026-08-29 03:23:21 -04:00
  • eb4bc4dc76 views: group the settings form into sections 4cuck 2026-08-29 03:23:21 -04:00