How Web Standards Work 1. design a flawed API (it's fine! APIs are hard) 2. ship it in the most-used browser, despite objections 3. get cross-browser working group to fix the API 4. oops, too late, that would break the webpic.twitter.com/IuU6Xxzilv
This is the legacy version of twitter.com. We will be shutting it down on June 1, 2020. Please switch to a supported browser, or disable the extension which masks your browser. You can see a list of supported browsers in our Help Center.
You can add location information to your Tweets, such as your city or precise location, from the web and via third-party applications. You always have the option to delete your Tweet location history. Learn more
Add this Tweet to your website by copying the code below. Learn more
Add this video to your website by copying the code below. Learn more
By embedding Twitter content in your website or app, you are agreeing to the Twitter Developer Agreement and Developer Policy.
| Country | Code | For customers of |
|---|---|---|
| United States | 40404 | (any) |
| Canada | 21212 | (any) |
| United Kingdom | 86444 | Vodafone, Orange, 3, O2 |
| Brazil | 40404 | Nextel, TIM |
| Haiti | 40404 | Digicel, Voila |
| Ireland | 51210 | Vodafone, O2 |
| India | 53000 | Bharti Airtel, Videocon, Reliance |
| Indonesia | 89887 | AXIS, 3, Telkomsel, Indosat, XL Axiata |
| Italy | 4880804 | Wind |
| 3424486444 | Vodafone | |
| » See SMS short codes for other countries | ||
This timeline is where you’ll spend most of your time, getting instant updates about what matters to you.
Hover over the profile pic and click the Following button to unfollow any account.
When you see a Tweet you love, tap the heart — it lets the person who wrote it know you shared the love.
The fastest way to share someone else’s Tweet with your followers is with a Retweet. Tap the icon to send it instantly.
Add your thoughts about any Tweet with a Reply. Find a topic you’re passionate about, and jump right in.
Get instant insight into what people are talking about now.
Follow more accounts to get instant updates about topics you care about.
See the latest conversations about any topic instantly.
Catch up instantly on the best stories happening as they unfold.
How Web Standards Work 1. design a flawed API (it's fine! APIs are hard) 2. ship it in the most-used browser, despite objections 3. get cross-browser working group to fix the API 4. oops, too late, that would break the webpic.twitter.com/IuU6Xxzilv
Is this mutating the sheets array on assign? Why? Super surprising. BTW wouldn’t this require a change to @flowtype and @typescript?
It's freezing them because mutating has no effect (you can only trigger a change through assignment) and yes, it's *extremely* surprising. It's an API that should never have made it off a whiteboard during an initial brainstorming session
It's also, unfortunately, exactly the API shape that webidl currently recommends, because we don't like all the bespoke shitty fake arrays in the platform, but also tc39 has drug their feet on allowing good fake arrays for years (despite my strong efforts
)
Still trying tho.
Fwiw, FrozenArray as currently specced in Web IDL has all _sorts_ of issues. It's hard to propely use as a spec author, no one actually implements the currently specced semantics (because they are moderately insane), and it's not great for API consumers.
We really do just need to solve the issues we've failed to solve these last 10+ years, and FrozenArray is not that solutions.
othermaciej Retweeted othermaciej
From another subthread, here's my suggestion for an imperfect solution that is likely way better than FrozenArray and could also be done at the Web IDL level, without ECMAScript changes:https://twitter.com/othermaciej/status/1221501449206546433 …
othermaciej added,
That is quite doable. IDL already specs that certain Array.prototype methods are copied to the proto of things with indexed props. We could copy more. There are some issue with `concat`, but I think @@isConcatSpreadable lets us solve those.
`push` should Just Work, I think, as long as the indexed property setter steps for the type allow index == length. This general thing has been proposed in the past but shot down for reasons that are eluding me right now, probably because it's not "real array" enough...
If we _really_ cared we could even put Array.prototype on the proto chain (and in fact Gecko did that for some things for a while), but that depends on how we want instanceof to behave.
There are some issues with JSON serialization, etc, but those might be solvable with toJSON methods, maybe. Anyway, as an interim step to a future in which there's a real Array here in some way (but one that prevents "illegal mutations" somehow) this seems totally doable.
I think it would be more real (and a source of fewer pitfalls) than the FrozenArray version. Could even have mutable and immutable variants where index setters for the mutable version need to handle length updating.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.