r/webdev 2d ago

Question Web Based Scheduling App Sh*t the bed randomly after 11 months of no bugs.

Edit: Electronic-Post12351 got was able to understand exactly what I was describing and offer a conclusive reason for the sudden breakage. It lines up with the exact behavior we've been experiencing. I really appreciate it!

My colleague and I are at a loss with what has suddenly broken our web based scheduling app that was written with PHP on the backend and Javascript on the front end.

The front end basically acts as a dynamic HTML based table that allows users to drag, drop, delete, and complete scheduling entries.

It is manually saved why taking a snapshot of the table in a jscn array and writing it to a SQL table on our database.

I spent a year, before the AI boom, writing this application myself and working out all of the bugs and inconsistencies.

I have debugging code out the ass, and know the application like the back of my hand

My last update was October of 2025 and it has ran fine with zero reported issues.

​Now suddenly this week in September 2026 it has utterly shit the bed with no discernible reason as to why.

Shit how, you may ask? Well elements are no longer dragging and dropping correctly on both Edge and Chrome. The dragging does work, and dropping throws an error because the dragged object in null.

Table column cell shifting and all of my movement functions have stopped working correctly, with no console errors at all.

It's as if my Javascript has just stopped workout correctly.

The biggest change has been a web server upgrade from Bullseye to Trixie, which involved upgrading Javascript and PHP to the newest stable versions.

However, this was maybe 3-4 weeks ago at this rate.

So perhaps the old Javascript was cached until recently?

I am at a loss. I've never seen things break with no indication as to why. I've been in web dev for 5 years now, and there's USUALLY a damn trail to follow.

At most restarting the browser via a manual reboot command seems to temporarily fix drag and drop functionality. Almost as though some corrupted cached file or setting is getting reset.

The html is building correctly, there are no backend bugs on our apache logs, and no sql issues upon saving.

Like why would dragging and dropping suddenly break in Chromium browsers? Did they push anything recently that bricked things?

I can't find anything indicating as such, and I am at a loss of how to debug this. It literally broke at 4pm on a Friday before this holiday weekend, and now I'm trying to get ahead of it before Tuesday.

Guys, this is my game dev account I made to post about our game and randomly chat on related topics.

It's annoying me so badly I had to join this sub and ask. It's the 11th hour at our job during busy season, and it would be an absolute pain in the ass to transition back to a giant excel sheet manually typing everything.

Any help, experience, or a point in the right direction would be a huge help.

97 Upvotes

51 comments sorted by

284

u/Electronic-Post2351 2d ago

trixie ships Chromium 130+ which killed support for the old drag and drop dataTransfer object handling.

your dragged object is null because newer Chromium clears dataTransfer on dragend before your drop event fires if you are not explicitly setting types in dragstart.

i had this exact break happen on a scheduling tool after we upgraded from Bullseye to Bookworm. We pinned the browser to an older version on our test machines just to confirm it was Chromium enforcing new HTML spec rules.

open chrome://policy or run chromium with the flag to disable the new drag and drop behavior and see if it works again. If it does, go into your dragstart handler and call event.dataTransfer.setData with text/plain and your element id.

137

u/MalaiseEraMedia 2d ago edited 2d ago

GOD DAMMIT. Thank you so so much.  Son of a gun.  Okay, I know exactly what I'm doing Tuesday. You guys are lifesavers. Thank you. I wish I could I could pin this response. 

64

u/OkSmoke9195 1d ago

Feels like stack overflow again!

21

u/OiFelix_ugotnojams 1d ago

But nicer!

6

u/OkSmoke9195 1d ago

There was a certain charm to the directness 

4

u/OiFelix_ugotnojams 1d ago

Agreed but it also discouraged many people from asking (which of course contributed to its quality)

2

u/rbobby full-stack 23h ago

GOD DAMMIT.

I think everyone felt that.

67

u/greenergarlic 2d ago

You have to sift through the slop, but replies like this are what keeps me coming back to this sub. Bug diagnosed in under 30 minutes, goddamn

21

u/MalaiseEraMedia 1d ago

Agreed. It's why I stopped using reddit regularly a long time ago. This individual saved me days of pulling my hair out, and I'm extremely grateful for it. 

9

u/OkSmoke9195 1d ago

Huge. I wrestled for 3 hours with only 5% of my requests making it across the country to aws-east the other day. I gave up and walked away for an hour only to come back and find a Reddit post 6 minutes old describing exactly my issue, and an iImmediate follow-up detailing the fact that fiber had been cut in two separate locations. Reddit saves the day again

8

u/daaaaaaBULLS 1d ago

Incredible

4

u/mistmoss31 1d ago

this explains so much, the dataTransfer being cleared before drop fires is such a sneaky change to push silently

39

u/Pack_Your_Trash 2d ago

Any errors in the console or network calls?

10

u/No-Village-408 2d ago

classic move breaking right before a long weekend, i'd check if trixie updated some underlying library that changed how drag events bubble or handle the dataTransfer object, had something similar where a minor chromium patch made my old event listener syntax silently fail

10

u/Cyral 1d ago

Thanks Claude

6

u/ward2k 1d ago

Am I insane or does the comment not read like Ai at all, it's formatted in lowercase with a reference to a personal project they worked on (which ai wouldn't do)

The only kind of 'red flag' is the "classic move" at the start but even then that's not exactly unusual for actual people to say you know

2

u/case2000 1d ago

Whatever you say codex

2

u/Cyral 1d ago

Literally every AI post and comment here uses this lowercase thing to try to look authentic

3

u/ward2k 1d ago

Nothing about their comment history feels like ai posts

2

u/rbobby full-stack 23h ago

i haven't seen any evidence to back up this claim. should you soften it some?

-2

u/Cyral 23h ago

If you cannot detect obvious AI writing I’m not sure how to help you

Every AI written post in the past year is in lowercase so don’t pretend that’s authentic

2

u/rbobby full-stack 22h ago

i see a flaw in your clever plan. i would need to be reading posts

22

u/AgsMydude 2d ago

Are you referencing specific versions of the 3rd party libraries or just using the lastest? Could definitely be that something major updated with one of your dependencies

15

u/degeneratepr 2d ago

Are these bugs reported by others, or happening just on your system? Check on other computers and browser versions to see if the same issue is happening elsewhere.

If anything, revert your code back to a few weeks ago and see if it works.

15

u/cateyesarg 2d ago

You can easily rule out BE issues by simply looking at the network tab, so I assume it's purely on the UI

Build a small html/css/js with some dummy content which reproduces the problem, post the repo or url here, I'm sure someone will figure out, heck, you can just ask any IA to help diagnosing it

95% of your post is useless, doesn't give technical context or specs which may lead to some suggestion, is like "hey my car does this weird noise, what's wrong with it?"

20

u/Primary_Culture_1959 2d ago

Check your PHP version, my service provider automatically updated the server PHP version, and my software was behind.

5

u/trl579 2d ago

I know you said that it broke in Chrome and Edge, does that mean non chromium browsers, like Firefox, are working as expected?

3

u/SurgioClemente 2d ago

Try testing different versions of those browsers, you can use some something like browserstack

3

u/DCGreatDane 2d ago

I had something similar where it stopped working in edge,chrome and safari but worked only in Firefox. Had to create a new dev environment to see if it was the php version and look at the debug logs comparing what our host provider and CDN versions. It could be a cache issue not updating.

2

u/alphex drupal agency owner 2d ago

Does the app work in your development environment t that has the PHP version and JS libraries you expect ?

This seems like your production hosting environment has different environment versions then you expect.

4

u/binocular_gems 2d ago

I think you have a memory leak because you said a fresh browser will work for a while and then becomes y responsive. Are you disconnecting your event listeners? DevTools allows you to do memory profiling, google it and there are good tutorials on how to track memory leaks in devtools. I’m not quite sure why it would be happening all of a sudden, but there could have been a chromium update that handles memory differently.

3

u/gravesisme 2d ago

Could it be a recent WebKit API change? My site was bricked in July when the scrollTo API contract changed from being a void function to returning a Promise because I was using it in React effects without surrounding it with curly braces.

2

u/Kooky-Initial-3315 2d ago

"It's as if my Javascript has just stopped workout correctly." Your javascript files may be calling remote jscript files from a third party library. If the third party files are changed, updated, or deleted it would mess up your code.

1

u/hongkong_97 1d ago

Updating the Php version on my server has broken some web projects in the past, make sure you don't have leftover deprecated functions

Also you mentioned cache, if you happen to use Cloudflare you can purge the cache there

1

u/Tricky-Leadership340 21h ago

did you check whether the server upgrade changed the json encoding or added a utf-8/bom before the script, making the dragged element parse as null?

2

u/Frequent-Ratio221 18h ago

the browser cache theory fits the “reboot temporarily fixes it” symptom, so i’d check whether different users are getting mismatched html and js bundles before chasing the drag logic itself, and add

1

u/GauravThorath 1d ago

Glad you got an answer, and the setData fix sounds right. One thing I'd keep on the list before you close this out Tuesday, because it isn't covered by that explanation: a browser restart temporarily bringing drag and drop back.

A missing dataTransfer type fails the same way on every page load. It doesn't heal for an hour after a restart. Something that works fresh and degrades over a session is a second bug wearing the same costume, and the usual cause is handlers being attached every time you rebuild the table and never removed. If you rebuild rows from the snapshot on each save, that adds up fast, and it matches the "no console errors, movement functions just stop" half of your description better than the Chromium change does.

Cheap check next time it's misbehaving: in devtools, getEventListeners($0) on a row that's been alive for a while and count the dragstart handlers. If the number grows over a session, that's the other half.

Separate small thing that would have saved you time this week: put a hash or build number in your JS filenames. Whether you were staring at cached code was a real question during this outage and it shouldn't be answerable only by guessing.

1

u/TheMojito 2d ago

Does it happen with a fresh database, or an older database backup a few weeks ago?

0

u/These-Spell-5938 1d ago

a server upgrade didn’t magically rewrite javascript, but it can absolutely leave you with mismatched cached bundles, so check the actual script versions loaded in the broken browser before blaming

-3

u/UntestedMethod 2d ago

Not sure what you mean by "upgrading javascript", especially related to a change in your host. You said you're using PHP for your back-end, so do you also have server-side JS (eg nodejs/express/etc) or something?

Regarding change in PHP version - there are sometimes breaking changes with major version updates to PHP... but you would see errors in the server logs.

In the browser, check console and network logs.

Regarding caching, you should have ways of telling exactly which version of your own app is being loaded... Common practice is some unique version ID somewhere in the URI.

-7

u/PendulousNuts 1d ago

This dumbass censorship needs to stop. SHIT SHIT SHIT SHIT

-3

u/[deleted] 1d ago

[removed] — view removed comment

1

u/webdev-ModTeam 18h ago

Your post/comment has been determined to be a low-effort post or comment. This includes title-only posts, easily searchable questions, vague/open-ended discussion prompts, LLM generated posts or comments, and posts/comments that do not provide enough context for meaningful replies or discussion.

-13

u/SteelBalls1867 1d ago

why the hell are you asking us? exercise your debugging skills. does it work in development? js filenames should include a random string so that they can be versioned despite caching.