Retarget every upstream Drop-OSS/discord/droposs.org reference to our own
infra (github.com/Drop-OSS -> devops.quasarke.net/drop-oss, Discord ->
community.quasarke.net), rename the product to "Drop Desktop Client
(Quasarke Edition)" with a distinct app identifier so it can't collide with
a genuine upstream install, and note in updates.rs that there was never a
self-updater to repoint (no tauri-plugin-updater dependency exists anywhere
in this client -- confirmed via Cargo.toml/tauri.conf.json).
Community tab (desktop/main/pages/community.vue) replaces the upstream
"Under construction" stub: opens community.quasarke.net in the system
browser via tauri-plugin-shell (already covered by the existing
shell:allow-open capability, no CSP/capability changes needed).
Native play-session + achievements telemetry (desktop/src-tauri/src/community.rs):
process_manager now emits drop://game-launch / drop://game-exit tauri events
around every game launch, picked up by listeners in src/lib.rs that POST
session-start / session-stop / achievements to the community service,
matching homelab-compose's drop-launch-wrapper.ps1 contract exactly
(same endpoint paths, same {"ok":true} ack requirement, same
%LOCALAPPDATA%\drop-community\queue offline-queue format/location so a
machine running both the client and the per-game wrapper shares one
flush point). This gives every game launched through the client the same
tracking the wrapper gives individually-wrapped games, without requiring
the wrapper to be installed.
The community endpoint is a single configurable Settings field
(communityEndpoint/communityUrl/enableCommunityTelemetry in
database/src/models.rs, exposed via a new Settings > Community tab), not
hardcoded at each call site.
22 lines
555 B
TOML
22 lines
555 B
TOML
[package]
|
|
name = "process"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
|
|
[dependencies]
|
|
chrono = "0.4.42"
|
|
client = { path = "../client", version = "0.1.0" }
|
|
database = { path = "../database", version = "0.1.0" }
|
|
dynfmt = { version = "0.1.5", features = ["curly"] }
|
|
games = { path = "../games", version = "0.1.0" }
|
|
keyvalues-parser = "0.2.3"
|
|
log = "0.4.28"
|
|
page_size = "0.6.0"
|
|
serde = "1.0.228"
|
|
serde_json = "1"
|
|
serde_with = "3.15.0"
|
|
shared_child = "1.1.1"
|
|
shell-words = "1.1.1"
|
|
tauri = "*"
|
|
tauri-plugin-opener = "*"
|
|
utils = { path = "../utils", version = "0.1.0" }
|