Compare commits

...
13 Commits
Author SHA1 Message Date
martin 3706a4f78e build(fork): publish explizit null — kein updater-fallback auf upstream-github 2026-07-16 14:53:27 +02:00
martin f4cf03966c build(fork): update-kanal entfernt — releases nur noch privat, kein auto-update 2026-07-16 14:47:59 +02:00
martin 630ec88c7e build(fork): electron-builder-konfigurationen für fork-releases 2026-07-16 13:52:09 +02:00
martin 8484265c2a fix(fork): updater nur aktivieren wenn app-update.yml existiert 2026-07-16 13:40:37 +02:00
martin dbdb75a888 feat(fork): v1.6.0 mit Fork-Kennzeichnung (Fenstertitel + NavBar-Badge) 2026-07-16 13:18:58 +02:00
Lukas Obermann 0dc6316b5b docs(github): use task list for new book data sources 2025-09-06 17:08:53 +02:00
Lukas Obermann c7d1735e4b docs(github): change new book data template to hide instructions as comments 2025-09-06 17:03:13 +02:00
Lukas Obermann aa93dab7fd build(release): 1.5.2 2025-01-02 18:43:46 +01:00
Lukas Obermann 5a9ae86cf9 build(git): merge master 2025-01-02 18:43:14 +01:00
Michel FeddeandLukas Obermann 7f5f94491e fix: throws during startup due to changed devtools identifiers
Refs: #1634
Co-authored-by: Lukas Obermann <lukas.obermann@icloud.com>
2025-01-02 18:26:57 +01:00
Lukas Obermann a2979650f2 build(deps): fix auto-fixable vulnerabilities in packages 2025-01-02 18:17:24 +01:00
Lukas Obermann 8e8932cd83 build(release): bump version to 1.5.1 2022-03-20 16:05:05 +01:00
Lukas Obermann c15505062d build(release): 1.5.1
Refs: #1360
2022-03-20 15:26:11 +01:00
9 changed files with 2004 additions and 2129 deletions
+20 -10
View File
@@ -9,19 +9,27 @@ assignees: ''
## Sources ## Sources
> List here what is included in this part of the book to implement. E.g., for special abilities, you need to list every source of entries from the book. Example (in German): <!-- List here what is included in this part of the book to implement. E.g., for special abilities, you need to list every source of entries from the book. Use page ranges if entries span multiple pages. Example:
>
> - S. 133150 (Berufsgeheimnisse)
- S. X (Section/Chapter Name) - [ ] S. 133 (Entry A)
- [ ] S. 133134 (Entry B)
Alternatively, provide an overview of the different sections in the book where one or more relevant entries occur. Example (in German):
- [ ] S. 133150 (Berufsgeheimnisse)
-->
- [ ] S. X (Entry/Section/Chapter Name)
## Special Notes ## Special Notes
> List here any special hints to implement the sources listed above. <!-- List here any special hints to implement the sources listed above. Example:
>
> - … - All entries are already present, only add source references
- Pay attention to the layout of entry A, there is a gap that should not be in Optolith
Replace the dash below this comment if there are any notes. -->
@@ -29,8 +37,10 @@ assignees: ''
## Special Implementations ## Special Implementations
> List here what cannot be solved only using the database. Example (in German): <!-- List issues that track what cannot be solved only using the database. Example:
>
> - [ ] Voraussetzungen Vorliebe I-II - #123
Replace the dash below this comment if there are any notes. -->
+7
View File
@@ -2,6 +2,13 @@
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
### [1.5.2](https://github.com/elyukai/optolith-client/compare/v1.5.2-alpha.4...v1.5.2) (2025-01-02)
### Bug Fixes
* throws during startup due to changed devtools identifiers ([7f5f944](https://github.com/elyukai/optolith-client/commit/7f5f94491e1432d66add1315889075fb5369f700)), closes [#1634](https://github.com/elyukai/optolith-client/issues/1634)
### [1.5.2-alpha.4](https://github.com/elyukai/optolith-client/compare/v1.5.2-alpha.3...v1.5.2-alpha.4) (2022-07-22) ### [1.5.2-alpha.4](https://github.com/elyukai/optolith-client/compare/v1.5.2-alpha.3...v1.5.2-alpha.4) (2022-07-22)
+18
View File
@@ -0,0 +1,18 @@
{
"appId": "com.lukasobermann.optolith",
"productName": "Optolith",
"directories": { "output": "dist" },
"files": ["app/**/*", "LICENSE"],
"npmRebuild": false,
"mac": {
"category": "public.app-category.role-playing-games",
"icon": "app/icon.icns",
"target": [
{ "target": "dmg", "arch": ["arm64", "x64"] },
{ "target": "zip", "arch": ["arm64", "x64"] }
],
"artifactName": "Optolith_${version}_${arch}.${ext}",
"identity": null
},
"dmg": { "sign": false }
}
+49
View File
@@ -0,0 +1,49 @@
{
"appId": "com.lukasobermann.optolith",
"productName": "Optolith",
"directories": {
"output": "dist"
},
"files": [
"app/**/*",
"LICENSE"
],
"npmRebuild": false,
"win": {
"target": [
{
"target": "nsis",
"arch": [
"x64"
]
}
],
"icon": "app/icon.ico",
"artifactName": "OptolithSetup_${version}.${ext}"
},
"nsis": {
"perMachine": false,
"deleteAppDataOnUninstall": false
},
"linux": {
"category": "RolePlaying",
"executableName": "Optolith",
"icon": "app",
"target": [
{
"target": "AppImage",
"arch": [
"x64"
]
},
{
"target": "tar.gz",
"arch": [
"x64"
]
}
],
"artifactName": "Optolith_${version}.${ext}"
},
"publish": null
}
+1863 -2101
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -1,7 +1,7 @@
{ {
"name": "optolith", "name": "optolith",
"productName": "Optolith", "productName": "Optolith",
"version": "1.5.2-alpha.4", "version": "1.6.0",
"description": "A generator for heroes for the P&P-RPG 'The Dark Eye'.", "description": "A generator for heroes for the P&P-RPG 'The Dark Eye'.",
"author": { "author": {
"name": "Lukas Obermann", "name": "Lukas Obermann",
@@ -14,7 +14,7 @@
"@electron/remote": "^2.0.8", "@electron/remote": "^2.0.8",
"adm-zip": "^0.5.1", "adm-zip": "^0.5.1",
"ajv": "6.12.6", "ajv": "6.12.6",
"electron-devtools-installer": "^3.2.0", "electron-devtools-installer": "^3.2.1",
"electron-log": "^4.4.8", "electron-log": "^4.4.8",
"electron-updater": "^5.0.5", "electron-updater": "^5.0.5",
"electron-window-state": "5.0.3", "electron-window-state": "5.0.3",
+14
View File
@@ -3,3 +3,17 @@
@import "NavigationBarRight"; @import "NavigationBarRight";
@import "NavigationBarTabs"; @import "NavigationBarTabs";
@import "NavigationBarWrapper"; @import "NavigationBarWrapper";
.fork-badge {
align-self: center;
background-color: #b33636;
border-radius: 3px;
color: #fff;
font-size: 11px;
font-weight: 700;
letter-spacing: 0.05em;
line-height: 1;
margin: 0 6px;
padding: 4px 7px;
white-space: nowrap;
}
+4
View File
@@ -14,6 +14,7 @@ import { translate, translateP } from "../../Utilities/I18n"
import { TabId } from "../../Utilities/LocationUtils" import { TabId } from "../../Utilities/LocationUtils"
import { signNeg } from "../../Utilities/NumberUtils" import { signNeg } from "../../Utilities/NumberUtils"
import { pipe, pipe_ } from "../../Utilities/pipe" import { pipe, pipe_ } from "../../Utilities/pipe"
import { current_version } from "../../Selectors/envSelectors"
import { AvatarWrapper } from "../Universal/AvatarWrapper" import { AvatarWrapper } from "../Universal/AvatarWrapper"
import { BorderButton } from "../Universal/BorderButton" import { BorderButton } from "../Universal/BorderButton"
import { IconButton } from "../Universal/IconButton" import { IconButton } from "../Universal/IconButton"
@@ -167,6 +168,9 @@ export const NavigationBar: React.FC<NavigationBarProps> = props => {
</> </>
) )
: null} : null}
<Text className="fork-badge">
{`FORK ${current_version}`}
</Text>
<IconButton <IconButton
icon="&#xE906;" icon="&#xE906;"
onClick={openSettings} onClick={openSettings}
+14 -3
View File
@@ -3,7 +3,7 @@ import { app, BrowserWindow, ipcMain, shell } from "electron"
import * as log from "electron-log" import * as log from "electron-log"
import { autoUpdater, CancellationToken, UpdateInfo } from "electron-updater" import { autoUpdater, CancellationToken, UpdateInfo } from "electron-updater"
import windowStateKeeper from "electron-window-state" import windowStateKeeper from "electron-window-state"
import { promises } from "fs" import { existsSync, promises } from "fs"
import * as path from "path" import * as path from "path"
import { prerelease } from "semver" import { prerelease } from "semver"
import * as url from "url" import * as url from "url"
@@ -14,7 +14,12 @@ remote.initialize ()
app.setAppUserModelId ("lukasobermann.optolith") app.setAppUserModelId ("lukasobermann.optolith")
const isUpdaterEnabled = autoUpdater.isUpdaterActive () // Ohne app-update.yml (lokale Test-Builds, unsignierte macOS-Builds) schlägt
// checkForUpdates immer fehl und zeigt beim Start einen Fehlerdialog —
// isUpdaterActive() prüft nur isPackaged, nicht ob eine Update-Konfig existiert.
const hasUpdateConfig = existsSync (path.join (process.resourcesPath, "app-update.yml"))
const isUpdaterEnabled = hasUpdateConfig && autoUpdater.isUpdaterActive ()
ipcMain.on (IPCChannels.IsUpdaterEnabled, event => { ipcMain.on (IPCChannels.IsUpdaterEnabled, event => {
event.returnValue = isUpdaterEnabled event.returnValue = isUpdaterEnabled
@@ -55,7 +60,7 @@ const createWindow = async () => {
icon: path.join (app.getAppPath (), "app", "icon.png"), icon: path.join (app.getAppPath (), "app", "icon.png"),
frame: false, frame: false,
center: true, center: true,
title: "Optolith", title: "Optolith Fork",
acceptFirstMouse: true, acceptFirstMouse: true,
backgroundColor: "#111111", backgroundColor: "#111111",
show: false, show: false,
@@ -182,6 +187,8 @@ const main = async () => {
console.log ("main: Install extensions ...") console.log ("main: Install extensions ...")
try {
const installExtension = require ("electron-devtools-installer") const installExtension = require ("electron-devtools-installer")
const installedExtensions = await installExtension.default ([ const installedExtensions = await installExtension.default ([
@@ -190,6 +197,10 @@ const main = async () => {
]) ])
console.log (`main: Installed extensions: ${installedExtensions}`) console.log (`main: Installed extensions: ${installedExtensions}`)
}
catch (error) {
console.error ("main: Installing extensions failed! Skipping extensions...")
}
console.log ("main: Create Window ...") console.log ("main: Create Window ...")