Skip to content

Conversation

untitaker
Copy link
Collaborator

@untitaker untitaker commented Oct 16, 2025

entryId=2
was being sent before entryId=1. entryId=2 is invalid if entryId=1 does
not exist yet. The reason it works is due to both requests firing
simultaneously, so sometimes entryId=1 is indeed being registered first.

EDIT: I couldn't find any actual validation for entryID in backend code, but I have observed weird glitches in JS when registering one before the other.

This bug was introduced in #609 and therefore, installers in version 0.7.0 and 0.7.1 are entirely broken for TP-Link hardware revisions greater than 3.0

We may also be hitting random race conditions on the backend, not 100%
sure. Try to alleviate them by sleeping 1 second between started
requests and waiting until the DOM is ready.

Also, on sluggish devices, it can happen that nc is not ready within
100ms. Fixing that with exponential backoff.

@untitaker
Copy link
Collaborator Author

for the record, the initial idea i had is to cram both port triggers into one big command, so we only register one port trigger. however, that runs into character limits for the "triggerPort" parameter.

…files

On firmware M7350(EU)_V9_9.0.2 Build 241021 (but not sooner), entryId=2
was being sent before entryId=1. entryId=2 is invalid if entryId=1 does
not exist yet. The reason it works is due to both requests firing
simultaneously, so sometimes entryId=1 is indeed being registered first.

We may also be hitting random race conditions on the backend, not 100%
sure. Try to alleviate them by sleeping 1 second between started
requests and waiting until the DOM is ready.

Also, on sluggish devices, it can happen that nc is not ready within
100ms. Fixing that with exponential backoff.
@untitaker untitaker marked this pull request as ready for review October 17, 2025 21:40
@untitaker untitaker marked this pull request as draft October 18, 2025 18:48
@untitaker untitaker marked this pull request as ready for review October 19, 2025 12:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant