Skip to content

Add background job for sending files to print services#6412

Merged
Floppy merged 1 commit into
mainfrom
background-print-job
Jun 17, 2026
Merged

Add background job for sending files to print services#6412
Floppy merged 1 commit into
mainfrom
background-print-job

Conversation

@Floppy

@Floppy Floppy commented Jun 17, 2026

Copy link
Copy Markdown
Collaborator

Part of #2040

@Floppy Floppy added the improvement Refactors and behind-the-scenes improvements label Jun 17, 2026
@Floppy Floppy enabled auto-merge June 17, 2026 14:24
@codacy-production

codacy-production Bot commented Jun 17, 2026

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 0 complexity

Metric Results
Complexity 0

View in Codacy

🟢 Coverage 100.00% diff coverage · +0.02% coverage variation

Metric Results
Coverage variation +0.02% coverage variation (-1.00%)
Diff coverage 100.00% diff coverage

View coverage diff in Codacy

Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (6c2b53f) 7279 6062 83.28%
Head commit (dc2351b) 7287 (+8) 6070 (+8) 83.30% (+0.02%)

Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>

Diff coverage details
Coverable lines Covered lines Diff coverage
Pull request (#6412) 8 8 100.00%

Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@Floppy Floppy force-pushed the background-print-job branch 2 times, most recently from 6a5d067 to d0afc42 Compare June 17, 2026 15:23
@Floppy Floppy force-pushed the background-print-job branch from d0afc42 to dc2351b Compare June 17, 2026 15:26
@Floppy Floppy disabled auto-merge June 17, 2026 15:33
@Floppy Floppy enabled auto-merge June 17, 2026 15:33
@Floppy Floppy merged commit 5a7a0b6 into main Jun 17, 2026
17 checks passed
@Floppy Floppy deleted the background-print-job branch June 17, 2026 15:44
doonga pushed a commit to greyrock-labs/home-ops that referenced this pull request Jun 23, 2026
…0.145.1) (#374)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/bjw-s-labs/manyfold](https://ghcr.io/bjw-s-labs/manyfold) ([source](https://github.com/manyfold3d/manyfold)) | minor | `0.144.1` → `0.145.1` |

---

### Release Notes

<details>
<summary>manyfold3d/manyfold (ghcr.io/bjw-s-labs/manyfold)</summary>

### [`v0.145.1`](https://github.com/manyfold3d/manyfold/releases/tag/v0.145.1)

[Compare Source](manyfold3d/manyfold@v0.145.0...v0.145.1)

Quick bugfix release for an S3 storage scanning problem.

##### What's Changed

##### 🐛 Bug Fixes 🐛

- Prevent file scan from picking up files in .manyfold folders by [@&#8203;Floppy](https://github.com/Floppy) in [#&#8203;6480](manyfold3d/manyfold#6480)

**Full Changelog**: <manyfold3d/manyfold@v0.145.0...v0.145.1>

### [`v0.145.0`](https://github.com/manyfold3d/manyfold/releases/tag/v0.145.0)

[Compare Source](manyfold3d/manyfold@v0.144.1...v0.145.0)

It's printing time! Now you can print pre-sliced files straight from Manyfold (given the right file and printer!). Configure your local printer connection in settings, and then you can send GCODE or SL1 files straight from the file menu! Admins automatically have print permissions, but you can assign the 'printer' role to other accounts as well, if you're feeling brave!

At this point we have support for sending GCODE to [Octoprint](https://octoprint.org) & [Klipper](https://www.klipper3d.org), and GCODE and SL1 to printers with [PrusaLink](https://help.prusa3d.com/article/prusa-connect-and-prusalink-explained_302608#what-is-prusalink). We also have SL1 support for printers running [Odyssey](https://openresin.org/projects/odyssey), the open source firmware from [Open Resin Alliance](https://openresin.org), who recently released the [DragonFruit](https://dragonfruit-slicer.com) slicer. We want to add more support in future, and if you want to help get it working with *your* printer, take a look at our [issue list](https://github.com/manyfold3d/manyfold/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22good%20first%20issue%22) and join the [development channel on Matrix](https://matrix.to/#/#manyfold-development:matrix.org).

IMPORTANT: this is all pretty tricky to test without actually having a bank of different printers, so there may well be bugs. Don't print anything unattended until you're sure it's working properly, and if you have any problems, please [report it on GitHub](https://github.com/manyfold3d/manyfold/issues/new?template=bug_report.md).

VERY IMPORTANT: Manyfold doesn't actually *know* if a sliced file is physically compatible with your printer, so it's completely on you to check before you print!

##### What's Changed

##### ✨ New Features ✨

- Manage 3D Printer connections in the settings UI by [@&#8203;Floppy](https://github.com/Floppy) in [#&#8203;6394](manyfold3d/manyfold#6394)
- Add Moonraker API (Klipper) print service by [@&#8203;Floppy](https://github.com/Floppy) in [#&#8203;6393](manyfold3d/manyfold#6393)
- Add "print with {printer}" links to File menus and pages by [@&#8203;Floppy](https://github.com/Floppy) in [#&#8203;6416](manyfold3d/manyfold#6416)
- Add support for printing via Octoprint API by [@&#8203;Floppy](https://github.com/Floppy) in [#&#8203;6418](manyfold3d/manyfold#6418)
- Index a number of sliced DLP file formats (e.g. CBDDLP, SL1, Photon, GOO and more) by [@&#8203;Floppy](https://github.com/Floppy) in [#&#8203;6419](manyfold3d/manyfold#6419)
- Add print via OpenResinAlliance Odyssey API by [@&#8203;Floppy](https://github.com/Floppy) in [#&#8203;6425](manyfold3d/manyfold#6425)
- Support sending gcode or SL1 to PrusaLink machines by [@&#8203;Floppy](https://github.com/Floppy) in [#&#8203;6432](manyfold3d/manyfold#6432)
- Add "printer" role to allow users access to start prints by [@&#8203;Floppy](https://github.com/Floppy) in [#&#8203;6453](manyfold3d/manyfold#6453)

##### 🐛 Bug Fixes 🐛

- Fix page errors caused by using default parameter in nested blocks by [@&#8203;Floppy](https://github.com/Floppy) in [#&#8203;6397](manyfold3d/manyfold#6397)
- Fix and add tests for new file detection on S3 storage by [@&#8203;Floppy](https://github.com/Floppy) in [#&#8203;6466](manyfold3d/manyfold#6466)
- Handle incorrectly encoded filenames inside zipfiles by forcing to UTF-8 by [@&#8203;Floppy](https://github.com/Floppy) in [#&#8203;6468](manyfold3d/manyfold#6468)
- Include all tags in dropdown by [@&#8203;Floppy](https://github.com/Floppy) in [#&#8203;6471](manyfold3d/manyfold#6471)

##### 🌍 Internationalization 🌏

- Translations updated: pt by [@&#8203;Floppy](https://github.com/Floppy) in [#&#8203;6426](manyfold3d/manyfold#6426)
- Translations updated: ru by [@&#8203;Floppy](https://github.com/Floppy) in [#&#8203;6406](manyfold3d/manyfold#6406)
- Translations updated: nl by [@&#8203;Floppy](https://github.com/Floppy) in [#&#8203;6405](manyfold3d/manyfold#6405)
- Translations updated: pl by [@&#8203;Floppy](https://github.com/Floppy) in [#&#8203;6404](manyfold3d/manyfold#6404)
- Translations updated: de by [@&#8203;Floppy](https://github.com/Floppy) in [#&#8203;6403](manyfold3d/manyfold#6403)
- Translations updated: ja by [@&#8203;Floppy](https://github.com/Floppy) in [#&#8203;6402](manyfold3d/manyfold#6402)
- Translations updated: es by [@&#8203;Floppy](https://github.com/Floppy) in [#&#8203;6401](manyfold3d/manyfold#6401)
- Translations updated: cs by [@&#8203;Floppy](https://github.com/Floppy) in [#&#8203;6400](manyfold3d/manyfold#6400)
- Translations updated: zh-CN by [@&#8203;Floppy](https://github.com/Floppy) in [#&#8203;6399](manyfold3d/manyfold#6399)
- Translations updated: fr by [@&#8203;Floppy](https://github.com/Floppy) in [#&#8203;6398](manyfold3d/manyfold#6398)

##### 🛠️ Other Improvements 🛠️

- Get print host configuration from print services  by [@&#8203;Floppy](https://github.com/Floppy) in [#&#8203;6413](manyfold3d/manyfold#6413)
- Remove a number of JS dependencies no longer required now we're using Vite by [@&#8203;Floppy](https://github.com/Floppy) in [#&#8203;6414](manyfold3d/manyfold#6414)
- Add background job for sending files to print services by [@&#8203;Floppy](https://github.com/Floppy) in [#&#8203;6412](manyfold3d/manyfold#6412)
- Add optional credentials to print host form by [@&#8203;Floppy](https://github.com/Floppy) in [#&#8203;6417](manyfold3d/manyfold#6417)
- Add explanation for required network access from Manyfold to print hosts by [@&#8203;Floppy](https://github.com/Floppy) in [#&#8203;6420](manyfold3d/manyfold#6420)
- Add tests for Moonraker and Octoprint services by [@&#8203;Floppy](https://github.com/Floppy) in [#&#8203;6423](manyfold3d/manyfold#6423)
- Use print service input types to check files on upload by [@&#8203;Floppy](https://github.com/Floppy) in [#&#8203;6446](manyfold3d/manyfold#6446)
- Use the Rails plugin for vite by [@&#8203;Floppy](https://github.com/Floppy) in [#&#8203;6451](manyfold3d/manyfold#6451)
- Improve and fix translation strings for printing feature by [@&#8203;Floppy](https://github.com/Floppy) in [#&#8203;6452](manyfold3d/manyfold#6452)
- Improve "safe folder name" paths  by [@&#8203;Floppy](https://github.com/Floppy) in [#&#8203;6470](manyfold3d/manyfold#6470)

**Full Changelog**: <manyfold3d/manyfold@v0.144.1...v0.145.0>

</details>

---

### Configuration

📅 **Schedule**: (in timezone America/New_York)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMzQuMSIsInVwZGF0ZWRJblZlciI6IjQzLjIzNC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL21pbm9yIl19-->

Reviewed-on: https://git.greyrock.io/greyrock-labs/home-ops/pulls/374
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improvement Refactors and behind-the-scenes improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant