Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gui: Add detailed file versioning information to folder info (ref #963) #8348

Merged

Conversation

tomasz1986
Copy link
Contributor

@tomasz1986 tomasz1986 commented May 17, 2022

Currently, only the type of file versioning is displayed to the user in
the folder info. This is often not enough, especially when the user has
many folders with customised versioning settings that they would like to
be able to inspect quickly using the GUI.

This commit adds information about all user-controlled file versioning
settings right to the folder info, so that they can be examined without
editing each folder separately. In order not to make the GUI needlessly
more complex than it already is, the additional information is displayed
only when the fields use non-default values.

Specifically, the additional information contains:

  1. "Clean out after" for Trash Can and Simple versioning
  2. "Keep Versions" for Simple versioning
  3. "Maximum Age" for Staggered versioning
  4. "Cleanup Interval" and "Versions Path" for all but External
    versioning
  5. "Command" for External versioning

The displayed information is condensed as much as possible, so that it
takes very little space vertically. Each value also has a tooltip that
displays additional explanatory information about it.

In addition, we remove the superfluous "File Versioning" text after each
versioning type, so that "Trash Can File Versioning" is shortened to
just "Trash Can" and so on. The text is redundant, because the exact
same "File Versioning" is already present in the left column of the
folder info table.

This commit also fixes the duration filter JS script, so that it does
not add reduntant spaces in front of the duration string, but only do
it in between the different time values.

Lastly, as a cosmetic update, the commit also updates the folder info
file versioning icon, so that it uses the black version of the icon,
which matches the other icons in the left column of the folder info
table better. While doing so, we also update the outdated code syntax.

Signed-off-by: Tomasz Wilczyński twilczynski@naver.com

Screenshots

image
image
image
image
image
image

@tomasz1986
Copy link
Contributor Author

tomasz1986 commented May 17, 2022

Just a comment, as the information may get lost in the wall of text in the PR description, all the additional information is shown in the GUI only when using non-default values. Otherwise, there's no difference in comparison to the current situation, except for shortening the strings from "Trash Can File Versioning" to just "Trash Can", etc.

…cthing#963)

Currently, only the type of file versioning is displayed to the user in
the folder info. This is often not enough, especially when the user has
many folders with customised versioning settings that they would like to
be able to inspect quickly using the GUI.

This commit adds information about all user-controlled file versioning
settings right to the folder info, so that they can be examined without
editing each folder separately. In order not to make the GUI needlessly
more complex than it already is, the additional information is displayed
only when the fields use non-default values.

Specifically, the additional information contains:

1. "Clean out after" for Trash Can and Simple versioning
2. "Keep Versions" for Simple versioning
3. "Maximum Age" for Staggered versioning
4. "Cleanup Interval" and "Versions Path" for all but External
    versioning
5. "Command" for External versioning

The displayed information is condensed as much as possible, so that it
takes very little space vertically. Each value also has a tooltip that
displays additional explanatory information about it.

In addition, we remove the superfluous "File Versioning" text after each
versioning type, so that "Trash Can File Versioning" is shortened to
just "Trash Can" and so on. The text is redundant, because the exact
same "File Versioning" is already present in the left column of the
folder info table.

This commit also fixes the duration filter JS script, so that it does
not add reduntant spaces in front of the duration string, but only do
it in between the different time values.

Lastly, as a cosmetic update, the commit also updates the folder info
file versioning icon, so that it uses the black version of the icon,
which matches the other icons in the left column of the folder info
table better. While doing so, we also update the outdated code syntax.

Signed-off-by: Tomasz Wilczyński <twilczynski@naver.com>
@tomasz1986 tomasz1986 force-pushed the tomasz86/gui/folder-info-detailed-versioning branch from 0fd56db to 130fdf4 Compare May 18, 2022 09:16
Signed-off-by: Tomasz Wilczyński <twilczynski@naver.com>
Copy link
Member

@imsodin imsodin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks nice. Will likely be clunky on smalls screens, but the view already is. If that gets optimized at some point, I think it makes sense to just hide that info (and maybe put it in tooltips).

gui/default/syncthing/core/durationFilter.js Show resolved Hide resolved
gui/default/index.html Outdated Show resolved Hide resolved
@tomasz1986
Copy link
Contributor Author

Thank you for having a look at the PR 🙂.

Will likely be clunky on smalls screens, but the view already is.

It's not bad, actually. The information is just moved to the second line as below.

image

Signed-off-by: Tomasz Wilczyński <twilczynski@naver.com>
@imsodin imsodin merged commit de2d7c3 into syncthing:main May 28, 2022
@tomasz1986 tomasz1986 deleted the tomasz86/gui/folder-info-detailed-versioning branch May 31, 2022 09:24
@calmh calmh added this to the v1.20.2 milestone May 31, 2022
tomasz1986 added a commit to tomasz1986/syncthing that referenced this pull request Jul 13, 2022
…syncthing#8348)

Currently, there are two issues with the detailed staggered versioning
information displayed in the folder info. Firstly, the maxAge value of
365d is displayed despite matching the default. Secondly, there is no
consideration for the special case of maxAge equal to 0, meaning that
versions are kept forever.

This commit fixes both of those issues, so that the default maxAge is
not displayed and its value of 0 is displayed as "forever".

Signed-off-by: Tomasz Wilczyński <twilczynski@naver.com>
tomasz1986 added a commit to tomasz1986/syncthing that referenced this pull request Jul 13, 2022
…syncthing#8348)

Currently, there are two issues with the detailed staggered versioning
information displayed in the folder info. Firstly, the maxAge value of
365d is displayed despite matching the default. Secondly, there is no
consideration for the special case of maxAge equal to 0, meaning that
versions are kept forever.

This commit fixes both of those issues, so that the default maxAge is
not displayed and its value of 0 is displayed as "forever".

Signed-off-by: Tomasz Wilczyński <twilczynski@naver.com>
calmh pushed a commit that referenced this pull request Jul 26, 2022
…#8348) (#8433)

Currently, there are two issues with the detailed staggered versioning
information displayed in the folder info. Firstly, the maxAge value of
365d is displayed despite matching the default. Secondly, there is no
consideration for the special case of maxAge equal to 0, meaning that
versions are kept forever.

This commit fixes both of those issues, so that the default maxAge is
not displayed and its value of 0 is displayed as "forever".

Signed-off-by: Tomasz Wilczyński <twilczynski@naver.com>
calmh added a commit to calmh/syncthing that referenced this pull request Jul 28, 2022
* main:
  cmd/syncthing, lib/config: Remove restartOnWakeup option & functionality (fixes syncthing#8448) (syncthing#8449)
  gui: Remove blank meta tags (syncthing#8362)
  gui: Add device sync status (fixes syncthing#7981) (syncthing#8401)
  gui: Fix detailed staggered versioning information in folder info (ref syncthing#8348) (syncthing#8433)
  all: Support syncing ownership (fixes syncthing#1329) (syncthing#8434)
  gui, man, authors: Update docs, translations, and contributors
  lib/model, lib/config: Apply sensible defaults for auto-accepted encrypted folder (fixes syncthing#8296) (syncthing#8427)
  gui: Move filesystem watcher explanation from tooltip to help block (syncthing#8432)
  gui: Use discovered IDs from cache when adding a new remote device (syncthing#8382)
  build: Update goleveldb (syncthing#8440)
  gui, man, authors: Update docs, translations, and contributors
  cmd/syncthing/cli: Add show discovery command (fixes syncthing#8007) (syncthing#8378)
  gui, man, authors: Update docs, translations, and contributors
  lib/osutil: Only announce address of interfaces which are up (fixes syncthing#7458) (syncthing#8422)
  gui: Fix missing span end tag and missing nbsp semicolon in HTML (syncthing#8419)
calmh added a commit to calmh/syncthing that referenced this pull request Jul 28, 2022
* main:
  all: Fix unused method receiver (further) (syncthing#8466)
  all: Minor deprecation updates
  lib/model: Clarify normal shallow copy
  lib/api: Missing error handling in config handler (syncthing#8463)
  all: Remove unused method receivers (syncthing#8462)
  all: Combine sequential appends (syncthing#8461)
  cmd/ursrv: Silence linter with correct regexps (syncthing#8460)
  all: Unused parameter should be replaced by underscore (syncthing#8464)
  all: Remove or convert deprecated API usages (syncthing#8459)
  lib/config: Remove unnecessary use of `fmt.Sprintf` (syncthing#8458)
  lib/model: Replace `for` loop with `append` (syncthing#8457)
  all: Fix check for empty string (syncthing#8456)
  cmd/syncthing, lib/config: Remove restartOnWakeup option & functionality (fixes syncthing#8448) (syncthing#8449)
  gui: Remove blank meta tags (syncthing#8362)
  gui: Add device sync status (fixes syncthing#7981) (syncthing#8401)
  gui: Fix detailed staggered versioning information in folder info (ref syncthing#8348) (syncthing#8433)
@st-review st-review added the frozen-due-to-age Issues closed and untouched for a long time, together with being locked for discussion label May 28, 2023
@syncthing syncthing locked and limited conversation to collaborators May 28, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
frozen-due-to-age Issues closed and untouched for a long time, together with being locked for discussion
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants