8000 `next` tracking PR for `3.0.0` by augustoccesar · Pull Request #209 · mentimeter/linkup · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

next tracking PR for 3.0.0 #209

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

Merged
merged 22 commits into from
Apr 9, 2025
Merged

next tracking PR for 3.0.0 #209

merged 22 commits into from
Apr 9, 2025

Conversation

augustoccesar
Copy link
Collaborator
@augustoccesar augustoccesar commented Mar 21, 2025

This will be merged to release 3.0.0.

Closes SHIP-2057

Changelog:

Thank you @diegomartinrecillas @ludwigbacklund @solveigsg12 and @jauniusmentimeter for beta testing it! ❤️

This changes so that we don't need Caddy and the certificate management
with the worker.
With this, when installing local-dns a Certificate Authority certificate
is created for Linkup and allowed on the local machine.
Then other certificates for the subdomains are created and signed by
that CA.

Closes SHIP-1993
Currently, if the certificates folder does not exist, the HTTPS server
fails to start. With the current setup, if any of the two servers (HTTP
or HTTPS) exits, it stops the other one.

This is causing issue where, if the user does not have local-dns
installed, they won't have the certificates folder, and by consequence
the HTTPS server will not start and kill the HTTP server.

These changes allow the HTTPS server to start without any certificate.
Add support to pre-release versions on `versioning`.
Right now the only pre-release that will exist is
`0.0.0-next-<timestamp>-<hash>`, so if there is a `pre-release` part of
the version, we can ignore the base semver.

PR for generating the pre-releases:
#205

Closes SHIP-2016
@augustoccesar augustoccesar self-assigned this Mar 21, 2025
@augustoccesar augustoccesar changed the title Next tracking PR next tracking PR Mar 21, 2025
@augustoccesar augustoccesar requested a review from a team March 25, 2025 09:44
### Description

This changes to use [anyhow](https://docs.rs/anyhow/latest/anyhow/)
instead of a "global" error enum. This does not fully tackle adding
context to places where errors happens, but more replace on places where
it was straightforward to change one for the other.

As a follow-up, should go on places that we currently have `.unwrap()`,
`.expect()` and some `?` to add `.context()/.with_context()` to them.

### Difference of output
Before these changes, running `linkup status` before a state exists
(running `linkup start`) would result on this error:
```
Error: NoState("No such file or directory (os error 2)")
```

With these changes, this is the error:
```
Error: Failed to load local state

Caused by:
    0: Failed to read state file on "/Users/username/.linkup/state"
    1: No such file or directory (os error 2)
```

Closes SHIP-1866
### Description
This replaces the dependency on dnsmasq and spin up a local DNS server
using Hickory.

### References
- https://github.com/hickory-dns/hickory-dns
# Conflicts:
#	linkup-cli/src/commands/uninstall.rs
#	linkup-cli/src/main.rs
This allows users to explicitly choose which channel to update to. So a
user in a beta version can update to the stable and vice versa.
Pid files haven't been very reliable for the purpose of knowing if a
background service is running and what is its PID. With this new
approach, we start all the background services with an extra environment
variable called `LINKUP_SERVICE_ID`, which then we query for knowing if
the service is running and what is its PID.

Closes SHIP-2049
@augustoccesar augustoccesar changed the title next tracking PR next tracking PR for 3.0.0 Apr 4, 2025
Fixes:
- (6d6b846) Change health check order.
Since the check for installation is based on resolvers files existing,
not on a binary existing (for example), theoretically it can be actually
running even though there are no resolvers. So this will show and be
managed (stop) correctly in case that is true.
- (e3317cf) Only start Local DNS if
local-dns is installed.
After discussions, we have decided that to make easier to maintain the
installation script, we would move it to Python for the next release.
The target machines that we have, should have Python already available
and this should be easier/nicer for us to maintain.

Closes SHIP-2033
@augustoccesar augustoccesar marked this pull request as ready for review April 8, 2025 09:11
@augustoccesar
Copy link
Collaborator Author

We need to update the required checks for the repository after this one is merged to not look for Check and Clippy and Test Suite, but instead look for the target specific versions of those (like Check and Clippy (macos-latest)).

…#225)

Some processes add the linkup bin folder somewhere on their command.
Sometimes as environment variable.

For example, `bundle exec ...` load the users `PATH` into a variable
`BUNDLER_ORIG_PATH`, which contains the path to the linkup bin folder.
These should not be considered possible orphan processes, but they are
at the moment.

Also now maxing the size of the output of the orphan commands to be 120
characters to avoid huge outputs when the list of arguments are too
long.
@augustoccesar augustoccesar merged commit 90734b4 into main Apr 9, 2025
11 checks passed
@augustoccesar augustoccesar deleted the next branch April 9, 2025 07:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

1 participant
0