Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add deleteDevChannelBeforeInstall option #158

Merged
merged 1 commit into from
Jul 26, 2023

Conversation

TwitchBronBron
Copy link
Member

Adds the deleteDevChannelBeforeInstall which, when enabled, will delete the dev channel before sideloading the new zip.

This is being introduced as a result of a bug in the latest Roku OS 12.5 beta firmware (12.5.0 build 4105) that, if you're using the debug protocol debugger, it now requires you to delete the sideloaded dev channel between every launch. Otherwise, on subsequent launches it will completely ignore the "enable debug protocol" feature and instead kick off a telnet debug session. There's a caveat though: deleting the dev channel clears the dev channel registry if the device isn't signed.

By adding this as an opt-in flag, devs can use the latest betas, but then if we get the issue fixed, they can disable it again without requiring another vscode extension release.

@TwitchBronBron TwitchBronBron merged commit dd0d596 into master Jul 26, 2023
4 checks passed
@TwitchBronBron TwitchBronBron deleted the deleteDevChannelBeforeInstall branch July 26, 2023 14:59
TwitchBronBron added a commit that referenced this pull request Sep 20, 2023
* support marking breakpoints as `pending`

* Implement `deleteBreakpoint` for bp manager

* retain bp "pending" status if bp is deleted

* Fix breakpoint deviceId issues

* Only run single breakpoint sync at a time

* BreakpointRef support

* Fix failing test

* Prevent tests from stalling out

* Resurrect breakpoints when device failed to remove

* Fix bp resurrection

* Make the bp events more generic

* Add unit test for removing failed add breakpoints

* Update changelog for v0.18.9

* 0.18.9

* Update changelog for v0.18.10

* 0.18.10

* Fix crash by using postman-request (#151)

* Update changelog for v0.18.11

* 0.18.11

* Fix `file already exists` error and hung process (#152)

* Remove axios in favor of postman-request (#153)

* Update changelog for v0.18.12

* 0.18.12

* File logging (#155)

* Adds FileLoggingManager

* Fix missing cwd

* Update changelog for v0.19.0

* 0.19.0

* Merge branch 'master' of https://github.com/rokucommunity/roku-debug into DebugProtocolServer

* Simplified the relay session test

* Move @types/request to deps to fix d.bs files

* Update changelog for v0.19.1

* 0.19.1

* Support sgrendezvous through ecp (#150)

* A lot of foundational work

* Update testing

* Push some of the more foundational functions

* Add minversion function and await to an async function

* Ending curly bracket

* Add types

* Add add launch config info to device info

* Capture rendezvous

* Wrap up rendezvous support

* delete log

* Make code more easily testable

* Change a few things around how to handle the rendezvous data

* test pingEcpRendezvous

* Fix bug with telnet and ecp mismatch

* Drive usage based on launch config setting instead of device.
Move rendezvous events out of adapters.

---------

Co-authored-by: Bronley Plumb <bronley@gmail.com>

* Update changelog for v0.20.0

* 0.20.0

* Fix rendezvous crash (#156)

* Fix timing bugs during rendezvous tracking startup

* Only emit rendezvous data if new data was received

* Update changelog for v0.20.1

* 0.20.1

* Bump word-wrap from 1.2.3 to 1.2.4 (#157)

Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4.
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](jonschlinkert/word-wrap@1.2.3...1.2.4)

---
updated-dependencies:
- dependency-name: word-wrap
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update changelog for v0.20.2

* 0.20.2

* Add option to delete dev channel before install (#158)

* Update changelog for v0.20.3

* 0.20.3

* When a breakpoint fails to delete because of error NOT_STOPPED. Store
the breakpoints and delete later.

* Store the srcHash and destHash as different hashes
Create a mapping of destHash to breakpoint deviceId

* Unit test fixes

* Fix another test

* Remove more bp resurrection tests

* Always set deviceId for bps, even on error

* Remove unnecessary cache and resurrection references

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Milap Naik <milapnaik@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Christian Holbrook <cholbrook@fubo.tv>
TwitchBronBron added a commit that referenced this pull request Oct 16, 2023
* Add initial DebugProtocolServer and handshake test

* Add test plugin to intercept requests.

* Port "not correct magic" test to new flow

* Fix handshake version handling

* Adds all request classes

* Refactored response classes

* Add more updates

* Move readStringNT to protocolUtils.
Rename Debugger to DebugProtocolClient

* Migrate more responses to new structure

* Many more tweaks. VariablesRequest mostly functional now

* More fixes

* Fix VariablesResponse

* Fix tsc errors

* Fix handshake request/response issues.

* PascalCase enums

* Fix forceCaseInsensitive variables command logic

* Fix unit tests and add better logging.

* Fix npm package issues

* Rename ProtocolUtils to singular.
Add testHelpers tests

* test enable/disable flags

* Fix broken tests

* test tcp server defaults

* Fix lint issue

* better HandshakeResponse coverage

* Handle all variable types

* Responses 100% coverage

* More DebugProtocolClient tests

* fix server support mulitple requests in single buffer

* Support for DebugProtocolReplaySession

* Add basic ProtocolClient plugin support

* Better logging

* Better port handling in ReplaySession

* Fix io socket replacing server socket

* Fix several bugs.

* Process more frequently

* Discard unrecognized updates/responses

* Clean up sockets after session is complete

* Fixed socket issues during testing

* fix port issues

* try to prevent getting stuck

* only run the PR build

* Try fixing logging issues

* skip failing test.

* skip another

* increase timeout for all tests, reenable disabled

* Fix node 12 server never close

* Better socket teardowns

* fix broken breakpoint response in ProtocolClient

* Better tests for breakpoint requests

* Fix empty stack trace response

* Refactor protocol vars logic (local vars broken)

* fix tests

* Fix local vars and add array size

* rename "AA" to "AssociativeArray"

* add new util.hasNonNullishProperty func

* Load errorData for requests.
Handle variablesResponse error data

* Improve bad variable presentations

* Fix tests for invalid/uninitialized vals

* Fix parent var type lookup

* Fixed wording for subtyped objects.

* Add better test coverage

* Fix issues in null var lookup stuff

* Fix breakpoint bugs

* fix lint errors

* Fix lint issue

* Discard breakpoints that got deleted before verified (#138)

* Discard breakpoints that got deleted before verified

* Add log entry for when we removed the breakpoint

* disable coveralls publishing

* Logging improvements (#140)

* Discard breakpoints that got deleted before verified

* Add log entry for when we removed the breakpoint

* disable coveralls publishing

* Improve logging output for request/response/update

* increase timeout for DebugProtocolAdapter tests

* More graceful shutdown (#141)

* More graceful shutdown

* remove unnecessary test

* Better exec recovery (#142)

* More graceful shutdown

* remove unnecessary test

* Don't store failed exec commands

* Support new logging format for replay session

* Merge branch 'master' of https://github.com/rokucommunity/roku-debug into DebugProtocolServer

* Fix breakpoint sync issues (#143)

* support marking breakpoints as `pending`

* Implement `deleteBreakpoint` for bp manager

* retain bp "pending" status if bp is deleted

* Fix breakpoint deviceId issues

* Only run single breakpoint sync at a time

* BreakpointRef support

* Fix failing test

* Prevent tests from stalling out

* Resurrect breakpoints when device failed to remove

* Fix bp resurrection

* Make the bp events more generic

* Add unit test for removing failed add breakpoints

* Update changelog for v0.18.9

* 0.18.9

* Update changelog for v0.18.10

* 0.18.10

* Fix crash by using postman-request (#151)

* Update changelog for v0.18.11

* 0.18.11

* Fix `file already exists` error and hung process (#152)

* Remove axios in favor of postman-request (#153)

* Update changelog for v0.18.12

* 0.18.12

* File logging (#155)

* Adds FileLoggingManager

* Fix missing cwd

* Update changelog for v0.19.0

* 0.19.0

* Merge branch 'master' of https://github.com/rokucommunity/roku-debug into DebugProtocolServer

* Simplified the relay session test

* Move @types/request to deps to fix d.bs files

* Update changelog for v0.19.1

* 0.19.1

* Support sgrendezvous through ecp (#150)

* A lot of foundational work

* Update testing

* Push some of the more foundational functions

* Add minversion function and await to an async function

* Ending curly bracket

* Add types

* Add add launch config info to device info

* Capture rendezvous

* Wrap up rendezvous support

* delete log

* Make code more easily testable

* Change a few things around how to handle the rendezvous data

* test pingEcpRendezvous

* Fix bug with telnet and ecp mismatch

* Drive usage based on launch config setting instead of device.
Move rendezvous events out of adapters.

---------

Co-authored-by: Bronley Plumb <bronley@gmail.com>

* Update changelog for v0.20.0

* 0.20.0

* Fix rendezvous crash (#156)

* Fix timing bugs during rendezvous tracking startup

* Only emit rendezvous data if new data was received

* Update changelog for v0.20.1

* 0.20.1

* Bump word-wrap from 1.2.3 to 1.2.4 (#157)

Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4.
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](jonschlinkert/word-wrap@1.2.3...1.2.4)

---
updated-dependencies:
- dependency-name: word-wrap
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update changelog for v0.20.2

* 0.20.2

* Add option to delete dev channel before install (#158)

* Update changelog for v0.20.3

* 0.20.3

* When a breakpoint fails to delete because of error NOT_STOPPED. Store
the breakpoints and delete later.

* Store the srcHash and destHash as different hashes
Create a mapping of destHash to breakpoint deviceId

* Unit test fixes

* Fix another test

* Remove more bp resurrection tests

* Always set deviceId for bps, even on error

* Remove unnecessary cache and resurrection references

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Milap Naik <milapnaik@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Christian Holbrook <cholbrook@fubo.tv>

* Add some breakpoint logging

* DebugProtocol compile-error handling (#161)

* support marking breakpoints as `pending`

* Implement `deleteBreakpoint` for bp manager

* retain bp "pending" status if bp is deleted

* Fix breakpoint deviceId issues

* Only run single breakpoint sync at a time

* BreakpointRef support

* Fix failing test

* Prevent tests from stalling out

* Resurrect breakpoints when device failed to remove

* Fix bp resurrection

* Make the bp events more generic

* Add unit test for removing failed add breakpoints

* Merge branch 'master' of https://github.com/rokucommunity/roku-debug into DebugProtocolServer

* Simplified the relay session test

* When a breakpoint fails to delete because of error NOT_STOPPED. Store
the breakpoints and delete later.

* Store the srcHash and destHash as different hashes
Create a mapping of destHash to breakpoint deviceId

* Unit test fixes

* Fix another test

* Remove more bp resurrection tests

* Always set deviceId for bps, even on error

* Add better suppport for compile error output

* Changes that need to be verified

* Small comments, fix leftover merge items

* Small stability tweaks

* Properly shut down the adapter on debugger close

* Fix telnet complib error detection

* Shut down if compile error exists when using debug nav commands

* send responses earlier to feel more responsive

* Dedupe compile errors. add diagnostic source

* better diagnostic source handling

* Fix tests

* Simplify the response sending logic

---------

Co-authored-by: Christian Holbrook <cholbrook@fubo.tv>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Milap Naik <milapnaik@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Christian Holbrook <cholbrook@fubo.tv>
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.

None yet

1 participant