Skip to content

feat: add mise support and other goodies#1202

Merged
7w1 merged 19 commits into
devfrom
hazre/feat/add-mise-support
Jul 25, 2026
Merged

feat: add mise support and other goodies#1202
7w1 merged 19 commits into
devfrom
hazre/feat/add-mise-support

Conversation

@hazre

@hazre hazre commented Jul 22, 2026

Copy link
Copy Markdown
Member

Stack of PRs (1 of 3):

Description

Adds mise tooling to the repo for easy installation of other tooling like node, pnpm, rust and etc. as well as a unified task runner for the project.

I also converted some of the bash scripts to js and added relevant mise metadata, so it its well integrated with mise.

Swapped fpm for nfpm so there is less dependencies and we can use a config file for linux packaging.

image

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings

AI disclosure:

  • Partially AI assisted (clarify which code was AI assisted and briefly explain what it does).
  • Fully AI generated (explain what all the generated code does in moderate detail).

@hazre hazre added the internal label Jul 22, 2026
@hazre hazre self-assigned this Jul 22, 2026
@github-actions

github-actions Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

OpenTofu plan for production

Plan: 2 to add, 0 to change, 2 to destroy.
OpenTofu used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
-/+ destroy and then create replacement

OpenTofu will perform the following actions:

  # cloudflare_worker_version.site must be replaced
-/+ resource "cloudflare_worker_version" "site" {
!~      annotations         = {
+           workers_message      = (known after apply)
+           workers_tag          = (known after apply)
!~          workers_triggered_by = "create_version_api" -> (known after apply)
        } -> (known after apply)
!~      assets              = { # forces replacement
!~          asset_manifest_sha256 = "0d77329279e54c9584f2ea13c8f6f8c63fb7314c36297bd93964d3fe18b6d3d3" -> "2c3b0e80bc0a39c70c3a1f7b5af2fced32c3e10058f83651246471f58c428f57" # forces replacement
!~          directory             = "/home/runner/work/Sable/Sable/dist" -> "/github/workspace/dist"
#            (1 unchanged attribute hidden)
        }
+       compatibility_flags = (known after apply)
!~      created_on          = "2026-07-17T20:34:47Z" -> (known after apply)
!~      id                  = "************************************" -> (known after apply)
+       limits              = (known after apply)
+       main_script_base64  = (known after apply)
!~      number              = 1528 -> (known after apply)
!~      source              = "terraform" -> (known after apply)
+       startup_time_ms     = (known after apply)
#        (4 unchanged attributes hidden)
    }

  # cloudflare_workers_deployment.site must be replaced
-/+ resource "cloudflare_workers_deployment" "site" {
!~      annotations  = { # forces replacement
!~          workers_message      = "v1.20.0" -> "feat: add mise support and other goodies"
!~          workers_triggered_by = "deployment" -> (known after apply)
        }
!~      author_email = "cloudflare@sl.sable.moe" -> (known after apply)
!~      created_on   = "2026-07-17T20:34:47Z" -> (known after apply)
!~      id           = "************************************" -> (known after apply)
!~      source       = "terraform" -> (known after apply)
!~      versions     = [ # forces replacement
!~          {
!~              version_id = "************************************" -> (known after apply)
#                (1 unchanged attribute hidden)
            },
        ]
#        (3 unchanged attributes hidden)
    }

Plan: 2 to add, 0 to change, 2 to destroy.

Warning: Attribute Deprecated

  with cloudflare_workers_custom_domain.site,
  on main.tf line 41, in resource "cloudflare_workers_custom_domain" "site":
  41:   environment = "production"

This attribute is deprecated.

(and one more similar warning elsewhere)

📝 Plan generated in Cloudflare Infra #249

@hazre
hazre force-pushed the hazre/feat/add-mise-support branch 6 times, most recently from 8d6da33 to 3aafaa9 Compare July 23, 2026 03:20
@hazre

hazre commented Jul 23, 2026

Copy link
Copy Markdown
Member Author

Okay I think it's in a pretty good state. I just need need some peeps to give it a go, ideally on different OS's and also double check CI, in case I missed anywhere that can be replaced with mise.

Also one big change was switch from fpm to nfpm. I need someone on linux to test mise run cef:package, it looks sane to me but nfpm config might need to be changed.

@hazre
hazre marked this pull request as ready for review July 23, 2026 03:22
@hazre
hazre requested a review from 7w1 as a code owner July 23, 2026 03:22
@7w1
7w1 force-pushed the hazre/feat/add-mise-support branch from eb27198 to f6c5fec Compare July 24, 2026 02:53
hazre added 9 commits July 24, 2026 19:42
Signed-off-by: hazre <mail@haz.re>
Signed-off-by: hazre <mail@haz.re>
Signed-off-by: hazre <mail@haz.re>
- Add nfpm.yaml declarative config with contents, deps, per-packager overrides
- Replace fpm CLI invocations in package.sh with nfpm pkg
- Manage appimagetool and nfpm via mise file task tools
- Remove manual appimagetool download + sha256 verification
- Fix stale paths from scripts/cef/ move (ROOT, copy-libs reference, usage)
- Add version extraction guard and appimagetool availability check

Signed-off-by: hazre <mail@haz.re>
Signed-off-by: hazre <mail@haz.re>
Signed-off-by: hazre <mail@haz.re>
Signed-off-by: hazre <mail@haz.re>
hazre and others added 9 commits July 24, 2026 19:46
Signed-off-by: hazre <mail@haz.re>
Signed-off-by: hazre <mail@haz.re>
Signed-off-by: hazre <mail@haz.re>
Signed-off-by: hazre <mail@haz.re>
Signed-off-by: hazre <mail@haz.re>
Signed-off-by: hazre <mail@haz.re>
Signed-off-by: hazre <mail@haz.re>
Signed-off-by: hazre <mail@haz.re>
@7w1
7w1 force-pushed the hazre/feat/add-mise-support branch from f6c5fec to 43a1e4c Compare July 25, 2026 00:52
@github-actions

Copy link
Copy Markdown
Contributor

Deploying with  Cloudflare Workers  Cloudflare Workers

Status Preview URL Commit Alias Updated (UTC)
✅ Deployment successful! https://pr-1202-sable.raspy-dream-bb1d.workers.dev 1f2a43b pr-1202 Sat, 25 Jul 2026 01:04:27 GMT

@7w1
7w1 added this pull request to the merge queue Jul 25, 2026
Merged via the queue into dev with commit 98641ae Jul 25, 2026
18 checks passed
charm-cloudhub-social Bot pushed a commit to CloudHub-Social/Charm-1.0 that referenced this pull request Jul 25, 2026
…ck for updates, move updater to AppShell (SableClient#1235)

<!-- VISUALJJ_STACK_V1 START -->
Stack of PRs (2 of 3):
- SableClient#1268
- ▶ SableClient#1235 [(2 commits)](1235/files) ◀
- SableClient#1202
<!-- VISUALJJ_STACK_V1 END -->

### Description

- Adds a pill button on tauri desktop app that uses custom titlebar, I
made `SyncConnectionStatus.tsx` component more generic, so it can be
reused and so im using the same styling as SyncStatus pill.
- Adds auto-update polling (every 5 minutes), previously only updates
were checked at startup.
- Updates are now auto downloaded in the background (in-memory), to be
more instant.
- Added a manual check for updates button in Settings > About > Check
for Updates
- Moved DesktopUpdater, WebUpdater and GlobalBannerRenderer all into
`Appshell.tsx` so it runs and shows up on all pages, including auth. To
avoid deadlocks if we break anything on some of the pages. previously if
we broke auth for example, you could not push a update to auto updating
apps to patch it. Now you can.
- `update.body` is now shown in the update Banner, it would be good for
changelogs and such, depends if we populate it in the manifest.

#### Current auto-update flow is now:
- Custom Titlebar: Check for update on startup or via polling > show
pill update downloading > show pill update available > click on pill >
show update banner
- Native: Check for update on startup or via polling > show update
banner
- Manual check: Click on check button > show no update available with
timestamp of last checked OR show update banner if update available

### Screenshots

https://github.com/user-attachments/assets/98e2f3d1-3df3-436e-abd4-306df6781a89

*Old video, pill has been updated to look like below*

<img width="1280" height="486" alt="Cap 2026-07-23 at 09 26 32"
src="https://github.com/user-attachments/assets/0db45cd6-e61a-4507-96b5-7caa362a1d36"
/>

#### Type of change

- [x] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] This change requires a documentation update

### Checklist:

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings

### AI disclosure:

- [ ] Partially AI assisted (clarify which code was AI assisted and
briefly explain what it does).
- [x] Fully AI generated (explain what all the generated code does in
moderate detail).
@hazre hazre mentioned this pull request Jul 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants