mirror of
https://github.com/got-feedBack/feedBack.git
synced 2026-09-11 02:34:30 +00:00
d2569cc2a8e1634068981648a3e9fc1e176146f9
* feat(achievements): wall sync drain worker (epic PR3, client side) Background dead-letter worker that POSTs queued Feat unlocks/removals to the hosted feedback-achievements wall. Idle unless FEEDBACK_ACHIEVEMENTS_WALL_URL is set; uses requests + the client-token header (mirrors lyrics_transcribe). Dead-letter, never drop (pure engine.drain_decision): network err / 429 / 5xx -> keep pending (retry) other 4xx -> dead_letter (diagnosable, replayable) 2xx -> delete on server ack remove-me enqueues a wall removal keyed by the reused player_hash. Verified by an end-to-end staging round-trip (earn a Feat -> drains onto the wall with name + short hash -> remove-me -> wall empties) with no IP in tables or access logs. 42 plugin tests pass (test_sync.py adds the decision table + ack/retry/dead-letter retention + four-field on-the-wire payload). The hosted service lives in the new feedback-achievements repo. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(achievements): address local review findings (epic) Bugs caught in the pre-merge review loop: - secret_witching Feat was DEAD: post_activity wrote witching_nights_run to the DB before snapshotting prev_tiers, so diff_unlocks never saw the fresh unlock. Fold the run into the activity delta instead (same asymmetry chart_encore uses) so the 7th-night unlock is detected. +regression tests. - chart_encore broke across restarts: per-chart counter keyed on abs(hash(str)), which Python salts per-process (PYTHONHASHSEED). Use a stable sha1 digest so the same chart accumulates across sessions. +regression test. - Bounded the per-activity counter read: _read_counters no longer pulls the unbounded chart_plays:* rows (they're bumped/read individually). - screen.js: gate note:hit/miss on an active-song flag so tuner/calibration note events can't inflate Feats or flush a phantom chart:null session. - screen.js: P-III — prefix the plugin localStorage key (achievements:profile-cat). - screen.js: extract the duplicated local-ISO-date helper. 45 plugin tests pass (3 new). Wall-side review fixes are in the feedback-achievements repo. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * feat(achievements): default the drain worker to the hosted wall Point FEEDBACK_ACHIEVEMENTS_WALL_URL's default at the live got-feedback wall (https://feedback-achievements.onrender.com) so the drain worker targets it out of the box; still env-overridable for self-hosting/staging. Nothing publishes unless the user opted in AND has a profile identity, so a default URL alone sends nothing. Tests disable the default (autouse fixture) so no test ever POSTs to production; drain logic is covered via _drain_once() with an injected poster. 45 pass. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
fee[dB]ack
Plugins
| Plugin | Description | Install |
|---|---|---|
| Create from Tab | Search Ultimate Guitar for GP tabs and convert to playable songs | git clone ...feedBack-plugin-ug.git ultimate_guitar |
| Import Tab | Drag and drop Guitar Pro files to create songs | git clone ...feedBack-plugin-tabimport.git tab_import |
| Practice Journal | Auto-track practice time, speed, loops. Dashboard with charts | git clone ...feedBack-plugin-practice.git practice_journal |
| Setlist Builder | Create ordered playlists with sequential playback | git clone ...feedBack-plugin-setlist.git setlist |
| Metronome | Audible click and visual beat flash synced to song tempo | git clone ...feedBack-plugin-metronome.git metronome |
| Tone Player | View amp/pedal/cab signal chains with gear artwork | git clone ...feedBack-plugin-tones.git tones |
| Fretboard View | Live fretboard overlay showing active notes in real-time | git clone ...feedBack-plugin-fretboard.git fretboard |
| Tab View | Scrolling guitar tablature notation via alphaTab | git clone ...feedBack-plugin-tabview.git tab_view |
| MIDI Amp Control | Auto-switch amp/modeler presets via MIDI on tone changes | git clone ...feedBack-plugin-midi.git midi_amp |
| Section Map | Color-coded song structure minimap with clickable navigation | git clone ...feedBack-plugin-sectionmap.git section_map |
| Arrangement Editor | DAW-like visual editor for creating and editing song note charts | git clone ...feedBack-plugin-editor.git editor |
| MIDI Capo | MIDI capo control for real-time transposition | git clone ...slopsmith-plugin-midi-capo.git midi_capo |
| Note Detection | Real-time pitch detection and scoring against highway notes | git clone ...feedBack-plugin-notedetect.git note_detect |
| Find More | Search for more songs by the same artist | git clone ...slopsmith-plugin-find-more.git find_more |
| Piano Highway | Scrolling piano/keyboard view for Keys arrangements with MIDI input | git clone ...feedBack-plugin-piano.git piano |
| Studio | Collaborative band recording and multi-track mixing | git clone ...feedBack-plugin-studio.git studio |
| Drum Highway | Lane-based drum highway with MIDI drum pad input and built-in sounds | git clone ...feedBack-plugin-drums.git drums |
| Invert Highway | Flip the highway note direction | git clone ...slopsmith-plugin-invert-highway.git invert_highway |
| Jumping Tab | Yousician-style 2D horizontal tab with trajectory arcs and hopping ball | git clone ...slopsmith-plugin-jumpingtab.git jumpingtab |
| Step Mode | Step-by-step practice mode — highway freezes at each note until played (via Note Detection) or Space | git clone ...feedBack-plugin-stepmode.git step_mode |
| Lyrics Sync | Generate synced LRC lyrics from text + vocals stem via Whisper alignment | git clone ...feedBack-plugin-lyrics-sync.git lyrics_sync |
| Lyrics Karaoke | Per-syllable karaoke pitch ribbon for sloppak songs (Whisper alignment + librosa pYIN) | git clone ...feedBack-plugin-lyrics-karaoke.git lyrics_karaoke |
| NAM Tone Engine | In-browser amp modeling with NAM WASM, cabinet IRs, tone auto-switching | git clone ...feedBack-plugin-nam-tone.git nam_tone |
| Guitar Theory Lab | Explore scales, chords, intervals, tunings, and voicings on a fully interactive fretboard | git clone ...slopsmith-plugin-guitar-theory.git guitar-theory-lab |
| Themes | Offers several basic recolorings of the interface | git clone ...slopsmith-plugin-themes.git themes |
| Update Manager | Installs, updates, and uninstalls other plugins and the feedBack core itself | git clone ...slopsmith-update-manager.git update_manager |
| Simplify Chords | Changes complex chords on the note highway to simpler ones. Inspired by Ultimate Guitar's Simplify button. | git clone ...slopsmith-plugin-simplify-chords.git simplify-chords |
| Key Bindings | Highway key bindings for keyboard and TV remote | git clone ...slopsmith-plugin-key-bindings.git key_bindings |
| Folder Organizer | Organize your sloppak DLC songs into a folder tree view, grouped by subfolder name | git clone ...slopsmith-plugin-folder-organizer.git folder-organizer |
| Virtuoso | Practice studio for guitar & bass — scale, technique, and rhythm drills, timed workouts, and jam backing that teach skills you take off the screen. | git clone ...feedBack-plugin-virtuoso.git virtuoso |
| Audio Preview | Quick audio previews from library cards with configurable start time, volume, and duration | git clone ...slopsmith-plugin-audio-preview.git audio_preview |
| Song Mastery | Auto-adjusts difficulty based on your rolling note accuracy and saves the slider position per song | git clone ...slopsmith-plugin-song-mastery.git song_mastery |
| Mobile Note Highway | Touch-optimized player with collapsible controls, highway gestures, and device-adaptive layouts for phones and tablets | git clone ...slopsmith-plugin-mobile-note-highway.git mobile_note_highway |
Install any plugin by cloning it into your plugins/ directory and restarting:
cd plugins
git clone https://github.com/got-feedback/feedBack-plugin-ug.git ultimate_guitar
docker compose restart
Languages
JavaScript
56.4%
Python
37.1%
HTML
3.2%
CSS
1.2%
TypeScript
1.1%
Other
1%