15

It looks like, on the 12th of July, header HTML was changed from <h1> tags to <h1 id="..."> tag. Unfortunately, this broke at least one bot, as well as a userscript. This also has the potentially to do much more damage across the network via the various "auxiliary" features (userscripts, chatbots, automated scripts etc.) used by many members. Additionally, this will break any SEDE queries that search for <h1> in the Body field of the Posts table. Finally, this may have introduced a bug with list elements as well as another bug.

I have no problem with Stack Exchange updating their HTML (presumably to improve the platform). However, a lot of users use systems such as userscripts to improve quality of life on sites and with specific features (reviewing, chat, etc.). It'd be nice if, for significant changes like this, we were provided some notice of the changes, so that we could fix our systems before they broke, not after, whether that be through an MSE announcement, or some other way that the team finds better. This helps ensure that the site's content curation isn't impeded in the meantime between the HTML change and when the script author gets around to updating it.

15
  • 7
    While I understand the desire to be able to fix things before they break, I don't see how this could be theoretically possible. What even constitutes a significant change? How could the developer and design teams possibly analyze whether a change they make would affect users in a way that they need be notified beforehand? At what point does the added overhead of needing to notify users of every change to HTML become overly burdensome and not worth the time? – animuson Jul 20 at 3:19
  • 3
    @animuson I understand that "significant" can't be defined in an objective manner. However, I'd imagine anyone who works on the sites' HTML would see "changing the header HTML" (something that is in a large number of posts) to be a "significant" change. I'm not asking for a diff file every time there's a new commit to the SE source code, just that, for changes that could affect a large number of posts, we get some kind of alert so we aren't left scratching our heads and scrambling bug fixes last minute – caird coinheringaahing Jul 20 at 3:23
  • 4
    I wouldn't. And that's the problem with objective criteria. They mean different things to different people. You think the change was significant because it broke something for you. But many people would think adding an Id attribute that would make no visible difference on the page is not a significant change. So again we get into how could we possibly make these determinations? It'd eventually end up with different people wanting every different thing adding up to a list of every change, which just isn't feasible. – animuson Jul 20 at 3:30
  • 2
    Wondering how many times HTML generation for posts has changed this year. If the number's not too high, SE might be able to provide the list of changes somewhere and the authors of userscripts and SEDE queries can patch them based on that. Just an idea though. – Bubbler Jul 20 at 3:36
  • 1
    @animuson I'm more than familiar with objective criteria, and I agree, it can be different to define "significant changes" in a meaningful way. This is mainly a request, in an attempt to avoid the various posts on MSE and beyond of "Did SE changes something, my script/bot/whatever broke?" by the devs letting us know of changes that they feel are significant. Obviously, this wouldn't be perfect, but I'd imagine it'd be better than the current system of SE changing something and we try to keep up. – caird coinheringaahing Jul 20 at 3:39
  • 1
    @animuson It can't be hard to have a page where all commit diffs to the html are posted, like Bubbler suggests. Just a simple feed, nothing fancy, and people could subscribe to get notifications when it's changed. SE could push to a secondary branch which would auto-post on the feed, and then a week or two later push it to main. – AviFS Jul 20 at 3:46
  • 3
    Did this change cause this revisions bug? – 41686d6564 Jul 20 at 3:55
  • 3
    @animuson An example of an announcement: "Currently, the vote counts on posts are using the class name vote-count-post. Effective one week from today, as part of a change to implement Stacks styling, we will be changing the class name to js-vote-count. If there are any scripts that depend on the former class name to calculate or modify vote counts, please make sure they are updated to use the new name by [date]." – Sonic the Anonymous Hedgehog Jul 20 at 3:57
  • 2
    An easy way to determine if a change is significant is to go through the most-used apps/scripts on the Stack Apps site and see what things they use and if they'd be affected by any changes to DOM. – Sonic the Anonymous Hedgehog Jul 20 at 3:59
  • 1
    Even though I'm not a fan of userscripts, I agree we deserve to know about such breaking changes, mainly for chat bots which are useful. – Shadow Wizard Wearing Mask V2 Jul 20 at 6:36
  • 1
    @animuson simple announcement like "We are adding id attribute to the rendered HTML tags" would have made lots of people happy, and prevent lots of things from breaking. And I'm 100% sure SE developers are well aware when a change might break things. – Shadow Wizard Wearing Mask V2 Jul 20 at 6:38
  • Even just announcing it as it happens would be something of an improvement. – pxeger Jul 20 at 13:15
  • 3
    This is a good reminder of the status of userscripts, on SE and on any site. Userscripts, by nature, are implementation dependent scripts. They will break over time as markup changes, and there is no way to avoid this breakage. SE is kinder than most in this regard, as they know and respect the swath of user-side changes, but it's simply not feasible to know what "major scripts" depend on, nor determine what a "major" change is, nor disclose every UI tweak if that isn't in their interest. Userscripts are amazing, but, they will always be second-class entities to actual design changes. – zcoop98 Jul 20 at 14:24
  • @zcoop98 It's simple: just go to the top 5/10/20/[x] scripts on Stack Apps, and incorporate those scripts into testing. – Sonic the Anonymous Hedgehog Jul 21 at 18:22

You must log in to answer this question.

Browse other questions tagged .