## Why is this change needed?
The word "permissions" is used in plural form. However, it would be more
accurate to use "**permission**" in singular, as it typically refers to
general access rather than multiple specific rights in this context.
## Merge Checklist
- [ ] PR title adheres to the [conventional
commits](https://www.conventionalcommits.org/en/v1.0.0/) standard
- [ ] PR has a
[changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets)
- [ ] PR has been tagged with a change label(s) (i.e. documentation,
feature, bugfix, or chore)
- [x] PR includes
[documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs)
if necessary.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on correcting the grammatical error in the comments of
the `scripts/publish-image.sh` file regarding permissions for Docker
login.
### Detailed summary
- Changed "necessary permissions" to "necessary permission" in the
comment about Docker login.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your
question}`
<!-- end pr-codex -->
## Why is this change needed?
This update addresses an issue in the bootstrap script where the
detection of openSUSE systems was not functioning correctly.
#### Problem:
The script checks `/etc/os-release` for `ID=openSUSE`, but the actual
value is `ID=opensuse` (lowercase). This mismatch causes the script to
fail in identifying openSUSE systems.
#### Solution:
- Updated the condition to use `grep -iq "ID=opensuse"` to ensure the
check is case-insensitive.
- This change ensures compatibility with all openSUSE installations.
### Before:
```bash
elif [[ -f /etc/os-release ]] && grep -q "ID=openSUSE" /etc/os-release; then
```
### After:
```bash
elif [[ -f /etc/os-release ]] && grep -iq "ID=opensuse" /etc/os-release; then
```
#### Additional Notes:
- Tested on multiple Linux distributions to confirm compatibility.
- The fix ensures a smoother user experience for openSUSE users.
## Merge Checklist
_Choose all relevant options below by adding an `x` now or at any time
before submitting for review_
- [x] PR title adheres to the [conventional
commits](https://www.conventionalcommits.org/en/v1.0.0/) standard
- [x] PR has a
[changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets)
- [x] PR has been tagged with a change label(s) (i.e. documentation,
feature, bugfix, or chore)
- [x] PR includes
[documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs)
if necessary.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR modifies the detection of the openSUSE operating system in the
`scripts/hubble-bootstrap.sh` script to ensure case-insensitive matching
for the `ID` field in `/etc/os-release`.
### Detailed summary
- Changed the grep command from `grep -q "ID=openSUSE"` to `grep -iq
"ID=opensuse"` for case-insensitive matching.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your
question}`
<!-- end pr-codex -->
## Why is this change needed?
**Subject:** Fix Issue with Path Quoting in `source ~/.bashrc`
A bug in the script where the `~` symbol, which represents the user's
home directory, was not expanding properly.
Specifically, in the following code:
```bash
if [[ ! -f "~/.bashrc" ]]; then
source ~/.bashrc
fi
```
The `~` should have been outside the quotes to properly expand it to the
full path. The corrected version is:
```bash
if [[ ! -f ~/.bashrc ]]; then
source ~/.bashrc
fi
```
## Merge Checklist
_Choose all relevant options below by adding an `x` now or at any time
before submitting for review_
- [x] PR title adheres to the [conventional
commits](https://www.conventionalcommits.org/en/v1.0.0/) standard
- [x] PR has a
[changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets)
- [x] PR has been tagged with a change label(s) (i.e. documentation,
feature, bugfix, or chore)
- [x] PR includes
[documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs)
if necessary.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on a minor adjustment in the `scripts/hubble.sh` file to
correct the file path check for `~/.bashrc`.
### Detailed summary
- Changed the conditional check from `if [[ ! -f "~/.bashrc" ]]; then`
to `if [[ ! -f ~/.bashrc ]]; then` to ensure proper evaluation of the
file existence.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your
question}`
<!-- end pr-codex -->
## Why is this change needed?
This change improves the usability of the `hubble.sh` script by ensuring
that invalid commands are handled gracefully. When an invalid command is
entered, the script now redirects the user to the help menu, preventing
confusion and providing guidance on available options.
## Merge Checklist
- [x] PR title adheres to the [conventional
commits](https://www.conventionalcommits.org/en/v1.0.0/) standard
- [ ] PR has a
[changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets)
- [ ] PR has been tagged with a change label(s) (i.e. documentation,
feature, bugfix, or chore)
- [ ] PR includes
[documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs)
if necessary
<!-- start pr-codex -->
---
## PR-Codex overview
This PR improves user feedback in the `hubble.sh` script by adding error
messages for invalid commands.
### Detailed summary
- Added an error message: `echo "❌ Invalid command: $1"` to notify the
user about the invalid command.
- Added a blank line for better readability: `echo ""`.
- Executed the help command: `exec "$0" help` to provide usage
instructions.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your
question}`
<!-- end pr-codex -->
## Why is this change needed?
We don't need to keep the temporary files around after the script has
run. Remove them after script termination.
Suggested in #2356.
## Merge Checklist
- [x] PR title adheres to the [conventional
commits](https://www.conventionalcommits.org/en/v1.0.0/) standard
- [ ] PR has a
[changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets)
- [ ] PR has been tagged with a change label(s) (i.e. documentation,
feature, bugfix, or chore)
- [ ] PR includes
[documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs)
if necessary.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a cleanup mechanism in the `scripts/hubble.sh` file
to ensure that a temporary file is removed upon script exit.
### Detailed summary
- Added a `trap` command to remove the temporary file (`tmp_file`) when
the script exits, ensuring no leftover files remain after execution.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your
question}`
<!-- end pr-codex -->
## Why is this change needed?
- fix: remove parentheses for prompt, which causes changes to occur in
sub shell and are not persisted to the environment file
## Merge Checklist
- [x] PR title adheres to the [conventional
commits](https://www.conventionalcommits.org/en/v1.0.0/) standard
- [x] PR has been tagged with a change label(s) (i.e. documentation,
feature, bugfix, or chore)
## Why is this change needed?
Force acknowledgement of no rewards for hubs that are already running
## Merge Checklist
_Choose all relevant options below by adding an `x` now or at any time
before submitting for review_
- [x] PR title adheres to the [conventional
commits](https://www.conventionalcommits.org/en/v1.0.0/) standard
- [ ] PR has a
[changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets)
- [x] PR has been tagged with a change label(s) (i.e. documentation,
feature, bugfix, or chore)
- [ ] PR includes
[documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs)
if necessary.
<!-- start pr-codex -->
---
## PR-Codex overview
The focus of this PR is to add a prompt for hub operator agreement
before running the script and updating the environment file accordingly.
### Detailed summary
- Added a function `prompt_for_hub_operator_agreement` to prompt for
agreement
- Created a function `update_env_file` to update or create the
environment file based on agreement
- Improved user input handling and validation
- Added logic to check for existing agreement in the environment file
- Updated the script flow to handle agreement properly
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your
question}`
<!-- end pr-codex -->
Reverts farcasterxyz/hub-monorepo#2154
<!-- start pr-codex -->
---
## PR-Codex overview
The focus of this PR is to refactor the
`prompt_for_hub_operator_agreement` function in `hubble.sh` for better
user interaction.
### Detailed summary
- Refactored the `prompt_for_hub_operator_agreement` function for
improved user experience
- Removed unnecessary file operations and simplified the prompt logic
- Moved the prompt logic outside the function for better readability and
maintenance
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your
question}`
<!-- end pr-codex -->
## Why is this change needed?
- Force acknowledgement of no rewards for hubs that are already running
## Merge Checklist
_Choose all relevant options below by adding an `x` now or at any time
before submitting for review_
- [x] PR title adheres to the [conventional
commits](https://www.conventionalcommits.org/en/v1.0.0/) standard
- [ ] PR has a
[changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets)
- [x] PR has been tagged with a change label(s) (i.e. documentation,
feature, bugfix, or chore)
- [ ] PR includes
[documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs)
if necessary.
<!-- start pr-codex -->
---
## PR-Codex overview
The focus of this PR is to add a prompt for hub operator agreement
before proceeding with hub startup.
### Detailed summary
- Added a function `prompt_for_hub_operator_agreement()` to handle
agreement prompt
- Introduced `update_env_file()` to update or create `.env` file with
agreement status
- Improved user interaction with clear messages and input validation
- Ensured hub operator agreement before executing hub-related commands
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your
question}`
<!-- end pr-codex -->
## Why is this change needed?
⚠️ THERE WILL BE NO REWARDS FOR RUNNING A HUB
## Merge Checklist
_Choose all relevant options below by adding an `x` now or at any time
before submitting for review_
- [x] PR title adheres to the [conventional
commits](https://www.conventionalcommits.org/en/v1.0.0/) standard
- [x] PR has a
[changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets)
- [x] PR has been tagged with a change label(s) (i.e. documentation,
feature, bugfix, or chore)
- [ ] PR includes
[documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs)
if necessary.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR adds a hub service agreement feature to the Hubble script,
requiring hub operators to agree to terms before starting the hub.
### Detailed summary
- Added function `prompt_for_hub_operator_agreement` to prompt hub
operators to agree to terms
- Prompt displays a warning about no rewards for running the hub
- Operators must type "Yes" to proceed
- Implemented input validation for agreement
- Integration of agreement prompt before starting or upgrading the hub
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your
question}`
<!-- end pr-codex -->
Hello
I fixed some typos in the code, code comments and docs,
Hope it helps.
Br,
Tudor
farcaster ACC: @tudor
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on improving code consistency by fixing typos and
grammatical errors across various files in the project.
### Detailed summary
- Fixed typos in function names and comments for better code readability
- Corrected grammatical errors in error messages and documentation for
clarity and consistency
- Updated wording for better understanding and adherence to project
standards
> The following files were skipped due to too many changes:
`apps/hubble/www/README.md`,
`apps/hubble/www/docs/docs/httpapi/httpapi.md`,
`apps/hubble/www/docs/docs/api.md`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your
question}`
<!-- end pr-codex -->
## Motivation
We no longer encourage using the grpc-web integration, therefore there's
no need for Envoy to be used when deploying hubs any more.
## Change Summary
Remove all references to Envoy.
- [x] PR title adheres to the [conventional
commits](https://www.conventionalcommits.org/en/v1.0.0/) standard
- [ ] PR has a
[changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets)
- [x] PR has been tagged with a change label(s) (i.e. documentation,
feature, bugfix, or chore)
- [ ] PR includes
[documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs)
if necessary.
- [x] All [commits have been
signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits)
<!-- start pr-codex -->
---
## PR-Codex overview
The focus of this PR is to remove unused files related to Envoy in the
`hubble` app and refactor some functions for better clarity.
### Detailed summary
- Removed unused Envoy-related files (`README.md`, `envoy.yaml`,
`envoy-start.sh`)
- Refactored functions for fetching and storing files
- Updated Docker installation message
- Improved crontab setup logic
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your
question}`
<!-- end pr-codex -->
## Motivation
We handle our upgrades manually.
## Change Summary
Add a check for `SKIP_CRONTAB=true` into the upgrade script.
## Merge Checklist
_Choose all relevant options below by adding an `x` now or at any time
before submitting for review_
- [ ] PR title adheres to the [conventional
commits](https://www.conventionalcommits.org/en/v1.0.0/) standard
- [ ] PR has a
[changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets)
- [ ] PR has been tagged with a change label(s) (i.e. documentation,
feature, bugfix, or chore)
- [ ] PR includes
[documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs)
if necessary.
- [ ] All [commits have been
signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits)
<!-- start pr-codex -->
---
## PR-Codex overview
This PR increases the version of the script to 5 and introduces a
feature to skip installing the autoupgrade crontab by setting
`SKIP_CRONTAB` in the `.env` file.
### Detailed summary
- Updated `CURRENT_VERSION` to "5"
- Added check to skip crontab setup if `SKIP_CRONTAB` is set in `.env`
- Display message when skipping crontab setup
- Updated help message to include instructions for skipping crontab
installation
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your
question}`
<!-- end pr-codex -->
## Motivation
There is currently no instructions to run the replicator manually. The
automatic install script wouldn't work correctly for me as I already had
something else running on port 9000 and I needed to make some manual
docker-compose changes.
So adding these scripts and commands for others who wish to run it
without the automatic script.
## Change Summary
- Adds instructions to replicator README to run using the docker compose
file without the automatic script.
- Adds .env.sample file for this manual docker compose run
- Fixes small bug with replicator.sh script where it was echo'ing
information to the terminal instead of the .env file.
## Merge Checklist
_Choose all relevant options below by adding an `x` now or at any time
before submitting for review_
- [x] PR title adheres to the [conventional
commits](https://www.conventionalcommits.org/en/v1.0.0/) standard
- [ ] PR has a
[changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets)
- [ ] PR has been tagged with a change label(s) (i.e. documentation,
feature, bugfix, or chore)
- [ ] PR includes
[documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs)
if necessary.
- [ ] All [commits have been
signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits)
## Additional Context
If this is a relatively large or complex change, provide more details
here that will help reviewers
<!-- start pr-codex -->
---
## PR-Codex overview
### Detailed summary
- The `replicator.sh` script now appends a line to the `.env` file.
- The `.env.sample` file in the `replicator` app has been updated with
new environment variables.
- The `README.md` file in the `replicator` app now includes instructions
for automatic and manual setup.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your
question}`
<!-- end pr-codex -->
* fix: hubble autoupgrade should ensure dependencies and clean unused docker data
* Add env var to bypass self upgrade
* Don't restart more than 5 times on failure
* Fix docker command