matrix_sdk 2.1.3 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,8 +13,10 @@ module MatrixSdk::Protocols::CS
13
13
  def client_api_versions
14
14
  (@client_api_versions ||= request(:get, :client, '/versions')).versions.tap do |vers|
15
15
  vers.instance_eval <<-'CODE', __FILE__, __LINE__ + 1
16
- def latest
17
- last
16
+ if !respond_to? :latest
17
+ def latest
18
+ last
19
+ end
18
20
  end
19
21
  CODE
20
22
  end
@@ -39,10 +41,20 @@ module MatrixSdk::Protocols::CS
39
41
  end
40
42
  end
41
43
 
44
+ # Gets the latest version of the client API
45
+ # @return [Symbol] :client_r0 / :client_v3 / etc
46
+ def client_api_latest
47
+ @client_api_latest ||= :client_v3 if client_api_versions.any? { |v| v.start_with? 'v1.1' }
48
+ @client_api_latest ||= :client_r0
49
+ rescue StandardError => e
50
+ logger.warn "Failed to look up supported client API, defaulting to r0. The error was #{e.class}: #{e}"
51
+ @client_api_latest ||= :client_r0
52
+ end
53
+
42
54
  # Gets the list of available methods for logging in
43
55
  # @return [Response]
44
56
  def allowed_login_methods
45
- request(:get, :client_r0, '/login')
57
+ request(:get, client_api_latest, '/login')
46
58
  end
47
59
 
48
60
  # Runs the client API /sync method
@@ -64,7 +76,7 @@ module MatrixSdk::Protocols::CS
64
76
  query[:timeout] = params.delete(:timeout_ms).to_i if params.key? :timeout_ms
65
77
  query[:user_id] = params.delete(:user_id) if protocol?(:AS) && params.key?(:user_id)
66
78
 
67
- request(:get, :client_r0, '/sync', query: query)
79
+ request(:get, client_api_latest, '/sync', query: query)
68
80
  end
69
81
 
70
82
  # Registers a user using the client API /register endpoint
@@ -90,7 +102,7 @@ module MatrixSdk::Protocols::CS
90
102
  store_token = params.delete(:store_token) { !protocol?(:AS) }
91
103
  store_device_id = params.delete(:store_device_id) { store_token }
92
104
 
93
- request(:post, :client_r0, '/register', body: params, query: query).tap do |resp|
105
+ request(:post, client_api_latest, '/register', body: params, query: query).tap do |resp|
94
106
  @access_token = resp.token if resp.key?(:token) && store_token
95
107
  @device_id = resp.device_id if resp.key?(:device_id) && store_device_id
96
108
  end
@@ -113,7 +125,7 @@ module MatrixSdk::Protocols::CS
113
125
  next_link: next_link
114
126
  }.compact
115
127
 
116
- request(:post, :client_r0, '/register/email/requestToken', body: body)
128
+ request(:post, client_api_latest, '/register/email/requestToken', body: body)
117
129
  end
118
130
 
119
131
  # Requests to register a phone number to the current account
@@ -135,7 +147,7 @@ module MatrixSdk::Protocols::CS
135
147
  next_link: next_link
136
148
  }.compact
137
149
 
138
- request(:post, :client_r0, '/register/msisdn/requestToken', body: body)
150
+ request(:post, client_api_latest, '/register/msisdn/requestToken', body: body)
139
151
  end
140
152
 
141
153
  # Checks if a given username is available and valid for registering
@@ -148,7 +160,7 @@ module MatrixSdk::Protocols::CS
148
160
  # @return [Response]
149
161
  # @see https://matrix.org/docs/spec/client_server/latest.html#get-matrix-client-r0-register-available
150
162
  def username_available?(username)
151
- request(:get, :client_r0, '/register/available', query: { username: username })
163
+ request(:get, client_api_latest, '/register/available', query: { username: username })
152
164
  end
153
165
 
154
166
  # Logs in using the client API /login endpoint, and optionally stores the resulting access for API usage
@@ -190,7 +202,7 @@ module MatrixSdk::Protocols::CS
190
202
  }.merge params
191
203
  data[:device_id] = device_id if device_id
192
204
 
193
- request(:post, :client_r0, '/login', body: data, query: query).tap do |resp|
205
+ request(:post, client_api_latest, '/login', body: data, query: query).tap do |resp|
194
206
  @access_token = resp.token if resp.key?(:token) && options[:store_token]
195
207
  @device_id = resp.device_id if resp.key?(:device_id) && options[:store_device_id]
196
208
  end
@@ -204,7 +216,7 @@ module MatrixSdk::Protocols::CS
204
216
  query = {}
205
217
  query[:user_id] = params.delete(:user_id) if protocol?(:AS) && params.key?(:user_id)
206
218
 
207
- request(:post, :client_r0, '/logout', query: query)
219
+ request(:post, client_api_latest, '/logout', query: query)
208
220
  end
209
221
 
210
222
  # Logs out the currently logged in user
@@ -215,7 +227,7 @@ module MatrixSdk::Protocols::CS
215
227
  query = {}
216
228
  query[:user_id] = params.delete(:user_id) if protocol?(:AS) && params.key?(:user_id)
217
229
 
218
- request(:post, :client_r0, '/logout/all', query: query)
230
+ request(:post, client_api_latest, '/logout/all', query: query)
219
231
  end
220
232
 
221
233
  # Changes the users password
@@ -235,7 +247,7 @@ module MatrixSdk::Protocols::CS
235
247
  auth: auth
236
248
  }
237
249
 
238
- request(:post, :client_r0, '/account/password', body: body, query: query)
250
+ request(:post, client_api_latest, '/account/password', body: body, query: query)
239
251
  end
240
252
 
241
253
  # Requests an authentication token based on an email address
@@ -255,7 +267,7 @@ module MatrixSdk::Protocols::CS
255
267
  next_link: next_link
256
268
  }.compact
257
269
 
258
- request(:post, :client_r0, '/account/password/email/requestToken', body: body)
270
+ request(:post, client_api_latest, '/account/password/email/requestToken', body: body)
259
271
  end
260
272
 
261
273
  # Requests an authentication token based on a phone number
@@ -277,7 +289,7 @@ module MatrixSdk::Protocols::CS
277
289
  next_link: next_link
278
290
  }.compact
279
291
 
280
- request(:post, :client_r0, '/account/password/msisdn/requestToken', body: body)
292
+ request(:post, client_api_latest, '/account/password/msisdn/requestToken', body: body)
281
293
  end
282
294
 
283
295
  # Deactivates the current account, logging out all connected devices and preventing future logins
@@ -293,14 +305,14 @@ module MatrixSdk::Protocols::CS
293
305
  id_server: id_server
294
306
  }.compact
295
307
 
296
- request(:post, :client_r0, '/account/deactivate', body: body)
308
+ request(:post, client_api_latest, '/account/deactivate', body: body)
297
309
  end
298
310
 
299
311
  def get_3pids(**params)
300
312
  query = {}
301
313
  query[:user_id] = params.delete(:user_id) if protocol?(:AS) && params.key?(:user_id)
302
314
 
303
- request(:get, :client_r0, '/account/3pid', query: query)
315
+ request(:get, client_api_latest, '/account/3pid', query: query)
304
316
  end
305
317
 
306
318
  # Finishes a 3PID addition to the current user
@@ -318,7 +330,7 @@ module MatrixSdk::Protocols::CS
318
330
  auth: auth_data
319
331
  }.compact
320
332
 
321
- request(:post, :client_r0, '/account/3pid/add', body: body)
333
+ request(:post, client_api_latest, '/account/3pid/add', body: body)
322
334
  end
323
335
 
324
336
  # Finishes binding a 3PID to the current user
@@ -338,7 +350,7 @@ module MatrixSdk::Protocols::CS
338
350
  sid: session
339
351
  }
340
352
 
341
- request(:post, :client_r0, '/account/3pid/bind', body: body)
353
+ request(:post, client_api_latest, '/account/3pid/bind', body: body)
342
354
  end
343
355
 
344
356
  # Deletes a 3PID from the current user, this method might not unbind it from the identity server
@@ -356,7 +368,7 @@ module MatrixSdk::Protocols::CS
356
368
  medium: medium
357
369
  }
358
370
 
359
- request(:post, :client_r0, '/account/3pid/delete', body: body)
371
+ request(:post, client_api_latest, '/account/3pid/delete', body: body)
360
372
  end
361
373
 
362
374
  # Unbinds a 3PID from the current user
@@ -374,7 +386,7 @@ module MatrixSdk::Protocols::CS
374
386
  medium: medium
375
387
  }
376
388
 
377
- request(:post, :client_r0, '/account/3pid/unbind', body: body)
389
+ request(:post, client_api_latest, '/account/3pid/unbind', body: body)
378
390
  end
379
391
 
380
392
  # Gets the list of rooms joined by the current user
@@ -385,7 +397,7 @@ module MatrixSdk::Protocols::CS
385
397
  query = {}
386
398
  query[:user_id] = params.delete(:user_id) if protocol?(:AS) && params.key?(:user_id)
387
399
 
388
- request(:get, :client_r0, '/joined_rooms', query: query)
400
+ request(:get, client_api_latest, '/joined_rooms', query: query)
389
401
  end
390
402
 
391
403
  # Gets the list of public rooms on a Matrix server
@@ -418,7 +430,7 @@ module MatrixSdk::Protocols::CS
418
430
  query = query.merge(params).compact
419
431
  end
420
432
 
421
- request(method, :client_r0, '/publicRooms', query: query, body: body)
433
+ request(method, client_api_latest, '/publicRooms', query: query, body: body)
422
434
  end
423
435
 
424
436
  # Creates a new room
@@ -440,7 +452,29 @@ module MatrixSdk::Protocols::CS
440
452
  content[:invite] = [params.delete(:invite)].flatten if params[:invite]
441
453
  content.merge! params
442
454
 
443
- request(:post, :client_r0, '/createRoom', body: content, query: query)
455
+ request(:post, client_api_latest, '/createRoom', body: content, query: query)
456
+ end
457
+
458
+ # Knock on a room
459
+ #
460
+ # @param id_or_alias [MXID,String] The room ID or Alias to knock
461
+ # @param reason [String] A reason for the knock, will be attached to the membership data
462
+ # @param server_name [String[]] A list of servers to perform the join through
463
+ # @param params [Hash] Extra room knock options
464
+ # @return [Response] A response hash with at least the parameter :room_id
465
+ # @see https://spec.matrix.org/v1.1/client-server-api/#knocking-on-rooms
466
+ # The Matrix Spec, for more information about the call and response
467
+ def knock_room(id_or_alias, reason: nil, server_name: nil, **params)
468
+ query = {}
469
+ query[:server_name] = server_name if server_name
470
+ query[:user_id] = params.delete(:user_id) if protocol?(:AS) && params.key?(:user_id)
471
+
472
+ content = {}
473
+ content[:reason] = reason if reason
474
+
475
+ id_or_alias = ERB::Util.url_encode id_or_alias.to_s
476
+
477
+ request(:post, client_api_latest, "/knock/#{id_or_alias}", body: content, query: query)
444
478
  end
445
479
 
446
480
  # Joins a room
@@ -451,17 +485,17 @@ module MatrixSdk::Protocols::CS
451
485
  # @see https://matrix.org/docs/spec/client_server/latest.html#post-matrix-client-r0-join-roomidoralias
452
486
  # The Matrix Spec, for more information about the call and response
453
487
  # @todo Add support for 3rd-party signed objects
454
- def join_room(id_or_alias, **params)
488
+ def join_room(id_or_alias, reason: nil, **params)
455
489
  query = {}
456
490
  query[:server_name] = params[:server_name] if params[:server_name]
457
491
  query[:user_id] = params.delete(:user_id) if protocol?(:AS) && params.key?(:user_id)
458
492
 
459
- # id_or_alias = MXID.new id_or_alias.to_s unless id_or_alias.is_a? MXID
460
- # raise ArgumentError, 'Not a room ID or alias' unless id_or_alias.room?
493
+ content = {}
494
+ content[:reason] = reason if reason
461
495
 
462
496
  id_or_alias = ERB::Util.url_encode id_or_alias.to_s
463
497
 
464
- request(:post, :client_r0, "/join/#{id_or_alias}", query: query)
498
+ request(:post, client_api_latest, "/join/#{id_or_alias}", body: content, query: query)
465
499
  end
466
500
 
467
501
  # Sends a state event to a room
@@ -482,7 +516,7 @@ module MatrixSdk::Protocols::CS
482
516
  event_type = ERB::Util.url_encode event_type.to_s
483
517
  state_key = ERB::Util.url_encode params[:state_key].to_s if params.key? :state_key
484
518
 
485
- request(:put, :client_r0, "/rooms/#{room_id}/state/#{event_type}#{"/#{state_key}" unless state_key.nil?}", body: content, query: query)
519
+ request(:put, client_api_latest, "/rooms/#{room_id}/state/#{event_type}#{"/#{state_key}" unless state_key.nil?}", body: content, query: query)
486
520
  end
487
521
 
488
522
  # Sends a message event to a room
@@ -505,7 +539,7 @@ module MatrixSdk::Protocols::CS
505
539
  event_type = ERB::Util.url_encode event_type.to_s
506
540
  txn_id = ERB::Util.url_encode txn_id.to_s
507
541
 
508
- request(:put, :client_r0, "/rooms/#{room_id}/send/#{event_type}/#{txn_id}", body: content, query: query)
542
+ request(:put, client_api_latest, "/rooms/#{room_id}/send/#{event_type}/#{txn_id}", body: content, query: query)
509
543
  end
510
544
 
511
545
  # Redact an event in a room
@@ -531,7 +565,7 @@ module MatrixSdk::Protocols::CS
531
565
  event_id = ERB::Util.url_encode event_id.to_s
532
566
  txn_id = ERB::Util.url_encode txn_id.to_s
533
567
 
534
- request(:put, :client_r0, "/rooms/#{room_id}/redact/#{event_id}/#{txn_id}", body: content, query: query)
568
+ request(:put, client_api_latest, "/rooms/#{room_id}/redact/#{event_id}/#{txn_id}", body: content, query: query)
535
569
  end
536
570
 
537
571
  # Send a content message to a room
@@ -584,7 +618,7 @@ module MatrixSdk::Protocols::CS
584
618
  }
585
619
  content.merge!(params.fetch(:extra_content)) if params.key? :extra_content
586
620
 
587
- send_message_event(room_id, 'm.room.message', content, params)
621
+ send_message_event(room_id, 'm.room.message', content, **params)
588
622
  end
589
623
 
590
624
  # Send a geographic location to a room
@@ -610,7 +644,7 @@ module MatrixSdk::Protocols::CS
610
644
  content[:info][:thumbnail_url] = params.delete(:thumbnail_url) if params.key? :thumbnail_url
611
645
  content[:info][:thumbnail_info] = params.delete(:thumbnail_info) if params.key? :thumbnail_info
612
646
 
613
- send_message_event(room_id, 'm.room.message', content, params)
647
+ send_message_event(room_id, 'm.room.message', content, **params)
614
648
  end
615
649
 
616
650
  # Send a plaintext message to a room
@@ -628,7 +662,7 @@ module MatrixSdk::Protocols::CS
628
662
  msgtype: params.delete(:msg_type) { 'm.text' },
629
663
  body: message
630
664
  }
631
- send_message_event(room_id, 'm.room.message', content, params)
665
+ send_message_event(room_id, 'm.room.message', content, **params)
632
666
  end
633
667
 
634
668
  # Send a plaintext emote to a room
@@ -646,7 +680,7 @@ module MatrixSdk::Protocols::CS
646
680
  msgtype: params.delete(:msg_type) { 'm.emote' },
647
681
  body: emote
648
682
  }
649
- send_message_event(room_id, 'm.room.message', content, params)
683
+ send_message_event(room_id, 'm.room.message', content, **params)
650
684
  end
651
685
 
652
686
  # Send a plaintext notice to a room
@@ -664,7 +698,7 @@ module MatrixSdk::Protocols::CS
664
698
  msgtype: params.delete(:msg_type) { 'm.notice' },
665
699
  body: notice
666
700
  }
667
- send_message_event(room_id, 'm.room.message', content, params)
701
+ send_message_event(room_id, 'm.room.message', content, **params)
668
702
  end
669
703
 
670
704
  # Report an event in a room
@@ -687,7 +721,7 @@ module MatrixSdk::Protocols::CS
687
721
  room_id = ERB::Util.url_encode room_id.to_s
688
722
  event_id = ERB::Util.url_encode event_id.to_s
689
723
 
690
- request(:post, :client_r0, "/rooms/#{room_id}/report/#{event_id}", body: body, query: query)
724
+ request(:post, client_api_latest, "/rooms/#{room_id}/report/#{event_id}", body: body, query: query)
691
725
  end
692
726
 
693
727
  # Retrieve additional messages in a room
@@ -702,7 +736,7 @@ module MatrixSdk::Protocols::CS
702
736
  # @return [Response] A response hash with the message information containing :start, :end, and :chunk fields
703
737
  # @see https://matrix.org/docs/spec/client_server/latest.html#get-matrix-client-r0-rooms-roomid-messages
704
738
  # The Matrix Spec, for more information about the call and response
705
- def get_room_messages(room_id, token, direction, limit: 10, **params)
739
+ def get_room_messages(room_id, token, direction:, limit: 10, **params)
706
740
  query = {
707
741
  from: token,
708
742
  dir: direction,
@@ -714,7 +748,7 @@ module MatrixSdk::Protocols::CS
714
748
 
715
749
  room_id = ERB::Util.url_encode room_id.to_s
716
750
 
717
- request(:get, :client_r0, "/rooms/#{room_id}/messages", query: query)
751
+ request(:get, client_api_latest, "/rooms/#{room_id}/messages", query: query)
718
752
  end
719
753
 
720
754
  # Gets a specific event from a room
@@ -731,7 +765,7 @@ module MatrixSdk::Protocols::CS
731
765
  room_id = ERB::Util.url_encode room_id.to_s
732
766
  event_id = ERB::Util.url_encode event_id.to_s
733
767
 
734
- request(:get, :client_r0, "/rooms/#{room_id}/event/#{event_id}", query: query)
768
+ request(:get, client_api_latest, "/rooms/#{room_id}/event/#{event_id}", query: query)
735
769
  end
736
770
 
737
771
  # Reads the latest instance of a room state event
@@ -749,7 +783,7 @@ module MatrixSdk::Protocols::CS
749
783
  state_type = ERB::Util.url_encode state_type.to_s
750
784
  key = ERB::Util.url_encode key.to_s
751
785
 
752
- request(:get, :client_r0, "/rooms/#{room_id}/state/#{state_type}#{key.empty? ? nil : "/#{key}"}", query: query)
786
+ request(:get, client_api_latest, "/rooms/#{room_id}/state/#{state_type}#{key.empty? ? nil : "/#{key}"}", query: query)
753
787
  end
754
788
 
755
789
  # Retrieves all current state objects from a room
@@ -764,7 +798,31 @@ module MatrixSdk::Protocols::CS
764
798
 
765
799
  room_id = ERB::Util.url_encode room_id.to_s
766
800
 
767
- request(:get, :client_r0, "/rooms/#{room_id}/state", query: query)
801
+ request(:get, client_api_latest, "/rooms/#{room_id}/state", query: query)
802
+ end
803
+
804
+ # Retrieves number of events that happened just before and after the specified event
805
+ #
806
+ # @param room_id [MXID,String] The room to get events from.
807
+ # @param event_id [MXID,String] The event to get context around.
808
+ # @option params [Integer] :limit (10) The limit of messages to retrieve
809
+ # @option params [String] :filter A filter to limit the retrieval to
810
+ # @return [Response] A response hash with contextual event information
811
+ # @see https://matrix.org/docs/spec/client_server/r0.6.1#get-matrix-client-r0-rooms-roomid-context-eventid
812
+ # The Matrix Spec, for more information about the call and response
813
+ # @example Find event context with filter and limit specified
814
+ # api.get_room_event_context('#room:example.com', '$event_id:example.com', filter: { types: ['m.room.message'] }.to_json, limit: 20)
815
+ def get_room_event_context(room_id, event_id, **params)
816
+ query = {}
817
+ query[:user_id] = params.delete(:user_id) if protocol?(:AS) && params.key?(:user_id)
818
+
819
+ query[:limit] = params.fetch(:limit) if params.key? :limit
820
+ query[:filter] = params.fetch(:filter) if params.key? :filter
821
+
822
+ room_id = ERB::Util.url_encode room_id.to_s
823
+ event_id = ERB::Util.url_encode event_id.to_s
824
+
825
+ request(:get, client_api_latest, "/rooms/#{room_id}/context/#{event_id}", query: query)
768
826
  end
769
827
 
770
828
  ## Specialized getters for specced state
@@ -780,7 +838,7 @@ module MatrixSdk::Protocols::CS
780
838
  # @see https://matrix.org/docs/spec/client_server/latest.html#m-room-name
781
839
  # The Matrix Spec, for more information about the event and data
782
840
  def get_room_name(room_id, **params)
783
- get_room_state(room_id, 'm.room.name', params)
841
+ get_room_state(room_id, 'm.room.name', **params)
784
842
  end
785
843
 
786
844
  # Sets the display name of a room
@@ -795,7 +853,7 @@ module MatrixSdk::Protocols::CS
795
853
  content = {
796
854
  name: name
797
855
  }
798
- send_state_event(room_id, 'm.room.name', content, params)
856
+ send_state_event(room_id, 'm.room.name', content, **params)
799
857
  end
800
858
 
801
859
  # Gets the current topic of a room
@@ -808,7 +866,7 @@ module MatrixSdk::Protocols::CS
808
866
  # @see https://matrix.org/docs/spec/client_server/latest.html#m-room-topic
809
867
  # The Matrix Spec, for more information about the event and data
810
868
  def get_room_topic(room_id, **params)
811
- get_room_state(room_id, 'm.room.topic', params)
869
+ get_room_state(room_id, 'm.room.topic', **params)
812
870
  end
813
871
 
814
872
  # Sets the topic of a room
@@ -823,7 +881,7 @@ module MatrixSdk::Protocols::CS
823
881
  content = {
824
882
  topic: topic
825
883
  }
826
- send_state_event(room_id, 'm.room.topic', content, params)
884
+ send_state_event(room_id, 'm.room.topic', content, **params)
827
885
  end
828
886
 
829
887
  # Gets the current avatar URL of a room
@@ -836,7 +894,7 @@ module MatrixSdk::Protocols::CS
836
894
  # @see https://matrix.org/docs/spec/client_server/latest.html#m-room-avatar
837
895
  # The Matrix Spec, for more information about the event and data
838
896
  def get_room_avatar(room_id, **params)
839
- get_room_state(room_id, 'm.room.avatar', params)
897
+ get_room_state(room_id, 'm.room.avatar', **params)
840
898
  end
841
899
 
842
900
  # Sets the avatar URL for a room
@@ -851,7 +909,7 @@ module MatrixSdk::Protocols::CS
851
909
  content = {
852
910
  url: url
853
911
  }
854
- send_state_event(room_id, 'm.room.avatar', content, params)
912
+ send_state_event(room_id, 'm.room.avatar', content, **params)
855
913
  end
856
914
 
857
915
  # Gets a list of current aliases of a room
@@ -878,7 +936,7 @@ module MatrixSdk::Protocols::CS
878
936
  # .compact
879
937
  # # => ["#synapse:im.kabi.tk", "#synapse:matrix.org", "#synapse-community:matrix.org", "#synapse-ops:matrix.org", "#synops:matrix.org", ...
880
938
  def get_room_aliases(room_id, **params)
881
- get_room_state(room_id, 'm.room.aliases', params)
939
+ get_room_state(room_id, 'm.room.aliases', **params)
882
940
  end
883
941
 
884
942
  # Gets a list of pinned events in a room
@@ -891,7 +949,7 @@ module MatrixSdk::Protocols::CS
891
949
  # @see https://matrix.org/docs/spec/client_server/latest.html#m-room-pinned-events
892
950
  # The Matrix Spec, for more information about the event and data
893
951
  def get_room_pinned_events(room_id, **params)
894
- get_room_state(room_id, 'm.room.pinned_events', params)
952
+ get_room_state(room_id, 'm.room.pinned_events', **params)
895
953
  end
896
954
 
897
955
  # Sets the list of pinned events in a room
@@ -906,7 +964,7 @@ module MatrixSdk::Protocols::CS
906
964
  content = {
907
965
  pinned: events
908
966
  }
909
- send_state_event(room_id, 'm.room.pinned_events', content, params)
967
+ send_state_event(room_id, 'm.room.pinned_events', content, **params)
910
968
  end
911
969
 
912
970
  # Gets the configured power levels for a room
@@ -918,7 +976,7 @@ module MatrixSdk::Protocols::CS
918
976
  # @see https://matrix.org/docs/spec/client_server/latest.html#m-room-power-levels
919
977
  # The Matrix Spec, for more information about the event and data
920
978
  def get_room_power_levels(room_id, **params)
921
- get_room_state(room_id, 'm.room.power_levels', params)
979
+ get_room_state(room_id, 'm.room.power_levels', **params)
922
980
  end
923
981
  alias get_power_levels get_room_power_levels
924
982
 
@@ -932,7 +990,7 @@ module MatrixSdk::Protocols::CS
932
990
  # The Matrix Spec, for more information about the event and data
933
991
  def set_room_power_levels(room_id, content, **params)
934
992
  content[:events] = {} unless content.key? :events
935
- send_state_event(room_id, 'm.room.power_levels', content, params)
993
+ send_state_event(room_id, 'm.room.power_levels', content, **params)
936
994
  end
937
995
  alias set_power_levels set_room_power_levels
938
996
 
@@ -945,7 +1003,7 @@ module MatrixSdk::Protocols::CS
945
1003
  # @see https://matrix.org/docs/spec/client_server/latest.html#m-room-join-rules
946
1004
  # The Matrix Spec, for more information about the event and data
947
1005
  def get_room_join_rules(room_id, **params)
948
- get_room_state(room_id, 'm.room.join_rules', params)
1006
+ get_room_state(room_id, 'm.room.join_rules', **params)
949
1007
  end
950
1008
 
951
1009
  # Sets the join rules for a room
@@ -961,7 +1019,7 @@ module MatrixSdk::Protocols::CS
961
1019
  join_rule: join_rule
962
1020
  }
963
1021
 
964
- send_state_event(room_id, 'm.room.join_rules', content, params)
1022
+ send_state_event(room_id, 'm.room.join_rules', content, **params)
965
1023
  end
966
1024
 
967
1025
  # Gets the guest access settings for a room
@@ -973,7 +1031,7 @@ module MatrixSdk::Protocols::CS
973
1031
  # @see https://matrix.org/docs/spec/client_server/latest.html#m-room-guest-access
974
1032
  # The Matrix Spec, for more information about the event and data
975
1033
  def get_room_guest_access(room_id, **params)
976
- get_room_state(room_id, 'm.room.guest_access', params)
1034
+ get_room_state(room_id, 'm.room.guest_access', **params)
977
1035
  end
978
1036
 
979
1037
  # Sets the guest access settings for a room
@@ -989,7 +1047,7 @@ module MatrixSdk::Protocols::CS
989
1047
  guest_access: guest_access
990
1048
  }
991
1049
 
992
- send_state_event(room_id, 'm.room.guest_access', content, params)
1050
+ send_state_event(room_id, 'm.room.guest_access', content, **params)
993
1051
  end
994
1052
 
995
1053
  # Gets the creation configuration object for a room
@@ -1001,7 +1059,7 @@ module MatrixSdk::Protocols::CS
1001
1059
  # @see https://matrix.org/docs/spec/client_server/latest.html#m-room-create
1002
1060
  # The Matrix Spec, for more information about the event and data
1003
1061
  def get_room_creation_info(room_id, **params)
1004
- get_room_state(room_id, 'm.room.create', params)
1062
+ get_room_state(room_id, 'm.room.create', **params)
1005
1063
  end
1006
1064
 
1007
1065
  # Gets the encryption configuration for a room
@@ -1013,7 +1071,7 @@ module MatrixSdk::Protocols::CS
1013
1071
  # @see https://matrix.org/docs/spec/client_server/latest.html#m-room-encryption
1014
1072
  # The Matrix Spec, for more information about the event and data
1015
1073
  def get_room_encryption_settings(room_id, **params)
1016
- get_room_state(room_id, 'm.room.encryption', params)
1074
+ get_room_state(room_id, 'm.room.encryption', **params)
1017
1075
  end
1018
1076
 
1019
1077
  # Sets the encryption configuration for a room
@@ -1032,7 +1090,7 @@ module MatrixSdk::Protocols::CS
1032
1090
  rotation_period_ms: rotation_period_ms,
1033
1091
  rotation_period_msgs: rotation_period_msgs
1034
1092
  }
1035
- send_state_event(room_id, 'm.room.encryption', content, params)
1093
+ send_state_event(room_id, 'm.room.encryption', content, **params)
1036
1094
  end
1037
1095
 
1038
1096
  # Gets the history availabiilty for a room
@@ -1044,7 +1102,7 @@ module MatrixSdk::Protocols::CS
1044
1102
  # @see https://matrix.org/docs/spec/client_server/latest.html#m-room-history-visibility
1045
1103
  # The Matrix Spec, for more information about the event and data
1046
1104
  def get_room_history_visibility(room_id, **params)
1047
- get_room_state(room_id, 'm.room.history_visibility', params)
1105
+ get_room_state(room_id, 'm.room.history_visibility', **params)
1048
1106
  end
1049
1107
 
1050
1108
  # Sets the history availability for a room
@@ -1060,7 +1118,7 @@ module MatrixSdk::Protocols::CS
1060
1118
  history_visibility: visibility
1061
1119
  }
1062
1120
 
1063
- send_state_event(room_id, 'm.room.history_visibility', content, params)
1121
+ send_state_event(room_id, 'm.room.history_visibility', content, **params)
1064
1122
  end
1065
1123
 
1066
1124
  # Gets the server ACLs for a room
@@ -1072,7 +1130,7 @@ module MatrixSdk::Protocols::CS
1072
1130
  # @see https://matrix.org/docs/spec/client_server/latest.html#m-room-server-acl
1073
1131
  # The Matrix Spec, for more information about the event and data
1074
1132
  def get_room_server_acl(room_id, **params)
1075
- get_room_state(room_id, 'm.room.server_acl', params)
1133
+ get_room_state(room_id, 'm.room.server_acl', **params)
1076
1134
  end
1077
1135
 
1078
1136
  # Sets the server ACL configuration for a room
@@ -1085,14 +1143,14 @@ module MatrixSdk::Protocols::CS
1085
1143
  # @return [Response] The resulting state event
1086
1144
  # @see https://matrix.org/docs/spec/client_server/latest.html#m-room-guest-server-acl
1087
1145
  # The Matrix Spec, for more information about the event and data
1088
- def set_room_server_acl(room_id, allow_ip_literals: false, allow:, deny:, **params)
1146
+ def set_room_server_acl(room_id, allow:, deny:, allow_ip_literals: false, **params)
1089
1147
  content = {
1090
1148
  allow_ip_literals: allow_ip_literals,
1091
1149
  allow: allow,
1092
1150
  deny: deny
1093
1151
  }
1094
1152
 
1095
- send_state_event(room_id, 'm.room.server_acl', content, params)
1153
+ send_state_event(room_id, 'm.room.server_acl', content, **params)
1096
1154
  end
1097
1155
 
1098
1156
  def leave_room(room_id, **params)
@@ -1101,7 +1159,7 @@ module MatrixSdk::Protocols::CS
1101
1159
 
1102
1160
  room_id = ERB::Util.url_encode room_id.to_s
1103
1161
 
1104
- request(:post, :client_r0, "/rooms/#{room_id}/leave", query: query)
1162
+ request(:post, client_api_latest, "/rooms/#{room_id}/leave", query: query)
1105
1163
  end
1106
1164
 
1107
1165
  def forget_room(room_id, **params)
@@ -1110,7 +1168,7 @@ module MatrixSdk::Protocols::CS
1110
1168
 
1111
1169
  room_id = ERB::Util.url_encode room_id.to_s
1112
1170
 
1113
- request(:post, :client_r0, "/rooms/#{room_id}/forget", query: query)
1171
+ request(:post, client_api_latest, "/rooms/#{room_id}/forget", query: query)
1114
1172
  end
1115
1173
 
1116
1174
  # Directly joins a room by ID
@@ -1130,7 +1188,7 @@ module MatrixSdk::Protocols::CS
1130
1188
 
1131
1189
  room_id = ERB::Util.url_encode room_id.to_s
1132
1190
 
1133
- request(:post, :client_r0, "/rooms/#{room_id}/join", body: body, query: query)
1191
+ request(:post, client_api_latest, "/rooms/#{room_id}/join", body: body, query: query)
1134
1192
  end
1135
1193
 
1136
1194
  def invite_user(room_id, user_id, **params)
@@ -1143,7 +1201,7 @@ module MatrixSdk::Protocols::CS
1143
1201
 
1144
1202
  room_id = ERB::Util.url_encode room_id.to_s
1145
1203
 
1146
- request(:post, :client_r0, "/rooms/#{room_id}/invite", body: content, query: query)
1204
+ request(:post, client_api_latest, "/rooms/#{room_id}/invite", body: content, query: query)
1147
1205
  end
1148
1206
 
1149
1207
  def kick_user(room_id, user_id, reason: '', **params)
@@ -1156,7 +1214,7 @@ module MatrixSdk::Protocols::CS
1156
1214
  }
1157
1215
  room_id = ERB::Util.url_encode room_id.to_s
1158
1216
 
1159
- request(:post, :client_r0, "/rooms/#{room_id}/kick", body: content, query: query)
1217
+ request(:post, client_api_latest, "/rooms/#{room_id}/kick", body: content, query: query)
1160
1218
  end
1161
1219
 
1162
1220
  def get_membership(room_id, user_id, **params)
@@ -1166,7 +1224,7 @@ module MatrixSdk::Protocols::CS
1166
1224
  room_id = ERB::Util.url_encode room_id.to_s
1167
1225
  user_id = ERB::Util.url_encode user_id.to_s
1168
1226
 
1169
- request(:get, :client_r0, "/rooms/#{room_id}/state/m.room.member/#{user_id}", query: query)
1227
+ request(:get, client_api_latest, "/rooms/#{room_id}/state/m.room.member/#{user_id}", query: query)
1170
1228
  end
1171
1229
 
1172
1230
  def set_membership(room_id, user_id, membership, reason: '', **params)
@@ -1190,7 +1248,7 @@ module MatrixSdk::Protocols::CS
1190
1248
  }
1191
1249
  room_id = ERB::Util.url_encode room_id.to_s
1192
1250
 
1193
- request(:post, :client_r0, "/rooms/#{room_id}/ban", body: content, query: query)
1251
+ request(:post, client_api_latest, "/rooms/#{room_id}/ban", body: content, query: query)
1194
1252
  end
1195
1253
 
1196
1254
  def unban_user(room_id, user_id, **params)
@@ -1202,7 +1260,7 @@ module MatrixSdk::Protocols::CS
1202
1260
  }
1203
1261
  room_id = ERB::Util.url_encode room_id.to_s
1204
1262
 
1205
- request(:post, :client_r0, "/rooms/#{room_id}/unban", body: content, query: query)
1263
+ request(:post, client_api_latest, "/rooms/#{room_id}/unban", body: content, query: query)
1206
1264
  end
1207
1265
 
1208
1266
  # Gets the room directory visibility status for a room
@@ -1217,7 +1275,7 @@ module MatrixSdk::Protocols::CS
1217
1275
 
1218
1276
  room_id = ERB::Util.url_encode room_id.to_s
1219
1277
 
1220
- request(:get, :client_r0, "/directory/list/room/#{room_id}", query: query)
1278
+ request(:get, client_api_latest, "/directory/list/room/#{room_id}", query: query)
1221
1279
  end
1222
1280
 
1223
1281
  # Sets the room directory visibility status for a room
@@ -1237,7 +1295,7 @@ module MatrixSdk::Protocols::CS
1237
1295
 
1238
1296
  room_id = ERB::Util.url_encode room_id.to_s
1239
1297
 
1240
- request(:put, :client_r0, "/directory/list/room/#{room_id}", body: body, query: query)
1298
+ request(:put, client_api_latest, "/directory/list/room/#{room_id}", body: body, query: query)
1241
1299
  end
1242
1300
 
1243
1301
  def get_user_tags(user_id, room_id, **params)
@@ -1247,7 +1305,7 @@ module MatrixSdk::Protocols::CS
1247
1305
  room_id = ERB::Util.url_encode room_id.to_s
1248
1306
  user_id = ERB::Util.url_encode user_id.to_s
1249
1307
 
1250
- request(:get, :client_r0, "/user/#{user_id}/rooms/#{room_id}/tags", query: query)
1308
+ request(:get, client_api_latest, "/user/#{user_id}/rooms/#{room_id}/tags", query: query)
1251
1309
  end
1252
1310
 
1253
1311
  def remove_user_tag(user_id, room_id, tag, **params)
@@ -1258,7 +1316,7 @@ module MatrixSdk::Protocols::CS
1258
1316
  user_id = ERB::Util.url_encode user_id.to_s
1259
1317
  tag = ERB::Util.url_encode tag.to_s
1260
1318
 
1261
- request(:delete, :client_r0, "/user/#{user_id}/rooms/#{room_id}/tags/#{tag}", query: query)
1319
+ request(:delete, client_api_latest, "/user/#{user_id}/rooms/#{room_id}/tags/#{tag}", query: query)
1262
1320
  end
1263
1321
 
1264
1322
  def add_user_tag(user_id, room_id, tag, **params)
@@ -1276,7 +1334,7 @@ module MatrixSdk::Protocols::CS
1276
1334
  user_id = ERB::Util.url_encode user_id.to_s
1277
1335
  tag = ERB::Util.url_encode tag.to_s
1278
1336
 
1279
- request(:put, :client_r0, "/user/#{user_id}/rooms/#{room_id}/tags/#{tag}", body: content, query: query)
1337
+ request(:put, client_api_latest, "/user/#{user_id}/rooms/#{room_id}/tags/#{tag}", body: content, query: query)
1280
1338
  end
1281
1339
 
1282
1340
  def get_account_data(user_id, type_key, **params)
@@ -1286,7 +1344,7 @@ module MatrixSdk::Protocols::CS
1286
1344
  user_id = ERB::Util.url_encode user_id.to_s
1287
1345
  type_key = ERB::Util.url_encode type_key.to_s
1288
1346
 
1289
- request(:get, :client_r0, "/user/#{user_id}/account_data/#{type_key}", query: query)
1347
+ request(:get, client_api_latest, "/user/#{user_id}/account_data/#{type_key}", query: query)
1290
1348
  end
1291
1349
 
1292
1350
  def set_account_data(user_id, type_key, account_data, **params)
@@ -1296,7 +1354,7 @@ module MatrixSdk::Protocols::CS
1296
1354
  user_id = ERB::Util.url_encode user_id.to_s
1297
1355
  type_key = ERB::Util.url_encode type_key.to_s
1298
1356
 
1299
- request(:put, :client_r0, "/user/#{user_id}/account_data/#{type_key}", body: account_data, query: query)
1357
+ request(:put, client_api_latest, "/user/#{user_id}/account_data/#{type_key}", body: account_data, query: query)
1300
1358
  end
1301
1359
 
1302
1360
  def get_room_account_data(user_id, room_id, type_key, **params)
@@ -1307,7 +1365,7 @@ module MatrixSdk::Protocols::CS
1307
1365
  room_id = ERB::Util.url_encode room_id.to_s
1308
1366
  type_key = ERB::Util.url_encode type_key.to_s
1309
1367
 
1310
- request(:get, :client_r0, "/user/#{user_id}/rooms/#{room_id}/account_data/#{type_key}", query: query)
1368
+ request(:get, client_api_latest, "/user/#{user_id}/rooms/#{room_id}/account_data/#{type_key}", query: query)
1311
1369
  end
1312
1370
 
1313
1371
  def set_room_account_data(user_id, room_id, type_key, account_data, **params)
@@ -1318,7 +1376,7 @@ module MatrixSdk::Protocols::CS
1318
1376
  room_id = ERB::Util.url_encode room_id.to_s
1319
1377
  type_key = ERB::Util.url_encode type_key.to_s
1320
1378
 
1321
- request(:put, :client_r0, "/user/#{user_id}/rooms/#{room_id}/account_data/#{type_key}", body: account_data, query: query)
1379
+ request(:put, client_api_latest, "/user/#{user_id}/rooms/#{room_id}/account_data/#{type_key}", body: account_data, query: query)
1322
1380
  end
1323
1381
 
1324
1382
  # Retrieve user information
@@ -1330,7 +1388,7 @@ module MatrixSdk::Protocols::CS
1330
1388
  def whois(user_id)
1331
1389
  user_id = ERB::Util.url_encode user_id.to_s
1332
1390
 
1333
- request(:get, :client_r0, "/admin/whois/#{user_id}")
1391
+ request(:get, client_api_latest, "/admin/whois/#{user_id}")
1334
1392
  end
1335
1393
 
1336
1394
  def get_filter(user_id, filter_id, **params)
@@ -1340,7 +1398,7 @@ module MatrixSdk::Protocols::CS
1340
1398
  user_id = ERB::Util.url_encode user_id.to_s
1341
1399
  filter_id = ERB::Util.url_encode filter_id.to_s
1342
1400
 
1343
- request(:get, :client_r0, "/user/#{user_id}/filter/#{filter_id}", query: query)
1401
+ request(:get, client_api_latest, "/user/#{user_id}/filter/#{filter_id}", query: query)
1344
1402
  end
1345
1403
 
1346
1404
  # Creates a filter for future use
@@ -1353,7 +1411,7 @@ module MatrixSdk::Protocols::CS
1353
1411
 
1354
1412
  user_id = ERB::Util.url_encode user_id.to_s
1355
1413
 
1356
- request(:post, :client_r0, "/user/#{user_id}/filter", body: filter_params, query: query)
1414
+ request(:post, client_api_latest, "/user/#{user_id}/filter", body: filter_params, query: query)
1357
1415
  end
1358
1416
 
1359
1417
  def media_upload(content, content_type, **params)
@@ -1369,7 +1427,7 @@ module MatrixSdk::Protocols::CS
1369
1427
 
1370
1428
  user_id = ERB::Util.url_encode user_id.to_s
1371
1429
 
1372
- request(:get, :client_r0, "/profile/#{user_id}/displayname", query: query)
1430
+ request(:get, client_api_latest, "/profile/#{user_id}/displayname", query: query)
1373
1431
  end
1374
1432
 
1375
1433
  def set_display_name(user_id, display_name, **params)
@@ -1382,7 +1440,7 @@ module MatrixSdk::Protocols::CS
1382
1440
 
1383
1441
  user_id = ERB::Util.url_encode user_id.to_s
1384
1442
 
1385
- request(:put, :client_r0, "/profile/#{user_id}/displayname", body: content, query: query)
1443
+ request(:put, client_api_latest, "/profile/#{user_id}/displayname", body: content, query: query)
1386
1444
  end
1387
1445
 
1388
1446
  def get_avatar_url(user_id, **params)
@@ -1391,7 +1449,7 @@ module MatrixSdk::Protocols::CS
1391
1449
 
1392
1450
  user_id = ERB::Util.url_encode user_id.to_s
1393
1451
 
1394
- request(:get, :client_r0, "/profile/#{user_id}/avatar_url", query: query)
1452
+ request(:get, client_api_latest, "/profile/#{user_id}/avatar_url", query: query)
1395
1453
  end
1396
1454
 
1397
1455
  # Sets the avatar URL for a user
@@ -1411,7 +1469,7 @@ module MatrixSdk::Protocols::CS
1411
1469
  # api.set_avatar_url(api.whoami?[:user_id], mxc)
1412
1470
  #
1413
1471
  # @param [String,MXID] user_id The ID of the user to set the avatar for
1414
- # @param [String,URI::MATRIX] url The new avatar URL, should be a mxc:// URL
1472
+ # @param [String,URI::MXC] url The new avatar URL, should be a mxc:// URL
1415
1473
  # @return [Response] An empty response hash if the change was successful
1416
1474
  # @see https://matrix.org/docs/spec/client_server/latest#put-matrix-client-r0-profile-userid-avatar-url
1417
1475
  # The Matrix Spec, for more information about the event and data
@@ -1425,7 +1483,7 @@ module MatrixSdk::Protocols::CS
1425
1483
 
1426
1484
  user_id = ERB::Util.url_encode user_id.to_s
1427
1485
 
1428
- request(:put, :client_r0, "/profile/#{user_id}/avatar_url", body: content, query: query)
1486
+ request(:put, client_api_latest, "/profile/#{user_id}/avatar_url", body: content, query: query)
1429
1487
  end
1430
1488
 
1431
1489
  # Gets the combined profile object of a user.
@@ -1442,7 +1500,7 @@ module MatrixSdk::Protocols::CS
1442
1500
 
1443
1501
  user_id = ERB::Util.url_encode user_id.to_s
1444
1502
 
1445
- request(:get, :client_r0, "/profile/#{user_id}", query: query)
1503
+ request(:get, client_api_latest, "/profile/#{user_id}", query: query)
1446
1504
  end
1447
1505
 
1448
1506
  # Gets TURN server connection information and credentials
@@ -1451,7 +1509,7 @@ module MatrixSdk::Protocols::CS
1451
1509
  # @see https://matrix.org/docs/spec/client_server/latest#get-matrix-client-r0-voip-turnserver
1452
1510
  # The Matrix Spec, for more information about the event and data
1453
1511
  def get_turn_server
1454
- request(:get, :client_r0, '/voip/turnServer')
1512
+ request(:get, client_api_latest, '/voip/turnServer')
1455
1513
  end
1456
1514
 
1457
1515
  # Sets the typing status for a user
@@ -1472,7 +1530,7 @@ module MatrixSdk::Protocols::CS
1472
1530
  timeout: timeout ? timeout * 1000 : nil
1473
1531
  }.compact
1474
1532
 
1475
- request(:put, :client_r0, "/rooms/#{room_id}/typing/#{user_id}", body: body)
1533
+ request(:put, client_api_latest, "/rooms/#{room_id}/typing/#{user_id}", body: body)
1476
1534
  end
1477
1535
 
1478
1536
  # Gets the presence status of a user
@@ -1484,7 +1542,7 @@ module MatrixSdk::Protocols::CS
1484
1542
  def get_presence_status(user_id)
1485
1543
  user_id = ERB::Util.url_encode user_id.to_s
1486
1544
 
1487
- request(:get, :client_r0, "/presence/#{user_id}/status")
1545
+ request(:get, client_api_latest, "/presence/#{user_id}/status")
1488
1546
  end
1489
1547
 
1490
1548
  # Sets the presence status of a user
@@ -1504,7 +1562,7 @@ module MatrixSdk::Protocols::CS
1504
1562
  status_msg: message
1505
1563
  }.compact
1506
1564
 
1507
- request(:put, :client_r0, "/presence/#{user_id}/status", body: body)
1565
+ request(:put, client_api_latest, "/presence/#{user_id}/status", body: body)
1508
1566
  end
1509
1567
 
1510
1568
  # Converts a Matrix content URL (mxc://) to a media download URL
@@ -1521,7 +1579,7 @@ module MatrixSdk::Protocols::CS
1521
1579
  # # => #<URI::HTTPS https://matrix.org/_matrix/media/r0/download/example.com/media_hash>
1522
1580
  def get_download_url(mxcurl, source: nil, **_params)
1523
1581
  mxcurl = URI.parse(mxcurl.to_s) unless mxcurl.is_a? URI
1524
- raise 'Not a mxc:// URL' unless mxcurl.is_a? URI::MATRIX
1582
+ raise 'Not a mxc:// URL' unless mxcurl.is_a? URI::MXC
1525
1583
 
1526
1584
  if source
1527
1585
  source = "https://#{source}" unless source.include? '://'
@@ -1581,7 +1639,7 @@ module MatrixSdk::Protocols::CS
1581
1639
  messages: messages
1582
1640
  }.compact
1583
1641
 
1584
- request(:put, :client_r0, "/sendToDevice/#{event_type}/#{txn_id}", body: body)
1642
+ request(:put, client_api_latest, "/sendToDevice/#{event_type}/#{txn_id}", body: body)
1585
1643
  end
1586
1644
 
1587
1645
  # Gets the room ID for an alias
@@ -1594,7 +1652,7 @@ module MatrixSdk::Protocols::CS
1594
1652
 
1595
1653
  room_alias = ERB::Util.url_encode room_alias.to_s
1596
1654
 
1597
- request(:get, :client_r0, "/directory/room/#{room_alias}", query: query)
1655
+ request(:get, client_api_latest, "/directory/room/#{room_alias}", query: query)
1598
1656
  end
1599
1657
 
1600
1658
  # Sets the room ID for an alias
@@ -1611,7 +1669,7 @@ module MatrixSdk::Protocols::CS
1611
1669
  }
1612
1670
  room_alias = ERB::Util.url_encode room_alias.to_s
1613
1671
 
1614
- request(:put, :client_r0, "/directory/room/#{room_alias}", body: content, query: query)
1672
+ request(:put, client_api_latest, "/directory/room/#{room_alias}", body: content, query: query)
1615
1673
  end
1616
1674
 
1617
1675
  # Remove an alias from its room
@@ -1623,7 +1681,7 @@ module MatrixSdk::Protocols::CS
1623
1681
 
1624
1682
  room_alias = ERB::Util.url_encode room_alias.to_s
1625
1683
 
1626
- request(:delete, :client_r0, "/directory/room/#{room_alias}", query: query)
1684
+ request(:delete, client_api_latest, "/directory/room/#{room_alias}", query: query)
1627
1685
  end
1628
1686
 
1629
1687
  # Gets a list of all the members in a room
@@ -1637,7 +1695,7 @@ module MatrixSdk::Protocols::CS
1637
1695
 
1638
1696
  room_id = ERB::Util.url_encode room_id.to_s
1639
1697
 
1640
- request(:get, :client_r0, "/rooms/#{room_id}/members", query: query.merge(params))
1698
+ request(:get, client_api_latest, "/rooms/#{room_id}/members", query: query.merge(params))
1641
1699
  end
1642
1700
 
1643
1701
  # Gets a list of the joined members in a room
@@ -1652,7 +1710,7 @@ module MatrixSdk::Protocols::CS
1652
1710
 
1653
1711
  room_id = ERB::Util.url_encode room_id.to_s
1654
1712
 
1655
- request(:get, :client_r0, "/rooms/#{room_id}/joined_members", query: query)
1713
+ request(:get, client_api_latest, "/rooms/#{room_id}/joined_members", query: query)
1656
1714
  end
1657
1715
 
1658
1716
  # Gets a list of the current users registered devices
@@ -1660,7 +1718,7 @@ module MatrixSdk::Protocols::CS
1660
1718
  # @see https://matrix.org/docs/spec/client_server/latest#get-matrix-client-r0-devices
1661
1719
  # The Matrix Spec, for more information about the data
1662
1720
  def get_devices
1663
- request(:get, :client_r0, '/devices')
1721
+ request(:get, client_api_latest, '/devices')
1664
1722
  end
1665
1723
 
1666
1724
  # Gets the information about a certain client device
@@ -1671,7 +1729,7 @@ module MatrixSdk::Protocols::CS
1671
1729
  def get_device(device_id)
1672
1730
  device_id = ERB::Util.url_encode device_id.to_s
1673
1731
 
1674
- request(:get, :client_r0, "/devices/#{device_id}")
1732
+ request(:get, client_api_latest, "/devices/#{device_id}")
1675
1733
  end
1676
1734
 
1677
1735
  # Sets the metadata for a device
@@ -1682,7 +1740,7 @@ module MatrixSdk::Protocols::CS
1682
1740
  def set_device(device_id, display_name:)
1683
1741
  device_id = ERB::Util.url_encode device_id.to_s
1684
1742
 
1685
- request(:put, :client_r0, "/devices/#{device_id}", body: { display_name: display_name })
1743
+ request(:put, client_api_latest, "/devices/#{device_id}", body: { display_name: display_name })
1686
1744
  end
1687
1745
 
1688
1746
  # Removes a device from the current user
@@ -1695,7 +1753,7 @@ module MatrixSdk::Protocols::CS
1695
1753
  def delete_device(device_id, auth:)
1696
1754
  device_id = ERB::Util.url_encode device_id.to_s
1697
1755
 
1698
- request(:delete, :client_r0, "/devices/#{device_id}", body: { auth: auth })
1756
+ request(:delete, client_api_latest, "/devices/#{device_id}", body: { auth: auth })
1699
1757
  end
1700
1758
 
1701
1759
  # Run a query for device keys
@@ -1712,7 +1770,7 @@ module MatrixSdk::Protocols::CS
1712
1770
  # # => { :device_keys => { :'@alice:example.com' => { :ABCDEFGHIJ => { ...
1713
1771
  # @see https://matrix.org/docs/spec/client_server/latest#post-matrix-client-r0-keys-query
1714
1772
  # The Matrix Spec, for more information about the parameters and data
1715
- def keys_query(timeout: nil, device_keys:, token: nil, **params)
1773
+ def keys_query(device_keys:, timeout: nil, token: nil, **params)
1716
1774
  body = {
1717
1775
  timeout: (timeout || 10) * 1000,
1718
1776
  device_keys: device_keys
@@ -1720,7 +1778,7 @@ module MatrixSdk::Protocols::CS
1720
1778
  body[:timeout] = params[:timeout_ms] if params.key? :timeout_ms
1721
1779
  body[:token] = token if token
1722
1780
 
1723
- request(:post, :client_r0, '/keys/query', body: body)
1781
+ request(:post, client_api_latest, '/keys/query', body: body)
1724
1782
  end
1725
1783
 
1726
1784
  # Claim one-time keys for pre-key messaging
@@ -1735,7 +1793,7 @@ module MatrixSdk::Protocols::CS
1735
1793
  one_time_keys: one_time_keys,
1736
1794
  timeout: timeout * 1000
1737
1795
  }
1738
- request(:post, :client_r0, '/keys/claim', body: body)
1796
+ request(:post, client_api_latest, '/keys/claim', body: body)
1739
1797
  end
1740
1798
 
1741
1799
  # Retrieve device key changes between two sync requests
@@ -1751,7 +1809,7 @@ module MatrixSdk::Protocols::CS
1751
1809
  to: to
1752
1810
  }
1753
1811
 
1754
- request(:get, :client_r0, '/keys/changes', query: query)
1812
+ request(:get, client_api_latest, '/keys/changes', query: query)
1755
1813
  end
1756
1814
 
1757
1815
  # Gets the list of registered pushers for the current user
@@ -1760,7 +1818,7 @@ module MatrixSdk::Protocols::CS
1760
1818
  # @see https://matrix.org/docs/spec/client_server/latest#get-matrix-client-r0-pushers
1761
1819
  # The Matrix Spec, for more information about the parameters and data
1762
1820
  def get_pushers
1763
- request(:get, :client_r0, '/pushers')
1821
+ request(:get, client_api_latest, '/pushers')
1764
1822
  end
1765
1823
 
1766
1824
  # rubocop:disable Metrics/ParameterLists
@@ -1793,7 +1851,7 @@ module MatrixSdk::Protocols::CS
1793
1851
  append: params[:append]
1794
1852
  }.compact
1795
1853
 
1796
- request(:post, :client_r0, '/pushers/set', body: body)
1854
+ request(:post, client_api_latest, '/pushers/set', body: body)
1797
1855
  end
1798
1856
  # rubocop:enable Metrics/ParameterLists
1799
1857
 
@@ -1814,7 +1872,7 @@ module MatrixSdk::Protocols::CS
1814
1872
  only: only
1815
1873
  }.compact
1816
1874
 
1817
- request(:get, :client_r0, '/notifications', query: query)
1875
+ request(:get, client_api_latest, '/notifications', query: query)
1818
1876
  end
1819
1877
 
1820
1878
  # Retrieves the full list of registered push rules for the current user
@@ -1823,7 +1881,7 @@ module MatrixSdk::Protocols::CS
1823
1881
  # @see https://matrix.org/docs/spec/client_server/latest#get-matrix-client-r0-pushrules
1824
1882
  # The Matrix Spec, for more information about the parameters and data
1825
1883
  def get_pushrules
1826
- request(:get, :client_r0, '/pushrules/')
1884
+ request(:get, client_api_latest, '/pushrules/')
1827
1885
  end
1828
1886
 
1829
1887
  # Retrieves a single registered push rule for the current user
@@ -1834,12 +1892,12 @@ module MatrixSdk::Protocols::CS
1834
1892
  # @return [Response] A response hash containing the full data of the requested push rule
1835
1893
  # @see https://matrix.org/docs/spec/client_server/latest#get-matrix-client-r0-pushrules-scope-kind-ruleid
1836
1894
  # The Matrix Spec, for more information about the parameters and data
1837
- def get_pushrule(scope: 'global', kind:, id:)
1895
+ def get_pushrule(kind:, id:, scope: 'global')
1838
1896
  scope = ERB::Util.url_encode scope.to_s
1839
1897
  kind = ERB::Util.url_encode kind.to_s
1840
1898
  id = ERB::Util.url_encode id.to_s
1841
1899
 
1842
- request(:get, :client_r0, "/pushrules/#{scope}/#{kind}/#{id}")
1900
+ request(:get, client_api_latest, "/pushrules/#{scope}/#{kind}/#{id}")
1843
1901
  end
1844
1902
 
1845
1903
  # Checks if a push rule for the current user is enabled
@@ -1850,12 +1908,12 @@ module MatrixSdk::Protocols::CS
1850
1908
  # @return [Response] A response hash containing an :enabled key for if the rule is enabled or not
1851
1909
  # @see https://matrix.org/docs/spec/client_server/latest#get-matrix-client-r0-pushrules-scope-kind-ruleid-enabled
1852
1910
  # The Matrix Spec, for more information about the parameters and data
1853
- def get_pushrule_enabled(scope: 'global', kind:, id:)
1911
+ def get_pushrule_enabled(kind:, id:, scope: 'global')
1854
1912
  scope = ERB::Util.url_encode scope.to_s
1855
1913
  kind = ERB::Util.url_encode kind.to_s
1856
1914
  id = ERB::Util.url_encode id.to_s
1857
1915
 
1858
- request(:get, :client_r0, "/pushrules/#{scope}/#{kind}/#{id}/enabled")
1916
+ request(:get, client_api_latest, "/pushrules/#{scope}/#{kind}/#{id}/enabled")
1859
1917
  end
1860
1918
 
1861
1919
  # Enabled/Disables a specific push rule for the current user
@@ -1867,7 +1925,7 @@ module MatrixSdk::Protocols::CS
1867
1925
  # @return [Response] An empty response hash if the push rule was enabled/disabled successfully
1868
1926
  # @see https://matrix.org/docs/spec/client_server/latest#put-matrix-client-r0-pushrules-scope-kind-ruleid-enabled
1869
1927
  # The Matrix Spec, for more information about the parameters and data
1870
- def set_pushrule_enabled(enabled, scope: 'global', kind:, id:)
1928
+ def set_pushrule_enabled(enabled, kind:, id:, scope: 'global')
1871
1929
  scope = ERB::Util.url_encode scope.to_s
1872
1930
  kind = ERB::Util.url_encode kind.to_s
1873
1931
  id = ERB::Util.url_encode id.to_s
@@ -1876,7 +1934,7 @@ module MatrixSdk::Protocols::CS
1876
1934
  enabled: enabled
1877
1935
  }
1878
1936
 
1879
- request(:put, :client_r0, "/pushrules/#{scope}/#{kind}/#{id}/enabled", body: body)
1937
+ request(:put, client_api_latest, "/pushrules/#{scope}/#{kind}/#{id}/enabled", body: body)
1880
1938
  end
1881
1939
 
1882
1940
  # Gets the current list of actions for a specific push rule for the current user
@@ -1887,12 +1945,12 @@ module MatrixSdk::Protocols::CS
1887
1945
  # @return [Response] A response hash containing an :enabled key for if the rule is enabled or not
1888
1946
  # @see https://matrix.org/docs/spec/client_server/latest#get-matrix-client-r0-pushrules-scope-kind-ruleid-actions
1889
1947
  # The Matrix Spec, for more information about the parameters and data
1890
- def get_pushrule_actions(scope: 'global', kind:, id:)
1948
+ def get_pushrule_actions(kind:, id:, scope: 'global')
1891
1949
  scope = ERB::Util.url_encode scope.to_s
1892
1950
  kind = ERB::Util.url_encode kind.to_s
1893
1951
  id = ERB::Util.url_encode id.to_s
1894
1952
 
1895
- request(:get, :client_r0, "/pushrules/#{scope}/#{kind}/#{id}/actions")
1953
+ request(:get, client_api_latest, "/pushrules/#{scope}/#{kind}/#{id}/actions")
1896
1954
  end
1897
1955
 
1898
1956
  # Replaces the list of actions for a push rule for the current user
@@ -1904,7 +1962,7 @@ module MatrixSdk::Protocols::CS
1904
1962
  # @return [Response] An empty response hash if the push rule actions were modified successfully
1905
1963
  # @see https://matrix.org/docs/spec/client_server/latest#put-matrix-client-r0-pushrules-scope-kind-ruleid-actions
1906
1964
  # The Matrix Spec, for more information about the parameters and data
1907
- def set_pushrule_actions(actions, scope: 'global', kind:, id:)
1965
+ def set_pushrule_actions(actions, kind:, id:, scope: 'global')
1908
1966
  scope = ERB::Util.url_encode scope.to_s
1909
1967
  kind = ERB::Util.url_encode kind.to_s
1910
1968
  id = ERB::Util.url_encode id.to_s
@@ -1915,7 +1973,7 @@ module MatrixSdk::Protocols::CS
1915
1973
  actions: actions
1916
1974
  }
1917
1975
 
1918
- request(:put, :client_r0, "/pushrules/#{scope}/#{kind}/#{id}/actions", body: body)
1976
+ request(:put, client_api_latest, "/pushrules/#{scope}/#{kind}/#{id}/actions", body: body)
1919
1977
  end
1920
1978
 
1921
1979
  # Gets the MXID of the currently logged-in user
@@ -1924,7 +1982,7 @@ module MatrixSdk::Protocols::CS
1924
1982
  query = {}
1925
1983
  query[:user_id] = params.delete(:user_id) if protocol?(:AS) && params.key?(:user_id)
1926
1984
 
1927
- request(:get, :client_r0, '/account/whoami', query: query)
1985
+ request(:get, client_api_latest, '/account/whoami', query: query)
1928
1986
  end
1929
1987
  end
1930
1988
  # rubocop:enable Metrics/ModuleLength