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

[feature request] Can we have a progress indicator for refresh? #95

Closed
imkzh opened this issue Jul 20, 2022 · 10 comments · May be fixed by #98
Closed

[feature request] Can we have a progress indicator for refresh? #95

imkzh opened this issue Jul 20, 2022 · 10 comments · May be fixed by #98
Assignees
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed Stale

Comments

@imkzh
Copy link

imkzh commented Jul 20, 2022

It's time consuming when comparing between local files and mounted network virtual file systems. And would look like it is hanging forever. (I thought the refresh button never worked as i'm not getting any visual feedback, until recent days i realized it's actually working fine, it just need some time.)

image

@moshfeu
Copy link
Owner

moshfeu commented Jul 24, 2022

Thank you for the feature idea. I'll implement it as soon as I'll have time.
If you know how, it would be great if you will contribute it :)

@moshfeu moshfeu added enhancement New feature or request help wanted Extra attention is needed good first issue Good for newcomers labels Jul 24, 2022
@moshfeu
Copy link
Owner

moshfeu commented Aug 6, 2022

Thank you again for the idea.

Can you test the new loader by installing the version below?

compare-folders-0.23.1.vsix.zip

@moshfeu moshfeu added this to the v0.23.0 milestone Aug 6, 2022
@moshfeu moshfeu self-assigned this Aug 6, 2022
@imkzh
Copy link
Author

imkzh commented Aug 7, 2022

Thank you for the update, I have noticed a progress indicator is shown while comparing files (initial comparing, swap sides, refresh).

The another thing i notice is that at initial comparing, two progress indicators are shown:
image
Is this a bug or by design?

Also, maybe we should disable some buttons while comparing, if buttons are clicked multiple times(during comaprison), we will have multiple comparison in progress, and the final compare result depends on which comparison finishes last.
image

During test, I encountered vscode freeze (for 1 time, ~30 sec) and comparison never ending(for 1 time), but failed to reproduce it, this may or may not caused by this extension.

And the comparison seems be faster than before (but still slower than diff command line tool, which diff gives me results almost instantly, I think this may be the result of different comparison strategy maybe timestamp based, but this will be another issue).

I want to help at first and browsed the code, but failed to
get my self started since i'm not familiar with TypeScript. 
However, I forgot to reply, sorry for that.

@moshfeu
Copy link
Owner

moshfeu commented Aug 11, 2022

Great insights!

Here is a new version with these 2 fixes:

  • Double notifications
  • Disabling new comparison before the previous one is completed.

compare-folders-0.23.2.vsix.zip

During test, I encountered vscode freeze (for 1 time, ~30 sec) and comparison never ending(for 1 time), but failed to reproduce it, this may or may not caused by this extension.

It might happen because a big number of files to compare, please make sure to exclude node_modules, if you are working in a node environment, or similar type of folders in other environments.

And the comparison seems be faster than before....

The comparison itself is done the great library dir-compare, not by the extension's code.
That said, the extension allows to choose comparison strategy including by date.
It's a good idea to give the option to choose the strategy using the extension configuration, can you create a new issue?

I want to help at first and browsed the code, but failed to
get my self started since i'm not familiar with TypeScript.
However, I forgot to reply, sorry for that.

No problem, I'm busy myself usually so it takes me time to reply too.
The types compareFolders uses are not complicated and I'd be happy to help you figure them out whenever you need.

@moshfeu
Copy link
Owner

moshfeu commented Sep 9, 2022

@imkzh have you have the chance to test 0.23.2 version?

@imkzh
Copy link
Author

imkzh commented Sep 11, 2022

Hi @moshfeu, I tried the 0.23.2, here are some feedback: (most of them are irrelevant to this issue)

  1. [Logical] When user canceled the folder selection dialog, a comparison is still performed, and a prompt shows "There are no differences in any file ..." (I don't know if this is introduced recently or something.)
  2. [Bug?] compareFolders.excludeFilter failed to apply correctly: (used to work)
    • Here's the setting in {workspace}/.vscode/, and these files are still showing in result.
    • If the slashes are removed, these filters are applied, but both files and folders are filtered out.
{
    "compareFolders.excludeFilter": [
        "__pycache__/",
        ".idea/",
        ".vscode/",
        ".git/",
        "checkpoint/",
        "data/",
        "journal/",
        "outputs/",
        "build/",
        "*.so"
    ]
}
  1. [UX] Can we make "click to select a folder" dialog with previously selected folder pre-selected?
  2. [UX] Can we make possible to cancel a running comparison: currently you need to quit vscode in order to stop a comparison.
    • sometimes the logic of system-provided folder selection dialog is mysterious, and you will never know if "enter" submits the dialog or just navigates to some location, and happens you issued a comparison on a large file system tree (like comparing your code to "/")
  3. [UX/performance] Comparison strategy: if a folder does not present in compared folder, there is no need to iterate into this folder. (I know the comparison functionality is provided by third-party library, but I don't know if this is possible through existing API)

@moshfeu moshfeu removed this from the v0.23.0 milestone Aug 4, 2023
@moshfeu
Copy link
Owner

moshfeu commented Aug 4, 2023

Hi @imkzh.
Sorry for disappearing 😅 I'm not sure what happened a year ago, but I came across this issue during random strolling.
Since I need to catch up on this issue and all the work that has be done, I'm removing it from v23 and will revisit it soon for v24.
Sorry again, and thank you very much for your collaboration!

@imkzh
Copy link
Author

imkzh commented Aug 14, 2023

Thank you for continuous updates to this useful extension (which I heavily relied on), and taking my voice into account. Your effort is always appreciated, and please don't hesitate to take the time you need. :)

@moshfeu
Copy link
Owner

moshfeu commented Dec 30, 2023

Disappeared again :)

I'm about to release v24 with a different feature (#137)
If this issue specifically resolved, please close the issue and open new ones with your great ideas so I could tackle them one by one.
If it's not resolved, can you refresh my memory please what's left?

Thank you for your patience 🙏

Copy link

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@github-actions github-actions bot added the Stale label Feb 29, 2024
@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Mar 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed Stale
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants