Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
8 changes: 6 additions & 2 deletions .github/workflows/compile.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
name: "Compile Code"
on: ["push", "pull_request"]
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
jobs:
lint:
name: "Compile Code (Node ${{ matrix.node }})"
runs-on: "ubuntu-latest"

strategy:
matrix:
node: ["20", "22", "24"]
node: ["22", "24", "26"]
fail-fast: false

steps:
Expand Down
9 changes: 6 additions & 3 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
name: "Test & Lint Code"
on: ["push", "pull_request"]
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
jobs:
lint:
name: "Test & Lint Code"
runs-on: "ubuntu-latest"
if: github.repository_owner == 'fnbrjs'

steps:
- name: "Checkout Repository"
Expand All @@ -27,5 +32,3 @@ jobs:
run: "npm run test"
env:
DEVICE_AUTH: ${{ secrets.TEST_DEVICE_AUTH }}


29 changes: 29 additions & 0 deletions docs/general/changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,34 @@
# Changelog

## 5.0.0

### Additions
* Party
* Added `Party#eosPartyId`, the identifier paired with `Party#id` for party operations that require it.
* Added the `party:recreated` event, emitted with the replacement `ClientParty` when the client's party is recreated.
* Added `Client#getRawFortniteParty()` to retrieve an unwrapped Fortnite lobby by lobby ID or EOS Party ID.

### Fixes
* Party
* Fixed party recreation failing when the client remained in its previous lobby after the party was disbanded.
* Party lifecycle notifications now preserve peer leaves when the EOS party disbands before the corresponding XMPP message.
* Accepting a party invitation no longer fails when leaving the old Fortnite lobby has already disbanded its linked EOS party.
* `Client#getParty()` now accepts either a Fortnite lobby ID or EOS Party ID and constructs a party from both Fortnite and EOS responses.

* Stats
* Fixed `Client#getBRAccountLevel()` failing when the requested season's level stat could not be queried through the multi-account stats endpoint.

### Changes
* Party
* **(Breaking)** `Client#joinParty()`, `Party#join()`, and `PresenceParty#join()` now reject unsupported party IDs instead of attempting to join them.
* **(Breaking)** EOS STOMP now owns party joins, leaves, kicks, and captain changes. `party:member:joined` can precede Fortnite metadata; use `party:member:updated` for cosmetics and readiness.
* `disablePartyService` now also suppresses STOMP party events and party chat. EOS invitation expiration invalidates received invitations.
* `ClientParty#invite()`, `ReceivedPartyInvitation#accept()`, `ReceivedPartyInvitation#decline()`, and `ReceivedPartyJoinRequest#decline()` use the current party invitation and join-request flow.
* `ClientParty#chat` sends and receives party messages through the current party chat conversation.
* `Client` discovers the current party build ID from Fortnite matchmaking when `partyBuildId` is omitted; supplied values remain authoritative.
* **(Breaking)** Removed `SentPartyInvitation#abort()`.
* **(Breaking)** Removed the `raw` argument from `Client#getParty()`; use `Client#getRawFortniteParty()` for the raw lobby.

## 4.2.0

### Changes
Expand Down
2 changes: 1 addition & 1 deletion enums/Enums.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type {
PartyPrivacy as IPartyPrivacy, Platform as IPlatform, PresenceOnlineType as IPresenceOnlineType,
FortnitePartyPrivacy as IPartyPrivacy, Platform as IPlatform, PresenceOnlineType as IPresenceOnlineType,
STWHeroType as ISTWHeroType, STWSchematicRangedSubType as ISTWSchematicRangedSubType,
STWSchematicMeleeSubType as ISTWSchematicMeleeSubType, STWSchematicTrapSubType as ISTWSchematicTrapSubType,
STWSchematicAlterationRarity as ISTWSchematicAlterationRarity, STWSchematicEvoType as ISTWSchematicEvoType,
Expand Down
1 change: 1 addition & 0 deletions index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ export { default as PartyMaxSizeReachedError } from './src/exceptions/PartyMaxSi
export { default as PartyMemberNotFoundError } from './src/exceptions/PartyMemberNotFoundError';
export { default as PartyNotFoundError } from './src/exceptions/PartyNotFoundError';
export { default as PartyPermissionError } from './src/exceptions/PartyPermissionError';
export { default as RetryAbandonedError } from './src/exceptions/RetryAbandonedError';
export { default as STOMPConnectionError } from './src/exceptions/STOMPConnectionError';
export { default as STOMPConnectionTimeoutError } from './src/exceptions/STOMPConnectionTimeoutError';
export { default as SendMessageError } from './src/exceptions/SendMessageError';
Expand Down
Loading
Loading