feat(dependency): multi-repo script downloads via RepositoryRegistry#7335
Closed
MahtraDR wants to merge 2 commits intoelanthia-online:mainfrom
Closed
feat(dependency): multi-repo script downloads via RepositoryRegistry#7335MahtraDR wants to merge 2 commits intoelanthia-online:mainfrom
MahtraDR wants to merge 2 commits intoelanthia-online:mainfrom
Conversation
Add RepositoryRegistry class that manages multiple GitHub repositories
for script downloads. ScriptManager now iterates all registered repos
instead of hardcoding dr-scripts URLs.
Registered repos:
- dr-scripts (mode: :all) — downloads every .lic at root (current behavior)
- eo-scripts (mode: :explicit) — downloads default core scripts + user additions
Default EO/scripts: alias, autostart, ewaggle, go2, jinx, lich5-update,
log, map, repository, vars, version
New global functions:
- track_script(name, repo) — add a script to an explicit repo's tracked list
- untrack_script(name, repo) — remove (blocked for defaults)
- list_tracked_scripts(repo) — show tracked scripts per repo
Per-repo status caching via Settings["status_#{repo_name}"].
RepositoryRegistry wrapped in defined? guard for future core lich migration.
Bumps dependency version to 2.5.0.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Settings['autostart'] is per-game global (shared across all characters) but UserVars.autostart_scripts is per-character. The previous migration cleared Settings after copying to the first character's UserVars, causing all other characters to lose their global autostarts. Fix: merge Settings['autostart'] into UserVars on every login as a read-only baseline. Never clear it. Only log when the merge actually changes something. Users who already lost autostarts need to manually re-add them via ;e autostart(['script1', 'script2']) on affected characters. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Collaborator
Author
|
Superseded by lich-5 PR #1273 which implements this functionality directly in core Lich via Lich::Util::Update (SCRIPT_REPOS registry, sync_repo, track/untrack, Terminal::Table output). No longer needed in dependency.lic. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
RepositoryRegistryclass for managing multiple GitHub repositoriesScriptManagerto iterate registered repos instead of hardcoding dr-scripts URLstrack_script,untrack_script,list_tracked_scriptsRepositoryRegistrywrapped indefined?guard for future core lich migrationRegistered repos
dr-scripts:alleo-scripts:explicitDefault EO/scripts
alias.lic,autostart.lic,ewaggle.lic,go2.lic,jinx.lic,lich5-update.lic,log.lic,map.lic,repository.lic,vars.lic,version.licUser interaction
Test plan
rspec spec/dependency_spec.rb— 96 examples, 0 failuresrubocop -A— no offensestrack_script/untrack_scriptworkdependency_statusshows registry info🤖 Generated with Claude Code