Devii window shrinks when double-clicking outside of it #44

Open
opened 2026-06-17 22:34:18 +02:00 by retoor · 30 comments
Owner

Summary

Devii's window gets smaller if you double-click outside of it. If you reopen it and repeat the process, it gets smaller again, and so on.

Steps to Reproduce

  1. Open Devii.
  2. Double-click outside of Devii's window. (Notice the window shrunk.)
  3. Close Devii.
  4. Keep repeating steps 1–3.

Expected Behaviour

Double-clicking outside of Devii's window does not shrink it.

Actual Behaviour

Double-clicking outside of Devii's window shrinks it.

Environment

Windows + Firefox.


Reported by D-04got10-01 via DevPlace.

## Summary Devii's window gets smaller if you double-click outside of it. If you reopen it and repeat the process, it gets smaller again, and so on. ## Steps to Reproduce 1. Open Devii. 2. Double-click outside of Devii's window. (Notice the window shrunk.) 3. Close Devii. 4. Keep repeating steps 1–3. ## Expected Behaviour Double-clicking outside of Devii's window does not shrink it. ## Actual Behaviour Double-clicking outside of Devii's window shrinks it. ## Environment Windows + Firefox. --- *Reported by **D-04got10-01** via DevPlace.*

Adding attachment via molodetz, for pravda.education had no such option.

Adding attachment via molodetz, for pravda.education had no such option.
Author
Owner

Attachments are !visible here. Dunno if by design.


Posted by D-04got10-01 via DevPlace.

Attachments are !visible here. Dunno if by design. --- *Posted by **D-04got10-01** via DevPlace.*
Author
Owner

@D-04got10-01 attachments is a ticket for, to create that. Congrats, you made the first official ticket that is not made by me!! :) Also, dmmit. Yeah, i see it getting smaller now. Very subtile. I use it full time, and did not notice.


Posted by retoor via DevPlace.

@D-04got10-01 attachments is a ticket for, to create that. Congrats, you made the first official ticket that is not made by me!! :) Also, dmmit. Yeah, i see it getting smaller now. Very subtile. I use it full time, and did not notice. --- *Posted by **retoor** via DevPlace.*
Author
Owner

hey my ai content fixer doesnt work here. no dots and lowercas


Posted by retoor via DevPlace.

hey my ai content fixer doesnt work here. no dots and lowercas --- *Posted by **retoor** via DevPlace.*
Author
Owner

Yeah. Wanted to test this feature. Seems to be working fine.


Posted by D-04got10-01 via DevPlace.

Yeah. Wanted to test this feature. Seems to be working fine. --- *Posted by **D-04got10-01** via DevPlace.*
Author
Owner

@D-04got10-01 as you can see, it makes something very nice out of it.


Posted by retoor via DevPlace.

@D-04got10-01 as you can see, it makes something very nice out of it. --- *Posted by **retoor** via DevPlace.*

Depends on one's reporting skills. But sure, allows for a quick report.

Depends on one's reporting skills. But sure, allows for a quick report.
Collaborator

I am picking this ticket up now.

First I will bring up an isolated workspace with a fresh checkout and investigate whether the ticket matches the current state of the code before planning any change. I will announce every step here before I take it.

I am picking this ticket up now. First I will bring up an isolated workspace with a fresh checkout and investigate whether the ticket matches the current state of the code before planning any change. I will announce every step here before I take it.
Collaborator

Starting research round 1 of at most 5.

I am now reading the relevant source, tests, and prior work in the live checkout to verify the ticket and gather the context needed for a concrete plan. This can take a while; I will post periodic progress updates until it completes.

Starting research round 1 of at most 5. I am now reading the relevant source, tests, and prior work in the live checkout to verify the ticket and gather the context needed for a concrete plan. This can take a while; I will post periodic progress updates until it completes.
Collaborator

Progress update: research round 1 is still running (10 minutes elapsed). I have not stalled; I will report the result here the moment this step completes.

Progress update: research round 1 is still running (10 minutes elapsed). I have not stalled; I will report the result here the moment this step completes.
Collaborator

Investigated the ticket against the current source and tests. The findings confirm the described behavior—window shrinking on double-click outside—is reproducible. The previous fix (commit 1c31c1d) mitigated the most severe runaway shrinking but did not eliminate the core problem: the CSS transition animation causes the ResizeObserver to capture and persist a smaller (floor‑clamped) size, resulting in noticeable reduction. The ticket remains accurate as a description of the original issue, and the fix is incomplete.

Decision is to proceed. Drafting a concrete implementation plan to address the root cause is the next step.

Investigated the ticket against the current source and tests. The findings confirm the described behavior—window shrinking on double-click outside—is reproducible. The previous fix (commit `1c31c1d`) mitigated the most severe runaway shrinking but did not eliminate the core problem: the CSS transition animation causes the `ResizeObserver` to capture and persist a smaller (floor‑clamped) size, resulting in noticeable reduction. The ticket remains accurate as a description of the original issue, and the fix is incomplete. Decision is to proceed. Drafting a concrete implementation plan to address the root cause is the next step.
Collaborator

I am drafting the implementation plan now.

The research confirmed the ticket; I am turning the findings into a concrete, verifiable plan.

I am drafting the implementation plan now. The research confirmed the ticket; I am turning the findings into a concrete, verifiable plan.
Collaborator

Drafted an implementation plan from the investigation findings to address the window shrinkage on double-click. The plan covers CSS transition suppression during programmatic resizes, a guard in _onViewportChange to prevent re-entry, new unit tests for clamping and state guards, and verification steps. Handing the plan to the execution agent for implementation.

Drafted an implementation plan from the investigation findings to address the window shrinkage on double-click. The plan covers CSS transition suppression during programmatic resizes, a guard in `_onViewportChange` to prevent re-entry, new unit tests for clamping and state guards, and verification steps. Handing the plan to the execution agent for implementation.
Collaborator

The full, verbatim implementation plan is attached: plan-ticket-44.md

The full, verbatim implementation plan is attached: [plan-ticket-44.md](https://retoor.molodetz.nl/attachments/9e2fc379-a53e-4582-8db4-39114f2be65b)
Collaborator

Starting implementation attempt 1 of at most 5.

I am executing the plan inside this ticket's isolated workspace. This can take a while; I will post periodic progress updates until it completes.

Starting implementation attempt 1 of at most 5. I am executing the plan inside this ticket's isolated workspace. This can take a while; I will post periodic progress updates until it completes.
Collaborator

The implementation attempt was run but could not complete. The execution agent reported that it requires clarification before it can proceed.

Could you clarify the requirement so I can continue?

The implementation attempt was run but could not complete. The execution agent reported that it requires clarification before it can proceed. Could you clarify the requirement so I can continue?
Collaborator

I am picking this ticket up now.

First I will bring up an isolated workspace with a fresh checkout and investigate whether the ticket matches the current state of the code before planning any change. I will announce every step here before I take it.

I am picking this ticket up now. First I will bring up an isolated workspace with a fresh checkout and investigate whether the ticket matches the current state of the code before planning any change. I will announce every step here before I take it.
Collaborator

I need input to continue.

What I tried: Retried this step 3 times.
What I found: Each attempt failed for internal reasons unrelated to this ticket. The details are in the operator's logs; this is not a judgment about the ticket.

The system needs operator attention before I can continue. Reply here once things are healthy and I will resume from where I left off.

I need input to continue. What I tried: Retried this step 3 times. What I found: Each attempt failed for internal reasons unrelated to this ticket. The details are in the operator's logs; this is not a judgment about the ticket. The system needs operator attention before I can continue. Reply here once things are healthy and I will resume from where I left off.
Collaborator

I am picking this ticket up now.

First I will bring up an isolated workspace with a fresh checkout and investigate whether the ticket matches the current state of the code before planning any change. I will announce every step here before I take it.

I am picking this ticket up now. First I will bring up an isolated workspace with a fresh checkout and investigate whether the ticket matches the current state of the code before planning any change. I will announce every step here before I take it.
Collaborator

Starting research round 1 of at most 5.

I am now reading the relevant source, tests, and prior work in the live checkout to verify the ticket and gather the context needed for a concrete plan. This can take a while; I will post periodic progress updates until it completes.

Starting research round 1 of at most 5. I am now reading the relevant source, tests, and prior work in the live checkout to verify the ticket and gather the context needed for a concrete plan. This can take a while; I will post periodic progress updates until it completes.
Collaborator

We reviewed the ticket against the current source and tests, and checked external documentation. The research confirms that double-clicking outside the window does not trigger any code path that would modify window geometry; the relevant handler returns early when Devii is open, and no progressive shrinking mechanism is invoked by the described steps. The reported behavior does not reproduce under the current codebase.

This does not appear to match the current state of the code. Could you confirm whether this is still accurate, or should the ticket be closed?

We reviewed the ticket against the current source and tests, and checked external documentation. The research confirms that double-clicking outside the window does not trigger any code path that would modify window geometry; the relevant handler returns early when Devii is open, and no progressive shrinking mechanism is invoked by the described steps. The reported behavior does not reproduce under the current codebase. This does not appear to match the current state of the code. Could you confirm whether this is still accurate, or should the ticket be closed?
Author
Owner

Interestingly enough, I see no changes. I have refreshed the page, skipping cache before verification.

Either the fix isn't in production, yet, or it's not working.


Posted by D-04got10-01 via DevPlace.

Interestingly enough, I see no changes. I have refreshed the page, skipping cache before verification. Either the fix isn't in production, yet, or it's not working. --- *Posted by **D-04got10-01** via DevPlace.*
Collaborator

Thank you — that answers my question. Resuming work now.

I am picking the investigation back up with your clarification taken into account.

Thank you — that answers my question. Resuming work now. I am picking the investigation back up with your clarification taken into account.
Collaborator

Starting research round 2 of at most 5.

I am now reading the relevant source, tests, and prior work in the live checkout to verify the ticket and gather the context needed for a concrete plan. This can take a while; I will post periodic progress updates until it completes.

Starting research round 2 of at most 5. I am now reading the relevant source, tests, and prior work in the live checkout to verify the ticket and gather the context needed for a concrete plan. This can take a while; I will post periodic progress updates until it completes.
Collaborator

Investigation into the ticket confirms a reproducible bug: the progressive window shrinking over repeated open/close cycles. Analysis of the current source and tests shows the root cause is the ResizeObserver capturing intermediate CSS transition values and persisting them. The user's description of "double-clicking outside" appears to be a misidentification — the titlebar handler is the likely trigger — but the underlying shrinking behavior is real and well explained by these findings.

The findings are sufficiently specific to directly plan a fix addressing both the ResizeObserver guard and the titlebar handler conflict. Decision is to proceed.

Next step will be drafting a concrete implementation plan with the necessary code changes.

Investigation into the ticket confirms a reproducible bug: the progressive window shrinking over repeated open/close cycles. Analysis of the current source and tests shows the root cause is the `ResizeObserver` capturing intermediate CSS transition values and persisting them. The user's description of "double-clicking outside" appears to be a misidentification — the titlebar handler is the likely trigger — but the underlying shrinking behavior is real and well explained by these findings. The findings are sufficiently specific to directly plan a fix addressing both the `ResizeObserver` guard and the titlebar handler conflict. Decision is to proceed. Next step will be drafting a concrete implementation plan with the necessary code changes.
Collaborator

I am drafting the implementation plan now.

The research confirmed the ticket; I am turning the findings into a concrete, verifiable plan.

I am drafting the implementation plan now. The research confirmed the ticket; I am turning the findings into a concrete, verifiable plan.
Collaborator

Drafted an implementation plan based on the investigation findings. The plan addresses two root causes: the titlebar double-click event propagating to the document-level close handler, and the ResizeObserver capturing stale geometry during state transitions. Two targeted changes are specified — adding stopPropagation and a target check in the titlebar handler, and introducing a _transitioning flag with a transitionend listener in FloatingWindow to skip the observer during transitions. An optional CSS fix for the launcher FAB when Devii is closed is noted but not required for the ticket.

The definition of done is defined: titlebar double-click toggles maximize/normalize without closing, double-clicking outside the window still closes it, window geometry remains stable across close/reopen cycles, and all existing tests pass without regressions.

The plan is now ready and will be handed to the execution agent.

Drafted an implementation plan based on the investigation findings. The plan addresses two root causes: the titlebar double-click event propagating to the document-level close handler, and the ResizeObserver capturing stale geometry during state transitions. Two targeted changes are specified — adding stopPropagation and a target check in the titlebar handler, and introducing a `_transitioning` flag with a transitionend listener in FloatingWindow to skip the observer during transitions. An optional CSS fix for the launcher FAB when Devii is closed is noted but not required for the ticket. The definition of done is defined: titlebar double-click toggles maximize/normalize without closing, double-clicking outside the window still closes it, window geometry remains stable across close/reopen cycles, and all existing tests pass without regressions. The plan is now ready and will be handed to the execution agent.
Collaborator

The full, verbatim implementation plan is attached: plan-ticket-44.md

The full, verbatim implementation plan is attached: [plan-ticket-44.md](https://retoor.molodetz.nl/attachments/eec3f7a0-b979-4207-8c60-4a2606924cb4)
Collaborator

A conflict appeared while rebasing onto master; I am resolving it now.

Handing the conflicting files to the execution agent for one resolution attempt.

A conflict appeared while rebasing onto `master`; I am resolving it now. Handing the conflicting files to the execution agent for one resolution attempt.
Collaborator

Progress update: rebase conflict resolution is still running (20 minutes elapsed). I have not stalled; I will report the result here the moment this step completes.

Progress update: rebase conflict resolution is still running (20 minutes elapsed). I have not stalled; I will report the result here the moment this step completes.
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: retoor/devplacepy#44
No description provided.