Get live statistics and analysis of Matt Carroll's profile on X / Twitter
Chief of the Flutter Bounty Hunters, SuperDeclarative Flutter developer.
Former Flutter team member
Ex-Googler (Flutter, Nest)
282following6kfollowers
The Innovator
Matt Carroll is a pioneering force in the Flutter ecosystem, blending deep technical expertise with visionary leadership. As a former Google Flutter team member and chief of the Flutter Bounty Hunters, he drives cutting-edge solutions and community-powered projects. His tweets reveal a commitment to innovation, transparency, and challenging the status quo.
Matt’s tweet frequency alone could warm a small data center—he's basically single-handedly powering Flutter’s ecosystem one tweetstorm at a time, proving that if writing code doesn’t break your brain, tweeting 3,500 times sure will!
Matt’s crowning achievement is spearheading the Flutter Bounty Hunters community and orchestrating a major fork of Flutter, which exemplifies his ability to mobilize developers and create impactful technological shifts.
Matt’s life purpose is to push the boundaries of software development by creating and nurturing new tools and processes that empower developers worldwide, fostering a collaborative innovation culture in the Flutter community.
He believes in the power of open-source collaboration, transparency, and pragmatic problem-solving. Matt values authenticity and sees complexity as an opportunity for creative simplification rather than an obstacle, championing smarter, declarative coding practices.
Matt’s greatest strengths lie in his technical mastery, visionary mindset, and ability to inspire engagement through clear, passionate communication. His deep insider knowledge from Google and real-world developer experience make him a trusted voice in the Flutter world.
His direct and sometimes uncompromising stance on technical issues might be perceived as polarizing, potentially limiting broader appeal beyond his core developer audience.
To grow his audience on X, Matt should blend his deep technical content with more approachable storytelling and visual explainers to engage less technical followers. Hosting regular Q&A sessions or livestreams could also humanize his brand and broaden his reach.
Fun fact: Matt is leading a community-driven fork of Flutter, rallying developers to contribute and reshape the future of the framework from the ground up—a bold move few dare to make.
My back and forth with @jezell earlier got me thinking...if I actually did rejoin the @FlutterDev team, what would I try early on to rapidly improve community engagement? Here are my thoughts:
Hold 4 different recurring office hours to understand pain points and set priorities:
* Indie dev
* Agency dev
* Enterprise dev
* Flutter tooling dev (e.g., Code Magic, Shorebird, etc)
I would do the majority of my personal Flutter contributions on live streams:
* Would teach community how to contribute
* Would spread knowledge of new implementation details
* Would receive help from live stream members when implementing
* Would file tickets and assign to members of the community during the stream
Help devs get their PRs cleaned up and merged. Ideally do this with them in real-time on a stream, but also some async for time zone issues.
Visit American companies using Flutter to observe their difficulties firsthand.
Attend as many US Meetups and conferences as possible to show off new features, and engage in listening sessions with the community.
Identify the most popular and promising packages and help those developers polish it, document it, test it, etc. Show that the Flutter org is committed to the health of the package ecosystem.
I would do my best to blur the line between the organization and the community. Because at the end of the day, either there is no line, or there is no healthy organization or community.
To all the @FlutterDev's who are obsessed with AI, if I want to select one freely available AI tool and ask it to create entire screens/features in a little app, which one do you currently recommend, and why? Usually I ask targeted questions - but I want to try full gen.
Have you ever filed a feature request with @FlutterDev that the team either didn't want to implement in Flutter, or left it for years because its a low priority? If so, tell me about that feature and why you need it (but only if you still need it).
{"data":{"__meta":{"device":false,"path":"/creators/SuprDeclarative"},"/creators/SuprDeclarative":{"data":{"user":{"id":"1109937471154905088","name":"Matt Carroll","description":"Chief of the Flutter Bounty Hunters, SuperDeclarative Flutter developer.\n\nFormer Flutter team member\nEx-Googler (Flutter, Nest)","followers_count":6956,"friends_count":282,"statuses_count":3578,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1590972189385203712/wRcIzQnW_normal.png","screen_name":"SuprDeclarative","location":"","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"superdeclarative.com","expanded_url":"http://superdeclarative.com","url":"https://t.co/9ywt279YFO","indices":[0,23]}]}}},"details":{"type":"The Innovator","description":"Matt Carroll is a pioneering force in the Flutter ecosystem, blending deep technical expertise with visionary leadership. As a former Google Flutter team member and chief of the Flutter Bounty Hunters, he drives cutting-edge solutions and community-powered projects. His tweets reveal a commitment to innovation, transparency, and challenging the status quo.","purpose":"Matt’s life purpose is to push the boundaries of software development by creating and nurturing new tools and processes that empower developers worldwide, fostering a collaborative innovation culture in the Flutter community.","beliefs":"He believes in the power of open-source collaboration, transparency, and pragmatic problem-solving. Matt values authenticity and sees complexity as an opportunity for creative simplification rather than an obstacle, championing smarter, declarative coding practices.","facts":"Fun fact: Matt is leading a community-driven fork of Flutter, rallying developers to contribute and reshape the future of the framework from the ground up—a bold move few dare to make.","strength":"Matt’s greatest strengths lie in his technical mastery, visionary mindset, and ability to inspire engagement through clear, passionate communication. His deep insider knowledge from Google and real-world developer experience make him a trusted voice in the Flutter world.","weakness":"His direct and sometimes uncompromising stance on technical issues might be perceived as polarizing, potentially limiting broader appeal beyond his core developer audience.","roast":"Matt’s tweet frequency alone could warm a small data center—he's basically single-handedly powering Flutter’s ecosystem one tweetstorm at a time, proving that if writing code doesn’t break your brain, tweeting 3,500 times sure will!","win":"Matt’s crowning achievement is spearheading the Flutter Bounty Hunters community and orchestrating a major fork of Flutter, which exemplifies his ability to mobilize developers and create impactful technological shifts.","recommendation":"To grow his audience on X, Matt should blend his deep technical content with more approachable storytelling and visual explainers to engage less technical followers. Hosting regular Q&A sessions or livestreams could also humanize his brand and broaden his reach."},"tweets":[{"bookmarked":false,"display_text_range":[0,87],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"flutterfoundation.dev/blog/posts/we-…","expanded_url":"https://flutterfoundation.dev/blog/posts/we-are-forking-flutter-this-is-why/","url":"https://t.co/szRG18kZiM","indices":[64,87]}],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[14,25]}]},"favorited":false,"lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1850944417726939395","view_count":215017,"bookmark_count":280,"created_at":1730134512000,"favorite_count":843,"quote_count":79,"reply_count":94,"retweet_count":178,"user_id_str":"1109937471154905088","conversation_id_str":"1850944417726939395","full_text":"We're forking @FlutterDev - this is why (and you should help!): https://t.co/szRG18kZiM","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,31],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/rUjTLuAlVJ","expanded_url":"https://x.com/SuprDeclarative/status/1869105836779590113/photo/1","id_str":"1869105753602367488","indices":[32,55],"media_key":"3_1869105753602367488","media_url_https":"https://pbs.twimg.com/media/GfBlx6sboAApGY2.jpg","type":"photo","url":"https://t.co/rUjTLuAlVJ","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[{"x":1484,"y":174,"h":249,"w":249}]},"medium":{"faces":[{"x":898,"y":105,"h":150,"w":150}]},"small":{"faces":[{"x":509,"y":59,"h":85,"w":85}]},"orig":{"faces":[{"x":1484,"y":174,"h":249,"w":249}]}},"sizes":{"large":{"h":1126,"w":1982,"resize":"fit"},"medium":{"h":682,"w":1200,"resize":"fit"},"small":{"h":386,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1126,"width":1982,"focus_rects":[{"x":0,"y":0,"w":1982,"h":1110},{"x":179,"y":0,"w":1126,"h":1126},{"x":248,"y":0,"w":988,"h":1126},{"x":461,"y":0,"w":563,"h":1126},{"x":0,"y":0,"w":1982,"h":1126}]},"media_results":{"result":{"media_key":"3_1869105753602367488"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/rUjTLuAlVJ","expanded_url":"https://x.com/SuprDeclarative/status/1869105836779590113/photo/1","id_str":"1869105753602367488","indices":[32,55],"media_key":"3_1869105753602367488","media_url_https":"https://pbs.twimg.com/media/GfBlx6sboAApGY2.jpg","type":"photo","url":"https://t.co/rUjTLuAlVJ","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[{"x":1484,"y":174,"h":249,"w":249}]},"medium":{"faces":[{"x":898,"y":105,"h":150,"w":150}]},"small":{"faces":[{"x":509,"y":59,"h":85,"w":85}]},"orig":{"faces":[{"x":1484,"y":174,"h":249,"w":249}]}},"sizes":{"large":{"h":1126,"w":1982,"resize":"fit"},"medium":{"h":682,"w":1200,"resize":"fit"},"small":{"h":386,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1126,"width":1982,"focus_rects":[{"x":0,"y":0,"w":1982,"h":1110},{"x":179,"y":0,"w":1126,"h":1126},{"x":248,"y":0,"w":988,"h":1126},{"x":461,"y":0,"w":563,"h":1126},{"x":0,"y":0,"w":1982,"h":1126}]},"media_results":{"result":{"media_key":"3_1869105753602367488"}}}]},"favorited":false,"lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1869105836779590113","view_count":45253,"bookmark_count":59,"created_at":1734464532000,"favorite_count":289,"quote_count":18,"reply_count":51,"retweet_count":14,"user_id_str":"1109937471154905088","conversation_id_str":"1869105836779590113","full_text":"So incredibly disappointing.... https://t.co/rUjTLuAlVJ","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,230],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/9q5q6LuAl2","expanded_url":"https://x.com/SuprDeclarative/status/1873097941197692935/video/1","id_str":"1873097628873064448","indices":[231,254],"media_key":"7_1873097628873064448","media_url_https":"https://pbs.twimg.com/ext_tw_video_thumb/1873097628873064448/pu/img/riaHtexYaKsZ9OaM.jpg","type":"video","url":"https://t.co/9q5q6LuAl2","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":1121,"w":2048,"resize":"fit"},"medium":{"h":657,"w":1200,"resize":"fit"},"small":{"h":372,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1382,"width":2524,"focus_rects":[]},"video_info":{"aspect_ratio":[1262,691],"duration_millis":21183,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/ext_tw_video/1873097628873064448/pu/pl/TAf7Z8KjziWdml7t.m3u8?tag=12"},{"bitrate":256000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1873097628873064448/pu/vid/avc1/492x270/MOjI70xe0SPlkp8F.mp4?tag=12"},{"bitrate":832000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1873097628873064448/pu/vid/avc1/656x360/jXS-LZ6MY0Q989P8.mp4?tag=12"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1873097628873064448/pu/vid/avc1/1314x720/h1G_GdQT02Nx638g.mp4?tag=12"}]},"media_results":{"result":{"media_key":"7_1873097628873064448"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[107,118]}]},"extended_entities":{"media":[{"display_url":"pic.x.com/9q5q6LuAl2","expanded_url":"https://x.com/SuprDeclarative/status/1873097941197692935/video/1","id_str":"1873097628873064448","indices":[231,254],"media_key":"7_1873097628873064448","media_url_https":"https://pbs.twimg.com/ext_tw_video_thumb/1873097628873064448/pu/img/riaHtexYaKsZ9OaM.jpg","type":"video","url":"https://t.co/9q5q6LuAl2","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":1121,"w":2048,"resize":"fit"},"medium":{"h":657,"w":1200,"resize":"fit"},"small":{"h":372,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1382,"width":2524,"focus_rects":[]},"video_info":{"aspect_ratio":[1262,691],"duration_millis":21183,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/ext_tw_video/1873097628873064448/pu/pl/TAf7Z8KjziWdml7t.m3u8?tag=12"},{"bitrate":256000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1873097628873064448/pu/vid/avc1/492x270/MOjI70xe0SPlkp8F.mp4?tag=12"},{"bitrate":832000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1873097628873064448/pu/vid/avc1/656x360/jXS-LZ6MY0Q989P8.mp4?tag=12"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1873097628873064448/pu/vid/avc1/1314x720/h1G_GdQT02Nx638g.mp4?tag=12"}]},"media_results":{"result":{"media_key":"7_1873097628873064448"}}}]},"favorited":false,"lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1873097941197692935","view_count":10375,"bookmark_count":124,"created_at":1735416324000,"favorite_count":230,"quote_count":0,"reply_count":6,"retweet_count":7,"user_id_str":"1109937471154905088","conversation_id_str":"1873097941197692935","full_text":"I've looked around a few times this year trying to find a good solution to testing cold-boot deep links in @FlutterDev. Couldn't use widget tests. Couldn't use integration tests. Couldn't use Patrol. So I finally built a solution: https://t.co/9q5q6LuAl2","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,240],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"lang":"en","quoted_status_id_str":"1800522475647963276","quoted_status_permalink":{"url":"https://t.co/1LCncxJ7Fo","expanded":"https://twitter.com/MengTo/status/1800522475647963276","display":"x.com/MengTo/status/…"},"retweeted":false,"fact_check":null,"id":"1800717530396500185","view_count":14564,"bookmark_count":22,"created_at":1718159489000,"favorite_count":179,"quote_count":1,"reply_count":13,"retweet_count":14,"user_id_str":"1109937471154905088","conversation_id_str":"1800717530396500185","full_text":"Not to pick on this particular tweet, but this silly mentality just keeps growing. You can do ANYTHING in 2 lines of code when you write 1,000 lines of private code, and then publish 2 lines of code to run it....how do you think CSS works?!","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":1,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,98],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"flutterfoundation.dev/blog/posts/the…","expanded_url":"https://flutterfoundation.dev/blog/posts/the-three-stages-of-flock/","url":"https://t.co/H6vynpG4hM","indices":[75,98]}],"user_mentions":[]},"favorited":false,"lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1852129898963570913","view_count":11610,"bookmark_count":26,"created_at":1730417153000,"favorite_count":164,"quote_count":2,"reply_count":7,"retweet_count":28,"user_id_str":"1109937471154905088","conversation_id_str":"1852129898963570913","full_text":"Flock will be delivered through 3 phases of development. This is the plan:\nhttps://t.co/H6vynpG4hM","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,243],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"blog.flutterbountyhunters.com/the-builder-pa…","expanded_url":"https://blog.flutterbountyhunters.com/the-builder-pattern-is-a-terrible-idea-for-your-widget-tree","url":"https://t.co/PcjmBkOJSF","indices":[220,243]}],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[104,115]}]},"favorited":false,"lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1668362914154311680","view_count":35544,"bookmark_count":36,"created_at":1686603690000,"favorite_count":131,"quote_count":12,"reply_count":24,"retweet_count":14,"user_id_str":"1109937471154905088","conversation_id_str":"1668362914154311680","full_text":"SwiftUI is popularizing builder patterns in widget trees. Flutter animate started to make it popular in @FlutterDev. Now SwiftUI fans are pushing it harder for Flutter. It's a bad idea. You shouldn't do it. This is why: https://t.co/PcjmBkOJSF","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,279],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[23,30]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[86,97]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[23,30]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[86,97]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1986214864151539735","view_count":4605,"bookmark_count":10,"created_at":1762385500000,"favorite_count":103,"quote_count":2,"reply_count":11,"retweet_count":8,"user_id_str":"1109937471154905088","conversation_id_str":"1986214864151539735","full_text":"My back and forth with @jezell earlier got me thinking...if I actually did rejoin the @FlutterDev team, what would I try early on to rapidly improve community engagement? Here are my thoughts:\n\nHold 4 different recurring office hours to understand pain points and set priorities:\n * Indie dev\n * Agency dev\n * Enterprise dev\n * Flutter tooling dev (e.g., Code Magic, Shorebird, etc)\n\nI would do the majority of my personal Flutter contributions on live streams:\n * Would teach community how to contribute\n * Would spread knowledge of new implementation details\n * Would receive help from live stream members when implementing\n * Would file tickets and assign to members of the community during the stream\n\nHelp devs get their PRs cleaned up and merged. Ideally do this with them in real-time on a stream, but also some async for time zone issues.\n\nVisit American companies using Flutter to observe their difficulties firsthand.\n\nAttend as many US Meetups and conferences as possible to show off new features, and engage in listening sessions with the community.\n\nIdentify the most popular and promising packages and help those developers polish it, document it, test it, etc. Show that the Flutter org is committed to the health of the package ecosystem.\n\nI would do my best to blur the line between the organization and the community. Because at the end of the day, either there is no line, or there is no healthy organization or community.","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,128],"entities":{"hashtags":[{"indices":[23,31],"text":"SwiftUI"},{"indices":[51,62],"text":"FlutterDev"}],"media":[{"display_url":"pic.x.com/3SXfaX5EqO","expanded_url":"https://x.com/SuprDeclarative/status/1875804616601813362/video/1","id_str":"1875804609907752960","indices":[129,152],"media_key":"7_1875804609907752960","media_url_https":"https://pbs.twimg.com/ext_tw_video_thumb/1875804609907752960/pu/img/komV1ogpGGqfViK4.jpg","type":"video","url":"https://t.co/3SXfaX5EqO","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":358,"w":750,"resize":"fit"},"medium":{"h":358,"w":750,"resize":"fit"},"small":{"h":325,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":358,"width":750,"focus_rects":[]},"video_info":{"aspect_ratio":[375,179],"duration_millis":7833,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/ext_tw_video/1875804609907752960/pu/pl/t08tGp79tO0bSXNm.m3u8?tag=12"},{"bitrate":256000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1875804609907752960/pu/vid/avc1/564x270/OzGAblHsfGmTkPnk.mp4?tag=12"},{"bitrate":832000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1875804609907752960/pu/vid/avc1/750x358/EQbvK6LwBUw4tbyJ.mp4?tag=12"}]},"media_results":{"result":{"media_key":"7_1875804609907752960"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/3SXfaX5EqO","expanded_url":"https://x.com/SuprDeclarative/status/1875804616601813362/video/1","id_str":"1875804609907752960","indices":[129,152],"media_key":"7_1875804609907752960","media_url_https":"https://pbs.twimg.com/ext_tw_video_thumb/1875804609907752960/pu/img/komV1ogpGGqfViK4.jpg","type":"video","url":"https://t.co/3SXfaX5EqO","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":358,"w":750,"resize":"fit"},"medium":{"h":358,"w":750,"resize":"fit"},"small":{"h":325,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":358,"width":750,"focus_rects":[]},"video_info":{"aspect_ratio":[375,179],"duration_millis":7833,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/ext_tw_video/1875804609907752960/pu/pl/t08tGp79tO0bSXNm.m3u8?tag=12"},{"bitrate":256000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1875804609907752960/pu/vid/avc1/564x270/OzGAblHsfGmTkPnk.mp4?tag=12"},{"bitrate":832000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1875804609907752960/pu/vid/avc1/750x358/EQbvK6LwBUw4tbyJ.mp4?tag=12"}]},"media_results":{"result":{"media_key":"7_1875804609907752960"}}}]},"favorited":false,"lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1875804616601813362","view_count":6136,"bookmark_count":20,"created_at":1736061646000,"favorite_count":102,"quote_count":0,"reply_count":6,"retweet_count":4,"user_id_str":"1109937471154905088","conversation_id_str":"1875804616601813362","full_text":"Making progress on the #SwiftUI home widget for my #FlutterDev fasting app. Using home_widget to update the widget from flutter. https://t.co/3SXfaX5EqO","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,113],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"medium.com/dartlang/an-up…","expanded_url":"https://medium.com/dartlang/an-update-on-dart-macros-data-serialization-06d3037d4f12","url":"https://t.co/ehQYs1xo7w","indices":[90,113]}],"user_mentions":[{"id_str":"376585411","name":"Dart Language","screen_name":"dart_lang","indices":[10,20]}]},"favorited":false,"lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1884717653442662742","view_count":13034,"bookmark_count":9,"created_at":1738186679000,"favorite_count":100,"quote_count":4,"reply_count":6,"retweet_count":13,"user_id_str":"1109937471154905088","conversation_id_str":"1884717653442662742","full_text":"BREAKING: @dart_lang ends their investigation into Macros. Dart won't be shipping Macros: https://t.co/ehQYs1xo7w","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,67],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"github.com/flutter/flutte…","expanded_url":"https://github.com/flutter/flutter/issues/162960","url":"https://t.co/nImHDrCzqF","indices":[44,67]}],"user_mentions":[]},"favorited":false,"lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1889375950951051723","view_count":10368,"bookmark_count":15,"created_at":1739297304000,"favorite_count":86,"quote_count":0,"reply_count":7,"retweet_count":17,"user_id_str":"1109937471154905088","conversation_id_str":"1889375950951051723","full_text":"Flutter is discontinuing multiple packages: https://t.co/nImHDrCzqF","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,140],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/bCqgQE4xbQ","expanded_url":"https://x.com/SuprDeclarative/status/1877486464617074951/photo/1","id_str":"1877486271767130113","indices":[141,164],"media_key":"3_1877486271767130113","media_url_https":"https://pbs.twimg.com/media/Gg4r0RtaMAEYXH9.jpg","type":"photo","url":"https://t.co/bCqgQE4xbQ","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1307,"w":2048,"resize":"fit"},"medium":{"h":766,"w":1200,"resize":"fit"},"small":{"h":434,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1602,"width":2510,"focus_rects":[{"x":0,"y":196,"w":2510,"h":1406},{"x":767,"y":0,"w":1602,"h":1602},{"x":866,"y":0,"w":1405,"h":1602},{"x":1168,"y":0,"w":801,"h":1602},{"x":0,"y":0,"w":2510,"h":1602}]},"media_results":{"result":{"media_key":"3_1877486271767130113"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[30,41]}]},"extended_entities":{"media":[{"display_url":"pic.x.com/bCqgQE4xbQ","expanded_url":"https://x.com/SuprDeclarative/status/1877486464617074951/photo/1","id_str":"1877486271767130113","indices":[141,164],"media_key":"3_1877486271767130113","media_url_https":"https://pbs.twimg.com/media/Gg4r0RtaMAEYXH9.jpg","type":"photo","url":"https://t.co/bCqgQE4xbQ","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":1307,"w":2048,"resize":"fit"},"medium":{"h":766,"w":1200,"resize":"fit"},"small":{"h":434,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1602,"width":2510,"focus_rects":[{"x":0,"y":196,"w":2510,"h":1406},{"x":767,"y":0,"w":1602,"h":1602},{"x":866,"y":0,"w":1405,"h":1602},{"x":1168,"y":0,"w":801,"h":1602},{"x":0,"y":0,"w":2510,"h":1602}]},"media_results":{"result":{"media_key":"3_1877486271767130113"}}}]},"favorited":false,"lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1877486464617074951","view_count":6842,"bookmark_count":15,"created_at":1736462629000,"favorite_count":84,"quote_count":1,"reply_count":8,"retweet_count":7,"user_id_str":"1109937471154905088","conversation_id_str":"1877486464617074951","full_text":"I've heard that Go Router for @FlutterDev is entering \"maintenance mode\" because it's \"feature complete\". That's an interesting statement... https://t.co/bCqgQE4xbQ","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,188],"entities":{"hashtags":[{"indices":[177,188],"text":"FlutterDev"}],"media":[{"display_url":"pic.x.com/Aj514PpS9u","expanded_url":"https://x.com/SuprDeclarative/status/1842622291152396608/video/1","id_str":"1842622240871133185","indices":[189,212],"media_key":"7_1842622240871133185","media_url_https":"https://pbs.twimg.com/ext_tw_video_thumb/1842622240871133185/pu/img/NO8TpIrvVUpYAC43.jpg","type":"video","url":"https://t.co/Aj514PpS9u","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":1382,"w":792,"resize":"fit"},"medium":{"h":1200,"w":688,"resize":"fit"},"small":{"h":680,"w":390,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1382,"width":792,"focus_rects":[]},"video_info":{"aspect_ratio":[396,691],"duration_millis":22316,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/ext_tw_video/1842622240871133185/pu/pl/SpAkoRRzCC3C0dxs.m3u8?tag=12"},{"bitrate":632000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1842622240871133185/pu/vid/avc1/320x558/PoxXW2kzrm2zOsP1.mp4?tag=12"},{"bitrate":950000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1842622240871133185/pu/vid/avc1/480x836/cQo27nv1blpIqGAr.mp4?tag=12"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1842622240871133185/pu/vid/avc1/720x1256/x-mtqbwTzknSDzkr.mp4?tag=12"}]},"media_results":{"result":{"media_key":"7_1842622240871133185"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/Aj514PpS9u","expanded_url":"https://x.com/SuprDeclarative/status/1842622291152396608/video/1","id_str":"1842622240871133185","indices":[189,212],"media_key":"7_1842622240871133185","media_url_https":"https://pbs.twimg.com/ext_tw_video_thumb/1842622240871133185/pu/img/NO8TpIrvVUpYAC43.jpg","type":"video","url":"https://t.co/Aj514PpS9u","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":1382,"w":792,"resize":"fit"},"medium":{"h":1200,"w":688,"resize":"fit"},"small":{"h":680,"w":390,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1382,"width":792,"focus_rects":[]},"video_info":{"aspect_ratio":[396,691],"duration_millis":22316,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/ext_tw_video/1842622240871133185/pu/pl/SpAkoRRzCC3C0dxs.m3u8?tag=12"},{"bitrate":632000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1842622240871133185/pu/vid/avc1/320x558/PoxXW2kzrm2zOsP1.mp4?tag=12"},{"bitrate":950000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1842622240871133185/pu/vid/avc1/480x836/cQo27nv1blpIqGAr.mp4?tag=12"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1842622240871133185/pu/vid/avc1/720x1256/x-mtqbwTzknSDzkr.mp4?tag=12"}]},"media_results":{"result":{"media_key":"7_1842622240871133185"}}}]},"favorited":false,"lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1842622291152396608","view_count":5351,"bookmark_count":13,"created_at":1728150363000,"favorite_count":79,"quote_count":0,"reply_count":4,"retweet_count":4,"user_id_str":"1109937471154905088","conversation_id_str":"1842622291152396608","full_text":"When your app is fundamentally based on time, it's important to make time dilation a first-class requirement. You need to be able to see what happens over long periods of time. #FlutterDev https://t.co/Aj514PpS9u","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,178],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/lfBS8L7rVp","expanded_url":"https://x.com/SuprDeclarative/status/1841563476936032295/video/1","id_str":"1841563432983920647","indices":[179,202],"media_key":"7_1841563432983920647","media_url_https":"https://pbs.twimg.com/ext_tw_video_thumb/1841563432983920647/pu/img/wws9e99goV8Vvzrc.jpg","type":"video","url":"https://t.co/lfBS8L7rVp","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":1402,"w":816,"resize":"fit"},"medium":{"h":1200,"w":698,"resize":"fit"},"small":{"h":680,"w":396,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1402,"width":816,"focus_rects":[]},"video_info":{"aspect_ratio":[408,701],"duration_millis":9600,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/ext_tw_video/1841563432983920647/pu/pl/Id6arUkm6hWoLEzh.m3u8?tag=12"},{"bitrate":632000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1841563432983920647/pu/vid/avc1/320x548/_fdyL6SA-Xl7Rv6N.mp4?tag=12"},{"bitrate":950000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1841563432983920647/pu/vid/avc1/480x824/cHd9SYPDnnqDkqlJ.mp4?tag=12"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1841563432983920647/pu/vid/avc1/720x1236/ePoBybWWsNCVGfH_.mp4?tag=12"}]},"media_results":{"result":{"media_key":"7_1841563432983920647"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[105,116]}]},"extended_entities":{"media":[{"display_url":"pic.x.com/lfBS8L7rVp","expanded_url":"https://x.com/SuprDeclarative/status/1841563476936032295/video/1","id_str":"1841563432983920647","indices":[179,202],"media_key":"7_1841563432983920647","media_url_https":"https://pbs.twimg.com/ext_tw_video_thumb/1841563432983920647/pu/img/wws9e99goV8Vvzrc.jpg","type":"video","url":"https://t.co/lfBS8L7rVp","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":1402,"w":816,"resize":"fit"},"medium":{"h":1200,"w":698,"resize":"fit"},"small":{"h":680,"w":396,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1402,"width":816,"focus_rects":[]},"video_info":{"aspect_ratio":[408,701],"duration_millis":9600,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/ext_tw_video/1841563432983920647/pu/pl/Id6arUkm6hWoLEzh.m3u8?tag=12"},{"bitrate":632000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1841563432983920647/pu/vid/avc1/320x548/_fdyL6SA-Xl7Rv6N.mp4?tag=12"},{"bitrate":950000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1841563432983920647/pu/vid/avc1/480x824/cHd9SYPDnnqDkqlJ.mp4?tag=12"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1841563432983920647/pu/vid/avc1/720x1236/ePoBybWWsNCVGfH_.mp4?tag=12"}]},"media_results":{"result":{"media_key":"7_1841563432983920647"}}}]},"favorited":false,"lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1841563476936032295","view_count":3656,"bookmark_count":6,"created_at":1727897922000,"favorite_count":77,"quote_count":1,"reply_count":8,"retweet_count":4,"user_id_str":"1109937471154905088","conversation_id_str":"1841563476936032295","full_text":"Working on a fasting app for myself - offline first, minimal but attractive design. Rarely discussed but @FlutterDev empowers us to build things for us. No platform restrictions. https://t.co/lfBS8L7rVp","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,89],"entities":{"hashtags":[{"indices":[16,27],"text":"FlutterCon"}],"media":[{"display_url":"pic.x.com/CUnVBuhKyH","expanded_url":"https://x.com/SuprDeclarative/status/1836407007324106802/video/1","id_str":"1836406975132811264","indices":[90,113],"media_key":"7_1836406975132811264","media_url_https":"https://pbs.twimg.com/ext_tw_video_thumb/1836406975132811264/pu/img/EmeVMaQqmeEK3bx3.jpg","type":"video","url":"https://t.co/CUnVBuhKyH","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":1066,"w":1652,"resize":"fit"},"medium":{"h":774,"w":1200,"resize":"fit"},"small":{"h":439,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1066,"width":1652,"focus_rects":[]},"video_info":{"aspect_ratio":[826,533],"duration_millis":42800,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/ext_tw_video/1836406975132811264/pu/pl/-udYV6igQCnjBzp5.m3u8?tag=12"},{"bitrate":256000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1836406975132811264/pu/vid/avc1/418x270/zDbK9aTu8lBkScAD.mp4?tag=12"},{"bitrate":832000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1836406975132811264/pu/vid/avc1/556x360/ZGoLyb88IKYAUAHJ.mp4?tag=12"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1836406975132811264/pu/vid/avc1/1114x720/L6MXRsLnVunyRScD.mp4?tag=12"}]},"media_results":{"result":{"media_key":"7_1836406975132811264"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/CUnVBuhKyH","expanded_url":"https://x.com/SuprDeclarative/status/1836407007324106802/video/1","id_str":"1836406975132811264","indices":[90,113],"media_key":"7_1836406975132811264","media_url_https":"https://pbs.twimg.com/ext_tw_video_thumb/1836406975132811264/pu/img/EmeVMaQqmeEK3bx3.jpg","type":"video","url":"https://t.co/CUnVBuhKyH","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":1066,"w":1652,"resize":"fit"},"medium":{"h":774,"w":1200,"resize":"fit"},"small":{"h":439,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1066,"width":1652,"focus_rects":[]},"video_info":{"aspect_ratio":[826,533],"duration_millis":42800,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/ext_tw_video/1836406975132811264/pu/pl/-udYV6igQCnjBzp5.m3u8?tag=12"},{"bitrate":256000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1836406975132811264/pu/vid/avc1/418x270/zDbK9aTu8lBkScAD.mp4?tag=12"},{"bitrate":832000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1836406975132811264/pu/vid/avc1/556x360/ZGoLyb88IKYAUAHJ.mp4?tag=12"},{"bitrate":2176000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1836406975132811264/pu/vid/avc1/1114x720/L6MXRsLnVunyRScD.mp4?tag=12"}]},"media_results":{"result":{"media_key":"7_1836406975132811264"}}}]},"favorited":false,"lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1836407007324106802","view_count":3065,"bookmark_count":6,"created_at":1726668523000,"favorite_count":76,"quote_count":0,"reply_count":1,"retweet_count":6,"user_id_str":"1109937471154905088","conversation_id_str":"1836407007324106802","full_text":"On the plane to #FlutterCon I worked on buttoning up spell check for Super Editor on Mac. https://t.co/CUnVBuhKyH","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,85],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/mWRVAdwVcW","expanded_url":"https://x.com/SuprDeclarative/status/1865493782604751017/video/1","id_str":"1865493760060354560","indices":[86,109],"media_key":"7_1865493760060354560","media_url_https":"https://pbs.twimg.com/ext_tw_video_thumb/1865493760060354560/pu/img/gujwcsQOKe6tpAMt.jpg","type":"video","url":"https://t.co/mWRVAdwVcW","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":1026,"w":490,"resize":"fit"},"medium":{"h":1026,"w":490,"resize":"fit"},"small":{"h":680,"w":325,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1026,"width":490,"focus_rects":[]},"video_info":{"aspect_ratio":[245,513],"duration_millis":6866,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/ext_tw_video/1865493760060354560/pu/pl/uDegW8jCVp5_Pjeb.m3u8?tag=12"},{"bitrate":632000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1865493760060354560/pu/vid/avc1/320x670/Ik_BqlaA6SRf0Dou.mp4?tag=12"},{"bitrate":950000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1865493760060354560/pu/vid/avc1/490x1026/xbRvM49omvhpUCo_.mp4?tag=12"}]},"media_results":{"result":{"media_key":"7_1865493760060354560"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[74,85]}]},"extended_entities":{"media":[{"display_url":"pic.x.com/mWRVAdwVcW","expanded_url":"https://x.com/SuprDeclarative/status/1865493782604751017/video/1","id_str":"1865493760060354560","indices":[86,109],"media_key":"7_1865493760060354560","media_url_https":"https://pbs.twimg.com/ext_tw_video_thumb/1865493760060354560/pu/img/gujwcsQOKe6tpAMt.jpg","type":"video","url":"https://t.co/mWRVAdwVcW","additional_media_info":{"monetizable":false},"ext_media_availability":{"status":"Available"},"sizes":{"large":{"h":1026,"w":490,"resize":"fit"},"medium":{"h":1026,"w":490,"resize":"fit"},"small":{"h":680,"w":325,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1026,"width":490,"focus_rects":[]},"video_info":{"aspect_ratio":[245,513],"duration_millis":6866,"variants":[{"content_type":"application/x-mpegURL","url":"https://video.twimg.com/ext_tw_video/1865493760060354560/pu/pl/uDegW8jCVp5_Pjeb.m3u8?tag=12"},{"bitrate":632000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1865493760060354560/pu/vid/avc1/320x670/Ik_BqlaA6SRf0Dou.mp4?tag=12"},{"bitrate":950000,"content_type":"video/mp4","url":"https://video.twimg.com/ext_tw_video/1865493760060354560/pu/vid/avc1/490x1026/xbRvM49omvhpUCo_.mp4?tag=12"}]},"media_results":{"result":{"media_key":"7_1865493760060354560"}}}]},"favorited":false,"lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1865493782604751017","view_count":2449,"bookmark_count":4,"created_at":1733603351000,"favorite_count":75,"quote_count":0,"reply_count":0,"retweet_count":6,"user_id_str":"1109937471154905088","conversation_id_str":"1865493782604751017","full_text":"Working on bringing inline images and GIFs to Super Editor text layout in @FlutterDev https://t.co/mWRVAdwVcW","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,158],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"github.com/superlistapp/s…","expanded_url":"https://github.com/superlistapp/super_editor","url":"https://t.co/ecyi0Jfk5G","indices":[135,158]}],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[9,20]}]},"favorited":false,"lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1889437263677026578","view_count":2963,"bookmark_count":9,"created_at":1739311922000,"favorite_count":75,"quote_count":1,"reply_count":3,"retweet_count":5,"user_id_str":"1109937471154905088","conversation_id_str":"1889437263677026578","full_text":"Now that @FlutterDev is discontinuing flutter_markdown, this is a friendly reminder that SuperEditor and SuperReader support Markdown: https://t.co/ecyi0Jfk5G","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}],"ctweets":[{"bookmarked":false,"display_text_range":[0,87],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"flutterfoundation.dev/blog/posts/we-…","expanded_url":"https://flutterfoundation.dev/blog/posts/we-are-forking-flutter-this-is-why/","url":"https://t.co/szRG18kZiM","indices":[64,87]}],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[14,25]}]},"favorited":false,"lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1850944417726939395","view_count":215017,"bookmark_count":280,"created_at":1730134512000,"favorite_count":843,"quote_count":79,"reply_count":94,"retweet_count":178,"user_id_str":"1109937471154905088","conversation_id_str":"1850944417726939395","full_text":"We're forking @FlutterDev - this is why (and you should help!): https://t.co/szRG18kZiM","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,31],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/rUjTLuAlVJ","expanded_url":"https://x.com/SuprDeclarative/status/1869105836779590113/photo/1","id_str":"1869105753602367488","indices":[32,55],"media_key":"3_1869105753602367488","media_url_https":"https://pbs.twimg.com/media/GfBlx6sboAApGY2.jpg","type":"photo","url":"https://t.co/rUjTLuAlVJ","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[{"x":1484,"y":174,"h":249,"w":249}]},"medium":{"faces":[{"x":898,"y":105,"h":150,"w":150}]},"small":{"faces":[{"x":509,"y":59,"h":85,"w":85}]},"orig":{"faces":[{"x":1484,"y":174,"h":249,"w":249}]}},"sizes":{"large":{"h":1126,"w":1982,"resize":"fit"},"medium":{"h":682,"w":1200,"resize":"fit"},"small":{"h":386,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1126,"width":1982,"focus_rects":[{"x":0,"y":0,"w":1982,"h":1110},{"x":179,"y":0,"w":1126,"h":1126},{"x":248,"y":0,"w":988,"h":1126},{"x":461,"y":0,"w":563,"h":1126},{"x":0,"y":0,"w":1982,"h":1126}]},"media_results":{"result":{"media_key":"3_1869105753602367488"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"extended_entities":{"media":[{"display_url":"pic.x.com/rUjTLuAlVJ","expanded_url":"https://x.com/SuprDeclarative/status/1869105836779590113/photo/1","id_str":"1869105753602367488","indices":[32,55],"media_key":"3_1869105753602367488","media_url_https":"https://pbs.twimg.com/media/GfBlx6sboAApGY2.jpg","type":"photo","url":"https://t.co/rUjTLuAlVJ","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[{"x":1484,"y":174,"h":249,"w":249}]},"medium":{"faces":[{"x":898,"y":105,"h":150,"w":150}]},"small":{"faces":[{"x":509,"y":59,"h":85,"w":85}]},"orig":{"faces":[{"x":1484,"y":174,"h":249,"w":249}]}},"sizes":{"large":{"h":1126,"w":1982,"resize":"fit"},"medium":{"h":682,"w":1200,"resize":"fit"},"small":{"h":386,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":1126,"width":1982,"focus_rects":[{"x":0,"y":0,"w":1982,"h":1110},{"x":179,"y":0,"w":1126,"h":1126},{"x":248,"y":0,"w":988,"h":1126},{"x":461,"y":0,"w":563,"h":1126},{"x":0,"y":0,"w":1982,"h":1126}]},"media_results":{"result":{"media_key":"3_1869105753602367488"}}}]},"favorited":false,"lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1869105836779590113","view_count":45253,"bookmark_count":59,"created_at":1734464532000,"favorite_count":289,"quote_count":18,"reply_count":51,"retweet_count":14,"user_id_str":"1109937471154905088","conversation_id_str":"1869105836779590113","full_text":"So incredibly disappointing.... https://t.co/rUjTLuAlVJ","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,271],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[11,22]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1983229616975458743","view_count":8911,"bookmark_count":37,"created_at":1761673761000,"favorite_count":65,"quote_count":0,"reply_count":32,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1983229616975458743","full_text":"To all the @FlutterDev's who are obsessed with AI, if I want to select one freely available AI tool and ask it to create entire screens/features in a little app, which one do you currently recommend, and why? Usually I ask targeted questions - but I want to try full gen.","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,23],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"x.com/i/spaces/1bdgy…","expanded_url":"https://twitter.com/i/spaces/1BdGYrYzLOMJX","url":"https://t.co/LpMqnjnllh","indices":[0,23]}],"user_mentions":[]},"favorited":false,"lang":"zxx","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1795892869431210150","view_count":5869,"bookmark_count":37,"created_at":1717009200000,"favorite_count":26,"quote_count":2,"reply_count":31,"retweet_count":10,"user_id_str":"1109937471154905088","conversation_id_str":"1795892869431210150","full_text":"https://t.co/LpMqnjnllh","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,23],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"x.com/i/spaces/1owxw…","expanded_url":"https://twitter.com/i/spaces/1OwxWYOPPDjGQ","url":"https://t.co/mINSRoSJJl","indices":[0,23]}],"user_mentions":[]},"favorited":false,"lang":"zxx","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1785745895847571966","view_count":4847,"bookmark_count":11,"created_at":1714589973000,"favorite_count":34,"quote_count":1,"reply_count":28,"retweet_count":10,"user_id_str":"1109937471154905088","conversation_id_str":"1785745895847571966","full_text":"https://t.co/mINSRoSJJl","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,23],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"x.com/i/spaces/1naje…","expanded_url":"https://twitter.com/i/spaces/1nAJEaWOZqeJL","url":"https://t.co/MhN5VcUAqZ","indices":[0,23]}],"user_mentions":[]},"favorited":false,"lang":"zxx","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1778136227512041751","view_count":4633,"bookmark_count":11,"created_at":1712775687000,"favorite_count":17,"quote_count":1,"reply_count":27,"retweet_count":8,"user_id_str":"1109937471154905088","conversation_id_str":"1778136227512041751","full_text":"https://t.co/MhN5VcUAqZ","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,23],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"x.com/i/spaces/1Yqxo…","expanded_url":"https://x.com/i/spaces/1YqxoDLVDLZKv","url":"https://t.co/o9MbE3VQki","indices":[0,23]}],"user_mentions":[]},"favorited":false,"lang":"zxx","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1780672425426092543","view_count":3839,"bookmark_count":8,"created_at":1713380364000,"favorite_count":27,"quote_count":1,"reply_count":24,"retweet_count":10,"user_id_str":"1109937471154905088","conversation_id_str":"1780672425426092543","full_text":"https://t.co/o9MbE3VQki","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,243],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"blog.flutterbountyhunters.com/the-builder-pa…","expanded_url":"https://blog.flutterbountyhunters.com/the-builder-pattern-is-a-terrible-idea-for-your-widget-tree","url":"https://t.co/PcjmBkOJSF","indices":[220,243]}],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[104,115]}]},"favorited":false,"lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1668362914154311680","view_count":35544,"bookmark_count":36,"created_at":1686603690000,"favorite_count":131,"quote_count":12,"reply_count":24,"retweet_count":14,"user_id_str":"1109937471154905088","conversation_id_str":"1668362914154311680","full_text":"SwiftUI is popularizing builder patterns in widget trees. Flutter animate started to make it popular in @FlutterDev. Now SwiftUI fans are pushing it harder for Flutter. It's a bad idea. You shouldn't do it. This is why: https://t.co/PcjmBkOJSF","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,23],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"x.com/i/spaces/1mnGe…","expanded_url":"https://x.com/i/spaces/1mnGeArRkDvGX","url":"https://t.co/aigiFQCSHW","indices":[0,23]}],"user_mentions":[]},"favorited":false,"lang":"zxx","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1856788987148636246","view_count":3632,"bookmark_count":13,"created_at":1731527966000,"favorite_count":25,"quote_count":4,"reply_count":24,"retweet_count":9,"user_id_str":"1109937471154905088","conversation_id_str":"1856788987148636246","full_text":"https://t.co/aigiFQCSHW","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,248],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[43,54]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1841570759338295401","view_count":4357,"bookmark_count":5,"created_at":1727899658000,"favorite_count":30,"quote_count":0,"reply_count":17,"retweet_count":8,"user_id_str":"1109937471154905088","conversation_id_str":"1841570759338295401","full_text":"Have you ever filed a feature request with @FlutterDev that the team either didn't want to implement in Flutter, or left it for years because its a low priority? If so, tell me about that feature and why you need it (but only if you still need it).","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,23],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"x.com/i/spaces/1ynJO…","expanded_url":"https://x.com/i/spaces/1ynJODjYpozxR","url":"https://t.co/mXJzBiRTDF","indices":[0,23]}],"user_mentions":[]},"favorited":false,"lang":"zxx","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1851700471226089846","view_count":5792,"bookmark_count":20,"created_at":1730314769000,"favorite_count":35,"quote_count":4,"reply_count":17,"retweet_count":15,"user_id_str":"1109937471154905088","conversation_id_str":"1851700471226089846","full_text":"https://t.co/mXJzBiRTDF","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,23],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"x.com/i/spaces/1myxn…","expanded_url":"https://twitter.com/i/spaces/1MYxNMvylZQJw","url":"https://t.co/Dq3p893A9L","indices":[0,23]}],"user_mentions":[]},"favorited":false,"lang":"zxx","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1826333967207071874","view_count":1971,"bookmark_count":2,"created_at":1724266924000,"favorite_count":14,"quote_count":2,"reply_count":15,"retweet_count":6,"user_id_str":"1109937471154905088","conversation_id_str":"1826333967207071874","full_text":"https://t.co/Dq3p893A9L","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,23],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"x.com/i/spaces/1DXGy…","expanded_url":"https://x.com/i/spaces/1DXGydVZYePKM","url":"https://t.co/v1MyEQ2CwI","indices":[0,23]}],"user_mentions":[]},"favorited":false,"lang":"zxx","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1846627228110803145","view_count":5268,"bookmark_count":11,"created_at":1729105214000,"favorite_count":21,"quote_count":4,"reply_count":14,"retweet_count":9,"user_id_str":"1109937471154905088","conversation_id_str":"1846627228110803145","full_text":"https://t.co/v1MyEQ2CwI","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,23],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"x.com/i/spaces/1Mnxn…","expanded_url":"https://x.com/i/spaces/1MnxnDZoZdkGO","url":"https://t.co/lrIghjqQQ8","indices":[0,23]}],"user_mentions":[]},"favorited":false,"lang":"zxx","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1859325820050997454","view_count":1317,"bookmark_count":2,"created_at":1732132794000,"favorite_count":8,"quote_count":1,"reply_count":14,"retweet_count":3,"user_id_str":"1109937471154905088","conversation_id_str":"1859325820050997454","full_text":"https://t.co/lrIghjqQQ8","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,240],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorited":false,"lang":"en","quoted_status_id_str":"1800522475647963276","quoted_status_permalink":{"url":"https://t.co/1LCncxJ7Fo","expanded":"https://twitter.com/MengTo/status/1800522475647963276","display":"x.com/MengTo/status/…"},"retweeted":false,"fact_check":null,"id":"1800717530396500185","view_count":14564,"bookmark_count":22,"created_at":1718159489000,"favorite_count":179,"quote_count":1,"reply_count":13,"retweet_count":14,"user_id_str":"1109937471154905088","conversation_id_str":"1800717530396500185","full_text":"Not to pick on this particular tweet, but this silly mentality just keeps growing. You can do ANYTHING in 2 lines of code when you write 1,000 lines of private code, and then publish 2 lines of code to run it....how do you think CSS works?!","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":1,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,111],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"13334762","name":"GitHub","screen_name":"github","indices":[4,11]},{"id_str":"376585411","name":"Dart Language","screen_name":"dart_lang","indices":[34,44]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1786469996790698386","view_count":10000,"bookmark_count":8,"created_at":1714762612000,"favorite_count":39,"quote_count":0,"reply_count":13,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1786469996790698386","full_text":"Can @github actions be written in @dart_lang (probably Dart to JS). If so, does anyone have a guide to do that?","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}],"activities":{"nreplies":[{"label":"2025-10-19","value":0,"startTime":1760745600000,"endTime":1760832000000,"tweets":[]},{"label":"2025-10-20","value":0,"startTime":1760832000000,"endTime":1760918400000,"tweets":[]},{"label":"2025-10-21","value":0,"startTime":1760918400000,"endTime":1761004800000,"tweets":[]},{"label":"2025-10-22","value":0,"startTime":1761004800000,"endTime":1761091200000,"tweets":[]},{"label":"2025-10-23","value":2,"startTime":1761091200000,"endTime":1761177600000,"tweets":[{"bookmarked":false,"display_text_range":[0,248],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[5,16]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1981032849764741575","view_count":3814,"bookmark_count":3,"created_at":1761150011000,"favorite_count":22,"quote_count":0,"reply_count":1,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1981032849764741575","full_text":"Does @FlutterDev really still not support sampling child widget pixels in fragment shaders on iOS and Android? It seems to work fine on desktop and in the browser, but seems totally broken on mobile. Is this for real? Or am I doing something wrong?","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[26,270],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/l8dB3quOTv","expanded_url":"https://x.com/SuprDeclarative/status/1981081844440584325/photo/1","id_str":"1981081505016184832","indices":[271,294],"media_key":"3_1981081505016184832","media_url_https":"https://pbs.twimg.com/media/G343IfGWAAAASML.jpg","type":"photo","url":"https://t.co/l8dB3quOTv","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":876,"w":1326,"resize":"fit"},"medium":{"h":793,"w":1200,"resize":"fit"},"small":{"h":449,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":876,"width":1326,"focus_rects":[{"x":0,"y":133,"w":1326,"h":743},{"x":59,"y":0,"w":876,"h":876},{"x":113,"y":0,"w":768,"h":876},{"x":278,"y":0,"w":438,"h":876},{"x":0,"y":0,"w":1326,"h":876}]},"media_results":{"result":{"media_key":"3_1981081505016184832"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"2245268778","name":"Raouf Rahiche","screen_name":"raoufrahiche","indices":[0,13]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[14,25]}]},"extended_entities":{"media":[{"display_url":"pic.x.com/l8dB3quOTv","expanded_url":"https://x.com/SuprDeclarative/status/1981081844440584325/photo/1","id_str":"1981081505016184832","indices":[271,294],"media_key":"3_1981081505016184832","media_url_https":"https://pbs.twimg.com/media/G343IfGWAAAASML.jpg","type":"photo","url":"https://t.co/l8dB3quOTv","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":876,"w":1326,"resize":"fit"},"medium":{"h":793,"w":1200,"resize":"fit"},"small":{"h":449,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":876,"width":1326,"focus_rects":[{"x":0,"y":133,"w":1326,"h":743},{"x":59,"y":0,"w":876,"h":876},{"x":113,"y":0,"w":768,"h":876},{"x":278,"y":0,"w":438,"h":876},{"x":0,"y":0,"w":1326,"h":876}]},"media_results":{"result":{"media_key":"3_1981081505016184832"}}}]},"favorited":false,"in_reply_to_screen_name":"raoufrahiche","lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1981081844440584325","view_count":476,"bookmark_count":1,"created_at":1761161693000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1981032849764741575","full_text":"@raoufrahiche @FlutterDev I think it's working with this conditional - although it seems like when I launch the app with this code, it completely crashes. But when I comment this out, run the app, then uncomment and hot reload, it works.\n\nIs this what you were thinking? https://t.co/l8dB3quOTv","in_reply_to_user_id_str":"2245268778","in_reply_to_status_id_str":"1981067010466283859","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-10-24","value":0,"startTime":1761177600000,"endTime":1761264000000,"tweets":[]},{"label":"2025-10-25","value":0,"startTime":1761264000000,"endTime":1761350400000,"tweets":[]},{"label":"2025-10-26","value":0,"startTime":1761350400000,"endTime":1761436800000,"tweets":[]},{"label":"2025-10-27","value":0,"startTime":1761436800000,"endTime":1761523200000,"tweets":[]},{"label":"2025-10-28","value":0,"startTime":1761523200000,"endTime":1761609600000,"tweets":[]},{"label":"2025-10-29","value":34,"startTime":1761609600000,"endTime":1761696000000,"tweets":[{"bookmarked":false,"display_text_range":[0,271],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[11,22]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1983229616975458743","view_count":8911,"bookmark_count":37,"created_at":1761673761000,"favorite_count":65,"quote_count":0,"reply_count":32,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1983229616975458743","full_text":"To all the @FlutterDev's who are obsessed with AI, if I want to select one freely available AI tool and ask it to create entire screens/features in a little app, which one do you currently recommend, and why? Usually I ask targeted questions - but I want to try full gen.","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[20,128],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[8,19]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1983240721953107984","view_count":1078,"bookmark_count":0,"created_at":1761676409000,"favorite_count":4,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1983229616975458743","full_text":"@jezell @FlutterDev How do all these options work? Does each one have an app? Or do I install a CLI and point it at a directory?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1983237525796991295","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[25,94],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[0,16]},{"id_str":"568573618","name":"Anton Borries 🦋","screen_name":"ABausG","indices":[17,24]}]},"favorited":false,"in_reply_to_screen_name":"imadetheseworks","lang":"en","retweeted":false,"fact_check":null,"id":"1983241033166340355","view_count":688,"bookmark_count":1,"created_at":1761676483000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1983167497798074434","full_text":"@imadetheseworks @ABausG Oh man you got P2’ed. Only one level better than “never gonna happen”","in_reply_to_user_id_str":"1785951221158756352","in_reply_to_status_id_str":"1983167497798074434","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-10-30","value":0,"startTime":1761696000000,"endTime":1761782400000,"tweets":[{"bookmarked":false,"display_text_range":[0,90],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"github.com/flutter/flutte…","expanded_url":"https://github.com/flutter/flutter/issues/177693","url":"https://t.co/vMRGbOY36Q","indices":[67,90]}],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[4,15]}]},"favorited":false,"lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1983628579796873630","view_count":2948,"bookmark_count":2,"created_at":1761768882000,"favorite_count":18,"quote_count":1,"reply_count":0,"retweet_count":3,"user_id_str":"1109937471154905088","conversation_id_str":"1983628579796873630","full_text":"FYI @FlutterDev's OverlayPortal might be breaking your hot reload: https://t.co/vMRGbOY36Q","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-10-31","value":0,"startTime":1761782400000,"endTime":1761868800000,"tweets":[]},{"label":"2025-11-01","value":0,"startTime":1761868800000,"endTime":1761955200000,"tweets":[]},{"label":"2025-11-02","value":0,"startTime":1761955200000,"endTime":1762041600000,"tweets":[]},{"label":"2025-11-03","value":0,"startTime":1762041600000,"endTime":1762128000000,"tweets":[]},{"label":"2025-11-04","value":0,"startTime":1762128000000,"endTime":1762214400000,"tweets":[]},{"label":"2025-11-05","value":7,"startTime":1762214400000,"endTime":1762300800000,"tweets":[{"bookmarked":false,"display_text_range":[31,77],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[0,8]},{"id_str":"561770146","name":"Khalid Warsame","screen_name":"KhalidWarsa","indices":[9,21]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[22,30]}]},"favorited":false,"in_reply_to_screen_name":"mraleph","lang":"en","retweeted":false,"fact_check":null,"id":"1985749479405019214","view_count":1683,"bookmark_count":0,"created_at":1762274543000,"favorite_count":8,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1985594437981102325","full_text":"@mraleph @KhalidWarsa @RydMike It's very likely taking people to React Native","in_reply_to_user_id_str":"53010195","in_reply_to_status_id_str":"1985678859539276287","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[31,300],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[0,8]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[9,17]},{"id_str":"561770146","name":"Khalid Warsame","screen_name":"KhalidWarsa","indices":[18,30]}]},"favorited":false,"in_reply_to_screen_name":"RydMike","lang":"en","retweeted":false,"fact_check":null,"id":"1985754577132736762","view_count":2019,"bookmark_count":2,"created_at":1762275759000,"favorite_count":21,"quote_count":0,"reply_count":4,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1985594437981102325","full_text":"@RydMike @mraleph @KhalidWarsa Yep. I've said it before, but I'll say it again. Flutter has not only ignored its own community, but has been hostile to it. Flutter has now lost almost every unique value prop. It will lose the rest. It has no moat. I don't see how it avoids zombie mode at this point.","in_reply_to_user_id_str":"87799983","in_reply_to_status_id_str":"1985751390883389866","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[48,178],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"703122697232863233","name":"Thomas Burkhart 💙","screen_name":"ThomasBurkhartB","indices":[0,16]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[17,25]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[26,34]},{"id_str":"561770146","name":"Khalid Warsame","screen_name":"KhalidWarsa","indices":[35,47]}]},"favorited":false,"in_reply_to_screen_name":"ThomasBurkhartB","lang":"en","retweeted":false,"fact_check":null,"id":"1985816253479731210","view_count":1609,"bookmark_count":0,"created_at":1762290464000,"favorite_count":6,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1985594437981102325","full_text":"@ThomasBurkhartB @RydMike @mraleph @KhalidWarsa I don’t really remember when they were. I only remember when they were ignored. But for years now they’ve been actively combatted.","in_reply_to_user_id_str":"703122697232863233","in_reply_to_status_id_str":"1985815658202796387","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-06","value":15,"startTime":1762300800000,"endTime":1762387200000,"tweets":[{"bookmarked":false,"display_text_range":[0,279],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[23,30]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[86,97]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[23,30]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[86,97]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1986214864151539735","view_count":4605,"bookmark_count":10,"created_at":1762385500000,"favorite_count":103,"quote_count":2,"reply_count":11,"retweet_count":8,"user_id_str":"1109937471154905088","conversation_id_str":"1986214864151539735","full_text":"My back and forth with @jezell earlier got me thinking...if I actually did rejoin the @FlutterDev team, what would I try early on to rapidly improve community engagement? Here are my thoughts:\n\nHold 4 different recurring office hours to understand pain points and set priorities:\n * Indie dev\n * Agency dev\n * Enterprise dev\n * Flutter tooling dev (e.g., Code Magic, Shorebird, etc)\n\nI would do the majority of my personal Flutter contributions on live streams:\n * Would teach community how to contribute\n * Would spread knowledge of new implementation details\n * Would receive help from live stream members when implementing\n * Would file tickets and assign to members of the community during the stream\n\nHelp devs get their PRs cleaned up and merged. Ideally do this with them in real-time on a stream, but also some async for time zone issues.\n\nVisit American companies using Flutter to observe their difficulties firsthand.\n\nAttend as many US Meetups and conferences as possible to show off new features, and engage in listening sessions with the community.\n\nIdentify the most popular and promising packages and help those developers polish it, document it, test it, etc. Show that the Flutter org is committed to the health of the package ecosystem.\n\nI would do my best to blur the line between the organization and the community. Because at the end of the day, either there is no line, or there is no healthy organization or community.","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,196],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"313393045","name":"Michael Thomsen","screen_name":"MiSvTh","indices":[39,46]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986193090642911320","view_count":349,"bookmark_count":1,"created_at":1762380309000,"favorite_count":16,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986188317327814799","full_text":"@jezell Then I'll put it out there. If @MiSvTh would like to turn this ship around for community engagement, I'd sit down with him to talk about getting me back on the team to help make it happen.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986190517168971877","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,45],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986190022979297772","view_count":544,"bookmark_count":0,"created_at":1762379577000,"favorite_count":4,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986188317327814799","full_text":"@jezell Not surprised at all at this point...","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986188356355825996","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,214],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"SuprDeclarative","lang":"en","retweeted":false,"fact_check":null,"id":"1986190302093398508","view_count":529,"bookmark_count":0,"created_at":1762379644000,"favorite_count":7,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986188317327814799","full_text":"@jezell You know, I would consider rejoining the team to get this velocity up, if they were serious about improving their ways. But I'm guessing they'd rather just keep doing what hasn't worked and sink the ship...","in_reply_to_user_id_str":"1109937471154905088","in_reply_to_status_id_str":"1986190022979297772","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[34,54],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"857973744","name":"Abdallah Shaban","screen_name":"AbdallahSh07","indices":[0,13]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[14,21]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[22,33]}]},"favorited":false,"in_reply_to_screen_name":"AbdallahSh07","lang":"en","retweeted":false,"fact_check":null,"id":"1986216363019624542","view_count":594,"bookmark_count":0,"created_at":1762385857000,"favorite_count":11,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986214864151539735","full_text":"@AbdallahSh07 @jezell @FlutterDev I could do that work","in_reply_to_user_id_str":"857973744","in_reply_to_status_id_str":"1986215601120166103","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-07","value":10,"startTime":1762387200000,"endTime":1762473600000,"tweets":[{"bookmarked":false,"display_text_range":[0,271],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[59,70]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[59,70]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1986491522825789549","view_count":4806,"bookmark_count":7,"created_at":1762451460000,"favorite_count":70,"quote_count":2,"reply_count":7,"retweet_count":4,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"Can we all pause and notice that we're stuck in an endless @FlutterDev loop between the community and the team? Forget the latest specific issue - we're on a merry-go-round that never stops spinning, and only seems to get faster. It goes like this:\n\n1. A community member experiences something that is frustrating, limiting, concerning, or all of the above.\n\n2. Flutter team does some combination of ignore it, tell the community member to file an issue that will likely never be worked on, or to fix it themselves.\n\n3. Community member feels entitled to an actual solution from Flutter.\n\n4. Flutter team gets defensive. Flutter-splains that they merge lots of outside code, and they're busy with other important things, and that problem isn't even really a problem if you understand what Flutter is meant to do, and maybe it's even a feature and not a bug.\n\n5. Community members feel ignored, marginalized, and disrespected, yet again, for the 100th time. Community members go through a therapy session by reminding the Flutter team of those last 100 times problems came up that didn't get addressed and didn't get solved.\n\n6. Flutter team becomes more defensive and even passive aggressive with community members.\n\n7. NOTHING GETS BETTER\n\nYesterday I offered to make myself available to rejoin the team to bridge this gap. No doubt it's a very tall task after so many years of this, but I'm willing to give it a go if they are. I will take all these public arrows for the team. \n\nDespite my personal issues with various people on the team, I believe that the only way for me to preserve my ability to use the skills I've spent 7 years building, is to finally bridge this gap and return Flutter to the \"community driven\" project that it once billed itself to be.","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[13,278],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"133487462","name":"Graham : A Star Wars Story 💙","screen_name":"whoisgraham","indices":[0,12]}]},"favorited":false,"in_reply_to_screen_name":"whoisgraham","lang":"en","retweeted":false,"fact_check":null,"id":"1986548582556856517","view_count":35,"bookmark_count":0,"created_at":1762465065000,"favorite_count":0,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986505347218219519","full_text":"@whoisgraham If that's a subtweet about me, I'd like to know it and why you feel that way. If it's about someone else, I'd like to know that too. I don't really understand this behavior of putting out passive aggressive tweets while also playing the role of adult in the room...","in_reply_to_user_id_str":"133487462","in_reply_to_status_id_str":"1986505347218219519","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[25,100],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"x.com/SuprDeclarativ…","expanded_url":"https://x.com/SuprDeclarative/status/1986214864151539735","url":"https://t.co/D2VueIkmkH","indices":[77,100]}],"user_mentions":[{"id_str":"790201826","name":"pk","screen_name":"khivedoteth","indices":[0,12]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[13,24]}]},"favorited":false,"in_reply_to_screen_name":"khivedoteth","lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"quoted_status_id_str":"1986214864151539735","quoted_status_permalink":{"url":"https://t.co/D2VueIkmkH","expanded":"https://x.com/SuprDeclarative/status/1986214864151539735","display":"x.com/SuprDeclarativ…"},"retweeted":false,"fact_check":null,"id":"1986501944299692264","view_count":305,"bookmark_count":0,"created_at":1762453945000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@khivedoteth @FlutterDev Here's what I said yesterday about where I'd start:\nhttps://t.co/D2VueIkmkH","in_reply_to_user_id_str":"790201826","in_reply_to_status_id_str":"1986501715924005083","is_quote_status":1,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[22,208],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1369087208","name":"Hari","screen_name":"harii_07","indices":[0,9]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[10,21]}]},"favorited":false,"in_reply_to_screen_name":"harii_07","lang":"en","retweeted":false,"fact_check":null,"id":"1986499762779283532","view_count":215,"bookmark_count":0,"created_at":1762453425000,"favorite_count":3,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@harii_07 @FlutterDev I'm not sure what \"this way\" is, but all I can do is offer. I live 5 mins away from Google HQ, I've been on the team before, I would imagine it's pretty easy if they wanna bring me back.","in_reply_to_user_id_str":"1369087208","in_reply_to_status_id_str":"1986497704479105440","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[23,149],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1601453019195133952","name":"Anish","screen_name":"anishtwts","indices":[0,10]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[11,22]}]},"favorited":false,"in_reply_to_screen_name":"anishtwts","lang":"en","retweeted":false,"fact_check":null,"id":"1986500104828965069","view_count":188,"bookmark_count":0,"created_at":1762453507000,"favorite_count":2,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@anishtwts @FlutterDev Thanks. I'm not holding my breath, but it's an honest offer to put all this personal stuff behind and build a bridge together.","in_reply_to_user_id_str":"1601453019195133952","in_reply_to_status_id_str":"1986499927904821374","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[29,96],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"207489846","name":"Josh Hargreaves","screen_name":"joshjhargreaves","indices":[0,16]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[17,28]}]},"favorited":false,"in_reply_to_screen_name":"joshjhargreaves","lang":"en","retweeted":false,"fact_check":null,"id":"1986513196447113496","view_count":134,"bookmark_count":0,"created_at":1762456628000,"favorite_count":0,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@joshjhargreaves @FlutterDev What an oddly non-actionable critique. Would you like to try again?","in_reply_to_user_id_str":"207489846","in_reply_to_status_id_str":"1986511828654993527","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[31,230],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[11,18]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[19,30]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986481130774929819","view_count":237,"bookmark_count":1,"created_at":1762448983000,"favorite_count":4,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986214864151539735","full_text":"@iosemagno @jezell @FlutterDev Definitely. Something I recommended to them back in 2020 when I left. But I’m offering here to return to the team to do what I can on that front. Looks like nobody on their side is interested though.","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986431218955493452","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[29,309],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"207489846","name":"Josh Hargreaves","screen_name":"joshjhargreaves","indices":[0,16]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[17,28]}]},"favorited":false,"in_reply_to_screen_name":"joshjhargreaves","lang":"en","retweeted":false,"fact_check":null,"id":"1986520375275168073","view_count":62,"bookmark_count":0,"created_at":1762458339000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"I suppose you can choose to view it that way if you really want to. But since you were focused on \"self awareness\" you might look around a little bit to see the volume of long-standing Flutter community members who support the posts. I'm trying to bridge a contentious gap that's widened for years - you're dropping by and being a bit of a dick....","in_reply_to_user_id_str":"207489846","in_reply_to_status_id_str":"1986519635814916286","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,276],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[0,11]},{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[0,11]}]},"favorited":false,"in_reply_to_screen_name":"guidorosso","lang":"en","retweeted":false,"fact_check":null,"id":"1986556553156305056","view_count":24,"bookmark_count":0,"created_at":1762466965000,"favorite_count":0,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986556553156305056","full_text":"@guidorosso I have a question about using Rive for app components - specifically around testing. It's common to use screenshot tests in apps. Does the Rive API have a mechanism to pull a bitmap screenshot of the current UI? And does it always use the same algo for shadows and text anti-aliasing, such that pulling screenshots over time, across platforms will likely produce the exact same pixels?","in_reply_to_user_id_str":"4925231","in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-08","value":12,"startTime":1762473600000,"endTime":1762560000000,"tweets":[{"bookmarked":false,"display_text_range":[0,120],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"4917378776","name":"Rive","screen_name":"rive_app","indices":[0,9]}]},"favorited":false,"in_reply_to_screen_name":"rive_app","lang":"en","quoted_status_id_str":"1986634767186731352","quoted_status_permalink":{"url":"https://t.co/hWmSC7GgqL","expanded":"https://twitter.com/rive_app/status/1986634767186731352","display":"x.com/rive_app/statu…"},"retweeted":false,"fact_check":null,"id":"1986658099709768012","view_count":8002,"bookmark_count":16,"created_at":1762491175000,"favorite_count":116,"quote_count":1,"reply_count":3,"retweet_count":4,"user_id_str":"1109937471154905088","conversation_id_str":"1986658099709768012","full_text":"@rive_app is now officially the reincarnation of Flash. They just need to call their scripting language Actionscript 4.0","in_reply_to_user_id_str":"4917378776","in_reply_to_status_id_str":null,"is_quote_status":1,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,29],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986846333223997692","view_count":146,"bookmark_count":0,"created_at":1762536054000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986840106863599741","full_text":"@jezell Literally gonna do it","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986840106863599741","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[9,197],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[0,8]}]},"favorited":false,"in_reply_to_screen_name":"RydMike","lang":"en","retweeted":false,"fact_check":null,"id":"1986913998777073967","view_count":69,"bookmark_count":0,"created_at":1762552187000,"favorite_count":4,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986911596271054950","full_text":"@RydMike To be fair I think this is mainly a problem because iOS decided their keyboard animation curve and height needed to be kept secret. And the drag to close would be hidden only in OEM views.","in_reply_to_user_id_str":"87799983","in_reply_to_status_id_str":"1986911596271054950","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[130,351],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"1055494766807433223","name":"Luke","screen_name":"luke_pighetti","indices":[11,25]},{"id_str":"451445963","name":"Chinmay କବି 🇮🇳💙","screen_name":"ChinuKabi","indices":[26,36]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[37,44]},{"id_str":"1353831575843188736","name":"Alexandru Mariuti","screen_name":"nank1ro","indices":[45,53]},{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[54,70]},{"id_str":"135460126","name":"Andrea Bizzotto 🇺🇦","screen_name":"biz84","indices":[71,77]},{"id_str":"711913","name":"Eric Seidel","screen_name":"_eseidel","indices":[78,87]},{"id_str":"1118681","name":"Seth Ladd","screen_name":"sethladd","indices":[88,97]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[98,106]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[107,115]},{"id_str":"543917371","name":"Alessio Salvadorini 💙","screen_name":"ASalvadorini","indices":[116,129]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986873136927961571","view_count":292,"bookmark_count":0,"created_at":1762542444000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986827182140985367","full_text":"@iosemagno @luke_pighetti @ChinuKabi @jezell @nank1ro @imadetheseworks @biz84 @_eseidel @sethladd @mraleph @RydMike @ASalvadorini I'm confused by \"native textfield\". A quick look through your post didn't clarify. Is this about synchronizing insets to the real keyboard size, or is this about creating a platform view for a truly native iOS text field?","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986827182140985367","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,231],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986850486318997981","view_count":137,"bookmark_count":0,"created_at":1762537044000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986840106863599741","full_text":"@jezell First I gotta ramp up. Gonna convert my fasting app to all Rive. Then I think I might try to finally build my own time tracker that I've been meaning to build for years. Then hopefully I can start thinking tooling for Rive.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986846541542543814","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[20,297],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[8,19]},{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[71,82]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986852357972615506","view_count":262,"bookmark_count":0,"created_at":1762537490000,"favorite_count":6,"quote_count":0,"reply_count":0,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1986840106863599741","full_text":"@jezell @guidorosso That’s exactly one of the things I’d like to offer @guidorosso - I’m trying to go full app dev with Rive. But that needs text fields, message editors, and document editors. I happened to have built all those from the ground up in Super Editor for Flutter. Wanna collab on Rive?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986851038700449812","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[130,403],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"1055494766807433223","name":"Luke","screen_name":"luke_pighetti","indices":[11,25]},{"id_str":"451445963","name":"Chinmay କବି 🇮🇳💙","screen_name":"ChinuKabi","indices":[26,36]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[37,44]},{"id_str":"1353831575843188736","name":"Alexandru Mariuti","screen_name":"nank1ro","indices":[45,53]},{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[54,70]},{"id_str":"135460126","name":"Andrea Bizzotto 🇺🇦","screen_name":"biz84","indices":[71,77]},{"id_str":"711913","name":"Eric Seidel","screen_name":"_eseidel","indices":[78,87]},{"id_str":"1118681","name":"Seth Ladd","screen_name":"sethladd","indices":[88,97]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[98,106]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[107,115]},{"id_str":"543917371","name":"Alessio Salvadorini 💙","screen_name":"ASalvadorini","indices":[116,129]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986899098721788216","view_count":195,"bookmark_count":0,"created_at":1762548634000,"favorite_count":3,"quote_count":0,"reply_count":3,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986827182140985367","full_text":"@iosemagno @luke_pighetti @ChinuKabi @jezell @nank1ro @imadetheseworks @biz84 @_eseidel @sethladd @mraleph @RydMike @ASalvadorini FYI, I've built a full fledged documented editor at Super Editor, and I've rebuilt the text field in Flutter from the ground up. Might be quicker to bridge any final quality gaps in those than to go through the pain of trying to fit platform views everywhere you need them.","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986897622859456866","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[130,269],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"1055494766807433223","name":"Luke","screen_name":"luke_pighetti","indices":[11,25]},{"id_str":"451445963","name":"Chinmay କବି 🇮🇳💙","screen_name":"ChinuKabi","indices":[26,36]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[37,44]},{"id_str":"1353831575843188736","name":"Alexandru Mariuti","screen_name":"nank1ro","indices":[45,53]},{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[54,70]},{"id_str":"135460126","name":"Andrea Bizzotto 🇺🇦","screen_name":"biz84","indices":[71,77]},{"id_str":"711913","name":"Eric Seidel","screen_name":"_eseidel","indices":[78,87]},{"id_str":"1118681","name":"Seth Ladd","screen_name":"sethladd","indices":[88,97]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[98,106]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[107,115]},{"id_str":"543917371","name":"Alessio Salvadorini 💙","screen_name":"ASalvadorini","indices":[116,129]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986912637465301192","view_count":183,"bookmark_count":0,"created_at":1762551862000,"favorite_count":4,"quote_count":0,"reply_count":3,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986827182140985367","full_text":"@iosemagno @luke_pighetti @ChinuKabi @jezell @nank1ro @imadetheseworks @biz84 @_eseidel @sethladd @mraleph @RydMike @ASalvadorini What’s holding you back there? Super editor is used for chat in a major app and we’re doubling down our focus there. Including for AI chat.","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986906865142231088","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-09","value":3,"startTime":1762560000000,"endTime":1762646400000,"tweets":[{"bookmarked":false,"display_text_range":[20,67],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1671203695814385664","name":"Nic Dean","screen_name":"_nicdean","indices":[0,9]},{"id_str":"4917378776","name":"Rive","screen_name":"rive_app","indices":[10,19]}]},"favorited":false,"in_reply_to_screen_name":"_nicdean","lang":"en","retweeted":false,"fact_check":null,"id":"1987270099108307108","view_count":2179,"bookmark_count":1,"created_at":1762637087000,"favorite_count":8,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987256377480561044","full_text":"@_nicdean @rive_app Steve Jobs also had something to say about it 😂","in_reply_to_user_id_str":"1671203695814385664","in_reply_to_status_id_str":"1987256377480561044","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,94],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1987230141995733196","view_count":855,"bookmark_count":0,"created_at":1762627561000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987208556664529121","full_text":"@jezell If it's using \"platform native views\" then how can it also ship a \"C++ layout engine\"?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1987208556664529121","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-10","value":7,"startTime":1762646400000,"endTime":1762732800000,"tweets":[{"bookmarked":false,"display_text_range":[0,278],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[7,18]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[7,18]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1987615291376017496","view_count":2715,"bookmark_count":12,"created_at":1762719388000,"favorite_count":24,"quote_count":0,"reply_count":4,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1987615291376017496","full_text":"When a @FlutterDev subtree gets replaced with another, new State objects get initialized before old ones are disposed. This creates a tough situation for any shared object that needs to get handed from the old State to the new one. It creates a situation where an object belongs to two States when it may be designed to only belong to one. Does anyone know why Flutter doesn't run dispose() on the old State before running initState() on the new State?","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[17,38],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[8,16]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1987392738321703109","view_count":235,"bookmark_count":0,"created_at":1762666327000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986985272563933650","full_text":"@jezell @RydMike Who was the 2nd exit?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1987097773418946830","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[20,294],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[8,19]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1987620525045403855","view_count":597,"bookmark_count":1,"created_at":1762720636000,"favorite_count":3,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987615291376017496","full_text":"Yeah, nominally a GlobalKey can retain the State object to avoid the issue. However, there are about 5 people in the world who truly understand the reparenting mechanism implemented for GlobalKeys. So, for example, making every Super Editor user figure out when and where to attach a GlobalKey so that their Super Editor plugins don't blow up really isn't feasible. Instead, we need to do stuff in Super Editor that makes this management fool proof and invisible to our users.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1987619905123062168","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-11","value":0,"startTime":1762732800000,"endTime":1762819200000,"tweets":[]},{"label":"2025-11-12","value":5,"startTime":1762819200000,"endTime":1762905600000,"tweets":[{"bookmarked":false,"display_text_range":[11,116],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[0,10]}]},"favorited":true,"in_reply_to_screen_name":"damy_wise","lang":"en","retweeted":false,"fact_check":null,"id":"1988174349346754832","view_count":4356,"bookmark_count":0,"created_at":1762852678000,"favorite_count":5,"quote_count":1,"reply_count":4,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@damy_wise I’m about to move my focus from Flutter to Rive. Curious to hear your thoughts based on your experiences.","in_reply_to_user_id_str":"1243886626238947328","in_reply_to_status_id_str":"1987851785420284163","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[26,72],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"145322774","name":"Lee Higgins","screen_name":"Depthperpixel","indices":[0,14]},{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[15,25]}]},"favorited":false,"in_reply_to_screen_name":"Depthperpixel","lang":"en","retweeted":false,"fact_check":null,"id":"1988329471406190798","view_count":30,"bookmark_count":0,"created_at":1762889662000,"favorite_count":0,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@Depthperpixel @damy_wise Doesn’t rive support raster images internally?","in_reply_to_user_id_str":"145322774","in_reply_to_status_id_str":"1988328965812219973","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[26,158],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"145322774","name":"Lee Higgins","screen_name":"Depthperpixel","indices":[0,14]},{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[15,25]}]},"favorited":false,"in_reply_to_screen_name":"Depthperpixel","lang":"en","retweeted":false,"fact_check":null,"id":"1988328197457670360","view_count":75,"bookmark_count":0,"created_at":1762889358000,"favorite_count":0,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@Depthperpixel @damy_wise Have you tried using it for app UI though? I imagine it’s a pretty different performance profile for buttons and text and lists etc.","in_reply_to_user_id_str":"145322774","in_reply_to_status_id_str":"1988264189664657652","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-13","value":1,"startTime":1762905600000,"endTime":1762992000000,"tweets":[{"bookmarked":false,"display_text_range":[21,101],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"114900758","name":"Roman Jaquez","screen_name":"drcoderz","indices":[0,9]},{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[10,20]}]},"favorited":false,"in_reply_to_screen_name":"drcoderz","lang":"en","retweeted":false,"fact_check":null,"id":"1988441166556410069","view_count":65,"bookmark_count":0,"created_at":1762916292000,"favorite_count":0,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@drcoderz @damy_wise How’d you end up using it? One big rive app or rive per page or rive per widget?","in_reply_to_user_id_str":"114900758","in_reply_to_status_id_str":"1988424334885744756","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-14","value":1,"startTime":1762992000000,"endTime":1763078400000,"tweets":[{"bookmarked":false,"display_text_range":[23,151],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"1654808914675011585","name":"Tahiro Agbanwa ⚡️","screen_name":"squirelBoy360","indices":[8,22]}]},"favorited":true,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1988840624594817412","view_count":146,"bookmark_count":0,"created_at":1763011530000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1988838418499956884","full_text":"@jezell @squirelBoy360 I’d be interested in trying a Dart wrapper around yoga as a way of using nothing but Rive widgets in app without any flutter UI.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1988840195194589372","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-15","value":0,"startTime":1763078400000,"endTime":1763164800000,"tweets":[]},{"label":"2025-11-16","value":0,"startTime":1763164800000,"endTime":1763251200000,"tweets":[]},{"label":"2025-11-17","value":0,"startTime":1763251200000,"endTime":1763337600000,"tweets":[]},{"label":"2025-11-18","value":0,"startTime":1763337600000,"endTime":1763424000000,"tweets":[]}],"nbookmarks":[{"label":"2025-10-19","value":0,"startTime":1760745600000,"endTime":1760832000000,"tweets":[]},{"label":"2025-10-20","value":0,"startTime":1760832000000,"endTime":1760918400000,"tweets":[]},{"label":"2025-10-21","value":0,"startTime":1760918400000,"endTime":1761004800000,"tweets":[]},{"label":"2025-10-22","value":0,"startTime":1761004800000,"endTime":1761091200000,"tweets":[]},{"label":"2025-10-23","value":4,"startTime":1761091200000,"endTime":1761177600000,"tweets":[{"bookmarked":false,"display_text_range":[0,248],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[5,16]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1981032849764741575","view_count":3814,"bookmark_count":3,"created_at":1761150011000,"favorite_count":22,"quote_count":0,"reply_count":1,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1981032849764741575","full_text":"Does @FlutterDev really still not support sampling child widget pixels in fragment shaders on iOS and Android? It seems to work fine on desktop and in the browser, but seems totally broken on mobile. Is this for real? Or am I doing something wrong?","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[26,270],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/l8dB3quOTv","expanded_url":"https://x.com/SuprDeclarative/status/1981081844440584325/photo/1","id_str":"1981081505016184832","indices":[271,294],"media_key":"3_1981081505016184832","media_url_https":"https://pbs.twimg.com/media/G343IfGWAAAASML.jpg","type":"photo","url":"https://t.co/l8dB3quOTv","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":876,"w":1326,"resize":"fit"},"medium":{"h":793,"w":1200,"resize":"fit"},"small":{"h":449,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":876,"width":1326,"focus_rects":[{"x":0,"y":133,"w":1326,"h":743},{"x":59,"y":0,"w":876,"h":876},{"x":113,"y":0,"w":768,"h":876},{"x":278,"y":0,"w":438,"h":876},{"x":0,"y":0,"w":1326,"h":876}]},"media_results":{"result":{"media_key":"3_1981081505016184832"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"2245268778","name":"Raouf Rahiche","screen_name":"raoufrahiche","indices":[0,13]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[14,25]}]},"extended_entities":{"media":[{"display_url":"pic.x.com/l8dB3quOTv","expanded_url":"https://x.com/SuprDeclarative/status/1981081844440584325/photo/1","id_str":"1981081505016184832","indices":[271,294],"media_key":"3_1981081505016184832","media_url_https":"https://pbs.twimg.com/media/G343IfGWAAAASML.jpg","type":"photo","url":"https://t.co/l8dB3quOTv","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":876,"w":1326,"resize":"fit"},"medium":{"h":793,"w":1200,"resize":"fit"},"small":{"h":449,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":876,"width":1326,"focus_rects":[{"x":0,"y":133,"w":1326,"h":743},{"x":59,"y":0,"w":876,"h":876},{"x":113,"y":0,"w":768,"h":876},{"x":278,"y":0,"w":438,"h":876},{"x":0,"y":0,"w":1326,"h":876}]},"media_results":{"result":{"media_key":"3_1981081505016184832"}}}]},"favorited":false,"in_reply_to_screen_name":"raoufrahiche","lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1981081844440584325","view_count":476,"bookmark_count":1,"created_at":1761161693000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1981032849764741575","full_text":"@raoufrahiche @FlutterDev I think it's working with this conditional - although it seems like when I launch the app with this code, it completely crashes. But when I comment this out, run the app, then uncomment and hot reload, it works.\n\nIs this what you were thinking? https://t.co/l8dB3quOTv","in_reply_to_user_id_str":"2245268778","in_reply_to_status_id_str":"1981067010466283859","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-10-24","value":0,"startTime":1761177600000,"endTime":1761264000000,"tweets":[]},{"label":"2025-10-25","value":0,"startTime":1761264000000,"endTime":1761350400000,"tweets":[]},{"label":"2025-10-26","value":0,"startTime":1761350400000,"endTime":1761436800000,"tweets":[]},{"label":"2025-10-27","value":0,"startTime":1761436800000,"endTime":1761523200000,"tweets":[]},{"label":"2025-10-28","value":0,"startTime":1761523200000,"endTime":1761609600000,"tweets":[]},{"label":"2025-10-29","value":38,"startTime":1761609600000,"endTime":1761696000000,"tweets":[{"bookmarked":false,"display_text_range":[0,271],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[11,22]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1983229616975458743","view_count":8911,"bookmark_count":37,"created_at":1761673761000,"favorite_count":65,"quote_count":0,"reply_count":32,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1983229616975458743","full_text":"To all the @FlutterDev's who are obsessed with AI, if I want to select one freely available AI tool and ask it to create entire screens/features in a little app, which one do you currently recommend, and why? Usually I ask targeted questions - but I want to try full gen.","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[20,128],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[8,19]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1983240721953107984","view_count":1078,"bookmark_count":0,"created_at":1761676409000,"favorite_count":4,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1983229616975458743","full_text":"@jezell @FlutterDev How do all these options work? Does each one have an app? Or do I install a CLI and point it at a directory?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1983237525796991295","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[25,94],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[0,16]},{"id_str":"568573618","name":"Anton Borries 🦋","screen_name":"ABausG","indices":[17,24]}]},"favorited":false,"in_reply_to_screen_name":"imadetheseworks","lang":"en","retweeted":false,"fact_check":null,"id":"1983241033166340355","view_count":688,"bookmark_count":1,"created_at":1761676483000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1983167497798074434","full_text":"@imadetheseworks @ABausG Oh man you got P2’ed. Only one level better than “never gonna happen”","in_reply_to_user_id_str":"1785951221158756352","in_reply_to_status_id_str":"1983167497798074434","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-10-30","value":2,"startTime":1761696000000,"endTime":1761782400000,"tweets":[{"bookmarked":false,"display_text_range":[0,90],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"github.com/flutter/flutte…","expanded_url":"https://github.com/flutter/flutter/issues/177693","url":"https://t.co/vMRGbOY36Q","indices":[67,90]}],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[4,15]}]},"favorited":false,"lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1983628579796873630","view_count":2948,"bookmark_count":2,"created_at":1761768882000,"favorite_count":18,"quote_count":1,"reply_count":0,"retweet_count":3,"user_id_str":"1109937471154905088","conversation_id_str":"1983628579796873630","full_text":"FYI @FlutterDev's OverlayPortal might be breaking your hot reload: https://t.co/vMRGbOY36Q","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-10-31","value":0,"startTime":1761782400000,"endTime":1761868800000,"tweets":[]},{"label":"2025-11-01","value":0,"startTime":1761868800000,"endTime":1761955200000,"tweets":[]},{"label":"2025-11-02","value":0,"startTime":1761955200000,"endTime":1762041600000,"tweets":[]},{"label":"2025-11-03","value":0,"startTime":1762041600000,"endTime":1762128000000,"tweets":[]},{"label":"2025-11-04","value":0,"startTime":1762128000000,"endTime":1762214400000,"tweets":[]},{"label":"2025-11-05","value":2,"startTime":1762214400000,"endTime":1762300800000,"tweets":[{"bookmarked":false,"display_text_range":[31,77],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[0,8]},{"id_str":"561770146","name":"Khalid Warsame","screen_name":"KhalidWarsa","indices":[9,21]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[22,30]}]},"favorited":false,"in_reply_to_screen_name":"mraleph","lang":"en","retweeted":false,"fact_check":null,"id":"1985749479405019214","view_count":1683,"bookmark_count":0,"created_at":1762274543000,"favorite_count":8,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1985594437981102325","full_text":"@mraleph @KhalidWarsa @RydMike It's very likely taking people to React Native","in_reply_to_user_id_str":"53010195","in_reply_to_status_id_str":"1985678859539276287","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[31,300],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[0,8]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[9,17]},{"id_str":"561770146","name":"Khalid Warsame","screen_name":"KhalidWarsa","indices":[18,30]}]},"favorited":false,"in_reply_to_screen_name":"RydMike","lang":"en","retweeted":false,"fact_check":null,"id":"1985754577132736762","view_count":2019,"bookmark_count":2,"created_at":1762275759000,"favorite_count":21,"quote_count":0,"reply_count":4,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1985594437981102325","full_text":"@RydMike @mraleph @KhalidWarsa Yep. I've said it before, but I'll say it again. Flutter has not only ignored its own community, but has been hostile to it. Flutter has now lost almost every unique value prop. It will lose the rest. It has no moat. I don't see how it avoids zombie mode at this point.","in_reply_to_user_id_str":"87799983","in_reply_to_status_id_str":"1985751390883389866","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[48,178],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"703122697232863233","name":"Thomas Burkhart 💙","screen_name":"ThomasBurkhartB","indices":[0,16]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[17,25]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[26,34]},{"id_str":"561770146","name":"Khalid Warsame","screen_name":"KhalidWarsa","indices":[35,47]}]},"favorited":false,"in_reply_to_screen_name":"ThomasBurkhartB","lang":"en","retweeted":false,"fact_check":null,"id":"1985816253479731210","view_count":1609,"bookmark_count":0,"created_at":1762290464000,"favorite_count":6,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1985594437981102325","full_text":"@ThomasBurkhartB @RydMike @mraleph @KhalidWarsa I don’t really remember when they were. I only remember when they were ignored. But for years now they’ve been actively combatted.","in_reply_to_user_id_str":"703122697232863233","in_reply_to_status_id_str":"1985815658202796387","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-06","value":11,"startTime":1762300800000,"endTime":1762387200000,"tweets":[{"bookmarked":false,"display_text_range":[0,279],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[23,30]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[86,97]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[23,30]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[86,97]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1986214864151539735","view_count":4605,"bookmark_count":10,"created_at":1762385500000,"favorite_count":103,"quote_count":2,"reply_count":11,"retweet_count":8,"user_id_str":"1109937471154905088","conversation_id_str":"1986214864151539735","full_text":"My back and forth with @jezell earlier got me thinking...if I actually did rejoin the @FlutterDev team, what would I try early on to rapidly improve community engagement? Here are my thoughts:\n\nHold 4 different recurring office hours to understand pain points and set priorities:\n * Indie dev\n * Agency dev\n * Enterprise dev\n * Flutter tooling dev (e.g., Code Magic, Shorebird, etc)\n\nI would do the majority of my personal Flutter contributions on live streams:\n * Would teach community how to contribute\n * Would spread knowledge of new implementation details\n * Would receive help from live stream members when implementing\n * Would file tickets and assign to members of the community during the stream\n\nHelp devs get their PRs cleaned up and merged. Ideally do this with them in real-time on a stream, but also some async for time zone issues.\n\nVisit American companies using Flutter to observe their difficulties firsthand.\n\nAttend as many US Meetups and conferences as possible to show off new features, and engage in listening sessions with the community.\n\nIdentify the most popular and promising packages and help those developers polish it, document it, test it, etc. Show that the Flutter org is committed to the health of the package ecosystem.\n\nI would do my best to blur the line between the organization and the community. Because at the end of the day, either there is no line, or there is no healthy organization or community.","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,196],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"313393045","name":"Michael Thomsen","screen_name":"MiSvTh","indices":[39,46]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986193090642911320","view_count":349,"bookmark_count":1,"created_at":1762380309000,"favorite_count":16,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986188317327814799","full_text":"@jezell Then I'll put it out there. If @MiSvTh would like to turn this ship around for community engagement, I'd sit down with him to talk about getting me back on the team to help make it happen.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986190517168971877","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,45],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986190022979297772","view_count":544,"bookmark_count":0,"created_at":1762379577000,"favorite_count":4,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986188317327814799","full_text":"@jezell Not surprised at all at this point...","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986188356355825996","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,214],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"SuprDeclarative","lang":"en","retweeted":false,"fact_check":null,"id":"1986190302093398508","view_count":529,"bookmark_count":0,"created_at":1762379644000,"favorite_count":7,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986188317327814799","full_text":"@jezell You know, I would consider rejoining the team to get this velocity up, if they were serious about improving their ways. But I'm guessing they'd rather just keep doing what hasn't worked and sink the ship...","in_reply_to_user_id_str":"1109937471154905088","in_reply_to_status_id_str":"1986190022979297772","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[34,54],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"857973744","name":"Abdallah Shaban","screen_name":"AbdallahSh07","indices":[0,13]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[14,21]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[22,33]}]},"favorited":false,"in_reply_to_screen_name":"AbdallahSh07","lang":"en","retweeted":false,"fact_check":null,"id":"1986216363019624542","view_count":594,"bookmark_count":0,"created_at":1762385857000,"favorite_count":11,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986214864151539735","full_text":"@AbdallahSh07 @jezell @FlutterDev I could do that work","in_reply_to_user_id_str":"857973744","in_reply_to_status_id_str":"1986215601120166103","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-07","value":8,"startTime":1762387200000,"endTime":1762473600000,"tweets":[{"bookmarked":false,"display_text_range":[0,271],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[59,70]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[59,70]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1986491522825789549","view_count":4806,"bookmark_count":7,"created_at":1762451460000,"favorite_count":70,"quote_count":2,"reply_count":7,"retweet_count":4,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"Can we all pause and notice that we're stuck in an endless @FlutterDev loop between the community and the team? Forget the latest specific issue - we're on a merry-go-round that never stops spinning, and only seems to get faster. It goes like this:\n\n1. A community member experiences something that is frustrating, limiting, concerning, or all of the above.\n\n2. Flutter team does some combination of ignore it, tell the community member to file an issue that will likely never be worked on, or to fix it themselves.\n\n3. Community member feels entitled to an actual solution from Flutter.\n\n4. Flutter team gets defensive. Flutter-splains that they merge lots of outside code, and they're busy with other important things, and that problem isn't even really a problem if you understand what Flutter is meant to do, and maybe it's even a feature and not a bug.\n\n5. Community members feel ignored, marginalized, and disrespected, yet again, for the 100th time. Community members go through a therapy session by reminding the Flutter team of those last 100 times problems came up that didn't get addressed and didn't get solved.\n\n6. Flutter team becomes more defensive and even passive aggressive with community members.\n\n7. NOTHING GETS BETTER\n\nYesterday I offered to make myself available to rejoin the team to bridge this gap. No doubt it's a very tall task after so many years of this, but I'm willing to give it a go if they are. I will take all these public arrows for the team. \n\nDespite my personal issues with various people on the team, I believe that the only way for me to preserve my ability to use the skills I've spent 7 years building, is to finally bridge this gap and return Flutter to the \"community driven\" project that it once billed itself to be.","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[13,278],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"133487462","name":"Graham : A Star Wars Story 💙","screen_name":"whoisgraham","indices":[0,12]}]},"favorited":false,"in_reply_to_screen_name":"whoisgraham","lang":"en","retweeted":false,"fact_check":null,"id":"1986548582556856517","view_count":35,"bookmark_count":0,"created_at":1762465065000,"favorite_count":0,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986505347218219519","full_text":"@whoisgraham If that's a subtweet about me, I'd like to know it and why you feel that way. If it's about someone else, I'd like to know that too. I don't really understand this behavior of putting out passive aggressive tweets while also playing the role of adult in the room...","in_reply_to_user_id_str":"133487462","in_reply_to_status_id_str":"1986505347218219519","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[25,100],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"x.com/SuprDeclarativ…","expanded_url":"https://x.com/SuprDeclarative/status/1986214864151539735","url":"https://t.co/D2VueIkmkH","indices":[77,100]}],"user_mentions":[{"id_str":"790201826","name":"pk","screen_name":"khivedoteth","indices":[0,12]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[13,24]}]},"favorited":false,"in_reply_to_screen_name":"khivedoteth","lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"quoted_status_id_str":"1986214864151539735","quoted_status_permalink":{"url":"https://t.co/D2VueIkmkH","expanded":"https://x.com/SuprDeclarative/status/1986214864151539735","display":"x.com/SuprDeclarativ…"},"retweeted":false,"fact_check":null,"id":"1986501944299692264","view_count":305,"bookmark_count":0,"created_at":1762453945000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@khivedoteth @FlutterDev Here's what I said yesterday about where I'd start:\nhttps://t.co/D2VueIkmkH","in_reply_to_user_id_str":"790201826","in_reply_to_status_id_str":"1986501715924005083","is_quote_status":1,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[22,208],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1369087208","name":"Hari","screen_name":"harii_07","indices":[0,9]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[10,21]}]},"favorited":false,"in_reply_to_screen_name":"harii_07","lang":"en","retweeted":false,"fact_check":null,"id":"1986499762779283532","view_count":215,"bookmark_count":0,"created_at":1762453425000,"favorite_count":3,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@harii_07 @FlutterDev I'm not sure what \"this way\" is, but all I can do is offer. I live 5 mins away from Google HQ, I've been on the team before, I would imagine it's pretty easy if they wanna bring me back.","in_reply_to_user_id_str":"1369087208","in_reply_to_status_id_str":"1986497704479105440","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[23,149],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1601453019195133952","name":"Anish","screen_name":"anishtwts","indices":[0,10]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[11,22]}]},"favorited":false,"in_reply_to_screen_name":"anishtwts","lang":"en","retweeted":false,"fact_check":null,"id":"1986500104828965069","view_count":188,"bookmark_count":0,"created_at":1762453507000,"favorite_count":2,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@anishtwts @FlutterDev Thanks. I'm not holding my breath, but it's an honest offer to put all this personal stuff behind and build a bridge together.","in_reply_to_user_id_str":"1601453019195133952","in_reply_to_status_id_str":"1986499927904821374","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[29,96],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"207489846","name":"Josh Hargreaves","screen_name":"joshjhargreaves","indices":[0,16]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[17,28]}]},"favorited":false,"in_reply_to_screen_name":"joshjhargreaves","lang":"en","retweeted":false,"fact_check":null,"id":"1986513196447113496","view_count":134,"bookmark_count":0,"created_at":1762456628000,"favorite_count":0,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@joshjhargreaves @FlutterDev What an oddly non-actionable critique. Would you like to try again?","in_reply_to_user_id_str":"207489846","in_reply_to_status_id_str":"1986511828654993527","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[31,230],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[11,18]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[19,30]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986481130774929819","view_count":237,"bookmark_count":1,"created_at":1762448983000,"favorite_count":4,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986214864151539735","full_text":"@iosemagno @jezell @FlutterDev Definitely. Something I recommended to them back in 2020 when I left. But I’m offering here to return to the team to do what I can on that front. Looks like nobody on their side is interested though.","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986431218955493452","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[29,309],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"207489846","name":"Josh Hargreaves","screen_name":"joshjhargreaves","indices":[0,16]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[17,28]}]},"favorited":false,"in_reply_to_screen_name":"joshjhargreaves","lang":"en","retweeted":false,"fact_check":null,"id":"1986520375275168073","view_count":62,"bookmark_count":0,"created_at":1762458339000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"I suppose you can choose to view it that way if you really want to. But since you were focused on \"self awareness\" you might look around a little bit to see the volume of long-standing Flutter community members who support the posts. I'm trying to bridge a contentious gap that's widened for years - you're dropping by and being a bit of a dick....","in_reply_to_user_id_str":"207489846","in_reply_to_status_id_str":"1986519635814916286","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,276],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[0,11]},{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[0,11]}]},"favorited":false,"in_reply_to_screen_name":"guidorosso","lang":"en","retweeted":false,"fact_check":null,"id":"1986556553156305056","view_count":24,"bookmark_count":0,"created_at":1762466965000,"favorite_count":0,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986556553156305056","full_text":"@guidorosso I have a question about using Rive for app components - specifically around testing. It's common to use screenshot tests in apps. Does the Rive API have a mechanism to pull a bitmap screenshot of the current UI? And does it always use the same algo for shadows and text anti-aliasing, such that pulling screenshots over time, across platforms will likely produce the exact same pixels?","in_reply_to_user_id_str":"4925231","in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-08","value":16,"startTime":1762473600000,"endTime":1762560000000,"tweets":[{"bookmarked":false,"display_text_range":[0,120],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"4917378776","name":"Rive","screen_name":"rive_app","indices":[0,9]}]},"favorited":false,"in_reply_to_screen_name":"rive_app","lang":"en","quoted_status_id_str":"1986634767186731352","quoted_status_permalink":{"url":"https://t.co/hWmSC7GgqL","expanded":"https://twitter.com/rive_app/status/1986634767186731352","display":"x.com/rive_app/statu…"},"retweeted":false,"fact_check":null,"id":"1986658099709768012","view_count":8002,"bookmark_count":16,"created_at":1762491175000,"favorite_count":116,"quote_count":1,"reply_count":3,"retweet_count":4,"user_id_str":"1109937471154905088","conversation_id_str":"1986658099709768012","full_text":"@rive_app is now officially the reincarnation of Flash. They just need to call their scripting language Actionscript 4.0","in_reply_to_user_id_str":"4917378776","in_reply_to_status_id_str":null,"is_quote_status":1,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,29],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986846333223997692","view_count":146,"bookmark_count":0,"created_at":1762536054000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986840106863599741","full_text":"@jezell Literally gonna do it","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986840106863599741","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[9,197],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[0,8]}]},"favorited":false,"in_reply_to_screen_name":"RydMike","lang":"en","retweeted":false,"fact_check":null,"id":"1986913998777073967","view_count":69,"bookmark_count":0,"created_at":1762552187000,"favorite_count":4,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986911596271054950","full_text":"@RydMike To be fair I think this is mainly a problem because iOS decided their keyboard animation curve and height needed to be kept secret. And the drag to close would be hidden only in OEM views.","in_reply_to_user_id_str":"87799983","in_reply_to_status_id_str":"1986911596271054950","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[130,351],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"1055494766807433223","name":"Luke","screen_name":"luke_pighetti","indices":[11,25]},{"id_str":"451445963","name":"Chinmay କବି 🇮🇳💙","screen_name":"ChinuKabi","indices":[26,36]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[37,44]},{"id_str":"1353831575843188736","name":"Alexandru Mariuti","screen_name":"nank1ro","indices":[45,53]},{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[54,70]},{"id_str":"135460126","name":"Andrea Bizzotto 🇺🇦","screen_name":"biz84","indices":[71,77]},{"id_str":"711913","name":"Eric Seidel","screen_name":"_eseidel","indices":[78,87]},{"id_str":"1118681","name":"Seth Ladd","screen_name":"sethladd","indices":[88,97]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[98,106]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[107,115]},{"id_str":"543917371","name":"Alessio Salvadorini 💙","screen_name":"ASalvadorini","indices":[116,129]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986873136927961571","view_count":292,"bookmark_count":0,"created_at":1762542444000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986827182140985367","full_text":"@iosemagno @luke_pighetti @ChinuKabi @jezell @nank1ro @imadetheseworks @biz84 @_eseidel @sethladd @mraleph @RydMike @ASalvadorini I'm confused by \"native textfield\". A quick look through your post didn't clarify. Is this about synchronizing insets to the real keyboard size, or is this about creating a platform view for a truly native iOS text field?","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986827182140985367","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,231],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986850486318997981","view_count":137,"bookmark_count":0,"created_at":1762537044000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986840106863599741","full_text":"@jezell First I gotta ramp up. Gonna convert my fasting app to all Rive. Then I think I might try to finally build my own time tracker that I've been meaning to build for years. Then hopefully I can start thinking tooling for Rive.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986846541542543814","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[20,297],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[8,19]},{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[71,82]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986852357972615506","view_count":262,"bookmark_count":0,"created_at":1762537490000,"favorite_count":6,"quote_count":0,"reply_count":0,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1986840106863599741","full_text":"@jezell @guidorosso That’s exactly one of the things I’d like to offer @guidorosso - I’m trying to go full app dev with Rive. But that needs text fields, message editors, and document editors. I happened to have built all those from the ground up in Super Editor for Flutter. Wanna collab on Rive?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986851038700449812","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[130,403],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"1055494766807433223","name":"Luke","screen_name":"luke_pighetti","indices":[11,25]},{"id_str":"451445963","name":"Chinmay କବି 🇮🇳💙","screen_name":"ChinuKabi","indices":[26,36]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[37,44]},{"id_str":"1353831575843188736","name":"Alexandru Mariuti","screen_name":"nank1ro","indices":[45,53]},{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[54,70]},{"id_str":"135460126","name":"Andrea Bizzotto 🇺🇦","screen_name":"biz84","indices":[71,77]},{"id_str":"711913","name":"Eric Seidel","screen_name":"_eseidel","indices":[78,87]},{"id_str":"1118681","name":"Seth Ladd","screen_name":"sethladd","indices":[88,97]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[98,106]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[107,115]},{"id_str":"543917371","name":"Alessio Salvadorini 💙","screen_name":"ASalvadorini","indices":[116,129]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986899098721788216","view_count":195,"bookmark_count":0,"created_at":1762548634000,"favorite_count":3,"quote_count":0,"reply_count":3,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986827182140985367","full_text":"@iosemagno @luke_pighetti @ChinuKabi @jezell @nank1ro @imadetheseworks @biz84 @_eseidel @sethladd @mraleph @RydMike @ASalvadorini FYI, I've built a full fledged documented editor at Super Editor, and I've rebuilt the text field in Flutter from the ground up. Might be quicker to bridge any final quality gaps in those than to go through the pain of trying to fit platform views everywhere you need them.","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986897622859456866","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[130,269],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"1055494766807433223","name":"Luke","screen_name":"luke_pighetti","indices":[11,25]},{"id_str":"451445963","name":"Chinmay କବି 🇮🇳💙","screen_name":"ChinuKabi","indices":[26,36]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[37,44]},{"id_str":"1353831575843188736","name":"Alexandru Mariuti","screen_name":"nank1ro","indices":[45,53]},{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[54,70]},{"id_str":"135460126","name":"Andrea Bizzotto 🇺🇦","screen_name":"biz84","indices":[71,77]},{"id_str":"711913","name":"Eric Seidel","screen_name":"_eseidel","indices":[78,87]},{"id_str":"1118681","name":"Seth Ladd","screen_name":"sethladd","indices":[88,97]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[98,106]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[107,115]},{"id_str":"543917371","name":"Alessio Salvadorini 💙","screen_name":"ASalvadorini","indices":[116,129]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986912637465301192","view_count":183,"bookmark_count":0,"created_at":1762551862000,"favorite_count":4,"quote_count":0,"reply_count":3,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986827182140985367","full_text":"@iosemagno @luke_pighetti @ChinuKabi @jezell @nank1ro @imadetheseworks @biz84 @_eseidel @sethladd @mraleph @RydMike @ASalvadorini What’s holding you back there? Super editor is used for chat in a major app and we’re doubling down our focus there. Including for AI chat.","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986906865142231088","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-09","value":1,"startTime":1762560000000,"endTime":1762646400000,"tweets":[{"bookmarked":false,"display_text_range":[20,67],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1671203695814385664","name":"Nic Dean","screen_name":"_nicdean","indices":[0,9]},{"id_str":"4917378776","name":"Rive","screen_name":"rive_app","indices":[10,19]}]},"favorited":false,"in_reply_to_screen_name":"_nicdean","lang":"en","retweeted":false,"fact_check":null,"id":"1987270099108307108","view_count":2179,"bookmark_count":1,"created_at":1762637087000,"favorite_count":8,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987256377480561044","full_text":"@_nicdean @rive_app Steve Jobs also had something to say about it 😂","in_reply_to_user_id_str":"1671203695814385664","in_reply_to_status_id_str":"1987256377480561044","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,94],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1987230141995733196","view_count":855,"bookmark_count":0,"created_at":1762627561000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987208556664529121","full_text":"@jezell If it's using \"platform native views\" then how can it also ship a \"C++ layout engine\"?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1987208556664529121","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-10","value":13,"startTime":1762646400000,"endTime":1762732800000,"tweets":[{"bookmarked":false,"display_text_range":[0,278],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[7,18]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[7,18]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1987615291376017496","view_count":2715,"bookmark_count":12,"created_at":1762719388000,"favorite_count":24,"quote_count":0,"reply_count":4,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1987615291376017496","full_text":"When a @FlutterDev subtree gets replaced with another, new State objects get initialized before old ones are disposed. This creates a tough situation for any shared object that needs to get handed from the old State to the new one. It creates a situation where an object belongs to two States when it may be designed to only belong to one. Does anyone know why Flutter doesn't run dispose() on the old State before running initState() on the new State?","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[17,38],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[8,16]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1987392738321703109","view_count":235,"bookmark_count":0,"created_at":1762666327000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986985272563933650","full_text":"@jezell @RydMike Who was the 2nd exit?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1987097773418946830","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[20,294],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[8,19]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1987620525045403855","view_count":597,"bookmark_count":1,"created_at":1762720636000,"favorite_count":3,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987615291376017496","full_text":"Yeah, nominally a GlobalKey can retain the State object to avoid the issue. However, there are about 5 people in the world who truly understand the reparenting mechanism implemented for GlobalKeys. So, for example, making every Super Editor user figure out when and where to attach a GlobalKey so that their Super Editor plugins don't blow up really isn't feasible. Instead, we need to do stuff in Super Editor that makes this management fool proof and invisible to our users.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1987619905123062168","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-11","value":0,"startTime":1762732800000,"endTime":1762819200000,"tweets":[]},{"label":"2025-11-12","value":0,"startTime":1762819200000,"endTime":1762905600000,"tweets":[{"bookmarked":false,"display_text_range":[11,116],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[0,10]}]},"favorited":true,"in_reply_to_screen_name":"damy_wise","lang":"en","retweeted":false,"fact_check":null,"id":"1988174349346754832","view_count":4356,"bookmark_count":0,"created_at":1762852678000,"favorite_count":5,"quote_count":1,"reply_count":4,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@damy_wise I’m about to move my focus from Flutter to Rive. Curious to hear your thoughts based on your experiences.","in_reply_to_user_id_str":"1243886626238947328","in_reply_to_status_id_str":"1987851785420284163","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[26,72],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"145322774","name":"Lee Higgins","screen_name":"Depthperpixel","indices":[0,14]},{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[15,25]}]},"favorited":false,"in_reply_to_screen_name":"Depthperpixel","lang":"en","retweeted":false,"fact_check":null,"id":"1988329471406190798","view_count":30,"bookmark_count":0,"created_at":1762889662000,"favorite_count":0,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@Depthperpixel @damy_wise Doesn’t rive support raster images internally?","in_reply_to_user_id_str":"145322774","in_reply_to_status_id_str":"1988328965812219973","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[26,158],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"145322774","name":"Lee Higgins","screen_name":"Depthperpixel","indices":[0,14]},{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[15,25]}]},"favorited":false,"in_reply_to_screen_name":"Depthperpixel","lang":"en","retweeted":false,"fact_check":null,"id":"1988328197457670360","view_count":75,"bookmark_count":0,"created_at":1762889358000,"favorite_count":0,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@Depthperpixel @damy_wise Have you tried using it for app UI though? I imagine it’s a pretty different performance profile for buttons and text and lists etc.","in_reply_to_user_id_str":"145322774","in_reply_to_status_id_str":"1988264189664657652","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-13","value":0,"startTime":1762905600000,"endTime":1762992000000,"tweets":[{"bookmarked":false,"display_text_range":[21,101],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"114900758","name":"Roman Jaquez","screen_name":"drcoderz","indices":[0,9]},{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[10,20]}]},"favorited":false,"in_reply_to_screen_name":"drcoderz","lang":"en","retweeted":false,"fact_check":null,"id":"1988441166556410069","view_count":65,"bookmark_count":0,"created_at":1762916292000,"favorite_count":0,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@drcoderz @damy_wise How’d you end up using it? One big rive app or rive per page or rive per widget?","in_reply_to_user_id_str":"114900758","in_reply_to_status_id_str":"1988424334885744756","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-14","value":0,"startTime":1762992000000,"endTime":1763078400000,"tweets":[{"bookmarked":false,"display_text_range":[23,151],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"1654808914675011585","name":"Tahiro Agbanwa ⚡️","screen_name":"squirelBoy360","indices":[8,22]}]},"favorited":true,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1988840624594817412","view_count":146,"bookmark_count":0,"created_at":1763011530000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1988838418499956884","full_text":"@jezell @squirelBoy360 I’d be interested in trying a Dart wrapper around yoga as a way of using nothing but Rive widgets in app without any flutter UI.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1988840195194589372","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-15","value":0,"startTime":1763078400000,"endTime":1763164800000,"tweets":[]},{"label":"2025-11-16","value":0,"startTime":1763164800000,"endTime":1763251200000,"tweets":[]},{"label":"2025-11-17","value":0,"startTime":1763251200000,"endTime":1763337600000,"tweets":[]},{"label":"2025-11-18","value":0,"startTime":1763337600000,"endTime":1763424000000,"tweets":[]}],"nretweets":[{"label":"2025-10-19","value":0,"startTime":1760745600000,"endTime":1760832000000,"tweets":[]},{"label":"2025-10-20","value":0,"startTime":1760832000000,"endTime":1760918400000,"tweets":[]},{"label":"2025-10-21","value":0,"startTime":1760918400000,"endTime":1761004800000,"tweets":[]},{"label":"2025-10-22","value":0,"startTime":1761004800000,"endTime":1761091200000,"tweets":[]},{"label":"2025-10-23","value":1,"startTime":1761091200000,"endTime":1761177600000,"tweets":[{"bookmarked":false,"display_text_range":[0,248],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[5,16]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1981032849764741575","view_count":3814,"bookmark_count":3,"created_at":1761150011000,"favorite_count":22,"quote_count":0,"reply_count":1,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1981032849764741575","full_text":"Does @FlutterDev really still not support sampling child widget pixels in fragment shaders on iOS and Android? It seems to work fine on desktop and in the browser, but seems totally broken on mobile. Is this for real? Or am I doing something wrong?","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[26,270],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/l8dB3quOTv","expanded_url":"https://x.com/SuprDeclarative/status/1981081844440584325/photo/1","id_str":"1981081505016184832","indices":[271,294],"media_key":"3_1981081505016184832","media_url_https":"https://pbs.twimg.com/media/G343IfGWAAAASML.jpg","type":"photo","url":"https://t.co/l8dB3quOTv","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":876,"w":1326,"resize":"fit"},"medium":{"h":793,"w":1200,"resize":"fit"},"small":{"h":449,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":876,"width":1326,"focus_rects":[{"x":0,"y":133,"w":1326,"h":743},{"x":59,"y":0,"w":876,"h":876},{"x":113,"y":0,"w":768,"h":876},{"x":278,"y":0,"w":438,"h":876},{"x":0,"y":0,"w":1326,"h":876}]},"media_results":{"result":{"media_key":"3_1981081505016184832"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"2245268778","name":"Raouf Rahiche","screen_name":"raoufrahiche","indices":[0,13]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[14,25]}]},"extended_entities":{"media":[{"display_url":"pic.x.com/l8dB3quOTv","expanded_url":"https://x.com/SuprDeclarative/status/1981081844440584325/photo/1","id_str":"1981081505016184832","indices":[271,294],"media_key":"3_1981081505016184832","media_url_https":"https://pbs.twimg.com/media/G343IfGWAAAASML.jpg","type":"photo","url":"https://t.co/l8dB3quOTv","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":876,"w":1326,"resize":"fit"},"medium":{"h":793,"w":1200,"resize":"fit"},"small":{"h":449,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":876,"width":1326,"focus_rects":[{"x":0,"y":133,"w":1326,"h":743},{"x":59,"y":0,"w":876,"h":876},{"x":113,"y":0,"w":768,"h":876},{"x":278,"y":0,"w":438,"h":876},{"x":0,"y":0,"w":1326,"h":876}]},"media_results":{"result":{"media_key":"3_1981081505016184832"}}}]},"favorited":false,"in_reply_to_screen_name":"raoufrahiche","lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1981081844440584325","view_count":476,"bookmark_count":1,"created_at":1761161693000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1981032849764741575","full_text":"@raoufrahiche @FlutterDev I think it's working with this conditional - although it seems like when I launch the app with this code, it completely crashes. But when I comment this out, run the app, then uncomment and hot reload, it works.\n\nIs this what you were thinking? https://t.co/l8dB3quOTv","in_reply_to_user_id_str":"2245268778","in_reply_to_status_id_str":"1981067010466283859","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-10-24","value":0,"startTime":1761177600000,"endTime":1761264000000,"tweets":[]},{"label":"2025-10-25","value":0,"startTime":1761264000000,"endTime":1761350400000,"tweets":[]},{"label":"2025-10-26","value":0,"startTime":1761350400000,"endTime":1761436800000,"tweets":[]},{"label":"2025-10-27","value":0,"startTime":1761436800000,"endTime":1761523200000,"tweets":[]},{"label":"2025-10-28","value":0,"startTime":1761523200000,"endTime":1761609600000,"tweets":[]},{"label":"2025-10-29","value":1,"startTime":1761609600000,"endTime":1761696000000,"tweets":[{"bookmarked":false,"display_text_range":[0,271],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[11,22]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1983229616975458743","view_count":8911,"bookmark_count":37,"created_at":1761673761000,"favorite_count":65,"quote_count":0,"reply_count":32,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1983229616975458743","full_text":"To all the @FlutterDev's who are obsessed with AI, if I want to select one freely available AI tool and ask it to create entire screens/features in a little app, which one do you currently recommend, and why? Usually I ask targeted questions - but I want to try full gen.","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[20,128],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[8,19]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1983240721953107984","view_count":1078,"bookmark_count":0,"created_at":1761676409000,"favorite_count":4,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1983229616975458743","full_text":"@jezell @FlutterDev How do all these options work? Does each one have an app? Or do I install a CLI and point it at a directory?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1983237525796991295","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[25,94],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[0,16]},{"id_str":"568573618","name":"Anton Borries 🦋","screen_name":"ABausG","indices":[17,24]}]},"favorited":false,"in_reply_to_screen_name":"imadetheseworks","lang":"en","retweeted":false,"fact_check":null,"id":"1983241033166340355","view_count":688,"bookmark_count":1,"created_at":1761676483000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1983167497798074434","full_text":"@imadetheseworks @ABausG Oh man you got P2’ed. Only one level better than “never gonna happen”","in_reply_to_user_id_str":"1785951221158756352","in_reply_to_status_id_str":"1983167497798074434","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-10-30","value":3,"startTime":1761696000000,"endTime":1761782400000,"tweets":[{"bookmarked":false,"display_text_range":[0,90],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"github.com/flutter/flutte…","expanded_url":"https://github.com/flutter/flutter/issues/177693","url":"https://t.co/vMRGbOY36Q","indices":[67,90]}],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[4,15]}]},"favorited":false,"lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1983628579796873630","view_count":2948,"bookmark_count":2,"created_at":1761768882000,"favorite_count":18,"quote_count":1,"reply_count":0,"retweet_count":3,"user_id_str":"1109937471154905088","conversation_id_str":"1983628579796873630","full_text":"FYI @FlutterDev's OverlayPortal might be breaking your hot reload: https://t.co/vMRGbOY36Q","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-10-31","value":0,"startTime":1761782400000,"endTime":1761868800000,"tweets":[]},{"label":"2025-11-01","value":0,"startTime":1761868800000,"endTime":1761955200000,"tweets":[]},{"label":"2025-11-02","value":0,"startTime":1761955200000,"endTime":1762041600000,"tweets":[]},{"label":"2025-11-03","value":0,"startTime":1762041600000,"endTime":1762128000000,"tweets":[]},{"label":"2025-11-04","value":0,"startTime":1762128000000,"endTime":1762214400000,"tweets":[]},{"label":"2025-11-05","value":0,"startTime":1762214400000,"endTime":1762300800000,"tweets":[{"bookmarked":false,"display_text_range":[31,77],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[0,8]},{"id_str":"561770146","name":"Khalid Warsame","screen_name":"KhalidWarsa","indices":[9,21]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[22,30]}]},"favorited":false,"in_reply_to_screen_name":"mraleph","lang":"en","retweeted":false,"fact_check":null,"id":"1985749479405019214","view_count":1683,"bookmark_count":0,"created_at":1762274543000,"favorite_count":8,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1985594437981102325","full_text":"@mraleph @KhalidWarsa @RydMike It's very likely taking people to React Native","in_reply_to_user_id_str":"53010195","in_reply_to_status_id_str":"1985678859539276287","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[31,300],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[0,8]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[9,17]},{"id_str":"561770146","name":"Khalid Warsame","screen_name":"KhalidWarsa","indices":[18,30]}]},"favorited":false,"in_reply_to_screen_name":"RydMike","lang":"en","retweeted":false,"fact_check":null,"id":"1985754577132736762","view_count":2019,"bookmark_count":2,"created_at":1762275759000,"favorite_count":21,"quote_count":0,"reply_count":4,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1985594437981102325","full_text":"@RydMike @mraleph @KhalidWarsa Yep. I've said it before, but I'll say it again. Flutter has not only ignored its own community, but has been hostile to it. Flutter has now lost almost every unique value prop. It will lose the rest. It has no moat. I don't see how it avoids zombie mode at this point.","in_reply_to_user_id_str":"87799983","in_reply_to_status_id_str":"1985751390883389866","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[48,178],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"703122697232863233","name":"Thomas Burkhart 💙","screen_name":"ThomasBurkhartB","indices":[0,16]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[17,25]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[26,34]},{"id_str":"561770146","name":"Khalid Warsame","screen_name":"KhalidWarsa","indices":[35,47]}]},"favorited":false,"in_reply_to_screen_name":"ThomasBurkhartB","lang":"en","retweeted":false,"fact_check":null,"id":"1985816253479731210","view_count":1609,"bookmark_count":0,"created_at":1762290464000,"favorite_count":6,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1985594437981102325","full_text":"@ThomasBurkhartB @RydMike @mraleph @KhalidWarsa I don’t really remember when they were. I only remember when they were ignored. But for years now they’ve been actively combatted.","in_reply_to_user_id_str":"703122697232863233","in_reply_to_status_id_str":"1985815658202796387","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-06","value":8,"startTime":1762300800000,"endTime":1762387200000,"tweets":[{"bookmarked":false,"display_text_range":[0,279],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[23,30]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[86,97]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[23,30]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[86,97]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1986214864151539735","view_count":4605,"bookmark_count":10,"created_at":1762385500000,"favorite_count":103,"quote_count":2,"reply_count":11,"retweet_count":8,"user_id_str":"1109937471154905088","conversation_id_str":"1986214864151539735","full_text":"My back and forth with @jezell earlier got me thinking...if I actually did rejoin the @FlutterDev team, what would I try early on to rapidly improve community engagement? Here are my thoughts:\n\nHold 4 different recurring office hours to understand pain points and set priorities:\n * Indie dev\n * Agency dev\n * Enterprise dev\n * Flutter tooling dev (e.g., Code Magic, Shorebird, etc)\n\nI would do the majority of my personal Flutter contributions on live streams:\n * Would teach community how to contribute\n * Would spread knowledge of new implementation details\n * Would receive help from live stream members when implementing\n * Would file tickets and assign to members of the community during the stream\n\nHelp devs get their PRs cleaned up and merged. Ideally do this with them in real-time on a stream, but also some async for time zone issues.\n\nVisit American companies using Flutter to observe their difficulties firsthand.\n\nAttend as many US Meetups and conferences as possible to show off new features, and engage in listening sessions with the community.\n\nIdentify the most popular and promising packages and help those developers polish it, document it, test it, etc. Show that the Flutter org is committed to the health of the package ecosystem.\n\nI would do my best to blur the line between the organization and the community. Because at the end of the day, either there is no line, or there is no healthy organization or community.","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,196],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"313393045","name":"Michael Thomsen","screen_name":"MiSvTh","indices":[39,46]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986193090642911320","view_count":349,"bookmark_count":1,"created_at":1762380309000,"favorite_count":16,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986188317327814799","full_text":"@jezell Then I'll put it out there. If @MiSvTh would like to turn this ship around for community engagement, I'd sit down with him to talk about getting me back on the team to help make it happen.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986190517168971877","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,45],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986190022979297772","view_count":544,"bookmark_count":0,"created_at":1762379577000,"favorite_count":4,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986188317327814799","full_text":"@jezell Not surprised at all at this point...","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986188356355825996","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,214],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"SuprDeclarative","lang":"en","retweeted":false,"fact_check":null,"id":"1986190302093398508","view_count":529,"bookmark_count":0,"created_at":1762379644000,"favorite_count":7,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986188317327814799","full_text":"@jezell You know, I would consider rejoining the team to get this velocity up, if they were serious about improving their ways. But I'm guessing they'd rather just keep doing what hasn't worked and sink the ship...","in_reply_to_user_id_str":"1109937471154905088","in_reply_to_status_id_str":"1986190022979297772","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[34,54],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"857973744","name":"Abdallah Shaban","screen_name":"AbdallahSh07","indices":[0,13]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[14,21]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[22,33]}]},"favorited":false,"in_reply_to_screen_name":"AbdallahSh07","lang":"en","retweeted":false,"fact_check":null,"id":"1986216363019624542","view_count":594,"bookmark_count":0,"created_at":1762385857000,"favorite_count":11,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986214864151539735","full_text":"@AbdallahSh07 @jezell @FlutterDev I could do that work","in_reply_to_user_id_str":"857973744","in_reply_to_status_id_str":"1986215601120166103","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-07","value":4,"startTime":1762387200000,"endTime":1762473600000,"tweets":[{"bookmarked":false,"display_text_range":[0,271],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[59,70]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[59,70]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1986491522825789549","view_count":4806,"bookmark_count":7,"created_at":1762451460000,"favorite_count":70,"quote_count":2,"reply_count":7,"retweet_count":4,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"Can we all pause and notice that we're stuck in an endless @FlutterDev loop between the community and the team? Forget the latest specific issue - we're on a merry-go-round that never stops spinning, and only seems to get faster. It goes like this:\n\n1. A community member experiences something that is frustrating, limiting, concerning, or all of the above.\n\n2. Flutter team does some combination of ignore it, tell the community member to file an issue that will likely never be worked on, or to fix it themselves.\n\n3. Community member feels entitled to an actual solution from Flutter.\n\n4. Flutter team gets defensive. Flutter-splains that they merge lots of outside code, and they're busy with other important things, and that problem isn't even really a problem if you understand what Flutter is meant to do, and maybe it's even a feature and not a bug.\n\n5. Community members feel ignored, marginalized, and disrespected, yet again, for the 100th time. Community members go through a therapy session by reminding the Flutter team of those last 100 times problems came up that didn't get addressed and didn't get solved.\n\n6. Flutter team becomes more defensive and even passive aggressive with community members.\n\n7. NOTHING GETS BETTER\n\nYesterday I offered to make myself available to rejoin the team to bridge this gap. No doubt it's a very tall task after so many years of this, but I'm willing to give it a go if they are. I will take all these public arrows for the team. \n\nDespite my personal issues with various people on the team, I believe that the only way for me to preserve my ability to use the skills I've spent 7 years building, is to finally bridge this gap and return Flutter to the \"community driven\" project that it once billed itself to be.","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[13,278],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"133487462","name":"Graham : A Star Wars Story 💙","screen_name":"whoisgraham","indices":[0,12]}]},"favorited":false,"in_reply_to_screen_name":"whoisgraham","lang":"en","retweeted":false,"fact_check":null,"id":"1986548582556856517","view_count":35,"bookmark_count":0,"created_at":1762465065000,"favorite_count":0,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986505347218219519","full_text":"@whoisgraham If that's a subtweet about me, I'd like to know it and why you feel that way. If it's about someone else, I'd like to know that too. I don't really understand this behavior of putting out passive aggressive tweets while also playing the role of adult in the room...","in_reply_to_user_id_str":"133487462","in_reply_to_status_id_str":"1986505347218219519","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[25,100],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"x.com/SuprDeclarativ…","expanded_url":"https://x.com/SuprDeclarative/status/1986214864151539735","url":"https://t.co/D2VueIkmkH","indices":[77,100]}],"user_mentions":[{"id_str":"790201826","name":"pk","screen_name":"khivedoteth","indices":[0,12]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[13,24]}]},"favorited":false,"in_reply_to_screen_name":"khivedoteth","lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"quoted_status_id_str":"1986214864151539735","quoted_status_permalink":{"url":"https://t.co/D2VueIkmkH","expanded":"https://x.com/SuprDeclarative/status/1986214864151539735","display":"x.com/SuprDeclarativ…"},"retweeted":false,"fact_check":null,"id":"1986501944299692264","view_count":305,"bookmark_count":0,"created_at":1762453945000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@khivedoteth @FlutterDev Here's what I said yesterday about where I'd start:\nhttps://t.co/D2VueIkmkH","in_reply_to_user_id_str":"790201826","in_reply_to_status_id_str":"1986501715924005083","is_quote_status":1,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[22,208],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1369087208","name":"Hari","screen_name":"harii_07","indices":[0,9]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[10,21]}]},"favorited":false,"in_reply_to_screen_name":"harii_07","lang":"en","retweeted":false,"fact_check":null,"id":"1986499762779283532","view_count":215,"bookmark_count":0,"created_at":1762453425000,"favorite_count":3,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@harii_07 @FlutterDev I'm not sure what \"this way\" is, but all I can do is offer. I live 5 mins away from Google HQ, I've been on the team before, I would imagine it's pretty easy if they wanna bring me back.","in_reply_to_user_id_str":"1369087208","in_reply_to_status_id_str":"1986497704479105440","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[23,149],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1601453019195133952","name":"Anish","screen_name":"anishtwts","indices":[0,10]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[11,22]}]},"favorited":false,"in_reply_to_screen_name":"anishtwts","lang":"en","retweeted":false,"fact_check":null,"id":"1986500104828965069","view_count":188,"bookmark_count":0,"created_at":1762453507000,"favorite_count":2,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@anishtwts @FlutterDev Thanks. I'm not holding my breath, but it's an honest offer to put all this personal stuff behind and build a bridge together.","in_reply_to_user_id_str":"1601453019195133952","in_reply_to_status_id_str":"1986499927904821374","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[29,96],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"207489846","name":"Josh Hargreaves","screen_name":"joshjhargreaves","indices":[0,16]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[17,28]}]},"favorited":false,"in_reply_to_screen_name":"joshjhargreaves","lang":"en","retweeted":false,"fact_check":null,"id":"1986513196447113496","view_count":134,"bookmark_count":0,"created_at":1762456628000,"favorite_count":0,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@joshjhargreaves @FlutterDev What an oddly non-actionable critique. Would you like to try again?","in_reply_to_user_id_str":"207489846","in_reply_to_status_id_str":"1986511828654993527","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[31,230],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[11,18]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[19,30]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986481130774929819","view_count":237,"bookmark_count":1,"created_at":1762448983000,"favorite_count":4,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986214864151539735","full_text":"@iosemagno @jezell @FlutterDev Definitely. Something I recommended to them back in 2020 when I left. But I’m offering here to return to the team to do what I can on that front. Looks like nobody on their side is interested though.","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986431218955493452","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[29,309],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"207489846","name":"Josh Hargreaves","screen_name":"joshjhargreaves","indices":[0,16]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[17,28]}]},"favorited":false,"in_reply_to_screen_name":"joshjhargreaves","lang":"en","retweeted":false,"fact_check":null,"id":"1986520375275168073","view_count":62,"bookmark_count":0,"created_at":1762458339000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"I suppose you can choose to view it that way if you really want to. But since you were focused on \"self awareness\" you might look around a little bit to see the volume of long-standing Flutter community members who support the posts. I'm trying to bridge a contentious gap that's widened for years - you're dropping by and being a bit of a dick....","in_reply_to_user_id_str":"207489846","in_reply_to_status_id_str":"1986519635814916286","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,276],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[0,11]},{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[0,11]}]},"favorited":false,"in_reply_to_screen_name":"guidorosso","lang":"en","retweeted":false,"fact_check":null,"id":"1986556553156305056","view_count":24,"bookmark_count":0,"created_at":1762466965000,"favorite_count":0,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986556553156305056","full_text":"@guidorosso I have a question about using Rive for app components - specifically around testing. It's common to use screenshot tests in apps. Does the Rive API have a mechanism to pull a bitmap screenshot of the current UI? And does it always use the same algo for shadows and text anti-aliasing, such that pulling screenshots over time, across platforms will likely produce the exact same pixels?","in_reply_to_user_id_str":"4925231","in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-08","value":5,"startTime":1762473600000,"endTime":1762560000000,"tweets":[{"bookmarked":false,"display_text_range":[0,120],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"4917378776","name":"Rive","screen_name":"rive_app","indices":[0,9]}]},"favorited":false,"in_reply_to_screen_name":"rive_app","lang":"en","quoted_status_id_str":"1986634767186731352","quoted_status_permalink":{"url":"https://t.co/hWmSC7GgqL","expanded":"https://twitter.com/rive_app/status/1986634767186731352","display":"x.com/rive_app/statu…"},"retweeted":false,"fact_check":null,"id":"1986658099709768012","view_count":8002,"bookmark_count":16,"created_at":1762491175000,"favorite_count":116,"quote_count":1,"reply_count":3,"retweet_count":4,"user_id_str":"1109937471154905088","conversation_id_str":"1986658099709768012","full_text":"@rive_app is now officially the reincarnation of Flash. They just need to call their scripting language Actionscript 4.0","in_reply_to_user_id_str":"4917378776","in_reply_to_status_id_str":null,"is_quote_status":1,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,29],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986846333223997692","view_count":146,"bookmark_count":0,"created_at":1762536054000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986840106863599741","full_text":"@jezell Literally gonna do it","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986840106863599741","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[9,197],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[0,8]}]},"favorited":false,"in_reply_to_screen_name":"RydMike","lang":"en","retweeted":false,"fact_check":null,"id":"1986913998777073967","view_count":69,"bookmark_count":0,"created_at":1762552187000,"favorite_count":4,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986911596271054950","full_text":"@RydMike To be fair I think this is mainly a problem because iOS decided their keyboard animation curve and height needed to be kept secret. And the drag to close would be hidden only in OEM views.","in_reply_to_user_id_str":"87799983","in_reply_to_status_id_str":"1986911596271054950","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[130,351],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"1055494766807433223","name":"Luke","screen_name":"luke_pighetti","indices":[11,25]},{"id_str":"451445963","name":"Chinmay କବି 🇮🇳💙","screen_name":"ChinuKabi","indices":[26,36]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[37,44]},{"id_str":"1353831575843188736","name":"Alexandru Mariuti","screen_name":"nank1ro","indices":[45,53]},{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[54,70]},{"id_str":"135460126","name":"Andrea Bizzotto 🇺🇦","screen_name":"biz84","indices":[71,77]},{"id_str":"711913","name":"Eric Seidel","screen_name":"_eseidel","indices":[78,87]},{"id_str":"1118681","name":"Seth Ladd","screen_name":"sethladd","indices":[88,97]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[98,106]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[107,115]},{"id_str":"543917371","name":"Alessio Salvadorini 💙","screen_name":"ASalvadorini","indices":[116,129]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986873136927961571","view_count":292,"bookmark_count":0,"created_at":1762542444000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986827182140985367","full_text":"@iosemagno @luke_pighetti @ChinuKabi @jezell @nank1ro @imadetheseworks @biz84 @_eseidel @sethladd @mraleph @RydMike @ASalvadorini I'm confused by \"native textfield\". A quick look through your post didn't clarify. Is this about synchronizing insets to the real keyboard size, or is this about creating a platform view for a truly native iOS text field?","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986827182140985367","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,231],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986850486318997981","view_count":137,"bookmark_count":0,"created_at":1762537044000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986840106863599741","full_text":"@jezell First I gotta ramp up. Gonna convert my fasting app to all Rive. Then I think I might try to finally build my own time tracker that I've been meaning to build for years. Then hopefully I can start thinking tooling for Rive.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986846541542543814","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[20,297],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[8,19]},{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[71,82]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986852357972615506","view_count":262,"bookmark_count":0,"created_at":1762537490000,"favorite_count":6,"quote_count":0,"reply_count":0,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1986840106863599741","full_text":"@jezell @guidorosso That’s exactly one of the things I’d like to offer @guidorosso - I’m trying to go full app dev with Rive. But that needs text fields, message editors, and document editors. I happened to have built all those from the ground up in Super Editor for Flutter. Wanna collab on Rive?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986851038700449812","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[130,403],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"1055494766807433223","name":"Luke","screen_name":"luke_pighetti","indices":[11,25]},{"id_str":"451445963","name":"Chinmay କବି 🇮🇳💙","screen_name":"ChinuKabi","indices":[26,36]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[37,44]},{"id_str":"1353831575843188736","name":"Alexandru Mariuti","screen_name":"nank1ro","indices":[45,53]},{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[54,70]},{"id_str":"135460126","name":"Andrea Bizzotto 🇺🇦","screen_name":"biz84","indices":[71,77]},{"id_str":"711913","name":"Eric Seidel","screen_name":"_eseidel","indices":[78,87]},{"id_str":"1118681","name":"Seth Ladd","screen_name":"sethladd","indices":[88,97]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[98,106]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[107,115]},{"id_str":"543917371","name":"Alessio Salvadorini 💙","screen_name":"ASalvadorini","indices":[116,129]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986899098721788216","view_count":195,"bookmark_count":0,"created_at":1762548634000,"favorite_count":3,"quote_count":0,"reply_count":3,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986827182140985367","full_text":"@iosemagno @luke_pighetti @ChinuKabi @jezell @nank1ro @imadetheseworks @biz84 @_eseidel @sethladd @mraleph @RydMike @ASalvadorini FYI, I've built a full fledged documented editor at Super Editor, and I've rebuilt the text field in Flutter from the ground up. Might be quicker to bridge any final quality gaps in those than to go through the pain of trying to fit platform views everywhere you need them.","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986897622859456866","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[130,269],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"1055494766807433223","name":"Luke","screen_name":"luke_pighetti","indices":[11,25]},{"id_str":"451445963","name":"Chinmay କବି 🇮🇳💙","screen_name":"ChinuKabi","indices":[26,36]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[37,44]},{"id_str":"1353831575843188736","name":"Alexandru Mariuti","screen_name":"nank1ro","indices":[45,53]},{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[54,70]},{"id_str":"135460126","name":"Andrea Bizzotto 🇺🇦","screen_name":"biz84","indices":[71,77]},{"id_str":"711913","name":"Eric Seidel","screen_name":"_eseidel","indices":[78,87]},{"id_str":"1118681","name":"Seth Ladd","screen_name":"sethladd","indices":[88,97]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[98,106]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[107,115]},{"id_str":"543917371","name":"Alessio Salvadorini 💙","screen_name":"ASalvadorini","indices":[116,129]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986912637465301192","view_count":183,"bookmark_count":0,"created_at":1762551862000,"favorite_count":4,"quote_count":0,"reply_count":3,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986827182140985367","full_text":"@iosemagno @luke_pighetti @ChinuKabi @jezell @nank1ro @imadetheseworks @biz84 @_eseidel @sethladd @mraleph @RydMike @ASalvadorini What’s holding you back there? Super editor is used for chat in a major app and we’re doubling down our focus there. Including for AI chat.","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986906865142231088","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-09","value":0,"startTime":1762560000000,"endTime":1762646400000,"tweets":[{"bookmarked":false,"display_text_range":[20,67],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1671203695814385664","name":"Nic Dean","screen_name":"_nicdean","indices":[0,9]},{"id_str":"4917378776","name":"Rive","screen_name":"rive_app","indices":[10,19]}]},"favorited":false,"in_reply_to_screen_name":"_nicdean","lang":"en","retweeted":false,"fact_check":null,"id":"1987270099108307108","view_count":2179,"bookmark_count":1,"created_at":1762637087000,"favorite_count":8,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987256377480561044","full_text":"@_nicdean @rive_app Steve Jobs also had something to say about it 😂","in_reply_to_user_id_str":"1671203695814385664","in_reply_to_status_id_str":"1987256377480561044","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,94],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1987230141995733196","view_count":855,"bookmark_count":0,"created_at":1762627561000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987208556664529121","full_text":"@jezell If it's using \"platform native views\" then how can it also ship a \"C++ layout engine\"?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1987208556664529121","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-10","value":1,"startTime":1762646400000,"endTime":1762732800000,"tweets":[{"bookmarked":false,"display_text_range":[0,278],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[7,18]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[7,18]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1987615291376017496","view_count":2715,"bookmark_count":12,"created_at":1762719388000,"favorite_count":24,"quote_count":0,"reply_count":4,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1987615291376017496","full_text":"When a @FlutterDev subtree gets replaced with another, new State objects get initialized before old ones are disposed. This creates a tough situation for any shared object that needs to get handed from the old State to the new one. It creates a situation where an object belongs to two States when it may be designed to only belong to one. Does anyone know why Flutter doesn't run dispose() on the old State before running initState() on the new State?","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[17,38],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[8,16]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1987392738321703109","view_count":235,"bookmark_count":0,"created_at":1762666327000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986985272563933650","full_text":"@jezell @RydMike Who was the 2nd exit?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1987097773418946830","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[20,294],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[8,19]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1987620525045403855","view_count":597,"bookmark_count":1,"created_at":1762720636000,"favorite_count":3,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987615291376017496","full_text":"Yeah, nominally a GlobalKey can retain the State object to avoid the issue. However, there are about 5 people in the world who truly understand the reparenting mechanism implemented for GlobalKeys. So, for example, making every Super Editor user figure out when and where to attach a GlobalKey so that their Super Editor plugins don't blow up really isn't feasible. Instead, we need to do stuff in Super Editor that makes this management fool proof and invisible to our users.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1987619905123062168","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-11","value":0,"startTime":1762732800000,"endTime":1762819200000,"tweets":[]},{"label":"2025-11-12","value":0,"startTime":1762819200000,"endTime":1762905600000,"tweets":[{"bookmarked":false,"display_text_range":[11,116],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[0,10]}]},"favorited":true,"in_reply_to_screen_name":"damy_wise","lang":"en","retweeted":false,"fact_check":null,"id":"1988174349346754832","view_count":4356,"bookmark_count":0,"created_at":1762852678000,"favorite_count":5,"quote_count":1,"reply_count":4,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@damy_wise I’m about to move my focus from Flutter to Rive. Curious to hear your thoughts based on your experiences.","in_reply_to_user_id_str":"1243886626238947328","in_reply_to_status_id_str":"1987851785420284163","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[26,72],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"145322774","name":"Lee Higgins","screen_name":"Depthperpixel","indices":[0,14]},{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[15,25]}]},"favorited":false,"in_reply_to_screen_name":"Depthperpixel","lang":"en","retweeted":false,"fact_check":null,"id":"1988329471406190798","view_count":30,"bookmark_count":0,"created_at":1762889662000,"favorite_count":0,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@Depthperpixel @damy_wise Doesn’t rive support raster images internally?","in_reply_to_user_id_str":"145322774","in_reply_to_status_id_str":"1988328965812219973","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[26,158],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"145322774","name":"Lee Higgins","screen_name":"Depthperpixel","indices":[0,14]},{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[15,25]}]},"favorited":false,"in_reply_to_screen_name":"Depthperpixel","lang":"en","retweeted":false,"fact_check":null,"id":"1988328197457670360","view_count":75,"bookmark_count":0,"created_at":1762889358000,"favorite_count":0,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@Depthperpixel @damy_wise Have you tried using it for app UI though? I imagine it’s a pretty different performance profile for buttons and text and lists etc.","in_reply_to_user_id_str":"145322774","in_reply_to_status_id_str":"1988264189664657652","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-13","value":0,"startTime":1762905600000,"endTime":1762992000000,"tweets":[{"bookmarked":false,"display_text_range":[21,101],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"114900758","name":"Roman Jaquez","screen_name":"drcoderz","indices":[0,9]},{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[10,20]}]},"favorited":false,"in_reply_to_screen_name":"drcoderz","lang":"en","retweeted":false,"fact_check":null,"id":"1988441166556410069","view_count":65,"bookmark_count":0,"created_at":1762916292000,"favorite_count":0,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@drcoderz @damy_wise How’d you end up using it? One big rive app or rive per page or rive per widget?","in_reply_to_user_id_str":"114900758","in_reply_to_status_id_str":"1988424334885744756","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-14","value":0,"startTime":1762992000000,"endTime":1763078400000,"tweets":[{"bookmarked":false,"display_text_range":[23,151],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"1654808914675011585","name":"Tahiro Agbanwa ⚡️","screen_name":"squirelBoy360","indices":[8,22]}]},"favorited":true,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1988840624594817412","view_count":146,"bookmark_count":0,"created_at":1763011530000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1988838418499956884","full_text":"@jezell @squirelBoy360 I’d be interested in trying a Dart wrapper around yoga as a way of using nothing but Rive widgets in app without any flutter UI.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1988840195194589372","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-15","value":0,"startTime":1763078400000,"endTime":1763164800000,"tweets":[]},{"label":"2025-11-16","value":0,"startTime":1763164800000,"endTime":1763251200000,"tweets":[]},{"label":"2025-11-17","value":0,"startTime":1763251200000,"endTime":1763337600000,"tweets":[]},{"label":"2025-11-18","value":0,"startTime":1763337600000,"endTime":1763424000000,"tweets":[]}],"nlikes":[{"label":"2025-10-19","value":0,"startTime":1760745600000,"endTime":1760832000000,"tweets":[]},{"label":"2025-10-20","value":0,"startTime":1760832000000,"endTime":1760918400000,"tweets":[]},{"label":"2025-10-21","value":0,"startTime":1760918400000,"endTime":1761004800000,"tweets":[]},{"label":"2025-10-22","value":0,"startTime":1761004800000,"endTime":1761091200000,"tweets":[]},{"label":"2025-10-23","value":23,"startTime":1761091200000,"endTime":1761177600000,"tweets":[{"bookmarked":false,"display_text_range":[0,248],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[5,16]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1981032849764741575","view_count":3814,"bookmark_count":3,"created_at":1761150011000,"favorite_count":22,"quote_count":0,"reply_count":1,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1981032849764741575","full_text":"Does @FlutterDev really still not support sampling child widget pixels in fragment shaders on iOS and Android? It seems to work fine on desktop and in the browser, but seems totally broken on mobile. Is this for real? Or am I doing something wrong?","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[26,270],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/l8dB3quOTv","expanded_url":"https://x.com/SuprDeclarative/status/1981081844440584325/photo/1","id_str":"1981081505016184832","indices":[271,294],"media_key":"3_1981081505016184832","media_url_https":"https://pbs.twimg.com/media/G343IfGWAAAASML.jpg","type":"photo","url":"https://t.co/l8dB3quOTv","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":876,"w":1326,"resize":"fit"},"medium":{"h":793,"w":1200,"resize":"fit"},"small":{"h":449,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":876,"width":1326,"focus_rects":[{"x":0,"y":133,"w":1326,"h":743},{"x":59,"y":0,"w":876,"h":876},{"x":113,"y":0,"w":768,"h":876},{"x":278,"y":0,"w":438,"h":876},{"x":0,"y":0,"w":1326,"h":876}]},"media_results":{"result":{"media_key":"3_1981081505016184832"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"2245268778","name":"Raouf Rahiche","screen_name":"raoufrahiche","indices":[0,13]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[14,25]}]},"extended_entities":{"media":[{"display_url":"pic.x.com/l8dB3quOTv","expanded_url":"https://x.com/SuprDeclarative/status/1981081844440584325/photo/1","id_str":"1981081505016184832","indices":[271,294],"media_key":"3_1981081505016184832","media_url_https":"https://pbs.twimg.com/media/G343IfGWAAAASML.jpg","type":"photo","url":"https://t.co/l8dB3quOTv","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":876,"w":1326,"resize":"fit"},"medium":{"h":793,"w":1200,"resize":"fit"},"small":{"h":449,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":876,"width":1326,"focus_rects":[{"x":0,"y":133,"w":1326,"h":743},{"x":59,"y":0,"w":876,"h":876},{"x":113,"y":0,"w":768,"h":876},{"x":278,"y":0,"w":438,"h":876},{"x":0,"y":0,"w":1326,"h":876}]},"media_results":{"result":{"media_key":"3_1981081505016184832"}}}]},"favorited":false,"in_reply_to_screen_name":"raoufrahiche","lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1981081844440584325","view_count":476,"bookmark_count":1,"created_at":1761161693000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1981032849764741575","full_text":"@raoufrahiche @FlutterDev I think it's working with this conditional - although it seems like when I launch the app with this code, it completely crashes. But when I comment this out, run the app, then uncomment and hot reload, it works.\n\nIs this what you were thinking? https://t.co/l8dB3quOTv","in_reply_to_user_id_str":"2245268778","in_reply_to_status_id_str":"1981067010466283859","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-10-24","value":0,"startTime":1761177600000,"endTime":1761264000000,"tweets":[]},{"label":"2025-10-25","value":0,"startTime":1761264000000,"endTime":1761350400000,"tweets":[]},{"label":"2025-10-26","value":0,"startTime":1761350400000,"endTime":1761436800000,"tweets":[]},{"label":"2025-10-27","value":0,"startTime":1761436800000,"endTime":1761523200000,"tweets":[]},{"label":"2025-10-28","value":0,"startTime":1761523200000,"endTime":1761609600000,"tweets":[]},{"label":"2025-10-29","value":71,"startTime":1761609600000,"endTime":1761696000000,"tweets":[{"bookmarked":false,"display_text_range":[0,271],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[11,22]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1983229616975458743","view_count":8911,"bookmark_count":37,"created_at":1761673761000,"favorite_count":65,"quote_count":0,"reply_count":32,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1983229616975458743","full_text":"To all the @FlutterDev's who are obsessed with AI, if I want to select one freely available AI tool and ask it to create entire screens/features in a little app, which one do you currently recommend, and why? Usually I ask targeted questions - but I want to try full gen.","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[20,128],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[8,19]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1983240721953107984","view_count":1078,"bookmark_count":0,"created_at":1761676409000,"favorite_count":4,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1983229616975458743","full_text":"@jezell @FlutterDev How do all these options work? Does each one have an app? Or do I install a CLI and point it at a directory?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1983237525796991295","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[25,94],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[0,16]},{"id_str":"568573618","name":"Anton Borries 🦋","screen_name":"ABausG","indices":[17,24]}]},"favorited":false,"in_reply_to_screen_name":"imadetheseworks","lang":"en","retweeted":false,"fact_check":null,"id":"1983241033166340355","view_count":688,"bookmark_count":1,"created_at":1761676483000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1983167497798074434","full_text":"@imadetheseworks @ABausG Oh man you got P2’ed. Only one level better than “never gonna happen”","in_reply_to_user_id_str":"1785951221158756352","in_reply_to_status_id_str":"1983167497798074434","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-10-30","value":18,"startTime":1761696000000,"endTime":1761782400000,"tweets":[{"bookmarked":false,"display_text_range":[0,90],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"github.com/flutter/flutte…","expanded_url":"https://github.com/flutter/flutter/issues/177693","url":"https://t.co/vMRGbOY36Q","indices":[67,90]}],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[4,15]}]},"favorited":false,"lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1983628579796873630","view_count":2948,"bookmark_count":2,"created_at":1761768882000,"favorite_count":18,"quote_count":1,"reply_count":0,"retweet_count":3,"user_id_str":"1109937471154905088","conversation_id_str":"1983628579796873630","full_text":"FYI @FlutterDev's OverlayPortal might be breaking your hot reload: https://t.co/vMRGbOY36Q","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-10-31","value":0,"startTime":1761782400000,"endTime":1761868800000,"tweets":[]},{"label":"2025-11-01","value":0,"startTime":1761868800000,"endTime":1761955200000,"tweets":[]},{"label":"2025-11-02","value":0,"startTime":1761955200000,"endTime":1762041600000,"tweets":[]},{"label":"2025-11-03","value":0,"startTime":1762041600000,"endTime":1762128000000,"tweets":[]},{"label":"2025-11-04","value":0,"startTime":1762128000000,"endTime":1762214400000,"tweets":[]},{"label":"2025-11-05","value":35,"startTime":1762214400000,"endTime":1762300800000,"tweets":[{"bookmarked":false,"display_text_range":[31,77],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[0,8]},{"id_str":"561770146","name":"Khalid Warsame","screen_name":"KhalidWarsa","indices":[9,21]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[22,30]}]},"favorited":false,"in_reply_to_screen_name":"mraleph","lang":"en","retweeted":false,"fact_check":null,"id":"1985749479405019214","view_count":1683,"bookmark_count":0,"created_at":1762274543000,"favorite_count":8,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1985594437981102325","full_text":"@mraleph @KhalidWarsa @RydMike It's very likely taking people to React Native","in_reply_to_user_id_str":"53010195","in_reply_to_status_id_str":"1985678859539276287","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[31,300],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[0,8]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[9,17]},{"id_str":"561770146","name":"Khalid Warsame","screen_name":"KhalidWarsa","indices":[18,30]}]},"favorited":false,"in_reply_to_screen_name":"RydMike","lang":"en","retweeted":false,"fact_check":null,"id":"1985754577132736762","view_count":2019,"bookmark_count":2,"created_at":1762275759000,"favorite_count":21,"quote_count":0,"reply_count":4,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1985594437981102325","full_text":"@RydMike @mraleph @KhalidWarsa Yep. I've said it before, but I'll say it again. Flutter has not only ignored its own community, but has been hostile to it. Flutter has now lost almost every unique value prop. It will lose the rest. It has no moat. I don't see how it avoids zombie mode at this point.","in_reply_to_user_id_str":"87799983","in_reply_to_status_id_str":"1985751390883389866","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[48,178],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"703122697232863233","name":"Thomas Burkhart 💙","screen_name":"ThomasBurkhartB","indices":[0,16]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[17,25]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[26,34]},{"id_str":"561770146","name":"Khalid Warsame","screen_name":"KhalidWarsa","indices":[35,47]}]},"favorited":false,"in_reply_to_screen_name":"ThomasBurkhartB","lang":"en","retweeted":false,"fact_check":null,"id":"1985816253479731210","view_count":1609,"bookmark_count":0,"created_at":1762290464000,"favorite_count":6,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1985594437981102325","full_text":"@ThomasBurkhartB @RydMike @mraleph @KhalidWarsa I don’t really remember when they were. I only remember when they were ignored. But for years now they’ve been actively combatted.","in_reply_to_user_id_str":"703122697232863233","in_reply_to_status_id_str":"1985815658202796387","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-06","value":141,"startTime":1762300800000,"endTime":1762387200000,"tweets":[{"bookmarked":false,"display_text_range":[0,279],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[23,30]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[86,97]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[23,30]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[86,97]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1986214864151539735","view_count":4605,"bookmark_count":10,"created_at":1762385500000,"favorite_count":103,"quote_count":2,"reply_count":11,"retweet_count":8,"user_id_str":"1109937471154905088","conversation_id_str":"1986214864151539735","full_text":"My back and forth with @jezell earlier got me thinking...if I actually did rejoin the @FlutterDev team, what would I try early on to rapidly improve community engagement? Here are my thoughts:\n\nHold 4 different recurring office hours to understand pain points and set priorities:\n * Indie dev\n * Agency dev\n * Enterprise dev\n * Flutter tooling dev (e.g., Code Magic, Shorebird, etc)\n\nI would do the majority of my personal Flutter contributions on live streams:\n * Would teach community how to contribute\n * Would spread knowledge of new implementation details\n * Would receive help from live stream members when implementing\n * Would file tickets and assign to members of the community during the stream\n\nHelp devs get their PRs cleaned up and merged. Ideally do this with them in real-time on a stream, but also some async for time zone issues.\n\nVisit American companies using Flutter to observe their difficulties firsthand.\n\nAttend as many US Meetups and conferences as possible to show off new features, and engage in listening sessions with the community.\n\nIdentify the most popular and promising packages and help those developers polish it, document it, test it, etc. Show that the Flutter org is committed to the health of the package ecosystem.\n\nI would do my best to blur the line between the organization and the community. Because at the end of the day, either there is no line, or there is no healthy organization or community.","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,196],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"313393045","name":"Michael Thomsen","screen_name":"MiSvTh","indices":[39,46]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986193090642911320","view_count":349,"bookmark_count":1,"created_at":1762380309000,"favorite_count":16,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986188317327814799","full_text":"@jezell Then I'll put it out there. If @MiSvTh would like to turn this ship around for community engagement, I'd sit down with him to talk about getting me back on the team to help make it happen.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986190517168971877","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,45],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986190022979297772","view_count":544,"bookmark_count":0,"created_at":1762379577000,"favorite_count":4,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986188317327814799","full_text":"@jezell Not surprised at all at this point...","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986188356355825996","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,214],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"SuprDeclarative","lang":"en","retweeted":false,"fact_check":null,"id":"1986190302093398508","view_count":529,"bookmark_count":0,"created_at":1762379644000,"favorite_count":7,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986188317327814799","full_text":"@jezell You know, I would consider rejoining the team to get this velocity up, if they were serious about improving their ways. But I'm guessing they'd rather just keep doing what hasn't worked and sink the ship...","in_reply_to_user_id_str":"1109937471154905088","in_reply_to_status_id_str":"1986190022979297772","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[34,54],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"857973744","name":"Abdallah Shaban","screen_name":"AbdallahSh07","indices":[0,13]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[14,21]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[22,33]}]},"favorited":false,"in_reply_to_screen_name":"AbdallahSh07","lang":"en","retweeted":false,"fact_check":null,"id":"1986216363019624542","view_count":594,"bookmark_count":0,"created_at":1762385857000,"favorite_count":11,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986214864151539735","full_text":"@AbdallahSh07 @jezell @FlutterDev I could do that work","in_reply_to_user_id_str":"857973744","in_reply_to_status_id_str":"1986215601120166103","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-07","value":81,"startTime":1762387200000,"endTime":1762473600000,"tweets":[{"bookmarked":false,"display_text_range":[0,271],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[59,70]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[59,70]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1986491522825789549","view_count":4806,"bookmark_count":7,"created_at":1762451460000,"favorite_count":70,"quote_count":2,"reply_count":7,"retweet_count":4,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"Can we all pause and notice that we're stuck in an endless @FlutterDev loop between the community and the team? Forget the latest specific issue - we're on a merry-go-round that never stops spinning, and only seems to get faster. It goes like this:\n\n1. A community member experiences something that is frustrating, limiting, concerning, or all of the above.\n\n2. Flutter team does some combination of ignore it, tell the community member to file an issue that will likely never be worked on, or to fix it themselves.\n\n3. Community member feels entitled to an actual solution from Flutter.\n\n4. Flutter team gets defensive. Flutter-splains that they merge lots of outside code, and they're busy with other important things, and that problem isn't even really a problem if you understand what Flutter is meant to do, and maybe it's even a feature and not a bug.\n\n5. Community members feel ignored, marginalized, and disrespected, yet again, for the 100th time. Community members go through a therapy session by reminding the Flutter team of those last 100 times problems came up that didn't get addressed and didn't get solved.\n\n6. Flutter team becomes more defensive and even passive aggressive with community members.\n\n7. NOTHING GETS BETTER\n\nYesterday I offered to make myself available to rejoin the team to bridge this gap. No doubt it's a very tall task after so many years of this, but I'm willing to give it a go if they are. I will take all these public arrows for the team. \n\nDespite my personal issues with various people on the team, I believe that the only way for me to preserve my ability to use the skills I've spent 7 years building, is to finally bridge this gap and return Flutter to the \"community driven\" project that it once billed itself to be.","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[13,278],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"133487462","name":"Graham : A Star Wars Story 💙","screen_name":"whoisgraham","indices":[0,12]}]},"favorited":false,"in_reply_to_screen_name":"whoisgraham","lang":"en","retweeted":false,"fact_check":null,"id":"1986548582556856517","view_count":35,"bookmark_count":0,"created_at":1762465065000,"favorite_count":0,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986505347218219519","full_text":"@whoisgraham If that's a subtweet about me, I'd like to know it and why you feel that way. If it's about someone else, I'd like to know that too. I don't really understand this behavior of putting out passive aggressive tweets while also playing the role of adult in the room...","in_reply_to_user_id_str":"133487462","in_reply_to_status_id_str":"1986505347218219519","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[25,100],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"x.com/SuprDeclarativ…","expanded_url":"https://x.com/SuprDeclarative/status/1986214864151539735","url":"https://t.co/D2VueIkmkH","indices":[77,100]}],"user_mentions":[{"id_str":"790201826","name":"pk","screen_name":"khivedoteth","indices":[0,12]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[13,24]}]},"favorited":false,"in_reply_to_screen_name":"khivedoteth","lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"quoted_status_id_str":"1986214864151539735","quoted_status_permalink":{"url":"https://t.co/D2VueIkmkH","expanded":"https://x.com/SuprDeclarative/status/1986214864151539735","display":"x.com/SuprDeclarativ…"},"retweeted":false,"fact_check":null,"id":"1986501944299692264","view_count":305,"bookmark_count":0,"created_at":1762453945000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@khivedoteth @FlutterDev Here's what I said yesterday about where I'd start:\nhttps://t.co/D2VueIkmkH","in_reply_to_user_id_str":"790201826","in_reply_to_status_id_str":"1986501715924005083","is_quote_status":1,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[22,208],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1369087208","name":"Hari","screen_name":"harii_07","indices":[0,9]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[10,21]}]},"favorited":false,"in_reply_to_screen_name":"harii_07","lang":"en","retweeted":false,"fact_check":null,"id":"1986499762779283532","view_count":215,"bookmark_count":0,"created_at":1762453425000,"favorite_count":3,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@harii_07 @FlutterDev I'm not sure what \"this way\" is, but all I can do is offer. I live 5 mins away from Google HQ, I've been on the team before, I would imagine it's pretty easy if they wanna bring me back.","in_reply_to_user_id_str":"1369087208","in_reply_to_status_id_str":"1986497704479105440","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[23,149],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1601453019195133952","name":"Anish","screen_name":"anishtwts","indices":[0,10]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[11,22]}]},"favorited":false,"in_reply_to_screen_name":"anishtwts","lang":"en","retweeted":false,"fact_check":null,"id":"1986500104828965069","view_count":188,"bookmark_count":0,"created_at":1762453507000,"favorite_count":2,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@anishtwts @FlutterDev Thanks. I'm not holding my breath, but it's an honest offer to put all this personal stuff behind and build a bridge together.","in_reply_to_user_id_str":"1601453019195133952","in_reply_to_status_id_str":"1986499927904821374","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[29,96],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"207489846","name":"Josh Hargreaves","screen_name":"joshjhargreaves","indices":[0,16]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[17,28]}]},"favorited":false,"in_reply_to_screen_name":"joshjhargreaves","lang":"en","retweeted":false,"fact_check":null,"id":"1986513196447113496","view_count":134,"bookmark_count":0,"created_at":1762456628000,"favorite_count":0,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@joshjhargreaves @FlutterDev What an oddly non-actionable critique. Would you like to try again?","in_reply_to_user_id_str":"207489846","in_reply_to_status_id_str":"1986511828654993527","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[31,230],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[11,18]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[19,30]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986481130774929819","view_count":237,"bookmark_count":1,"created_at":1762448983000,"favorite_count":4,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986214864151539735","full_text":"@iosemagno @jezell @FlutterDev Definitely. Something I recommended to them back in 2020 when I left. But I’m offering here to return to the team to do what I can on that front. Looks like nobody on their side is interested though.","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986431218955493452","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[29,309],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"207489846","name":"Josh Hargreaves","screen_name":"joshjhargreaves","indices":[0,16]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[17,28]}]},"favorited":false,"in_reply_to_screen_name":"joshjhargreaves","lang":"en","retweeted":false,"fact_check":null,"id":"1986520375275168073","view_count":62,"bookmark_count":0,"created_at":1762458339000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"I suppose you can choose to view it that way if you really want to. But since you were focused on \"self awareness\" you might look around a little bit to see the volume of long-standing Flutter community members who support the posts. I'm trying to bridge a contentious gap that's widened for years - you're dropping by and being a bit of a dick....","in_reply_to_user_id_str":"207489846","in_reply_to_status_id_str":"1986519635814916286","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,276],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[0,11]},{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[0,11]}]},"favorited":false,"in_reply_to_screen_name":"guidorosso","lang":"en","retweeted":false,"fact_check":null,"id":"1986556553156305056","view_count":24,"bookmark_count":0,"created_at":1762466965000,"favorite_count":0,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986556553156305056","full_text":"@guidorosso I have a question about using Rive for app components - specifically around testing. It's common to use screenshot tests in apps. Does the Rive API have a mechanism to pull a bitmap screenshot of the current UI? And does it always use the same algo for shadows and text anti-aliasing, such that pulling screenshots over time, across platforms will likely produce the exact same pixels?","in_reply_to_user_id_str":"4925231","in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-08","value":137,"startTime":1762473600000,"endTime":1762560000000,"tweets":[{"bookmarked":false,"display_text_range":[0,120],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"4917378776","name":"Rive","screen_name":"rive_app","indices":[0,9]}]},"favorited":false,"in_reply_to_screen_name":"rive_app","lang":"en","quoted_status_id_str":"1986634767186731352","quoted_status_permalink":{"url":"https://t.co/hWmSC7GgqL","expanded":"https://twitter.com/rive_app/status/1986634767186731352","display":"x.com/rive_app/statu…"},"retweeted":false,"fact_check":null,"id":"1986658099709768012","view_count":8002,"bookmark_count":16,"created_at":1762491175000,"favorite_count":116,"quote_count":1,"reply_count":3,"retweet_count":4,"user_id_str":"1109937471154905088","conversation_id_str":"1986658099709768012","full_text":"@rive_app is now officially the reincarnation of Flash. They just need to call their scripting language Actionscript 4.0","in_reply_to_user_id_str":"4917378776","in_reply_to_status_id_str":null,"is_quote_status":1,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,29],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986846333223997692","view_count":146,"bookmark_count":0,"created_at":1762536054000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986840106863599741","full_text":"@jezell Literally gonna do it","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986840106863599741","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[9,197],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[0,8]}]},"favorited":false,"in_reply_to_screen_name":"RydMike","lang":"en","retweeted":false,"fact_check":null,"id":"1986913998777073967","view_count":69,"bookmark_count":0,"created_at":1762552187000,"favorite_count":4,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986911596271054950","full_text":"@RydMike To be fair I think this is mainly a problem because iOS decided their keyboard animation curve and height needed to be kept secret. And the drag to close would be hidden only in OEM views.","in_reply_to_user_id_str":"87799983","in_reply_to_status_id_str":"1986911596271054950","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[130,351],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"1055494766807433223","name":"Luke","screen_name":"luke_pighetti","indices":[11,25]},{"id_str":"451445963","name":"Chinmay କବି 🇮🇳💙","screen_name":"ChinuKabi","indices":[26,36]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[37,44]},{"id_str":"1353831575843188736","name":"Alexandru Mariuti","screen_name":"nank1ro","indices":[45,53]},{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[54,70]},{"id_str":"135460126","name":"Andrea Bizzotto 🇺🇦","screen_name":"biz84","indices":[71,77]},{"id_str":"711913","name":"Eric Seidel","screen_name":"_eseidel","indices":[78,87]},{"id_str":"1118681","name":"Seth Ladd","screen_name":"sethladd","indices":[88,97]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[98,106]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[107,115]},{"id_str":"543917371","name":"Alessio Salvadorini 💙","screen_name":"ASalvadorini","indices":[116,129]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986873136927961571","view_count":292,"bookmark_count":0,"created_at":1762542444000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986827182140985367","full_text":"@iosemagno @luke_pighetti @ChinuKabi @jezell @nank1ro @imadetheseworks @biz84 @_eseidel @sethladd @mraleph @RydMike @ASalvadorini I'm confused by \"native textfield\". A quick look through your post didn't clarify. Is this about synchronizing insets to the real keyboard size, or is this about creating a platform view for a truly native iOS text field?","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986827182140985367","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,231],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986850486318997981","view_count":137,"bookmark_count":0,"created_at":1762537044000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986840106863599741","full_text":"@jezell First I gotta ramp up. Gonna convert my fasting app to all Rive. Then I think I might try to finally build my own time tracker that I've been meaning to build for years. Then hopefully I can start thinking tooling for Rive.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986846541542543814","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[20,297],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[8,19]},{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[71,82]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986852357972615506","view_count":262,"bookmark_count":0,"created_at":1762537490000,"favorite_count":6,"quote_count":0,"reply_count":0,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1986840106863599741","full_text":"@jezell @guidorosso That’s exactly one of the things I’d like to offer @guidorosso - I’m trying to go full app dev with Rive. But that needs text fields, message editors, and document editors. I happened to have built all those from the ground up in Super Editor for Flutter. Wanna collab on Rive?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986851038700449812","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[130,403],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"1055494766807433223","name":"Luke","screen_name":"luke_pighetti","indices":[11,25]},{"id_str":"451445963","name":"Chinmay କବି 🇮🇳💙","screen_name":"ChinuKabi","indices":[26,36]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[37,44]},{"id_str":"1353831575843188736","name":"Alexandru Mariuti","screen_name":"nank1ro","indices":[45,53]},{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[54,70]},{"id_str":"135460126","name":"Andrea Bizzotto 🇺🇦","screen_name":"biz84","indices":[71,77]},{"id_str":"711913","name":"Eric Seidel","screen_name":"_eseidel","indices":[78,87]},{"id_str":"1118681","name":"Seth Ladd","screen_name":"sethladd","indices":[88,97]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[98,106]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[107,115]},{"id_str":"543917371","name":"Alessio Salvadorini 💙","screen_name":"ASalvadorini","indices":[116,129]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986899098721788216","view_count":195,"bookmark_count":0,"created_at":1762548634000,"favorite_count":3,"quote_count":0,"reply_count":3,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986827182140985367","full_text":"@iosemagno @luke_pighetti @ChinuKabi @jezell @nank1ro @imadetheseworks @biz84 @_eseidel @sethladd @mraleph @RydMike @ASalvadorini FYI, I've built a full fledged documented editor at Super Editor, and I've rebuilt the text field in Flutter from the ground up. Might be quicker to bridge any final quality gaps in those than to go through the pain of trying to fit platform views everywhere you need them.","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986897622859456866","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[130,269],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"1055494766807433223","name":"Luke","screen_name":"luke_pighetti","indices":[11,25]},{"id_str":"451445963","name":"Chinmay କବି 🇮🇳💙","screen_name":"ChinuKabi","indices":[26,36]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[37,44]},{"id_str":"1353831575843188736","name":"Alexandru Mariuti","screen_name":"nank1ro","indices":[45,53]},{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[54,70]},{"id_str":"135460126","name":"Andrea Bizzotto 🇺🇦","screen_name":"biz84","indices":[71,77]},{"id_str":"711913","name":"Eric Seidel","screen_name":"_eseidel","indices":[78,87]},{"id_str":"1118681","name":"Seth Ladd","screen_name":"sethladd","indices":[88,97]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[98,106]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[107,115]},{"id_str":"543917371","name":"Alessio Salvadorini 💙","screen_name":"ASalvadorini","indices":[116,129]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986912637465301192","view_count":183,"bookmark_count":0,"created_at":1762551862000,"favorite_count":4,"quote_count":0,"reply_count":3,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986827182140985367","full_text":"@iosemagno @luke_pighetti @ChinuKabi @jezell @nank1ro @imadetheseworks @biz84 @_eseidel @sethladd @mraleph @RydMike @ASalvadorini What’s holding you back there? Super editor is used for chat in a major app and we’re doubling down our focus there. Including for AI chat.","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986906865142231088","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-09","value":10,"startTime":1762560000000,"endTime":1762646400000,"tweets":[{"bookmarked":false,"display_text_range":[20,67],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1671203695814385664","name":"Nic Dean","screen_name":"_nicdean","indices":[0,9]},{"id_str":"4917378776","name":"Rive","screen_name":"rive_app","indices":[10,19]}]},"favorited":false,"in_reply_to_screen_name":"_nicdean","lang":"en","retweeted":false,"fact_check":null,"id":"1987270099108307108","view_count":2179,"bookmark_count":1,"created_at":1762637087000,"favorite_count":8,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987256377480561044","full_text":"@_nicdean @rive_app Steve Jobs also had something to say about it 😂","in_reply_to_user_id_str":"1671203695814385664","in_reply_to_status_id_str":"1987256377480561044","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,94],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1987230141995733196","view_count":855,"bookmark_count":0,"created_at":1762627561000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987208556664529121","full_text":"@jezell If it's using \"platform native views\" then how can it also ship a \"C++ layout engine\"?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1987208556664529121","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-10","value":28,"startTime":1762646400000,"endTime":1762732800000,"tweets":[{"bookmarked":false,"display_text_range":[0,278],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[7,18]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[7,18]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1987615291376017496","view_count":2715,"bookmark_count":12,"created_at":1762719388000,"favorite_count":24,"quote_count":0,"reply_count":4,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1987615291376017496","full_text":"When a @FlutterDev subtree gets replaced with another, new State objects get initialized before old ones are disposed. This creates a tough situation for any shared object that needs to get handed from the old State to the new one. It creates a situation where an object belongs to two States when it may be designed to only belong to one. Does anyone know why Flutter doesn't run dispose() on the old State before running initState() on the new State?","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[17,38],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[8,16]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1987392738321703109","view_count":235,"bookmark_count":0,"created_at":1762666327000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986985272563933650","full_text":"@jezell @RydMike Who was the 2nd exit?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1987097773418946830","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[20,294],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[8,19]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1987620525045403855","view_count":597,"bookmark_count":1,"created_at":1762720636000,"favorite_count":3,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987615291376017496","full_text":"Yeah, nominally a GlobalKey can retain the State object to avoid the issue. However, there are about 5 people in the world who truly understand the reparenting mechanism implemented for GlobalKeys. So, for example, making every Super Editor user figure out when and where to attach a GlobalKey so that their Super Editor plugins don't blow up really isn't feasible. Instead, we need to do stuff in Super Editor that makes this management fool proof and invisible to our users.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1987619905123062168","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-11","value":0,"startTime":1762732800000,"endTime":1762819200000,"tweets":[]},{"label":"2025-11-12","value":5,"startTime":1762819200000,"endTime":1762905600000,"tweets":[{"bookmarked":false,"display_text_range":[11,116],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[0,10]}]},"favorited":true,"in_reply_to_screen_name":"damy_wise","lang":"en","retweeted":false,"fact_check":null,"id":"1988174349346754832","view_count":4356,"bookmark_count":0,"created_at":1762852678000,"favorite_count":5,"quote_count":1,"reply_count":4,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@damy_wise I’m about to move my focus from Flutter to Rive. Curious to hear your thoughts based on your experiences.","in_reply_to_user_id_str":"1243886626238947328","in_reply_to_status_id_str":"1987851785420284163","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[26,72],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"145322774","name":"Lee Higgins","screen_name":"Depthperpixel","indices":[0,14]},{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[15,25]}]},"favorited":false,"in_reply_to_screen_name":"Depthperpixel","lang":"en","retweeted":false,"fact_check":null,"id":"1988329471406190798","view_count":30,"bookmark_count":0,"created_at":1762889662000,"favorite_count":0,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@Depthperpixel @damy_wise Doesn’t rive support raster images internally?","in_reply_to_user_id_str":"145322774","in_reply_to_status_id_str":"1988328965812219973","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[26,158],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"145322774","name":"Lee Higgins","screen_name":"Depthperpixel","indices":[0,14]},{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[15,25]}]},"favorited":false,"in_reply_to_screen_name":"Depthperpixel","lang":"en","retweeted":false,"fact_check":null,"id":"1988328197457670360","view_count":75,"bookmark_count":0,"created_at":1762889358000,"favorite_count":0,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@Depthperpixel @damy_wise Have you tried using it for app UI though? I imagine it’s a pretty different performance profile for buttons and text and lists etc.","in_reply_to_user_id_str":"145322774","in_reply_to_status_id_str":"1988264189664657652","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-13","value":0,"startTime":1762905600000,"endTime":1762992000000,"tweets":[{"bookmarked":false,"display_text_range":[21,101],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"114900758","name":"Roman Jaquez","screen_name":"drcoderz","indices":[0,9]},{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[10,20]}]},"favorited":false,"in_reply_to_screen_name":"drcoderz","lang":"en","retweeted":false,"fact_check":null,"id":"1988441166556410069","view_count":65,"bookmark_count":0,"created_at":1762916292000,"favorite_count":0,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@drcoderz @damy_wise How’d you end up using it? One big rive app or rive per page or rive per widget?","in_reply_to_user_id_str":"114900758","in_reply_to_status_id_str":"1988424334885744756","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-14","value":2,"startTime":1762992000000,"endTime":1763078400000,"tweets":[{"bookmarked":false,"display_text_range":[23,151],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"1654808914675011585","name":"Tahiro Agbanwa ⚡️","screen_name":"squirelBoy360","indices":[8,22]}]},"favorited":true,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1988840624594817412","view_count":146,"bookmark_count":0,"created_at":1763011530000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1988838418499956884","full_text":"@jezell @squirelBoy360 I’d be interested in trying a Dart wrapper around yoga as a way of using nothing but Rive widgets in app without any flutter UI.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1988840195194589372","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-15","value":0,"startTime":1763078400000,"endTime":1763164800000,"tweets":[]},{"label":"2025-11-16","value":0,"startTime":1763164800000,"endTime":1763251200000,"tweets":[]},{"label":"2025-11-17","value":0,"startTime":1763251200000,"endTime":1763337600000,"tweets":[]},{"label":"2025-11-18","value":0,"startTime":1763337600000,"endTime":1763424000000,"tweets":[]}],"nviews":[{"label":"2025-10-19","value":0,"startTime":1760745600000,"endTime":1760832000000,"tweets":[]},{"label":"2025-10-20","value":0,"startTime":1760832000000,"endTime":1760918400000,"tweets":[]},{"label":"2025-10-21","value":0,"startTime":1760918400000,"endTime":1761004800000,"tweets":[]},{"label":"2025-10-22","value":0,"startTime":1761004800000,"endTime":1761091200000,"tweets":[]},{"label":"2025-10-23","value":4290,"startTime":1761091200000,"endTime":1761177600000,"tweets":[{"bookmarked":false,"display_text_range":[0,248],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[5,16]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1981032849764741575","view_count":3814,"bookmark_count":3,"created_at":1761150011000,"favorite_count":22,"quote_count":0,"reply_count":1,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1981032849764741575","full_text":"Does @FlutterDev really still not support sampling child widget pixels in fragment shaders on iOS and Android? It seems to work fine on desktop and in the browser, but seems totally broken on mobile. Is this for real? Or am I doing something wrong?","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[26,270],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/l8dB3quOTv","expanded_url":"https://x.com/SuprDeclarative/status/1981081844440584325/photo/1","id_str":"1981081505016184832","indices":[271,294],"media_key":"3_1981081505016184832","media_url_https":"https://pbs.twimg.com/media/G343IfGWAAAASML.jpg","type":"photo","url":"https://t.co/l8dB3quOTv","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":876,"w":1326,"resize":"fit"},"medium":{"h":793,"w":1200,"resize":"fit"},"small":{"h":449,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":876,"width":1326,"focus_rects":[{"x":0,"y":133,"w":1326,"h":743},{"x":59,"y":0,"w":876,"h":876},{"x":113,"y":0,"w":768,"h":876},{"x":278,"y":0,"w":438,"h":876},{"x":0,"y":0,"w":1326,"h":876}]},"media_results":{"result":{"media_key":"3_1981081505016184832"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"2245268778","name":"Raouf Rahiche","screen_name":"raoufrahiche","indices":[0,13]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[14,25]}]},"extended_entities":{"media":[{"display_url":"pic.x.com/l8dB3quOTv","expanded_url":"https://x.com/SuprDeclarative/status/1981081844440584325/photo/1","id_str":"1981081505016184832","indices":[271,294],"media_key":"3_1981081505016184832","media_url_https":"https://pbs.twimg.com/media/G343IfGWAAAASML.jpg","type":"photo","url":"https://t.co/l8dB3quOTv","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":876,"w":1326,"resize":"fit"},"medium":{"h":793,"w":1200,"resize":"fit"},"small":{"h":449,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":876,"width":1326,"focus_rects":[{"x":0,"y":133,"w":1326,"h":743},{"x":59,"y":0,"w":876,"h":876},{"x":113,"y":0,"w":768,"h":876},{"x":278,"y":0,"w":438,"h":876},{"x":0,"y":0,"w":1326,"h":876}]},"media_results":{"result":{"media_key":"3_1981081505016184832"}}}]},"favorited":false,"in_reply_to_screen_name":"raoufrahiche","lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1981081844440584325","view_count":476,"bookmark_count":1,"created_at":1761161693000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1981032849764741575","full_text":"@raoufrahiche @FlutterDev I think it's working with this conditional - although it seems like when I launch the app with this code, it completely crashes. But when I comment this out, run the app, then uncomment and hot reload, it works.\n\nIs this what you were thinking? https://t.co/l8dB3quOTv","in_reply_to_user_id_str":"2245268778","in_reply_to_status_id_str":"1981067010466283859","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-10-24","value":0,"startTime":1761177600000,"endTime":1761264000000,"tweets":[]},{"label":"2025-10-25","value":0,"startTime":1761264000000,"endTime":1761350400000,"tweets":[]},{"label":"2025-10-26","value":0,"startTime":1761350400000,"endTime":1761436800000,"tweets":[]},{"label":"2025-10-27","value":0,"startTime":1761436800000,"endTime":1761523200000,"tweets":[]},{"label":"2025-10-28","value":0,"startTime":1761523200000,"endTime":1761609600000,"tweets":[]},{"label":"2025-10-29","value":10677,"startTime":1761609600000,"endTime":1761696000000,"tweets":[{"bookmarked":false,"display_text_range":[0,271],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[11,22]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1983229616975458743","view_count":8911,"bookmark_count":37,"created_at":1761673761000,"favorite_count":65,"quote_count":0,"reply_count":32,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1983229616975458743","full_text":"To all the @FlutterDev's who are obsessed with AI, if I want to select one freely available AI tool and ask it to create entire screens/features in a little app, which one do you currently recommend, and why? Usually I ask targeted questions - but I want to try full gen.","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[20,128],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[8,19]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1983240721953107984","view_count":1078,"bookmark_count":0,"created_at":1761676409000,"favorite_count":4,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1983229616975458743","full_text":"@jezell @FlutterDev How do all these options work? Does each one have an app? Or do I install a CLI and point it at a directory?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1983237525796991295","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[25,94],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[0,16]},{"id_str":"568573618","name":"Anton Borries 🦋","screen_name":"ABausG","indices":[17,24]}]},"favorited":false,"in_reply_to_screen_name":"imadetheseworks","lang":"en","retweeted":false,"fact_check":null,"id":"1983241033166340355","view_count":688,"bookmark_count":1,"created_at":1761676483000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1983167497798074434","full_text":"@imadetheseworks @ABausG Oh man you got P2’ed. Only one level better than “never gonna happen”","in_reply_to_user_id_str":"1785951221158756352","in_reply_to_status_id_str":"1983167497798074434","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-10-30","value":2948,"startTime":1761696000000,"endTime":1761782400000,"tweets":[{"bookmarked":false,"display_text_range":[0,90],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"github.com/flutter/flutte…","expanded_url":"https://github.com/flutter/flutter/issues/177693","url":"https://t.co/vMRGbOY36Q","indices":[67,90]}],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[4,15]}]},"favorited":false,"lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1983628579796873630","view_count":2948,"bookmark_count":2,"created_at":1761768882000,"favorite_count":18,"quote_count":1,"reply_count":0,"retweet_count":3,"user_id_str":"1109937471154905088","conversation_id_str":"1983628579796873630","full_text":"FYI @FlutterDev's OverlayPortal might be breaking your hot reload: https://t.co/vMRGbOY36Q","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-10-31","value":0,"startTime":1761782400000,"endTime":1761868800000,"tweets":[]},{"label":"2025-11-01","value":0,"startTime":1761868800000,"endTime":1761955200000,"tweets":[]},{"label":"2025-11-02","value":0,"startTime":1761955200000,"endTime":1762041600000,"tweets":[]},{"label":"2025-11-03","value":0,"startTime":1762041600000,"endTime":1762128000000,"tweets":[]},{"label":"2025-11-04","value":0,"startTime":1762128000000,"endTime":1762214400000,"tweets":[]},{"label":"2025-11-05","value":5311,"startTime":1762214400000,"endTime":1762300800000,"tweets":[{"bookmarked":false,"display_text_range":[31,77],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[0,8]},{"id_str":"561770146","name":"Khalid Warsame","screen_name":"KhalidWarsa","indices":[9,21]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[22,30]}]},"favorited":false,"in_reply_to_screen_name":"mraleph","lang":"en","retweeted":false,"fact_check":null,"id":"1985749479405019214","view_count":1683,"bookmark_count":0,"created_at":1762274543000,"favorite_count":8,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1985594437981102325","full_text":"@mraleph @KhalidWarsa @RydMike It's very likely taking people to React Native","in_reply_to_user_id_str":"53010195","in_reply_to_status_id_str":"1985678859539276287","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[31,300],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[0,8]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[9,17]},{"id_str":"561770146","name":"Khalid Warsame","screen_name":"KhalidWarsa","indices":[18,30]}]},"favorited":false,"in_reply_to_screen_name":"RydMike","lang":"en","retweeted":false,"fact_check":null,"id":"1985754577132736762","view_count":2019,"bookmark_count":2,"created_at":1762275759000,"favorite_count":21,"quote_count":0,"reply_count":4,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1985594437981102325","full_text":"@RydMike @mraleph @KhalidWarsa Yep. I've said it before, but I'll say it again. Flutter has not only ignored its own community, but has been hostile to it. Flutter has now lost almost every unique value prop. It will lose the rest. It has no moat. I don't see how it avoids zombie mode at this point.","in_reply_to_user_id_str":"87799983","in_reply_to_status_id_str":"1985751390883389866","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[48,178],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"703122697232863233","name":"Thomas Burkhart 💙","screen_name":"ThomasBurkhartB","indices":[0,16]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[17,25]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[26,34]},{"id_str":"561770146","name":"Khalid Warsame","screen_name":"KhalidWarsa","indices":[35,47]}]},"favorited":false,"in_reply_to_screen_name":"ThomasBurkhartB","lang":"en","retweeted":false,"fact_check":null,"id":"1985816253479731210","view_count":1609,"bookmark_count":0,"created_at":1762290464000,"favorite_count":6,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1985594437981102325","full_text":"@ThomasBurkhartB @RydMike @mraleph @KhalidWarsa I don’t really remember when they were. I only remember when they were ignored. But for years now they’ve been actively combatted.","in_reply_to_user_id_str":"703122697232863233","in_reply_to_status_id_str":"1985815658202796387","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-06","value":6621,"startTime":1762300800000,"endTime":1762387200000,"tweets":[{"bookmarked":false,"display_text_range":[0,279],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[23,30]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[86,97]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[23,30]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[86,97]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1986214864151539735","view_count":4605,"bookmark_count":10,"created_at":1762385500000,"favorite_count":103,"quote_count":2,"reply_count":11,"retweet_count":8,"user_id_str":"1109937471154905088","conversation_id_str":"1986214864151539735","full_text":"My back and forth with @jezell earlier got me thinking...if I actually did rejoin the @FlutterDev team, what would I try early on to rapidly improve community engagement? Here are my thoughts:\n\nHold 4 different recurring office hours to understand pain points and set priorities:\n * Indie dev\n * Agency dev\n * Enterprise dev\n * Flutter tooling dev (e.g., Code Magic, Shorebird, etc)\n\nI would do the majority of my personal Flutter contributions on live streams:\n * Would teach community how to contribute\n * Would spread knowledge of new implementation details\n * Would receive help from live stream members when implementing\n * Would file tickets and assign to members of the community during the stream\n\nHelp devs get their PRs cleaned up and merged. Ideally do this with them in real-time on a stream, but also some async for time zone issues.\n\nVisit American companies using Flutter to observe their difficulties firsthand.\n\nAttend as many US Meetups and conferences as possible to show off new features, and engage in listening sessions with the community.\n\nIdentify the most popular and promising packages and help those developers polish it, document it, test it, etc. Show that the Flutter org is committed to the health of the package ecosystem.\n\nI would do my best to blur the line between the organization and the community. Because at the end of the day, either there is no line, or there is no healthy organization or community.","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,196],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"313393045","name":"Michael Thomsen","screen_name":"MiSvTh","indices":[39,46]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986193090642911320","view_count":349,"bookmark_count":1,"created_at":1762380309000,"favorite_count":16,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986188317327814799","full_text":"@jezell Then I'll put it out there. If @MiSvTh would like to turn this ship around for community engagement, I'd sit down with him to talk about getting me back on the team to help make it happen.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986190517168971877","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,45],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986190022979297772","view_count":544,"bookmark_count":0,"created_at":1762379577000,"favorite_count":4,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986188317327814799","full_text":"@jezell Not surprised at all at this point...","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986188356355825996","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,214],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"SuprDeclarative","lang":"en","retweeted":false,"fact_check":null,"id":"1986190302093398508","view_count":529,"bookmark_count":0,"created_at":1762379644000,"favorite_count":7,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986188317327814799","full_text":"@jezell You know, I would consider rejoining the team to get this velocity up, if they were serious about improving their ways. But I'm guessing they'd rather just keep doing what hasn't worked and sink the ship...","in_reply_to_user_id_str":"1109937471154905088","in_reply_to_status_id_str":"1986190022979297772","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[34,54],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"857973744","name":"Abdallah Shaban","screen_name":"AbdallahSh07","indices":[0,13]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[14,21]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[22,33]}]},"favorited":false,"in_reply_to_screen_name":"AbdallahSh07","lang":"en","retweeted":false,"fact_check":null,"id":"1986216363019624542","view_count":594,"bookmark_count":0,"created_at":1762385857000,"favorite_count":11,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986214864151539735","full_text":"@AbdallahSh07 @jezell @FlutterDev I could do that work","in_reply_to_user_id_str":"857973744","in_reply_to_status_id_str":"1986215601120166103","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-07","value":6006,"startTime":1762387200000,"endTime":1762473600000,"tweets":[{"bookmarked":false,"display_text_range":[0,271],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[59,70]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[59,70]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1986491522825789549","view_count":4806,"bookmark_count":7,"created_at":1762451460000,"favorite_count":70,"quote_count":2,"reply_count":7,"retweet_count":4,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"Can we all pause and notice that we're stuck in an endless @FlutterDev loop between the community and the team? Forget the latest specific issue - we're on a merry-go-round that never stops spinning, and only seems to get faster. It goes like this:\n\n1. A community member experiences something that is frustrating, limiting, concerning, or all of the above.\n\n2. Flutter team does some combination of ignore it, tell the community member to file an issue that will likely never be worked on, or to fix it themselves.\n\n3. Community member feels entitled to an actual solution from Flutter.\n\n4. Flutter team gets defensive. Flutter-splains that they merge lots of outside code, and they're busy with other important things, and that problem isn't even really a problem if you understand what Flutter is meant to do, and maybe it's even a feature and not a bug.\n\n5. Community members feel ignored, marginalized, and disrespected, yet again, for the 100th time. Community members go through a therapy session by reminding the Flutter team of those last 100 times problems came up that didn't get addressed and didn't get solved.\n\n6. Flutter team becomes more defensive and even passive aggressive with community members.\n\n7. NOTHING GETS BETTER\n\nYesterday I offered to make myself available to rejoin the team to bridge this gap. No doubt it's a very tall task after so many years of this, but I'm willing to give it a go if they are. I will take all these public arrows for the team. \n\nDespite my personal issues with various people on the team, I believe that the only way for me to preserve my ability to use the skills I've spent 7 years building, is to finally bridge this gap and return Flutter to the \"community driven\" project that it once billed itself to be.","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[13,278],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"133487462","name":"Graham : A Star Wars Story 💙","screen_name":"whoisgraham","indices":[0,12]}]},"favorited":false,"in_reply_to_screen_name":"whoisgraham","lang":"en","retweeted":false,"fact_check":null,"id":"1986548582556856517","view_count":35,"bookmark_count":0,"created_at":1762465065000,"favorite_count":0,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986505347218219519","full_text":"@whoisgraham If that's a subtweet about me, I'd like to know it and why you feel that way. If it's about someone else, I'd like to know that too. I don't really understand this behavior of putting out passive aggressive tweets while also playing the role of adult in the room...","in_reply_to_user_id_str":"133487462","in_reply_to_status_id_str":"1986505347218219519","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[25,100],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"x.com/SuprDeclarativ…","expanded_url":"https://x.com/SuprDeclarative/status/1986214864151539735","url":"https://t.co/D2VueIkmkH","indices":[77,100]}],"user_mentions":[{"id_str":"790201826","name":"pk","screen_name":"khivedoteth","indices":[0,12]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[13,24]}]},"favorited":false,"in_reply_to_screen_name":"khivedoteth","lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"quoted_status_id_str":"1986214864151539735","quoted_status_permalink":{"url":"https://t.co/D2VueIkmkH","expanded":"https://x.com/SuprDeclarative/status/1986214864151539735","display":"x.com/SuprDeclarativ…"},"retweeted":false,"fact_check":null,"id":"1986501944299692264","view_count":305,"bookmark_count":0,"created_at":1762453945000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@khivedoteth @FlutterDev Here's what I said yesterday about where I'd start:\nhttps://t.co/D2VueIkmkH","in_reply_to_user_id_str":"790201826","in_reply_to_status_id_str":"1986501715924005083","is_quote_status":1,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[22,208],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1369087208","name":"Hari","screen_name":"harii_07","indices":[0,9]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[10,21]}]},"favorited":false,"in_reply_to_screen_name":"harii_07","lang":"en","retweeted":false,"fact_check":null,"id":"1986499762779283532","view_count":215,"bookmark_count":0,"created_at":1762453425000,"favorite_count":3,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@harii_07 @FlutterDev I'm not sure what \"this way\" is, but all I can do is offer. I live 5 mins away from Google HQ, I've been on the team before, I would imagine it's pretty easy if they wanna bring me back.","in_reply_to_user_id_str":"1369087208","in_reply_to_status_id_str":"1986497704479105440","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[23,149],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1601453019195133952","name":"Anish","screen_name":"anishtwts","indices":[0,10]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[11,22]}]},"favorited":false,"in_reply_to_screen_name":"anishtwts","lang":"en","retweeted":false,"fact_check":null,"id":"1986500104828965069","view_count":188,"bookmark_count":0,"created_at":1762453507000,"favorite_count":2,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@anishtwts @FlutterDev Thanks. I'm not holding my breath, but it's an honest offer to put all this personal stuff behind and build a bridge together.","in_reply_to_user_id_str":"1601453019195133952","in_reply_to_status_id_str":"1986499927904821374","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[29,96],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"207489846","name":"Josh Hargreaves","screen_name":"joshjhargreaves","indices":[0,16]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[17,28]}]},"favorited":false,"in_reply_to_screen_name":"joshjhargreaves","lang":"en","retweeted":false,"fact_check":null,"id":"1986513196447113496","view_count":134,"bookmark_count":0,"created_at":1762456628000,"favorite_count":0,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@joshjhargreaves @FlutterDev What an oddly non-actionable critique. Would you like to try again?","in_reply_to_user_id_str":"207489846","in_reply_to_status_id_str":"1986511828654993527","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[31,230],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[11,18]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[19,30]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986481130774929819","view_count":237,"bookmark_count":1,"created_at":1762448983000,"favorite_count":4,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986214864151539735","full_text":"@iosemagno @jezell @FlutterDev Definitely. Something I recommended to them back in 2020 when I left. But I’m offering here to return to the team to do what I can on that front. Looks like nobody on their side is interested though.","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986431218955493452","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[29,309],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"207489846","name":"Josh Hargreaves","screen_name":"joshjhargreaves","indices":[0,16]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[17,28]}]},"favorited":false,"in_reply_to_screen_name":"joshjhargreaves","lang":"en","retweeted":false,"fact_check":null,"id":"1986520375275168073","view_count":62,"bookmark_count":0,"created_at":1762458339000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"I suppose you can choose to view it that way if you really want to. But since you were focused on \"self awareness\" you might look around a little bit to see the volume of long-standing Flutter community members who support the posts. I'm trying to bridge a contentious gap that's widened for years - you're dropping by and being a bit of a dick....","in_reply_to_user_id_str":"207489846","in_reply_to_status_id_str":"1986519635814916286","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,276],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[0,11]},{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[0,11]}]},"favorited":false,"in_reply_to_screen_name":"guidorosso","lang":"en","retweeted":false,"fact_check":null,"id":"1986556553156305056","view_count":24,"bookmark_count":0,"created_at":1762466965000,"favorite_count":0,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986556553156305056","full_text":"@guidorosso I have a question about using Rive for app components - specifically around testing. It's common to use screenshot tests in apps. Does the Rive API have a mechanism to pull a bitmap screenshot of the current UI? And does it always use the same algo for shadows and text anti-aliasing, such that pulling screenshots over time, across platforms will likely produce the exact same pixels?","in_reply_to_user_id_str":"4925231","in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-08","value":9286,"startTime":1762473600000,"endTime":1762560000000,"tweets":[{"bookmarked":false,"display_text_range":[0,120],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"4917378776","name":"Rive","screen_name":"rive_app","indices":[0,9]}]},"favorited":false,"in_reply_to_screen_name":"rive_app","lang":"en","quoted_status_id_str":"1986634767186731352","quoted_status_permalink":{"url":"https://t.co/hWmSC7GgqL","expanded":"https://twitter.com/rive_app/status/1986634767186731352","display":"x.com/rive_app/statu…"},"retweeted":false,"fact_check":null,"id":"1986658099709768012","view_count":8002,"bookmark_count":16,"created_at":1762491175000,"favorite_count":116,"quote_count":1,"reply_count":3,"retweet_count":4,"user_id_str":"1109937471154905088","conversation_id_str":"1986658099709768012","full_text":"@rive_app is now officially the reincarnation of Flash. They just need to call their scripting language Actionscript 4.0","in_reply_to_user_id_str":"4917378776","in_reply_to_status_id_str":null,"is_quote_status":1,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,29],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986846333223997692","view_count":146,"bookmark_count":0,"created_at":1762536054000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986840106863599741","full_text":"@jezell Literally gonna do it","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986840106863599741","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[9,197],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[0,8]}]},"favorited":false,"in_reply_to_screen_name":"RydMike","lang":"en","retweeted":false,"fact_check":null,"id":"1986913998777073967","view_count":69,"bookmark_count":0,"created_at":1762552187000,"favorite_count":4,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986911596271054950","full_text":"@RydMike To be fair I think this is mainly a problem because iOS decided their keyboard animation curve and height needed to be kept secret. And the drag to close would be hidden only in OEM views.","in_reply_to_user_id_str":"87799983","in_reply_to_status_id_str":"1986911596271054950","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[130,351],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"1055494766807433223","name":"Luke","screen_name":"luke_pighetti","indices":[11,25]},{"id_str":"451445963","name":"Chinmay କବି 🇮🇳💙","screen_name":"ChinuKabi","indices":[26,36]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[37,44]},{"id_str":"1353831575843188736","name":"Alexandru Mariuti","screen_name":"nank1ro","indices":[45,53]},{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[54,70]},{"id_str":"135460126","name":"Andrea Bizzotto 🇺🇦","screen_name":"biz84","indices":[71,77]},{"id_str":"711913","name":"Eric Seidel","screen_name":"_eseidel","indices":[78,87]},{"id_str":"1118681","name":"Seth Ladd","screen_name":"sethladd","indices":[88,97]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[98,106]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[107,115]},{"id_str":"543917371","name":"Alessio Salvadorini 💙","screen_name":"ASalvadorini","indices":[116,129]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986873136927961571","view_count":292,"bookmark_count":0,"created_at":1762542444000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986827182140985367","full_text":"@iosemagno @luke_pighetti @ChinuKabi @jezell @nank1ro @imadetheseworks @biz84 @_eseidel @sethladd @mraleph @RydMike @ASalvadorini I'm confused by \"native textfield\". A quick look through your post didn't clarify. Is this about synchronizing insets to the real keyboard size, or is this about creating a platform view for a truly native iOS text field?","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986827182140985367","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,231],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986850486318997981","view_count":137,"bookmark_count":0,"created_at":1762537044000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986840106863599741","full_text":"@jezell First I gotta ramp up. Gonna convert my fasting app to all Rive. Then I think I might try to finally build my own time tracker that I've been meaning to build for years. Then hopefully I can start thinking tooling for Rive.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986846541542543814","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[20,297],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[8,19]},{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[71,82]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986852357972615506","view_count":262,"bookmark_count":0,"created_at":1762537490000,"favorite_count":6,"quote_count":0,"reply_count":0,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1986840106863599741","full_text":"@jezell @guidorosso That’s exactly one of the things I’d like to offer @guidorosso - I’m trying to go full app dev with Rive. But that needs text fields, message editors, and document editors. I happened to have built all those from the ground up in Super Editor for Flutter. Wanna collab on Rive?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986851038700449812","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[130,403],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"1055494766807433223","name":"Luke","screen_name":"luke_pighetti","indices":[11,25]},{"id_str":"451445963","name":"Chinmay କବି 🇮🇳💙","screen_name":"ChinuKabi","indices":[26,36]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[37,44]},{"id_str":"1353831575843188736","name":"Alexandru Mariuti","screen_name":"nank1ro","indices":[45,53]},{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[54,70]},{"id_str":"135460126","name":"Andrea Bizzotto 🇺🇦","screen_name":"biz84","indices":[71,77]},{"id_str":"711913","name":"Eric Seidel","screen_name":"_eseidel","indices":[78,87]},{"id_str":"1118681","name":"Seth Ladd","screen_name":"sethladd","indices":[88,97]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[98,106]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[107,115]},{"id_str":"543917371","name":"Alessio Salvadorini 💙","screen_name":"ASalvadorini","indices":[116,129]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986899098721788216","view_count":195,"bookmark_count":0,"created_at":1762548634000,"favorite_count":3,"quote_count":0,"reply_count":3,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986827182140985367","full_text":"@iosemagno @luke_pighetti @ChinuKabi @jezell @nank1ro @imadetheseworks @biz84 @_eseidel @sethladd @mraleph @RydMike @ASalvadorini FYI, I've built a full fledged documented editor at Super Editor, and I've rebuilt the text field in Flutter from the ground up. Might be quicker to bridge any final quality gaps in those than to go through the pain of trying to fit platform views everywhere you need them.","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986897622859456866","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[130,269],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"1055494766807433223","name":"Luke","screen_name":"luke_pighetti","indices":[11,25]},{"id_str":"451445963","name":"Chinmay କବି 🇮🇳💙","screen_name":"ChinuKabi","indices":[26,36]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[37,44]},{"id_str":"1353831575843188736","name":"Alexandru Mariuti","screen_name":"nank1ro","indices":[45,53]},{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[54,70]},{"id_str":"135460126","name":"Andrea Bizzotto 🇺🇦","screen_name":"biz84","indices":[71,77]},{"id_str":"711913","name":"Eric Seidel","screen_name":"_eseidel","indices":[78,87]},{"id_str":"1118681","name":"Seth Ladd","screen_name":"sethladd","indices":[88,97]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[98,106]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[107,115]},{"id_str":"543917371","name":"Alessio Salvadorini 💙","screen_name":"ASalvadorini","indices":[116,129]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986912637465301192","view_count":183,"bookmark_count":0,"created_at":1762551862000,"favorite_count":4,"quote_count":0,"reply_count":3,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986827182140985367","full_text":"@iosemagno @luke_pighetti @ChinuKabi @jezell @nank1ro @imadetheseworks @biz84 @_eseidel @sethladd @mraleph @RydMike @ASalvadorini What’s holding you back there? Super editor is used for chat in a major app and we’re doubling down our focus there. Including for AI chat.","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986906865142231088","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-09","value":3034,"startTime":1762560000000,"endTime":1762646400000,"tweets":[{"bookmarked":false,"display_text_range":[20,67],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1671203695814385664","name":"Nic Dean","screen_name":"_nicdean","indices":[0,9]},{"id_str":"4917378776","name":"Rive","screen_name":"rive_app","indices":[10,19]}]},"favorited":false,"in_reply_to_screen_name":"_nicdean","lang":"en","retweeted":false,"fact_check":null,"id":"1987270099108307108","view_count":2179,"bookmark_count":1,"created_at":1762637087000,"favorite_count":8,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987256377480561044","full_text":"@_nicdean @rive_app Steve Jobs also had something to say about it 😂","in_reply_to_user_id_str":"1671203695814385664","in_reply_to_status_id_str":"1987256377480561044","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,94],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1987230141995733196","view_count":855,"bookmark_count":0,"created_at":1762627561000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987208556664529121","full_text":"@jezell If it's using \"platform native views\" then how can it also ship a \"C++ layout engine\"?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1987208556664529121","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-10","value":3547,"startTime":1762646400000,"endTime":1762732800000,"tweets":[{"bookmarked":false,"display_text_range":[0,278],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[7,18]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[7,18]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1987615291376017496","view_count":2715,"bookmark_count":12,"created_at":1762719388000,"favorite_count":24,"quote_count":0,"reply_count":4,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1987615291376017496","full_text":"When a @FlutterDev subtree gets replaced with another, new State objects get initialized before old ones are disposed. This creates a tough situation for any shared object that needs to get handed from the old State to the new one. It creates a situation where an object belongs to two States when it may be designed to only belong to one. Does anyone know why Flutter doesn't run dispose() on the old State before running initState() on the new State?","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[17,38],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[8,16]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1987392738321703109","view_count":235,"bookmark_count":0,"created_at":1762666327000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986985272563933650","full_text":"@jezell @RydMike Who was the 2nd exit?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1987097773418946830","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[20,294],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[8,19]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1987620525045403855","view_count":597,"bookmark_count":1,"created_at":1762720636000,"favorite_count":3,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987615291376017496","full_text":"Yeah, nominally a GlobalKey can retain the State object to avoid the issue. However, there are about 5 people in the world who truly understand the reparenting mechanism implemented for GlobalKeys. So, for example, making every Super Editor user figure out when and where to attach a GlobalKey so that their Super Editor plugins don't blow up really isn't feasible. Instead, we need to do stuff in Super Editor that makes this management fool proof and invisible to our users.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1987619905123062168","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-11","value":0,"startTime":1762732800000,"endTime":1762819200000,"tweets":[]},{"label":"2025-11-12","value":4461,"startTime":1762819200000,"endTime":1762905600000,"tweets":[{"bookmarked":false,"display_text_range":[11,116],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[0,10]}]},"favorited":true,"in_reply_to_screen_name":"damy_wise","lang":"en","retweeted":false,"fact_check":null,"id":"1988174349346754832","view_count":4356,"bookmark_count":0,"created_at":1762852678000,"favorite_count":5,"quote_count":1,"reply_count":4,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@damy_wise I’m about to move my focus from Flutter to Rive. Curious to hear your thoughts based on your experiences.","in_reply_to_user_id_str":"1243886626238947328","in_reply_to_status_id_str":"1987851785420284163","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[26,72],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"145322774","name":"Lee Higgins","screen_name":"Depthperpixel","indices":[0,14]},{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[15,25]}]},"favorited":false,"in_reply_to_screen_name":"Depthperpixel","lang":"en","retweeted":false,"fact_check":null,"id":"1988329471406190798","view_count":30,"bookmark_count":0,"created_at":1762889662000,"favorite_count":0,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@Depthperpixel @damy_wise Doesn’t rive support raster images internally?","in_reply_to_user_id_str":"145322774","in_reply_to_status_id_str":"1988328965812219973","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[26,158],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"145322774","name":"Lee Higgins","screen_name":"Depthperpixel","indices":[0,14]},{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[15,25]}]},"favorited":false,"in_reply_to_screen_name":"Depthperpixel","lang":"en","retweeted":false,"fact_check":null,"id":"1988328197457670360","view_count":75,"bookmark_count":0,"created_at":1762889358000,"favorite_count":0,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@Depthperpixel @damy_wise Have you tried using it for app UI though? I imagine it’s a pretty different performance profile for buttons and text and lists etc.","in_reply_to_user_id_str":"145322774","in_reply_to_status_id_str":"1988264189664657652","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-13","value":65,"startTime":1762905600000,"endTime":1762992000000,"tweets":[{"bookmarked":false,"display_text_range":[21,101],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"114900758","name":"Roman Jaquez","screen_name":"drcoderz","indices":[0,9]},{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[10,20]}]},"favorited":false,"in_reply_to_screen_name":"drcoderz","lang":"en","retweeted":false,"fact_check":null,"id":"1988441166556410069","view_count":65,"bookmark_count":0,"created_at":1762916292000,"favorite_count":0,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@drcoderz @damy_wise How’d you end up using it? One big rive app or rive per page or rive per widget?","in_reply_to_user_id_str":"114900758","in_reply_to_status_id_str":"1988424334885744756","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-14","value":146,"startTime":1762992000000,"endTime":1763078400000,"tweets":[{"bookmarked":false,"display_text_range":[23,151],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"1654808914675011585","name":"Tahiro Agbanwa ⚡️","screen_name":"squirelBoy360","indices":[8,22]}]},"favorited":true,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1988840624594817412","view_count":146,"bookmark_count":0,"created_at":1763011530000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1988838418499956884","full_text":"@jezell @squirelBoy360 I’d be interested in trying a Dart wrapper around yoga as a way of using nothing but Rive widgets in app without any flutter UI.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1988840195194589372","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-15","value":0,"startTime":1763078400000,"endTime":1763164800000,"tweets":[]},{"label":"2025-11-16","value":0,"startTime":1763164800000,"endTime":1763251200000,"tweets":[]},{"label":"2025-11-17","value":0,"startTime":1763251200000,"endTime":1763337600000,"tweets":[]},{"label":"2025-11-18","value":0,"startTime":1763337600000,"endTime":1763424000000,"tweets":[]}]},"interactions":{"users":[{"created_at":1213752944000,"uid":"15152659","id":"15152659","screen_name":"jezell","name":"Jesse Ezell","friends_count":2172,"followers_count":2832,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1905022266498490368/VGKcrnrJ_normal.jpg","description":"Software Designer","entities":{"description":{"urls":[]}},"interactions":8},{"created_at":1456472489000,"uid":"703122697232863233","id":"703122697232863233","screen_name":"ThomasBurkhartB","name":"Thomas Burkhart 💙","friends_count":745,"followers_count":11160,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1946367237331275776/PA5Tq4lx_normal.jpg","description":"freelance developer, GDE for Flutter & Dart Author of: get_it, command_it, listen_it now under https://t.co/bR0431Rzss\n super power: bringing the right people together","entities":{"description":{"urls":[{"display_url":"flutter-it.dev","expanded_url":"http://flutter-it.dev","url":"https://t.co/bR0431Rzss","indices":[95,118]}]},"url":{"urls":[{"display_url":"blog.burkharts.net","expanded_url":"https://blog.burkharts.net","url":"https://t.co/UJvbOoyb1O","indices":[0,23]}]}},"interactions":3},{"created_at":1242311445000,"uid":"40004421","id":"40004421","screen_name":"iosemagno","name":"ioseph magno","friends_count":82,"followers_count":193,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1987808029551554560/ipcwNnXx_normal.jpg","description":"Founder & CEO of Presence: the private messenger that frees you from social media. Haters-free. Secure. Powerful. John 15:5","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"apps.apple.com/app/presence-m…","expanded_url":"https://apps.apple.com/app/presence-messenger/id6504456930","url":"https://t.co/CMMJIr4voG","indices":[0,23]}]}},"interactions":3},{"created_at":1288010232000,"uid":"207489846","id":"207489846","screen_name":"joshjhargreaves","name":"Josh Hargreaves","friends_count":580,"followers_count":991,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1974108775167496192/Va-6ispO_normal.jpg","description":"Senior Software Engineer @Netflix.","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"youtube.com/watch?v=mWu_rg…","expanded_url":"https://www.youtube.com/watch?v=mWu_rgmW7GI&t=1220s","url":"https://www.youtube.com/watch?v=mWu_rgmW7GI&t=1220s","indices":[0,23]}]}},"interactions":2},{"created_at":1274204656000,"uid":"145322774","id":"145322774","screen_name":"Depthperpixel","name":"Lee Higgins","friends_count":850,"followers_count":932,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1907023102170542080/ViZgtsHJ_normal.jpg","description":"AI augmented Flutter dev. We have entered the age of AI. What a time to be alive! #flutter #flutterDev","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"wearemobilefirst.com","expanded_url":"http://www.wearemobilefirst.com","url":"https://t.co/b4bCBPQ4gj","indices":[0,23]}]}},"interactions":2},{"created_at":1266364995000,"uid":"114900758","id":"114900758","screen_name":"drcoderz","name":"Roman Jaquez","friends_count":631,"followers_count":13748,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1762927304563470336/tCwipQFI_normal.jpg","description":"Flutter @GoogleDevExpert 💙 / Cloud Architect / Rive Ambassador / Co-founder @ https://t.co/vxN4GxSLOO. Love sharing knowledge with others.","entities":{"description":{"urls":[{"display_url":"duupr.io","expanded_url":"http://duupr.io","url":"https://t.co/vxN4GxSLOO","indices":[78,101]}]},"url":{"urls":[{"display_url":"romanjustcodes.web.app","expanded_url":"https://romanjustcodes.web.app","url":"https://t.co/KKYnvUeUrx","indices":[0,23]}]}},"interactions":2},{"created_at":1511134668000,"uid":"932392494138122240","id":"932392494138122240","screen_name":"_snow_soj","name":"Snow❄️","friends_count":435,"followers_count":210,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1987669043747102721/_satfi5g_normal.jpg","description":"Software Engineer • Mobile Engineer • AI Automation Engineer • Building @cellureka","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"linktr.ee/snowsoj","expanded_url":"https://linktr.ee/snowsoj","url":"https://t.co/2zhlKxYts4","indices":[0,23]}]}},"interactions":1},{"created_at":1504744826000,"uid":"905591553778995200","id":"905591553778995200","screen_name":"SheltonLouisX","name":"Shelton Louis","friends_count":78,"followers_count":744,"profile_image_url_https":"https://pbs.twimg.com/profile_images/989710573947387904/UE4B3NyK_normal.jpg","description":"I like anime, front-end dev art, and watching videos about various things.","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"sheltonswebportfolio.info","expanded_url":"https://www.sheltonswebportfolio.info","url":"https://t.co/uCB8P2oQfp","indices":[0,23]}]}},"interactions":1},{"created_at":1257459816000,"uid":"87799983","id":"87799983","screen_name":"RydMike","name":"Mike Rydstrom","friends_count":1825,"followers_count":14293,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1365130252368941057/-J9U_s7X_normal.jpg","description":"\"MaterialMike\" Flutter dev. Tweets about Flutter. Author of #FlexColorScheme and #ThemesPlayground. Flutter issue reporter. GitHub rydmike.","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"rydmike.com","expanded_url":"http://rydmike.com","url":"https://t.co/mL7GSamnUx","indices":[0,23]}]}},"interactions":1},{"created_at":1349181180000,"uid":"857973744","id":"857973744","screen_name":"AbdallahSh07","name":"Abdallah Shaban","friends_count":909,"followers_count":1193,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1968837945923956737/nIfnvnV2_normal.jpg","description":"Product at @google working on @firebase @flutterdev @golang | Ex Co-Founder @celest_dev (YC W24) Product @AWS | Opinions are my own | 🇯🇴 🇵🇸","entities":{"description":{"urls":[]}},"interactions":1},{"created_at":1487205704000,"uid":"832027145350311936","id":"832027145350311936","screen_name":"EmilioMaciel9","name":"Emilio Maciel 💙","friends_count":749,"followers_count":222,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1965876738749001728/xOyNARof_normal.jpg","description":"Such is the passage of time, too fast to fold...\nSloan Fellow @StanfordGSB - Entrepreneur in ocean conservation, founder @GoLogbook, Flutter 💙\nViews my own","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"gologbook.com","expanded_url":"http://www.gologbook.com","url":"https://t.co/xKcpZnQDYB","indices":[0,23]}]}},"interactions":1},{"created_at":1346597785000,"uid":"798421886","id":"798421886","screen_name":"HarveyAptx","name":"Harith Haroon","friends_count":541,"followers_count":243,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1914756382500245504/DGGRJdRQ_normal.jpg","description":"Software Engineer | Dart & Flutter 💙","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"linkedin.com/in/alharith-ha…","expanded_url":"https://linkedin.com/in/alharith-haroon-5aba82228/","url":"https://t.co/WqoYtxNcYu","indices":[0,23]}]}},"interactions":1},{"created_at":1346276255000,"uid":"790201826","id":"790201826","screen_name":"khivedoteth","name":"pk","friends_count":581,"followers_count":282,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1491046064929255426/PfGkUl5E_normal.jpg","description":"Mobile. Serverless. LLM.","entities":{"description":{"urls":[]}},"interactions":1},{"created_at":1335247429000,"uid":"561770146","id":"561770146","screen_name":"KhalidWarsa","name":"Khalid Warsame","friends_count":844,"followers_count":4161,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1894428982021439489/LvU36qyQ_normal.jpg","description":"Mobile App Developer (Flutter & Dart). Building https://t.co/KTXDJJqVAy ($115 MRR) https://t.co/wpwNYiPmQv ($3 MRR) https://t.co/hgs5NKHk2x (WIP $0 MRR)","entities":{"description":{"urls":[{"display_url":"addymanager.com","expanded_url":"http://addymanager.com","url":"https://t.co/KTXDJJqVAy","indices":[48,71]},{"display_url":"bucketize.app","expanded_url":"http://bucketize.app","url":"https://t.co/wpwNYiPmQv","indices":[83,106]},{"display_url":"cruiseexplorer.app","expanded_url":"http://cruiseexplorer.app","url":"https://t.co/hgs5NKHk2x","indices":[116,139]}]},"url":{"urls":[{"display_url":"bio.khalidwar.com","expanded_url":"http://bio.khalidwar.com","url":"https://t.co/kpBYfSJ9tX","indices":[0,23]}]}},"interactions":1},{"created_at":1429796726000,"uid":"3198051185","id":"3198051185","screen_name":"samuelkchris","name":"Samuel Ssekizinvu💙","friends_count":585,"followers_count":259,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1742086537704038400/avc6I0Np_normal.jpg","description":"Software Engineer","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"ssekizinvu.netlify.app","expanded_url":"https://ssekizinvu.netlify.app","url":"https://t.co/plR0wZI4Ss","indices":[0,23]}]}},"interactions":1},{"created_at":1387700710000,"uid":"2257454994","id":"2257454994","screen_name":"PaulEauChon","name":"Paul","friends_count":157,"followers_count":13,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1533542413993758720/Kzfb5fq0_normal.jpg","description":"oui","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"bitly.ws/33hdq","expanded_url":"https://bitly.ws/33hdq","url":"https://t.co/XxxeWV0J18","indices":[0,23]}]}},"interactions":1},{"created_at":1286730503000,"uid":"200927003","id":"200927003","screen_name":"LoicSharma","name":"Loïc Sharma","friends_count":413,"followers_count":662,"profile_image_url_https":"https://pbs.twimg.com/profile_images/887718836694167553/-tdGfDf-_normal.jpg","description":"Flutter contributor at Google. Opinions are my own and not those of my company.","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"github.com/loic-sharma","expanded_url":"https://github.com/loic-sharma","url":"https://t.co/vvyIlw9dgA","indices":[0,23]}]}},"interactions":1},{"created_at":1721513662000,"uid":"1814785883612323841","id":"1814785883612323841","screen_name":"Fernand48030346","name":"Fernando","friends_count":210,"followers_count":22,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1988627498427432960/VY1LeH-b_normal.jpg","description":"A pug named Fernando","entities":{"description":{"urls":[]}},"interactions":1},{"created_at":1714638930000,"uid":"1785951221158756352","id":"1785951221158756352","screen_name":"imadetheseworks","name":"Tim","friends_count":108,"followers_count":1069,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1803502404727386112/zy8oS1SE_normal.jpg","description":"","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"i.madethese.works","expanded_url":"http://i.madethese.works","url":"https://t.co/kOexRJsTWM","indices":[0,23]}]}},"interactions":1},{"created_at":1707573168000,"uid":"1756315171796963328","id":"1756315171796963328","screen_name":"ArabastaDev","name":"Youcef Dev","friends_count":250,"followers_count":18,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1756315280433672192/CRcmrigw_normal.png","description":"A fool admires complexity; a genius admires simplicity","entities":{"description":{"urls":[]}},"interactions":1}],"period":14,"start":1762147292945,"end":1763356892945},"interactions_updated":1763356893082,"created":1763356892845,"updated":1763356893082,"type":"the innovator","hits":1},"people":[{"user":{"id":"374907349","name":"Vinh Nguyen","description":"iOS. Applied AI Research. Building VT Code coding agent (https://t.co/1ZsOIycYOz), @vtdotai. Built @ClendarApp • Learn by doing • self.opinions","followers_count":1140,"friends_count":6097,"statuses_count":20969,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1857076247811026944/0UrdvDZz_normal.jpg","screen_name":"vinhnx","location":"Chau Doc, An Giang. Vietnam","entities":{"description":{"urls":[{"display_url":"github.com/vinhnx/vtcode","expanded_url":"https://github.com/vinhnx/vtcode","url":"https://t.co/1ZsOIycYOz","indices":[57,80]}]},"url":{"urls":[{"display_url":"buymeacoffee.com/vinhnx","expanded_url":"https://buymeacoffee.com/vinhnx","url":"https://t.co/P4Hz19mgKX","indices":[0,23]}]}}},"details":{"type":"The Innovator","description":"Vinh Nguyen is an inventive iOS developer and applied AI researcher who thrives on building cutting-edge coding tools like VT Code and the Clendar app. Always learning by doing, Vinh engages deeply with the AI and developer communities to push the boundaries of what smart coding agents can accomplish. His passion for applied AI and open sharing of resources makes him a go-to source for forward-thinking tech enthusiasts.","purpose":"To revolutionize the coding experience by creating intelligent, user-friendly AI-powered tools that empower developers to code more efficiently and effectively.","beliefs":"Vinh believes in hands-on learning, the power of community collaboration, and that open sharing of knowledge accelerates technological progress. He values innovation, practical application of AI, and staying at the forefront of emerging development trends.","facts":"Fun fact: Vinh’s VT Code agent recently got integrated into the Ollama Community section, showcasing his ability to create tools others trust and adopt into their ecosystems!","strength":"Vinh excels at bridging complex AI research with real-world applications, rapidly prototyping innovative solutions, and engaging with developer communities to continually refine his work.","weakness":"With nearly 21,000 tweets and following over 6,000 accounts, Vinh might risk spreading himself thin across too many interests, potentially diluting his focus or overwhelming his audience with frequent updates.","roast":"For someone building AI to make coding easier, Vinh sure tweets enough to rival a bot on caffeine—maybe the next project should automate his own tweeting so he can finally get some sleep!","win":"Getting VT Code’s multi-modal AI chat app merged into @ollama’s Community Integration is a standout achievement that highlights Vinh's influence and credibility in the AI tooling space.","recommendation":"To grow his audience on X, Vinh should consider curating his prolific tweeting into themed threads or regular 'innovation spotlights' that help followers digest groundbreaking AI tools without feeling overwhelmed. Engaging directly with followers by hosting Q&A sessions or AMA-style chats could also boost community loyalty."},"created":1763359677811,"type":"the innovator","id":"vinhnx"},{"user":{"id":"3673802431","name":"BRIAN SΞONG","description":"Research & DevRel Eng @0xPolygon | Do hard Things, and bet on yourself","followers_count":3958,"friends_count":3208,"statuses_count":3973,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1904971865287966720/mXLxFeJM_normal.jpg","screen_name":"BrianSeong","location":"Bay Area","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"brian-seong.ghost.io","expanded_url":"https://brian-seong.ghost.io/","url":"https://t.co/SvcRoAoXMb","indices":[0,23]}]}}},"details":{"type":"The Innovator","description":"Brian Seong is a visionary Research & DevRel Engineer at 0xPolygon, passionately pushing the boundaries of blockchain technology and crypto payments. With a knack for deep technical insights and a forward-thinking approach, he bridges complex systems with practical real-world use cases. Always betting on himself, Brian thrives in exploring new paradigms for decentralized applications.","facts":"Brian won the SuccinctLabs track at ETHGlobal Trifecta with a groundbreaking zkHyperliquid project powered by SP1 zkVM, showcasing his cutting-edge contributions to blockchain tech.","purpose":"Brian’s life purpose is to pioneer innovative blockchain infrastructure that revolutionizes payment systems and developer experiences, enabling permissionless financial access globally. He aims to streamline crypto adoption by building modular, scalable payment protocols that integrate seamlessly into everyday lives.","beliefs":"He believes that true value in crypto lies in problem-solving and practical application rather than hype or trending attention. Trust and solid building are fundamental, and innovation is the key to unlocking blockchain’s transformative potential for the masses.","strength":"Brian's strengths lie in his technical expertise, forward vision, and ability to communicate complex blockchain concepts clearly and persuasively. His hands-on experience in developing scalable and secure crypto protocols empowers him to lead groundbreaking projects.","weakness":"Sometimes Brian’s deep dive into technical details and intense focus on innovation can make his communications feel overwhelming or too niche for broader audiences, potentially limiting his immediate reach.","recommendation":"To grow his audience on X, Brian should complement his technical deep-dives with more digestible, relatable threads and engage regularly in community conversations. Leveraging storytelling around the impact of his work will attract both crypto insiders and curious outsiders alike.","roast":"Brian tweets more than most people breathe, probably mining data and bridging blockchains in his sleep — but hey, if only his DM responses were as fast as his tweetstorm frequency, he might actually have time to make new friends!","win":"Winning the SuccinctLabs track at ETHGlobal Trifecta for zkHyperliquid not only spotlighted Brian as a rising blockchain innovator but also set the stage for new decentralized app paradigms built on zkVM technology."},"created":1763359385213,"type":"the innovator","id":"brianseong"},{"user":{"id":"1430763060461850634","name":"juvid","description":"Helping AI x DePIN founders with content systems | Product storytelling reached 60.6M new users | Researching within physical AI","followers_count":3489,"friends_count":2628,"statuses_count":35177,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1675606318181171201/WdTbJ5-C_normal.jpg","screen_name":"JuvidX","location":"DePAI Season","entities":{"description":{"urls":[]}}},"details":{"type":"The Innovator","description":"Juvid is a forward-thinking visionary at the intersection of AI and decentralized physical infrastructure (DePIN), passionately crafting content systems and product storytelling that engage millions. With a sharp focus on autonomous robotics and machine economy, Juvid is pushing the boundaries of how technology and economics blend. Their deep dive into physical AI research cements their role as a pioneer in emerging tech narratives.","purpose":"Juvid’s life purpose is to revolutionize the way autonomous machines participate in the economy by designing compelling content ecosystems that empower AI and DePIN founders to unlock new value streams, driving the future of a connected, self-sustaining machine economy.","beliefs":"They believe in the transformative power of decentralization, autonomous technology, and transparent storytelling to democratize innovation and inspire collective advancement. Juvid values technological progress that not only automates but economically empowers intelligent agents, fostering a future where machines aren't mere tools but active contributors.","facts":"Fun fact: Juvid has helped product storytelling campaigns reach over 60.6 million new users, demonstrating exceptional reach and influence in the tech space.","strength":"Juvid excels at synthesizing complex technological concepts into engaging content that deeply resonates with both founders and broader audiences. They have robust research skills in physical AI and a knack for spotting emerging market trends, alongside an impressive output of over 35,000 tweets signaling dedication and expertise.","weakness":"With such prolific tweeting (35,177 times!), Juvid might risk overwhelming followers or diluting key messages. Their high volume of content and following count suggest room to refine focus and engagement strategies rather than pure output.","recommendation":"To grow their audience on X, Juvid should focus on curating highlights and creating thread series that showcase key breakthroughs and simplified insights about physical AI and DePIN. Engaging more interactively with followers via Q&A and leveraging amplified voices in the AI and blockchain communities could enhance authentic reach and retention.","roast":"Juvid’s tweet storm could single-handedly power a small city—too bad not all those 35K+ tweets are as sharp as a robot’s parkour moves. Maybe tone down the tweeting marathon and aim for less content, more quality, or your followers might start using AI just to catch up!","win":"Successfully driving product storytelling that reached an astounding 60.6 million new users, Juvid has clearly demonstrated an ability to mobilize massive engagement and elevate emerging tech ecosystems."},"created":1763358947925,"type":"the innovator","id":"juvidx"},{"user":{"id":"1905812040582610944","name":"𝕼𝖚𝖆𝖓𝖙𝖚𝖒✘ ⚛️ 👿 | 𝔽rAI","description":"Man Utd diehard ❤️| Electrical & Electronics Engineer⚡ | Frontend Dev 🌐 | Web3 Enthusiast 🔗 | Airdrop Hunter 🏹.","followers_count":3738,"friends_count":5501,"statuses_count":21617,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1987084921525997568/QX2tUf_6_normal.jpg","screen_name":"techbyabdul52","location":"","entities":{"description":{"urls":[]}}},"details":{"type":"The Innovator","description":"Quantum✘ is a forward-thinking Web3 enthusiast and a tech-savvy electrical engineer who’s deeply embedded in the DeFi and blockchain space. Constantly sharing cutting-edge insights and opportunities, they bring intelligent automation and AI-driven finance strategies to the forefront. A diehard Manchester United fan, their passion merges technology and community in a smart, engaging way.","purpose":"Their life purpose is to revolutionize decentralized finance by integrating AI and automation, empowering users worldwide to navigate and optimize Web3 innovations effortlessly.","beliefs":"Quantum✘ believes in self-custody, transparency, and the power of AI to democratize financial intelligence. They value cutting-edge technology as a tool to unlock freedom and financial inclusion, all while fostering community trust and sustainable growth.","facts":"Fun fact: They don’t just talk the talk but tweet over 21,000 times, showing relentless dedication to informing and educating their audience about the next frontier of DeFi and Web3.","strength":"Their strengths include deep technical knowledge, thought leadership in AI and DeFi, and a highly active presence that keeps their audience informed and engaged with timely, valuable content.","weakness":"Sometimes their rapid-fire tweeting and heavy focus on niche topics like complex DeFi strategies may overwhelm casual followers or dilute their message among a sea of tweets.","recommendation":"To grow their audience on X, Quantum✘ should balance technical posts with simplified, engaging threads or visual explainers that invite newcomers into the world of DeFi—making complex topics approachable and share-worthy.","roast":"You tweet so much that even your tweets need a coffee break—at this rate, your followers don’t know whether to learn about blockchain or just try to keep up without burning out!","win":"Successfully positioned themselves as a respected voice in AI-powered DeFi automation, influencing multiple communities and projects like Talisman and KaiaChain through valuable insights and active promotion."},"created":1763358335962,"type":"the innovator","id":"techbyabdul52"},{"user":{"id":"544496706","name":"THEDEFIGURU","description":"Crypto Pioneer & Web3 Innovator | DeFi Architect | On-Chain Analyst @Eigenpiexyz_io | NFA, DYOR | DeFi, Al, RWA, GameFi & Marketing Expert","followers_count":58513,"friends_count":3780,"statuses_count":187047,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1944368100993826816/5lohaKm7_normal.jpg","screen_name":"TheDeFiGuru_","location":"Web3 Warrior ","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"T.me/TheDeFiGuru28","expanded_url":"http://T.me/TheDeFiGuru28","url":"https://t.co/YrClzip3wX","indices":[0,23]}]}}},"details":{"type":"The Innovator","description":"THEDEFIGURU is a relentless Web3 and DeFi explorer, blending deep on-chain analysis with savvy market insights. With a tendency to break down complex crypto developments into relatable, monkey-themed narratives, they make the wild world of decentralized finance both accessible and entertaining. They are always on the cutting edge of AI, blockchain, and emerging finance trends, captivating audiences with both expertise and a playful tone.","purpose":"To pioneer the evolution of decentralized finance and Web3 technologies by educating, engaging, and empowering users to navigate the space confidently and strategically. THEDEFIGURU strives to demystify complex crypto ecosystems, fostering a community that embraces innovation and smart investment decisions.","beliefs":"They believe that technology – especially AI and blockchain – is the driving force for financial democratization and future economic systems. Staying informed, performing personal due diligence (DYOR), and embracing sustainable growth are core principles. Their advocacy for real yield, audit transparency, and long-term value reflects a trust in knowledge over hype.","facts":"Fun fact: THEDEFIGURU has tweeted over 187,000 times, proving they never sleep and are always ready to swing from new crypto vines in search of alpha and community buzz.","strength":"Combines deep technical insight with accessible, entertaining storytelling that keeps their audience informed and engaged. Their prolific output and ability to spot market patterns, like nuanced on-chain behaviors and listing strategies, position them as a trusted source in the crypto space. They are strategic, forward-thinking, and community-focused.","weakness":"Sometimes their rapid-fire tweeting and niche technical language can overwhelm newcomers, and their dense analytics might fly over the heads of casual followers. Their high tweeting volume may also lead to message dilution or fatigue among parts of the audience.","recommendation":"To grow their audience on X, THEDEFIGURU should blend their technical depth with more bite-sized, visually engaging content like infographics or short video clips. Hosting regular AMAs or Twitter Spaces can encourage real-time interaction, boosting community loyalty and attracting crypto enthusiasts who crave both knowledge and connection.","roast":"For someone clocking 187,000 tweets, THEDEFIGURU’s keyboard must be begging for retirement—at this rate, their followers probably know more about crypto than their own families do. Maybe it’s time to let the monkeys take a coffee break before the jungle gets crowded with data overload!","win":"Successfully dissected and explained multiple high-profile Coinbase listings on day-one, showcasing deep understanding of market mechanics and earning significant engagement for insightful, on-point commentary that helped their community make smarter moves."},"created":1763357742743,"type":"the innovator","id":"thedefiguru_"},{"user":{"id":"1603778112038264837","name":"David Toniolo","description":"technical founder deploying ai in automotive at scale, and building autonomous labs for advanced materials discovery.","followers_count":834,"friends_count":724,"statuses_count":9137,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1938186713676816384/X83o4Z5y_normal.jpg","screen_name":"toniolo_david","location":"Australian (Mostly AUS & USA)","entities":{"description":{"urls":[]}}},"details":{"type":"The Innovator","description":"David Toniolo is a forward-thinking technical founder pushing the boundaries of AI in automotive and advanced materials discovery. With his passion for futuristic tech and infrastructure, he envisions a world seamlessly integrated with adaptive AI and edge computing. Always engaged in lively discussions, David combines technical depth with a flair for thought-provoking insights.","purpose":"David’s life purpose is to revolutionize how technology integrates with our daily lives, building systems that empower innovation at scale and transform industries through autonomous discovery and AI. He seeks to lay the digital infrastructure backbone that future generations will rely on for communication, compute, and creativity.","beliefs":"He values the power of consistent progress, visionary thinking, and collaboration in technology. David believes in leveraging AI to streamline human experiences and is pragmatic about societal and legal dynamics, expecting clear, enforceable rules alongside rapid innovation.","facts":"Despite being a 'small account,' David’s relentless interaction on others' posts supercharges his analytics, proving that engagement trumps follower count every time!","strength":"His strengths lie in deep technical expertise, a visionary mindset, and persistence in engaging the community, which helps him amplify his ideas and build meaningful connections in niche tech spaces.","weakness":"David might sometimes overextend himself, aiming to channel 'Elon-level' productivity, which could lead to burnout or frustration when the pace of daily achievements doesn’t meet his expectations.","roast":"David’s tweeting frequency is so high, I half expect his keyboard to file a restraining order for overwork—maybe slow down before your laptop files for a divorce!","win":"Successfully building autonomous labs for advanced materials discovery while pioneering scalable AI applications in automotive, positioning himself at the cutting edge of industrial AI innovation.","recommendation":"To grow his audience on X, David should balance his high-volume tweeting with more curated, insightful threads that break down complex AI and tech trends into digestible chunks. Leveraging targeted hashtags and engaging more with broader tech communities can also increase his visibility beyond the immediate niche."},"created":1763357452610,"type":"the innovator","id":"toniolo_david"},{"user":{"id":"376941746","name":"Eric Bye","description":"Canadian settled in the UK. AI Consultant, helping businesses get value from AI.","followers_count":568,"friends_count":4727,"statuses_count":2103,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1730566613278027776/FEGgh6D3_normal.jpg","screen_name":"erictronai","location":"United Kingdom","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"ca.linkedin.com/in/ericqbye","expanded_url":"https://ca.linkedin.com/in/ericqbye","url":"https://t.co/Z8VMIk6QuY","indices":[0,23]}]}}},"details":{"type":"The Innovator","description":"Eric Bye is a Canadian AI Consultant thriving in the UK, known for swiftly crafting practical solutions that leverage AI's power. With a curiosity that stretches from butterfly hunting in Toronto to debugging code on the go, Eric is a hands-on problem solver at heart. His tweets reveal a blend of technical savvy and everyday quirks, making innovation both accessible and relatable.","purpose":"Eric’s life purpose is to empower businesses to unlock transformative value through AI, bridging complex technology with real-world application. He thrives on creating efficient, elegant solutions where others see obstacles, driving progress one innovative solution at a time.","beliefs":"Eric values practical innovation, creativity rooted in utility, and the willingness to tinker until things work flawlessly. He believes technology should be a helpful tool that simplifies problems and enhances lives rather than complicates them.","facts":"Fun fact: Eric once built a custom tool in just 5 minutes using Replit to convert mbox files to CSV, fixing bugs common to free alternatives. He’s not just about AI theory—he's about instant, real-world problem solving.","strength":"Eric’s biggest strength is his rapid prototyping ability and hands-on mindset, turning ideas into working tools with impressive speed and precision. His curiosity and willingness to dive into tech challenges make him a go-to innovator.","weakness":"A potential weakness is that Eric’s broad interests and high following count might spread his focus thin, possibly diluting his engagement and consistent audience growth on social media. The low visibility of some tweets suggests opportunity to boost reach.","recommendation":"To grow his audience on X, Eric should amplify his storytelling around AI insights combined with his personal quirks, using engaging threads and interactive polls related to AI breakthroughs. Collaborations with AI communities and more frequent engagement in trending tech conversations will boost visibility.","roast":"Eric’s tweets are like his AI projects—super smart, quick to solve problems, but occasionally seem to vanish in the void like a debugging session at 3 AM. Maybe sprinkle some ‘human’ into the algorithm of your social game, Eric!","win":"Eric’s standout achievement is transforming a common tech headache into a handy, bug-free tool in minutes, showcasing not just his expertise but his impact on practical AI application."},"created":1763357202875,"type":"the innovator","id":"erictronai"},{"user":{"id":"711913","name":"Eric Seidel","description":"Leading @shorebirddev. 🚀 Founded @flutterdev, former Eng. Dir @google, previously @googlechrome, @webkit. @ycombinator S06.","followers_count":19078,"friends_count":295,"statuses_count":4450,"profile_image_url_https":"https://pbs.twimg.com/profile_images/947228834121658368/z3AHPKHY_normal.jpg","screen_name":"_eseidel","location":"Menlo Park, CA","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"eseidel.com","expanded_url":"http://eseidel.com","url":"https://t.co/WM9nGFjTg3","indices":[0,23]}]}}},"details":{"type":"The Innovator","description":"Eric Seidel is a trailblazing tech pioneer, known for founding Flutter and currently steering the ship at Shorebird. With a deep passion for cutting-edge development and a history rooted in Google’s elite engineering teams, he’s the go-to guru for turning bold ideas into reality. His tweets blend technical insights, milestone celebrations, and playful industry commentary.","purpose":"Eric’s life purpose is to push the boundaries of software development, creating powerful tools that empower developers worldwide and transform how apps are built and experienced. By fostering innovation and guiding emerging technologies, he aims to accelerate the future of tech.","beliefs":"He believes in the power of open-source collaboration, continuous learning, and the mission to democratize technology through accessible, efficient frameworks. Eric values transparency, community-driven growth, and the relentless pursuit of excellence in software craftsmanship.","facts":"Fun fact: Eric only recently discovered a nifty Dart trick about declaring non-nullable final variables inside try blocks, proving even the original Flutter founder is always exploring and learning!","strength":"His biggest strengths lie in visionary leadership, deep technical expertise, and the ability to rally top-tier talent and investors, demonstrated by his success raising $3M to propel Shorebird forward. Eric's rich history at Google and Flutter gives him unparalleled insider knowledge of scalable software ecosystems.","weakness":"Occasionally, Eric’s laser focus on innovation and technical detail might lead to less time engaging directly with followers, which could limit real-time community interaction and broader visibility on social platforms.","roast":"Eric’s so deep in code and innovation, his idea of a wild tweet is debugging Dart syntax at midnight instead of hitting the club—because who needs dance floors when you’ve got try blocks and final variables, right?","win":"Eric’s biggest win to date is founding Flutter, a revolutionary UI toolkit that has reshaped mobile and web app development globally and garnered a thriving developer community and major industry adoption.","recommendation":"To grow his audience on X, Eric should mix more behind-the-scenes storytelling with regular Q&A sessions and developer tips, turning his niche expertise into approachable and interactive content. Highlighting real-world user success stories and engaging more with replies will also fuel stronger community bonds."},"created":1763356484869,"type":"the innovator","id":"_eseidel"},{"user":{"id":"703106511342432256","name":"0x_2009","description":"∞All in Blockchain∞ ₿ #BTC Ξ #ETH","followers_count":1514,"friends_count":804,"statuses_count":345,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1897612151591931904/J8EnWR69_normal.jpg","screen_name":"0x_2009","location":"Singapore","entities":{"description":{"urls":[]}}},"details":{"type":"The Innovator","description":"0x_2009 is a forward-thinking blockchain enthusiast who’s all about blending technology with a sprinkle of magic. They champion Bitcoin and Ethereum while pioneering unique meme tokens like $WZRD that spark community excitement. Always experimenting, they’re eager to learn and grow beyond language barriers to uplift their crypto game.","purpose":"To push the boundaries of blockchain innovation by creating and promoting unique crypto experiences that merge technology, community, and imagination.","beliefs":"0x_2009 values creativity and community-driven projects, believing in the power of decentralization and the magic of blockchain to transform financial and social landscapes. They also believe continuous learning and adaptability are key to thriving in the fast-paced crypto world.","facts":"This innovator built DeepSeek to help automate tasks (their digital assistant 'working' for them) and launched the only meme coin on the Bitcoin chain history—$WZRD, the Bitcoin Wizards token.","strength":"They excel at blending technical blockchain knowledge with engaging community storytelling, driving enthusiasm with their creative crypto projects and consistent presence.","weakness":"Their biggest hurdle is language fluency, limiting their content quality and reach due to a self-admitted language barrier between Chinese and English.","roast":"If 0x_2009’s language skills were a blockchain, it’d definitely still be in testnet—lots of potential but not quite ready for mainnet moves yet.","win":"Successfully launching and promoting $WZRD, the historic first meme coin on the Bitcoin chain, which attracted a passionate community and sparked lively interaction.","recommendation":"Focus on improving English fluency to widen your audience and engage with global crypto communities on X. Utilize threads and visuals to tell compelling stories about your projects, and consider collaborations with English-speaking influencers to amplify your innovative blockchain magic."},"created":1763356199004,"type":"the innovator","id":"0x_2009"},{"user":{"id":"84374631","name":"Dominik Roszkowski","description":"Flutter GDE 💙 building @visible_health with 🍪 ☕️ 🥟\nhttps://t.co/Y96utQN4xP\n@PWSat2 sent to space 🖖","followers_count":6637,"friends_count":658,"statuses_count":5338,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1853924501211254784/KYS2sV7J_normal.jpg","screen_name":"OrestesGaolin","location":"Warsaw, Poland","entities":{"description":{"urls":[{"display_url":"occasionalflutter.substack.com","expanded_url":"https://occasionalflutter.substack.com/","url":"https://t.co/Y96utQN4xP","indices":[51,74]}]},"url":{"urls":[{"display_url":"roszkowski.dev","expanded_url":"https://roszkowski.dev","url":"https://t.co/clOov6XNNm","indices":[0,23]}]}}},"details":{"type":"The Innovator","description":"Dominik Roszkowski is a cutting-edge Flutter Google Developer Expert passionate about pushing the boundaries of cross-platform development. With a knack for creating seamless integrations and bindings, Dominik empowers developers to build sophisticated apps faster and with more freedom. Always experimenting and sharing insights, Dominik lives at the intersection of creativity and technical mastery.","purpose":"Dominik's life purpose is to revolutionize app development by bridging platforms and simplifying complex technical challenges, fostering a future where creating beautiful and powerful apps is accessible to all. Through innovation and education, Dominik aims to empower a global tech community to think beyond traditional constraints.","beliefs":"Dominik believes that technology should be open, versatile, and constantly evolving to serve developers' creativity and productivity. He values collaboration, knowledge-sharing, and the power of community in driving technological progress. Efficiency and elegant problem solving are core principles guiding his work.","facts":"Fun fact: Dominik has created Dart bindings that allow full UIKit hot-reload on iOS, proving that Flutter’s multiplatform magic can be pushed even further than most expect!","strength":"Dominik’s greatest strengths lie in his deep technical expertise, innovative mindset, and ability to communicate complex concepts clearly to a developer audience. His hands-on approach to creating practical tooling and integrations gives him an edge as both a creator and educator.","weakness":"Sometimes, Dominik’s intense focus on technical depth and experimentation may limit his appeal to a broader audience who prefer higher-level insights or beginner-friendly content. Balancing technical deep-dives with more accessible posts could enhance engagement.","recommendation":"To grow his audience on X, Dominik should blend his technical brilliance with storytelling and real-world use cases that show the 'why' behind his work. Engaging more with emerging developers through Q&A threads, tutorials, and live coding sessions can also expand his reach and community impact.","roast":"Dominik’s so deep into Flutter bindings, he probably dreams in Dart and wakes up writing Obj-C in his sleep, while everyone else is still trying to figure out how to copy-paste a snippet without crashing their IDE.","win":"Dominik’s standout achievement is pioneering Dart bindings that enable UIKit integration and hot-reload on iOS — a game changer that pushes Flutter’s multiplatform capabilities to new heights and earns him well-deserved recognition as a Flutter GDE."},"created":1763354388466,"type":"the innovator","id":"orestesgaolin"},{"user":{"id":"775833339915866112","name":"Larry Panozzo","description":"Used to think nonstop. Now building nonstop. 👨🏻💻 — Engineering Physics. Die-hard SpaceX & Tesla fan. Obsessed with making the 🌍 a better place","followers_count":1320,"friends_count":1748,"statuses_count":12094,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1680640766496890880/Gnp2ucMd_normal.jpg","screen_name":"LarryPanozzo","location":"Texas","entities":{"description":{"urls":[]}}},"details":{"type":"The Innovator","description":"Larry is a relentless builder fueled by curiosity and a passion for technology, especially anything SpaceX or Tesla-related. Transitioning from endless thinking to nonstop creating, he’s on a mission to make the world a better place through engineering and forward-thinking ideas. His tweets blend deep insights on AI, nature, and societal change with a dash of optimism and humor.","purpose":"Larry’s life purpose is to pioneer breakthroughs in technology and innovation that reshape society and tackle grand challenges, driving humanity toward a smarter and more sustainable future. He seeks to bridge the gap between complex scientific concepts and real-world applications that improve lives globally.","beliefs":"He believes in the power of relentless creativity and engineering to solve tough problems, the necessity of respecting and understanding both nature and artificial intelligence, and the potential for technology to be a force for good. Larry values intellectual rigor, continuous learning, and bold action inspired by visionary ideas.","facts":"Fun fact: Larry went from 'nonstop thinking' to 'nonstop building' — proving that turning ideas into action is his true superpower.","strength":"His biggest strengths lie in his vision-driven mindset, deep technical expertise in engineering physics, and ability to spark thoughtful conversations about futuristic topics like AGI and societal impacts. Larry’s consistency in sharing engaging, insightful content keeps his audience intellectually challenged and inspired.","weakness":"However, his sometimes dense and technical content may alienate casual followers who prefer simpler, bite-sized ideas. He might also get caught up in visionary thinking without always translating it into relatable everyday language.","recommendation":"To grow his audience on X, Larry should balance his advanced insights with more accessible, relatable posts that invite wider engagement. Incorporating short explainer threads, interactive polls on AGI or space tech, and behind-the-scenes glimpses at his projects will help attract followers beyond the tech-savvy niche.","roast":"Larry’s the kind of guy who’s probably overthinking what socks to wear while simultaneously tweeting about AI’s societal apocalypse—building so fast you might need a quantum computer just to keep up with his brainwaves. Just remember, even SpaceX needed a parking lot before it got to the launchpad.","win":"Larry’s biggest win is successfully evolving his online presence from a relentless thinker into a builder with a clear mission, sparking meaningful dialogue on cutting-edge technology and big-picture futures that truly make people pause and think."},"created":1763353133966,"type":"the innovator","id":"larrypanozzo"},{"user":{"id":"857973744","name":"Abdallah Shaban","description":"Product at @google working on @firebase @flutterdev @golang | Ex Co-Founder @celest_dev (YC W24) Product @AWS | Opinions are my own | 🇯🇴 🇵🇸","followers_count":1193,"friends_count":909,"statuses_count":1754,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1968837945923956737/nIfnvnV2_normal.jpg","screen_name":"AbdallahSh07","location":"San Francisco, CA","entities":{"description":{"urls":[]}}},"details":{"type":"The Innovator","description":"Abdallah Shaban is a forward-thinking product manager at Google driving innovation in Firebase, Flutter, and Go. With a background as a YC-backed founder and deep passion for full-stack development, he crafts tech solutions that push the boundaries of app development. His tweets blend professional updates, thoughtful reflections, and community appreciation, making him a respected tech voice.","purpose":"To pioneer impactful and scalable developer tools that empower creators and businesses globally, fostering innovation through collaborative technologies and open ecosystems.","beliefs":"Believes strongly in the power of full-stack Dart and modern frameworks like Flutter to democratize app development. Values authentic partnerships and working on projects that resonate deeply with personal principles. Advocates for continuous growth and community engagement in the evolving tech landscape.","facts":"Fun fact: Abdallah was a co-founder of Celest Dev, a startup backed by Y Combinator — proof he's not just a tech thinker but a doer who’s been through the startup trenches.","strength":"His technical expertise combined with a visionary mindset allows him to bridge product and developer needs, making complex technologies accessible and exciting. His authentic communication style builds trust and loyalty among tech communities.","weakness":"At times, his wide range of interests and high standards for alignment with personal values may cause slower decision-making on new ventures or collaborations outside his core focus.","roast":"Abdallah’s folder of half-started personal projects is probably longer than his list of followers—he innovates so fast, sometimes even his own brain can’t keep up!","win":"Landing a coveted PM role at Google to shape major open-source and developer platforms is a standout achievement that cements his status as a top-tier innovator in tech.","recommendation":"To grow his audience on X, Abdallah should share more bite-sized technical insights and 'day-in-the-life' stories from his work on Flutter and Go. Engaging in strategic Twitter Spaces or AMAs with developer communities can amplify his reach and strengthen connections."},"created":1763352344897,"type":"the innovator","id":"abdallahsh07"}],"activities":{"nreplies":[{"label":"2025-10-19","value":0,"startTime":1760745600000,"endTime":1760832000000,"tweets":[]},{"label":"2025-10-20","value":0,"startTime":1760832000000,"endTime":1760918400000,"tweets":[]},{"label":"2025-10-21","value":0,"startTime":1760918400000,"endTime":1761004800000,"tweets":[]},{"label":"2025-10-22","value":0,"startTime":1761004800000,"endTime":1761091200000,"tweets":[]},{"label":"2025-10-23","value":2,"startTime":1761091200000,"endTime":1761177600000,"tweets":[{"bookmarked":false,"display_text_range":[0,248],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[5,16]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1981032849764741575","view_count":3814,"bookmark_count":3,"created_at":1761150011000,"favorite_count":22,"quote_count":0,"reply_count":1,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1981032849764741575","full_text":"Does @FlutterDev really still not support sampling child widget pixels in fragment shaders on iOS and Android? It seems to work fine on desktop and in the browser, but seems totally broken on mobile. Is this for real? Or am I doing something wrong?","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[26,270],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/l8dB3quOTv","expanded_url":"https://x.com/SuprDeclarative/status/1981081844440584325/photo/1","id_str":"1981081505016184832","indices":[271,294],"media_key":"3_1981081505016184832","media_url_https":"https://pbs.twimg.com/media/G343IfGWAAAASML.jpg","type":"photo","url":"https://t.co/l8dB3quOTv","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":876,"w":1326,"resize":"fit"},"medium":{"h":793,"w":1200,"resize":"fit"},"small":{"h":449,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":876,"width":1326,"focus_rects":[{"x":0,"y":133,"w":1326,"h":743},{"x":59,"y":0,"w":876,"h":876},{"x":113,"y":0,"w":768,"h":876},{"x":278,"y":0,"w":438,"h":876},{"x":0,"y":0,"w":1326,"h":876}]},"media_results":{"result":{"media_key":"3_1981081505016184832"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"2245268778","name":"Raouf Rahiche","screen_name":"raoufrahiche","indices":[0,13]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[14,25]}]},"extended_entities":{"media":[{"display_url":"pic.x.com/l8dB3quOTv","expanded_url":"https://x.com/SuprDeclarative/status/1981081844440584325/photo/1","id_str":"1981081505016184832","indices":[271,294],"media_key":"3_1981081505016184832","media_url_https":"https://pbs.twimg.com/media/G343IfGWAAAASML.jpg","type":"photo","url":"https://t.co/l8dB3quOTv","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":876,"w":1326,"resize":"fit"},"medium":{"h":793,"w":1200,"resize":"fit"},"small":{"h":449,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":876,"width":1326,"focus_rects":[{"x":0,"y":133,"w":1326,"h":743},{"x":59,"y":0,"w":876,"h":876},{"x":113,"y":0,"w":768,"h":876},{"x":278,"y":0,"w":438,"h":876},{"x":0,"y":0,"w":1326,"h":876}]},"media_results":{"result":{"media_key":"3_1981081505016184832"}}}]},"favorited":false,"in_reply_to_screen_name":"raoufrahiche","lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1981081844440584325","view_count":476,"bookmark_count":1,"created_at":1761161693000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1981032849764741575","full_text":"@raoufrahiche @FlutterDev I think it's working with this conditional - although it seems like when I launch the app with this code, it completely crashes. But when I comment this out, run the app, then uncomment and hot reload, it works.\n\nIs this what you were thinking? https://t.co/l8dB3quOTv","in_reply_to_user_id_str":"2245268778","in_reply_to_status_id_str":"1981067010466283859","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-10-24","value":0,"startTime":1761177600000,"endTime":1761264000000,"tweets":[]},{"label":"2025-10-25","value":0,"startTime":1761264000000,"endTime":1761350400000,"tweets":[]},{"label":"2025-10-26","value":0,"startTime":1761350400000,"endTime":1761436800000,"tweets":[]},{"label":"2025-10-27","value":0,"startTime":1761436800000,"endTime":1761523200000,"tweets":[]},{"label":"2025-10-28","value":0,"startTime":1761523200000,"endTime":1761609600000,"tweets":[]},{"label":"2025-10-29","value":34,"startTime":1761609600000,"endTime":1761696000000,"tweets":[{"bookmarked":false,"display_text_range":[0,271],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[11,22]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1983229616975458743","view_count":8911,"bookmark_count":37,"created_at":1761673761000,"favorite_count":65,"quote_count":0,"reply_count":32,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1983229616975458743","full_text":"To all the @FlutterDev's who are obsessed with AI, if I want to select one freely available AI tool and ask it to create entire screens/features in a little app, which one do you currently recommend, and why? Usually I ask targeted questions - but I want to try full gen.","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[20,128],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[8,19]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1983240721953107984","view_count":1078,"bookmark_count":0,"created_at":1761676409000,"favorite_count":4,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1983229616975458743","full_text":"@jezell @FlutterDev How do all these options work? Does each one have an app? Or do I install a CLI and point it at a directory?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1983237525796991295","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[25,94],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[0,16]},{"id_str":"568573618","name":"Anton Borries 🦋","screen_name":"ABausG","indices":[17,24]}]},"favorited":false,"in_reply_to_screen_name":"imadetheseworks","lang":"en","retweeted":false,"fact_check":null,"id":"1983241033166340355","view_count":688,"bookmark_count":1,"created_at":1761676483000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1983167497798074434","full_text":"@imadetheseworks @ABausG Oh man you got P2’ed. Only one level better than “never gonna happen”","in_reply_to_user_id_str":"1785951221158756352","in_reply_to_status_id_str":"1983167497798074434","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-10-30","value":0,"startTime":1761696000000,"endTime":1761782400000,"tweets":[{"bookmarked":false,"display_text_range":[0,90],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"github.com/flutter/flutte…","expanded_url":"https://github.com/flutter/flutter/issues/177693","url":"https://t.co/vMRGbOY36Q","indices":[67,90]}],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[4,15]}]},"favorited":false,"lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1983628579796873630","view_count":2948,"bookmark_count":2,"created_at":1761768882000,"favorite_count":18,"quote_count":1,"reply_count":0,"retweet_count":3,"user_id_str":"1109937471154905088","conversation_id_str":"1983628579796873630","full_text":"FYI @FlutterDev's OverlayPortal might be breaking your hot reload: https://t.co/vMRGbOY36Q","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-10-31","value":0,"startTime":1761782400000,"endTime":1761868800000,"tweets":[]},{"label":"2025-11-01","value":0,"startTime":1761868800000,"endTime":1761955200000,"tweets":[]},{"label":"2025-11-02","value":0,"startTime":1761955200000,"endTime":1762041600000,"tweets":[]},{"label":"2025-11-03","value":0,"startTime":1762041600000,"endTime":1762128000000,"tweets":[]},{"label":"2025-11-04","value":0,"startTime":1762128000000,"endTime":1762214400000,"tweets":[]},{"label":"2025-11-05","value":7,"startTime":1762214400000,"endTime":1762300800000,"tweets":[{"bookmarked":false,"display_text_range":[31,77],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[0,8]},{"id_str":"561770146","name":"Khalid Warsame","screen_name":"KhalidWarsa","indices":[9,21]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[22,30]}]},"favorited":false,"in_reply_to_screen_name":"mraleph","lang":"en","retweeted":false,"fact_check":null,"id":"1985749479405019214","view_count":1683,"bookmark_count":0,"created_at":1762274543000,"favorite_count":8,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1985594437981102325","full_text":"@mraleph @KhalidWarsa @RydMike It's very likely taking people to React Native","in_reply_to_user_id_str":"53010195","in_reply_to_status_id_str":"1985678859539276287","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[31,300],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[0,8]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[9,17]},{"id_str":"561770146","name":"Khalid Warsame","screen_name":"KhalidWarsa","indices":[18,30]}]},"favorited":false,"in_reply_to_screen_name":"RydMike","lang":"en","retweeted":false,"fact_check":null,"id":"1985754577132736762","view_count":2019,"bookmark_count":2,"created_at":1762275759000,"favorite_count":21,"quote_count":0,"reply_count":4,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1985594437981102325","full_text":"@RydMike @mraleph @KhalidWarsa Yep. I've said it before, but I'll say it again. Flutter has not only ignored its own community, but has been hostile to it. Flutter has now lost almost every unique value prop. It will lose the rest. It has no moat. I don't see how it avoids zombie mode at this point.","in_reply_to_user_id_str":"87799983","in_reply_to_status_id_str":"1985751390883389866","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[48,178],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"703122697232863233","name":"Thomas Burkhart 💙","screen_name":"ThomasBurkhartB","indices":[0,16]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[17,25]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[26,34]},{"id_str":"561770146","name":"Khalid Warsame","screen_name":"KhalidWarsa","indices":[35,47]}]},"favorited":false,"in_reply_to_screen_name":"ThomasBurkhartB","lang":"en","retweeted":false,"fact_check":null,"id":"1985816253479731210","view_count":1609,"bookmark_count":0,"created_at":1762290464000,"favorite_count":6,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1985594437981102325","full_text":"@ThomasBurkhartB @RydMike @mraleph @KhalidWarsa I don’t really remember when they were. I only remember when they were ignored. But for years now they’ve been actively combatted.","in_reply_to_user_id_str":"703122697232863233","in_reply_to_status_id_str":"1985815658202796387","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-06","value":15,"startTime":1762300800000,"endTime":1762387200000,"tweets":[{"bookmarked":false,"display_text_range":[0,279],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[23,30]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[86,97]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[23,30]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[86,97]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1986214864151539735","view_count":4605,"bookmark_count":10,"created_at":1762385500000,"favorite_count":103,"quote_count":2,"reply_count":11,"retweet_count":8,"user_id_str":"1109937471154905088","conversation_id_str":"1986214864151539735","full_text":"My back and forth with @jezell earlier got me thinking...if I actually did rejoin the @FlutterDev team, what would I try early on to rapidly improve community engagement? Here are my thoughts:\n\nHold 4 different recurring office hours to understand pain points and set priorities:\n * Indie dev\n * Agency dev\n * Enterprise dev\n * Flutter tooling dev (e.g., Code Magic, Shorebird, etc)\n\nI would do the majority of my personal Flutter contributions on live streams:\n * Would teach community how to contribute\n * Would spread knowledge of new implementation details\n * Would receive help from live stream members when implementing\n * Would file tickets and assign to members of the community during the stream\n\nHelp devs get their PRs cleaned up and merged. Ideally do this with them in real-time on a stream, but also some async for time zone issues.\n\nVisit American companies using Flutter to observe their difficulties firsthand.\n\nAttend as many US Meetups and conferences as possible to show off new features, and engage in listening sessions with the community.\n\nIdentify the most popular and promising packages and help those developers polish it, document it, test it, etc. Show that the Flutter org is committed to the health of the package ecosystem.\n\nI would do my best to blur the line between the organization and the community. Because at the end of the day, either there is no line, or there is no healthy organization or community.","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,196],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"313393045","name":"Michael Thomsen","screen_name":"MiSvTh","indices":[39,46]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986193090642911320","view_count":349,"bookmark_count":1,"created_at":1762380309000,"favorite_count":16,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986188317327814799","full_text":"@jezell Then I'll put it out there. If @MiSvTh would like to turn this ship around for community engagement, I'd sit down with him to talk about getting me back on the team to help make it happen.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986190517168971877","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,45],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986190022979297772","view_count":544,"bookmark_count":0,"created_at":1762379577000,"favorite_count":4,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986188317327814799","full_text":"@jezell Not surprised at all at this point...","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986188356355825996","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,214],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"SuprDeclarative","lang":"en","retweeted":false,"fact_check":null,"id":"1986190302093398508","view_count":529,"bookmark_count":0,"created_at":1762379644000,"favorite_count":7,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986188317327814799","full_text":"@jezell You know, I would consider rejoining the team to get this velocity up, if they were serious about improving their ways. But I'm guessing they'd rather just keep doing what hasn't worked and sink the ship...","in_reply_to_user_id_str":"1109937471154905088","in_reply_to_status_id_str":"1986190022979297772","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[34,54],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"857973744","name":"Abdallah Shaban","screen_name":"AbdallahSh07","indices":[0,13]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[14,21]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[22,33]}]},"favorited":false,"in_reply_to_screen_name":"AbdallahSh07","lang":"en","retweeted":false,"fact_check":null,"id":"1986216363019624542","view_count":594,"bookmark_count":0,"created_at":1762385857000,"favorite_count":11,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986214864151539735","full_text":"@AbdallahSh07 @jezell @FlutterDev I could do that work","in_reply_to_user_id_str":"857973744","in_reply_to_status_id_str":"1986215601120166103","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-07","value":10,"startTime":1762387200000,"endTime":1762473600000,"tweets":[{"bookmarked":false,"display_text_range":[0,271],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[59,70]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[59,70]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1986491522825789549","view_count":4806,"bookmark_count":7,"created_at":1762451460000,"favorite_count":70,"quote_count":2,"reply_count":7,"retweet_count":4,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"Can we all pause and notice that we're stuck in an endless @FlutterDev loop between the community and the team? Forget the latest specific issue - we're on a merry-go-round that never stops spinning, and only seems to get faster. It goes like this:\n\n1. A community member experiences something that is frustrating, limiting, concerning, or all of the above.\n\n2. Flutter team does some combination of ignore it, tell the community member to file an issue that will likely never be worked on, or to fix it themselves.\n\n3. Community member feels entitled to an actual solution from Flutter.\n\n4. Flutter team gets defensive. Flutter-splains that they merge lots of outside code, and they're busy with other important things, and that problem isn't even really a problem if you understand what Flutter is meant to do, and maybe it's even a feature and not a bug.\n\n5. Community members feel ignored, marginalized, and disrespected, yet again, for the 100th time. Community members go through a therapy session by reminding the Flutter team of those last 100 times problems came up that didn't get addressed and didn't get solved.\n\n6. Flutter team becomes more defensive and even passive aggressive with community members.\n\n7. NOTHING GETS BETTER\n\nYesterday I offered to make myself available to rejoin the team to bridge this gap. No doubt it's a very tall task after so many years of this, but I'm willing to give it a go if they are. I will take all these public arrows for the team. \n\nDespite my personal issues with various people on the team, I believe that the only way for me to preserve my ability to use the skills I've spent 7 years building, is to finally bridge this gap and return Flutter to the \"community driven\" project that it once billed itself to be.","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[13,278],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"133487462","name":"Graham : A Star Wars Story 💙","screen_name":"whoisgraham","indices":[0,12]}]},"favorited":false,"in_reply_to_screen_name":"whoisgraham","lang":"en","retweeted":false,"fact_check":null,"id":"1986548582556856517","view_count":35,"bookmark_count":0,"created_at":1762465065000,"favorite_count":0,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986505347218219519","full_text":"@whoisgraham If that's a subtweet about me, I'd like to know it and why you feel that way. If it's about someone else, I'd like to know that too. I don't really understand this behavior of putting out passive aggressive tweets while also playing the role of adult in the room...","in_reply_to_user_id_str":"133487462","in_reply_to_status_id_str":"1986505347218219519","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[25,100],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"x.com/SuprDeclarativ…","expanded_url":"https://x.com/SuprDeclarative/status/1986214864151539735","url":"https://t.co/D2VueIkmkH","indices":[77,100]}],"user_mentions":[{"id_str":"790201826","name":"pk","screen_name":"khivedoteth","indices":[0,12]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[13,24]}]},"favorited":false,"in_reply_to_screen_name":"khivedoteth","lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"quoted_status_id_str":"1986214864151539735","quoted_status_permalink":{"url":"https://t.co/D2VueIkmkH","expanded":"https://x.com/SuprDeclarative/status/1986214864151539735","display":"x.com/SuprDeclarativ…"},"retweeted":false,"fact_check":null,"id":"1986501944299692264","view_count":305,"bookmark_count":0,"created_at":1762453945000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@khivedoteth @FlutterDev Here's what I said yesterday about where I'd start:\nhttps://t.co/D2VueIkmkH","in_reply_to_user_id_str":"790201826","in_reply_to_status_id_str":"1986501715924005083","is_quote_status":1,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[22,208],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1369087208","name":"Hari","screen_name":"harii_07","indices":[0,9]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[10,21]}]},"favorited":false,"in_reply_to_screen_name":"harii_07","lang":"en","retweeted":false,"fact_check":null,"id":"1986499762779283532","view_count":215,"bookmark_count":0,"created_at":1762453425000,"favorite_count":3,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@harii_07 @FlutterDev I'm not sure what \"this way\" is, but all I can do is offer. I live 5 mins away from Google HQ, I've been on the team before, I would imagine it's pretty easy if they wanna bring me back.","in_reply_to_user_id_str":"1369087208","in_reply_to_status_id_str":"1986497704479105440","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[23,149],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1601453019195133952","name":"Anish","screen_name":"anishtwts","indices":[0,10]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[11,22]}]},"favorited":false,"in_reply_to_screen_name":"anishtwts","lang":"en","retweeted":false,"fact_check":null,"id":"1986500104828965069","view_count":188,"bookmark_count":0,"created_at":1762453507000,"favorite_count":2,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@anishtwts @FlutterDev Thanks. I'm not holding my breath, but it's an honest offer to put all this personal stuff behind and build a bridge together.","in_reply_to_user_id_str":"1601453019195133952","in_reply_to_status_id_str":"1986499927904821374","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[29,96],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"207489846","name":"Josh Hargreaves","screen_name":"joshjhargreaves","indices":[0,16]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[17,28]}]},"favorited":false,"in_reply_to_screen_name":"joshjhargreaves","lang":"en","retweeted":false,"fact_check":null,"id":"1986513196447113496","view_count":134,"bookmark_count":0,"created_at":1762456628000,"favorite_count":0,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@joshjhargreaves @FlutterDev What an oddly non-actionable critique. Would you like to try again?","in_reply_to_user_id_str":"207489846","in_reply_to_status_id_str":"1986511828654993527","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[31,230],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[11,18]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[19,30]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986481130774929819","view_count":237,"bookmark_count":1,"created_at":1762448983000,"favorite_count":4,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986214864151539735","full_text":"@iosemagno @jezell @FlutterDev Definitely. Something I recommended to them back in 2020 when I left. But I’m offering here to return to the team to do what I can on that front. Looks like nobody on their side is interested though.","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986431218955493452","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[29,309],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"207489846","name":"Josh Hargreaves","screen_name":"joshjhargreaves","indices":[0,16]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[17,28]}]},"favorited":false,"in_reply_to_screen_name":"joshjhargreaves","lang":"en","retweeted":false,"fact_check":null,"id":"1986520375275168073","view_count":62,"bookmark_count":0,"created_at":1762458339000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"I suppose you can choose to view it that way if you really want to. But since you were focused on \"self awareness\" you might look around a little bit to see the volume of long-standing Flutter community members who support the posts. I'm trying to bridge a contentious gap that's widened for years - you're dropping by and being a bit of a dick....","in_reply_to_user_id_str":"207489846","in_reply_to_status_id_str":"1986519635814916286","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,276],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[0,11]},{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[0,11]}]},"favorited":false,"in_reply_to_screen_name":"guidorosso","lang":"en","retweeted":false,"fact_check":null,"id":"1986556553156305056","view_count":24,"bookmark_count":0,"created_at":1762466965000,"favorite_count":0,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986556553156305056","full_text":"@guidorosso I have a question about using Rive for app components - specifically around testing. It's common to use screenshot tests in apps. Does the Rive API have a mechanism to pull a bitmap screenshot of the current UI? And does it always use the same algo for shadows and text anti-aliasing, such that pulling screenshots over time, across platforms will likely produce the exact same pixels?","in_reply_to_user_id_str":"4925231","in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-08","value":12,"startTime":1762473600000,"endTime":1762560000000,"tweets":[{"bookmarked":false,"display_text_range":[0,120],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"4917378776","name":"Rive","screen_name":"rive_app","indices":[0,9]}]},"favorited":false,"in_reply_to_screen_name":"rive_app","lang":"en","quoted_status_id_str":"1986634767186731352","quoted_status_permalink":{"url":"https://t.co/hWmSC7GgqL","expanded":"https://twitter.com/rive_app/status/1986634767186731352","display":"x.com/rive_app/statu…"},"retweeted":false,"fact_check":null,"id":"1986658099709768012","view_count":8002,"bookmark_count":16,"created_at":1762491175000,"favorite_count":116,"quote_count":1,"reply_count":3,"retweet_count":4,"user_id_str":"1109937471154905088","conversation_id_str":"1986658099709768012","full_text":"@rive_app is now officially the reincarnation of Flash. They just need to call their scripting language Actionscript 4.0","in_reply_to_user_id_str":"4917378776","in_reply_to_status_id_str":null,"is_quote_status":1,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,29],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986846333223997692","view_count":146,"bookmark_count":0,"created_at":1762536054000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986840106863599741","full_text":"@jezell Literally gonna do it","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986840106863599741","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[9,197],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[0,8]}]},"favorited":false,"in_reply_to_screen_name":"RydMike","lang":"en","retweeted":false,"fact_check":null,"id":"1986913998777073967","view_count":69,"bookmark_count":0,"created_at":1762552187000,"favorite_count":4,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986911596271054950","full_text":"@RydMike To be fair I think this is mainly a problem because iOS decided their keyboard animation curve and height needed to be kept secret. And the drag to close would be hidden only in OEM views.","in_reply_to_user_id_str":"87799983","in_reply_to_status_id_str":"1986911596271054950","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[130,351],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"1055494766807433223","name":"Luke","screen_name":"luke_pighetti","indices":[11,25]},{"id_str":"451445963","name":"Chinmay କବି 🇮🇳💙","screen_name":"ChinuKabi","indices":[26,36]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[37,44]},{"id_str":"1353831575843188736","name":"Alexandru Mariuti","screen_name":"nank1ro","indices":[45,53]},{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[54,70]},{"id_str":"135460126","name":"Andrea Bizzotto 🇺🇦","screen_name":"biz84","indices":[71,77]},{"id_str":"711913","name":"Eric Seidel","screen_name":"_eseidel","indices":[78,87]},{"id_str":"1118681","name":"Seth Ladd","screen_name":"sethladd","indices":[88,97]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[98,106]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[107,115]},{"id_str":"543917371","name":"Alessio Salvadorini 💙","screen_name":"ASalvadorini","indices":[116,129]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986873136927961571","view_count":292,"bookmark_count":0,"created_at":1762542444000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986827182140985367","full_text":"@iosemagno @luke_pighetti @ChinuKabi @jezell @nank1ro @imadetheseworks @biz84 @_eseidel @sethladd @mraleph @RydMike @ASalvadorini I'm confused by \"native textfield\". A quick look through your post didn't clarify. Is this about synchronizing insets to the real keyboard size, or is this about creating a platform view for a truly native iOS text field?","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986827182140985367","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,231],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986850486318997981","view_count":137,"bookmark_count":0,"created_at":1762537044000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986840106863599741","full_text":"@jezell First I gotta ramp up. Gonna convert my fasting app to all Rive. Then I think I might try to finally build my own time tracker that I've been meaning to build for years. Then hopefully I can start thinking tooling for Rive.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986846541542543814","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[20,297],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[8,19]},{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[71,82]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986852357972615506","view_count":262,"bookmark_count":0,"created_at":1762537490000,"favorite_count":6,"quote_count":0,"reply_count":0,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1986840106863599741","full_text":"@jezell @guidorosso That’s exactly one of the things I’d like to offer @guidorosso - I’m trying to go full app dev with Rive. But that needs text fields, message editors, and document editors. I happened to have built all those from the ground up in Super Editor for Flutter. Wanna collab on Rive?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986851038700449812","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[130,403],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"1055494766807433223","name":"Luke","screen_name":"luke_pighetti","indices":[11,25]},{"id_str":"451445963","name":"Chinmay କବି 🇮🇳💙","screen_name":"ChinuKabi","indices":[26,36]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[37,44]},{"id_str":"1353831575843188736","name":"Alexandru Mariuti","screen_name":"nank1ro","indices":[45,53]},{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[54,70]},{"id_str":"135460126","name":"Andrea Bizzotto 🇺🇦","screen_name":"biz84","indices":[71,77]},{"id_str":"711913","name":"Eric Seidel","screen_name":"_eseidel","indices":[78,87]},{"id_str":"1118681","name":"Seth Ladd","screen_name":"sethladd","indices":[88,97]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[98,106]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[107,115]},{"id_str":"543917371","name":"Alessio Salvadorini 💙","screen_name":"ASalvadorini","indices":[116,129]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986899098721788216","view_count":195,"bookmark_count":0,"created_at":1762548634000,"favorite_count":3,"quote_count":0,"reply_count":3,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986827182140985367","full_text":"@iosemagno @luke_pighetti @ChinuKabi @jezell @nank1ro @imadetheseworks @biz84 @_eseidel @sethladd @mraleph @RydMike @ASalvadorini FYI, I've built a full fledged documented editor at Super Editor, and I've rebuilt the text field in Flutter from the ground up. Might be quicker to bridge any final quality gaps in those than to go through the pain of trying to fit platform views everywhere you need them.","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986897622859456866","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[130,269],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"1055494766807433223","name":"Luke","screen_name":"luke_pighetti","indices":[11,25]},{"id_str":"451445963","name":"Chinmay କବି 🇮🇳💙","screen_name":"ChinuKabi","indices":[26,36]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[37,44]},{"id_str":"1353831575843188736","name":"Alexandru Mariuti","screen_name":"nank1ro","indices":[45,53]},{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[54,70]},{"id_str":"135460126","name":"Andrea Bizzotto 🇺🇦","screen_name":"biz84","indices":[71,77]},{"id_str":"711913","name":"Eric Seidel","screen_name":"_eseidel","indices":[78,87]},{"id_str":"1118681","name":"Seth Ladd","screen_name":"sethladd","indices":[88,97]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[98,106]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[107,115]},{"id_str":"543917371","name":"Alessio Salvadorini 💙","screen_name":"ASalvadorini","indices":[116,129]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986912637465301192","view_count":183,"bookmark_count":0,"created_at":1762551862000,"favorite_count":4,"quote_count":0,"reply_count":3,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986827182140985367","full_text":"@iosemagno @luke_pighetti @ChinuKabi @jezell @nank1ro @imadetheseworks @biz84 @_eseidel @sethladd @mraleph @RydMike @ASalvadorini What’s holding you back there? Super editor is used for chat in a major app and we’re doubling down our focus there. Including for AI chat.","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986906865142231088","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-09","value":3,"startTime":1762560000000,"endTime":1762646400000,"tweets":[{"bookmarked":false,"display_text_range":[20,67],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1671203695814385664","name":"Nic Dean","screen_name":"_nicdean","indices":[0,9]},{"id_str":"4917378776","name":"Rive","screen_name":"rive_app","indices":[10,19]}]},"favorited":false,"in_reply_to_screen_name":"_nicdean","lang":"en","retweeted":false,"fact_check":null,"id":"1987270099108307108","view_count":2179,"bookmark_count":1,"created_at":1762637087000,"favorite_count":8,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987256377480561044","full_text":"@_nicdean @rive_app Steve Jobs also had something to say about it 😂","in_reply_to_user_id_str":"1671203695814385664","in_reply_to_status_id_str":"1987256377480561044","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,94],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1987230141995733196","view_count":855,"bookmark_count":0,"created_at":1762627561000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987208556664529121","full_text":"@jezell If it's using \"platform native views\" then how can it also ship a \"C++ layout engine\"?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1987208556664529121","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-10","value":7,"startTime":1762646400000,"endTime":1762732800000,"tweets":[{"bookmarked":false,"display_text_range":[0,278],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[7,18]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[7,18]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1987615291376017496","view_count":2715,"bookmark_count":12,"created_at":1762719388000,"favorite_count":24,"quote_count":0,"reply_count":4,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1987615291376017496","full_text":"When a @FlutterDev subtree gets replaced with another, new State objects get initialized before old ones are disposed. This creates a tough situation for any shared object that needs to get handed from the old State to the new one. It creates a situation where an object belongs to two States when it may be designed to only belong to one. Does anyone know why Flutter doesn't run dispose() on the old State before running initState() on the new State?","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[17,38],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[8,16]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1987392738321703109","view_count":235,"bookmark_count":0,"created_at":1762666327000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986985272563933650","full_text":"@jezell @RydMike Who was the 2nd exit?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1987097773418946830","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[20,294],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[8,19]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1987620525045403855","view_count":597,"bookmark_count":1,"created_at":1762720636000,"favorite_count":3,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987615291376017496","full_text":"Yeah, nominally a GlobalKey can retain the State object to avoid the issue. However, there are about 5 people in the world who truly understand the reparenting mechanism implemented for GlobalKeys. So, for example, making every Super Editor user figure out when and where to attach a GlobalKey so that their Super Editor plugins don't blow up really isn't feasible. Instead, we need to do stuff in Super Editor that makes this management fool proof and invisible to our users.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1987619905123062168","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-11","value":0,"startTime":1762732800000,"endTime":1762819200000,"tweets":[]},{"label":"2025-11-12","value":5,"startTime":1762819200000,"endTime":1762905600000,"tweets":[{"bookmarked":false,"display_text_range":[11,116],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[0,10]}]},"favorited":true,"in_reply_to_screen_name":"damy_wise","lang":"en","retweeted":false,"fact_check":null,"id":"1988174349346754832","view_count":4356,"bookmark_count":0,"created_at":1762852678000,"favorite_count":5,"quote_count":1,"reply_count":4,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@damy_wise I’m about to move my focus from Flutter to Rive. Curious to hear your thoughts based on your experiences.","in_reply_to_user_id_str":"1243886626238947328","in_reply_to_status_id_str":"1987851785420284163","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[26,72],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"145322774","name":"Lee Higgins","screen_name":"Depthperpixel","indices":[0,14]},{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[15,25]}]},"favorited":false,"in_reply_to_screen_name":"Depthperpixel","lang":"en","retweeted":false,"fact_check":null,"id":"1988329471406190798","view_count":30,"bookmark_count":0,"created_at":1762889662000,"favorite_count":0,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@Depthperpixel @damy_wise Doesn’t rive support raster images internally?","in_reply_to_user_id_str":"145322774","in_reply_to_status_id_str":"1988328965812219973","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[26,158],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"145322774","name":"Lee Higgins","screen_name":"Depthperpixel","indices":[0,14]},{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[15,25]}]},"favorited":false,"in_reply_to_screen_name":"Depthperpixel","lang":"en","retweeted":false,"fact_check":null,"id":"1988328197457670360","view_count":75,"bookmark_count":0,"created_at":1762889358000,"favorite_count":0,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@Depthperpixel @damy_wise Have you tried using it for app UI though? I imagine it’s a pretty different performance profile for buttons and text and lists etc.","in_reply_to_user_id_str":"145322774","in_reply_to_status_id_str":"1988264189664657652","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-13","value":1,"startTime":1762905600000,"endTime":1762992000000,"tweets":[{"bookmarked":false,"display_text_range":[21,101],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"114900758","name":"Roman Jaquez","screen_name":"drcoderz","indices":[0,9]},{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[10,20]}]},"favorited":false,"in_reply_to_screen_name":"drcoderz","lang":"en","retweeted":false,"fact_check":null,"id":"1988441166556410069","view_count":65,"bookmark_count":0,"created_at":1762916292000,"favorite_count":0,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@drcoderz @damy_wise How’d you end up using it? One big rive app or rive per page or rive per widget?","in_reply_to_user_id_str":"114900758","in_reply_to_status_id_str":"1988424334885744756","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-14","value":1,"startTime":1762992000000,"endTime":1763078400000,"tweets":[{"bookmarked":false,"display_text_range":[23,151],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"1654808914675011585","name":"Tahiro Agbanwa ⚡️","screen_name":"squirelBoy360","indices":[8,22]}]},"favorited":true,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1988840624594817412","view_count":146,"bookmark_count":0,"created_at":1763011530000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1988838418499956884","full_text":"@jezell @squirelBoy360 I’d be interested in trying a Dart wrapper around yoga as a way of using nothing but Rive widgets in app without any flutter UI.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1988840195194589372","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-15","value":0,"startTime":1763078400000,"endTime":1763164800000,"tweets":[]},{"label":"2025-11-16","value":0,"startTime":1763164800000,"endTime":1763251200000,"tweets":[]},{"label":"2025-11-17","value":0,"startTime":1763251200000,"endTime":1763337600000,"tweets":[]},{"label":"2025-11-18","value":0,"startTime":1763337600000,"endTime":1763424000000,"tweets":[]}],"nbookmarks":[{"label":"2025-10-19","value":0,"startTime":1760745600000,"endTime":1760832000000,"tweets":[]},{"label":"2025-10-20","value":0,"startTime":1760832000000,"endTime":1760918400000,"tweets":[]},{"label":"2025-10-21","value":0,"startTime":1760918400000,"endTime":1761004800000,"tweets":[]},{"label":"2025-10-22","value":0,"startTime":1761004800000,"endTime":1761091200000,"tweets":[]},{"label":"2025-10-23","value":4,"startTime":1761091200000,"endTime":1761177600000,"tweets":[{"bookmarked":false,"display_text_range":[0,248],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[5,16]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1981032849764741575","view_count":3814,"bookmark_count":3,"created_at":1761150011000,"favorite_count":22,"quote_count":0,"reply_count":1,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1981032849764741575","full_text":"Does @FlutterDev really still not support sampling child widget pixels in fragment shaders on iOS and Android? It seems to work fine on desktop and in the browser, but seems totally broken on mobile. Is this for real? Or am I doing something wrong?","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[26,270],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/l8dB3quOTv","expanded_url":"https://x.com/SuprDeclarative/status/1981081844440584325/photo/1","id_str":"1981081505016184832","indices":[271,294],"media_key":"3_1981081505016184832","media_url_https":"https://pbs.twimg.com/media/G343IfGWAAAASML.jpg","type":"photo","url":"https://t.co/l8dB3quOTv","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":876,"w":1326,"resize":"fit"},"medium":{"h":793,"w":1200,"resize":"fit"},"small":{"h":449,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":876,"width":1326,"focus_rects":[{"x":0,"y":133,"w":1326,"h":743},{"x":59,"y":0,"w":876,"h":876},{"x":113,"y":0,"w":768,"h":876},{"x":278,"y":0,"w":438,"h":876},{"x":0,"y":0,"w":1326,"h":876}]},"media_results":{"result":{"media_key":"3_1981081505016184832"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"2245268778","name":"Raouf Rahiche","screen_name":"raoufrahiche","indices":[0,13]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[14,25]}]},"extended_entities":{"media":[{"display_url":"pic.x.com/l8dB3quOTv","expanded_url":"https://x.com/SuprDeclarative/status/1981081844440584325/photo/1","id_str":"1981081505016184832","indices":[271,294],"media_key":"3_1981081505016184832","media_url_https":"https://pbs.twimg.com/media/G343IfGWAAAASML.jpg","type":"photo","url":"https://t.co/l8dB3quOTv","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":876,"w":1326,"resize":"fit"},"medium":{"h":793,"w":1200,"resize":"fit"},"small":{"h":449,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":876,"width":1326,"focus_rects":[{"x":0,"y":133,"w":1326,"h":743},{"x":59,"y":0,"w":876,"h":876},{"x":113,"y":0,"w":768,"h":876},{"x":278,"y":0,"w":438,"h":876},{"x":0,"y":0,"w":1326,"h":876}]},"media_results":{"result":{"media_key":"3_1981081505016184832"}}}]},"favorited":false,"in_reply_to_screen_name":"raoufrahiche","lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1981081844440584325","view_count":476,"bookmark_count":1,"created_at":1761161693000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1981032849764741575","full_text":"@raoufrahiche @FlutterDev I think it's working with this conditional - although it seems like when I launch the app with this code, it completely crashes. But when I comment this out, run the app, then uncomment and hot reload, it works.\n\nIs this what you were thinking? https://t.co/l8dB3quOTv","in_reply_to_user_id_str":"2245268778","in_reply_to_status_id_str":"1981067010466283859","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-10-24","value":0,"startTime":1761177600000,"endTime":1761264000000,"tweets":[]},{"label":"2025-10-25","value":0,"startTime":1761264000000,"endTime":1761350400000,"tweets":[]},{"label":"2025-10-26","value":0,"startTime":1761350400000,"endTime":1761436800000,"tweets":[]},{"label":"2025-10-27","value":0,"startTime":1761436800000,"endTime":1761523200000,"tweets":[]},{"label":"2025-10-28","value":0,"startTime":1761523200000,"endTime":1761609600000,"tweets":[]},{"label":"2025-10-29","value":38,"startTime":1761609600000,"endTime":1761696000000,"tweets":[{"bookmarked":false,"display_text_range":[0,271],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[11,22]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1983229616975458743","view_count":8911,"bookmark_count":37,"created_at":1761673761000,"favorite_count":65,"quote_count":0,"reply_count":32,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1983229616975458743","full_text":"To all the @FlutterDev's who are obsessed with AI, if I want to select one freely available AI tool and ask it to create entire screens/features in a little app, which one do you currently recommend, and why? Usually I ask targeted questions - but I want to try full gen.","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[20,128],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[8,19]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1983240721953107984","view_count":1078,"bookmark_count":0,"created_at":1761676409000,"favorite_count":4,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1983229616975458743","full_text":"@jezell @FlutterDev How do all these options work? Does each one have an app? Or do I install a CLI and point it at a directory?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1983237525796991295","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[25,94],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[0,16]},{"id_str":"568573618","name":"Anton Borries 🦋","screen_name":"ABausG","indices":[17,24]}]},"favorited":false,"in_reply_to_screen_name":"imadetheseworks","lang":"en","retweeted":false,"fact_check":null,"id":"1983241033166340355","view_count":688,"bookmark_count":1,"created_at":1761676483000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1983167497798074434","full_text":"@imadetheseworks @ABausG Oh man you got P2’ed. Only one level better than “never gonna happen”","in_reply_to_user_id_str":"1785951221158756352","in_reply_to_status_id_str":"1983167497798074434","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-10-30","value":2,"startTime":1761696000000,"endTime":1761782400000,"tweets":[{"bookmarked":false,"display_text_range":[0,90],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"github.com/flutter/flutte…","expanded_url":"https://github.com/flutter/flutter/issues/177693","url":"https://t.co/vMRGbOY36Q","indices":[67,90]}],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[4,15]}]},"favorited":false,"lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1983628579796873630","view_count":2948,"bookmark_count":2,"created_at":1761768882000,"favorite_count":18,"quote_count":1,"reply_count":0,"retweet_count":3,"user_id_str":"1109937471154905088","conversation_id_str":"1983628579796873630","full_text":"FYI @FlutterDev's OverlayPortal might be breaking your hot reload: https://t.co/vMRGbOY36Q","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-10-31","value":0,"startTime":1761782400000,"endTime":1761868800000,"tweets":[]},{"label":"2025-11-01","value":0,"startTime":1761868800000,"endTime":1761955200000,"tweets":[]},{"label":"2025-11-02","value":0,"startTime":1761955200000,"endTime":1762041600000,"tweets":[]},{"label":"2025-11-03","value":0,"startTime":1762041600000,"endTime":1762128000000,"tweets":[]},{"label":"2025-11-04","value":0,"startTime":1762128000000,"endTime":1762214400000,"tweets":[]},{"label":"2025-11-05","value":2,"startTime":1762214400000,"endTime":1762300800000,"tweets":[{"bookmarked":false,"display_text_range":[31,77],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[0,8]},{"id_str":"561770146","name":"Khalid Warsame","screen_name":"KhalidWarsa","indices":[9,21]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[22,30]}]},"favorited":false,"in_reply_to_screen_name":"mraleph","lang":"en","retweeted":false,"fact_check":null,"id":"1985749479405019214","view_count":1683,"bookmark_count":0,"created_at":1762274543000,"favorite_count":8,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1985594437981102325","full_text":"@mraleph @KhalidWarsa @RydMike It's very likely taking people to React Native","in_reply_to_user_id_str":"53010195","in_reply_to_status_id_str":"1985678859539276287","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[31,300],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[0,8]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[9,17]},{"id_str":"561770146","name":"Khalid Warsame","screen_name":"KhalidWarsa","indices":[18,30]}]},"favorited":false,"in_reply_to_screen_name":"RydMike","lang":"en","retweeted":false,"fact_check":null,"id":"1985754577132736762","view_count":2019,"bookmark_count":2,"created_at":1762275759000,"favorite_count":21,"quote_count":0,"reply_count":4,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1985594437981102325","full_text":"@RydMike @mraleph @KhalidWarsa Yep. I've said it before, but I'll say it again. Flutter has not only ignored its own community, but has been hostile to it. Flutter has now lost almost every unique value prop. It will lose the rest. It has no moat. I don't see how it avoids zombie mode at this point.","in_reply_to_user_id_str":"87799983","in_reply_to_status_id_str":"1985751390883389866","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[48,178],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"703122697232863233","name":"Thomas Burkhart 💙","screen_name":"ThomasBurkhartB","indices":[0,16]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[17,25]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[26,34]},{"id_str":"561770146","name":"Khalid Warsame","screen_name":"KhalidWarsa","indices":[35,47]}]},"favorited":false,"in_reply_to_screen_name":"ThomasBurkhartB","lang":"en","retweeted":false,"fact_check":null,"id":"1985816253479731210","view_count":1609,"bookmark_count":0,"created_at":1762290464000,"favorite_count":6,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1985594437981102325","full_text":"@ThomasBurkhartB @RydMike @mraleph @KhalidWarsa I don’t really remember when they were. I only remember when they were ignored. But for years now they’ve been actively combatted.","in_reply_to_user_id_str":"703122697232863233","in_reply_to_status_id_str":"1985815658202796387","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-06","value":11,"startTime":1762300800000,"endTime":1762387200000,"tweets":[{"bookmarked":false,"display_text_range":[0,279],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[23,30]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[86,97]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[23,30]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[86,97]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1986214864151539735","view_count":4605,"bookmark_count":10,"created_at":1762385500000,"favorite_count":103,"quote_count":2,"reply_count":11,"retweet_count":8,"user_id_str":"1109937471154905088","conversation_id_str":"1986214864151539735","full_text":"My back and forth with @jezell earlier got me thinking...if I actually did rejoin the @FlutterDev team, what would I try early on to rapidly improve community engagement? Here are my thoughts:\n\nHold 4 different recurring office hours to understand pain points and set priorities:\n * Indie dev\n * Agency dev\n * Enterprise dev\n * Flutter tooling dev (e.g., Code Magic, Shorebird, etc)\n\nI would do the majority of my personal Flutter contributions on live streams:\n * Would teach community how to contribute\n * Would spread knowledge of new implementation details\n * Would receive help from live stream members when implementing\n * Would file tickets and assign to members of the community during the stream\n\nHelp devs get their PRs cleaned up and merged. Ideally do this with them in real-time on a stream, but also some async for time zone issues.\n\nVisit American companies using Flutter to observe their difficulties firsthand.\n\nAttend as many US Meetups and conferences as possible to show off new features, and engage in listening sessions with the community.\n\nIdentify the most popular and promising packages and help those developers polish it, document it, test it, etc. Show that the Flutter org is committed to the health of the package ecosystem.\n\nI would do my best to blur the line between the organization and the community. Because at the end of the day, either there is no line, or there is no healthy organization or community.","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,196],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"313393045","name":"Michael Thomsen","screen_name":"MiSvTh","indices":[39,46]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986193090642911320","view_count":349,"bookmark_count":1,"created_at":1762380309000,"favorite_count":16,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986188317327814799","full_text":"@jezell Then I'll put it out there. If @MiSvTh would like to turn this ship around for community engagement, I'd sit down with him to talk about getting me back on the team to help make it happen.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986190517168971877","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,45],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986190022979297772","view_count":544,"bookmark_count":0,"created_at":1762379577000,"favorite_count":4,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986188317327814799","full_text":"@jezell Not surprised at all at this point...","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986188356355825996","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,214],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"SuprDeclarative","lang":"en","retweeted":false,"fact_check":null,"id":"1986190302093398508","view_count":529,"bookmark_count":0,"created_at":1762379644000,"favorite_count":7,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986188317327814799","full_text":"@jezell You know, I would consider rejoining the team to get this velocity up, if they were serious about improving their ways. But I'm guessing they'd rather just keep doing what hasn't worked and sink the ship...","in_reply_to_user_id_str":"1109937471154905088","in_reply_to_status_id_str":"1986190022979297772","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[34,54],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"857973744","name":"Abdallah Shaban","screen_name":"AbdallahSh07","indices":[0,13]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[14,21]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[22,33]}]},"favorited":false,"in_reply_to_screen_name":"AbdallahSh07","lang":"en","retweeted":false,"fact_check":null,"id":"1986216363019624542","view_count":594,"bookmark_count":0,"created_at":1762385857000,"favorite_count":11,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986214864151539735","full_text":"@AbdallahSh07 @jezell @FlutterDev I could do that work","in_reply_to_user_id_str":"857973744","in_reply_to_status_id_str":"1986215601120166103","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-07","value":8,"startTime":1762387200000,"endTime":1762473600000,"tweets":[{"bookmarked":false,"display_text_range":[0,271],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[59,70]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[59,70]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1986491522825789549","view_count":4806,"bookmark_count":7,"created_at":1762451460000,"favorite_count":70,"quote_count":2,"reply_count":7,"retweet_count":4,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"Can we all pause and notice that we're stuck in an endless @FlutterDev loop between the community and the team? Forget the latest specific issue - we're on a merry-go-round that never stops spinning, and only seems to get faster. It goes like this:\n\n1. A community member experiences something that is frustrating, limiting, concerning, or all of the above.\n\n2. Flutter team does some combination of ignore it, tell the community member to file an issue that will likely never be worked on, or to fix it themselves.\n\n3. Community member feels entitled to an actual solution from Flutter.\n\n4. Flutter team gets defensive. Flutter-splains that they merge lots of outside code, and they're busy with other important things, and that problem isn't even really a problem if you understand what Flutter is meant to do, and maybe it's even a feature and not a bug.\n\n5. Community members feel ignored, marginalized, and disrespected, yet again, for the 100th time. Community members go through a therapy session by reminding the Flutter team of those last 100 times problems came up that didn't get addressed and didn't get solved.\n\n6. Flutter team becomes more defensive and even passive aggressive with community members.\n\n7. NOTHING GETS BETTER\n\nYesterday I offered to make myself available to rejoin the team to bridge this gap. No doubt it's a very tall task after so many years of this, but I'm willing to give it a go if they are. I will take all these public arrows for the team. \n\nDespite my personal issues with various people on the team, I believe that the only way for me to preserve my ability to use the skills I've spent 7 years building, is to finally bridge this gap and return Flutter to the \"community driven\" project that it once billed itself to be.","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[13,278],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"133487462","name":"Graham : A Star Wars Story 💙","screen_name":"whoisgraham","indices":[0,12]}]},"favorited":false,"in_reply_to_screen_name":"whoisgraham","lang":"en","retweeted":false,"fact_check":null,"id":"1986548582556856517","view_count":35,"bookmark_count":0,"created_at":1762465065000,"favorite_count":0,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986505347218219519","full_text":"@whoisgraham If that's a subtweet about me, I'd like to know it and why you feel that way. If it's about someone else, I'd like to know that too. I don't really understand this behavior of putting out passive aggressive tweets while also playing the role of adult in the room...","in_reply_to_user_id_str":"133487462","in_reply_to_status_id_str":"1986505347218219519","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[25,100],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"x.com/SuprDeclarativ…","expanded_url":"https://x.com/SuprDeclarative/status/1986214864151539735","url":"https://t.co/D2VueIkmkH","indices":[77,100]}],"user_mentions":[{"id_str":"790201826","name":"pk","screen_name":"khivedoteth","indices":[0,12]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[13,24]}]},"favorited":false,"in_reply_to_screen_name":"khivedoteth","lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"quoted_status_id_str":"1986214864151539735","quoted_status_permalink":{"url":"https://t.co/D2VueIkmkH","expanded":"https://x.com/SuprDeclarative/status/1986214864151539735","display":"x.com/SuprDeclarativ…"},"retweeted":false,"fact_check":null,"id":"1986501944299692264","view_count":305,"bookmark_count":0,"created_at":1762453945000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@khivedoteth @FlutterDev Here's what I said yesterday about where I'd start:\nhttps://t.co/D2VueIkmkH","in_reply_to_user_id_str":"790201826","in_reply_to_status_id_str":"1986501715924005083","is_quote_status":1,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[22,208],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1369087208","name":"Hari","screen_name":"harii_07","indices":[0,9]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[10,21]}]},"favorited":false,"in_reply_to_screen_name":"harii_07","lang":"en","retweeted":false,"fact_check":null,"id":"1986499762779283532","view_count":215,"bookmark_count":0,"created_at":1762453425000,"favorite_count":3,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@harii_07 @FlutterDev I'm not sure what \"this way\" is, but all I can do is offer. I live 5 mins away from Google HQ, I've been on the team before, I would imagine it's pretty easy if they wanna bring me back.","in_reply_to_user_id_str":"1369087208","in_reply_to_status_id_str":"1986497704479105440","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[23,149],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1601453019195133952","name":"Anish","screen_name":"anishtwts","indices":[0,10]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[11,22]}]},"favorited":false,"in_reply_to_screen_name":"anishtwts","lang":"en","retweeted":false,"fact_check":null,"id":"1986500104828965069","view_count":188,"bookmark_count":0,"created_at":1762453507000,"favorite_count":2,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@anishtwts @FlutterDev Thanks. I'm not holding my breath, but it's an honest offer to put all this personal stuff behind and build a bridge together.","in_reply_to_user_id_str":"1601453019195133952","in_reply_to_status_id_str":"1986499927904821374","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[29,96],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"207489846","name":"Josh Hargreaves","screen_name":"joshjhargreaves","indices":[0,16]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[17,28]}]},"favorited":false,"in_reply_to_screen_name":"joshjhargreaves","lang":"en","retweeted":false,"fact_check":null,"id":"1986513196447113496","view_count":134,"bookmark_count":0,"created_at":1762456628000,"favorite_count":0,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@joshjhargreaves @FlutterDev What an oddly non-actionable critique. Would you like to try again?","in_reply_to_user_id_str":"207489846","in_reply_to_status_id_str":"1986511828654993527","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[31,230],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[11,18]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[19,30]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986481130774929819","view_count":237,"bookmark_count":1,"created_at":1762448983000,"favorite_count":4,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986214864151539735","full_text":"@iosemagno @jezell @FlutterDev Definitely. Something I recommended to them back in 2020 when I left. But I’m offering here to return to the team to do what I can on that front. Looks like nobody on their side is interested though.","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986431218955493452","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[29,309],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"207489846","name":"Josh Hargreaves","screen_name":"joshjhargreaves","indices":[0,16]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[17,28]}]},"favorited":false,"in_reply_to_screen_name":"joshjhargreaves","lang":"en","retweeted":false,"fact_check":null,"id":"1986520375275168073","view_count":62,"bookmark_count":0,"created_at":1762458339000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"I suppose you can choose to view it that way if you really want to. But since you were focused on \"self awareness\" you might look around a little bit to see the volume of long-standing Flutter community members who support the posts. I'm trying to bridge a contentious gap that's widened for years - you're dropping by and being a bit of a dick....","in_reply_to_user_id_str":"207489846","in_reply_to_status_id_str":"1986519635814916286","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,276],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[0,11]},{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[0,11]}]},"favorited":false,"in_reply_to_screen_name":"guidorosso","lang":"en","retweeted":false,"fact_check":null,"id":"1986556553156305056","view_count":24,"bookmark_count":0,"created_at":1762466965000,"favorite_count":0,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986556553156305056","full_text":"@guidorosso I have a question about using Rive for app components - specifically around testing. It's common to use screenshot tests in apps. Does the Rive API have a mechanism to pull a bitmap screenshot of the current UI? And does it always use the same algo for shadows and text anti-aliasing, such that pulling screenshots over time, across platforms will likely produce the exact same pixels?","in_reply_to_user_id_str":"4925231","in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-08","value":16,"startTime":1762473600000,"endTime":1762560000000,"tweets":[{"bookmarked":false,"display_text_range":[0,120],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"4917378776","name":"Rive","screen_name":"rive_app","indices":[0,9]}]},"favorited":false,"in_reply_to_screen_name":"rive_app","lang":"en","quoted_status_id_str":"1986634767186731352","quoted_status_permalink":{"url":"https://t.co/hWmSC7GgqL","expanded":"https://twitter.com/rive_app/status/1986634767186731352","display":"x.com/rive_app/statu…"},"retweeted":false,"fact_check":null,"id":"1986658099709768012","view_count":8002,"bookmark_count":16,"created_at":1762491175000,"favorite_count":116,"quote_count":1,"reply_count":3,"retweet_count":4,"user_id_str":"1109937471154905088","conversation_id_str":"1986658099709768012","full_text":"@rive_app is now officially the reincarnation of Flash. They just need to call their scripting language Actionscript 4.0","in_reply_to_user_id_str":"4917378776","in_reply_to_status_id_str":null,"is_quote_status":1,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,29],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986846333223997692","view_count":146,"bookmark_count":0,"created_at":1762536054000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986840106863599741","full_text":"@jezell Literally gonna do it","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986840106863599741","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[9,197],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[0,8]}]},"favorited":false,"in_reply_to_screen_name":"RydMike","lang":"en","retweeted":false,"fact_check":null,"id":"1986913998777073967","view_count":69,"bookmark_count":0,"created_at":1762552187000,"favorite_count":4,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986911596271054950","full_text":"@RydMike To be fair I think this is mainly a problem because iOS decided their keyboard animation curve and height needed to be kept secret. And the drag to close would be hidden only in OEM views.","in_reply_to_user_id_str":"87799983","in_reply_to_status_id_str":"1986911596271054950","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[130,351],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"1055494766807433223","name":"Luke","screen_name":"luke_pighetti","indices":[11,25]},{"id_str":"451445963","name":"Chinmay କବି 🇮🇳💙","screen_name":"ChinuKabi","indices":[26,36]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[37,44]},{"id_str":"1353831575843188736","name":"Alexandru Mariuti","screen_name":"nank1ro","indices":[45,53]},{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[54,70]},{"id_str":"135460126","name":"Andrea Bizzotto 🇺🇦","screen_name":"biz84","indices":[71,77]},{"id_str":"711913","name":"Eric Seidel","screen_name":"_eseidel","indices":[78,87]},{"id_str":"1118681","name":"Seth Ladd","screen_name":"sethladd","indices":[88,97]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[98,106]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[107,115]},{"id_str":"543917371","name":"Alessio Salvadorini 💙","screen_name":"ASalvadorini","indices":[116,129]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986873136927961571","view_count":292,"bookmark_count":0,"created_at":1762542444000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986827182140985367","full_text":"@iosemagno @luke_pighetti @ChinuKabi @jezell @nank1ro @imadetheseworks @biz84 @_eseidel @sethladd @mraleph @RydMike @ASalvadorini I'm confused by \"native textfield\". A quick look through your post didn't clarify. Is this about synchronizing insets to the real keyboard size, or is this about creating a platform view for a truly native iOS text field?","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986827182140985367","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,231],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986850486318997981","view_count":137,"bookmark_count":0,"created_at":1762537044000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986840106863599741","full_text":"@jezell First I gotta ramp up. Gonna convert my fasting app to all Rive. Then I think I might try to finally build my own time tracker that I've been meaning to build for years. Then hopefully I can start thinking tooling for Rive.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986846541542543814","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[20,297],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[8,19]},{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[71,82]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986852357972615506","view_count":262,"bookmark_count":0,"created_at":1762537490000,"favorite_count":6,"quote_count":0,"reply_count":0,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1986840106863599741","full_text":"@jezell @guidorosso That’s exactly one of the things I’d like to offer @guidorosso - I’m trying to go full app dev with Rive. But that needs text fields, message editors, and document editors. I happened to have built all those from the ground up in Super Editor for Flutter. Wanna collab on Rive?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986851038700449812","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[130,403],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"1055494766807433223","name":"Luke","screen_name":"luke_pighetti","indices":[11,25]},{"id_str":"451445963","name":"Chinmay କବି 🇮🇳💙","screen_name":"ChinuKabi","indices":[26,36]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[37,44]},{"id_str":"1353831575843188736","name":"Alexandru Mariuti","screen_name":"nank1ro","indices":[45,53]},{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[54,70]},{"id_str":"135460126","name":"Andrea Bizzotto 🇺🇦","screen_name":"biz84","indices":[71,77]},{"id_str":"711913","name":"Eric Seidel","screen_name":"_eseidel","indices":[78,87]},{"id_str":"1118681","name":"Seth Ladd","screen_name":"sethladd","indices":[88,97]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[98,106]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[107,115]},{"id_str":"543917371","name":"Alessio Salvadorini 💙","screen_name":"ASalvadorini","indices":[116,129]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986899098721788216","view_count":195,"bookmark_count":0,"created_at":1762548634000,"favorite_count":3,"quote_count":0,"reply_count":3,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986827182140985367","full_text":"@iosemagno @luke_pighetti @ChinuKabi @jezell @nank1ro @imadetheseworks @biz84 @_eseidel @sethladd @mraleph @RydMike @ASalvadorini FYI, I've built a full fledged documented editor at Super Editor, and I've rebuilt the text field in Flutter from the ground up. Might be quicker to bridge any final quality gaps in those than to go through the pain of trying to fit platform views everywhere you need them.","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986897622859456866","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[130,269],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"1055494766807433223","name":"Luke","screen_name":"luke_pighetti","indices":[11,25]},{"id_str":"451445963","name":"Chinmay କବି 🇮🇳💙","screen_name":"ChinuKabi","indices":[26,36]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[37,44]},{"id_str":"1353831575843188736","name":"Alexandru Mariuti","screen_name":"nank1ro","indices":[45,53]},{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[54,70]},{"id_str":"135460126","name":"Andrea Bizzotto 🇺🇦","screen_name":"biz84","indices":[71,77]},{"id_str":"711913","name":"Eric Seidel","screen_name":"_eseidel","indices":[78,87]},{"id_str":"1118681","name":"Seth Ladd","screen_name":"sethladd","indices":[88,97]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[98,106]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[107,115]},{"id_str":"543917371","name":"Alessio Salvadorini 💙","screen_name":"ASalvadorini","indices":[116,129]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986912637465301192","view_count":183,"bookmark_count":0,"created_at":1762551862000,"favorite_count":4,"quote_count":0,"reply_count":3,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986827182140985367","full_text":"@iosemagno @luke_pighetti @ChinuKabi @jezell @nank1ro @imadetheseworks @biz84 @_eseidel @sethladd @mraleph @RydMike @ASalvadorini What’s holding you back there? Super editor is used for chat in a major app and we’re doubling down our focus there. Including for AI chat.","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986906865142231088","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-09","value":1,"startTime":1762560000000,"endTime":1762646400000,"tweets":[{"bookmarked":false,"display_text_range":[20,67],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1671203695814385664","name":"Nic Dean","screen_name":"_nicdean","indices":[0,9]},{"id_str":"4917378776","name":"Rive","screen_name":"rive_app","indices":[10,19]}]},"favorited":false,"in_reply_to_screen_name":"_nicdean","lang":"en","retweeted":false,"fact_check":null,"id":"1987270099108307108","view_count":2179,"bookmark_count":1,"created_at":1762637087000,"favorite_count":8,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987256377480561044","full_text":"@_nicdean @rive_app Steve Jobs also had something to say about it 😂","in_reply_to_user_id_str":"1671203695814385664","in_reply_to_status_id_str":"1987256377480561044","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,94],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1987230141995733196","view_count":855,"bookmark_count":0,"created_at":1762627561000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987208556664529121","full_text":"@jezell If it's using \"platform native views\" then how can it also ship a \"C++ layout engine\"?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1987208556664529121","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-10","value":13,"startTime":1762646400000,"endTime":1762732800000,"tweets":[{"bookmarked":false,"display_text_range":[0,278],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[7,18]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[7,18]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1987615291376017496","view_count":2715,"bookmark_count":12,"created_at":1762719388000,"favorite_count":24,"quote_count":0,"reply_count":4,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1987615291376017496","full_text":"When a @FlutterDev subtree gets replaced with another, new State objects get initialized before old ones are disposed. This creates a tough situation for any shared object that needs to get handed from the old State to the new one. It creates a situation where an object belongs to two States when it may be designed to only belong to one. Does anyone know why Flutter doesn't run dispose() on the old State before running initState() on the new State?","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[17,38],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[8,16]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1987392738321703109","view_count":235,"bookmark_count":0,"created_at":1762666327000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986985272563933650","full_text":"@jezell @RydMike Who was the 2nd exit?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1987097773418946830","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[20,294],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[8,19]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1987620525045403855","view_count":597,"bookmark_count":1,"created_at":1762720636000,"favorite_count":3,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987615291376017496","full_text":"Yeah, nominally a GlobalKey can retain the State object to avoid the issue. However, there are about 5 people in the world who truly understand the reparenting mechanism implemented for GlobalKeys. So, for example, making every Super Editor user figure out when and where to attach a GlobalKey so that their Super Editor plugins don't blow up really isn't feasible. Instead, we need to do stuff in Super Editor that makes this management fool proof and invisible to our users.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1987619905123062168","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-11","value":0,"startTime":1762732800000,"endTime":1762819200000,"tweets":[]},{"label":"2025-11-12","value":0,"startTime":1762819200000,"endTime":1762905600000,"tweets":[{"bookmarked":false,"display_text_range":[11,116],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[0,10]}]},"favorited":true,"in_reply_to_screen_name":"damy_wise","lang":"en","retweeted":false,"fact_check":null,"id":"1988174349346754832","view_count":4356,"bookmark_count":0,"created_at":1762852678000,"favorite_count":5,"quote_count":1,"reply_count":4,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@damy_wise I’m about to move my focus from Flutter to Rive. Curious to hear your thoughts based on your experiences.","in_reply_to_user_id_str":"1243886626238947328","in_reply_to_status_id_str":"1987851785420284163","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[26,72],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"145322774","name":"Lee Higgins","screen_name":"Depthperpixel","indices":[0,14]},{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[15,25]}]},"favorited":false,"in_reply_to_screen_name":"Depthperpixel","lang":"en","retweeted":false,"fact_check":null,"id":"1988329471406190798","view_count":30,"bookmark_count":0,"created_at":1762889662000,"favorite_count":0,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@Depthperpixel @damy_wise Doesn’t rive support raster images internally?","in_reply_to_user_id_str":"145322774","in_reply_to_status_id_str":"1988328965812219973","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[26,158],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"145322774","name":"Lee Higgins","screen_name":"Depthperpixel","indices":[0,14]},{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[15,25]}]},"favorited":false,"in_reply_to_screen_name":"Depthperpixel","lang":"en","retweeted":false,"fact_check":null,"id":"1988328197457670360","view_count":75,"bookmark_count":0,"created_at":1762889358000,"favorite_count":0,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@Depthperpixel @damy_wise Have you tried using it for app UI though? I imagine it’s a pretty different performance profile for buttons and text and lists etc.","in_reply_to_user_id_str":"145322774","in_reply_to_status_id_str":"1988264189664657652","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-13","value":0,"startTime":1762905600000,"endTime":1762992000000,"tweets":[{"bookmarked":false,"display_text_range":[21,101],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"114900758","name":"Roman Jaquez","screen_name":"drcoderz","indices":[0,9]},{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[10,20]}]},"favorited":false,"in_reply_to_screen_name":"drcoderz","lang":"en","retweeted":false,"fact_check":null,"id":"1988441166556410069","view_count":65,"bookmark_count":0,"created_at":1762916292000,"favorite_count":0,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@drcoderz @damy_wise How’d you end up using it? One big rive app or rive per page or rive per widget?","in_reply_to_user_id_str":"114900758","in_reply_to_status_id_str":"1988424334885744756","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-14","value":0,"startTime":1762992000000,"endTime":1763078400000,"tweets":[{"bookmarked":false,"display_text_range":[23,151],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"1654808914675011585","name":"Tahiro Agbanwa ⚡️","screen_name":"squirelBoy360","indices":[8,22]}]},"favorited":true,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1988840624594817412","view_count":146,"bookmark_count":0,"created_at":1763011530000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1988838418499956884","full_text":"@jezell @squirelBoy360 I’d be interested in trying a Dart wrapper around yoga as a way of using nothing but Rive widgets in app without any flutter UI.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1988840195194589372","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-15","value":0,"startTime":1763078400000,"endTime":1763164800000,"tweets":[]},{"label":"2025-11-16","value":0,"startTime":1763164800000,"endTime":1763251200000,"tweets":[]},{"label":"2025-11-17","value":0,"startTime":1763251200000,"endTime":1763337600000,"tweets":[]},{"label":"2025-11-18","value":0,"startTime":1763337600000,"endTime":1763424000000,"tweets":[]}],"nretweets":[{"label":"2025-10-19","value":0,"startTime":1760745600000,"endTime":1760832000000,"tweets":[]},{"label":"2025-10-20","value":0,"startTime":1760832000000,"endTime":1760918400000,"tweets":[]},{"label":"2025-10-21","value":0,"startTime":1760918400000,"endTime":1761004800000,"tweets":[]},{"label":"2025-10-22","value":0,"startTime":1761004800000,"endTime":1761091200000,"tweets":[]},{"label":"2025-10-23","value":1,"startTime":1761091200000,"endTime":1761177600000,"tweets":[{"bookmarked":false,"display_text_range":[0,248],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[5,16]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1981032849764741575","view_count":3814,"bookmark_count":3,"created_at":1761150011000,"favorite_count":22,"quote_count":0,"reply_count":1,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1981032849764741575","full_text":"Does @FlutterDev really still not support sampling child widget pixels in fragment shaders on iOS and Android? It seems to work fine on desktop and in the browser, but seems totally broken on mobile. Is this for real? Or am I doing something wrong?","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[26,270],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/l8dB3quOTv","expanded_url":"https://x.com/SuprDeclarative/status/1981081844440584325/photo/1","id_str":"1981081505016184832","indices":[271,294],"media_key":"3_1981081505016184832","media_url_https":"https://pbs.twimg.com/media/G343IfGWAAAASML.jpg","type":"photo","url":"https://t.co/l8dB3quOTv","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":876,"w":1326,"resize":"fit"},"medium":{"h":793,"w":1200,"resize":"fit"},"small":{"h":449,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":876,"width":1326,"focus_rects":[{"x":0,"y":133,"w":1326,"h":743},{"x":59,"y":0,"w":876,"h":876},{"x":113,"y":0,"w":768,"h":876},{"x":278,"y":0,"w":438,"h":876},{"x":0,"y":0,"w":1326,"h":876}]},"media_results":{"result":{"media_key":"3_1981081505016184832"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"2245268778","name":"Raouf Rahiche","screen_name":"raoufrahiche","indices":[0,13]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[14,25]}]},"extended_entities":{"media":[{"display_url":"pic.x.com/l8dB3quOTv","expanded_url":"https://x.com/SuprDeclarative/status/1981081844440584325/photo/1","id_str":"1981081505016184832","indices":[271,294],"media_key":"3_1981081505016184832","media_url_https":"https://pbs.twimg.com/media/G343IfGWAAAASML.jpg","type":"photo","url":"https://t.co/l8dB3quOTv","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":876,"w":1326,"resize":"fit"},"medium":{"h":793,"w":1200,"resize":"fit"},"small":{"h":449,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":876,"width":1326,"focus_rects":[{"x":0,"y":133,"w":1326,"h":743},{"x":59,"y":0,"w":876,"h":876},{"x":113,"y":0,"w":768,"h":876},{"x":278,"y":0,"w":438,"h":876},{"x":0,"y":0,"w":1326,"h":876}]},"media_results":{"result":{"media_key":"3_1981081505016184832"}}}]},"favorited":false,"in_reply_to_screen_name":"raoufrahiche","lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1981081844440584325","view_count":476,"bookmark_count":1,"created_at":1761161693000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1981032849764741575","full_text":"@raoufrahiche @FlutterDev I think it's working with this conditional - although it seems like when I launch the app with this code, it completely crashes. But when I comment this out, run the app, then uncomment and hot reload, it works.\n\nIs this what you were thinking? https://t.co/l8dB3quOTv","in_reply_to_user_id_str":"2245268778","in_reply_to_status_id_str":"1981067010466283859","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-10-24","value":0,"startTime":1761177600000,"endTime":1761264000000,"tweets":[]},{"label":"2025-10-25","value":0,"startTime":1761264000000,"endTime":1761350400000,"tweets":[]},{"label":"2025-10-26","value":0,"startTime":1761350400000,"endTime":1761436800000,"tweets":[]},{"label":"2025-10-27","value":0,"startTime":1761436800000,"endTime":1761523200000,"tweets":[]},{"label":"2025-10-28","value":0,"startTime":1761523200000,"endTime":1761609600000,"tweets":[]},{"label":"2025-10-29","value":1,"startTime":1761609600000,"endTime":1761696000000,"tweets":[{"bookmarked":false,"display_text_range":[0,271],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[11,22]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1983229616975458743","view_count":8911,"bookmark_count":37,"created_at":1761673761000,"favorite_count":65,"quote_count":0,"reply_count":32,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1983229616975458743","full_text":"To all the @FlutterDev's who are obsessed with AI, if I want to select one freely available AI tool and ask it to create entire screens/features in a little app, which one do you currently recommend, and why? Usually I ask targeted questions - but I want to try full gen.","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[20,128],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[8,19]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1983240721953107984","view_count":1078,"bookmark_count":0,"created_at":1761676409000,"favorite_count":4,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1983229616975458743","full_text":"@jezell @FlutterDev How do all these options work? Does each one have an app? Or do I install a CLI and point it at a directory?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1983237525796991295","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[25,94],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[0,16]},{"id_str":"568573618","name":"Anton Borries 🦋","screen_name":"ABausG","indices":[17,24]}]},"favorited":false,"in_reply_to_screen_name":"imadetheseworks","lang":"en","retweeted":false,"fact_check":null,"id":"1983241033166340355","view_count":688,"bookmark_count":1,"created_at":1761676483000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1983167497798074434","full_text":"@imadetheseworks @ABausG Oh man you got P2’ed. Only one level better than “never gonna happen”","in_reply_to_user_id_str":"1785951221158756352","in_reply_to_status_id_str":"1983167497798074434","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-10-30","value":3,"startTime":1761696000000,"endTime":1761782400000,"tweets":[{"bookmarked":false,"display_text_range":[0,90],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"github.com/flutter/flutte…","expanded_url":"https://github.com/flutter/flutter/issues/177693","url":"https://t.co/vMRGbOY36Q","indices":[67,90]}],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[4,15]}]},"favorited":false,"lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1983628579796873630","view_count":2948,"bookmark_count":2,"created_at":1761768882000,"favorite_count":18,"quote_count":1,"reply_count":0,"retweet_count":3,"user_id_str":"1109937471154905088","conversation_id_str":"1983628579796873630","full_text":"FYI @FlutterDev's OverlayPortal might be breaking your hot reload: https://t.co/vMRGbOY36Q","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-10-31","value":0,"startTime":1761782400000,"endTime":1761868800000,"tweets":[]},{"label":"2025-11-01","value":0,"startTime":1761868800000,"endTime":1761955200000,"tweets":[]},{"label":"2025-11-02","value":0,"startTime":1761955200000,"endTime":1762041600000,"tweets":[]},{"label":"2025-11-03","value":0,"startTime":1762041600000,"endTime":1762128000000,"tweets":[]},{"label":"2025-11-04","value":0,"startTime":1762128000000,"endTime":1762214400000,"tweets":[]},{"label":"2025-11-05","value":0,"startTime":1762214400000,"endTime":1762300800000,"tweets":[{"bookmarked":false,"display_text_range":[31,77],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[0,8]},{"id_str":"561770146","name":"Khalid Warsame","screen_name":"KhalidWarsa","indices":[9,21]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[22,30]}]},"favorited":false,"in_reply_to_screen_name":"mraleph","lang":"en","retweeted":false,"fact_check":null,"id":"1985749479405019214","view_count":1683,"bookmark_count":0,"created_at":1762274543000,"favorite_count":8,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1985594437981102325","full_text":"@mraleph @KhalidWarsa @RydMike It's very likely taking people to React Native","in_reply_to_user_id_str":"53010195","in_reply_to_status_id_str":"1985678859539276287","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[31,300],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[0,8]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[9,17]},{"id_str":"561770146","name":"Khalid Warsame","screen_name":"KhalidWarsa","indices":[18,30]}]},"favorited":false,"in_reply_to_screen_name":"RydMike","lang":"en","retweeted":false,"fact_check":null,"id":"1985754577132736762","view_count":2019,"bookmark_count":2,"created_at":1762275759000,"favorite_count":21,"quote_count":0,"reply_count":4,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1985594437981102325","full_text":"@RydMike @mraleph @KhalidWarsa Yep. I've said it before, but I'll say it again. Flutter has not only ignored its own community, but has been hostile to it. Flutter has now lost almost every unique value prop. It will lose the rest. It has no moat. I don't see how it avoids zombie mode at this point.","in_reply_to_user_id_str":"87799983","in_reply_to_status_id_str":"1985751390883389866","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[48,178],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"703122697232863233","name":"Thomas Burkhart 💙","screen_name":"ThomasBurkhartB","indices":[0,16]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[17,25]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[26,34]},{"id_str":"561770146","name":"Khalid Warsame","screen_name":"KhalidWarsa","indices":[35,47]}]},"favorited":false,"in_reply_to_screen_name":"ThomasBurkhartB","lang":"en","retweeted":false,"fact_check":null,"id":"1985816253479731210","view_count":1609,"bookmark_count":0,"created_at":1762290464000,"favorite_count":6,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1985594437981102325","full_text":"@ThomasBurkhartB @RydMike @mraleph @KhalidWarsa I don’t really remember when they were. I only remember when they were ignored. But for years now they’ve been actively combatted.","in_reply_to_user_id_str":"703122697232863233","in_reply_to_status_id_str":"1985815658202796387","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-06","value":8,"startTime":1762300800000,"endTime":1762387200000,"tweets":[{"bookmarked":false,"display_text_range":[0,279],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[23,30]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[86,97]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[23,30]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[86,97]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1986214864151539735","view_count":4605,"bookmark_count":10,"created_at":1762385500000,"favorite_count":103,"quote_count":2,"reply_count":11,"retweet_count":8,"user_id_str":"1109937471154905088","conversation_id_str":"1986214864151539735","full_text":"My back and forth with @jezell earlier got me thinking...if I actually did rejoin the @FlutterDev team, what would I try early on to rapidly improve community engagement? Here are my thoughts:\n\nHold 4 different recurring office hours to understand pain points and set priorities:\n * Indie dev\n * Agency dev\n * Enterprise dev\n * Flutter tooling dev (e.g., Code Magic, Shorebird, etc)\n\nI would do the majority of my personal Flutter contributions on live streams:\n * Would teach community how to contribute\n * Would spread knowledge of new implementation details\n * Would receive help from live stream members when implementing\n * Would file tickets and assign to members of the community during the stream\n\nHelp devs get their PRs cleaned up and merged. Ideally do this with them in real-time on a stream, but also some async for time zone issues.\n\nVisit American companies using Flutter to observe their difficulties firsthand.\n\nAttend as many US Meetups and conferences as possible to show off new features, and engage in listening sessions with the community.\n\nIdentify the most popular and promising packages and help those developers polish it, document it, test it, etc. Show that the Flutter org is committed to the health of the package ecosystem.\n\nI would do my best to blur the line between the organization and the community. Because at the end of the day, either there is no line, or there is no healthy organization or community.","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,196],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"313393045","name":"Michael Thomsen","screen_name":"MiSvTh","indices":[39,46]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986193090642911320","view_count":349,"bookmark_count":1,"created_at":1762380309000,"favorite_count":16,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986188317327814799","full_text":"@jezell Then I'll put it out there. If @MiSvTh would like to turn this ship around for community engagement, I'd sit down with him to talk about getting me back on the team to help make it happen.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986190517168971877","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,45],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986190022979297772","view_count":544,"bookmark_count":0,"created_at":1762379577000,"favorite_count":4,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986188317327814799","full_text":"@jezell Not surprised at all at this point...","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986188356355825996","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,214],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"SuprDeclarative","lang":"en","retweeted":false,"fact_check":null,"id":"1986190302093398508","view_count":529,"bookmark_count":0,"created_at":1762379644000,"favorite_count":7,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986188317327814799","full_text":"@jezell You know, I would consider rejoining the team to get this velocity up, if they were serious about improving their ways. But I'm guessing they'd rather just keep doing what hasn't worked and sink the ship...","in_reply_to_user_id_str":"1109937471154905088","in_reply_to_status_id_str":"1986190022979297772","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[34,54],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"857973744","name":"Abdallah Shaban","screen_name":"AbdallahSh07","indices":[0,13]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[14,21]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[22,33]}]},"favorited":false,"in_reply_to_screen_name":"AbdallahSh07","lang":"en","retweeted":false,"fact_check":null,"id":"1986216363019624542","view_count":594,"bookmark_count":0,"created_at":1762385857000,"favorite_count":11,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986214864151539735","full_text":"@AbdallahSh07 @jezell @FlutterDev I could do that work","in_reply_to_user_id_str":"857973744","in_reply_to_status_id_str":"1986215601120166103","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-07","value":4,"startTime":1762387200000,"endTime":1762473600000,"tweets":[{"bookmarked":false,"display_text_range":[0,271],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[59,70]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[59,70]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1986491522825789549","view_count":4806,"bookmark_count":7,"created_at":1762451460000,"favorite_count":70,"quote_count":2,"reply_count":7,"retweet_count":4,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"Can we all pause and notice that we're stuck in an endless @FlutterDev loop between the community and the team? Forget the latest specific issue - we're on a merry-go-round that never stops spinning, and only seems to get faster. It goes like this:\n\n1. A community member experiences something that is frustrating, limiting, concerning, or all of the above.\n\n2. Flutter team does some combination of ignore it, tell the community member to file an issue that will likely never be worked on, or to fix it themselves.\n\n3. Community member feels entitled to an actual solution from Flutter.\n\n4. Flutter team gets defensive. Flutter-splains that they merge lots of outside code, and they're busy with other important things, and that problem isn't even really a problem if you understand what Flutter is meant to do, and maybe it's even a feature and not a bug.\n\n5. Community members feel ignored, marginalized, and disrespected, yet again, for the 100th time. Community members go through a therapy session by reminding the Flutter team of those last 100 times problems came up that didn't get addressed and didn't get solved.\n\n6. Flutter team becomes more defensive and even passive aggressive with community members.\n\n7. NOTHING GETS BETTER\n\nYesterday I offered to make myself available to rejoin the team to bridge this gap. No doubt it's a very tall task after so many years of this, but I'm willing to give it a go if they are. I will take all these public arrows for the team. \n\nDespite my personal issues with various people on the team, I believe that the only way for me to preserve my ability to use the skills I've spent 7 years building, is to finally bridge this gap and return Flutter to the \"community driven\" project that it once billed itself to be.","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[13,278],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"133487462","name":"Graham : A Star Wars Story 💙","screen_name":"whoisgraham","indices":[0,12]}]},"favorited":false,"in_reply_to_screen_name":"whoisgraham","lang":"en","retweeted":false,"fact_check":null,"id":"1986548582556856517","view_count":35,"bookmark_count":0,"created_at":1762465065000,"favorite_count":0,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986505347218219519","full_text":"@whoisgraham If that's a subtweet about me, I'd like to know it and why you feel that way. If it's about someone else, I'd like to know that too. I don't really understand this behavior of putting out passive aggressive tweets while also playing the role of adult in the room...","in_reply_to_user_id_str":"133487462","in_reply_to_status_id_str":"1986505347218219519","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[25,100],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"x.com/SuprDeclarativ…","expanded_url":"https://x.com/SuprDeclarative/status/1986214864151539735","url":"https://t.co/D2VueIkmkH","indices":[77,100]}],"user_mentions":[{"id_str":"790201826","name":"pk","screen_name":"khivedoteth","indices":[0,12]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[13,24]}]},"favorited":false,"in_reply_to_screen_name":"khivedoteth","lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"quoted_status_id_str":"1986214864151539735","quoted_status_permalink":{"url":"https://t.co/D2VueIkmkH","expanded":"https://x.com/SuprDeclarative/status/1986214864151539735","display":"x.com/SuprDeclarativ…"},"retweeted":false,"fact_check":null,"id":"1986501944299692264","view_count":305,"bookmark_count":0,"created_at":1762453945000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@khivedoteth @FlutterDev Here's what I said yesterday about where I'd start:\nhttps://t.co/D2VueIkmkH","in_reply_to_user_id_str":"790201826","in_reply_to_status_id_str":"1986501715924005083","is_quote_status":1,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[22,208],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1369087208","name":"Hari","screen_name":"harii_07","indices":[0,9]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[10,21]}]},"favorited":false,"in_reply_to_screen_name":"harii_07","lang":"en","retweeted":false,"fact_check":null,"id":"1986499762779283532","view_count":215,"bookmark_count":0,"created_at":1762453425000,"favorite_count":3,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@harii_07 @FlutterDev I'm not sure what \"this way\" is, but all I can do is offer. I live 5 mins away from Google HQ, I've been on the team before, I would imagine it's pretty easy if they wanna bring me back.","in_reply_to_user_id_str":"1369087208","in_reply_to_status_id_str":"1986497704479105440","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[23,149],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1601453019195133952","name":"Anish","screen_name":"anishtwts","indices":[0,10]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[11,22]}]},"favorited":false,"in_reply_to_screen_name":"anishtwts","lang":"en","retweeted":false,"fact_check":null,"id":"1986500104828965069","view_count":188,"bookmark_count":0,"created_at":1762453507000,"favorite_count":2,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@anishtwts @FlutterDev Thanks. I'm not holding my breath, but it's an honest offer to put all this personal stuff behind and build a bridge together.","in_reply_to_user_id_str":"1601453019195133952","in_reply_to_status_id_str":"1986499927904821374","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[29,96],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"207489846","name":"Josh Hargreaves","screen_name":"joshjhargreaves","indices":[0,16]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[17,28]}]},"favorited":false,"in_reply_to_screen_name":"joshjhargreaves","lang":"en","retweeted":false,"fact_check":null,"id":"1986513196447113496","view_count":134,"bookmark_count":0,"created_at":1762456628000,"favorite_count":0,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@joshjhargreaves @FlutterDev What an oddly non-actionable critique. Would you like to try again?","in_reply_to_user_id_str":"207489846","in_reply_to_status_id_str":"1986511828654993527","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[31,230],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[11,18]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[19,30]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986481130774929819","view_count":237,"bookmark_count":1,"created_at":1762448983000,"favorite_count":4,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986214864151539735","full_text":"@iosemagno @jezell @FlutterDev Definitely. Something I recommended to them back in 2020 when I left. But I’m offering here to return to the team to do what I can on that front. Looks like nobody on their side is interested though.","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986431218955493452","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[29,309],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"207489846","name":"Josh Hargreaves","screen_name":"joshjhargreaves","indices":[0,16]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[17,28]}]},"favorited":false,"in_reply_to_screen_name":"joshjhargreaves","lang":"en","retweeted":false,"fact_check":null,"id":"1986520375275168073","view_count":62,"bookmark_count":0,"created_at":1762458339000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"I suppose you can choose to view it that way if you really want to. But since you were focused on \"self awareness\" you might look around a little bit to see the volume of long-standing Flutter community members who support the posts. I'm trying to bridge a contentious gap that's widened for years - you're dropping by and being a bit of a dick....","in_reply_to_user_id_str":"207489846","in_reply_to_status_id_str":"1986519635814916286","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,276],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[0,11]},{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[0,11]}]},"favorited":false,"in_reply_to_screen_name":"guidorosso","lang":"en","retweeted":false,"fact_check":null,"id":"1986556553156305056","view_count":24,"bookmark_count":0,"created_at":1762466965000,"favorite_count":0,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986556553156305056","full_text":"@guidorosso I have a question about using Rive for app components - specifically around testing. It's common to use screenshot tests in apps. Does the Rive API have a mechanism to pull a bitmap screenshot of the current UI? And does it always use the same algo for shadows and text anti-aliasing, such that pulling screenshots over time, across platforms will likely produce the exact same pixels?","in_reply_to_user_id_str":"4925231","in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-08","value":5,"startTime":1762473600000,"endTime":1762560000000,"tweets":[{"bookmarked":false,"display_text_range":[0,120],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"4917378776","name":"Rive","screen_name":"rive_app","indices":[0,9]}]},"favorited":false,"in_reply_to_screen_name":"rive_app","lang":"en","quoted_status_id_str":"1986634767186731352","quoted_status_permalink":{"url":"https://t.co/hWmSC7GgqL","expanded":"https://twitter.com/rive_app/status/1986634767186731352","display":"x.com/rive_app/statu…"},"retweeted":false,"fact_check":null,"id":"1986658099709768012","view_count":8002,"bookmark_count":16,"created_at":1762491175000,"favorite_count":116,"quote_count":1,"reply_count":3,"retweet_count":4,"user_id_str":"1109937471154905088","conversation_id_str":"1986658099709768012","full_text":"@rive_app is now officially the reincarnation of Flash. They just need to call their scripting language Actionscript 4.0","in_reply_to_user_id_str":"4917378776","in_reply_to_status_id_str":null,"is_quote_status":1,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,29],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986846333223997692","view_count":146,"bookmark_count":0,"created_at":1762536054000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986840106863599741","full_text":"@jezell Literally gonna do it","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986840106863599741","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[9,197],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[0,8]}]},"favorited":false,"in_reply_to_screen_name":"RydMike","lang":"en","retweeted":false,"fact_check":null,"id":"1986913998777073967","view_count":69,"bookmark_count":0,"created_at":1762552187000,"favorite_count":4,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986911596271054950","full_text":"@RydMike To be fair I think this is mainly a problem because iOS decided their keyboard animation curve and height needed to be kept secret. And the drag to close would be hidden only in OEM views.","in_reply_to_user_id_str":"87799983","in_reply_to_status_id_str":"1986911596271054950","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[130,351],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"1055494766807433223","name":"Luke","screen_name":"luke_pighetti","indices":[11,25]},{"id_str":"451445963","name":"Chinmay କବି 🇮🇳💙","screen_name":"ChinuKabi","indices":[26,36]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[37,44]},{"id_str":"1353831575843188736","name":"Alexandru Mariuti","screen_name":"nank1ro","indices":[45,53]},{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[54,70]},{"id_str":"135460126","name":"Andrea Bizzotto 🇺🇦","screen_name":"biz84","indices":[71,77]},{"id_str":"711913","name":"Eric Seidel","screen_name":"_eseidel","indices":[78,87]},{"id_str":"1118681","name":"Seth Ladd","screen_name":"sethladd","indices":[88,97]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[98,106]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[107,115]},{"id_str":"543917371","name":"Alessio Salvadorini 💙","screen_name":"ASalvadorini","indices":[116,129]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986873136927961571","view_count":292,"bookmark_count":0,"created_at":1762542444000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986827182140985367","full_text":"@iosemagno @luke_pighetti @ChinuKabi @jezell @nank1ro @imadetheseworks @biz84 @_eseidel @sethladd @mraleph @RydMike @ASalvadorini I'm confused by \"native textfield\". A quick look through your post didn't clarify. Is this about synchronizing insets to the real keyboard size, or is this about creating a platform view for a truly native iOS text field?","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986827182140985367","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,231],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986850486318997981","view_count":137,"bookmark_count":0,"created_at":1762537044000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986840106863599741","full_text":"@jezell First I gotta ramp up. Gonna convert my fasting app to all Rive. Then I think I might try to finally build my own time tracker that I've been meaning to build for years. Then hopefully I can start thinking tooling for Rive.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986846541542543814","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[20,297],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[8,19]},{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[71,82]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986852357972615506","view_count":262,"bookmark_count":0,"created_at":1762537490000,"favorite_count":6,"quote_count":0,"reply_count":0,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1986840106863599741","full_text":"@jezell @guidorosso That’s exactly one of the things I’d like to offer @guidorosso - I’m trying to go full app dev with Rive. But that needs text fields, message editors, and document editors. I happened to have built all those from the ground up in Super Editor for Flutter. Wanna collab on Rive?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986851038700449812","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[130,403],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"1055494766807433223","name":"Luke","screen_name":"luke_pighetti","indices":[11,25]},{"id_str":"451445963","name":"Chinmay କବି 🇮🇳💙","screen_name":"ChinuKabi","indices":[26,36]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[37,44]},{"id_str":"1353831575843188736","name":"Alexandru Mariuti","screen_name":"nank1ro","indices":[45,53]},{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[54,70]},{"id_str":"135460126","name":"Andrea Bizzotto 🇺🇦","screen_name":"biz84","indices":[71,77]},{"id_str":"711913","name":"Eric Seidel","screen_name":"_eseidel","indices":[78,87]},{"id_str":"1118681","name":"Seth Ladd","screen_name":"sethladd","indices":[88,97]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[98,106]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[107,115]},{"id_str":"543917371","name":"Alessio Salvadorini 💙","screen_name":"ASalvadorini","indices":[116,129]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986899098721788216","view_count":195,"bookmark_count":0,"created_at":1762548634000,"favorite_count":3,"quote_count":0,"reply_count":3,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986827182140985367","full_text":"@iosemagno @luke_pighetti @ChinuKabi @jezell @nank1ro @imadetheseworks @biz84 @_eseidel @sethladd @mraleph @RydMike @ASalvadorini FYI, I've built a full fledged documented editor at Super Editor, and I've rebuilt the text field in Flutter from the ground up. Might be quicker to bridge any final quality gaps in those than to go through the pain of trying to fit platform views everywhere you need them.","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986897622859456866","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[130,269],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"1055494766807433223","name":"Luke","screen_name":"luke_pighetti","indices":[11,25]},{"id_str":"451445963","name":"Chinmay କବି 🇮🇳💙","screen_name":"ChinuKabi","indices":[26,36]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[37,44]},{"id_str":"1353831575843188736","name":"Alexandru Mariuti","screen_name":"nank1ro","indices":[45,53]},{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[54,70]},{"id_str":"135460126","name":"Andrea Bizzotto 🇺🇦","screen_name":"biz84","indices":[71,77]},{"id_str":"711913","name":"Eric Seidel","screen_name":"_eseidel","indices":[78,87]},{"id_str":"1118681","name":"Seth Ladd","screen_name":"sethladd","indices":[88,97]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[98,106]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[107,115]},{"id_str":"543917371","name":"Alessio Salvadorini 💙","screen_name":"ASalvadorini","indices":[116,129]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986912637465301192","view_count":183,"bookmark_count":0,"created_at":1762551862000,"favorite_count":4,"quote_count":0,"reply_count":3,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986827182140985367","full_text":"@iosemagno @luke_pighetti @ChinuKabi @jezell @nank1ro @imadetheseworks @biz84 @_eseidel @sethladd @mraleph @RydMike @ASalvadorini What’s holding you back there? Super editor is used for chat in a major app and we’re doubling down our focus there. Including for AI chat.","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986906865142231088","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-09","value":0,"startTime":1762560000000,"endTime":1762646400000,"tweets":[{"bookmarked":false,"display_text_range":[20,67],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1671203695814385664","name":"Nic Dean","screen_name":"_nicdean","indices":[0,9]},{"id_str":"4917378776","name":"Rive","screen_name":"rive_app","indices":[10,19]}]},"favorited":false,"in_reply_to_screen_name":"_nicdean","lang":"en","retweeted":false,"fact_check":null,"id":"1987270099108307108","view_count":2179,"bookmark_count":1,"created_at":1762637087000,"favorite_count":8,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987256377480561044","full_text":"@_nicdean @rive_app Steve Jobs also had something to say about it 😂","in_reply_to_user_id_str":"1671203695814385664","in_reply_to_status_id_str":"1987256377480561044","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,94],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1987230141995733196","view_count":855,"bookmark_count":0,"created_at":1762627561000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987208556664529121","full_text":"@jezell If it's using \"platform native views\" then how can it also ship a \"C++ layout engine\"?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1987208556664529121","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-10","value":1,"startTime":1762646400000,"endTime":1762732800000,"tweets":[{"bookmarked":false,"display_text_range":[0,278],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[7,18]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[7,18]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1987615291376017496","view_count":2715,"bookmark_count":12,"created_at":1762719388000,"favorite_count":24,"quote_count":0,"reply_count":4,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1987615291376017496","full_text":"When a @FlutterDev subtree gets replaced with another, new State objects get initialized before old ones are disposed. This creates a tough situation for any shared object that needs to get handed from the old State to the new one. It creates a situation where an object belongs to two States when it may be designed to only belong to one. Does anyone know why Flutter doesn't run dispose() on the old State before running initState() on the new State?","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[17,38],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[8,16]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1987392738321703109","view_count":235,"bookmark_count":0,"created_at":1762666327000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986985272563933650","full_text":"@jezell @RydMike Who was the 2nd exit?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1987097773418946830","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[20,294],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[8,19]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1987620525045403855","view_count":597,"bookmark_count":1,"created_at":1762720636000,"favorite_count":3,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987615291376017496","full_text":"Yeah, nominally a GlobalKey can retain the State object to avoid the issue. However, there are about 5 people in the world who truly understand the reparenting mechanism implemented for GlobalKeys. So, for example, making every Super Editor user figure out when and where to attach a GlobalKey so that their Super Editor plugins don't blow up really isn't feasible. Instead, we need to do stuff in Super Editor that makes this management fool proof and invisible to our users.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1987619905123062168","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-11","value":0,"startTime":1762732800000,"endTime":1762819200000,"tweets":[]},{"label":"2025-11-12","value":0,"startTime":1762819200000,"endTime":1762905600000,"tweets":[{"bookmarked":false,"display_text_range":[11,116],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[0,10]}]},"favorited":true,"in_reply_to_screen_name":"damy_wise","lang":"en","retweeted":false,"fact_check":null,"id":"1988174349346754832","view_count":4356,"bookmark_count":0,"created_at":1762852678000,"favorite_count":5,"quote_count":1,"reply_count":4,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@damy_wise I’m about to move my focus from Flutter to Rive. Curious to hear your thoughts based on your experiences.","in_reply_to_user_id_str":"1243886626238947328","in_reply_to_status_id_str":"1987851785420284163","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[26,72],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"145322774","name":"Lee Higgins","screen_name":"Depthperpixel","indices":[0,14]},{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[15,25]}]},"favorited":false,"in_reply_to_screen_name":"Depthperpixel","lang":"en","retweeted":false,"fact_check":null,"id":"1988329471406190798","view_count":30,"bookmark_count":0,"created_at":1762889662000,"favorite_count":0,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@Depthperpixel @damy_wise Doesn’t rive support raster images internally?","in_reply_to_user_id_str":"145322774","in_reply_to_status_id_str":"1988328965812219973","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[26,158],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"145322774","name":"Lee Higgins","screen_name":"Depthperpixel","indices":[0,14]},{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[15,25]}]},"favorited":false,"in_reply_to_screen_name":"Depthperpixel","lang":"en","retweeted":false,"fact_check":null,"id":"1988328197457670360","view_count":75,"bookmark_count":0,"created_at":1762889358000,"favorite_count":0,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@Depthperpixel @damy_wise Have you tried using it for app UI though? I imagine it’s a pretty different performance profile for buttons and text and lists etc.","in_reply_to_user_id_str":"145322774","in_reply_to_status_id_str":"1988264189664657652","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-13","value":0,"startTime":1762905600000,"endTime":1762992000000,"tweets":[{"bookmarked":false,"display_text_range":[21,101],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"114900758","name":"Roman Jaquez","screen_name":"drcoderz","indices":[0,9]},{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[10,20]}]},"favorited":false,"in_reply_to_screen_name":"drcoderz","lang":"en","retweeted":false,"fact_check":null,"id":"1988441166556410069","view_count":65,"bookmark_count":0,"created_at":1762916292000,"favorite_count":0,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@drcoderz @damy_wise How’d you end up using it? One big rive app or rive per page or rive per widget?","in_reply_to_user_id_str":"114900758","in_reply_to_status_id_str":"1988424334885744756","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-14","value":0,"startTime":1762992000000,"endTime":1763078400000,"tweets":[{"bookmarked":false,"display_text_range":[23,151],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"1654808914675011585","name":"Tahiro Agbanwa ⚡️","screen_name":"squirelBoy360","indices":[8,22]}]},"favorited":true,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1988840624594817412","view_count":146,"bookmark_count":0,"created_at":1763011530000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1988838418499956884","full_text":"@jezell @squirelBoy360 I’d be interested in trying a Dart wrapper around yoga as a way of using nothing but Rive widgets in app without any flutter UI.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1988840195194589372","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-15","value":0,"startTime":1763078400000,"endTime":1763164800000,"tweets":[]},{"label":"2025-11-16","value":0,"startTime":1763164800000,"endTime":1763251200000,"tweets":[]},{"label":"2025-11-17","value":0,"startTime":1763251200000,"endTime":1763337600000,"tweets":[]},{"label":"2025-11-18","value":0,"startTime":1763337600000,"endTime":1763424000000,"tweets":[]}],"nlikes":[{"label":"2025-10-19","value":0,"startTime":1760745600000,"endTime":1760832000000,"tweets":[]},{"label":"2025-10-20","value":0,"startTime":1760832000000,"endTime":1760918400000,"tweets":[]},{"label":"2025-10-21","value":0,"startTime":1760918400000,"endTime":1761004800000,"tweets":[]},{"label":"2025-10-22","value":0,"startTime":1761004800000,"endTime":1761091200000,"tweets":[]},{"label":"2025-10-23","value":23,"startTime":1761091200000,"endTime":1761177600000,"tweets":[{"bookmarked":false,"display_text_range":[0,248],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[5,16]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1981032849764741575","view_count":3814,"bookmark_count":3,"created_at":1761150011000,"favorite_count":22,"quote_count":0,"reply_count":1,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1981032849764741575","full_text":"Does @FlutterDev really still not support sampling child widget pixels in fragment shaders on iOS and Android? It seems to work fine on desktop and in the browser, but seems totally broken on mobile. Is this for real? Or am I doing something wrong?","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[26,270],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/l8dB3quOTv","expanded_url":"https://x.com/SuprDeclarative/status/1981081844440584325/photo/1","id_str":"1981081505016184832","indices":[271,294],"media_key":"3_1981081505016184832","media_url_https":"https://pbs.twimg.com/media/G343IfGWAAAASML.jpg","type":"photo","url":"https://t.co/l8dB3quOTv","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":876,"w":1326,"resize":"fit"},"medium":{"h":793,"w":1200,"resize":"fit"},"small":{"h":449,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":876,"width":1326,"focus_rects":[{"x":0,"y":133,"w":1326,"h":743},{"x":59,"y":0,"w":876,"h":876},{"x":113,"y":0,"w":768,"h":876},{"x":278,"y":0,"w":438,"h":876},{"x":0,"y":0,"w":1326,"h":876}]},"media_results":{"result":{"media_key":"3_1981081505016184832"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"2245268778","name":"Raouf Rahiche","screen_name":"raoufrahiche","indices":[0,13]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[14,25]}]},"extended_entities":{"media":[{"display_url":"pic.x.com/l8dB3quOTv","expanded_url":"https://x.com/SuprDeclarative/status/1981081844440584325/photo/1","id_str":"1981081505016184832","indices":[271,294],"media_key":"3_1981081505016184832","media_url_https":"https://pbs.twimg.com/media/G343IfGWAAAASML.jpg","type":"photo","url":"https://t.co/l8dB3quOTv","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":876,"w":1326,"resize":"fit"},"medium":{"h":793,"w":1200,"resize":"fit"},"small":{"h":449,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":876,"width":1326,"focus_rects":[{"x":0,"y":133,"w":1326,"h":743},{"x":59,"y":0,"w":876,"h":876},{"x":113,"y":0,"w":768,"h":876},{"x":278,"y":0,"w":438,"h":876},{"x":0,"y":0,"w":1326,"h":876}]},"media_results":{"result":{"media_key":"3_1981081505016184832"}}}]},"favorited":false,"in_reply_to_screen_name":"raoufrahiche","lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1981081844440584325","view_count":476,"bookmark_count":1,"created_at":1761161693000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1981032849764741575","full_text":"@raoufrahiche @FlutterDev I think it's working with this conditional - although it seems like when I launch the app with this code, it completely crashes. But when I comment this out, run the app, then uncomment and hot reload, it works.\n\nIs this what you were thinking? https://t.co/l8dB3quOTv","in_reply_to_user_id_str":"2245268778","in_reply_to_status_id_str":"1981067010466283859","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-10-24","value":0,"startTime":1761177600000,"endTime":1761264000000,"tweets":[]},{"label":"2025-10-25","value":0,"startTime":1761264000000,"endTime":1761350400000,"tweets":[]},{"label":"2025-10-26","value":0,"startTime":1761350400000,"endTime":1761436800000,"tweets":[]},{"label":"2025-10-27","value":0,"startTime":1761436800000,"endTime":1761523200000,"tweets":[]},{"label":"2025-10-28","value":0,"startTime":1761523200000,"endTime":1761609600000,"tweets":[]},{"label":"2025-10-29","value":71,"startTime":1761609600000,"endTime":1761696000000,"tweets":[{"bookmarked":false,"display_text_range":[0,271],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[11,22]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1983229616975458743","view_count":8911,"bookmark_count":37,"created_at":1761673761000,"favorite_count":65,"quote_count":0,"reply_count":32,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1983229616975458743","full_text":"To all the @FlutterDev's who are obsessed with AI, if I want to select one freely available AI tool and ask it to create entire screens/features in a little app, which one do you currently recommend, and why? Usually I ask targeted questions - but I want to try full gen.","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[20,128],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[8,19]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1983240721953107984","view_count":1078,"bookmark_count":0,"created_at":1761676409000,"favorite_count":4,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1983229616975458743","full_text":"@jezell @FlutterDev How do all these options work? Does each one have an app? Or do I install a CLI and point it at a directory?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1983237525796991295","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[25,94],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[0,16]},{"id_str":"568573618","name":"Anton Borries 🦋","screen_name":"ABausG","indices":[17,24]}]},"favorited":false,"in_reply_to_screen_name":"imadetheseworks","lang":"en","retweeted":false,"fact_check":null,"id":"1983241033166340355","view_count":688,"bookmark_count":1,"created_at":1761676483000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1983167497798074434","full_text":"@imadetheseworks @ABausG Oh man you got P2’ed. Only one level better than “never gonna happen”","in_reply_to_user_id_str":"1785951221158756352","in_reply_to_status_id_str":"1983167497798074434","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-10-30","value":18,"startTime":1761696000000,"endTime":1761782400000,"tweets":[{"bookmarked":false,"display_text_range":[0,90],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"github.com/flutter/flutte…","expanded_url":"https://github.com/flutter/flutter/issues/177693","url":"https://t.co/vMRGbOY36Q","indices":[67,90]}],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[4,15]}]},"favorited":false,"lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1983628579796873630","view_count":2948,"bookmark_count":2,"created_at":1761768882000,"favorite_count":18,"quote_count":1,"reply_count":0,"retweet_count":3,"user_id_str":"1109937471154905088","conversation_id_str":"1983628579796873630","full_text":"FYI @FlutterDev's OverlayPortal might be breaking your hot reload: https://t.co/vMRGbOY36Q","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-10-31","value":0,"startTime":1761782400000,"endTime":1761868800000,"tweets":[]},{"label":"2025-11-01","value":0,"startTime":1761868800000,"endTime":1761955200000,"tweets":[]},{"label":"2025-11-02","value":0,"startTime":1761955200000,"endTime":1762041600000,"tweets":[]},{"label":"2025-11-03","value":0,"startTime":1762041600000,"endTime":1762128000000,"tweets":[]},{"label":"2025-11-04","value":0,"startTime":1762128000000,"endTime":1762214400000,"tweets":[]},{"label":"2025-11-05","value":35,"startTime":1762214400000,"endTime":1762300800000,"tweets":[{"bookmarked":false,"display_text_range":[31,77],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[0,8]},{"id_str":"561770146","name":"Khalid Warsame","screen_name":"KhalidWarsa","indices":[9,21]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[22,30]}]},"favorited":false,"in_reply_to_screen_name":"mraleph","lang":"en","retweeted":false,"fact_check":null,"id":"1985749479405019214","view_count":1683,"bookmark_count":0,"created_at":1762274543000,"favorite_count":8,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1985594437981102325","full_text":"@mraleph @KhalidWarsa @RydMike It's very likely taking people to React Native","in_reply_to_user_id_str":"53010195","in_reply_to_status_id_str":"1985678859539276287","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[31,300],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[0,8]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[9,17]},{"id_str":"561770146","name":"Khalid Warsame","screen_name":"KhalidWarsa","indices":[18,30]}]},"favorited":false,"in_reply_to_screen_name":"RydMike","lang":"en","retweeted":false,"fact_check":null,"id":"1985754577132736762","view_count":2019,"bookmark_count":2,"created_at":1762275759000,"favorite_count":21,"quote_count":0,"reply_count":4,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1985594437981102325","full_text":"@RydMike @mraleph @KhalidWarsa Yep. I've said it before, but I'll say it again. Flutter has not only ignored its own community, but has been hostile to it. Flutter has now lost almost every unique value prop. It will lose the rest. It has no moat. I don't see how it avoids zombie mode at this point.","in_reply_to_user_id_str":"87799983","in_reply_to_status_id_str":"1985751390883389866","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[48,178],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"703122697232863233","name":"Thomas Burkhart 💙","screen_name":"ThomasBurkhartB","indices":[0,16]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[17,25]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[26,34]},{"id_str":"561770146","name":"Khalid Warsame","screen_name":"KhalidWarsa","indices":[35,47]}]},"favorited":false,"in_reply_to_screen_name":"ThomasBurkhartB","lang":"en","retweeted":false,"fact_check":null,"id":"1985816253479731210","view_count":1609,"bookmark_count":0,"created_at":1762290464000,"favorite_count":6,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1985594437981102325","full_text":"@ThomasBurkhartB @RydMike @mraleph @KhalidWarsa I don’t really remember when they were. I only remember when they were ignored. But for years now they’ve been actively combatted.","in_reply_to_user_id_str":"703122697232863233","in_reply_to_status_id_str":"1985815658202796387","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-06","value":141,"startTime":1762300800000,"endTime":1762387200000,"tweets":[{"bookmarked":false,"display_text_range":[0,279],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[23,30]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[86,97]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[23,30]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[86,97]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1986214864151539735","view_count":4605,"bookmark_count":10,"created_at":1762385500000,"favorite_count":103,"quote_count":2,"reply_count":11,"retweet_count":8,"user_id_str":"1109937471154905088","conversation_id_str":"1986214864151539735","full_text":"My back and forth with @jezell earlier got me thinking...if I actually did rejoin the @FlutterDev team, what would I try early on to rapidly improve community engagement? Here are my thoughts:\n\nHold 4 different recurring office hours to understand pain points and set priorities:\n * Indie dev\n * Agency dev\n * Enterprise dev\n * Flutter tooling dev (e.g., Code Magic, Shorebird, etc)\n\nI would do the majority of my personal Flutter contributions on live streams:\n * Would teach community how to contribute\n * Would spread knowledge of new implementation details\n * Would receive help from live stream members when implementing\n * Would file tickets and assign to members of the community during the stream\n\nHelp devs get their PRs cleaned up and merged. Ideally do this with them in real-time on a stream, but also some async for time zone issues.\n\nVisit American companies using Flutter to observe their difficulties firsthand.\n\nAttend as many US Meetups and conferences as possible to show off new features, and engage in listening sessions with the community.\n\nIdentify the most popular and promising packages and help those developers polish it, document it, test it, etc. Show that the Flutter org is committed to the health of the package ecosystem.\n\nI would do my best to blur the line between the organization and the community. Because at the end of the day, either there is no line, or there is no healthy organization or community.","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,196],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"313393045","name":"Michael Thomsen","screen_name":"MiSvTh","indices":[39,46]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986193090642911320","view_count":349,"bookmark_count":1,"created_at":1762380309000,"favorite_count":16,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986188317327814799","full_text":"@jezell Then I'll put it out there. If @MiSvTh would like to turn this ship around for community engagement, I'd sit down with him to talk about getting me back on the team to help make it happen.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986190517168971877","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,45],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986190022979297772","view_count":544,"bookmark_count":0,"created_at":1762379577000,"favorite_count":4,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986188317327814799","full_text":"@jezell Not surprised at all at this point...","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986188356355825996","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,214],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"SuprDeclarative","lang":"en","retweeted":false,"fact_check":null,"id":"1986190302093398508","view_count":529,"bookmark_count":0,"created_at":1762379644000,"favorite_count":7,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986188317327814799","full_text":"@jezell You know, I would consider rejoining the team to get this velocity up, if they were serious about improving their ways. But I'm guessing they'd rather just keep doing what hasn't worked and sink the ship...","in_reply_to_user_id_str":"1109937471154905088","in_reply_to_status_id_str":"1986190022979297772","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[34,54],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"857973744","name":"Abdallah Shaban","screen_name":"AbdallahSh07","indices":[0,13]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[14,21]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[22,33]}]},"favorited":false,"in_reply_to_screen_name":"AbdallahSh07","lang":"en","retweeted":false,"fact_check":null,"id":"1986216363019624542","view_count":594,"bookmark_count":0,"created_at":1762385857000,"favorite_count":11,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986214864151539735","full_text":"@AbdallahSh07 @jezell @FlutterDev I could do that work","in_reply_to_user_id_str":"857973744","in_reply_to_status_id_str":"1986215601120166103","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-07","value":81,"startTime":1762387200000,"endTime":1762473600000,"tweets":[{"bookmarked":false,"display_text_range":[0,271],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[59,70]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[59,70]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1986491522825789549","view_count":4806,"bookmark_count":7,"created_at":1762451460000,"favorite_count":70,"quote_count":2,"reply_count":7,"retweet_count":4,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"Can we all pause and notice that we're stuck in an endless @FlutterDev loop between the community and the team? Forget the latest specific issue - we're on a merry-go-round that never stops spinning, and only seems to get faster. It goes like this:\n\n1. A community member experiences something that is frustrating, limiting, concerning, or all of the above.\n\n2. Flutter team does some combination of ignore it, tell the community member to file an issue that will likely never be worked on, or to fix it themselves.\n\n3. Community member feels entitled to an actual solution from Flutter.\n\n4. Flutter team gets defensive. Flutter-splains that they merge lots of outside code, and they're busy with other important things, and that problem isn't even really a problem if you understand what Flutter is meant to do, and maybe it's even a feature and not a bug.\n\n5. Community members feel ignored, marginalized, and disrespected, yet again, for the 100th time. Community members go through a therapy session by reminding the Flutter team of those last 100 times problems came up that didn't get addressed and didn't get solved.\n\n6. Flutter team becomes more defensive and even passive aggressive with community members.\n\n7. NOTHING GETS BETTER\n\nYesterday I offered to make myself available to rejoin the team to bridge this gap. No doubt it's a very tall task after so many years of this, but I'm willing to give it a go if they are. I will take all these public arrows for the team. \n\nDespite my personal issues with various people on the team, I believe that the only way for me to preserve my ability to use the skills I've spent 7 years building, is to finally bridge this gap and return Flutter to the \"community driven\" project that it once billed itself to be.","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[13,278],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"133487462","name":"Graham : A Star Wars Story 💙","screen_name":"whoisgraham","indices":[0,12]}]},"favorited":false,"in_reply_to_screen_name":"whoisgraham","lang":"en","retweeted":false,"fact_check":null,"id":"1986548582556856517","view_count":35,"bookmark_count":0,"created_at":1762465065000,"favorite_count":0,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986505347218219519","full_text":"@whoisgraham If that's a subtweet about me, I'd like to know it and why you feel that way. If it's about someone else, I'd like to know that too. I don't really understand this behavior of putting out passive aggressive tweets while also playing the role of adult in the room...","in_reply_to_user_id_str":"133487462","in_reply_to_status_id_str":"1986505347218219519","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[25,100],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"x.com/SuprDeclarativ…","expanded_url":"https://x.com/SuprDeclarative/status/1986214864151539735","url":"https://t.co/D2VueIkmkH","indices":[77,100]}],"user_mentions":[{"id_str":"790201826","name":"pk","screen_name":"khivedoteth","indices":[0,12]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[13,24]}]},"favorited":false,"in_reply_to_screen_name":"khivedoteth","lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"quoted_status_id_str":"1986214864151539735","quoted_status_permalink":{"url":"https://t.co/D2VueIkmkH","expanded":"https://x.com/SuprDeclarative/status/1986214864151539735","display":"x.com/SuprDeclarativ…"},"retweeted":false,"fact_check":null,"id":"1986501944299692264","view_count":305,"bookmark_count":0,"created_at":1762453945000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@khivedoteth @FlutterDev Here's what I said yesterday about where I'd start:\nhttps://t.co/D2VueIkmkH","in_reply_to_user_id_str":"790201826","in_reply_to_status_id_str":"1986501715924005083","is_quote_status":1,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[22,208],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1369087208","name":"Hari","screen_name":"harii_07","indices":[0,9]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[10,21]}]},"favorited":false,"in_reply_to_screen_name":"harii_07","lang":"en","retweeted":false,"fact_check":null,"id":"1986499762779283532","view_count":215,"bookmark_count":0,"created_at":1762453425000,"favorite_count":3,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@harii_07 @FlutterDev I'm not sure what \"this way\" is, but all I can do is offer. I live 5 mins away from Google HQ, I've been on the team before, I would imagine it's pretty easy if they wanna bring me back.","in_reply_to_user_id_str":"1369087208","in_reply_to_status_id_str":"1986497704479105440","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[23,149],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1601453019195133952","name":"Anish","screen_name":"anishtwts","indices":[0,10]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[11,22]}]},"favorited":false,"in_reply_to_screen_name":"anishtwts","lang":"en","retweeted":false,"fact_check":null,"id":"1986500104828965069","view_count":188,"bookmark_count":0,"created_at":1762453507000,"favorite_count":2,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@anishtwts @FlutterDev Thanks. I'm not holding my breath, but it's an honest offer to put all this personal stuff behind and build a bridge together.","in_reply_to_user_id_str":"1601453019195133952","in_reply_to_status_id_str":"1986499927904821374","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[29,96],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"207489846","name":"Josh Hargreaves","screen_name":"joshjhargreaves","indices":[0,16]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[17,28]}]},"favorited":false,"in_reply_to_screen_name":"joshjhargreaves","lang":"en","retweeted":false,"fact_check":null,"id":"1986513196447113496","view_count":134,"bookmark_count":0,"created_at":1762456628000,"favorite_count":0,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@joshjhargreaves @FlutterDev What an oddly non-actionable critique. Would you like to try again?","in_reply_to_user_id_str":"207489846","in_reply_to_status_id_str":"1986511828654993527","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[31,230],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[11,18]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[19,30]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986481130774929819","view_count":237,"bookmark_count":1,"created_at":1762448983000,"favorite_count":4,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986214864151539735","full_text":"@iosemagno @jezell @FlutterDev Definitely. Something I recommended to them back in 2020 when I left. But I’m offering here to return to the team to do what I can on that front. Looks like nobody on their side is interested though.","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986431218955493452","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[29,309],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"207489846","name":"Josh Hargreaves","screen_name":"joshjhargreaves","indices":[0,16]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[17,28]}]},"favorited":false,"in_reply_to_screen_name":"joshjhargreaves","lang":"en","retweeted":false,"fact_check":null,"id":"1986520375275168073","view_count":62,"bookmark_count":0,"created_at":1762458339000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"I suppose you can choose to view it that way if you really want to. But since you were focused on \"self awareness\" you might look around a little bit to see the volume of long-standing Flutter community members who support the posts. I'm trying to bridge a contentious gap that's widened for years - you're dropping by and being a bit of a dick....","in_reply_to_user_id_str":"207489846","in_reply_to_status_id_str":"1986519635814916286","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,276],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[0,11]},{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[0,11]}]},"favorited":false,"in_reply_to_screen_name":"guidorosso","lang":"en","retweeted":false,"fact_check":null,"id":"1986556553156305056","view_count":24,"bookmark_count":0,"created_at":1762466965000,"favorite_count":0,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986556553156305056","full_text":"@guidorosso I have a question about using Rive for app components - specifically around testing. It's common to use screenshot tests in apps. Does the Rive API have a mechanism to pull a bitmap screenshot of the current UI? And does it always use the same algo for shadows and text anti-aliasing, such that pulling screenshots over time, across platforms will likely produce the exact same pixels?","in_reply_to_user_id_str":"4925231","in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-08","value":137,"startTime":1762473600000,"endTime":1762560000000,"tweets":[{"bookmarked":false,"display_text_range":[0,120],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"4917378776","name":"Rive","screen_name":"rive_app","indices":[0,9]}]},"favorited":false,"in_reply_to_screen_name":"rive_app","lang":"en","quoted_status_id_str":"1986634767186731352","quoted_status_permalink":{"url":"https://t.co/hWmSC7GgqL","expanded":"https://twitter.com/rive_app/status/1986634767186731352","display":"x.com/rive_app/statu…"},"retweeted":false,"fact_check":null,"id":"1986658099709768012","view_count":8002,"bookmark_count":16,"created_at":1762491175000,"favorite_count":116,"quote_count":1,"reply_count":3,"retweet_count":4,"user_id_str":"1109937471154905088","conversation_id_str":"1986658099709768012","full_text":"@rive_app is now officially the reincarnation of Flash. They just need to call their scripting language Actionscript 4.0","in_reply_to_user_id_str":"4917378776","in_reply_to_status_id_str":null,"is_quote_status":1,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,29],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986846333223997692","view_count":146,"bookmark_count":0,"created_at":1762536054000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986840106863599741","full_text":"@jezell Literally gonna do it","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986840106863599741","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[9,197],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[0,8]}]},"favorited":false,"in_reply_to_screen_name":"RydMike","lang":"en","retweeted":false,"fact_check":null,"id":"1986913998777073967","view_count":69,"bookmark_count":0,"created_at":1762552187000,"favorite_count":4,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986911596271054950","full_text":"@RydMike To be fair I think this is mainly a problem because iOS decided their keyboard animation curve and height needed to be kept secret. And the drag to close would be hidden only in OEM views.","in_reply_to_user_id_str":"87799983","in_reply_to_status_id_str":"1986911596271054950","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[130,351],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"1055494766807433223","name":"Luke","screen_name":"luke_pighetti","indices":[11,25]},{"id_str":"451445963","name":"Chinmay କବି 🇮🇳💙","screen_name":"ChinuKabi","indices":[26,36]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[37,44]},{"id_str":"1353831575843188736","name":"Alexandru Mariuti","screen_name":"nank1ro","indices":[45,53]},{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[54,70]},{"id_str":"135460126","name":"Andrea Bizzotto 🇺🇦","screen_name":"biz84","indices":[71,77]},{"id_str":"711913","name":"Eric Seidel","screen_name":"_eseidel","indices":[78,87]},{"id_str":"1118681","name":"Seth Ladd","screen_name":"sethladd","indices":[88,97]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[98,106]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[107,115]},{"id_str":"543917371","name":"Alessio Salvadorini 💙","screen_name":"ASalvadorini","indices":[116,129]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986873136927961571","view_count":292,"bookmark_count":0,"created_at":1762542444000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986827182140985367","full_text":"@iosemagno @luke_pighetti @ChinuKabi @jezell @nank1ro @imadetheseworks @biz84 @_eseidel @sethladd @mraleph @RydMike @ASalvadorini I'm confused by \"native textfield\". A quick look through your post didn't clarify. Is this about synchronizing insets to the real keyboard size, or is this about creating a platform view for a truly native iOS text field?","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986827182140985367","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,231],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986850486318997981","view_count":137,"bookmark_count":0,"created_at":1762537044000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986840106863599741","full_text":"@jezell First I gotta ramp up. Gonna convert my fasting app to all Rive. Then I think I might try to finally build my own time tracker that I've been meaning to build for years. Then hopefully I can start thinking tooling for Rive.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986846541542543814","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[20,297],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[8,19]},{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[71,82]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986852357972615506","view_count":262,"bookmark_count":0,"created_at":1762537490000,"favorite_count":6,"quote_count":0,"reply_count":0,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1986840106863599741","full_text":"@jezell @guidorosso That’s exactly one of the things I’d like to offer @guidorosso - I’m trying to go full app dev with Rive. But that needs text fields, message editors, and document editors. I happened to have built all those from the ground up in Super Editor for Flutter. Wanna collab on Rive?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986851038700449812","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[130,403],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"1055494766807433223","name":"Luke","screen_name":"luke_pighetti","indices":[11,25]},{"id_str":"451445963","name":"Chinmay କବି 🇮🇳💙","screen_name":"ChinuKabi","indices":[26,36]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[37,44]},{"id_str":"1353831575843188736","name":"Alexandru Mariuti","screen_name":"nank1ro","indices":[45,53]},{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[54,70]},{"id_str":"135460126","name":"Andrea Bizzotto 🇺🇦","screen_name":"biz84","indices":[71,77]},{"id_str":"711913","name":"Eric Seidel","screen_name":"_eseidel","indices":[78,87]},{"id_str":"1118681","name":"Seth Ladd","screen_name":"sethladd","indices":[88,97]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[98,106]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[107,115]},{"id_str":"543917371","name":"Alessio Salvadorini 💙","screen_name":"ASalvadorini","indices":[116,129]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986899098721788216","view_count":195,"bookmark_count":0,"created_at":1762548634000,"favorite_count":3,"quote_count":0,"reply_count":3,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986827182140985367","full_text":"@iosemagno @luke_pighetti @ChinuKabi @jezell @nank1ro @imadetheseworks @biz84 @_eseidel @sethladd @mraleph @RydMike @ASalvadorini FYI, I've built a full fledged documented editor at Super Editor, and I've rebuilt the text field in Flutter from the ground up. Might be quicker to bridge any final quality gaps in those than to go through the pain of trying to fit platform views everywhere you need them.","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986897622859456866","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[130,269],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"1055494766807433223","name":"Luke","screen_name":"luke_pighetti","indices":[11,25]},{"id_str":"451445963","name":"Chinmay କବି 🇮🇳💙","screen_name":"ChinuKabi","indices":[26,36]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[37,44]},{"id_str":"1353831575843188736","name":"Alexandru Mariuti","screen_name":"nank1ro","indices":[45,53]},{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[54,70]},{"id_str":"135460126","name":"Andrea Bizzotto 🇺🇦","screen_name":"biz84","indices":[71,77]},{"id_str":"711913","name":"Eric Seidel","screen_name":"_eseidel","indices":[78,87]},{"id_str":"1118681","name":"Seth Ladd","screen_name":"sethladd","indices":[88,97]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[98,106]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[107,115]},{"id_str":"543917371","name":"Alessio Salvadorini 💙","screen_name":"ASalvadorini","indices":[116,129]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986912637465301192","view_count":183,"bookmark_count":0,"created_at":1762551862000,"favorite_count":4,"quote_count":0,"reply_count":3,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986827182140985367","full_text":"@iosemagno @luke_pighetti @ChinuKabi @jezell @nank1ro @imadetheseworks @biz84 @_eseidel @sethladd @mraleph @RydMike @ASalvadorini What’s holding you back there? Super editor is used for chat in a major app and we’re doubling down our focus there. Including for AI chat.","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986906865142231088","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-09","value":10,"startTime":1762560000000,"endTime":1762646400000,"tweets":[{"bookmarked":false,"display_text_range":[20,67],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1671203695814385664","name":"Nic Dean","screen_name":"_nicdean","indices":[0,9]},{"id_str":"4917378776","name":"Rive","screen_name":"rive_app","indices":[10,19]}]},"favorited":false,"in_reply_to_screen_name":"_nicdean","lang":"en","retweeted":false,"fact_check":null,"id":"1987270099108307108","view_count":2179,"bookmark_count":1,"created_at":1762637087000,"favorite_count":8,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987256377480561044","full_text":"@_nicdean @rive_app Steve Jobs also had something to say about it 😂","in_reply_to_user_id_str":"1671203695814385664","in_reply_to_status_id_str":"1987256377480561044","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,94],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1987230141995733196","view_count":855,"bookmark_count":0,"created_at":1762627561000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987208556664529121","full_text":"@jezell If it's using \"platform native views\" then how can it also ship a \"C++ layout engine\"?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1987208556664529121","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-10","value":28,"startTime":1762646400000,"endTime":1762732800000,"tweets":[{"bookmarked":false,"display_text_range":[0,278],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[7,18]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[7,18]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1987615291376017496","view_count":2715,"bookmark_count":12,"created_at":1762719388000,"favorite_count":24,"quote_count":0,"reply_count":4,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1987615291376017496","full_text":"When a @FlutterDev subtree gets replaced with another, new State objects get initialized before old ones are disposed. This creates a tough situation for any shared object that needs to get handed from the old State to the new one. It creates a situation where an object belongs to two States when it may be designed to only belong to one. Does anyone know why Flutter doesn't run dispose() on the old State before running initState() on the new State?","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[17,38],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[8,16]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1987392738321703109","view_count":235,"bookmark_count":0,"created_at":1762666327000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986985272563933650","full_text":"@jezell @RydMike Who was the 2nd exit?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1987097773418946830","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[20,294],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[8,19]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1987620525045403855","view_count":597,"bookmark_count":1,"created_at":1762720636000,"favorite_count":3,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987615291376017496","full_text":"Yeah, nominally a GlobalKey can retain the State object to avoid the issue. However, there are about 5 people in the world who truly understand the reparenting mechanism implemented for GlobalKeys. So, for example, making every Super Editor user figure out when and where to attach a GlobalKey so that their Super Editor plugins don't blow up really isn't feasible. Instead, we need to do stuff in Super Editor that makes this management fool proof and invisible to our users.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1987619905123062168","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-11","value":0,"startTime":1762732800000,"endTime":1762819200000,"tweets":[]},{"label":"2025-11-12","value":5,"startTime":1762819200000,"endTime":1762905600000,"tweets":[{"bookmarked":false,"display_text_range":[11,116],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[0,10]}]},"favorited":true,"in_reply_to_screen_name":"damy_wise","lang":"en","retweeted":false,"fact_check":null,"id":"1988174349346754832","view_count":4356,"bookmark_count":0,"created_at":1762852678000,"favorite_count":5,"quote_count":1,"reply_count":4,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@damy_wise I’m about to move my focus from Flutter to Rive. Curious to hear your thoughts based on your experiences.","in_reply_to_user_id_str":"1243886626238947328","in_reply_to_status_id_str":"1987851785420284163","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[26,72],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"145322774","name":"Lee Higgins","screen_name":"Depthperpixel","indices":[0,14]},{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[15,25]}]},"favorited":false,"in_reply_to_screen_name":"Depthperpixel","lang":"en","retweeted":false,"fact_check":null,"id":"1988329471406190798","view_count":30,"bookmark_count":0,"created_at":1762889662000,"favorite_count":0,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@Depthperpixel @damy_wise Doesn’t rive support raster images internally?","in_reply_to_user_id_str":"145322774","in_reply_to_status_id_str":"1988328965812219973","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[26,158],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"145322774","name":"Lee Higgins","screen_name":"Depthperpixel","indices":[0,14]},{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[15,25]}]},"favorited":false,"in_reply_to_screen_name":"Depthperpixel","lang":"en","retweeted":false,"fact_check":null,"id":"1988328197457670360","view_count":75,"bookmark_count":0,"created_at":1762889358000,"favorite_count":0,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@Depthperpixel @damy_wise Have you tried using it for app UI though? I imagine it’s a pretty different performance profile for buttons and text and lists etc.","in_reply_to_user_id_str":"145322774","in_reply_to_status_id_str":"1988264189664657652","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-13","value":0,"startTime":1762905600000,"endTime":1762992000000,"tweets":[{"bookmarked":false,"display_text_range":[21,101],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"114900758","name":"Roman Jaquez","screen_name":"drcoderz","indices":[0,9]},{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[10,20]}]},"favorited":false,"in_reply_to_screen_name":"drcoderz","lang":"en","retweeted":false,"fact_check":null,"id":"1988441166556410069","view_count":65,"bookmark_count":0,"created_at":1762916292000,"favorite_count":0,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@drcoderz @damy_wise How’d you end up using it? One big rive app or rive per page or rive per widget?","in_reply_to_user_id_str":"114900758","in_reply_to_status_id_str":"1988424334885744756","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-14","value":2,"startTime":1762992000000,"endTime":1763078400000,"tweets":[{"bookmarked":false,"display_text_range":[23,151],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"1654808914675011585","name":"Tahiro Agbanwa ⚡️","screen_name":"squirelBoy360","indices":[8,22]}]},"favorited":true,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1988840624594817412","view_count":146,"bookmark_count":0,"created_at":1763011530000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1988838418499956884","full_text":"@jezell @squirelBoy360 I’d be interested in trying a Dart wrapper around yoga as a way of using nothing but Rive widgets in app without any flutter UI.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1988840195194589372","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-15","value":0,"startTime":1763078400000,"endTime":1763164800000,"tweets":[]},{"label":"2025-11-16","value":0,"startTime":1763164800000,"endTime":1763251200000,"tweets":[]},{"label":"2025-11-17","value":0,"startTime":1763251200000,"endTime":1763337600000,"tweets":[]},{"label":"2025-11-18","value":0,"startTime":1763337600000,"endTime":1763424000000,"tweets":[]}],"nviews":[{"label":"2025-10-19","value":0,"startTime":1760745600000,"endTime":1760832000000,"tweets":[]},{"label":"2025-10-20","value":0,"startTime":1760832000000,"endTime":1760918400000,"tweets":[]},{"label":"2025-10-21","value":0,"startTime":1760918400000,"endTime":1761004800000,"tweets":[]},{"label":"2025-10-22","value":0,"startTime":1761004800000,"endTime":1761091200000,"tweets":[]},{"label":"2025-10-23","value":4290,"startTime":1761091200000,"endTime":1761177600000,"tweets":[{"bookmarked":false,"display_text_range":[0,248],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[5,16]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1981032849764741575","view_count":3814,"bookmark_count":3,"created_at":1761150011000,"favorite_count":22,"quote_count":0,"reply_count":1,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1981032849764741575","full_text":"Does @FlutterDev really still not support sampling child widget pixels in fragment shaders on iOS and Android? It seems to work fine on desktop and in the browser, but seems totally broken on mobile. Is this for real? Or am I doing something wrong?","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[26,270],"entities":{"hashtags":[],"media":[{"display_url":"pic.x.com/l8dB3quOTv","expanded_url":"https://x.com/SuprDeclarative/status/1981081844440584325/photo/1","id_str":"1981081505016184832","indices":[271,294],"media_key":"3_1981081505016184832","media_url_https":"https://pbs.twimg.com/media/G343IfGWAAAASML.jpg","type":"photo","url":"https://t.co/l8dB3quOTv","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":876,"w":1326,"resize":"fit"},"medium":{"h":793,"w":1200,"resize":"fit"},"small":{"h":449,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":876,"width":1326,"focus_rects":[{"x":0,"y":133,"w":1326,"h":743},{"x":59,"y":0,"w":876,"h":876},{"x":113,"y":0,"w":768,"h":876},{"x":278,"y":0,"w":438,"h":876},{"x":0,"y":0,"w":1326,"h":876}]},"media_results":{"result":{"media_key":"3_1981081505016184832"}}}],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"2245268778","name":"Raouf Rahiche","screen_name":"raoufrahiche","indices":[0,13]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[14,25]}]},"extended_entities":{"media":[{"display_url":"pic.x.com/l8dB3quOTv","expanded_url":"https://x.com/SuprDeclarative/status/1981081844440584325/photo/1","id_str":"1981081505016184832","indices":[271,294],"media_key":"3_1981081505016184832","media_url_https":"https://pbs.twimg.com/media/G343IfGWAAAASML.jpg","type":"photo","url":"https://t.co/l8dB3quOTv","ext_media_availability":{"status":"Available"},"features":{"large":{"faces":[]},"medium":{"faces":[]},"small":{"faces":[]},"orig":{"faces":[]}},"sizes":{"large":{"h":876,"w":1326,"resize":"fit"},"medium":{"h":793,"w":1200,"resize":"fit"},"small":{"h":449,"w":680,"resize":"fit"},"thumb":{"h":150,"w":150,"resize":"crop"}},"original_info":{"height":876,"width":1326,"focus_rects":[{"x":0,"y":133,"w":1326,"h":743},{"x":59,"y":0,"w":876,"h":876},{"x":113,"y":0,"w":768,"h":876},{"x":278,"y":0,"w":438,"h":876},{"x":0,"y":0,"w":1326,"h":876}]},"media_results":{"result":{"media_key":"3_1981081505016184832"}}}]},"favorited":false,"in_reply_to_screen_name":"raoufrahiche","lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1981081844440584325","view_count":476,"bookmark_count":1,"created_at":1761161693000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1981032849764741575","full_text":"@raoufrahiche @FlutterDev I think it's working with this conditional - although it seems like when I launch the app with this code, it completely crashes. But when I comment this out, run the app, then uncomment and hot reload, it works.\n\nIs this what you were thinking? https://t.co/l8dB3quOTv","in_reply_to_user_id_str":"2245268778","in_reply_to_status_id_str":"1981067010466283859","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-10-24","value":0,"startTime":1761177600000,"endTime":1761264000000,"tweets":[]},{"label":"2025-10-25","value":0,"startTime":1761264000000,"endTime":1761350400000,"tweets":[]},{"label":"2025-10-26","value":0,"startTime":1761350400000,"endTime":1761436800000,"tweets":[]},{"label":"2025-10-27","value":0,"startTime":1761436800000,"endTime":1761523200000,"tweets":[]},{"label":"2025-10-28","value":0,"startTime":1761523200000,"endTime":1761609600000,"tweets":[]},{"label":"2025-10-29","value":10677,"startTime":1761609600000,"endTime":1761696000000,"tweets":[{"bookmarked":false,"display_text_range":[0,271],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[11,22]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1983229616975458743","view_count":8911,"bookmark_count":37,"created_at":1761673761000,"favorite_count":65,"quote_count":0,"reply_count":32,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1983229616975458743","full_text":"To all the @FlutterDev's who are obsessed with AI, if I want to select one freely available AI tool and ask it to create entire screens/features in a little app, which one do you currently recommend, and why? Usually I ask targeted questions - but I want to try full gen.","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[20,128],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[8,19]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1983240721953107984","view_count":1078,"bookmark_count":0,"created_at":1761676409000,"favorite_count":4,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1983229616975458743","full_text":"@jezell @FlutterDev How do all these options work? Does each one have an app? Or do I install a CLI and point it at a directory?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1983237525796991295","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[25,94],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[0,16]},{"id_str":"568573618","name":"Anton Borries 🦋","screen_name":"ABausG","indices":[17,24]}]},"favorited":false,"in_reply_to_screen_name":"imadetheseworks","lang":"en","retweeted":false,"fact_check":null,"id":"1983241033166340355","view_count":688,"bookmark_count":1,"created_at":1761676483000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1983167497798074434","full_text":"@imadetheseworks @ABausG Oh man you got P2’ed. Only one level better than “never gonna happen”","in_reply_to_user_id_str":"1785951221158756352","in_reply_to_status_id_str":"1983167497798074434","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-10-30","value":2948,"startTime":1761696000000,"endTime":1761782400000,"tweets":[{"bookmarked":false,"display_text_range":[0,90],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"github.com/flutter/flutte…","expanded_url":"https://github.com/flutter/flutter/issues/177693","url":"https://t.co/vMRGbOY36Q","indices":[67,90]}],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[4,15]}]},"favorited":false,"lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"retweeted":false,"fact_check":null,"id":"1983628579796873630","view_count":2948,"bookmark_count":2,"created_at":1761768882000,"favorite_count":18,"quote_count":1,"reply_count":0,"retweet_count":3,"user_id_str":"1109937471154905088","conversation_id_str":"1983628579796873630","full_text":"FYI @FlutterDev's OverlayPortal might be breaking your hot reload: https://t.co/vMRGbOY36Q","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-10-31","value":0,"startTime":1761782400000,"endTime":1761868800000,"tweets":[]},{"label":"2025-11-01","value":0,"startTime":1761868800000,"endTime":1761955200000,"tweets":[]},{"label":"2025-11-02","value":0,"startTime":1761955200000,"endTime":1762041600000,"tweets":[]},{"label":"2025-11-03","value":0,"startTime":1762041600000,"endTime":1762128000000,"tweets":[]},{"label":"2025-11-04","value":0,"startTime":1762128000000,"endTime":1762214400000,"tweets":[]},{"label":"2025-11-05","value":5311,"startTime":1762214400000,"endTime":1762300800000,"tweets":[{"bookmarked":false,"display_text_range":[31,77],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[0,8]},{"id_str":"561770146","name":"Khalid Warsame","screen_name":"KhalidWarsa","indices":[9,21]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[22,30]}]},"favorited":false,"in_reply_to_screen_name":"mraleph","lang":"en","retweeted":false,"fact_check":null,"id":"1985749479405019214","view_count":1683,"bookmark_count":0,"created_at":1762274543000,"favorite_count":8,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1985594437981102325","full_text":"@mraleph @KhalidWarsa @RydMike It's very likely taking people to React Native","in_reply_to_user_id_str":"53010195","in_reply_to_status_id_str":"1985678859539276287","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[31,300],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[0,8]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[9,17]},{"id_str":"561770146","name":"Khalid Warsame","screen_name":"KhalidWarsa","indices":[18,30]}]},"favorited":false,"in_reply_to_screen_name":"RydMike","lang":"en","retweeted":false,"fact_check":null,"id":"1985754577132736762","view_count":2019,"bookmark_count":2,"created_at":1762275759000,"favorite_count":21,"quote_count":0,"reply_count":4,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1985594437981102325","full_text":"@RydMike @mraleph @KhalidWarsa Yep. I've said it before, but I'll say it again. Flutter has not only ignored its own community, but has been hostile to it. Flutter has now lost almost every unique value prop. It will lose the rest. It has no moat. I don't see how it avoids zombie mode at this point.","in_reply_to_user_id_str":"87799983","in_reply_to_status_id_str":"1985751390883389866","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[48,178],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"703122697232863233","name":"Thomas Burkhart 💙","screen_name":"ThomasBurkhartB","indices":[0,16]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[17,25]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[26,34]},{"id_str":"561770146","name":"Khalid Warsame","screen_name":"KhalidWarsa","indices":[35,47]}]},"favorited":false,"in_reply_to_screen_name":"ThomasBurkhartB","lang":"en","retweeted":false,"fact_check":null,"id":"1985816253479731210","view_count":1609,"bookmark_count":0,"created_at":1762290464000,"favorite_count":6,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1985594437981102325","full_text":"@ThomasBurkhartB @RydMike @mraleph @KhalidWarsa I don’t really remember when they were. I only remember when they were ignored. But for years now they’ve been actively combatted.","in_reply_to_user_id_str":"703122697232863233","in_reply_to_status_id_str":"1985815658202796387","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-06","value":6621,"startTime":1762300800000,"endTime":1762387200000,"tweets":[{"bookmarked":false,"display_text_range":[0,279],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[23,30]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[86,97]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[23,30]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[86,97]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1986214864151539735","view_count":4605,"bookmark_count":10,"created_at":1762385500000,"favorite_count":103,"quote_count":2,"reply_count":11,"retweet_count":8,"user_id_str":"1109937471154905088","conversation_id_str":"1986214864151539735","full_text":"My back and forth with @jezell earlier got me thinking...if I actually did rejoin the @FlutterDev team, what would I try early on to rapidly improve community engagement? Here are my thoughts:\n\nHold 4 different recurring office hours to understand pain points and set priorities:\n * Indie dev\n * Agency dev\n * Enterprise dev\n * Flutter tooling dev (e.g., Code Magic, Shorebird, etc)\n\nI would do the majority of my personal Flutter contributions on live streams:\n * Would teach community how to contribute\n * Would spread knowledge of new implementation details\n * Would receive help from live stream members when implementing\n * Would file tickets and assign to members of the community during the stream\n\nHelp devs get their PRs cleaned up and merged. Ideally do this with them in real-time on a stream, but also some async for time zone issues.\n\nVisit American companies using Flutter to observe their difficulties firsthand.\n\nAttend as many US Meetups and conferences as possible to show off new features, and engage in listening sessions with the community.\n\nIdentify the most popular and promising packages and help those developers polish it, document it, test it, etc. Show that the Flutter org is committed to the health of the package ecosystem.\n\nI would do my best to blur the line between the organization and the community. Because at the end of the day, either there is no line, or there is no healthy organization or community.","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,196],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"313393045","name":"Michael Thomsen","screen_name":"MiSvTh","indices":[39,46]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986193090642911320","view_count":349,"bookmark_count":1,"created_at":1762380309000,"favorite_count":16,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986188317327814799","full_text":"@jezell Then I'll put it out there. If @MiSvTh would like to turn this ship around for community engagement, I'd sit down with him to talk about getting me back on the team to help make it happen.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986190517168971877","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,45],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986190022979297772","view_count":544,"bookmark_count":0,"created_at":1762379577000,"favorite_count":4,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986188317327814799","full_text":"@jezell Not surprised at all at this point...","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986188356355825996","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,214],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"SuprDeclarative","lang":"en","retweeted":false,"fact_check":null,"id":"1986190302093398508","view_count":529,"bookmark_count":0,"created_at":1762379644000,"favorite_count":7,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986188317327814799","full_text":"@jezell You know, I would consider rejoining the team to get this velocity up, if they were serious about improving their ways. But I'm guessing they'd rather just keep doing what hasn't worked and sink the ship...","in_reply_to_user_id_str":"1109937471154905088","in_reply_to_status_id_str":"1986190022979297772","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[34,54],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"857973744","name":"Abdallah Shaban","screen_name":"AbdallahSh07","indices":[0,13]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[14,21]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[22,33]}]},"favorited":false,"in_reply_to_screen_name":"AbdallahSh07","lang":"en","retweeted":false,"fact_check":null,"id":"1986216363019624542","view_count":594,"bookmark_count":0,"created_at":1762385857000,"favorite_count":11,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986214864151539735","full_text":"@AbdallahSh07 @jezell @FlutterDev I could do that work","in_reply_to_user_id_str":"857973744","in_reply_to_status_id_str":"1986215601120166103","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-07","value":6006,"startTime":1762387200000,"endTime":1762473600000,"tweets":[{"bookmarked":false,"display_text_range":[0,271],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[59,70]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[59,70]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1986491522825789549","view_count":4806,"bookmark_count":7,"created_at":1762451460000,"favorite_count":70,"quote_count":2,"reply_count":7,"retweet_count":4,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"Can we all pause and notice that we're stuck in an endless @FlutterDev loop between the community and the team? Forget the latest specific issue - we're on a merry-go-round that never stops spinning, and only seems to get faster. It goes like this:\n\n1. A community member experiences something that is frustrating, limiting, concerning, or all of the above.\n\n2. Flutter team does some combination of ignore it, tell the community member to file an issue that will likely never be worked on, or to fix it themselves.\n\n3. Community member feels entitled to an actual solution from Flutter.\n\n4. Flutter team gets defensive. Flutter-splains that they merge lots of outside code, and they're busy with other important things, and that problem isn't even really a problem if you understand what Flutter is meant to do, and maybe it's even a feature and not a bug.\n\n5. Community members feel ignored, marginalized, and disrespected, yet again, for the 100th time. Community members go through a therapy session by reminding the Flutter team of those last 100 times problems came up that didn't get addressed and didn't get solved.\n\n6. Flutter team becomes more defensive and even passive aggressive with community members.\n\n7. NOTHING GETS BETTER\n\nYesterday I offered to make myself available to rejoin the team to bridge this gap. No doubt it's a very tall task after so many years of this, but I'm willing to give it a go if they are. I will take all these public arrows for the team. \n\nDespite my personal issues with various people on the team, I believe that the only way for me to preserve my ability to use the skills I've spent 7 years building, is to finally bridge this gap and return Flutter to the \"community driven\" project that it once billed itself to be.","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[13,278],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"133487462","name":"Graham : A Star Wars Story 💙","screen_name":"whoisgraham","indices":[0,12]}]},"favorited":false,"in_reply_to_screen_name":"whoisgraham","lang":"en","retweeted":false,"fact_check":null,"id":"1986548582556856517","view_count":35,"bookmark_count":0,"created_at":1762465065000,"favorite_count":0,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986505347218219519","full_text":"@whoisgraham If that's a subtweet about me, I'd like to know it and why you feel that way. If it's about someone else, I'd like to know that too. I don't really understand this behavior of putting out passive aggressive tweets while also playing the role of adult in the room...","in_reply_to_user_id_str":"133487462","in_reply_to_status_id_str":"1986505347218219519","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[25,100],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[{"display_url":"x.com/SuprDeclarativ…","expanded_url":"https://x.com/SuprDeclarative/status/1986214864151539735","url":"https://t.co/D2VueIkmkH","indices":[77,100]}],"user_mentions":[{"id_str":"790201826","name":"pk","screen_name":"khivedoteth","indices":[0,12]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[13,24]}]},"favorited":false,"in_reply_to_screen_name":"khivedoteth","lang":"en","possibly_sensitive":false,"possibly_sensitive_editable":true,"quoted_status_id_str":"1986214864151539735","quoted_status_permalink":{"url":"https://t.co/D2VueIkmkH","expanded":"https://x.com/SuprDeclarative/status/1986214864151539735","display":"x.com/SuprDeclarativ…"},"retweeted":false,"fact_check":null,"id":"1986501944299692264","view_count":305,"bookmark_count":0,"created_at":1762453945000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@khivedoteth @FlutterDev Here's what I said yesterday about where I'd start:\nhttps://t.co/D2VueIkmkH","in_reply_to_user_id_str":"790201826","in_reply_to_status_id_str":"1986501715924005083","is_quote_status":1,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[22,208],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1369087208","name":"Hari","screen_name":"harii_07","indices":[0,9]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[10,21]}]},"favorited":false,"in_reply_to_screen_name":"harii_07","lang":"en","retweeted":false,"fact_check":null,"id":"1986499762779283532","view_count":215,"bookmark_count":0,"created_at":1762453425000,"favorite_count":3,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@harii_07 @FlutterDev I'm not sure what \"this way\" is, but all I can do is offer. I live 5 mins away from Google HQ, I've been on the team before, I would imagine it's pretty easy if they wanna bring me back.","in_reply_to_user_id_str":"1369087208","in_reply_to_status_id_str":"1986497704479105440","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[23,149],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1601453019195133952","name":"Anish","screen_name":"anishtwts","indices":[0,10]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[11,22]}]},"favorited":false,"in_reply_to_screen_name":"anishtwts","lang":"en","retweeted":false,"fact_check":null,"id":"1986500104828965069","view_count":188,"bookmark_count":0,"created_at":1762453507000,"favorite_count":2,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@anishtwts @FlutterDev Thanks. I'm not holding my breath, but it's an honest offer to put all this personal stuff behind and build a bridge together.","in_reply_to_user_id_str":"1601453019195133952","in_reply_to_status_id_str":"1986499927904821374","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[29,96],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"207489846","name":"Josh Hargreaves","screen_name":"joshjhargreaves","indices":[0,16]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[17,28]}]},"favorited":false,"in_reply_to_screen_name":"joshjhargreaves","lang":"en","retweeted":false,"fact_check":null,"id":"1986513196447113496","view_count":134,"bookmark_count":0,"created_at":1762456628000,"favorite_count":0,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"@joshjhargreaves @FlutterDev What an oddly non-actionable critique. Would you like to try again?","in_reply_to_user_id_str":"207489846","in_reply_to_status_id_str":"1986511828654993527","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[31,230],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[11,18]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[19,30]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986481130774929819","view_count":237,"bookmark_count":1,"created_at":1762448983000,"favorite_count":4,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986214864151539735","full_text":"@iosemagno @jezell @FlutterDev Definitely. Something I recommended to them back in 2020 when I left. But I’m offering here to return to the team to do what I can on that front. Looks like nobody on their side is interested though.","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986431218955493452","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[29,309],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"207489846","name":"Josh Hargreaves","screen_name":"joshjhargreaves","indices":[0,16]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[17,28]}]},"favorited":false,"in_reply_to_screen_name":"joshjhargreaves","lang":"en","retweeted":false,"fact_check":null,"id":"1986520375275168073","view_count":62,"bookmark_count":0,"created_at":1762458339000,"favorite_count":1,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986491522825789549","full_text":"I suppose you can choose to view it that way if you really want to. But since you were focused on \"self awareness\" you might look around a little bit to see the volume of long-standing Flutter community members who support the posts. I'm trying to bridge a contentious gap that's widened for years - you're dropping by and being a bit of a dick....","in_reply_to_user_id_str":"207489846","in_reply_to_status_id_str":"1986519635814916286","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[0,276],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[0,11]},{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[0,11]}]},"favorited":false,"in_reply_to_screen_name":"guidorosso","lang":"en","retweeted":false,"fact_check":null,"id":"1986556553156305056","view_count":24,"bookmark_count":0,"created_at":1762466965000,"favorite_count":0,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986556553156305056","full_text":"@guidorosso I have a question about using Rive for app components - specifically around testing. It's common to use screenshot tests in apps. Does the Rive API have a mechanism to pull a bitmap screenshot of the current UI? And does it always use the same algo for shadows and text anti-aliasing, such that pulling screenshots over time, across platforms will likely produce the exact same pixels?","in_reply_to_user_id_str":"4925231","in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-08","value":9286,"startTime":1762473600000,"endTime":1762560000000,"tweets":[{"bookmarked":false,"display_text_range":[0,120],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"4917378776","name":"Rive","screen_name":"rive_app","indices":[0,9]}]},"favorited":false,"in_reply_to_screen_name":"rive_app","lang":"en","quoted_status_id_str":"1986634767186731352","quoted_status_permalink":{"url":"https://t.co/hWmSC7GgqL","expanded":"https://twitter.com/rive_app/status/1986634767186731352","display":"x.com/rive_app/statu…"},"retweeted":false,"fact_check":null,"id":"1986658099709768012","view_count":8002,"bookmark_count":16,"created_at":1762491175000,"favorite_count":116,"quote_count":1,"reply_count":3,"retweet_count":4,"user_id_str":"1109937471154905088","conversation_id_str":"1986658099709768012","full_text":"@rive_app is now officially the reincarnation of Flash. They just need to call their scripting language Actionscript 4.0","in_reply_to_user_id_str":"4917378776","in_reply_to_status_id_str":null,"is_quote_status":1,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,29],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986846333223997692","view_count":146,"bookmark_count":0,"created_at":1762536054000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986840106863599741","full_text":"@jezell Literally gonna do it","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986840106863599741","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[9,197],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[0,8]}]},"favorited":false,"in_reply_to_screen_name":"RydMike","lang":"en","retweeted":false,"fact_check":null,"id":"1986913998777073967","view_count":69,"bookmark_count":0,"created_at":1762552187000,"favorite_count":4,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986911596271054950","full_text":"@RydMike To be fair I think this is mainly a problem because iOS decided their keyboard animation curve and height needed to be kept secret. And the drag to close would be hidden only in OEM views.","in_reply_to_user_id_str":"87799983","in_reply_to_status_id_str":"1986911596271054950","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[130,351],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"1055494766807433223","name":"Luke","screen_name":"luke_pighetti","indices":[11,25]},{"id_str":"451445963","name":"Chinmay କବି 🇮🇳💙","screen_name":"ChinuKabi","indices":[26,36]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[37,44]},{"id_str":"1353831575843188736","name":"Alexandru Mariuti","screen_name":"nank1ro","indices":[45,53]},{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[54,70]},{"id_str":"135460126","name":"Andrea Bizzotto 🇺🇦","screen_name":"biz84","indices":[71,77]},{"id_str":"711913","name":"Eric Seidel","screen_name":"_eseidel","indices":[78,87]},{"id_str":"1118681","name":"Seth Ladd","screen_name":"sethladd","indices":[88,97]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[98,106]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[107,115]},{"id_str":"543917371","name":"Alessio Salvadorini 💙","screen_name":"ASalvadorini","indices":[116,129]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986873136927961571","view_count":292,"bookmark_count":0,"created_at":1762542444000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986827182140985367","full_text":"@iosemagno @luke_pighetti @ChinuKabi @jezell @nank1ro @imadetheseworks @biz84 @_eseidel @sethladd @mraleph @RydMike @ASalvadorini I'm confused by \"native textfield\". A quick look through your post didn't clarify. Is this about synchronizing insets to the real keyboard size, or is this about creating a platform view for a truly native iOS text field?","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986827182140985367","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,231],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986850486318997981","view_count":137,"bookmark_count":0,"created_at":1762537044000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986840106863599741","full_text":"@jezell First I gotta ramp up. Gonna convert my fasting app to all Rive. Then I think I might try to finally build my own time tracker that I've been meaning to build for years. Then hopefully I can start thinking tooling for Rive.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986846541542543814","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[20,297],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[8,19]},{"id_str":"4925231","name":"Guido Rosso","screen_name":"guidorosso","indices":[71,82]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1986852357972615506","view_count":262,"bookmark_count":0,"created_at":1762537490000,"favorite_count":6,"quote_count":0,"reply_count":0,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1986840106863599741","full_text":"@jezell @guidorosso That’s exactly one of the things I’d like to offer @guidorosso - I’m trying to go full app dev with Rive. But that needs text fields, message editors, and document editors. I happened to have built all those from the ground up in Super Editor for Flutter. Wanna collab on Rive?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1986851038700449812","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[130,403],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"1055494766807433223","name":"Luke","screen_name":"luke_pighetti","indices":[11,25]},{"id_str":"451445963","name":"Chinmay କବି 🇮🇳💙","screen_name":"ChinuKabi","indices":[26,36]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[37,44]},{"id_str":"1353831575843188736","name":"Alexandru Mariuti","screen_name":"nank1ro","indices":[45,53]},{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[54,70]},{"id_str":"135460126","name":"Andrea Bizzotto 🇺🇦","screen_name":"biz84","indices":[71,77]},{"id_str":"711913","name":"Eric Seidel","screen_name":"_eseidel","indices":[78,87]},{"id_str":"1118681","name":"Seth Ladd","screen_name":"sethladd","indices":[88,97]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[98,106]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[107,115]},{"id_str":"543917371","name":"Alessio Salvadorini 💙","screen_name":"ASalvadorini","indices":[116,129]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986899098721788216","view_count":195,"bookmark_count":0,"created_at":1762548634000,"favorite_count":3,"quote_count":0,"reply_count":3,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986827182140985367","full_text":"@iosemagno @luke_pighetti @ChinuKabi @jezell @nank1ro @imadetheseworks @biz84 @_eseidel @sethladd @mraleph @RydMike @ASalvadorini FYI, I've built a full fledged documented editor at Super Editor, and I've rebuilt the text field in Flutter from the ground up. Might be quicker to bridge any final quality gaps in those than to go through the pain of trying to fit platform views everywhere you need them.","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986897622859456866","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[130,269],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"40004421","name":"ioseph magno","screen_name":"iosemagno","indices":[0,10]},{"id_str":"1055494766807433223","name":"Luke","screen_name":"luke_pighetti","indices":[11,25]},{"id_str":"451445963","name":"Chinmay କବି 🇮🇳💙","screen_name":"ChinuKabi","indices":[26,36]},{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[37,44]},{"id_str":"1353831575843188736","name":"Alexandru Mariuti","screen_name":"nank1ro","indices":[45,53]},{"id_str":"1785951221158756352","name":"Tim","screen_name":"imadetheseworks","indices":[54,70]},{"id_str":"135460126","name":"Andrea Bizzotto 🇺🇦","screen_name":"biz84","indices":[71,77]},{"id_str":"711913","name":"Eric Seidel","screen_name":"_eseidel","indices":[78,87]},{"id_str":"1118681","name":"Seth Ladd","screen_name":"sethladd","indices":[88,97]},{"id_str":"53010195","name":"Slava Egorov","screen_name":"mraleph","indices":[98,106]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[107,115]},{"id_str":"543917371","name":"Alessio Salvadorini 💙","screen_name":"ASalvadorini","indices":[116,129]}]},"favorited":false,"in_reply_to_screen_name":"iosemagno","lang":"en","retweeted":false,"fact_check":null,"id":"1986912637465301192","view_count":183,"bookmark_count":0,"created_at":1762551862000,"favorite_count":4,"quote_count":0,"reply_count":3,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986827182140985367","full_text":"@iosemagno @luke_pighetti @ChinuKabi @jezell @nank1ro @imadetheseworks @biz84 @_eseidel @sethladd @mraleph @RydMike @ASalvadorini What’s holding you back there? Super editor is used for chat in a major app and we’re doubling down our focus there. Including for AI chat.","in_reply_to_user_id_str":"40004421","in_reply_to_status_id_str":"1986906865142231088","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-09","value":3034,"startTime":1762560000000,"endTime":1762646400000,"tweets":[{"bookmarked":false,"display_text_range":[20,67],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1671203695814385664","name":"Nic Dean","screen_name":"_nicdean","indices":[0,9]},{"id_str":"4917378776","name":"Rive","screen_name":"rive_app","indices":[10,19]}]},"favorited":false,"in_reply_to_screen_name":"_nicdean","lang":"en","retweeted":false,"fact_check":null,"id":"1987270099108307108","view_count":2179,"bookmark_count":1,"created_at":1762637087000,"favorite_count":8,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987256377480561044","full_text":"@_nicdean @rive_app Steve Jobs also had something to say about it 😂","in_reply_to_user_id_str":"1671203695814385664","in_reply_to_status_id_str":"1987256377480561044","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[8,94],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1987230141995733196","view_count":855,"bookmark_count":0,"created_at":1762627561000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987208556664529121","full_text":"@jezell If it's using \"platform native views\" then how can it also ship a \"C++ layout engine\"?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1987208556664529121","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-10","value":3547,"startTime":1762646400000,"endTime":1762732800000,"tweets":[{"bookmarked":false,"display_text_range":[0,278],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[7,18]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[7,18]}]},"favorited":false,"lang":"en","retweeted":false,"fact_check":null,"id":"1987615291376017496","view_count":2715,"bookmark_count":12,"created_at":1762719388000,"favorite_count":24,"quote_count":0,"reply_count":4,"retweet_count":1,"user_id_str":"1109937471154905088","conversation_id_str":"1987615291376017496","full_text":"When a @FlutterDev subtree gets replaced with another, new State objects get initialized before old ones are disposed. This creates a tough situation for any shared object that needs to get handed from the old State to the new one. It creates a situation where an object belongs to two States when it may be designed to only belong to one. Does anyone know why Flutter doesn't run dispose() on the old State before running initState() on the new State?","in_reply_to_user_id_str":null,"in_reply_to_status_id_str":null,"is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[17,38],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"87799983","name":"Mike Rydstrom","screen_name":"RydMike","indices":[8,16]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1987392738321703109","view_count":235,"bookmark_count":0,"created_at":1762666327000,"favorite_count":1,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1986985272563933650","full_text":"@jezell @RydMike Who was the 2nd exit?","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1987097773418946830","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[20,294],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"420730316","name":"Flutter","screen_name":"FlutterDev","indices":[8,19]}]},"favorited":false,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1987620525045403855","view_count":597,"bookmark_count":1,"created_at":1762720636000,"favorite_count":3,"quote_count":0,"reply_count":2,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987615291376017496","full_text":"Yeah, nominally a GlobalKey can retain the State object to avoid the issue. However, there are about 5 people in the world who truly understand the reparenting mechanism implemented for GlobalKeys. So, for example, making every Super Editor user figure out when and where to attach a GlobalKey so that their Super Editor plugins don't blow up really isn't feasible. Instead, we need to do stuff in Super Editor that makes this management fool proof and invisible to our users.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1987619905123062168","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-11","value":0,"startTime":1762732800000,"endTime":1762819200000,"tweets":[]},{"label":"2025-11-12","value":4461,"startTime":1762819200000,"endTime":1762905600000,"tweets":[{"bookmarked":false,"display_text_range":[11,116],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[0,10]}]},"favorited":true,"in_reply_to_screen_name":"damy_wise","lang":"en","retweeted":false,"fact_check":null,"id":"1988174349346754832","view_count":4356,"bookmark_count":0,"created_at":1762852678000,"favorite_count":5,"quote_count":1,"reply_count":4,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@damy_wise I’m about to move my focus from Flutter to Rive. Curious to hear your thoughts based on your experiences.","in_reply_to_user_id_str":"1243886626238947328","in_reply_to_status_id_str":"1987851785420284163","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[26,72],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"145322774","name":"Lee Higgins","screen_name":"Depthperpixel","indices":[0,14]},{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[15,25]}]},"favorited":false,"in_reply_to_screen_name":"Depthperpixel","lang":"en","retweeted":false,"fact_check":null,"id":"1988329471406190798","view_count":30,"bookmark_count":0,"created_at":1762889662000,"favorite_count":0,"quote_count":0,"reply_count":0,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@Depthperpixel @damy_wise Doesn’t rive support raster images internally?","in_reply_to_user_id_str":"145322774","in_reply_to_status_id_str":"1988328965812219973","is_quote_status":0,"is_ai":null,"ai_score":null},{"bookmarked":false,"display_text_range":[26,158],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"145322774","name":"Lee Higgins","screen_name":"Depthperpixel","indices":[0,14]},{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[15,25]}]},"favorited":false,"in_reply_to_screen_name":"Depthperpixel","lang":"en","retweeted":false,"fact_check":null,"id":"1988328197457670360","view_count":75,"bookmark_count":0,"created_at":1762889358000,"favorite_count":0,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@Depthperpixel @damy_wise Have you tried using it for app UI though? I imagine it’s a pretty different performance profile for buttons and text and lists etc.","in_reply_to_user_id_str":"145322774","in_reply_to_status_id_str":"1988264189664657652","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-13","value":65,"startTime":1762905600000,"endTime":1762992000000,"tweets":[{"bookmarked":false,"display_text_range":[21,101],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"114900758","name":"Roman Jaquez","screen_name":"drcoderz","indices":[0,9]},{"id_str":"1243886626238947328","name":"Ahmad Wise","screen_name":"damy_wise","indices":[10,20]}]},"favorited":false,"in_reply_to_screen_name":"drcoderz","lang":"en","retweeted":false,"fact_check":null,"id":"1988441166556410069","view_count":65,"bookmark_count":0,"created_at":1762916292000,"favorite_count":0,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1987851785420284163","full_text":"@drcoderz @damy_wise How’d you end up using it? One big rive app or rive per page or rive per widget?","in_reply_to_user_id_str":"114900758","in_reply_to_status_id_str":"1988424334885744756","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-14","value":146,"startTime":1762992000000,"endTime":1763078400000,"tweets":[{"bookmarked":false,"display_text_range":[23,151],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"15152659","name":"Jesse Ezell","screen_name":"jezell","indices":[0,7]},{"id_str":"1654808914675011585","name":"Tahiro Agbanwa ⚡️","screen_name":"squirelBoy360","indices":[8,22]}]},"favorited":true,"in_reply_to_screen_name":"jezell","lang":"en","retweeted":false,"fact_check":null,"id":"1988840624594817412","view_count":146,"bookmark_count":0,"created_at":1763011530000,"favorite_count":2,"quote_count":0,"reply_count":1,"retweet_count":0,"user_id_str":"1109937471154905088","conversation_id_str":"1988838418499956884","full_text":"@jezell @squirelBoy360 I’d be interested in trying a Dart wrapper around yoga as a way of using nothing but Rive widgets in app without any flutter UI.","in_reply_to_user_id_str":"15152659","in_reply_to_status_id_str":"1988840195194589372","is_quote_status":0,"is_ai":null,"ai_score":null}]},{"label":"2025-11-15","value":0,"startTime":1763078400000,"endTime":1763164800000,"tweets":[]},{"label":"2025-11-16","value":0,"startTime":1763164800000,"endTime":1763251200000,"tweets":[]},{"label":"2025-11-17","value":0,"startTime":1763251200000,"endTime":1763337600000,"tweets":[]},{"label":"2025-11-18","value":0,"startTime":1763337600000,"endTime":1763424000000,"tweets":[]}]},"interactions":{"users":[{"created_at":1213752944000,"uid":"15152659","id":"15152659","screen_name":"jezell","name":"Jesse Ezell","friends_count":2172,"followers_count":2832,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1905022266498490368/VGKcrnrJ_normal.jpg","description":"Software Designer","entities":{"description":{"urls":[]}},"interactions":8},{"created_at":1456472489000,"uid":"703122697232863233","id":"703122697232863233","screen_name":"ThomasBurkhartB","name":"Thomas Burkhart 💙","friends_count":745,"followers_count":11160,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1946367237331275776/PA5Tq4lx_normal.jpg","description":"freelance developer, GDE for Flutter & Dart Author of: get_it, command_it, listen_it now under https://t.co/bR0431Rzss\n super power: bringing the right people together","entities":{"description":{"urls":[{"display_url":"flutter-it.dev","expanded_url":"http://flutter-it.dev","url":"https://t.co/bR0431Rzss","indices":[95,118]}]},"url":{"urls":[{"display_url":"blog.burkharts.net","expanded_url":"https://blog.burkharts.net","url":"https://t.co/UJvbOoyb1O","indices":[0,23]}]}},"interactions":3},{"created_at":1242311445000,"uid":"40004421","id":"40004421","screen_name":"iosemagno","name":"ioseph magno","friends_count":82,"followers_count":193,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1987808029551554560/ipcwNnXx_normal.jpg","description":"Founder & CEO of Presence: the private messenger that frees you from social media. Haters-free. Secure. Powerful. John 15:5","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"apps.apple.com/app/presence-m…","expanded_url":"https://apps.apple.com/app/presence-messenger/id6504456930","url":"https://t.co/CMMJIr4voG","indices":[0,23]}]}},"interactions":3},{"created_at":1288010232000,"uid":"207489846","id":"207489846","screen_name":"joshjhargreaves","name":"Josh Hargreaves","friends_count":580,"followers_count":991,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1974108775167496192/Va-6ispO_normal.jpg","description":"Senior Software Engineer @Netflix.","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"youtube.com/watch?v=mWu_rg…","expanded_url":"https://www.youtube.com/watch?v=mWu_rgmW7GI&t=1220s","url":"https://www.youtube.com/watch?v=mWu_rgmW7GI&t=1220s","indices":[0,23]}]}},"interactions":2},{"created_at":1274204656000,"uid":"145322774","id":"145322774","screen_name":"Depthperpixel","name":"Lee Higgins","friends_count":850,"followers_count":932,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1907023102170542080/ViZgtsHJ_normal.jpg","description":"AI augmented Flutter dev. We have entered the age of AI. What a time to be alive! #flutter #flutterDev","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"wearemobilefirst.com","expanded_url":"http://www.wearemobilefirst.com","url":"https://t.co/b4bCBPQ4gj","indices":[0,23]}]}},"interactions":2},{"created_at":1266364995000,"uid":"114900758","id":"114900758","screen_name":"drcoderz","name":"Roman Jaquez","friends_count":631,"followers_count":13748,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1762927304563470336/tCwipQFI_normal.jpg","description":"Flutter @GoogleDevExpert 💙 / Cloud Architect / Rive Ambassador / Co-founder @ https://t.co/vxN4GxSLOO. Love sharing knowledge with others.","entities":{"description":{"urls":[{"display_url":"duupr.io","expanded_url":"http://duupr.io","url":"https://t.co/vxN4GxSLOO","indices":[78,101]}]},"url":{"urls":[{"display_url":"romanjustcodes.web.app","expanded_url":"https://romanjustcodes.web.app","url":"https://t.co/KKYnvUeUrx","indices":[0,23]}]}},"interactions":2},{"created_at":1511134668000,"uid":"932392494138122240","id":"932392494138122240","screen_name":"_snow_soj","name":"Snow❄️","friends_count":435,"followers_count":210,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1987669043747102721/_satfi5g_normal.jpg","description":"Software Engineer • Mobile Engineer • AI Automation Engineer • Building @cellureka","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"linktr.ee/snowsoj","expanded_url":"https://linktr.ee/snowsoj","url":"https://t.co/2zhlKxYts4","indices":[0,23]}]}},"interactions":1},{"created_at":1504744826000,"uid":"905591553778995200","id":"905591553778995200","screen_name":"SheltonLouisX","name":"Shelton Louis","friends_count":78,"followers_count":744,"profile_image_url_https":"https://pbs.twimg.com/profile_images/989710573947387904/UE4B3NyK_normal.jpg","description":"I like anime, front-end dev art, and watching videos about various things.","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"sheltonswebportfolio.info","expanded_url":"https://www.sheltonswebportfolio.info","url":"https://t.co/uCB8P2oQfp","indices":[0,23]}]}},"interactions":1},{"created_at":1257459816000,"uid":"87799983","id":"87799983","screen_name":"RydMike","name":"Mike Rydstrom","friends_count":1825,"followers_count":14293,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1365130252368941057/-J9U_s7X_normal.jpg","description":"\"MaterialMike\" Flutter dev. Tweets about Flutter. Author of #FlexColorScheme and #ThemesPlayground. Flutter issue reporter. GitHub rydmike.","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"rydmike.com","expanded_url":"http://rydmike.com","url":"https://t.co/mL7GSamnUx","indices":[0,23]}]}},"interactions":1},{"created_at":1349181180000,"uid":"857973744","id":"857973744","screen_name":"AbdallahSh07","name":"Abdallah Shaban","friends_count":909,"followers_count":1193,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1968837945923956737/nIfnvnV2_normal.jpg","description":"Product at @google working on @firebase @flutterdev @golang | Ex Co-Founder @celest_dev (YC W24) Product @AWS | Opinions are my own | 🇯🇴 🇵🇸","entities":{"description":{"urls":[]}},"interactions":1},{"created_at":1487205704000,"uid":"832027145350311936","id":"832027145350311936","screen_name":"EmilioMaciel9","name":"Emilio Maciel 💙","friends_count":749,"followers_count":222,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1965876738749001728/xOyNARof_normal.jpg","description":"Such is the passage of time, too fast to fold...\nSloan Fellow @StanfordGSB - Entrepreneur in ocean conservation, founder @GoLogbook, Flutter 💙\nViews my own","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"gologbook.com","expanded_url":"http://www.gologbook.com","url":"https://t.co/xKcpZnQDYB","indices":[0,23]}]}},"interactions":1},{"created_at":1346597785000,"uid":"798421886","id":"798421886","screen_name":"HarveyAptx","name":"Harith Haroon","friends_count":541,"followers_count":243,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1914756382500245504/DGGRJdRQ_normal.jpg","description":"Software Engineer | Dart & Flutter 💙","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"linkedin.com/in/alharith-ha…","expanded_url":"https://linkedin.com/in/alharith-haroon-5aba82228/","url":"https://t.co/WqoYtxNcYu","indices":[0,23]}]}},"interactions":1},{"created_at":1346276255000,"uid":"790201826","id":"790201826","screen_name":"khivedoteth","name":"pk","friends_count":581,"followers_count":282,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1491046064929255426/PfGkUl5E_normal.jpg","description":"Mobile. Serverless. LLM.","entities":{"description":{"urls":[]}},"interactions":1},{"created_at":1335247429000,"uid":"561770146","id":"561770146","screen_name":"KhalidWarsa","name":"Khalid Warsame","friends_count":844,"followers_count":4161,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1894428982021439489/LvU36qyQ_normal.jpg","description":"Mobile App Developer (Flutter & Dart). Building https://t.co/KTXDJJqVAy ($115 MRR) https://t.co/wpwNYiPmQv ($3 MRR) https://t.co/hgs5NKHk2x (WIP $0 MRR)","entities":{"description":{"urls":[{"display_url":"addymanager.com","expanded_url":"http://addymanager.com","url":"https://t.co/KTXDJJqVAy","indices":[48,71]},{"display_url":"bucketize.app","expanded_url":"http://bucketize.app","url":"https://t.co/wpwNYiPmQv","indices":[83,106]},{"display_url":"cruiseexplorer.app","expanded_url":"http://cruiseexplorer.app","url":"https://t.co/hgs5NKHk2x","indices":[116,139]}]},"url":{"urls":[{"display_url":"bio.khalidwar.com","expanded_url":"http://bio.khalidwar.com","url":"https://t.co/kpBYfSJ9tX","indices":[0,23]}]}},"interactions":1},{"created_at":1429796726000,"uid":"3198051185","id":"3198051185","screen_name":"samuelkchris","name":"Samuel Ssekizinvu💙","friends_count":585,"followers_count":259,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1742086537704038400/avc6I0Np_normal.jpg","description":"Software Engineer","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"ssekizinvu.netlify.app","expanded_url":"https://ssekizinvu.netlify.app","url":"https://t.co/plR0wZI4Ss","indices":[0,23]}]}},"interactions":1},{"created_at":1387700710000,"uid":"2257454994","id":"2257454994","screen_name":"PaulEauChon","name":"Paul","friends_count":157,"followers_count":13,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1533542413993758720/Kzfb5fq0_normal.jpg","description":"oui","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"bitly.ws/33hdq","expanded_url":"https://bitly.ws/33hdq","url":"https://t.co/XxxeWV0J18","indices":[0,23]}]}},"interactions":1},{"created_at":1286730503000,"uid":"200927003","id":"200927003","screen_name":"LoicSharma","name":"Loïc Sharma","friends_count":413,"followers_count":662,"profile_image_url_https":"https://pbs.twimg.com/profile_images/887718836694167553/-tdGfDf-_normal.jpg","description":"Flutter contributor at Google. Opinions are my own and not those of my company.","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"github.com/loic-sharma","expanded_url":"https://github.com/loic-sharma","url":"https://t.co/vvyIlw9dgA","indices":[0,23]}]}},"interactions":1},{"created_at":1721513662000,"uid":"1814785883612323841","id":"1814785883612323841","screen_name":"Fernand48030346","name":"Fernando","friends_count":210,"followers_count":22,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1988627498427432960/VY1LeH-b_normal.jpg","description":"A pug named Fernando","entities":{"description":{"urls":[]}},"interactions":1},{"created_at":1714638930000,"uid":"1785951221158756352","id":"1785951221158756352","screen_name":"imadetheseworks","name":"Tim","friends_count":108,"followers_count":1069,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1803502404727386112/zy8oS1SE_normal.jpg","description":"","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"i.madethese.works","expanded_url":"http://i.madethese.works","url":"https://t.co/kOexRJsTWM","indices":[0,23]}]}},"interactions":1},{"created_at":1707573168000,"uid":"1756315171796963328","id":"1756315171796963328","screen_name":"ArabastaDev","name":"Youcef Dev","friends_count":250,"followers_count":18,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1756315280433672192/CRcmrigw_normal.png","description":"A fool admires complexity; a genius admires simplicity","entities":{"description":{"urls":[]}},"interactions":1}],"period":14,"start":1762147292945,"end":1763356892945}}},"settings":{},"session":null,"routeProps":{"/creators/:username":{}}}