Repository navigation
Keep the install ID in a file for programs that are not plugins (0.6.0) - #10
Merged
Merged
Conversation
Builder.installIdFile(File) resolves the installation's ID in build(),
after every opt-out, the same way the python/js/csharp/cpp clients do:
the first line matching [A-Za-z0-9_.-]{1,255} is used; a missing file or
one with no such line gets a fresh UUID (parent directories created); an
unreadable file or a failed write yields an in-memory ID and the file is
left untouched; build() never throws. Precedence: installId(...) >
installIdFile(...) > the server-wide server-id:. The static
installIdFromFile(File) exposes the same step, with the README warning
that it writes even when reporting is off.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014ztkfamsbEqQfcu76me5SL
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.
Parity with trace-client-python/-js/-csharp/-cpp for programs that are not Spigot plugins: the per-installation ID can now be kept in a file the program names, resolved by the client after its opt-outs.
Builder.installIdFile(File)— resolved inbuild()only when the client is enabled, after the environment, server-wide, config and key checks. The first line matching[A-Za-z0-9_.-]{1,255}(whitespace trimmed) is used. A missing file, or one with no such line, gets a new random UUID written to it (parent directories created). A file that exists but cannot be read yields an in-memory ID and is left untouched; a failed write yields an in-memory ID;build()never throws. Fallbacks are logged at FINE.installId(...)>installIdFile(...)> the server-wideserver-id:. When a file is given alongsideserverWideConfig(...), the server-wide file still suppliesenabled:andtags:but gains noserver-id:line.TraceClient.installIdFromFile(File)— the same load-or-create step as a static helper, with the README/Javadoc warning the other clients carry: called directly, it writes whatever the opt-outs say.VERSION, file header,pom.xml, README dependency snippet.mvn -B verifypassed locally on JDK 17 (62 tests,release 8).🤖 Generated with Claude Code
https://claude.ai/code/session_014ztkfamsbEqQfcu76me5SL
drafted by Claude on behalf of Daniel Stephenson