Commit Graph
36 Commits
Author SHA1 Message Date
4gray 8fdac824fd feat(packaging): ship Linux embedded MPV frame-copy runtime (#1200)
* docs: design Linux frame-copy packaging

* docs: plan Linux frame-copy packaging

* feat(packaging): define Linux frame-copy profiles

* fix(packaging): reject inherited profile names

* feat(embedded-mpv): validate staged Linux runtime

* fix(embedded-mpv): require Linux source packages

* fix(embedded-mpv): harden Linux runtime staging

* feat(embedded-mpv): build LGPL Linux runtime

* fix(embedded-mpv): pin Linux runtime inputs

* feat(embedded-mpv): build relocatable Linux helper

* fix(embedded-mpv): require bundled Linux runtime

* fix(embedded-mpv): make Linux runtime portable

* feat(packaging): ship Linux frame-copy artifacts

* fix(embedded-mpv): verify Linux helper linkage

* fix(packaging): enforce Linux frame-copy isolation

* fix(embedded-mpv): pin Linux display data

* docs(embedded-mpv): document Linux frame-copy packaging

* feat(embedded-mpv): probe Linux frame-copy runtime

* test(embedded-mpv): smoke packaged Linux frame-copy

* docs(embedded-mpv): clarify Linux system runtime baseline

* fix(embedded-mpv): harden Linux runtime capability gate

* ci: verify Linux frame-copy packages

* test(embedded-mpv): harden packaged Linux smoke

* test(embedded-mpv): preserve packaged GL mode

* test(packaging): harden Linux package probes

* fix(embedded-mpv): enable private Snap shared memory

* fix(embedded-mpv): sanitize Linux helper environment

* fix(packaging): enforce private Snap memory semantics

* fix(packaging): reject ambiguous Snap memory metadata

* fix(embedded-mpv): prioritize trusted Snap GL

* fix(packaging): reject advanced Snap YAML semantics

* fix(packaging): reject arbitrary Snap YAML aliases

* feat(packaging): ship Linux runtime license notices

* docs(embedded-mpv): document Linux runtime distribution

* fix(packaging): parse Snap trailing comments safely

* fix(release): gate Snap publish on public source release

* fix(packaging): strip VCS metadata from source bundle

* docs(packaging): clarify Linux source release gate

* test(embedded-mpv): smoke missing bundled libmpv

* style(embedded-mpv): format final validation inputs

* fix(e2e): satisfy fixture index signature typing

* fix(ci): declare fontconfig gperf generator

* fix(embedded-mpv): hash runtime cache identities

* fix(packaging): harden Linux frame-copy delivery

* fix(packaging): tighten runtime delivery gates

* fix(ci): decouple Linux runtime matrix

* fix(packaging): harden Linux frame-copy delivery

* fix(packaging): validate Linux frame-copy runtimes

* fix(packaging): scope Snap Electron library checks

* feat(packaging): ship Linux frame-copy runtimes

* fix(packaging): improve Linux runtime smoke diagnostics

* fix(packaging): expose bounded helper probe details

* test(packaging): trace Snap EGL probe failures

* fix(packaging): prefer core22 ABI in Snap helper

* fix(packaging): bound helper probe capture

* fix(packaging): harden Linux frame-copy releases

* fix(packaging): canonicalize libplacebo submodule identity

* fix(packaging): make source archive inspection portable

* fix(packaging): harden Snap release verification
2026-07-18 17:28:22 +02:00
4gray b1119189e2 feat(updater): add GitHub releases desktop updater
Adds the GitHub Releases desktop updater with release notes, startup notification, packaging metadata, tests, and CI fixes for Electron E2E.
2026-06-28 22:21:20 +02:00
4gray 4094a36fef Harden Linux embedded MPV packaging (#1043) 2026-06-13 17:24:13 +02:00
4gray 06700b318a feat(electron): add embedded mpv support for windows and linux (#1031)
Adds experimental embedded MPV support for Windows and Linux, expands packaging/runtime validation, and updates CI coverage for the cross-platform native addon.
2026-06-09 08:58:38 +02:00
4gray 6cdd02f010 fix(linux): align packaged app identity
Entire-Checkpoint: f957cd9849e0
2026-05-09 16:22:37 +02:00
4gray b25fc040b5 build(embedded-mpv): streamline macOS native output handling and packaging process
Entire-Checkpoint: c6e522b4276c
2026-04-27 11:33:57 +02:00
4gray 6aa4f2521b build(embedded-mpv): enhance macOS build process and validation for embedded MPV integration
Entire-Checkpoint: c6e522b4276c
2026-04-27 11:06:12 +02:00
4gray 9f873e6bed feat(player): add embedded-mpv player for macOS as experimental feature
- Introduced tooling for building and staging the macOS `libmpv` runtime for IPTVnator's embedded MPV player.
- Added `build-macos-runtime.mjs` for building an LGPL-compatible runtime from source.
- Created `stage-macos-runtime.mjs` for staging the built runtime artifacts.
- Implemented validation for the packaged embedded MPV runtime in `electron-after-pack.cjs` and `embedded-mpv-macos.cjs`.
- Updated packaging scripts to ensure the embedded MPV runtime is correctly integrated and validated during the build process.
- Added README files to document the expected layout and usage for the embedded MPV runtime artifacts.

Entire-Checkpoint: c6e522b4276c
2026-04-27 00:32:14 +02:00
4gray b449e3796b build: update Snap packaging to use core22 base for compatibility 2026-04-13 08:06:48 +02:00
4gray e25c137eec build: include X11 override in Snap package configuration
Entire-Checkpoint: 21b9b9f90f23
2026-04-12 18:56:20 +02:00
4gray 35141bec31 build: configure Flatpak finish arguments for external player launching
Entire-Checkpoint: 21b9b9f90f23
2026-04-12 18:38:07 +02:00
4gray c06ed66c41 ci(flatpak): add Flatpak runtime and base configuration for stable branch
Entire-Checkpoint: 21b9b9f90f23
2026-04-12 14:09:05 +02:00
4gray 1136e9abac ci(flatpak): add Flatpak support with metainfo and asset validation
Entire-Checkpoint: 21b9b9f90f23
2026-04-12 12:13:05 +02:00
4gray e0b3c74fed ci(packaging): implement Linux launcher sandbox fix and verification process
Entire-Checkpoint: 21b9b9f90f23
2026-04-12 11:47:07 +02:00
4gray 367c9507a5 ci(macOS): enhance code signing process with CSC_NAME variable and verification steps 2026-03-15 10:55:30 +01:00
4gray ec84eea924 feat(macOS): add notarization support and entitlements for Electron app 2026-03-13 07:36:09 +01:00
4gray 5952ce3719 ci(build): add ia32 architecture support for NSIS target 2026-02-21 11:57:41 +01:00
4gray b57f4a640a fix(electron): pass nativeModulesPath to workers and load native modules in worker to support packaged app 2026-01-13 22:55:32 +01:00
4gray 7fa7143868 build: update snap description in electron-builder 2025-12-14 14:14:03 +01:00
4gray c714996ce0 feat(electron): refine Linux sandbox handling and format copy filter
Improve sandbox handling on Linux by detecting Snap, Flatpak,
and AppImage environments and applying appropriate Chromium
command-line switches:

- If running in Snap or Flatpak, disable Chromium's sandbox
  (--no-sandbox) to avoid conflicts with the distribution's
  own sandboxing.
- Otherwise (traditional packages and AppImage), disable the
  SUID sandbox and prefer the user namespace sandbox
  (--disable-setuid-sandbox). This avoids requiring a SUID
  chrome-sandbox binary and aligns with modern Linux best
  practices.

Also adjust apps/electron-backend/src/main.ts to only apply
these changes on Linux (process.platform === 'linux').

Minor formatting: expand the package.json copy "filter" array
to a multiline style for readability.
2025-12-14 12:31:00 +01:00
4gray 04ccc67021 chore: remove Electron build configuration files 2024-12-01 19:49:30 +01:00
4gray 18efd2060c test: set custom test id attribute for playwright
Update electron-builder.json

ci: experiment with electron-builder configuration for linux
2023-01-03 23:30:44 +01:00
4gray 1afabc671d test(e2e): adjust playwright configuration 2023-01-02 19:04:39 +01:00
4gray 1666376704 build: back to "dist" folder 2022-09-19 11:41:24 +02:00
4gray 3de1f1432b build: remove deprecated ia32 support for linux 2022-09-11 14:40:46 +02:00
4gray 57e30ca84a refactor: update icons path 2022-07-17 21:19:35 +02:00
4gray 32e08c969b chore: update electron builder config
ci: update version of upload-artifacts action

build: update depdendencies

ci: update release script

ci: try with ubuntu-18.04

ci: add USE_SYSTEM_FPM=true

ci: downgrade electron-builder

ci: revert electron-builder, add new step with manual packaging

ci: add separate steps for build

ci: add separate steps for build

ci: adapt package script

ci: update package command for macos

ci: update package command for macos

ci: update package commands

ci: update package commands

ci: update package commands

build: downgrade electron-builder

build: revert electron-builder.json

ci: update package commands
2022-04-26 22:38:36 +02:00
4gray f70d875b88 build: create additional build for M1 chips (macOS) 2022-01-30 11:28:12 +01:00
4gray 36d3eaa54d fix: capitalize app name #117 2022-01-29 20:55:03 +01:00
4gray bcc76e5728 build: extend build options 2021-10-10 21:37:34 +02:00
4gray 035fdec3b2 build: revert some changes back to fix compatibility issues 2021-05-18 17:49:49 +02:00
4gray 955bb27eec fix: macOS corrupt icon fix, closes #21 2021-02-21 19:14:42 +01:00
4gray 041cd61be4 build: update release def in electron-packager 2020-12-24 20:41:45 +01:00
4gray 11021b8b45 build: enable packaging for win32 2020-12-24 19:30:48 +01:00
4gray 903a5ffbbb build: enable deb, rpb & nsis for windows 2020-09-13 18:59:08 +02:00
4gray 998e7e9255 feat: electron based app 2020-08-23 20:57:07 +02:00