Skip to content
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

feat: modules as plugins #1002 #3062

Merged
merged 63 commits into from
Jan 24, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
3c15bb1
chore: refactor InstanceModules to not extend CoreBase
Julusian Sep 24, 2024
4b0e317
wip: use global refresh progress store
Julusian Oct 22, 2024
f1773a5
wip: remove concept of builtin modules
Julusian Oct 23, 2024
3c73fa1
Revert "wip: remove concept of builtin modules"
Julusian Nov 4, 2024
2f84b9f
wip: use crude api for module store
Julusian Nov 4, 2024
53ee657
wip: shared module store context
Julusian Nov 4, 2024
8f0b80f
wip: update wording of add connection panel
Julusian Nov 4, 2024
1b48dde
wip
Julusian Nov 4, 2024
daf1f09
wip: refine add connections list
Julusian Nov 5, 2024
d9c9133
wip
Julusian Nov 5, 2024
7e1064d
wip
Julusian Nov 6, 2024
ab04e92
wip: multipart upload
Julusian Nov 7, 2024
5ce5226
wip: upload timeout
Julusian Nov 7, 2024
f4e3844
wip: report progress
Julusian Nov 7, 2024
162ca46
wip: perform import of bundle
Julusian Nov 8, 2024
b85f76b
wip: tidy
Julusian Nov 8, 2024
bc9478e
wip
Julusian Nov 8, 2024
478b597
wip:
Julusian Nov 11, 2024
4dd05be
wip: version ui
Julusian Nov 11, 2024
c22811d
wip: granular reloading
Julusian Nov 11, 2024
41b7349
wip: reorder tabs
Julusian Nov 13, 2024
09a3142
wip: remove concept of builtin modules
Julusian Nov 13, 2024
3484faf
wip: remove bundled-modules from builds, and old tooling
Julusian Nov 13, 2024
549c263
wip: module manage tweaks
Julusian Nov 13, 2024
75dbf5c
wip: crude autoinstall of versions
Julusian Nov 13, 2024
865e14f
wip: rework module manage page
Julusian Nov 13, 2024
9f9748c
fix: allow editing connection label and version while module is missing
Julusian Nov 18, 2024
7764ac8
css tweaks
Julusian Nov 18, 2024
67508f9
wip: connection list
Julusian Nov 18, 2024
f83acc1
fix
Julusian Nov 18, 2024
ef1ff23
change icon
Julusian Nov 18, 2024
18d1a67
tidying
Julusian Nov 18, 2024
aff8ed2
indicate deprecated modules
Julusian Nov 18, 2024
93cd1af
wip: one click install all missing versions
Julusian Nov 18, 2024
1375bea
indicate new version is available in list, and update policy
Julusian Nov 18, 2024
961185c
fix: import preserve module versions
Julusian Nov 18, 2024
9b5746c
fix: import broken modules
Julusian Nov 18, 2024
979fbfe
lint issues
Julusian Nov 18, 2024
5d84cce
Merge branch 'main' into feat/loadable-modules2
Julusian Nov 19, 2024
18c8b2e
fix package.json and yarn.lock
Julusian Nov 24, 2024
bbc317e
wip: move isPrerelease to property in manifest
Julusian Nov 24, 2024
9aad31b
wip: rename prerelease to beta
Julusian Nov 24, 2024
794c544
wip: tidy
Julusian Nov 24, 2024
58246f1
wip: tidying
Julusian Nov 24, 2024
1ae05d9
wip: simplify types. move legacy check to a file inside modules
Julusian Nov 24, 2024
1bb1731
Merge branch 'develop' into feat/loadable-modules2
Julusian Dec 15, 2024
3974255
fix: install from real api
Julusian Dec 15, 2024
5fea75b
wip: check download checksum
Julusian Dec 15, 2024
63802cd
fix: use generated openapi client
Julusian Dec 15, 2024
a484ec8
wip: fixup showing module help
Julusian Dec 15, 2024
9911dca
chore: pin version
Julusian Dec 15, 2024
7c5d330
wip: rework unknown latest timestamp
Julusian Dec 15, 2024
04e849e
chore: consistent wording and link
Julusian Dec 15, 2024
c08ae8b
wip: update api types
Julusian Dec 16, 2024
3f26587
fix: help showing
Julusian Dec 16, 2024
d579995
Merge branch 'develop' into feat/loadable-modules2
Julusian Jan 19, 2025
4fff80d
wip: rebase
Julusian Jan 19, 2025
980e427
Merge branch 'develop' into feat/loadable-modules2
Julusian Jan 21, 2025
20a1a68
Merge branch 'develop' into feat/loadable-modules2
Julusian Jan 21, 2025
5c52c4d
wip: ui to force connection to different module
Julusian Jan 24, 2025
faf3d59
wip: styling
Julusian Jan 24, 2025
f620abb
wip: tidy
Julusian Jan 24, 2025
eba2a3f
wip
Julusian Jan 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 0 additions & 51 deletions .github/workflows/sync-modules.yml

This file was deleted.

3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +0,0 @@
[submodule "bundled-modules"]
path = bundled-modules
url = https://github.com/bitfocus/companion-bundled-modules
1 change: 0 additions & 1 deletion bundled-modules
Submodule bundled-modules deleted from 4fbbef
3 changes: 3 additions & 0 deletions companion/lib/ImportExport/Controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -634,6 +634,7 @@ export class ImportExportController {

clientObject.instances[instanceId] = {
instance_type: this.#instancesController.modules.verifyInstanceTypeIsCurrent(instance.instance_type),
moduleVersionId: instance.moduleVersionId ?? null,
label: instance.label,
sortOrder: instance.sortOrder,
}
Expand Down Expand Up @@ -992,6 +993,8 @@ export class ImportExportController {
const [newId, newConfig] = this.#instancesController.addInstanceWithLabel(
{ type: instance_type },
obj.label,
obj.moduleVersionId ?? null,
obj.updatePolicy,
true
)
if (newId && newConfig) {
Expand Down
12 changes: 11 additions & 1 deletion companion/lib/Instance/ConnectionConfigStore.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
import { ConnectionConfig, ClientConnectionConfig } from '@companion-app/shared/Model/Connections.js'
import {
ConnectionConfig,
ClientConnectionConfig,
ConnectionUpdatePolicy,
} from '@companion-app/shared/Model/Connections.js'
import { DataDatabase } from '../Data/Database.js'
// import LogController from '../Log/Controller.js'
import { nanoid } from 'nanoid'
Expand Down Expand Up @@ -54,6 +58,8 @@ export class ConnectionConfigStore {
moduleType: string,
label: string,
product: string | undefined,
moduleVersionId: string | null,
updatePolicy: ConnectionUpdatePolicy,
disabled: boolean
): [id: string, config: ConnectionConfig] {
// Find the highest rank given to an instance
Expand All @@ -69,6 +75,8 @@ export class ConnectionConfigStore {

this.#store[id] = {
instance_type: moduleType,
moduleVersionId: moduleVersionId,
updatePolicy: updatePolicy,
sortOrder: highestRank + 1,
label: label,
isFirstInit: true,
Expand Down Expand Up @@ -101,6 +109,8 @@ export class ConnectionConfigStore {

result[id] = {
instance_type: config.instance_type,
moduleVersionId: config.moduleVersionId,
updatePolicy: config.updatePolicy,
label: config.label,
enabled: config.enabled,
sortOrder: config.sortOrder,
Expand Down
Loading
Loading