obbyworld / obbyworld/obby

metadata-2: SET display-name after GET

Open
#100 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
232
Forks
19
Avg merge
9d 20h
Merged PRs (30d)
3

Description

While connecting, I observe Obsidian getting some keys:

C: "METADATA * GET url website status location avatar color display-name"
S: ":fastbox BATCH +34ca6d3b27fa48f2aa688dc0d43e3232 metadata"
S: "@batch=34ca6d3b27fa48f2aa688dc0d43e3232 766 dsc * url :key not set"
S: "@batch=34ca6d3b27fa48f2aa688dc0d43e3232 766 dsc * website :key not set"
S: "@batch=34ca6d3b27fa48f2aa688dc0d43e3232 766 dsc * status :key not set"
S: "@batch=34ca6d3b27fa48f2aa688dc0d43e3232 766 dsc * location :key not set"
S: "@batch=34ca6d3b27fa48f2aa688dc0d43e3232 761 dsc * avatar * :https://foo.tld/bar.png"
S: "@batch=34ca6d3b27fa48f2aa688dc0d43e3232 766 dsc * color :key not set"
S: "@batch=34ca6d3b27fa48f2aa688dc0d43e3232 761 dsc * display-name * :AAAA"
S: ":fastbox BATCH -34ca6d3b27fa48f2aa688dc0d43e3232"

Obsidian has received a display-name from the server at this point, but a while later it does a SET:

C: "METADATA * SET display-name :AAAA"
S: ":fastbox 761 dsc * display-name * :AAAA"

Presumably pushing whatever display-name was in local-storage.

When there are multiple IRC clients, this will override the display-name that one may have already set in another client, at an earlier point.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No file or test is named. Search for METADATA GET/SET handling and the local-storage path, then reproduce the shown exchange with multiple clients. Done means a server-provided display-name is not later overwritten by an older local value, with coverage for this sequence.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
networking
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.