feat: monorepo (#1098)
* chore: release v1.1.0 * chore: pd stuff * chore: release v1.1.1 * feat: add ratelimit environment variables * chore: release v1.1.2 * chore: improve memory usage * chore: release v1.1.3 * feat: use sentinels * chore: release v1.1.4 * chore: update name * chore: release v1.1.5 * fix(pd): use correct env variable * chore: release v1.1.6 * wip: docs * wip: docs * wip: api * wip: website * wip: website * wip: website * wip: website * chore: cleanup * chore: add lib folder to .gitignore * chore: remove blank * wip: csp * wip: csp * fix(ci): use correct context * wip: cd * wip: cd * wip: cd * wip: cd * wip: cd * wip: cd * chore: use correct port * wip: csp * wip: csp * wip: csp * wip: csp * chore: update security headers in nuxt.config.ts * chore: update security headers in nuxt.config.ts * chore: remove comments * chore: update npm dependencies * chore: bump dependencies & add missing * fix: broken lockfile * chore: set client host * chore: update depencies * style: small layout fixes * ci: testing * chore: update CI workflow to trigger on 'monorepo' branch * chore: use full build image * chore: test (#1048) * chore: setup qemu * chore: remove docs prefix from scripts (#1046) * style: fix centering (#1050) * style: render 3 columns (#1049) * ci: use alpine base (#1051) * style: make footer follow max width (#1052) * feat: Add Crowdin configuration for website localization. (#1054) * chore: change dest in crowdin * chore: improve crowdin pr * chore: improve crowdin pr * chore: lint * chore: update language folder * chore: update crowdin configuration to skip untranslated strings and files * chore: add crowdin badge * chore: release v1.0.1 * chore: release v1.1.7 * chore: fix build * chore: release v1.1.8 * chore: release v1.0.2 * chore: fix docker * chore: release v1.1.9 * chore: release v1.0.3 * feat: add more api endpoints (#1059) * chore: worked on the api and lint * chore: small fixes * chore: uhm I think this sort is broken * chore: worked on the api and lint * chore: small fixes * chore: uhm I think this sort is broken * feat: heartbeat * chore: add prettier ignore * feat: websocket * chore: update tsconfig * chore: lint * chore: dont require unused fields * chore: use djs rest * fix: websocket * chore: v5 * chore: fix build --------- Co-authored-by: Florian Metz <me@timeraa.dev> * chore: wip api * chore: wip api * chore: release v0.0.1 * chore: deploy on tag * chore: release v0.0.1 * chore(api): remove old sentry tracing * chore: release v0.0.2 * chore: release v0.0.2 * feat(api-master): add logs * chore: release v0.0.3 * chore: bump dep * feat: add feature flags * chore: release v0.0.3 * feat: metrics? * chore: release v0.0.4 * chore: update npm dependencies * feat: add session-keep-alive * chore: fix build * chore: release v0.0.5 * chore: release v0.0.4 * chore: update arktype * chore: release v0.0.6 * chore: hash the key * chore: release v0.0.7 * chore: release v0.0.5 * chore: revert redis stuff * chore: release v0.0.6 * chore: release v0.0.8 * feat(api-master): add metrics * chore: release v0.0.7 * chore: update lockfile * chore: release v0.0.8 * chore: idk kek * chore: iodk * chore: release v0.0.8 * feat: use scan * chore: release v0.0.9 * chore: skip clearOldSesssions if another in progress * chore: release v0.0.10 * chore: optimize session cleanup with batch deletion * chore: release v0.0.11 * chore: move some code * chore: release v0.0.12 * chore: add timeout to headless session deletion * chore: release v0.0.13 * chore: add p-limit dependency for session cleanup * chore: release v0.0.14 * chore: always return the key * chore: release v0.0.15 * chore: add p-limit dependency for session cleanup * chore: release v0.0.16 * chore: why does it not abort * chore: release v0.0.17 * chore: fix time * chore: release v0.0.18 * chore: add reason * chore: release v0.0.19 * feat: use scienceId * chore: release v0.0.20 * chore: release v0.0.9 * chore: update log * chore: release v0.0.20 * chore: use ky * chore: release v0.0.21 * chore: 202 on disabled flag * chore: release v0.0.10 * chore: test * chore: release v0.0.22 * chore: release v0.0.11 * chore: test * chore: test * chore: release v0.0.12 * chore: test * chore: release v0.0.23 * chore: update hash * chore: release v0.0.24 * chore: release v0.0.13 * feat: update tracing (#1067) * chore: release v0.0.14 * chore: release v0.0.25 * fix: store ip data in postgres * chore: lint * chore: release v0.0.26 * chore: reduce batch size * chore: release v0.0.27 * chore: disable ip stuff for now * chore: release v0.0.28 * chore: reduce memory * chore: release v0.0.29 * chore: release v0.0.29 * chore: release v0.0.29 * chore: small updates * chore: release v0.0.30 * chore: optimize active presence gauge update with concurrency limit * chore: release v0.0.31 * chore: some improvements * chore: forgot to save * chore: release v0.0.32 * chore: some testing * chore: release v0.0.33 * chore: scan count config * chore: release v0.0.34 * feat: schema v1.11 * chore: release v1.0.4 * feat: use prom-client * chore: release v0.0.35 * chore: scan keys instead * chore: release v0.0.36 * feat: ip data * chore: release v0.0.37 * feat: discord-bot (#1069) * feat: discord-bot * feat: final things * chore: add to matrix * feat: add sentry * chore: move some things * chore: update version * chore: release v1.0.0 * fix(discord-bot): fixes credits * chore: release v1.0.1 * feat(discord-bot): add beta command * chore: release v1.0.2 * chore: un-ingore config files * chore: lint * fix(discord-bot): update developer roles constant (#1070) * chore: disable commitlint * fix(discord-bot): update developer roles constant * Update commit-msg * chore: release v1.0.3 * Update presence.ts (#1072) * fix: get presence list correctly * chore: release v1.0.4 * chore: change info message * chore: release v1.0.5 * fix(api): metadata types * chore: release v0.0.15 * chore: fix type * chore: release v0.0.16 * fix: add dbName * chore: release v0.0.17 * feat: fix presence endpoints * chore: release v0.0.18 * fix: show displayName * chore: release v1.0.6 * feat: extension version gauge (#1074) * feat: extension version gauge * chore: lint * feat: new schema version * chore: release v1.0.5 * chore: release v0.0.38 * chore: remove ip lookup * chore: lint * chore: release v0.0.39 * chore: add environment variable to disable * chore: release v0.0.19 * chore(bot): rename presence to activity (#1077) * chore: release v1.0.7 * feat(schema-server): add v1.13 * chore: release v1.0.6 * chore: add mobile and update descriptions * chore: release v1.0.7 * chore: lint * chore: release v1.0.8 * chore: add Social Media Manager role and color to constants (#1084) * chore: add Social Media Manager role and color to constants * chore: bump version * feat: v1.14 of schema * chore: release v1.0.9 * feat: schema 1.15 * chore: release v1.0.10 * feat: add file extension * chore: release v1.2.0 * fix: return image directly * chore: release v1.2.1 * chore: remove cache headers * chore: release v1.2.2 * chore: set more headers * chore: release v1.2.3 * fix: ttl * chore: release v1.2.4 * chore: strip monorepo down to pd and schema-server only Remove all apps except pd and schema-server to create a minimal repository. Deleted apps: api-master, api-worker, discord-bot, docs, website Deleted packages directory and all monorepo configuration files Removed unnecessary config files: eslint, prettier, commitlint, vitest, etc. * docs: update README to be more user-friendly and generic - Rewritten to focus on what PreMiD is rather than repository structure - Added friendly introduction to PreMiD's features and capabilities - Highlighted the open source Presences repository at github.com/PreMiD/Presences - Removed monorepo-specific content and development instructions - Added community section with helpful links - Overall more welcoming tone for users and contributors * chore: restore TypeScript build configuration and update dependencies - Added back tsconfig.base.json and tsconfig.app.json needed for builds - Updated both pd and schema-server tsconfig files to exclude test files - Installed TypeScript and @types/node dependencies for both apps - Updated README to include feedback.premid.app link - Verified both apps build successfully The apps can now be built with: npx tsc -b tsconfig.app.json * docs: update README to use Activities terminology - Changed "Presences" to "Activities" throughout - Updated repository link to github.com/PreMiD/Activities - Updated examples: YouTube, Disney+, Netflix, Twitch - Noted that Spotify has native Discord support * docs: clarify open source status and installation process - Added Contributing section explaining that Activities are open source but the main app is not - Clarified this helps the small team manage maintenance burden - Updated "install PreMiD" to "add the browser extension" for accuracy - Provided clear ways to contribute: Activities, translations, feedback * docs: clarify extension-only model and development speed - Changed "application and extension" to just "extension" - Updated reasoning: allows team to move fast and iterate quickly - No separate application exists, only the browser extension * docs: add Discord server link * docs: add banner image to README * docs: move logo inline with heading --------- Co-authored-by: Bas950 <me@bas950.com> Co-authored-by: veryCrunchy <verycrunchydev@gmail.com> Co-authored-by: veryCrunchy <me@verycrunchy.dev> Co-authored-by: Claude <noreply@anthropic.com>
30
.github/CONTRIBUTING.md
vendored
@@ -1,30 +0,0 @@
|
||||
# Contributing
|
||||
|
||||
## Requiered knowledge
|
||||
|
||||
- JavaScript
|
||||
- html5
|
||||
- NodeJS
|
||||
|
||||
Additional:
|
||||
|
||||
- CSS
|
||||
- [VueJS](https://vuejs.org/)
|
||||
- [ElectronJS](https://electronjs.org/)
|
||||
- [NPMjs](https://www.npmjs.com/)
|
||||
|
||||
A source code editor is also requiered. We recommend [Visual Studio Code](https://code.visualstudio.com/).
|
||||
|
||||
### Installing the components
|
||||
|
||||
1. Install [Git](https://git-scm.com/)
|
||||
2. Install [Node](https://nodejs.org/en/)
|
||||
|
||||
### Cloning the project
|
||||
|
||||
1. Fork the [repository](https://github.com/PreMiD/PreMiD)
|
||||
2. Open a terminal and type `git clone https://github.com/PreMiD/PreMiD`
|
||||
|
||||
### Coding your vision
|
||||
|
||||
Please keep the structure. We don't want to disorganize our project. Chaotic files may not be accepted.
|
||||
BIN
.github/Electron/Chrome_bsp.png
vendored
|
Before Width: | Height: | Size: 332 KiB |
BIN
.github/Electron/PMD_Banner.png
vendored
|
Before Width: | Height: | Size: 682 KiB |
3
.github/FUNDING.yml
vendored
@@ -1,3 +0,0 @@
|
||||
github: Timeraa
|
||||
patreon: Timeraa
|
||||
ko_fi: Timeraa
|
||||
31
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -1,31 +0,0 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
---
|
||||
|
||||
<!-- NOTE -->
|
||||
<!-- Keep all presence related bugs in our Presences repository! -->
|
||||
<!-- https://github.com/PreMiD/Presences/issues -->
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
**To Reproduce**
|
||||
Steps to reproduce the behavior:
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
**Screenshots**
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**Desktop (please complete the following information):**
|
||||
- OS: [e.g. iOS]
|
||||
- Browser [e.g. chrome, safari]
|
||||
- Version [e.g. 22]
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
||||
16
.github/ISSUE_TEMPLATE/feature_request.md
vendored
@@ -1,16 +0,0 @@
|
||||
---
|
||||
name: Feature request
|
||||
about: Suggest an idea for PreMiD
|
||||
---
|
||||
|
||||
**Is your feature request related to a problem? Please describe.**
|
||||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||
|
||||
**Describe the solution you'd like**
|
||||
A clear and concise description of what you want to happen.
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
|
||||
**Additional context**
|
||||
Add any other context or screenshots about the feature request here.
|
||||
BIN
.github/Logo.png
vendored
|
Before Width: | Height: | Size: 11 KiB |
BIN
.github/Patreon.png
vendored
|
Before Width: | Height: | Size: 3.0 KiB |
1
.github/PayPal.svg
vendored
|
Before Width: | Height: | Size: 5.1 KiB |
13
.github/SUPPORT.md
vendored
@@ -1,13 +0,0 @@
|
||||
# How to get support
|
||||
|
||||
## Take a look at the [wiki](https://wiki.premid.app)
|
||||
Our GitHub wiki is full of information around PreMiD.<br>
|
||||
Take a look and feel free to contribute if you want to add something new.
|
||||
|
||||
## [Open a issue](https://github.com/PreMiD/PreMiD/issues/new/choose) on [GitHub](https://github.com/PreMiD/PreMiD)
|
||||
Simply open a issue if you don't feel allright.<br>
|
||||
*Aand there he goes...*
|
||||
|
||||
## Ask a staff member in [#support](https://discord.premid.app)
|
||||
The team is ready to tell you the secrets of the underworld.<br>
|
||||
Join our [Discord server](https://discord.premid.app) and find out what we're hiding.
|
||||
BIN
.github/TwitterButton.png
vendored
|
Before Width: | Height: | Size: 4.1 KiB |
BIN
.github/example.png
vendored
|
Before Width: | Height: | Size: 332 KiB |
98
.github/workflows/deploy.yml
vendored
@@ -1,98 +0,0 @@
|
||||
name: DePloY
|
||||
on:
|
||||
release:
|
||||
types: [published]
|
||||
env:
|
||||
NODE_ENV: DePloY
|
||||
jobs:
|
||||
package:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [macOS-latest, windows-latest]
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
- uses: actions/setup-node@master
|
||||
- name: Install Dependencies
|
||||
run: |
|
||||
npm i
|
||||
npm i -g typescript rimraf
|
||||
- name: Prepare to package
|
||||
run: npm run init
|
||||
- name: Package
|
||||
run: |
|
||||
npm run pkg
|
||||
rimraf dist/app
|
||||
node util/zip dist ${{ matrix.os }}.zip --zip
|
||||
- name: Upload bundle
|
||||
env:
|
||||
SSHHOST: ${{ secrets.MAIN_HOST }}
|
||||
SSH_USERNAME: ${{ secrets.SSH_USERNAME }}
|
||||
SSH_KEY: ${{ secrets.SSH_KEY }}
|
||||
run: |
|
||||
tsc util/uploadFile util/zip
|
||||
node util/uploadFile ${{ matrix.os }}.zip /home/PreMiD/download/util/${{ matrix.os }}.zip
|
||||
createInstallers:
|
||||
runs-on: "ubuntu-latest"
|
||||
needs: package
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
- uses: actions/setup-node@master
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo npm i
|
||||
sudo npm i -g typescript
|
||||
- name: Download InstallBuilder
|
||||
run: |
|
||||
wget https://clients.bitrock.com/installbuilder/installbuilder-enterprise-20.12.0-linux-x64-installer.run
|
||||
chmod u+x installbuilder-enterprise-20.12.0-linux-x64-installer.run
|
||||
- name: Install InstallBuilder
|
||||
run: |
|
||||
./installbuilder-enterprise-20.12.0-linux-x64-installer.run --installer-language en --prefix ./installbuilder --mode unattended
|
||||
echo "${{ secrets.IBLICENSE }}" > ./installbuilder/license.xml
|
||||
- name: Prepare Upgrade Installer
|
||||
run: |
|
||||
tsc util/prepare
|
||||
node util/prepare
|
||||
- name: Create Upgrade Installer (MacOS 64bit)
|
||||
run: |
|
||||
installbuilder/bin/builder build installer_assets/PreMiD-Upgrade.xml osx
|
||||
- name: Create Upgrade Installer (Windows)
|
||||
run: |
|
||||
installbuilder/bin/builder build installer_assets/PreMiD-Upgrade.xml windows
|
||||
- name: Upload files
|
||||
env:
|
||||
SSHHOST: ${{ secrets.MAIN_HOST }}
|
||||
SSH_USERNAME: ${{ secrets.SSH_USERNAME }}
|
||||
SSH_KEY: ${{ secrets.SSH_KEY }}
|
||||
run: |
|
||||
tsc util/uploadFile util/zip
|
||||
node util/uploadFile dist/installer/upgrader.exe /home/PreMiD/download/upgrader.exe
|
||||
node util/uploadFile dist/installer/upgrader.app.zip /home/PreMiD/download/util/upgrader.app.zip
|
||||
- name: Finalize build
|
||||
uses: appleboy/ssh-action@master
|
||||
with:
|
||||
host: ${{ secrets.MAIN_HOST }}
|
||||
username: ${{ secrets.SSH_USERNAME }}
|
||||
key: ${{ secrets.SSH_KEY }}
|
||||
script: |
|
||||
cd /home/PreMiD/download/util
|
||||
unzip upgrader.app.zip
|
||||
tar -czvf upgrader.app.tgz upgrader.app
|
||||
mv upgrader.app.tgz ../
|
||||
rm -rf upgrader.app upgrader.app.zip
|
||||
unzip windows-latest.zip
|
||||
cd windows-latest/PreMiD-win32-x64/
|
||||
zip -r ../../PreMiD-win32-x64.zip .
|
||||
mv ../../PreMiD-win32-x64.zip /home/PreMiD/download/
|
||||
cd ../PreMiD-win32-ia32/
|
||||
zip -r ../../PreMiD-win32-x86.zip .
|
||||
mv ../../PreMiD-win32-x86.zip /home/PreMiD/download/
|
||||
cd ../..
|
||||
rm -rf windows-latest windows-latest.zip
|
||||
unzip macOS-latest.zip
|
||||
cd macOS-latest/PreMiD-darwin-x64/
|
||||
zip -r ../../PreMiD-darwin-x64.zip .
|
||||
mv ../../PreMiD-darwin-x64.zip /home/PreMiD/download/
|
||||
cd ../..
|
||||
rm -rf macOS-latest macOS-latest.zip
|
||||