mirror of
https://github.com/webadderallorg/Recordly.git
synced 2026-09-25 15:25:44 +00:00
refactor: split large files into focused modules
Split all source files exceeding 500 lines into smaller, focused modules:
- electron/main.ts → mainBootstrapHelpers, mainRuntimeState, mainUpdateIntegration, mainWindowControls
- electron/windows.ts → editorWindows, hudWindows, windowShared
- electron/updater.ts → updaterDialogs, updaterEventHandlers, updaterShared
- electron/preload.ts → preloadExtensionsBridge, preloadUpdateBridge
- electron/ipc/register/recording.ts → recording/ directory with focused handlers
- src/components/video-editor/VideoEditor.tsx → EditorContent, EditorHeader, EditorSidebar, EditorToolbar, hooks/
- src/components/video-editor/SettingsPanel.tsx → settings/ directory with per-section components
- src/components/video-editor/AnnotationSettingsPanel.tsx → tab components
- src/components/video-editor/ExtensionManager.tsx → extension-manager/ directory
- src/components/video-editor/VideoPlayback.tsx → videoPlaybackComponent/ directory
- src/components/video-editor/projectPersistence.ts → projectPersistence{Normalization,Paths,Regions,Shared}.ts
- src/components/video-editor/timeline/TimelineEditor.tsx → TimelineEditor/ directory
- src/components/video-editor/types.ts → focused type modules
- src/components/launch/LaunchWindow.tsx → LaunchWindow/ directory
- src/hooks/useScreenRecorder.ts → useScreenRecorder/ directory
- src/lib/exporter/audioEncoder.ts → audioEncoder/ directory
- src/lib/exporter/frameRenderer.ts → frameRenderer modules
- src/lib/exporter/modernFrameRenderer.ts → filters and lifecycle modules
- src/lib/exporter/modernVideoExporter.ts → modernVideoExporter/ directory
- src/lib/exporter/videoExporter.ts → video-exporter/ directory
- src/lib/exporter/streamingDecoder.ts → streamingDecoderHelpers.ts
- src/lib/extensions/extensionHost.ts → extensionHost{ApiFactory,QueryApi,RegistrationApi,Shared,State}.ts
- src/lib/extensions/types.ts → focused type modules
- electron/native/ScreenCaptureKitRecorder.swift → ScreenCaptureKitRecorder/ directory
- scripts/benchmark-export-queues.mjs → benchmark-export-queues/ directory
- .github/workflows/release.yml → extracted merge-macos-metadata composite action
- scripts/build-native-helpers.mjs → updated for multi-file Swift compilation
Also incorporates upstream default export quality change (good → source).
This commit is contained in:
@@ -252,50 +252,12 @@ jobs:
|
||||
name: macos-arm64-release
|
||||
path: release-assets/macos-arm64
|
||||
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.11'
|
||||
|
||||
- name: Install PyYAML
|
||||
run: python -m pip install pyyaml
|
||||
|
||||
- name: Merge latest-mac.yml
|
||||
shell: bash
|
||||
run: |
|
||||
set -euo pipefail
|
||||
mkdir -p release-assets/merged
|
||||
python <<'PY'
|
||||
from pathlib import Path
|
||||
import yaml
|
||||
|
||||
x64_info = yaml.safe_load(Path('release-assets/macos-x64/latest-mac.yml').read_text())
|
||||
arm64_info = yaml.safe_load(Path('release-assets/macos-arm64/latest-mac.yml').read_text())
|
||||
|
||||
merged_files = []
|
||||
seen_urls = set()
|
||||
for info in (x64_info, arm64_info):
|
||||
for file_info in info.get('files', []):
|
||||
url = file_info.get('url')
|
||||
if url and url not in seen_urls:
|
||||
seen_urls.add(url)
|
||||
merged_files.append(file_info)
|
||||
|
||||
if not merged_files:
|
||||
raise SystemExit('No macOS update files found to merge.')
|
||||
|
||||
preferred = next((item for item in merged_files if 'x64' in item.get('url', '')), merged_files[0])
|
||||
merged = dict(x64_info)
|
||||
merged['files'] = merged_files
|
||||
merged['path'] = preferred.get('url', merged.get('path'))
|
||||
merged['sha512'] = preferred.get('sha512', merged.get('sha512'))
|
||||
if not merged.get('releaseDate') and arm64_info.get('releaseDate'):
|
||||
merged['releaseDate'] = arm64_info['releaseDate']
|
||||
|
||||
Path('release-assets/merged/latest-mac.yml').write_text(
|
||||
yaml.safe_dump(merged, sort_keys=False)
|
||||
)
|
||||
PY
|
||||
uses: ./.github/actions/merge-macos-metadata
|
||||
with:
|
||||
x64-directory: release-assets/macos-x64
|
||||
arm64-directory: release-assets/macos-arm64
|
||||
output-file: release-assets/merged/latest-mac.yml
|
||||
|
||||
- name: Upload merged latest-mac.yml artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
|
||||
Reference in New Issue
Block a user