Open Bug 773510 Opened 9 years ago Updated 3 months ago

Implement undo/redo

Categories

(DevTools :: Inspector: Rules, enhancement, P3)

x86
All
enhancement

Tracking

(firefox75 affected)

Tracking Status
firefox75 --- affected

People

(Reporter: paul, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [polish-backlog][difficulty=hard][designer-tools])

No description provided.
Bug triage, filter on PINKISBEAUTIFUL
Priority: -- → P3
See Also: → 1030867
Whiteboard: [devedition-40]
As a side note the rule view contains a store that is used to mark changed properties. It shouldn't be too much work to extend this store to contain a change history that could be used for undo / redo.
Whiteboard: [devedition-40] → [devedition-40][difficulty=hard]
Assignee: nobody → gabriel.luong
Whiteboard: [devedition-40][difficulty=hard] → [polish-backlog][difficulty=hard]
After bug 984880, one question is whether undo in the inspector should also
undo changes that were made in the style editor.
(In reply to Tom Tromey :tromey from comment #3)
> After bug 984880, one question is whether undo in the inspector should also
> undo changes that were made in the style editor.

To me it makes sense that undos would only undo things that you've done inside the rule view.  There are all sorts of edge cases though, like if a rule has been removed by style editor / js on the page in the mean time.  Maybe if something like that happens the undo state can be skipped.
Assignee: gabriel.luong → nobody
how do i solve this ?
Like bug 785399 this one is rather hard to implement.

- It requires new UI like a context menu entry, a shortcut, or a toolbar icon.
- Handling edge cases like in-page changes (as described in comment 4) is non-trivial.

Therefore, citing Patrick from bug 785399 comment 9 here:
> Having said this, it's a very interesting feature, and if you feel up for
> it, please go ahead. I'm just mentioning that it's hard because I see you're
> new to bugzilla, so I assume you're new to the devtools code base too, and
> this isn't really a good first bug at all (you can find easy and/or mentored
> bugs here: http://firefox-dev.tools/ ).

Sebastian
(In reply to (Unavailable until Jan 4) Brian Grinstead [:bgrins] from comment #4)
> (In reply to Tom Tromey :tromey from comment #3)
> > After bug 984880, one question is whether undo in the inspector should also
> > undo changes that were made in the style editor.
> 
> To me it makes sense that undos would only undo things that you've done
> inside the rule view.  There are all sorts of edge cases though, like if a
> rule has been removed by style editor / js on the page in the mean time. 
> Maybe if something like that happens the undo state can be skipped.

It did seem like the edge cases would be a pain.
If we had unified undo then we could just map "undo" in the rule view to 
whatever code mirror does.  Then the only issue would be making sure that
a rule view edit shows up in code mirror as a single undo record.
Component: Developer Tools: Inspector → Developer Tools: CSS Rules Inspector
Summary: [rule view] implement undo/redo → Implement undo/redo
Severity: normal → enhancement
Whiteboard: [polish-backlog][difficulty=hard] → [polish-backlog][difficulty=hard][designer-tools]
Duplicate of this bug: 1432629
Product: Firefox → DevTools
Is there any way to bump this up the priority list? This is an essential feature for web developers who design in the browser. 

The edge case mentioned in comment #3 and #4 shouldn't apply, as those changes happen in a different panel. It would not be an expected behavior to undo/redo something from a separate panel.

Currently there is an undo/redo keyboard shortcut in the Inspector panel, but it only works for "Undo delete of a node" and "Redo delete of a node". 

I don't see a context menu entry or a toolbar icon for this undo/redo feature. There should not be a need for toolbar icons or context menu options as this is one of the most basic, universally understood keyboard shortcuts.

I'm new, but it seems this could be accomplished by hooking into the existing keyboard shortcuts and extending the change history to include style changes from the Inspector view.

Is there any way I can help?

Adam
Hey Adam, I got good news for you. Razvan is actively working on this with our Track Changes initiative. It will probably still take a bit of work and time before we will have anything to release publicly.

(In reply to Gabriel [:gl] (ΦωΦ) from comment #11)

Hey Adam, I got good news for you. Razvan is actively working on this with
our Track Changes initiative. It will probably still take a bit of work and
time before we will have anything to release publicly.

Nice!

As a web designer, this would enable me to make the switch from Chrome!

Whiteboard: [polish-backlog][difficulty=hard][designer-tools] → [polish-backlog][difficulty=hard][designer-tools][dt-q]
Whiteboard: [polish-backlog][difficulty=hard][designer-tools][dt-q] → [polish-backlog][difficulty=hard][designer-tools]

I'm simply shocked after finding out I can't undo the changes I do in the inspector.

As @adamboulware said 2 years ago: "This is an essential feature for web developers who design in the browser.", and he is right.

I installed Firefox Developer Edition... really? Until this basic feature is not implemented, developing in Firefox it's simply frustrating.

What can we do to help? Thanks.

Flags: needinfo?(rcaliman)

[Tracking Requested - why for this release]:

(In reply to Tomás Hayes from comment #16)

I'm simply shocked after finding out I can't undo the changes I do in the inspector.

As @adamboulware said 2 years ago: "This is an essential feature for web developers who design in the browser.", and he is right.

I installed Firefox Developer Edition... really? Until this basic feature is not implemented, developing in Firefox it's simply frustrating.

What can we do to help? Thanks.

This isn't helping. We know this is an important feature and we have it high on our list of priorities. We want it too. But there simply are more pressing issues which demand our attention to work on right now. And the team isn't as big as you'd imagine.

Implementing undo-redo for CSS (it already works for HTML changes) is important for you and for us. But I trust you wouldn't trade that for the security and stability of the browser. These aren't tasks that happen once. They require constant work; even more so nowadays.

At this point, I can't make time-bound promises about when this will be ready. I can only ask for your patience and kindness. Messages like yours don't spur us into action, they're hurtful. As if we didn't care, when, in fact, we do.

Flags: needinfo?(rcaliman)

(In reply to Razvan Caliman [:rcaliman] from comment #18)

This isn't helping. We know this is an important feature and we have it high on our list of priorities. We want it too. But there simply are more pressing issues which demand our attention to work on right now. And the team isn't as big as you'd imagine.

Implementing undo-redo for CSS (it already works for HTML changes) is important for you and for us. But I trust you wouldn't trade that for the security and stability of the browser. These aren't tasks that happen once. They require constant work; even more so nowadays.

At this point, I can't make time-bound promises about when this will be ready. I can only ask for your patience and kindness. Messages like yours don't spur us into action, they're hurtful. As if we didn't care, when, in fact, we do.

Hi Razvan, thanks for your respectful response, to my irritated-toned message before.
You are right, and I will pledge to patience and kindness.
I'm new to the development of Firefox, but as me, I'm sure other developers would be willing to invest time and effort to move this forward, digging in the code, and making some proposals. If that would be of help, would you kindly point us in the right direction?.
Thank you, and btw, kudos for the amazing work Mozilla does for the web!
Have a great weekend.

Depends on: 1100001
No longer depends on: 1100001
See Also: → 1345470
You need to log in before you can comment on or make changes to this bug.