zielu / GitToolBox

GitToolBox IntelliJ plugin
GNU General Public License v3.0
604 stars 71 forks source link

[Feature] Pause auto-fetch when IDE is in offline mode #475

Open jurgenhaas opened 1 year ago

jurgenhaas commented 1 year ago

Describe the bug

I am uncertain if the classification as a bug is correct, never mind if you turn this into a feature request instead.

When I set the IDE into offline mode, I expect no attempts to the internet any longer. However, the auto-fetch from this plugin is still trying to fetch registered repositories regularly an error message is displayed to the user.

To Reproduce

Steps to reproduce the behavior:

  1. Turn on auto-fetch
  2. Set the IDE into offline mode
  3. Just wait until the next fetch is due and an error message will be displayed, if the host is actually not online

Expected behavior

Pause the auto-fetch, when the IDE is in offline mode-

Plugin version

500.0.6+213

IDE version

IntelliJ IDEA 2023.1 (Ultimate Edition) Build #IU-231.8109.175, built on March 28, 2023 Licensed to PARAGON Executive Services GmbH / Jürgen Haas Subscription is active until March 13, 2024. Runtime version: 17.0.6+10-b924 amd64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. Linux 5.4.0-147-generic GC: G1 Young Generation, G1 Old Generation Memory: 4000M Cores: 8 Registry: indexer.follows.symlinks=false

Non-Bundled Plugins: com.jetbrains.plugins.ini4idea (231.8109.217) PlantUML integration (5.23.0) com.intellij.ideolog (203.0.30.0) String Manipulation (9.7.1) me.mbolotov.cypress (1.5.2) Pythonid (231.8109.175) zielu.gittoolbox (500.0.6+213) mobi.hsz.idea.gitignore (4.5.0) com.kn.diagrams.generator.generator (2022.2.0) com.jetbrains.php (231.8109.199) org.jetbrains.plugins.phpstorm-remote-interpreter (231.8109.90) com.jetbrains.php.drupal (231.8109.199) com.jetbrains.twig (231.8109.217) com.kalessil.phpStorm.phpInspectionsEA (4.0.7.1) org.jetbrains.plugins.phpstorm-docker (231.8109.90) ru.adelf.idea.dotenv (2023.1) de.espend.idea.php.toolbox (6.2.0) de.espend.idea.php.annotation (9.2.1) fr.adrienbrault.idea.symfony2plugin (2022.1.246) de.espend.idea.php.drupal (0.5.1) de.espend.idea.php.phpunit (7.1)

Kotlin: 231-1.8.20-IJ8109.175 Current Desktop: ubuntu:GNOME

zielu commented 1 year ago

Hi, do you mean File / Power Save Mode ?

jurgenhaas commented 1 year ago

No, I mean the "Work offline" option. You can find that by searching for actions - using ctrl-shift-a on Linux.

zielu commented 1 year ago

This option is related to maven preferences. I can add integration for it though.

jurgenhaas commented 1 year ago

Actually, there seems to be a separate one:

2023-04-26_14-33

zielu commented 1 year ago

This is how it looks for me - same IDE version

image

I'll dig deeper

zielu commented 1 year ago

I double-checked with Jetbrains and there is no dedicated offline action, there is only a feature request. This action must be coming from Maven or Gradle then. I could add option to respect their settings

DidierLoiseau commented 1 month ago

In a similar fashion (since there is no global offline mode), it could be nice to be able to disable auto-fetch if a given network connection is offline or if the git remote is unresolvable.

My use-case is that I need a VPN connection to access our git server, and GitToolbox will often try to fetch and report errors before I have time to enter the VPN TOTP and connect. Note that in my case, I only need it for Git and Maven repositories, as I still have access to our issue tracker or Internet without VPN.

(side note, I think the “Work offline” shown in @jurgenhaas’s screenshot is from Perforce, as it also seem to match the Keymap settings I’m seeing)

zielu commented 1 month ago

Hi, I was thinking about just hiding errors about connectivity problems. Report first one and then hide repetitions.