Skip to content

Commit deed58d

Browse files
committed
1 parent 472e80e commit deed58d

5 files changed

Lines changed: 9 additions & 6 deletions

File tree

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,8 @@ Here's how to package, test, and ship a new release.
228228
* Schema validation:
229229
* Validate subscription (event stream websocket) parameters and output message payloads in both `Client` and `Server`.
230230
* When `truncate` is set, recurse into refs and arrays to truncate their string properties as necessary too.
231-
* `Server`: raise `ValidationError` on unknown parameters.
231+
* Allow digits in NSID name (last segment) ([background](https://github.com/bluesky-social/atproto-website/pull/402)).
232+
* `Server`: raise `ValidationError` on unknown parameters.
232233
* ~~Don't allow `#main` in `$type` ([bluesky-social/atproto#1968](https://github.com/bluesky-social/atproto/discussions/1968)).~~
233234
* Bug fix for open unions, allow types that aren't in `refs`.
234235
* `Client`:

lexrpc/base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@
7575
# https://atproto.com/specs/nsid
7676
NSID_SEGMENT = '[a-zA-Z0-9-]+'
7777
NSID_SEGMENT_RE = re.compile(f'^{NSID_SEGMENT}$')
78-
NSID_PATTERN = r'(?![0-9])((?!-)[a-z0-9-]{1,63}(?<!-)\.){2,}[a-zA-Z]{1,63}'
78+
NSID_PATTERN = r'(?![0-9])((?!-)[a-z0-9-]{1,63}(?<!-)\.){2,}[a-zA-Z][a-zA-Z0-9]{0,62}'
7979
NSID_RE = re.compile(f'^{NSID_PATTERN}$')
8080

8181
# https://atproto.com/specs/lexicon#string-formats

lexrpc/tests/testdata/at-uri_syntax_valid.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,4 @@ at://did:abc:123/io.nsid.someFunc/-
3232
at://did:abc:123/io.nsid.someFunc/_
3333
at://did:abc:123/io.nsid.someFunc/~
3434
at://did:abc:123/io.nsid.someFunc/...
35+
at://did:plc:asdf123/com.atproto.feed.postV2

lexrpc/tests/testdata/nsid_syntax_invalid.txt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,13 @@ com.oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo.foo
33
com.example.oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
44
com.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.foo
55

6-
# invliad examples
6+
# invalid examples
77
com.example.foo.*
88
com.example.foo.blah*
99
com.example.foo.*blah
10-
com.example.f00
1110
com.exa💩ple.thing
1211
a-0.b-1.c-3
1312
a-0.b-1.c-o
14-
a0.b1.c3
1513
1.0.0.127.record
1614
0two.example.foo
1715
example.com
@@ -29,4 +27,4 @@ com.atproto.feed.p*st
2927
com.atproto.feed.po#t
3028
com.atproto.feed.p!ot
3129
com.example-.foo
32-
30+
com.example.fooBar.2

lexrpc/tests/testdata/nsid_syntax_valid.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ com.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle
55

66
# valid examples
77
com.example.fooBar
8+
com.example.fooBarV2
89
net.users.bob.ping
910
a.b.c
1011
m.xn--masekowski-d0b.pl
@@ -18,6 +19,8 @@ test.12345.record
1819
a01.thing.record
1920
a.0.c
2021
xn--fiqs8s.xn--fiqa61au8b7zsevnm8ak20mc4a87e.record.two
22+
a0.b1.c3
23+
com.example.f00
2124

2225
# allows onion (Tor) NSIDs
2326
onion.expyuzz4wqqyqhjn.spec.getThing

0 commit comments

Comments
 (0)