Closed Bug 1065679 Opened 7 years ago Closed 7 years ago

App should not restart when starting to debug it

Categories

(DevTools Graveyard :: WebIDE, defect)

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
Firefox 35

People

(Reporter: kgrandon, Assigned: jryans)

References

Details

(Whiteboard: [status:landedon])

Attachments

(1 file)

I noticed that recently that the app will restart when connecting the webIDE to debug it. Is there any way that we can prevent this from happening? Sometimes we'll get an app into a certain state and want to debug it when the debugger is not attached. Having the app restart means we lose this state that we want.

Firefox Version: 35.0a1 (2014-09-10)
FxOS Version: 2.2
Assignee: nobody → jryans
Status: NEW → ASSIGNED
Today, when a runtime app is selected we:

* Launch the app if it is not running OR
* Reload the app if it is running

Instead, what we should do is:

* Launch the app if it is not running OR
* Bring the app to the front if it is running

But today, we don't have actor support to say "bring to front".  Alex, do you know how we might implement that on the actor side?
Flags: needinfo?(poirot.alex)
I think you don't need anything on the actor side.
It looks like you just want to always and only call `start` actor method,
which should bring the app to front when already running.
Flags: needinfo?(poirot.alex)
(In reply to Alexandre Poirot [:ochameau] from comment #2)
> I think you don't need anything on the actor side.
> It looks like you just want to always and only call `start` actor method,
> which should bring the app to front when already running.

Ah, it does work!  I was just confused since we skip it if the app is "running", but in this case we want to just call it anyway.
This is pretty straightforward... except the comparison change in |set selectedProject|.  I don't really follow why it's now suddenly necessary to compare the JSON instead of the objects directly.

To test this, I open a runtime app, like Clock.  Then I select the same app again.  Without the comparison change, the same app is seen as new.  Also, the comparison change is not needed without the rest of this changeset... :/

Try: https://treeherder.mozilla.org/ui/#/jobs?repo=try&revision=2e865db7dd8e
Attachment #8488256 - Flags: review?(paul)
Comment on attachment 8488256 [details] [diff] [review]
Avoid reloading runtime apps on select

browser/devtools/webide/modules/app-manager.js

>   set selectedProject(value) {
>-    if (value != this.selectedProject) {
>+    // A regular comparison still sees a difference when equal in some cases
>+    if (JSON.stringify(this._selectedProject) !==
>+        JSON.stringify(value)) {

Right. Makes me sad.
Attachment #8488256 - Flags: review?(paul) → review+
Whiteboard: [status:inflight]
https://hg.mozilla.org/integration/fx-team/rev/454e5c070bc1
Keywords: checkin-needed
Whiteboard: [status:inflight] → [status:inflight][fixed-in-fx-team]
https://hg.mozilla.org/mozilla-central/rev/454e5c070bc1
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Whiteboard: [status:inflight][fixed-in-fx-team] → [status:inflight]
Target Milestone: --- → Firefox 35
Whiteboard: [status:inflight] → [status:landedon]
Product: Firefox → DevTools
Product: DevTools → DevTools Graveyard
You need to log in before you can comment on or make changes to this bug.