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

v4 #165

Merged
merged 157 commits into from Jan 30, 2019

Conversation

Projects
None yet
4 participants
@DoctorMcKay
Copy link
Owner

DoctorMcKay commented Mar 20, 2018

To do

Breaking

  • Now requires node 8 (up from node 4)
  • Removed dependency on steam-client
    • Removed ability to specify a custom steam-client. Instead, that functionality is built in directly.
    • Removed the Steam static property
    • Removed the client instance property
  • Removed deprecated methods:
    • disableTwoFactor; non-functional, use steamcommunity instead
    • generateAuthCode; use steam-totp instead
    • requestPasswordChangeEmail; non-functional
    • changePassword; non-functional
    • createAccount; non-functional
    • changeEmail; non-functional
  • server_time in enableTwoFactor callback data is now a number instead of a string (not a Date as that would break the JSON-stringifyable property of the response)
  • Callbacks now have err as their first argument
    • enableTwoFactor
    • requestValidationEmail (changed from eresult)
    • getSteamGuardDetails
    • getCredentialChangeTimes
    • getAuthSecret
    • getPlayerCount (changed from eresult)
    • getProductChanges
    • getProductInfo
    • getProductAccessToken
    • redeemKey (changed from eresult)
    • getChatHistory (changed from eresult)
    • blockUser (changed from eresult)
    • unblockUser (changed from eresult)
    • getPersonas
    • getSteamLevels
    • getGameBadgeLevel
    • getServerList
    • getServerSteamIDsByIP
    • getServerIPsBySteamID
  • promptSteamGuardCode option has been removed
    • Prompting for Steam Guard code from stdin now happens only if no steamGuard listeners have been attached
  • parseAppTicket now has an optional second boolean parameter. If omitted or false, the function will return null if the ticket is missing a signature (or it's invalid).
  • Extraneous properties have been removed from parseEncryptedAppTicket's output, including isValid and ownershipTicketExpires.
  • last_seen_online is now a Date object in the user event
  • The behavior of downloadFile's callback and the EventEmitter it returns has changed

New

  • Options
    • localAddress
    • localPort
    • httpProxy
    • protocol
    • language
  • Basic support for new Steam chat
    • It's about as complete as it will be for v4's launch, it can be expanded upon post-launch
  • Localized rich presence strings in user event (closes #200)
  • All methods which have a callback now also return a promise. You can still use callbacks if you prefer.
  • Now uses protobuf.js v6

Before publishing

  • Create v3 branch pointing to last v3 release

DoctorMcKay added some commits Aug 22, 2017

Merge branch 'master' into v4
# Conflicts:
#	components/friends.js
#	components/protobufs.js
#	package.json
#	scripts/generate-enums.js
Remove steam-client dependency
(but still need to actually implement CM protocol)
@Ne3tCode

This comment has been minimized.

Copy link
Contributor

Ne3tCode commented on components/chatroom.js in 09bf143 Jan 19, 2019

number?

This comment has been minimized.

Copy link
Owner Author

DoctorMcKay replied Jan 19, 2019

It was late. 🤦‍♂️

@KenCardoso

This comment has been minimized.

Copy link

KenCardoso commented on components/chatroom.js in 2c6af81 Jan 19, 2019

Property from map is undefined

This comment has been minimized.

Copy link
Owner Author

DoctorMcKay replied Jan 19, 2019

This should not be possible. Do you have a way to reproduce this?

This comment has been minimized.

Copy link

KenCardoso replied Jan 20, 2019

`node v10.15.0, with pnpm
Installing...
Previous installation was done with node v8, recreating node_modules
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
dependencies:

  • steam-tradeoffer-manager 2.9.4
  • steam-user 4.0.0-beta.3
  • string-argv 0.1.1
    Total install time: 5990ms
    1/20/2019 9:28:08 AM: Successfully logged in! # Bot logs in successfully
    1/20/2019 9:28:08 AM: Checking files... # internal file check (client side configuration files, json files)
    1/20/2019 9:28:08 AM: Checking files... OK #

/rbd/pnpm-volume/dc6bb7be-9b6d-491e-af76-c5e4cfe58dff/node_modules/.github.com/DoctorMcKay/node-steam-user/55417d0dd9679f185ad2cbb49ac5503f013288a4/node_modules/steam-user/components/chatroom.js:442
state.chat_rooms = state.chat_rooms.map(processChatRoomState, true);
^
TypeError: Cannot read property 'map' of undefined
at processChatGroupState (/rbd/pnpm-volume/dc6bb7be-9b6d-491e-af76-c5e4cfe58dff/node_modules/.github.com/DoctorMcKay/node-steam-user/55417d0dd9679f185ad2cbb49ac5503f013288a4/node_modules/steam-user/components/chatroom.js:442:38)
at processChatRoomSummaryPair (/rbd/pnpm-volume/dc6bb7be-9b6d-491e-af76-c5e4cfe58dff/node_modules/.github.com/DoctorMcKay/node-steam-user/55417d0dd9679f185ad2cbb49ac5503f013288a4/node_modules/steam-user/components/chatroom.js:413:28)
at Array.map ()
at SteamUser.user._sendUnified (/rbd/pnpm-volume/dc6bb7be-9b6d-491e-af76-c5e4cfe58dff/node_modules/.github.com/DoctorMcKay/node-steam-user/55417d0dd9679f185ad2cbb49ac5503f013288a4/node_modules/steam-user/components/chatroom.js:88:50)
at SteamUser._handleMessage (/rbd/pnpm-volume/dc6bb7be-9b6d-491e-af76-c5e4cfe58dff/node_modules/.github.com/DoctorMcKay/node-steam-user/55417d0dd9679f185ad2cbb49ac5503f013288a4/node_modules/steam-user/components/messages.js:537:34)
...
`

Part of my code used:

client.chat.getGroups( (err, groups) => { chat_room_id = groups.chat_room_groups['408'].group_summary.chat_rooms[5].chat_id; } )

Installation was freshly done with the latest node-steam-user#v4 (v4.0.0-beta.3) using:
pnpm install git://github.com/DoctorMcKay/node-steam-user.git#v4
Installation was done on a linux distribution and on a windows client. Both resulting the same error.

It previously worked before the release of the first beta of v4. The chatroom is not private and the specific channel still exists.
The method used to call the method was the following:
client.chat.sendChatMessage(chat_group_id, chat_room_id, fullyFormatedChatMessage );

This comment has been minimized.

Copy link
Owner Author

DoctorMcKay replied Jan 21, 2019

Okay, I found the issue. It will be fixed in the next beta release.

DoctorMcKay added some commits Jan 19, 2019

Merge branch 'master' into v4
# Conflicts:
#	components/friends.js
#	package.json

@DoctorMcKay DoctorMcKay changed the title [WIP] v4 v4 Jan 26, 2019

@DoctorMcKay

This comment has been minimized.

Copy link
Owner Author

DoctorMcKay commented Jan 26, 2019

v4 seems to be complete. Does anyone have any bugs to report before a wide release?

@Ne3tCode

This comment has been minimized.

Copy link
Contributor

Ne3tCode commented Jan 26, 2019

@DoctorMcKay

This comment has been minimized.

Copy link
Owner Author

DoctorMcKay commented Jan 27, 2019

@Ne3tCode Thanks for the info, I confirmed it no longer works so it's removed in v4.

@DoctorMcKay DoctorMcKay merged commit 5550916 into master Jan 30, 2019

@DoctorMcKay DoctorMcKay deleted the v4 branch Jan 30, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.