All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.11.0 - 2020-04-06
searchBlockedUsers()
interface DeletedAccount
createContact()
deleteContact()
interface StarredMessagesConnection
interface StarredMessageEdge
interface ChatMessagesConnection
interface ChatMessagesEdge
interface ChatsConnection
interface ChatEdge
interface GroupChatsConnection
interface GroupChatEdge
interface AccountInput
- Rename
chatId
toid
ininterface UnstarredChat
. scalar Username
- Add
interface DeletedAccount
tointerface AccountsSubscription
. - Return a
boolean
instead of aPlaceholder
fromunblockUser()
to indicate whether the user got unblocked. - Use GitHub Flavored Markdown instead of CommonMark (update
type Bio
,type GroupChatDescription
, andtype MessageText
accordingly). - Paginate
readStars()
. - Paginate
searchMessages()
. - Paginate
readChats()
. - Paginate
searchChats()
. - Paginate
searchPublicChats()
. - Remove the
dateTimes
field, and add thesent
field to the following:interface NewMessage
interface NewTextMessage
interface NewActionMessage
interface NewPicMessage
interface NewPollMessage
interface NewAudioMessage
interface NewGroupChatInviteMessage
interface NewDocMessage
interface NewVideoMessage
- Remove the
dateTimes
field, and add thesent
andstatuses
fields to the following:interface Message
interface TextMessage
interface ActionMessage
interface PicMessage
interface PollMessage
interface AudioMessage
interface GroupChatInviteMessage
interface DocMessage
interface VideoMessage
interface StarredMessage
interface StarredTextMessage
interface StarredActionMessage
interface StarredPicMessage
interface StarredPollMessage
interface StarredAudioMessage
interface StarredGroupChatInviteMessage
interface StarredDocMessage
interface StarredVideoMessage
- Remove
createContacts()
in favor ofcreateContact()
. - Remove
deleteContacts()
in favor ofdeleteContact()
. interface BareMessage
interface BareChatMessage
interface MessageDateTimes
- Fix pagination bugs.
createTextMessage()
0.10.0 - 2020-03-25
interface SubscribeToAccountsData
interface SubscribeToGroupChatsData
interface SubscribeToMessagesData
interface SubscribeToOnlineStatusesData
interface SubscribeToTypingStatusesData
interface OnSocketMessage
interface OnSocketError
subscribe()
subscribeToAccounts()
subscribeToGroupChats()
subscribeToMessages()
subscribeToOnlineStatuses()
subscribeToTypingStatuses()
readAccount()
searchChatMessages()
subscribeToMessages()
0.9.0 - 2020-03-21
interface HttpApiConfig
interface WsApiConfig
isValidUsernameScalar()
isValidNameScalar()
isValidBioScalar()
isValidGroupChatTitleScalar()
isValidMessageTextScalar()
isValidGroupChatDescriptionScalar()
isValidDateTimeScalar()
isValidPasswordScalar()
isValidUuidScalar()
- Make functions previously in
class QueriesApi
,class MutationsApi
,class SubscriptionsApi
, andclass RestApi
as top-level functions with different function signatures but the same functionality. These functions no longer throw scalar errors such asclass BioScalarError
. You can validate the input manually using the new validation functions such asisValidBioScalar()
instead. Note thatpostPicMessage()
still throws aclass MessageTextScalarError
because the API server explicitly returns it as one of its responses. - Change the function signature of
queryOrMutate()
. - Change the function signature of
subscribe()
. interface GraphQlResponse
- Require an access token for
joinPublicChat()
.
- Drop support for Node.js.
- Drop support for React Native.
class QueriesApi
class MutationsApi
class SubscriptionsApi
class RestApi
class UuidScalarError
class PasswordScalarError
class BioScalarError
class GroupChatDescriptionScalarError
class GroupChatTitleScalarError
class UsernameScalarError
class NameScalarError
class DateTimeScalarError
0.8.0 - 2020-03-20
- Support React Native.
type MessageState
interface TypingUsers
interface NonexistentUser
interface UnverifiedEmailAddress
interface EmailAddressVerified
interface UsernameTaken
interface IncorrectPassword
interface EmailAddressTaken
interface InvalidChatId
interface InvalidAdminId
interface UnregisteredEmailAddress
interface InvalidUserId
interface InvalidMessageId
interface CannotDeleteAccount
interface InvalidPoll
interface NonexistentOption
interface InvalidInviteCode
interface InvalidInvitedChat
interface InvalidDomain
interface InvalidAction
interface MessageEdges
interface InvalidVerificationCode
interface InvalidPasswordResetCode
interface CreatedChatId
type SearchChatMessagesResult
type ReadChatResult
type ReadGroupChatResult
type RequestTokenSetResult
type VerifyEmailAddressResult
type ResetPasswordResult
type UpdateAccountResult
type CreateAccountResult
type EmailEmailAddressVerificationResult
type CreateGroupChatResult
type CreatePrivateChatResult
type CreateTextMessageResult
type CreateActionMessageResult
type CreateGroupChatInviteMessageResult
type CreatePollMessageResult
type ForwardMessageResult
type TriggerActionResult
type SetPollVoteResult
interface CannotLeaveChat
interface UnstarredChat
type LeaveGroupChatResult
type ReadOnlineStatusResult
interface UpdatedMessage
QueriesApi.readOnlineStatus()
MutationsApi.joinPublicChat()
MutationsApi.leaveGroupChat()
interface GraphQlResponseValue
- Rename
MutationsApi.deleteStar()
toMutationsApi.unstar()
. - Add the field
readonly state: MessageState
to the following:interface BareMessage
interface Message
interface TextMessage
interface ActionMessage
interface PicMessage
interface PollMessage
interface AudioMessage
interface GroupChatInviteMessage
interface DocMessage
interface VideoMessage
interface BareChatMessage
interface StarredMessage
interface StarredTextMessage
interface StarredActionMessage
interface StarredPicMessage
interface StarredPollMessage
interface StarredAudioMessage
interface StarredGroupChatInviteMessage
interface StarredDocMessage
interface StarredVideoMessage
interface NewMessage
interface NewTextMessage
interface NewActionMessage
interface NewPicMessage
interface NewPollMessage
interface NewAudioMessage
interface NewGroupChatInviteMessage
interface NewDocMessage
interface NewVideoMessage
- GraphQL operations used to return results related to invalid input in the GraphQL document's
errors[0].message
. Such results are supposed to be returned in the GraphQL document'sdata
value instead. Change the following operations' return types accordingly:QueriesApi.searchChatMessages()
QueriesApi.readChat()
QueriesApi.readGroupChat()
QueriesApi.requestTokenSet()
MutationsApi.blockUser()
MutationsApi.deleteAccount()
MutationsApi.verifyEmailAddress()
MutationsApi.resetPassword()
MutationsApi.star()
MutationsApi.setTyping()
MutationsApi.createStatus()
MutationsApi.updateAccount()
MutationsApi.createAccount()
MutationsApi.emailEmailAddressVerification()
MutationsApi.emailPasswordResetCode()
MutationsApi.removeGroupChatUsers()
MutationsApi.createGroupChat()
MutationsApi.setInvitability()
MutationsApi.joinGroupChat()
MutationsApi.deletePrivateChat()
MutationsApi.createPrivateChat()
MutationsApi.createTextMessage()
MutationsApi.createActionMessage()
MutationsApi.createGroupChatInviteMessage()
MutationsApi.createPollMessage()
MutationsApi.forwardMessage()
MutationsApi.triggerAction()
MutationsApi.setPollVote()
MutationsApi.deleteMessage()
- Disallow leading and trailing whitespace in the following:
type Bio
type GroupChatTitle
type GroupChatDescription
type MessageText
- Add the following to
type MessagesSubscription
:interface UnstarredChat
interface UpdatedMessage
- Remove the following from
type MessagesSubscription
:interface UpdatedTextMessage
interface UpdatedActionMessage
interface UpdatedPicMessage
interface UpdatedAudioMessage
interface UpdatedGroupChatInviteMessage
interface UpdatedDocMessage
interface UpdatedVideoMessage
interface UpdatedPollMessage
interface UnstarredChat
- Replace
interface ExitedUser
withinterface ExitedUsers
. - Replace
interface UpdatedOnlineStatus
withinterface OnlineStatus
intype OnlineStatusesSubscription
. - Replace
QueriesApi.readTypingStatuses()
withQueriesApi.readTypingUsers()
. - Change
type Placeholder = string
totype Placeholder = ''
. interface GraphQlResponse
- Throw only
class UnauthorizedError
,class InternalServerError
, andclass ConnectionError
fromqueryOrMutate()
.
MutationsApi.deleteAccount()
- Unstar any messages the user starred in the chat they've left when calling
MutationsApi.deletePrivateChat()
,MutationsApi.leaveGroupChat()
, orMutationsApi.removeGroupChatUsers()
.
- Remove
interface GraphQlData
andinterface GraphQlError
in favor ofinterface GraphQlResponseValue
. - Remove
interface UpdatedOnlineStatus
in favor ofinterface OnlineStatus
. - Remove
QueriesApi.readOnlineStatuses()
in favor ofQueriesApi.readOnlineStatus()
. - Remove the following in favor of
interface UpdatedMessage
:interface UpdatedMessage
interface UpdatedTextMessage
interface UpdatedAudioMessage
interface UpdatedPicMessage
interface UpdatedPollMessage
interface UpdatedVideoMessage
interface UpdatedActionMessage
interface UpdatedDocMessage
interface UpdatedGroupChatInviteMessage
class InvalidUserIdError
class InvalidMessageIdError
class InvalidChatIdError
class InvalidAdminIdError
class NonexistentOptionError
class InvalidInvitedChatError
class InvalidInviteCodeError
class InvalidPollError
class CannotDeleteAccountError
class InvalidActionError
class InvalidDomainError
class UnregisteredEmailAddressError
class UsernameTakenError
class EmailAddressTakenError
class EmailAddressVerifiedError
class NonexistentUserError
class UnverifiedEmailAddressError
class IncorrectPasswordError
0.7.0 - 2020-03-14
- Support Node.js.
- Support CommonJS modules.
0.6.0 - 2020-03-13
- Add
GraphQlRequest
,GraphQlResponse
,GraphQlData
,GraphQlError
,queryOrMutate()
, andsubscribe()
.
- Fix GraphQL queries which contain
ActionMessage
. - Fix
MutationsApi.setPollVote()
.
0.5.0 - 2020-03-11
QueriesApi.readTypingStatuses()
UpdatedProfilePic
UpdatedGroupChatPic
- Send back an
ExitedUser
overSubscriptionsApi.subscribeToGroupChats()
if the user themselves left the chat. UpdatedAccount
UpdatedGroupChat
UpdatedOnlineStatus
UpdatedMessage
UpdatedTextMessage
UpdatedActionMessage
UpdatedPicMessage
UpdatedPollMessage
UpdatedAudioMessage
UpdatedGroupChatInviteMessage
UpdatedDocMessage
UpdatedVideoMessage
TextMessage
ActionMessage
NewTextMessage
NewActionMessage
StarredTextMessage
StarredActionMessage
- Return messages from
QueriesApi.searchChatMessages()
in chronological order. - Return messages from
QueriesApi.searchMessages()
in chronological order.
QueriesApi.isBlocked()
QueriesApi.isContact()
- Fix
SubscriptionsApi.subscribeToGroupChats()
. - Fix
QueriesApi.readStars
. - Re-export
OnSocketClose
,OnSocketMessage
,OnSocketError
,UuidScalarError
,PasswordScalarError
,BioScalarError
,MessageTextScalarError
,GroupChatDescriptionScalarError
,GroupChatTitleScalarError
,UsernameScalarError
,NameScalarError
, andDateTimeScalarError
correctly. - Fix an issue where some notifications weren't sent back to clients over WebSockets.
- Fix
NewActionMessage
, etc. not being supported inSubscriptionsApi
. - Fix
QueriesApi.searchChatMessages()
. - Fix
QueriesApi.searchMessages()
.
0.4.0 - 2020-02-27
- Fix
SubscriptionsApi.subscribeToMessages()
. - Fix
SubscriptionsApi.subscribeToGroupChats()
.
0.3.0 - 2020-02-20
- Fix
QueriesApi.readContacts()
.
0.2.0 - 2020-02-20
- Fix
QueriesApi.readContacts()
.
0.1.0 - 2020-02-12
- First version.