fix: 🐛 Prevent Firefox for going nuts when having Plasma Integration addon installed (fix #164)

This commit is contained in:
Michel Roux 2024-10-24 00:23:25 +02:00
parent 43692a233c
commit c34646b72c
11 changed files with 51 additions and 10 deletions

View File

@ -1,3 +1,13 @@
## 3.3.0 - Breaking the Loop - 2024-10-18
### Changed
- ⚡ Speed up the loading time of subscriptions
[#178](https://git.crystalyx.net/Xefir/repod/issues/178) reported by @MikeAndrews
### Fixed
- 🐛 Prevent Firefox for going nuts when having Plasma Integration addon installed
[#164](https://git.crystalyx.net/Xefir/repod/issues/164) reported by @cichy1173, @Share1440 and @mark.collins
## 3.3.0 - Into The Jet Lag - 2024-10-18
### Changed

View File

@ -64,6 +64,10 @@ You need to have [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) inst
Either from the official Nextcloud [app store](https://apps.nextcloud.com/apps/repod) or by downloading the [latest release](https://git.crystalyx.net/Xefir/repod/releases/latest) and extracting it into your Nextcloud `apps/` directory.
## Known issues
- Conflict with Plasma Integration Firefox addon ([#164](https://git.crystalyx.net/Xefir/repod/issues/164))
## Credits
- [GPodder Sync](https://github.com/thrillfall/nextcloud-gpodder) for the database API

View File

@ -14,7 +14,7 @@
## Requirements
You need to have [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) installed to use this app!]]></description>
<version>3.3.0</version>
<version>3.3.1</version>
<licence>agpl</licence>
<author mail="xefir@crystalyx.net" homepage="https://crystalyx.net">Michel Roux</author>
<namespace>RePod</namespace>

View File

@ -43,6 +43,7 @@ OC.L10N.register(
"Missing required app" : "Benötigte App fehlt",
"Install GPodder Sync" : "Installiere GPodder Sync",
"Pin some subscriptions to see their latest updates" : "Pinne einige Abonnements, um ihre neuesten Updates zu sehen",
"No favorites" : "Keine Favoriten"
"No favorites" : "Keine Favoriten",
"A browser extension conflict with RePod" : "Ein Browser-Erweiterungskonflikt mit RePod"
},
"");

View File

@ -41,6 +41,7 @@
"Missing required app" : "Benötigte App fehlt",
"Install GPodder Sync" : "Installiere GPodder Sync",
"Pin some subscriptions to see their latest updates" : "Pinne einige Abonnements, um ihre neuesten Updates zu sehen",
"No favorites" : "Keine Favoriten"
"No favorites" : "Keine Favoriten",
"A browser extension conflict with RePod" : "Ein Browser-Erweiterungskonflikt mit RePod"
},"pluralForm" :""
}

View File

@ -43,6 +43,7 @@ OC.L10N.register(
"Missing required app" : "Une application requise est manquante",
"Install GPodder Sync" : "Installer GPodder Sync",
"Pin some subscriptions to see their latest updates" : "Ajoutez des abonnements en favoris pour obtenir les dernières nouvelles ici",
"No favorites" : "Aucun favoris"
"No favorites" : "Aucun favoris",
"A browser extension conflict with RePod" : "Une extension de votre navigateur entre en conflit avec RePod"
},
"");

View File

@ -41,6 +41,7 @@
"Missing required app" : "Une application requise est manquante",
"Install GPodder Sync" : "Installer GPodder Sync",
"Pin some subscriptions to see their latest updates" : "Ajoutez des abonnements en favoris pour obtenir les dernières nouvelles ici",
"No favorites" : "Aucun favoris"
"No favorites" : "Aucun favoris",
"A browser extension conflict with RePod" : "Une extension de votre navigateur entre en conflit avec RePod"
},"pluralForm" :""
}

View File

@ -3,6 +3,8 @@ import axios from '@nextcloud/axios'
import { defineStore } from 'pinia'
import { formatEpisodeTimestamp } from '../utils/time.ts'
import { generateUrl } from '@nextcloud/router'
import { showError } from '../utils/toast.ts'
import { t } from '@nextcloud/l10n'
const audio = new Audio()
@ -13,6 +15,7 @@ export const usePlayer = defineStore('player', {
episode: null as EpisodeInterface | null,
loaded: false,
paused: true,
playCount: 0,
podcastUrl: null as string | null,
volume: 1,
rate: 1,
@ -29,6 +32,11 @@ export const usePlayer = defineStore('player', {
audio.onseeked = () => (this.currentTime = audio.currentTime)
audio.ontimeupdate = () => (this.currentTime = audio.currentTime)
audio.onvolumechange = () => (this.volume = audio.volume)
setInterval(this.loop, 4000)
},
loop() {
this.playCount = 0
},
async load(episode: EpisodeInterface | null, podcastUrl?: string) {
this.episode = episode
@ -69,9 +77,14 @@ export const usePlayer = defineStore('player', {
this.time()
},
play() {
this.playCount++
if (this.playCount > 10) {
showError(t('repod', 'A browser extension conflict with RePod'))
} else {
audio.play()
this.paused = false
this.started = audio.currentTime
}
},
seek(currentTime: number) {
audio.currentTime = currentTime

View File

@ -168,3 +168,6 @@ msgstr "Pinne einige Abonnements, um ihre neuesten Updates zu sehen"
msgid "No favorites"
msgstr "Keine Favoriten"
msgid "A browser extension conflict with RePod"
msgstr "Ein Browser-Erweiterungskonflikt mit RePod"

View File

@ -172,3 +172,6 @@ msgstr "Ajoutez des abonnements en favoris pour obtenir les dernières nouvelles
msgid "No favorites"
msgstr "Aucun favoris"
msgid "A browser extension conflict with RePod"
msgstr "Une extension de votre navigateur entre en conflit avec RePod"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Nextcloud 3.14159\n"
"Report-Msgid-Bugs-To: translations\\@example.com\n"
"POT-Creation-Date: 2024-09-15 13:40+0000\n"
"POT-Creation-Date: 2024-10-23 22:22+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: /app/lib/Controller/OpmlController.php:44
#: /app/lib/Controller/OpmlController.php:46
msgid "RePod Subscriptions"
msgstr ""
@ -218,3 +218,7 @@ msgstr ""
#: /app/specialVueFakeDummyForL10nScript.js:52
msgid "No favorites"
msgstr ""
#: /app/src/store/player.ts:82
msgid "A browser extension conflict with RePod"
msgstr ""