Merge pull request #27 from zheli/fix/lists-api-features
Add required lists GraphQL feature flags
This commit is contained in:
@@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
- macOS cookie extraction now supports Brave keychain storage (#40) — thanks @gakonst.
|
- macOS cookie extraction now supports Brave keychain storage (#40) — thanks @gakonst.
|
||||||
|
- Lists GraphQL feature flags updated to prevent 400s (#27) — thanks @zheli.
|
||||||
- Likes pagination now follows cursors and avoids stalling on duplicate pages (#12) — thanks @titouv.
|
- Likes pagination now follows cursors and avoids stalling on duplicate pages (#12) — thanks @titouv.
|
||||||
|
|
||||||
## 0.6.0 — 2026-01-05
|
## 0.6.0 — 2026-01-05
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ export function buildArticleFeatures(): Record<string, boolean> {
|
|||||||
verified_phone_label_enabled: false,
|
verified_phone_label_enabled: false,
|
||||||
creator_subscriptions_tweet_preview_api_enabled: true,
|
creator_subscriptions_tweet_preview_api_enabled: true,
|
||||||
responsive_web_graphql_timeline_navigation_enabled: true,
|
responsive_web_graphql_timeline_navigation_enabled: true,
|
||||||
|
responsive_web_graphql_exclude_directive_enabled: true,
|
||||||
responsive_web_graphql_skip_user_profile_image_extensions_enabled: false,
|
responsive_web_graphql_skip_user_profile_image_extensions_enabled: false,
|
||||||
premium_content_api_read_enabled: false,
|
premium_content_api_read_enabled: false,
|
||||||
communities_web_enable_tweet_community_results_fetch: true,
|
communities_web_enable_tweet_community_results_fetch: true,
|
||||||
@@ -187,6 +188,7 @@ export function buildListsFeatures(): Record<string, boolean> {
|
|||||||
verified_phone_label_enabled: false,
|
verified_phone_label_enabled: false,
|
||||||
creator_subscriptions_tweet_preview_api_enabled: true,
|
creator_subscriptions_tweet_preview_api_enabled: true,
|
||||||
responsive_web_graphql_timeline_navigation_enabled: true,
|
responsive_web_graphql_timeline_navigation_enabled: true,
|
||||||
|
responsive_web_graphql_exclude_directive_enabled: true,
|
||||||
responsive_web_graphql_skip_user_profile_image_extensions_enabled: false,
|
responsive_web_graphql_skip_user_profile_image_extensions_enabled: false,
|
||||||
premium_content_api_read_enabled: false,
|
premium_content_api_read_enabled: false,
|
||||||
communities_web_enable_tweet_community_results_fetch: true,
|
communities_web_enable_tweet_community_results_fetch: true,
|
||||||
@@ -216,6 +218,11 @@ export function buildListsFeatures(): Record<string, boolean> {
|
|||||||
responsive_web_grok_imagine_annotation_enabled: true,
|
responsive_web_grok_imagine_annotation_enabled: true,
|
||||||
responsive_web_grok_community_note_auto_translation_is_enabled: false,
|
responsive_web_grok_community_note_auto_translation_is_enabled: false,
|
||||||
responsive_web_enhance_cards_enabled: false,
|
responsive_web_enhance_cards_enabled: false,
|
||||||
|
blue_business_profile_image_shape_enabled: false,
|
||||||
|
responsive_web_text_conversations_enabled: false,
|
||||||
|
tweetypie_unmention_optimization_enabled: true,
|
||||||
|
vibe_api_enabled: false,
|
||||||
|
interactive_text_enabled: false,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import os from 'node:os';
|
|||||||
import path from 'node:path';
|
import path from 'node:path';
|
||||||
import { afterEach, describe, expect, it } from 'vitest';
|
import { afterEach, describe, expect, it } from 'vitest';
|
||||||
import { clearFeatureOverridesCache, refreshFeatureOverridesCache } from '../src/lib/runtime-features.js';
|
import { clearFeatureOverridesCache, refreshFeatureOverridesCache } from '../src/lib/runtime-features.js';
|
||||||
import { buildLikesFeatures, buildSearchFeatures } from '../src/lib/twitter-client-features.js';
|
import { buildLikesFeatures, buildListsFeatures, buildSearchFeatures } from '../src/lib/twitter-client-features.js';
|
||||||
|
|
||||||
describe('runtime-features', () => {
|
describe('runtime-features', () => {
|
||||||
afterEach(() => {
|
afterEach(() => {
|
||||||
@@ -110,4 +110,14 @@ describe('runtime-features', () => {
|
|||||||
expect(search.file_flag).toBe(true);
|
expect(search.file_flag).toBe(true);
|
||||||
expect(search.file_search).toBe(true);
|
expect(search.file_search).toBe(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('includes required lists API feature flags', () => {
|
||||||
|
const features = buildListsFeatures();
|
||||||
|
expect(features.responsive_web_graphql_exclude_directive_enabled).toBe(true);
|
||||||
|
expect(features.blue_business_profile_image_shape_enabled).toBe(false);
|
||||||
|
expect(features.responsive_web_text_conversations_enabled).toBe(false);
|
||||||
|
expect(features.tweetypie_unmention_optimization_enabled).toBe(true);
|
||||||
|
expect(features.vibe_api_enabled).toBe(false);
|
||||||
|
expect(features.interactive_text_enabled).toBe(false);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user