yuta
0caf2677e4
Release v0.9.0
CI / test (push) Successful in 10m2s
Publish npm package / publish (push) Successful in 9m53s
v0.9.0
2026-06-26 13:24:01 +09:00
yuta
9340ed3f47
Add profileImageUrl to TweetData.author
CI / test (push) Successful in 11m4s
2026-06-26 01:56:14 +09:00
yuta
2e293ad65b
Add user profile resolution
CI / test (push) Successful in 10m0s
2026-06-24 20:46:34 +09:00
yuta
826de66d78
Add home timeline pagination flags
CI / test (push) Successful in 9m58s
2026-06-24 20:17:02 +09:00
yuta
01f4b58b99
test: require explicit relay fixture
CI / test (push) Successful in 9m59s
2026-06-24 19:20:39 +09:00
yuta
eedf9b1644
fix: adapt upstream commands to relay client
CI / test (push) Failing after 5m19s
Publish npm package / publish (push) Successful in 9m52s
v0.8.0
2026-06-24 18:51:33 +09:00
Peter Steinberger
55fd5c3d81
docs: bump changelog to 0.8.0
2026-06-24 18:45:21 +09:00
Peter Steinberger
b7320a19c8
docs: update changelog for 0.7.1 ( #51 #53 #54 )
2026-06-24 18:45:21 +09:00
Peter Steinberger
9b40a2d43c
chore: format files for lint ( #53 ) (thanks @the-vampiire)
2026-06-24 18:44:38 +09:00
Peter Steinberger
a167ac4380
fix: harden engagement mutations ( #53 ) (thanks @the-vampiire)
2026-06-24 18:44:38 +09:00
the-vampiire and Claude Opus 4.5
81f1229660
style: format engagement test file
...
Fix biome formatting for mock chain.
Co-Authored-By: Claude Opus 4.5 <[email protected] >
2026-06-24 18:44:38 +09:00
the-vampiire
da013664c8
feat: add engagement mixin for like/unlike/retweet/unretweet/bookmark
...
Adds a new mixin with programmatic engagement methods:
- like(tweetId) - FavoriteTweet
- unlike(tweetId) - UnfavoriteTweet
- retweet(tweetId) - CreateRetweet
- unretweet(tweetId) - DeleteRetweet
- bookmark(tweetId) - CreateBookmark
Implementation follows existing mixin patterns with:
- Shared performEngagementMutation() helper
- 404 retry with query ID refresh
- Returns BookmarkMutationResult for consistency
Also adds query IDs for the new operations to constants and
the update-query-ids script.
Includes 9 tests covering success cases, error handling, and retry logic.
2026-06-24 18:44:38 +09:00
clickingThingsAndMovingMountains
471cd9b26f
feat(bookmarks): add thread expansion flags
...
Adds thread expansion + filtering for bookmarks, with optional ancestor branches and metadata.\n\nCo-authored-by: Klaus <[email protected] >
2026-06-24 18:44:38 +09:00
Peter Steinberger
966599522a
fix: follow/unfollow hardening ( #54 ) (thanks @citizenlee)
2026-06-24 18:43:54 +09:00
Pablo Tovar
38d5dfe96a
test: move about command coverage
2026-06-24 18:42:39 +09:00
Pablo Tovar
98a7145dea
test: cover about command
2026-06-24 18:42:39 +09:00
Pablo Tovar
75848960cb
feat: add bird about command
2026-06-24 18:42:33 +09:00
Peter Steinberger
1b2afd5acb
refactor: normalize about output + retry helper
2026-06-24 18:42:22 +09:00
Peter Steinberger
77c7d676a7
fix: about account live coverage ( #51 ) (thanks @pjtf93)
2026-06-24 18:42:16 +09:00
Henry Lee
058aa0e3c3
fix: add cursor pagination support to REST fallback for followers/following
...
When GraphQL endpoints return 404 and fall back to REST API v1.1,
pagination now works correctly by:
- Accepting cursor parameter in getFollowersViaRest and getFollowingViaRest
- Passing cursor to REST API requests
- Extracting next_cursor_str from REST responses
- Returning nextCursor in the result for proper --all pagination
2026-06-24 18:42:16 +09:00
Henry Lee
df449ea736
feat: add follow/unfollow commands
...
- bird follow <username-or-id>: follow a user by handle or ID
- bird unfollow <username-or-id>: unfollow a user by handle or ID
Uses REST API /1.1/friendships/create.json and /destroy.json with GraphQL fallback.
Accepts @handles, bare usernames, or numeric user IDs.
2026-06-24 18:41:35 +09:00
Pablo Tovar
3c2f6f480e
docs: document about account access
...
Add README examples for getUserAboutAccount and about command.
2026-06-24 18:41:01 +09:00
Pablo Tovar
253791cc8f
test: move about command coverage
2026-06-24 18:40:30 +09:00
Pablo Tovar
71aa56517e
test: cover about command
2026-06-24 18:40:30 +09:00
Pablo Tovar
afc06864c6
test: add getUserAboutAccount coverage
2026-06-24 18:40:30 +09:00
Pablo Tovar
a2021193ee
feat: add bird about command
2026-06-24 18:40:30 +09:00
Pablo Tovar
769245503c
feat: add AboutAccountQuery client support
2026-06-24 18:40:30 +09:00
Peter Steinberger
083c8cd007
refactor(cli): dedupe commands
2026-06-24 18:40:30 +09:00
Peter Steinberger
6cf0c00d1b
docs: update likes command flags
2026-06-24 18:37:35 +09:00
Peter Steinberger
17599dfb75
docs: release 0.7.0
2026-06-24 18:37:05 +09:00
Peter Steinberger
63e6d71959
fix: scope list feature overrides ( #50 ) (thanks @ryanh-ai)
2026-06-24 18:35:53 +09:00
Ryan H
5509d915ba
test: update feature flag expectations to match new values
2026-06-24 18:35:53 +09:00
loonbot
3dc78d8fff
fix: add missing GraphQL feature flags (post_ctas_fetch_enabled et al)
...
Twitter's GraphQL API now requires additional feature flags that were missing.
This fixes issue #37 and merges PR #31 (home timeline command).
Added to global features.json:
- post_ctas_fetch_enabled
- responsive_web_graphql_exclude_directive_enabled
- blue_business_profile_image_shape_enabled
- tweetypie_unmention_optimization_enabled
- responsive_web_text_conversations_enabled
- interactive_text_enabled
- vibe_api_enabled
- responsive_web_twitter_blue_verified_badge_is_enabled
Fixes #37
2026-06-24 18:35:53 +09:00
yuta
3f370cc4b6
feat: support relay profile selection
CI / test (push) Successful in 10m2s
2026-06-24 18:30:24 +09:00
yuta
7a036e244d
fix: parse verify credentials user id
CI / test (push) Successful in 9m59s
Publish npm package / publish (push) Failing after 5m12s
2026-06-24 16:33:43 +09:00
yuta
ea7e5191b2
docs: update install and relay links
CI / test (push) Successful in 10m0s
2026-06-24 15:59:57 +09:00
yuta
61f6efd816
fix: use package token for gitea npm publish
CI / test (push) Successful in 9m57s
Publish npm package / publish (push) Failing after 5m12s
v0.7.0
2026-06-24 15:35:39 +09:00
yuta
69238834f2
fix: align gitea pnpm install config
CI / test (push) Successful in 10m1s
2026-06-24 15:08:49 +09:00
yuta
0e5c62b250
chore: release 0.7.0
CI / test (push) Failing after 5m6s
Publish npm package / publish (push) Failing after 5m8s
2026-06-24 14:57:47 +09:00
yuta
96535c33f9
feat: publish bird via gitea and nix
CI / test (push) Failing after 6m27s
2026-06-24 14:55:06 +09:00
yuta
fd78705954
Merge pull request 'Use twitter safe relay' ( #1 ) from remove-cookie-auth-use-twitter-safe-relay into main
...
CI / test (push) Has been cancelled
Reviewed-on: #1
2026-06-24 04:38:49 +09:00
yuta
6503bb1b76
Simplify relay request headers
CI / test (pull_request) Has been cancelled
2026-06-24 03:52:16 +09:00
yuta
1f6e228272
Use twitter safe relay
CI / test (pull_request) Has been cancelled
2026-06-24 03:39:34 +09:00
Peter Steinberger
b771e827aa
Merge pull request #48 from jsholmes/fix/tweet-detail-partial-errors
...
fix: handle partial errors in TweetDetail API responses
2026-01-12 07:33:40 +00:00
Peter Steinberger
afdcad4f25
fix: allow partial tweet detail errors ( #48 ) (thanks @jsholmes)
2026-01-12 07:33:25 +00:00
John Holmes and Claude Opus 4.5
35b8774b1c
fix: handle partial errors in TweetDetail API responses
...
Twitter API sometimes returns partial errors (e.g., is_translatable field
failures) alongside valid thread data. Previously, any error caused the
entire request to fail even when usable data was present.
Now we check if threaded_conversation_with_injections_v2.instructions
exists before failing on errors, allowing successful thread fetching
despite non-fatal API errors.
Co-Authored-By: Claude Opus 4.5 <[email protected] >
2026-01-12 07:32:42 +00:00
Peter Steinberger
57c8e8e793
Merge pull request #44 from jsholmes/feat/likes-pagination
...
feat: add full pagination support to likes (parity with bookmarks)
2026-01-12 07:09:02 +00:00
Peter Steinberger
afa7063a72
fix: guard pagination limits ( #44 ) (thanks @jsholmes)
2026-01-12 07:07:47 +00:00
Peter Steinberger
bc744a3bf9
feat: add full pagination support to likes (parity with bookmarks)
...
Library changes:
- Add getAllLikes(options) method for fetching all likes with cursor support
- Refactor getLikes to use private getLikesPaged helper
- Return nextCursor for resumable pagination
- Support maxPages option to limit pages fetched
CLI changes:
- Add --all flag to fetch all likes
- Add --max-pages to limit pagination
- Add --cursor to resume from previous fetch
- Output nextCursor in JSON mode for resumable pagination
This brings likes to feature parity with bookmarks.
Co-Authored-By: Claude Opus 4.5 <[email protected] >
# Conflicts:
# src/commands/users.ts
2026-01-12 07:06:18 +00:00
Peter Steinberger
9cfeda13b2
test: add search CLI pagination checks
2026-01-12 06:44:42 +00:00