mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2026-03-24 04:46:56 +00:00
[GH-ISSUE #144] [Bug] The page tree disappears when re-showing the side panel #73
Labels
No labels
2024
2025
2026
acct mgmt
AI
automation
bug
calendar
ci
CJK
cloud
code-block
collaboration
copy-paste
database
data migration
data sync
deploy
desktop
develop
develop
documentation
duplicate
editor
editor-plugin
emoji
export
files
flutter-only
follow-up
formula
good first issue for devs
good first issue for experienced devs
grid
hacktoberfest
HACKTOBERFEST-ACCEPTED
help wanted
i18n
icons
images
importer
improvements
infra
install
integrations
IR
kanban board
login
look and joy
mentorship
mobile
mobile
needs design
new feature
new feature
non-coding
notes
notifications
onboarding
organization
P0+
permission
platform-linux
platform-mac
platform-windows
plugins
program
pull-request
Q1 25
Q1 26
Q2 24
Q2 25
Q3 24
Q3 25
Q4 24
Q4 25
react
regression
rust
rust
Rust-only
Rust-only
Rust-starter
Rust-starter
self-hosted
shortcuts
side panel
slash-menu
sync v2
table
tablet
task
tauri
templates
tests
themes
translation
v0.5.6
v0.5.8
v0.5.9
v0.6.0
v0.6.1
v0.6.4
v0.6.7
v0.6.8
v0.7.1
v0.7.4
v0.7.4
v0.7.5
v0.7.6
v0.7.7
v0.7.8
v0.8.0
v0.8.4
v0.8.5
v0.8.9
web
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
AppFlowy-IO/AppFlowy#73
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @MikeWallaceDev on GitHub (Dec 13, 2021).
Original GitHub issue: https://github.com/AppFlowy-IO/AppFlowy/issues/144
Originally assigned to: @lwchkg on GitHub.
Describe the bug
button to hide and then reshow the side panel.
The page tree disappears when clicking on the
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The tree should reappear immediately when the panel is shown
Screenshots




After a while the data is shown, but not as it was when the panel was closed.
Desktop (please complete the following information):
Additional context
None.
@polypixeldev commented on GitHub (Jul 29, 2022):
I have been able to partially reproduce this issue. When I re-show the side panel, the page tree comes back immediately, but only the branch that contains the page that's open is not collapsed, even though I had other branches not collapsed prior to hiding the side panel.
@lwchkg commented on GitHub (Oct 21, 2022):
Is anyone actively working on this issue? If no I'd like to have a look and see if I can solve it.
Anyway, this will take some time because the issue appears to be some feature yet to be coded instead of a bug in some existing code. The states whether tree items are expanded appear to be lost when the side panel collapse.
P.S. it would be nice to hear from the original contributor why this trade-off, that appears to be a bug, is made.
@lwchkg commented on GitHub (Oct 23, 2022):
Searched the code, confirm that the function
_expandIfNeedand the value ofinitialExpanded, both inapp_bloc.dart, creates the behavior described in this issue. This "buggy" behavior looks like a workaround of some underlying issue.Also, those ExpandablePanel instances appear to be destroyed and recreated in the process, which ideally should not happen at all.
@lwchkg commented on GitHub (Oct 27, 2022):
I have come up with 2 approaches. Please help me to decide on which one (or both) to work with.
Add a persistent expanded/collapsed state to each collapsible item, and add two-way link it to ExpandableController with listeners. Ideally these states are saved to the disk, but that can be done in a later stage.
Try to prevent rebuilding of the ExpandablePanels (if they are rebuilt). I have no idea how to accomplish this anyway.
P.S. the is some repair work in my home, so my progress will likely be slow.
@polypixeldev commented on GitHub (Oct 27, 2022):
I think that the persistent state is probably the best approach, although I want to see @appflowy's opinion on this. Thanks for working on the issue, take your time. 👍