Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chat: room lifecycle specification #200

Merged
merged 73 commits into from
Nov 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
deeaf00
build: clean output directory on build
AndyTWF Aug 5, 2024
da3846b
chat: chat room lifecycle feature specification
AndyTWF Aug 5, 2024
340630c
chat: remove protocol page
AndyTWF Aug 14, 2024
30ec60f
chat: add spec points clarifying release behaviour
AndyTWF Sep 3, 2024
290a84a
chat: various clarifications on room lifecycle
AndyTWF Sep 13, 2024
a596114
chat: add messages specification
AndyTWF Sep 13, 2024
ae1a8e9
chat: add presence and ephemeral room reactions spec
AndyTWF Sep 13, 2024
4d39697
add typing indicators spec
AndyTWF Oct 11, 2024
49de6b0
add CHA-PR9 for presence permissions
AndyTWF Oct 11, 2024
c4b057f
Add typing event struct for chat
AndyTWF Oct 11, 2024
3f34755
clarify presence get behaviour
AndyTWF Oct 11, 2024
ad8934b
additional chat room lifecycle clarifications
AndyTWF Oct 11, 2024
4e648d3
chat: clarify room lifecycle operation precedence
AndyTWF Oct 18, 2024
cb40920
chat: add occupancy spec
AndyTWF Oct 18, 2024
4014a30
materialization: Remove reserved namespace from metadata and headers.
splindsay-92 Oct 23, 2024
210c956
Restore CHA-M3e
lawrence-forooghian Oct 30, 2024
9f517da
Update duplicate-finding script to handle Chat too
lawrence-forooghian Sep 17, 2024
46b503a
Restore IDs of deleted spec points
lawrence-forooghian Oct 30, 2024
bd70946
Don’t mark deleted clauses as Testable
lawrence-forooghian Oct 30, 2024
36a1cf2
Fix language for replaced spec points
lawrence-forooghian Oct 30, 2024
71440ba
clarify status codes accompanying chat specific errors
AndyTWF Oct 31, 2024
b8eb314
clarify CHA-RL1h2 error
AndyTWF Oct 31, 2024
dd9c009
CHA-RL1h4: remove duplicate text
AndyTWF Oct 31, 2024
fdf195a
CHA-RL2h1: clarify failed state entry
AndyTWF Oct 31, 2024
bc88743
CHA-RL2h: clarify detach failure
AndyTWF Oct 31, 2024
4ac7260
CHA-RL2h1: clarify meaning of detachment
AndyTWF Oct 31, 2024
6394ca2
CHA-RL2h1: clarify error usage
AndyTWF Oct 31, 2024
ba4f075
CHA-RL2h3: clarify relation to CHA-RL2f
AndyTWF Oct 31, 2024
2a81e85
CHA-RL2h3: specify pause duration
AndyTWF Oct 31, 2024
ab828f6
CHA-RL3d: make statement a MUST
AndyTWF Oct 31, 2024
d2c8f8a
CHA-RL3f: specify delay
AndyTWF Oct 31, 2024
b208701
CHA-RL3f: clarify relation to CHA-RL3d
AndyTWF Oct 31, 2024
7f1de9d
CHA-RL3f: clarify relation to CHA-RL3g
AndyTWF Oct 31, 2024
13a3e25
CHA-RL3g: clarify what constitutes a terminal condition
AndyTWF Oct 31, 2024
8a6148a
CHA-RL1h1: make non-testable
AndyTWF Oct 31, 2024
1f25d7f
chat: fix typo in resumed flag
AndyTWF Oct 31, 2024
99d8fd4
CHA-RL4a2: clarify when a channel is deemed to have attached once
AndyTWF Oct 31, 2024
02967fd
CHA-RL4b1: clarify relation to CHA-RL1f
AndyTWF Oct 31, 2024
b3c0d11
CHA-RL4b4: link to CHA-RL1f
AndyTWF Oct 31, 2024
89fcb6b
CHA-RL4b7: clarify transient disconnect timeouts
AndyTWF Oct 31, 2024
1b48f52
CHA-RL4b*: change channel lifecycle to room lifecycle
AndyTWF Oct 31, 2024
ec1d5d1
CHA-RL4b: specify non-update events
AndyTWF Oct 31, 2024
c95a314
CHA-RL4b2 remove from spec
AndyTWF Oct 31, 2024
d058815
CHA-RL4b3/4: remove
AndyTWF Oct 31, 2024
0792943
CHA-RL4a1/2: relate to CHA-RL4a3/4
AndyTWF Oct 31, 2024
956b772
CHA-RL4b6: remove specification point
AndyTWF Oct 31, 2024
8ddeea5
CHA-RL4b5: link to CHA-RL2f
AndyTWF Oct 31, 2024
e14a9f8
CHA-RL1g2: add double notification clause
AndyTWF Oct 31, 2024
48d7378
CHA-RL4a3: prefer first discontinuity event
AndyTWF Oct 31, 2024
ce88449
CHA-RL5b: add wait time
AndyTWF Nov 4, 2024
4806634
chat: link retry loop failure to detach
AndyTWF Nov 4, 2024
af0c122
CHA-RL5e: clarify error source
AndyTWF Nov 5, 2024
67496b3
chat: clarify retry behaviour
AndyTWF Nov 6, 2024
6c246a6
CHA-RL5f1: clarify clearing errors
AndyTWF Nov 6, 2024
3554a23
Fix typo
lawrence-forooghian Nov 6, 2024
d6b22b0
Mark CHA-RL1d1 as Testable
lawrence-forooghian Nov 7, 2024
6b1027f
Disable implicit attach for Chat
lawrence-forooghian Nov 7, 2024
b576809
CHA-RL5a: dont include channel that is suspended
AndyTWF Nov 6, 2024
0e5a272
CHA-RL1h1: remove confusing spec point
AndyTWF Nov 11, 2024
d81eebe
CHA-RL4b1: negate condition
AndyTWF Nov 11, 2024
659aa04
CHA-RL5: clarify relation to attach and suspend
AndyTWF Nov 11, 2024
502a88b
CHA-RL5a: add clarification on detaching, clarify retry loop language
AndyTWF Nov 11, 2024
863c895
CHA-RL5: add summary clause
AndyTWF Nov 11, 2024
a56ee6d
CHA-RL5b/c: clarify detach failure
AndyTWF Nov 11, 2024
a7b66c6
CHA-RL5D: include reference to realtime SDK retrying
AndyTWF Nov 11, 2024
349eed8
CHA-RL5e/f: link to CHA-RL5d
AndyTWF Nov 11, 2024
a5557b5
CHA-RL5f1: add termination statement
AndyTWF Nov 11, 2024
d3b1042
CHA-RL5f2: include failed detaching behaviour
AndyTWF Nov 11, 2024
95a0d20
CHA-RL5f1-3: remove as copies of CHA-RL1e
AndyTWF Nov 11, 2024
b2b26ec
CHA-RL5: add removal notice
AndyTWF Nov 11, 2024
bd1df9e
Restore ID of deleted spec point CHA-RL1h1
lawrence-forooghian Nov 12, 2024
aa55efd
Fix formatting
lawrence-forooghian Nov 12, 2024
3b576d3
Remove trailing space
lawrence-forooghian Nov 12, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
"name": "@ably/specification-build",
"version": "1.0.0",
"scripts": {
"build": "npm-run-all build:generate build:tailwind",
"clean": "rm -rf ./output",
"build": "npm-run-all clean build:generate build:tailwind",
"build:generate": "./scripts/build",
"build:tailwind": "tailwindcss -i ./templates/main.css -o ./output/tailwind.css --minify",
"lint": "npm-run-all format:*:check",
Expand Down
41 changes: 27 additions & 14 deletions scripts/find-duplicate-spec-items
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,33 @@
# Script to detect duplicate spec IDs in the client library spec
# This tends to happen when concurrent spec PRs are merged

SPEC_PATH = File.expand_path('../../textile/features.textile', __FILE__)

File.read(SPEC_PATH).scan(/\*\s\@\((\w+)\)\@/).group_by do |match|
match
end.select do |spec_id, matches|
matches.count > 1
end.each do |spec_id, matches|
puts "#{spec_id.first} has #{matches.count - 1} duplicate(s)"
end.tap do |matches|
if matches.empty?
puts "✓ Spec is valid. No duplicates found"
else
puts "\n✘ INVALID SPEC: #{matches.count} duplicate(s) found"
exit 1
SPEC_FILES = ["features", "chat-features"]

has_errors = false

SPEC_FILES.each_with_index do |spec_file, i|
file_name = "#{spec_file}.textile"

puts "Checking #{file_name}"

spec_path = File.expand_path("../../textile/#{file_name}", __FILE__)

File.read(spec_path).scan(/\*\s\@\(([\w-]+)\)\@/).group_by do |match|
match
end.select do |spec_id, matches|
matches.count > 1
end.each do |spec_id, matches|
puts "#{spec_id.first} has #{matches.count - 1} duplicate(s)"
end.tap do |matches|
if matches.empty?
puts "✓ Spec is valid. No duplicates found"
else
puts "\n✘ INVALID SPEC: #{matches.count} duplicate(s) found"
has_errors = true
end
end

puts if i < SPEC_FILES.count - 1
end

exit 1 if has_errors
Loading
Loading