Comments (7)
You could also run clink set clink.update_interval 30
to make Clink only check for updates once a month. (And if you run into some kind of problem, then check the Releases page and/or run clink update
to check if a newer release fixes the problem.)
Another option is for me to publish releases less frequently. They've backed of to an average of once per week, but that's still pretty frequent. I could add an option to choose whether to install pre-release updates or release updates, and make releases infrequent. I keep thinking it's close to having releases be very infrequent, but there keeps being a slow trickle of things that need changes.
from clink.
I'm working on a more automatic approach to updates.
I have a prototype in progress, where it can be configured to install updates automatically in the background if it doesn't need to elevate (i.e. if it's installed via .zip file instead of the setup exe). And if elevation is needed, then it can pop up a prompt window asking whether to install the update or skip the update or prompt again later.
I'm working on a few last kinks before it's ready for release.
from clink.
I'm not comfortable with automatic forced updates for Clink, for several reasons. Especially when installed with AutoRun as the potential for conflicts is high.
But if you want to silently update Clink, you can do that with a very tiny script. It doesn't need to be built into Clink.
I'd be more likely to recommend turning off automatic check for updates, and just run clink update
manually once a month.
To that end, I have been thinking of adding a flag that checks for an update without doing the update, e.g. maybe clink update --check
.
from clink.
@UweKeim I forgot to mention the main reason why updates require user interaction:
If you used the setup .exe installer, then updates require elevation. It's very insecure to prompt for elevation without the user directly initiating it -- it trains users to expect random elevation prompts as legitimate, which puts them at higher risk for being victims of phishing and malware attack.
Why does the installer require elevation???
- So that it can install Clink in Program Files, which requires elevation.
- So that uninstall can be performed safely and remove Clink from AutoRun for All Users. Otherwise uninstalling could break all CMD execution for all users if
clink autorun --allusers install
has been used (note that "all users" includes the OS itself when running processes internally as LocalSystem!).
from clink.
...and OOPS, the help text for the clink update
command still talks about "automatic updates" and still claims "If [an update] is available, it is downloaded and will be installed the next time Clink is injected". But that is not how it actually works -- that text is leftover from when I had originally made updates be automatically installed, and quickly realized why that can't work. I missed removing it.
from clink.
BTW: Any donation button or something like that available?
Thank you for asking, but nope -- I don't accept donations at this time. π
from clink.
Thank you very much for your replies, @chrisant996. Sounds all completely logical to me.
I'm very happy to use your clink on a daily basis on quite a number of machines. Always happy to see a new update being installed π
BTW: Any donation button or something like that available?
from clink.
Related Issues (20)
- Code signing HOT 23
- Explore fixing ansicon performance HOT 1
- How to improve argument visibility in terminal light themes? HOT 4
- Can't type backslash in On-Screen Keyboard with Swedish keyboard layout HOT 2
- Clink requires inject and autorun install frequently HOT 6
- Tab to autocomplete paths jumps to beginning of path and deletes a character if no option is found HOT 1
- Dynamic Command-Specific Tab Titles HOT 3
- Pasting recognizably slower HOT 5
- Clink Tab completion is different than it shows HOT 7
- Windows 11 no changes with clink HOT 2
- rl.expandtilde() did not expand to %USERPROFILE% HOT 4
- How to automatically switch to the directory from the last exit when the program starts againοΌ HOT 2
- Disabling directory shortcuts HOT 3
- .EXE installer not found HOT 1
- Hash in release asset name HOT 8
- How to define another editor in _inputrc? HOT 2
- The OhMyPosh Window Title does not work properly if we add emoji char. HOT 6
- How can I use it in PowerShell HOT 1
- clink.logo none adds a blank line above prompt HOT 3
- Starship emojis are showing as squares HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from clink.