Closed Bug 1405402 Opened 2 years ago Closed 5 months ago

Expanded variables are collapsed again after every step

Categories

(DevTools :: Debugger, defect, P2)

56 Branch
defect

Tracking

(firefox70 fixed)

RESOLVED FIXED
Firefox 70
Tracking Status
firefox70 --- fixed

People

(Reporter: bugzzilla, Assigned: bhackett)

References

(Blocks 2 open bugs)

Details

(Whiteboard: [debugger-mvp])

Attachments

(2 files)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0
Build ID: 20170926190823

Steps to reproduce:

1. Set breakpoint, run into breakpoint
2. Find object variable, expand it
3. Make single step


Actual results:

Expanded variables are collapsed again


Expected results:

Expanded variables should stay expanded
Component: Untriaged → Developer Tools: Debugger
Thanks for reporting! I am moving this over to the devtools core repo to be investigated.
Product: Firefox → DevTools
I see this as well on latest nightly.

New issue for tracking this: https://github.com/devtools-html/debugger.html/issues/6897
Status: UNCONFIRMED → NEW
Ever confirmed: true
Priority: -- → P2
Blocks: dbg-frontend
Duplicate of this bug: 1448104
Duplicate of this bug: 1530957
Assignee: nobody → bhackett1024
Whiteboard: [debugger-mvp]
Attached patch patchSplinter Review

This patch remembers the paths of expanded scope items (including sub-objects) in the debugger's reducer and uses those to re-expand the same paths after unpausing and pausing somewhere else. The main limitation of this is that when stepping from one scope to another the paths will be collapsed again, even for variables that are still in scope. This could be improved some more but seems a good place to work from for now. Unfortunately this patch isn't ready for review because changes are needed to the Tree and ObjectInspector components of the devtools-reps repo, which is hosted on github instead of m-c.

Hmm, the devtools-reps repo no longer exists (and the README in m-c is out of date). ObjectInspector is in the firefox-devtools component but Tree does not seem to be. I don't know how to get these changes landed.

(In reply to Brian Hackett (:bhackett) from comment #6)

changes are needed to the Tree and ObjectInspector components of the devtools-reps repo, which is hosted on github instead of m-c.

I think you can just land the changes in m-c and darkwing will export the changes to github.

But you shouldn't edit devtools/client/shared/components/reps/reps.js directly, instead change devtools/client/debugger/packages/devtools-components/src/tree.js and devtools/client/debugger/packages/devtools-reps/src/object-inspector/components/ObjectInspector.js.

Then use cd devtools/client/debugger && npm install && node bin/bundle.js to generate the reps.js

Yep - i second oriol's advice. I also second your approach, this is exactly what I was planning on doing.

Status: NEW → ASSIGNED
Blocks: 1565711
Blocks: 1565713

Thanks for the help Oriol, the patch above modifies the package files and includes the corresponding reps.js changes as well.

Pushed by bhackett@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/03df8624c36c
Re-expand scope entries after resuming and re-pausing in a frame, r=jlast.

Backed out 3 changesets (bug 1556847, bug 1556858, bug 1405402) for eslint failures at /actors/replay/debugger.js on a CLOSED TREE.

Backout link: https://hg.mozilla.org/integration/mozilla-inbound/rev/756e8d09a98ff8869a8065337e1f2d2f9816e126

Pushes with failures:
https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&resultStatus=testfailed%2Cbusted%2Cexception&revision=1bf0b6a8dd1309ee22bd5b3593ca150172b644a9&selectedJob=257596995

https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&resultStatus=testfailed%2Cbusted%2Cexception&revision=099de68d4716a2c7ba843c5cfcf053bd25fcf91c&selectedJob=257597102

https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&resultStatus=testfailed%2Cbusted%2Cexception&revision=03df8624c36c9434ab73dcd8c118563310e81c85&selectedJob=257597123

Log link: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=257596995&repo=mozilla-inbound&lineNumber=290

Log snippet:
[task 2019-07-21T18:16:52.027Z] copying build/lib.linux-x86_64-2.7/psutil/_psutil_linux.so -> psutil
[task 2019-07-21T18:16:52.027Z] copying build/lib.linux-x86_64-2.7/psutil/_psutil_posix.so -> psutil
[task 2019-07-21T18:16:52.027Z]
[task 2019-07-21T18:16:52.027Z] Error processing command. Ignoring because optional. (optional:packages.txt:comm/build/virtualenv_packages.txt)
[task 2019-07-21T18:33:27.238Z] TEST-UNEXPECTED-ERROR | /builds/worker/checkouts/gecko/devtools/server/actors/replay/debugger.js:548:28 | Insert ??????? (prettier/prettier)
[task 2019-07-21T18:33:27.238Z] TEST-UNEXPECTED-ERROR | /builds/worker/checkouts/gecko/devtools/server/actors/replay/debugger.js:549:7 | Replace type:?"getSource", with ??type:?"getSource",???????? (prettier/prettier)
[task 2019-07-21T18:33:27.238Z] TEST-UNEXPECTED-ERROR | /builds/worker/checkouts/gecko/devtools/server/actors/replay/debugger.js:550:1 | Replace ????}) with ??????})????? (prettier/prettier)
[taskcluster 2019-07-21 18:33:27.578Z] === Task Finished ===
[taskcluster 2019-07-21 18:33:28.586Z] Unsuccessful task run with exit code: 1 completed in 1368.153 seconds

Pushed by bhackett@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/46499a50b778
Re-expand scope entries after resuming and re-pausing in a frame, r=jlast.
Status: ASSIGNED → RESOLVED
Closed: 5 months ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 70
No longer blocks: 1565711
No longer blocks: 1565713
You need to log in before you can comment on or make changes to this bug.