Skip to content

Commit

Permalink
v1.1.8 (#616)
Browse files Browse the repository at this point in the history
* 🚩 Updated languages

* ✨ Optimization
- Consistent saving
- Better organization & naming
- Better startup
- Playlist names decoded

* 🎨 Custom border radius
- Fixed some freeze errors
- Tweaked settings

* ⏱ Metronome

* ✨ Start metronome from slide
- Drop actions to slide
- Fixed new items getting removed if not in selected template
- Special textboxes are removed when changing template
- Text editor will select the best textbox
- List view textboxes in correct oreder
- Text editor not removing extra items

* Issue #501 Fix (#576)

* Show search results

* Select songs from search results

* Added hymnary

* Updated toast message and added error handling.

* 🔍 Added Svelte inspector

* Optimized media (#586)

* 🖼 New handling of thumbnails
- New virtual grid

* 🖼 Enhancements
- Fixed jpg thumbnails
- Fixed media loader
- Less lag when scrolling

* ✔ Removed unused code

* ✨ Improved media loading
- Slide & stage cache working with the new system
- Removed old mediaCache

* 🖼 Changed from ffmpeg to custom capturer

* 🖼 Faster Media Thumbnails
- Fixed gif, webp & mov not working
- Uppercase filenames working
- Editor thumbnails

* ✔ Fixed receivers

* ✔ Improved OpenLP parser
- Fixed OpenLP songs sometimes not arranged after order
- Fixed API Bible not loading
- Updated Show search style

* Add more checks on whether the note is correct (#591)

* ✨ Optimizations
- Removed Svelte inspector from prod
- Organized code
- Preload script map

* 📦 SoftProjector importing

* ✔ Lots of bugfixes
- Fixed timer becoming imprecise
- Fixed timer not starting when "Start show" action was triggered
- Fixed output not always getting data
- Fixed empty action not removed
- Fixed Cloud syncing on save and not close
- Better sync indication
- Stage align & CSS edit
- Fixed an error with video transition
- Media item thumbnail
- Fixed cut in two not working when having multiple textboxes
- Media select outline
- Align with screen trigger
- Toggle to allow  output on main screen
- Removed some special VideoPsalm tags
- Scripture content search has more results

* Custom linux arm64 build (#602)

* 📦 Custom Linux arm64 build

* Updated checkout to v3 & node to 20

* ✔ Removed capture window to remove save dialog sometimes

* ✨ Template slide values
- Template background & overlay
- Custom first slide template
- Scripture auto scroll
- Fixed playing audio title
- OpenLyrics multiple lines tag support
- Video volume working again
- Change video gain
- Improved clearing per output
- Window miminum size
- Better preview fps
- Fixed freeze when slide background was not found
- Fixed loop sometimes when setting template
- Set video in styles

* ✨ Template actions
- Template add overlays
- Fixed background sometimes not pausing
- Custom action activation
- Scripture verses on individual lines
- Fixed empty scripture preview
- Export/import themes & templates
- Updated import popup
- Reduced import image sizes

* Making test to be independent from what was on the existing setup (#605)

* Now execute with bash cmd: FS_MOCK_STORE_PATH=/var/folders/xq/hbb976490kjf8s2lxkj0c3xh0000gn/T/tmp.WBSw8XuU8h bash -c 'npm run test && rm -rf '

* Add timeout to actions

* Add a screenshot around assert

* Update start.test.ts

* improve test

* make alert ack optional

* make npm run test to use tmp dir

* Delete test-output/screenshots/failed.png

* Update .gitignore to ignore test output dirs

* the test should finally be quite stable, and not depends on existing setup

* cleaning up minor issues and refactor a little bit

* remove unnessary data-testid

* fix var naming convension

* 🚩 Updated languages

* 🔗 Updated repo paths

* Add playwright config and github worklow to run e2e test (#606)

* add playwright config and github worklow to run e2e test

* Add dev branch E2E test status to README.md

* Update README.md

* 🔊 Audio crossfade
- Mute audio when video is playing
- Next playlist track action
- Start action on video start/end
- Changed schedule show to schedule action in calendar

* 🎵 Fixed slide play MIDI

* 📝 Live captions
- Better shows search
- Shows loading if not loaded when MIDI triggered
- Precise timer interval
- Drop media on template
- Fixed scripture issues

* ✨ Variable dynamic values
- Fixed Remote issues
- Fixed chords when line break
- Enable/disable actions
- Toggle actions action
- Scripture reference align

* ✨ UI enhancements
- Group templates
- Slide template can update without a show template
- You can now delete files synced to drive
- Fixed caret resetting when line is removed
- Bug fixes

* ✔ Fixed Lessons.church
- Tweaked media cache
- Fade out video audio

* Version update

---------

Co-authored-by: Jeremy Zongker <[email protected]>
Co-authored-by: Daniel Ip <[email protected]>
  • Loading branch information
3 people authored Jun 26, 2024
1 parent 031f4ab commit 6085de9
Show file tree
Hide file tree
Showing 245 changed files with 6,944 additions and 3,038 deletions.
34 changes: 34 additions & 0 deletions .github/workflows/playwright.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Playwright Tests
on:
push:
branches: [main, dev]
pull_request:
branches: [main, dev]
workflow_dispatch:

jobs:
test:
timeout-minutes: 60
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@master
with:
node-version: 18
- name: Install dependencies
run: npm install
- name: Install Playwright Browsers
run: npx playwright install --with-deps
- name: Build
run: npm run build
- name: Run Playwright tests
run: xvfb-run --auto-servernum --server-args="-screen 0 1280x960x24" -- npm run test:playwright
# if: matrix.os == 'ubuntu-latest'
# - run: npm run test
# if: matrix.os != 'ubuntu-latest'
- uses: actions/upload-artifact@v4
if: always()
with:
name: test-output
path: test-output/
retention-days: 30
62 changes: 51 additions & 11 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,18 @@ on:
workflow_dispatch:

jobs:
publish:
name: "Publish"
runs-on: ${{ matrix.os }}

strategy:
matrix:
os: [windows-latest, ubuntu-latest]
publish_windows:
name: "Publish Windows"
runs-on: windows-latest

steps:
- name: Check out Git repository
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: Install Node.js and NPM
uses: actions/setup-node@master
with:
node-version: 18
node-version: 20

- name: Install dependencies
# npm ci is better, but requires package-lock.json file
Expand All @@ -34,18 +30,62 @@ jobs:
CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}
run: npm run release

publish_linux:
name: "Publish Linux x64"
runs-on: ubuntu-latest

steps:
- name: Check out Git repository
uses: actions/checkout@v3

- name: Install Node.js and NPM
uses: actions/setup-node@master
with:
node-version: 20

- name: Install dependencies
run: npm install

- name: Build and release app
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npm run release

# This needs it's own build
# https://github.com/ChurchApps/FreeShow/issues/562
publish_linux_arm:
name: "Publish Linux arm64"
runs-on: ubuntu-latest

steps:
- name: Check out Git repository
uses: actions/checkout@v3

- name: Install Node.js and NPM
uses: actions/setup-node@master
with:
node-version: 20

- name: Install dependencies
run: npm install

- name: Build and release app
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npm run release:arm64

publish_mac:
name: "Publish MacOS"
runs-on: macos-latest

steps:
- name: Check out Git repository
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: Install Node.js and NPM
uses: actions/setup-node@master
with:
node-version: 18
node-version: 20

# Change Python version: https://github.com/nodejs/node-gyp/issues/2869
- name: Install Python 3.11
Expand Down
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
/node_modules/
/public/build/
/public/*.js.map
/public/*.ts
/build/
/dist/

*.env

.DS_Store
package-lock.json
package-lock.json

test-output/
test-results/
16 changes: 10 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
<img align="right" width="150" height="150" src="https://github.com/vassbo/freeshow/assets/17619496/ddcdb667-db87-4844-b102-c928ac15f074">
<img align="right" width="150" height="150" src="https://github.com/ChurchApps/FreeShow/assets/17619496/02ac9807-1f47-47fc-b895-b35f857c2b57">

[![Downloads](https://img.shields.io/github/downloads/vassbo/freeshow/total)](https://github.com/vassbo/freeshow/releases)
[![Licence](https://img.shields.io/badge/licence-GPL-blue.svg)](https://github.com/vassbo/freeshow/blob/main/LICENSE)
[![Downloads](https://img.shields.io/github/downloads/ChurchApps/freeshow/total)](https://github.com/ChurchApps/freeshow/releases)
[![Licence](https://img.shields.io/badge/licence-GPL-blue.svg)](https://github.com/ChurchApps/freeshow/blob/main/LICENSE)
[![Playwright Tests](https://github.com/ChurchApps/FreeShow/actions/workflows/playwright.yml/badge.svg?branch=dev)](https://github.com/ChurchApps/FreeShow/actions/workflows/playwright.yml)

# FreeShow

Expand Down Expand Up @@ -29,10 +30,12 @@ FreeShow is a free and open-source presentation program that makes it easy to sh
FreeShow exists because the creator found that other simular programs was either expensive or complex to use. He wanted to create a program that was easy to use and affordable for everyone, from small churches to large venues. FreeShow is now used by people all over the world.

## Support Us

The only reason this program is free is because of the generous support from users. If you want to support us to keep this free, please head over to [ChurchApps](https://churchapps/partner) or [sponsor us on GitHub](https://github.com/sponsors/ChurchApps/). Thank you so much!

## Join the Community
We have a great community for end-users on [Facebook](https://www.facebook.com/groups/freeshowapp). It's a good way to ask questions, get tips and follow new updates. Come join us!

We have a great community for end-users on [Facebook](https://www.facebook.com/groups/freeshowapp). It's a good way to ask questions, get tips and follow new updates. Come join us!

## Help the development

Expand All @@ -45,10 +48,11 @@ You are welcome to contribute to the code!

## Report an issue or request a feature

Create an [issue on GitHub](https://github.com/vassbo/freeshow/issues).
Create an [issue on GitHub](https://github.com/ChurchApps/freeshow/issues).

## Join us on Slack
If you would like to get involved contributing in any way, head over to our [Slack Channel](https://join.slack.com/t/livechurchsolutions/shared_invite/zt-i88etpo5-ZZhYsQwQLVclW12DKtVflg) and introduce yourself. We'd love to hear from you.

If you would like to get involved contributing in any way, head over to our [Slack Channel](https://join.slack.com/t/livechurchsolutions/shared_invite/zt-i88etpo5-ZZhYsQwQLVclW12DKtVflg) and introduce yourself. We'd love to hear from you.

## Give feedback

Expand Down
27 changes: 13 additions & 14 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "freeshow",
"version": "1.1.7",
"version": "1.1.8",
"private": true,
"main": "build/electron/index.js",
"description": "Show song lyrics and more for free!",
Expand All @@ -20,16 +20,20 @@
"build:electron:prod": "cross-env NODE_ENV=production tsc --p ./tsconfig.electron.prod.json",
"validate:svelte": "svelte-check",
"start:electron:run": "electron .",
"start:electron:dev": "npm-run-all -s build:electron:dev start:electron:run",
"start:electron:dev": "npm-run-all -s build:electron:dev start:electron:script start:electron:run",
"start:electron:script": "node scripts/electronDevPostBuild.js",
"start:electron": "npm-run-all -p build:electron:dev:watch start:electron:dev",
"test": "npm-run-all -s build test:playwright",
"test:playwright": "cross-env NODE_ENV=production npx playwright test",
"test:playwright": "npx playwright test",
"postinstall": "electron-builder install-app-deps",
"prepack": "npm run build",
"pack": "electron-builder --dir",
"prerelease": "npm run build",
"release": "electron-builder",
"postrelease": "node scripts/cleanBuilds.js",
"prerelease:arm64": "npm run build",
"release:arm64": "electron-builder --arm64",
"postrelease:arm64": "node scripts/cleanBuilds.js",
"lint:electron": "eslint -c eslint.electron.json --ext .js,.ts src/electron",
"lint:svelte": "eslint -c eslint.svelte.json --ext .js,.ts src/frontend",
"lint": "npm-run-all -s lint:electron lint:svelte",
Expand Down Expand Up @@ -105,16 +109,8 @@
],
"category": "AudioVideo",
"target": [
{
"target": "AppImage",
"arch": [
"x64",
"arm64"
]
},
{
"target": "deb"
}
"AppImage",
"deb"
],
"icon": "build/public"
},
Expand All @@ -136,6 +132,7 @@
"@types/express": "^4.17.13",
"@types/follow-redirects": "^1.14.2",
"@types/sqlite3": "^3.1.8",
"@types/tmp": "^0.2.6",
"@types/vimeo__player": "^2.16.2",
"electron": "^21.2.2",
"electron-builder": "24.12.0",
Expand All @@ -148,8 +145,8 @@
"rollup-plugin-svelte": "^7.1.6",
"svelte": "^3.46.0",
"svelte-check": "^2.2.12",
"svelte-inspector": "vassbo/svelte-inspector#78307db",
"svelte-preprocess": "^4.10.1",
"svelte-virtual": "^0.6.2",
"tslib": "^2.0.0",
"typescript": "^4.5.4"
},
Expand All @@ -158,6 +155,7 @@
"@mapbox/node-pre-gyp": "^1.0.11",
"@sveltejs/svelte-virtual-list": "^3.0.1",
"@vimeo/player": "^2.16.4",
"axios": "^1.7.2",
"chord-transposer": "^3.0.9",
"cross-env": "^7.0.3",
"electron-store": "^8.0.1",
Expand All @@ -181,6 +179,7 @@
"sqlite-to-json": "^0.1.3",
"sqlite3": "5.1.6",
"svelte-youtube": "0.0.2",
"tmp": "^0.2.3",
"uid": "^2.0.0",
"word-extractor": "^1.0.4",
"youtube-iframe": "^1.0.3"
Expand Down
7 changes: 7 additions & 0 deletions playwright.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { defineConfig } from "@playwright/test"

export default defineConfig({
// 'github' for GitHub Actions CI to generate annotations, plus a concise 'dot'
// default 'line' when running locally
reporter: [[process.env.CI ? "html" : "line", { outputFolder: "test-output/playwright-report" }]],
})
Binary file added public/assets/beat-hi.mp3
Binary file not shown.
Binary file added public/assets/beat-lo.mp3
Binary file not shown.
2 changes: 2 additions & 0 deletions public/global.css
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@
--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
--font-size: 1em;

--border-radius: 0;

/* --navigation-width: 18vw; */
--navigation-width: 300px;
}
Expand Down
Binary file removed public/import-logos/calendar.webp
Binary file not shown.
Binary file modified public/import-logos/chordpro.webp
Binary file not shown.
Binary file modified public/import-logos/clipboard.webp
Binary file not shown.
Binary file modified public/import-logos/easyworship.webp
Binary file not shown.
Binary file modified public/import-logos/freeshow.webp
Binary file not shown.
Binary file modified public/import-logos/openlp.webp
Binary file not shown.
Binary file modified public/import-logos/opensong.webp
Binary file not shown.
Binary file modified public/import-logos/pdf.webp
Binary file not shown.
Binary file modified public/import-logos/powerpoint.webp
Binary file not shown.
Binary file modified public/import-logos/propresenter.webp
Binary file not shown.
Binary file removed public/import-logos/scripture.webp
Binary file not shown.
Binary file added public/import-logos/softprojector.webp
Binary file not shown.
Binary file modified public/import-logos/txt.webp
Binary file not shown.
Binary file modified public/import-logos/videopsalm.webp
Binary file not shown.
Binary file modified public/import-logos/word.webp
Binary file not shown.
Binary file modified public/import-logos/zefania.webp
Binary file not shown.
16 changes: 9 additions & 7 deletions public/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,18 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<!-- <meta http-equiv="Content-Security-Policy" content="default-src 'none'"> -->
<!-- <meta http-equiv="Content-Security-Policy" content="script-src 'self'"> -->
<!-- <meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline';" /> -->
<!-- <meta http-equiv="Content-Security-Policy" content="script-src 'self' http://localhost:35729/livereload.js 'unsafe-inline' 'unsafe-eval';" /> -->
<!-- <meta http-equiv="Content-Security-Policy" content="script-src 'self' http://* https://* 'unsafe-inline' 'unsafe-eval';" /> -->
<meta http-equiv="Content-Security-Policy" content="script-src 'self' http://localhost:35729/livereload.js http://www.youtube.com/iframe_api https://* 'unsafe-inline' 'unsafe-eval';" />

<!-- Live reload (dev): http://localhost:35729/livereload.js -->
<!-- Svelte inspector (dev): http://localhost:5001 -->
<!-- YouTube iframe: http://www.youtube.com/iframe_api -->
<!-- Other sites (vimeo): https://* -->
<!-- Inline <script>/<style>: unsafe-inline -->
<!-- NumberInput math: unsafe-eval -->
<meta http-equiv="Content-Security-Policy" content="script-src 'self' http://localhost:35729/livereload.js http://localhost:5001 http://www.youtube.com/iframe_api https://* 'unsafe-inline' 'unsafe-eval';" />

<title>FreeShow</title>

<link rel="preload" href="./fonts/CMGSans-Regular.ttf" as="font" />
<link rel="preload" href="./fonts/CMGSans-Regular.ttf" as="font" crossorigin="anonymous" />
<link rel="stylesheet" href="./global.css" />
<link rel="stylesheet" href="./build/bundle.css" />

Expand Down
2 changes: 1 addition & 1 deletion public/lang/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -372,7 +372,7 @@
"no_name": "No name",
"media_replaced": "Missing media file replaced with match.",
"lyrics_undefined": "Could not find any lyrics!",
"lyrics_copied": "Lyrics copied from Genius!",
"lyrics_copied": "Lyrics copied from ",
"no_pdf_linux": "Can't export as PDF on Linux.",
"one_output": "You have to have at least one active output!",
"empty_cache": "Cache is empty.",
Expand Down
Loading

0 comments on commit 6085de9

Please sign in to comment.