Code Monkey home page Code Monkey logo

vault-zero's People

Contributors

rslifka avatar

Stargazers

 avatar

Watchers

 avatar

vault-zero's Issues

Add lost sector reward to activities UI

One of the main reasons I look at the daily lost sector is to see what slot is dropping today (arms, chest, head, legs).

Currently, the UI does not display the reward for lost sectors. It would be nice if the reward slot was listed on the detailed UI for legend/master lost sectors, something like this:

cleanshot_2023-04-12_at_16 18 33

Unfortunately, it does not look like this is available in the JSON for the lost sector activity. It has all rewards listed, not just the slot available today. There is also not a separate field that determines which reward is active as far as I can tell.

cleanshot_2023-04-12_at_16 19 52

After talking with Slif, it turns out that the lost sector code for today is already a hard-coded rotator list:
screenshot_2023-04-12_at_2 31 38_pm_720

One idea would be to enhance this rotator list code to have some sort of enum/list for the reward that'll rotate through [arms, chest, head, legs] and uses the same rotationStart variables in the image above. The number of days "today" is offset from the rotationStart modulus 4 should pick the right reward.

This rotation order is documented on the todayindestiny site (where they likely have a similar hard-coded list): https://www.todayindestiny.com/ls_calendar
cleanshot_2023-04-12_at_16 34 42

Fireteam view should note when profile security prevents displaying status

Some accounts do not allow access to their (for example) progression information, which is how you can tell if another guardian has artifact mods unlocked, etc. It will look like a bug in Fireteams because it will not show breakers lit up that you actually can break.

I suspect it's this bungie.net profile setting, as the JSON node sans data is titled progression!

CleanShot 2024-01-07 at 10 15 46@2x

Look into Seal objectives that don't have any associated status

Could be something; could be nothing πŸ€·β€β™‚οΈ

04:21:59 [SealRecordMultipleObjectiveView] Objective with no status; objective=886446824, recordHash=848317620
04:21:59 [SealRecordMultipleObjectiveView] Objective with no status; objective=1830374698, recordHash=1002450834
04:21:59 [SealRecordMultipleObjectiveView] Objective with no status; objective=2812917794, recordHash=498183354
04:21:59 [SealRecordMultipleObjectiveView] Objective with no status; objective=3248604205, recordHash=2690631951

Finder: Double-tap on Weapon icon toggles equip/move to vault

Also confirming that of the possible interactions we'd talked about, clicking on the weapon icon to bring up the detail page in a single click is the only one that's present now, right?

The double-click or swipe/drag options to toggle moving to character/vault are not expected to be there.

Correct! I would like to implement this πŸ˜„

Add missing bounty focuses

21:46:14 [BountyOptimizer] getSuggestedActivities(): Focus not found for bounty; bountyHash=848944256
21:46:14 [BountyOptimizer] getSuggestedActivities(): Focus not found for bounty; bountyHash=848944258
21:46:14 [BountyOptimizer] getSuggestedActivities(): Focus not found for bounty; bountyHash=848944257

Add a "prevent screen sleep when using app" option

Monitoring bounties while playing would be easier if my iPad didn't often go to sleep. Instead of users turning off the display sleep system wide, it would be great if Vault Zero did it automatically when the App is running.

The magic you need (afaik) is in the ProcessInfo class, using the beginActivity(options:reason:) and endActivty(_:) using the magic option idleDisplaySleepDisabled.

Fireteam workflow JSON decoding issue

Seeing this error appear en masse, with respect to Fireteam processing:

[Warden] getTypeForMembership(): Error processing membership information;

error=
keyNotFound(CodingKeys(stringValue: "bungieNetUser", intValue: nil),
  Swift.DecodingError.Context(
    codingPath: [
      CodingKeys(stringValue: "Response", intValue: nil)
    ],
    debugDescription: "No value associated with key CodingKeys(stringValue: \"bungieNetUser\", intValue: nil) (\"bungieNetUser\").", underlyingError: nil
  )
),

membershipId=
{hidden},
  
response=
{
  "Response": {
    "destinyMemberships":[
      {
        "LastSeenDisplayName":"{hidden}",
        "LastSeenDisplayNameType":3,
        "iconPath":"/img/theme/bungienet/icons/steamLogo.png",
        "crossSaveOverride":0,
        "applicableMembershipTypes":[
          3
        ],
        "isPublic":false,
        "membershipType":3,
        "membershipId":"{hidden}",
        "displayName":"{hidden}",
        "bungieGlobalDisplayName":"{hidden}",
        "bungieGlobalDisplayNameCode":{hidden}
      }
    ]
  },
  "ErrorCode":1,
  "ThrottleSeconds":0,
  "ErrorStatus":"Success",
  "Message":"Ok",
  "MessageData": {
  }
}

If you accidentally choose an invalid account, you're stuck in a loop

When selecting an account, it's not always clear that it's your current/primary account. If that happens VZ currently gets stuck and there's no way to reset it.

[Warden] authenticatedRequest(): Response validation failed; reason=unacceptableStatusCode(code: 500)

body= {
  "ErrorCode":1601,
  "ThrottleSeconds":0,
  "ErrorStatus":"DestinyAccountNotFound",
  "Message":"We were unable to find your Destiny account information.  If you have a valid Destiny Account, let us know.",
  "MessageData":{}
}

Connection-related plumbing investigations

Here are a collection of communication errors while communicating with the API.

Review these for a few things:

  1. What should the proper level of logging be?
  2. Can we detect the underlying exceptions' root cause and handle those specifically?
  3. Is there any first-class handling we should be doing? (i.e. surfacing to Guardians?)
  4. Why is there so much re-auth? (5?)
  5. Are there multiple updates in flight simultaneously? (4)
...
πŸ”΅ [CharacterProfileProcessor] updateCharacters(): Updated characters; count=3
βšͺ️ [StringVariableProfileProcessor] replaceModifiersDescription(): Complete; count=61
πŸ”΅ [BountyProfileProcessor] removeBounties(): Removed bounties; count=0
πŸ”΅ [WeaponProfileProcessor] removeWeapons(): Removed weapons; count=0
πŸ”΅ [DeepsightProfileProcessor] process(): Identified Deepsight weapons; count=0
πŸ”΅ [FireteamCensus] getPendingMembers()
πŸ”΅ [FireteamCensus] admitPendingMembers()
2024-01-08 22:55:12.570078-0800 reckoner[87713:1840588] [connection] nw_socket_handle_socket_event [C5.1.1.1:3] Socket SO_ERROR [54: Connection reset by peer]
2024-01-08 22:55:12.570941-0800 reckoner[87713:1840588] [connection] nw_read_request_report [C5] Receive failed with error "Connection reset by peer"
βšͺ️ [Librarian] isUpdateRequired(): No update required
2024-01-08 23:47:36.120793-0800 reckoner[87713:1841439] [connection] nw_socket_handle_socket_event [C6.1.1.1:3] Socket SO_ERROR [54: Connection reset by peer]
2024-01-08 23:47:36.121197-0800 reckoner[87713:1841439] [connection] nw_read_request_report [C6] Receive failed with error "Connection reset by peer"
2024-01-08 23:47:36.127982-0800 reckoner[87713:1841439] Task <9A17ADE7-D38B-442B-A5B3-8F1E35E5758F>.<111> HTTP load failed, 1098/0 bytes (error code: -1005 [1:54])
2024-01-08 23:47:36.128076-0800 reckoner[87713:1841439] Task <67A5CA07-E870-478E-A7DA-AC99805029BD>.<112> HTTP load failed, 792/0 bytes (error code: -1005 [1:54])
2024-01-08 23:47:36.129369-0800 reckoner[87713:1842663] Task <9A17ADE7-D38B-442B-A5B3-8F1E35E5758F>.<111> finished with error [-1005] Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo={_kCFStreamErrorCodeKey=54, NSUnderlyingError=0x13f8d5e50 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={_kCFStreamErrorCodeKey=54, _kCFStreamErrorDomainKey=1}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <9A17ADE7-D38B-442B-A5B3-8F1E35E5758F>.<111>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <9A17ADE7-D38B-442B-A5B3-8F1E35E5758F>.<111>"
), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=https://www.bungie.net/Platform/Destiny2/2/Profile/4611686018433563242/Character/2305843009325795828/Vendors/?components=400,600, NSErrorFailingURLKey=https://www.bungie.net/Platform/Destiny2/2/Profile/4611686018433563242/Character/2305843009325795828/Vendors/?components=400,600, _kCFStreamErrorDomainKey=1}
2024-01-08 23:47:36.129479-0800 reckoner[87713:1842663] Task <67A5CA07-E870-478E-A7DA-AC99805029BD>.<112> finished with error [-1005] Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo={_kCFStreamErrorCodeKey=54, NSUnderlyingError=0x13dff8820 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={_kCFStreamErrorCodeKey=54, _kCFStreamErrorDomainKey=1}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <67A5CA07-E870-478E-A7DA-AC99805029BD>.<112>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <67A5CA07-E870-478E-A7DA-AC99805029BD>.<112>"
), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=https://www.bungie.net/Platform/Destiny2/2/Profile/4611686018433563242/Character/2305843009325795828/Vendors/?components=400,600, NSErrorFailingURLKey=https://www.bungie.net/Platform/Destiny2/2/Profile/4611686018433563242/Character/2305843009325795828/Vendors/?components=400,600, _kCFStreamErrorDomainKey=1}
πŸ”΄ [Warden] authenticatedRequest(): Request failed; error=URLSessionTask failed with error: The network connection was lost.
πŸ”΄ [Warden] authenticatedRequest(): Request failed; error=URLSessionTask failed with error: The network connection was lost.
πŸ”΄ [VendorCensus] update(): Error updating vendor data; error=vendorDataUnavailable
πŸ”΅ [Warden] authenticatedRequest(): Not authortized (HTTP 401)
πŸ”΅ [Warden] attemptToRefreshAccessToken(): Attempting
πŸ”΅ [Warden] authenticatedRequest(): Not authortized (HTTP 401)
πŸ”΅ [Warden] attemptToRefreshAccessToken(): Attempting
βšͺ️ [Warden] getAccessToken(): Authentication success
βšͺ️ [Warden] displayAppStorage(): wardenLastNewCodeSeconds2001 = Jan 8, 2024 at 11:47:36 PM
βšͺ️ [Warden] displayAppStorage(): wardenAccessToken            = (present)
βšͺ️ [Warden] displayAppStorage(): wardenAccessDuration         = 3600
βšͺ️ [Warden] displayAppStorage(): wardenRefreshToken           = (present)
βšͺ️ [Warden] displayAppStorage(): wardenRefreshDuration        = 7776000
βšͺ️ [Warden] getAccessToken(): Authentication success
βšͺ️ [Warden] displayAppStorage(): wardenLastNewCodeSeconds2001 = Jan 8, 2024 at 11:47:36 PM
βšͺ️ [Warden] displayAppStorage(): wardenAccessToken            = (present)
βšͺ️ [Warden] displayAppStorage(): wardenAccessDuration         = 3600
βšͺ️ [Warden] displayAppStorage(): wardenRefreshToken           = (present)
βšͺ️ [Warden] displayAppStorage(): wardenRefreshDuration        = 7776000
βšͺ️ [Librarian] isUpdateRequired(): No update required
πŸ”΅ [CharacterSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [TransitorySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ProgressionSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [StringVariableSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [PlugObjectiveSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ActivitySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [InventoryItemSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [SocketSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [RecordSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [CharacterProfileProcessor] updateCharacters(): Updated characters; count=3
βšͺ️ [StringVariableProfileProcessor] replaceModifiersDescription(): Complete; count=61
πŸ”΅ [BountyProfileProcessor] removeBounties(): Removed bounties; count=0
πŸ”΅ [WeaponProfileProcessor] removeWeapons(): Removed weapons; count=0
πŸ”΅ [DeepsightProfileProcessor] process(): Identified Deepsight weapons; count=0
πŸ”΅ [FireteamCensus] getPendingMembers()
πŸ”΅ [FireteamCensus] admitPendingMembers()
πŸ”΅ [CharacterSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [PlugObjectiveSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [TransitorySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [StringVariableSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ProgressionSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ActivitySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [InventoryItemSplicer] importProfileData(): Imported; duration=497 seconds
πŸ”΅ [SocketSplicer] importProfileData(): Imported; duration=497 seconds
πŸ”΅ [RecordSplicer] importProfileData(): Imported; duration=497 seconds
πŸ”΅ [CharacterProfileProcessor] updateCharacters(): Updated characters; count=3
βšͺ️ [StringVariableProfileProcessor] replaceModifiersDescription(): Complete; count=61
πŸ”΅ [BountyProfileProcessor] removeBounties(): Removed bounties; count=0
πŸ”΅ [WeaponProfileProcessor] removeWeapons(): Removed weapons; count=0
πŸ”΅ [DeepsightProfileProcessor] process(): Identified Deepsight weapons; count=0
πŸ”΅ [FireteamCensus] getPendingMembers()
πŸ”΅ [FireteamCensus] admitPendingMembers()
πŸ”΅ [VProgressionSplicer] importProfileData(): Imported; duration=0 seconds
βšͺ️ [Librarian] isUpdateRequired(): No update required
πŸ”΅ [VCurrencySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [VProgressionSplicer] importProfileData(): Imported; duration=0 seconds
2024-01-09 00:24:39.499779-0800 reckoner[87713:1844440] Task <1152059D-96FF-44F9-8F36-08696290F2D1>.<121> HTTP load failed, 792/0 bytes (error code: -1005 [1:54])
2024-01-09 00:24:39.500396-0800 reckoner[87713:1844441] Task <1152059D-96FF-44F9-8F36-08696290F2D1>.<121> finished with error [-1005] Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo={_kCFStreamErrorCodeKey=54, NSUnderlyingError=0x13dde8a00 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={_kCFStreamErrorCodeKey=54, _kCFStreamErrorDomainKey=1}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <1152059D-96FF-44F9-8F36-08696290F2D1>.<121>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <1152059D-96FF-44F9-8F36-08696290F2D1>.<121>"
), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=https://www.bungie.net/Platform/Destiny2/2/Profile/4611686018433563242/Character/2305843009325795828/Vendors/?components=400,600, NSErrorFailingURLKey=https://www.bungie.net/Platform/Destiny2/2/Profile/4611686018433563242/Character/2305843009325795828/Vendors/?components=400,600, _kCFStreamErrorDomainKey=1}
πŸ”΄ [Warden] authenticatedRequest(): Request failed; error=URLSessionTask failed with error: The network connection was lost.
πŸ”΄ [VendorCensus] update(): Error updating vendor data; error=vendorDataUnavailable
βšͺ️ [Librarian] isUpdateRequired(): No update required
πŸ”΅ [CharacterSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [StringVariableSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [TransitorySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ProgressionSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [PlugObjectiveSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ActivitySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [InventoryItemSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [SocketSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [RecordSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [CharacterProfileProcessor] updateCharacters(): Updated characters; count=3
βšͺ️ [StringVariableProfileProcessor] replaceModifiersDescription(): Complete; count=61
πŸ”΅ [BountyProfileProcessor] removeBounties(): Removed bounties; count=0
πŸ”΅ [WeaponProfileProcessor] removeWeapons(): Removed weapons; count=0
πŸ”΅ [DeepsightProfileProcessor] process(): Identified Deepsight weapons; count=0
πŸ”΅ [FireteamCensus] getPendingMembers()
πŸ”΅ [FireteamCensus] admitPendingMembers()
πŸ”΅ [StringVariableSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [TransitorySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [CharacterSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ProgressionSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [PlugObjectiveSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ActivitySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [InventoryItemSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [SocketSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [RecordSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [CharacterProfileProcessor] updateCharacters(): Updated characters; count=3
βšͺ️ [StringVariableProfileProcessor] replaceModifiersDescription(): Complete; count=61
πŸ”΅ [BountyProfileProcessor] removeBounties(): Removed bounties; count=0
πŸ”΅ [WeaponProfileProcessor] removeWeapons(): Removed weapons; count=0
πŸ”΅ [DeepsightProfileProcessor] process(): Identified Deepsight weapons; count=0
πŸ”΅ [FireteamCensus] getPendingMembers()
πŸ”΅ [FireteamCensus] admitPendingMembers()
2024-01-09 00:44:26.470663-0800 reckoner[87713:1846130] [connection] nw_socket_handle_socket_event [C11.1.1.1:3] Socket SO_ERROR [54: Connection reset by peer]
2024-01-09 00:44:26.472591-0800 reckoner[87713:1846130] [connection] nw_read_request_report [C11] Receive failed with error "Connection reset by peer"
βšͺ️ [Librarian] isUpdateRequired(): No update required
βšͺ️ [Librarian] isUpdateRequired(): No update required
2024-01-09 00:49:45.891685-0800 reckoner[87713:1846738] [connection] nw_socket_handle_socket_event [C12.1.1.1:3] Socket SO_ERROR [54: Connection reset by peer]
2024-01-09 00:49:45.892481-0800 reckoner[87713:1846738] [connection] nw_read_request_report [C12] Receive failed with error "Connection reset by peer"
πŸ”΅ [Warden] authenticatedRequest(): Not authortized (HTTP 401)
πŸ”΅ [Warden] attemptToRefreshAccessToken(): Attempting
πŸ”΅ [Warden] authenticatedRequest(): Not authortized (HTTP 401)
πŸ”΅ [Warden] attemptToRefreshAccessToken(): Attempting
πŸ”΅ [Warden] authenticatedRequest(): Not authortized (HTTP 401)
πŸ”΅ [Warden] attemptToRefreshAccessToken(): Attempting
πŸ”΅ [Warden] authenticatedRequest(): Not authortized (HTTP 401)
πŸ”΅ [Warden] attemptToRefreshAccessToken(): Attempting
βšͺ️ [Warden] getAccessToken(): Authentication success
βšͺ️ [Warden] displayAppStorage(): wardenLastNewCodeSeconds2001 = Jan 9, 2024 at 12:49:46 AM
βšͺ️ [Warden] displayAppStorage(): wardenAccessToken            = (present)
βšͺ️ [Warden] displayAppStorage(): wardenAccessDuration         = 3600
βšͺ️ [Warden] displayAppStorage(): wardenRefreshToken           = (present)
βšͺ️ [Warden] displayAppStorage(): wardenRefreshDuration        = 7776000
βšͺ️ [Warden] getAccessToken(): Authentication success
βšͺ️ [Warden] displayAppStorage(): wardenLastNewCodeSeconds2001 = Jan 9, 2024 at 12:49:46 AM
βšͺ️ [Warden] displayAppStorage(): wardenAccessToken            = (present)
βšͺ️ [Warden] displayAppStorage(): wardenAccessDuration         = 3600
βšͺ️ [Warden] displayAppStorage(): wardenRefreshToken           = (present)
βšͺ️ [Warden] displayAppStorage(): wardenRefreshDuration        = 7776000
πŸ”΅ [Warden] authenticatedRequest(): Not authortized (HTTP 401)
πŸ”΅ [Warden] attemptToRefreshAccessToken(): Attempting
πŸ”΅ [Warden] authenticatedRequest(): Not authortized (HTTP 401)
πŸ”΅ [Warden] attemptToRefreshAccessToken(): Attempting
πŸ”΅ [Warden] authenticatedRequest(): Not authortized (HTTP 401)
πŸ”΅ [Warden] attemptToRefreshAccessToken(): Attempting
βšͺ️ [Warden] getAccessToken(): Authentication success
βšͺ️ [Warden] displayAppStorage(): wardenLastNewCodeSeconds2001 = Jan 9, 2024 at 12:49:46 AM
βšͺ️ [Warden] displayAppStorage(): wardenAccessToken            = (present)
βšͺ️ [Warden] displayAppStorage(): wardenAccessDuration         = 3600
βšͺ️ [Warden] displayAppStorage(): wardenRefreshToken           = (present)
βšͺ️ [Warden] displayAppStorage(): wardenRefreshDuration        = 7776000
βšͺ️ [Librarian] isUpdateRequired(): No update required
βšͺ️ [Warden] getAccessToken(): Authentication success
βšͺ️ [Warden] displayAppStorage(): wardenLastNewCodeSeconds2001 = Jan 9, 2024 at 12:49:46 AM
βšͺ️ [Warden] displayAppStorage(): wardenAccessToken            = (present)
βšͺ️ [Warden] displayAppStorage(): wardenAccessDuration         = 3600
βšͺ️ [Warden] displayAppStorage(): wardenRefreshToken           = (present)
βšͺ️ [Warden] displayAppStorage(): wardenRefreshDuration        = 7776000
βšͺ️ [Warden] getAccessToken(): Authentication success
βšͺ️ [Warden] displayAppStorage(): wardenLastNewCodeSeconds2001 = Jan 9, 2024 at 12:49:46 AM
βšͺ️ [Warden] displayAppStorage(): wardenAccessToken            = (present)
βšͺ️ [Warden] displayAppStorage(): wardenAccessDuration         = 3600
βšͺ️ [Warden] displayAppStorage(): wardenRefreshToken           = (present)
βšͺ️ [Warden] displayAppStorage(): wardenRefreshDuration        = 7776000
βšͺ️ [Warden] getAccessToken(): Authentication success
βšͺ️ [Warden] displayAppStorage(): wardenLastNewCodeSeconds2001 = Jan 9, 2024 at 12:49:46 AM
βšͺ️ [Warden] displayAppStorage(): wardenAccessToken            = (present)
βšͺ️ [Warden] displayAppStorage(): wardenAccessDuration         = 3600
βšͺ️ [Warden] displayAppStorage(): wardenRefreshToken           = (present)
βšͺ️ [Warden] displayAppStorage(): wardenRefreshDuration        = 7776000
βšͺ️ [Warden] getAccessToken(): Authentication success
βšͺ️ [Warden] displayAppStorage(): wardenLastNewCodeSeconds2001 = Jan 9, 2024 at 12:49:46 AM
βšͺ️ [Warden] displayAppStorage(): wardenAccessToken            = (present)
βšͺ️ [Warden] displayAppStorage(): wardenAccessDuration         = 3600
βšͺ️ [Warden] displayAppStorage(): wardenRefreshToken           = (present)
βšͺ️ [Warden] displayAppStorage(): wardenRefreshDuration        = 7776000
2024-01-09 00:56:45.804136-0800 reckoner[87713:1846751] [connection] nw_socket_handle_socket_event [C13.1.1.1:3] Socket SO_ERROR [54: Connection reset by peer]
2024-01-09 00:56:45.805133-0800 reckoner[87713:1846751] [connection] nw_read_request_report [C13] Receive failed with error "Connection reset by peer"
βšͺ️ [Librarian] isUpdateRequired(): No update required
2024-01-09 01:10:28.076490-0800 reckoner[87713:1848741] [connection] nw_socket_handle_socket_event [C15.1.1.1:3] Socket SO_ERROR [54: Connection reset by peer]
2024-01-09 01:10:28.077361-0800 reckoner[87713:1848741] [connection] nw_read_request_report [C15] Receive failed with error "Connection reset by peer"
βšͺ️ [Librarian] isUpdateRequired(): No update required
πŸ”΅ [TransitorySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [CharacterSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [StringVariableSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ActivitySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ProgressionSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [PlugObjectiveSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [InventoryItemSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [SocketSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [RecordSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [CharacterProfileProcessor] updateCharacters(): Updated characters; count=3
βšͺ️ [StringVariableProfileProcessor] replaceModifiersDescription(): Complete; count=61
πŸ”΅ [BountyProfileProcessor] removeBounties(): Removed bounties; count=0
πŸ”΅ [WeaponProfileProcessor] removeWeapons(): Removed weapons; count=0
πŸ”΅ [DeepsightProfileProcessor] process(): Identified Deepsight weapons; count=0
πŸ”΅ [FireteamCensus] getPendingMembers()
πŸ”΅ [FireteamCensus] admitPendingMembers()
πŸ”΅ [CharacterSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [TransitorySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ProgressionSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [PlugObjectiveSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [StringVariableSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ActivitySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [InventoryItemSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [SocketSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [RecordSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [CharacterProfileProcessor] updateCharacters(): Updated characters; count=3
βšͺ️ [StringVariableProfileProcessor] replaceModifiersDescription(): Complete; count=61
πŸ”΅ [BountyProfileProcessor] removeBounties(): Removed bounties; count=0
πŸ”΅ [WeaponProfileProcessor] removeWeapons(): Removed weapons; count=0
πŸ”΅ [DeepsightProfileProcessor] process(): Identified Deepsight weapons; count=0
πŸ”΅ [FireteamCensus] getPendingMembers()
πŸ”΅ [FireteamCensus] admitPendingMembers()
2024-01-09 01:38:13.399116-0800 reckoner[87713:1848940] [connection] nw_socket_handle_socket_event [C16.1.1.1:3] Socket SO_ERROR [54: Connection reset by peer]
2024-01-09 01:38:13.399565-0800 reckoner[87713:1848940] [connection] nw_read_request_report [C16] Receive failed with error "Connection reset by peer"
2024-01-09 01:38:13.404221-0800 reckoner[87713:1848940] Task <5DB1A368-F814-4E90-88A9-E657E150CF1B>.<138> HTTP load failed, 796/0 bytes (error code: -1005 [1:54])
2024-01-09 01:38:13.404403-0800 reckoner[87713:1848940] Task <05C024DE-A1D4-4C62-9BC3-AF292CE021BA>.<139> HTTP load failed, 810/0 bytes (error code: -1005 [1:54])
2024-01-09 01:38:13.404685-0800 reckoner[87713:1848940] Task <B65DA552-1BB7-43E2-BE07-C4BD7E574BAE>.<140> HTTP load failed, 792/0 bytes (error code: -1005 [1:54])
2024-01-09 01:38:13.404760-0800 reckoner[87713:1848940] Task <232BAA17-6BD0-44CB-8F28-3C0683479EC9>.<141> HTTP load failed, 794/0 bytes (error code: -1005 [1:54])
2024-01-09 01:38:13.404841-0800 reckoner[87713:1848940] Task <DB084688-8BC1-4995-B66A-3DC32A44A5C2>.<142> HTTP load failed, 794/0 bytes (error code: -1005 [1:54])
2024-01-09 01:38:13.404833-0800 reckoner[87713:1849565] Task <5DB1A368-F814-4E90-88A9-E657E150CF1B>.<138> finished with error [-1005] Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo={_kCFStreamErrorCodeKey=54, NSUnderlyingError=0x13ddff4e0 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={_kCFStreamErrorCodeKey=54, _kCFStreamErrorDomainKey=1}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <5DB1A368-F814-4E90-88A9-E657E150CF1B>.<138>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <5DB1A368-F814-4E90-88A9-E657E150CF1B>.<138>"
), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=https://www.bungie.net/Platform/Destiny2/2/Profile/4611686018433563242/Character/2305843009325795828/Vendors/?components=400,600, NSErrorFailingURLKey=https://www.bungie.net/Platform/Destiny2/2/Profile/4611686018433563242/Character/2305843009325795828/Vendors/?components=400,600, _kCFStreamErrorDomainKey=1}
πŸ”΄ [Warden] authenticatedRequest(): Request failed; error=URLSessionTask failed with error: The network connection was lost.
2024-01-09 01:38:13.413449-0800 reckoner[87713:1849565] Task <05C024DE-A1D4-4C62-9BC3-AF292CE021BA>.<139> finished with error [-1005] Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo={_kCFStreamErrorCodeKey=54, NSUnderlyingError=0x114253570 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={_kCFStreamErrorCodeKey=54, _kCFStreamErrorDomainKey=1}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <05C024DE-A1D4-4C62-9BC3-AF292CE021BA>.<139>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <05C024DE-A1D4-4C62-9BC3-AF292CE021BA>.<139>"
), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=https://www.bungie.net/Platform/Destiny2/2/Profile/4611686018433563242/?components=102,200,201,202,204,205,300,301,305,309,900,1000,1200, NSErrorFailingURLKey=https://www.bungie.net/Platform/Destiny2/2/Profile/4611686018433563242/?components=102,200,201,202,204,205,300,301,305,309,900,1000,1200, _kCFStreamErrorDomainKey=1}
2024-01-09 01:38:13.413694-0800 reckoner[87713:1849565] Task <B65DA552-1BB7-43E2-BE07-C4BD7E574BAE>.<140> finished with error [-1005] Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo={_kCFStreamErrorCodeKey=54, NSUnderlyingError=0x13f8c0250 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={_kCFStreamErrorCodeKey=54, _kCFStreamErrorDomainKey=1}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <B65DA552-1BB7-43E2-BE07-C4BD7E574BAE>.<140>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <B65DA552-1BB7-43E2-BE07-C4BD7E574BAE>.<140>"
), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=https://www.bungie.net/Platform/Destiny2/2/Profile/4611686018433563242/Character/2305843009325795828/Vendors/?components=400,600, NSErrorFailingURLKey=https://www.bungie.net/Platform/Destiny2/2/Profile/4611686018433563242/Character/2305843009325795828/Vendors/?components=400,600, _kCFStreamErrorDomainKey=1}
πŸ”΄ [Warden] authenticatedRequest(): Request failed; error=URLSessionTask failed with error: The network connection was lost.
🟣 [Census] update(): When fetching /GetProfile, no data was returned (cause should be logged above)
πŸ”΅ [FireteamCensus] getPendingMembers()
2024-01-09 01:38:13.413999-0800 reckoner[87713:1849565] Task <232BAA17-6BD0-44CB-8F28-3C0683479EC9>.<141> finished with error [-1005] Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo={_kCFStreamErrorCodeKey=54, NSUnderlyingError=0x13ddfca70 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={_kCFStreamErrorCodeKey=54, _kCFStreamErrorDomainKey=1}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <232BAA17-6BD0-44CB-8F28-3C0683479EC9>.<141>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <232BAA17-6BD0-44CB-8F28-3C0683479EC9>.<141>"
), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=https://www.bungie.net/Platform/Destiny2/2/Profile/4611686018433563242/CπŸ”΄ [Warden] authenticatedRequest(): Request failed; error=URLSessionTask failed with error: The network connection was lost.haracter/2305843009325795828/Vendors/?components=400,600, NSErrorFailingURLKey=https://www.bungie.net/Platform/Destiny2/2/Profile/4611686018433563242/Character/2305843009325795828/Vendors/?components=400,600, _kCFStreamErrorDomainKey=1}

πŸ”΅ [FireteamCensus] admitPendingMembers()
πŸ”΄ [VendorCensus] update(): Error updating vendor data; error=vendorDataUnavailable
2024-01-09 01:38:13.414400-0800 reckoner[87713:1849565] Task <DB084688-8BC1-4995-B66A-3DC32A44A5C2>.<142> finished with error [-1005] Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo={_kCFStreamErrorCodeKey=54, NSUnderlyingError=0x13dde82b0 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={_kCFStreamErrorCodeKey=54, _kCFStreamErrorDomainKey=1}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <DB084688-8BC1-4995-B66A-3DC32A44A5C2>.<142>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <DB084688-8BC1-4995-B66A-3DC32A44A5C2>.<142>"
), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=https://www.bungie.net/Platform/Destiny2/2/Profile/4611686018433563242/Character/2305843009325795828/Vendors/?components=400,600, NSErrorFailingURLKey=https://www.bungie.net/Platform/Destiny2/2/Profile/4611686018433563242/Character/2305843009325795828/Vendors/?components=400,600, _kCFStreamErrorDomainKey=1}
πŸ”΄ [Warden] authenticatedRequest(): Request failed; error=URLSessionTask failed with error: The network connection was lost.
πŸ”΄ [Warden] authenticatedRequest(): Request failed; error=URLSessionTask failed with error: The network connection was lost.
πŸ”΄ [VendorCensus] update(): Error updating vendor data; error=vendorDataUnavailable
βšͺ️ [Librarian] isUpdateRequired(): No update required
2024-01-09 01:55:22.874861-0800 reckoner[87713:1850464] [connection] nw_socket_handle_socket_event [C17.1.1.1:3] Socket SO_ERROR [54: Connection reset by peer]
2024-01-09 01:55:22.875166-0800 reckoner[87713:1850464] [connection] nw_read_request_report [C17] Receive failed with error "Connection reset by peer"
2024-01-09 01:55:22.878933-0800 reckoner[87713:1850464] Task <71109CFC-FA39-4D7C-9372-C7144C8D3D8F>.<145> HTTP load failed, 963/0 bytes (error code: -1005 [1:54])
2024-01-09 01:55:22.879242-0800 reckoner[87713:1849563] Task <71109CFC-FA39-4D7C-9372-C7144C8D3D8F>.<145> finished with error [-1005] Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo={_kCFStreamErrorCodeKey=54, NSUnderlyingError=0x108f3dc30 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={_kCFStreamErrorCodeKey=54, _kCFStreamErrorDomainKey=1}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <71109CFC-FA39-4D7C-9372-C7144C8D3D8F>.<145>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <71109CFC-FA39-4D7C-9372-C7144C8D3D8F>.<145>"
), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=https://www.bungie.net/Platform/Destiny2/2/Profile/4611686018433563242/?components=102,200,201,202,204,205,300,301,305,309,900,1000,1200, NSErrorFailingURLKey=https://www.bungie.net/Platform/Destiny2/2/Profile/4611686018433563242/?components=102,200,201,202,204,205,300,301,305,309,900,1000,1200, _kCFStreamErrorDomainKey=1}
πŸ”΄ [Warden] authenticatedRequest(): Request failed; error=URLSessionTask failed with error: The network connection was lost.
🟣 [Census] update(): When fetching /GetProfile, no data was returned (cause should be logged above)
πŸ”΅ [FireteamCensus] getPendingMembers()
πŸ”΅ [FireteamCensus] admitPendingMembers()
πŸ”΅ [Warden] authenticatedRequest(): Not authortized (HTTP 401)
πŸ”΅ [Warden] attemptToRefreshAccessToken(): Attempting
πŸ”΅ [Warden] authenticatedRequest(): Not authortized (HTTP 401)
πŸ”΅ [Warden] attemptToRefreshAccessToken(): Attempting
πŸ”΅ [Warden] authenticatedRequest(): Not authortized (HTTP 401)
πŸ”΅ [Warden] attemptToRefreshAccessToken(): Attempting
πŸ”΅ [Warden] authenticatedRequest(): Not authortized (HTTP 401)
πŸ”΅ [Warden] attemptToRefreshAccessToken(): Attempting
πŸ”΅ [Warden] authenticatedRequest(): Not authortized (HTTP 401)
πŸ”΅ [Warden] attemptToRefreshAccessToken(): Attempting
πŸ”΅ [Warden] authenticatedRequest(): Not authortized (HTTP 401)
πŸ”΅ [Warden] attemptToRefreshAccessToken(): Attempting
πŸ”΅ [Warden] authenticatedRequest(): Not authortized (HTTP 401)
πŸ”΅ [Warden] attemptToRefreshAccessToken(): Attempting
βšͺ️ [Warden] getAccessToken(): Authentication success
βšͺ️ [Warden] displayAppStorage(): wardenLastNewCodeSeconds2001 = Jan 9, 2024 at 1:55:23 AM
βšͺ️ [Warden] displayAppStorage(): wardenAccessToken            = (present)
βšͺ️ [Warden] displayAppStorage(): wardenAccessDuration         = 3600
βšͺ️ [Warden] displayAppStorage(): wardenRefreshToken           = (present)
βšͺ️ [Warden] displayAppStorage(): wardenRefreshDuration        = 7776000
πŸ”΅ [Warden] authenticatedRequest(): Not authortized (HTTP 401)
πŸ”΅ [Warden] attemptToRefreshAccessToken(): Attempting
βšͺ️ [Warden] getAccessToken(): Authentication success
βšͺ️ [Warden] getAccessToken(): Authentication success
βšͺ️ [Warden] displayAppStorage(): wardenLastNewCodeSeconds2001 = Jan 9, 2024 at 1:55:23 AM
βšͺ️ [Warden] displayAppStorage(): wardenAccessToken            = (present)
βšͺ️ [Warden] displayAppStorage(): wardenAccessDuration         = 3600
βšͺ️ [Warden] displayAppStorage(): wardenRefreshToken           = (present)
βšͺ️ [Warden] displayAppStorage(): wardenLastNewCodeSeconds2001 = Jan 9, 2024 at 1:55:23 AM
βšͺ️ [Warden] displayAppStorage(): wardenRefreshDuration        = 7776000
βšͺ️ [Warden] displayAppStorage(): wardenAccessToken            = (present)
βšͺ️ [Warden] displayAppStorage(): wardenAccessDuration         = 3600
βšͺ️ [Warden] displayAppStorage(): wardenRefreshToken           = (present)
βšͺ️ [Warden] displayAppStorage(): wardenRefreshDuration        = 7776000
βšͺ️ [Warden] getAccessToken(): Authentication success
βšͺ️ [Warden] displayAppStorage(): wardenLastNewCodeSeconds2001 = Jan 9, 2024 at 1:55:23 AM
βšͺ️ [Warden] displayAppStorage(): wardenAccessToken            = (present)
βšͺ️ [Warden] displayAppStorage(): wardenAccessDuration         = 3600
βšͺ️ [Warden] displayAppStorage(): wardenRefreshToken           = (present)
βšͺ️ [Warden] displayAppStorage(): wardenRefreshDuration        = 7776000
πŸ”΅ [Warden] authenticatedRequest(): Not authortized (HTTP 401)
πŸ”΅ [Warden] attemptToRefreshAccessToken(): Attempting
βšͺ️ [Warden] getAccessToken(): Authentication success
βšͺ️ [Warden] displayAppStorage(): wardenLastNewCodeSeconds2001 = Jan 9, 2024 at 1:55:23 AM
βšͺ️ [Warden] displayAppStorage(): wardenAccessToken            = (present)
βšͺ️ [Warden] displayAppStorage(): wardenAccessDuration         = 3600
βšͺ️ [Warden] displayAppStorage(): wardenRefreshToken           = (present)
βšͺ️ [Warden] displayAppStorage(): wardenRefreshDuration        = 7776000
πŸ”΅ [Warden] authenticatedRequest(): Not authortized (HTTP 401)
πŸ”΅ [Warden] attemptToRefreshAccessToken(): Attempting
βšͺ️ [Warden] getAccessToken(): Authentication success
βšͺ️ [Warden] getAccessToken(): Authentication success
βšͺ️ [Warden] displayAppStorage(): wardenLastNewCodeSeconds2001 = Jan 9, 2024 at 1:55:23 AM
βšͺ️ [Warden] displayAppStorage(): wardenAccessToken            = (present)
βšͺ️ [Warden] displayAppStorage(): wardenAccessDuration         = 3600
βšͺ️ [Warden] displayAppStorage(): wardenLastNewCodeSeconds2001 = Jan 9, 2024 at 1:55:23 AM
βšͺ️ [Warden] displayAppStorage(): wardenRefreshToken           = (present)
βšͺ️ [Warden] displayAppStorage(): wardenAccessToken            = (present)
βšͺ️ [Warden] displayAppStorage(): wardenRefreshDuration        = 7776000
βšͺ️ [Warden] displayAppStorage(): wardenAccessDuration         = 3600
βšͺ️ [Warden] displayAppStorage(): wardenRefreshToken           = (present)
βšͺ️ [Warden] displayAppStorage(): wardenRefreshDuration        = 7776000
βšͺ️ [Warden] getAccessToken(): Authentication success
βšͺ️ [Warden] displayAppStorage(): wardenLastNewCodeSeconds2001 = Jan 9, 2024 at 1:55:23 AM
βšͺ️ [Warden] displayAppStorage(): wardenAccessToken            = (present)
βšͺ️ [Warden] displayAppStorage(): wardenAccessDuration         = 3600
βšͺ️ [Warden] displayAppStorage(): wardenRefreshToken           = (present)
βšͺ️ [Warden] displayAppStorage(): wardenRefreshDuration        = 7776000
βšͺ️ [Warden] getAccessToken(): Authentication success
βšͺ️ [Warden] displayAppStorage(): wardenLastNewCodeSeconds2001 = Jan 9, 2024 at 1:55:23 AM
βšͺ️ [Warden] displayAppStorage(): wardenAccessToken            = (present)
βšͺ️ [Warden] displayAppStorage(): wardenAccessDuration         = 3600
βšͺ️ [Warden] displayAppStorage(): wardenRefreshToken           = (present)
βšͺ️ [Warden] displayAppStorage(): wardenRefreshDuration        = 7776000
βšͺ️ [Warden] getAccessToken(): Authentication success
βšͺ️ [Warden] displayAppStorage(): wardenLastNewCodeSeconds2001 = Jan 9, 2024 at 1:55:23 AM
βšͺ️ [Warden] displayAppStorage(): wardenAccessToken            = (present)
βšͺ️ [Warden] displayAppStorage(): wardenAccessDuration         = 3600
βšͺ️ [Warden] displayAppStorage(): wardenRefreshToken           = (present)
βšͺ️ [Warden] displayAppStorage(): wardenRefreshDuration        = 7776000
βšͺ️ [Librarian] isUpdateRequired(): No update required
2024-01-09 02:13:40.368953-0800 reckoner[87713:1851632] [connection] nw_socket_handle_socket_event [C18.1.1.1:3] Socket SO_ERROR [54: Connection reset by peer]
2024-01-09 02:13:40.369495-0800 reckoner[87713:1851632] [connection] nw_read_request_report [C18] Receive failed with error "Connection reset by peer"
βšͺ️ [Librarian] isUpdateRequired(): No update required
πŸ”΅ [Warden] authenticatedRequest(): Not authortized (HTTP 401)
πŸ”΅ [Warden] attemptToRefreshAccessToken(): Attempting
βšͺ️ [Warden] getAccessToken(): Authentication success
βšͺ️ [Warden] displayAppStorage(): wardenLastNewCodeSeconds2001 = Jan 9, 2024 at 2:13:40 AM
βšͺ️ [Warden] displayAppStorage(): wardenAccessToken            = (present)
βšͺ️ [Warden] displayAppStorage(): wardenAccessDuration         = 3600
βšͺ️ [Warden] displayAppStorage(): wardenRefreshToken           = (present)
βšͺ️ [Warden] displayAppStorage(): wardenRefreshDuration        = 7776000
2024-01-09 02:42:19.381305-0800 reckoner[87713:1851649] [connection] nw_socket_handle_socket_event [C20.1.1.1:3] Socket SO_ERROR [54: Connection reset by peer]
2024-01-09 02:42:19.382248-0800 reckoner[87713:1851649] [connection] nw_read_request_report [C20] Receive failed with error "Connection reset by peer"
βšͺ️ [Librarian] isUpdateRequired(): No update required
πŸ”΅ [VCurrencySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [VCurrencySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [VProgressionSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [VProgressionSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [VCurrencySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [VCurrencySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [VProgressionSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [VProgressionSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [TransitorySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [PlugObjectiveSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [CharacterSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [StringVariableSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [InventoryItemSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ProgressionSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ActivitySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ActivitySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [CharacterSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [PlugObjectiveSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ProgressionSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [InventoryItemSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [CharacterSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [TransitorySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [SocketSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ActivitySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [StringVariableSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [PlugObjectiveSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [RecordSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [InventoryItemSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ProgressionSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [SocketSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ActivitySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [StringVariableSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [TransitorySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [CharacterSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [RecordSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [PlugObjectiveSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ProgressionSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [SocketSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [TransitorySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [CharacterSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ActivitySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ProgressionSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [StringVariableSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [InventoryItemSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [CharacterProfileProcessor] updateCharacters(): Updated characters; count=3
πŸ”΅ [StringVariableSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [PlugObjectiveSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [CharacterProfileProcessor] updateCharacters(): Updated characters; count=3
πŸ”΅ [SocketSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [InventoryItemSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [TransitorySplicer] importProfileData(): Imported; duration=0 seconds
βšͺ️ [StringVariableProfileProcessor] replaceModifiersDescription(): Complete; count=61
πŸ”΅ [RecordSplicer] importProfileData(): Imported; duration=0 seconds
βšͺ️ [StringVariableProfileProcessor] replaceModifiersDescription(): Complete; count=61
πŸ”΅ [CharacterProfileProcessor] updateCharacters(): Updated characters; count=3
πŸ”΅ [SocketSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [RecordSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [RecordSplicer] importProfileData(): Imported; duration=0 seconds
βšͺ️ [StringVariableProfileProcessor] replaceModifiersDescription(): Complete; count=61
πŸ”΅ [CharacterProfileProcessor] updateCharacters(): Updated characters; count=3
πŸ”΅ [BountyProfileProcessor] removeBounties(): Removed bounties; count=0
πŸ”΅ [CharacterProfileProcessor] updateCharacters(): Updated characters; count=3
πŸ”΅ [BountyProfileProcessor] removeBounties(): Removed bounties; count=0
βšͺ️ [StringVariableProfileProcessor] replaceModifiersDescription(): Complete; count=61
βšͺ️ [StringVariableProfileProcessor] replaceModifiersDescription(): Complete; count=61
πŸ”΅ [BountyProfileProcessor] removeBounties(): Removed bounties; count=0
πŸ”΅ [BountyProfileProcessor] removeBounties(): Removed bounties; count=0
πŸ”΅ [BountyProfileProcessor] removeBounties(): Removed bounties; count=0
πŸ”΅ [WeaponProfileProcessor] removeWeapons(): Removed weapons; count=0
πŸ”΅ [WeaponProfileProcessor] removeWeapons(): Removed weapons; count=0
πŸ”΅ [WeaponProfileProcessor] removeWeapons(): Removed weapons; count=0
πŸ”΅ [WeaponProfileProcessor] removeWeapons(): Removed weapons; count=0
πŸ”΅ [WeaponProfileProcessor] removeWeapons(): Removed weapons; count=0
πŸ”΅ [DeepsightProfileProcessor] process(): Identified Deepsight weapons; count=0
πŸ”΅ [DeepsightProfileProcessor] process(): Identified Deepsight weapons; count=0
πŸ”΅ [DeepsightProfileProcessor] process(): Identified Deepsight weapons; count=0
πŸ”΅ [DeepsightProfileProcessor] process(): Identified Deepsight weapons; count=0
πŸ”΅ [DeepsightProfileProcessor] process(): Identified Deepsight weapons; count=0
πŸ”΅ [FireteamCensus] getPendingMembers()
πŸ”΅ [FireteamCensus] getPendingMembers()
πŸ”΅ [FireteamCensus] getPendingMembers()
πŸ”΅ [FireteamCensus] getPendingMembers()
πŸ”΅ [FireteamCensus] admitPendingMembers()
πŸ”΅ [FireteamCensus] admitPendingMembers()
πŸ”΅ [FireteamCensus] getPendingMembers()
πŸ”΅ [FireteamCensus] admitPendingMembers()
πŸ”΅ [FireteamCensus] admitPendingMembers()
πŸ”΅ [FireteamCensus] admitPendingMembers()
πŸ”΅ [VCurrencySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [VCurrencySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [VProgressionSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [VCurrencySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [VProgressionSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [VCurrencySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [VProgressionSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [VProgressionSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [VProgressionSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [VCurrencySplicer] importProfileData(): Imported; duration=0 seconds
βšͺ️ [Librarian] isUpdateRequired(): No update required
2024-01-09 02:57:31.655715-0800 reckoner[87713:1853482] [connection] nw_socket_handle_socket_event [C23.1.1.1:3] Socket SO_ERROR [54: Connection reset by peer]
2024-01-09 02:57:31.655983-0800 reckoner[87713:1853482] [connection] nw_read_request_report [C23] Receive failed with error "Connection reset by peer"
πŸ”΅ [StringVariableSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [CharacterSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [TransitorySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ProgressionSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [PlugObjectiveSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ActivitySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [InventoryItemSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [SocketSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [RecordSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [CharacterProfileProcessor] updateCharacters(): Updated characters; count=3
βšͺ️ [StringVariableProfileProcessor] replaceModifiersDescription(): Complete; count=61
πŸ”΅ [BountyProfileProcessor] removeBounties(): Removed bounties; count=0
πŸ”΅ [WeaponProfileProcessor] removeWeapons(): Removed weapons; count=0
πŸ”΅ [DeepsightProfileProcessor] process(): Identified Deepsight weapons; count=0
πŸ”΅ [FireteamCensus] getPendingMembers()
πŸ”΅ [FireteamCensus] admitPendingMembers()
πŸ”΅ [VProgressionSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [VCurrencySplicer] importProfileData(): Imported; duration=0 seconds
βšͺ️ [Librarian] isUpdateRequired(): No update required
2024-01-09 03:01:22.739867-0800 reckoner[87713:1854307] [connection] nw_socket_handle_socket_event [C24.1.1.1:3] Socket SO_ERROR [54: Connection reset by peer]
2024-01-09 03:01:22.740095-0800 reckoner[87713:1854307] [connection] nw_read_request_report [C24] Receive failed with error "Connection reset by peer"
πŸ”΅ [CharacterSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [StringVariableSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ProgressionSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [TransitorySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ActivitySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [PlugObjectiveSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [InventoryItemSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [SocketSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [RecordSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [CharacterProfileProcessor] updateCharacters(): Updated characters; count=3
βšͺ️ [StringVariableProfileProcessor] replaceModifiersDescription(): Complete; count=61
πŸ”΅ [BountyProfileProcessor] removeBounties(): Removed bounties; count=0
πŸ”΅ [WeaponProfileProcessor] removeWeapons(): Removed weapons; count=0
πŸ”΅ [DeepsightProfileProcessor] process(): Identified Deepsight weapons; count=0
πŸ”΅ [FireteamCensus] getPendingMembers()
πŸ”΅ [FireteamCensus] admitPendingMembers()
πŸ”΅ [VCurrencySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [VProgressionSplicer] importProfileData(): Imported; duration=0 seconds
βšͺ️ [Librarian] isUpdateRequired(): No update required
πŸ”΅ [CharacterSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [TransitorySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [StringVariableSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [PlugObjectiveSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ProgressionSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ActivitySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [InventoryItemSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [SocketSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [RecordSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [CharacterProfileProcessor] updateCharacters(): Updated characters; count=3
βšͺ️ [StringVariableProfileProcessor] replaceModifiersDescription(): Complete; count=61
πŸ”΅ [BountyProfileProcessor] removeBounties(): Removed bounties; count=0
πŸ”΅ [WeaponProfileProcessor] removeWeapons(): Removed weapons; count=0
πŸ”΅ [DeepsightProfileProcessor] process(): Identified Deepsight weapons; count=0
πŸ”΅ [FireteamCensus] getPendingMembers()
πŸ”΅ [FireteamCensus] admitPendingMembers()
2024-01-09 03:33:05.536878-0800 reckoner[87713:1856050] [connection] nw_socket_handle_socket_event [C27.1.1.1:3] Socket SO_ERROR [54: Connection reset by peer]
2024-01-09 03:33:05.537479-0800 reckoner[87713:1856050] [connection] nw_read_request_report [C27] Receive failed with error "Connection reset by peer"
πŸ”΅ [Warden] authenticatedRequest(): Not authortized (HTTP 401)
πŸ”΅ [Warden] authenticatedRequest(): Not authortized (HTTP 401)
πŸ”΅ [Warden] attemptToRefreshAccessToken(): Attempting
πŸ”΅ [Warden] attemptToRefreshAccessToken(): Attempting
πŸ”΅ [Warden] authenticatedRequest(): Not authortized (HTTP 401)
πŸ”΅ [Warden] attemptToRefreshAccessToken(): Attempting
πŸ”΅ [Warden] authenticatedRequest(): Not authortized (HTTP 401)
πŸ”΅ [Warden] attemptToRefreshAccessToken(): Attempting
βšͺ️ [Warden] getAccessToken(): Authentication success
βšͺ️ [Warden] displayAppStorage(): wardenLastNewCodeSeconds2001 = Jan 9, 2024 at 3:33:05 AM
βšͺ️ [Warden] displayAppStorage(): wardenAccessToken            = (present)
βšͺ️ [Warden] displayAppStorage(): wardenAccessDuration         = 3600
βšͺ️ [Warden] displayAppStorage(): wardenRefreshToken           = (present)
βšͺ️ [Warden] displayAppStorage(): wardenRefreshDuration        = 7776000
βšͺ️ [Warden] getAccessToken(): Authentication success
βšͺ️ [Warden] displayAppStorage(): wardenLastNewCodeSeconds2001 = Jan 9, 2024 at 3:33:05 AM
βšͺ️ [Warden] displayAppStorage(): wardenAccessToken            = (present)
βšͺ️ [Warden] getAccessToken(): Authentication success
βšͺ️ [Warden] displayAppStorage(): wardenAccessDuration         = 3600
βšͺ️ [Warden] displayAppStorage(): wardenRefreshToken           = (present)
βšͺ️ [Warden] displayAppStorage(): wardenRefreshDuration        = 7776000
βšͺ️ [Warden] displayAppStorage(): wardenLastNewCodeSeconds2001 = Jan 9, 2024 at 3:33:05 AM
βšͺ️ [Warden] displayAppStorage(): wardenAccessToken            = (present)
βšͺ️ [Warden] displayAppStorage(): wardenAccessDuration         = 3600
βšͺ️ [Warden] displayAppStorage(): wardenRefreshToken           = (present)
βšͺ️ [Warden] displayAppStorage(): wardenRefreshDuration        = 7776000
βšͺ️ [Warden] getAccessToken(): Authentication success
βšͺ️ [Warden] displayAppStorage(): wardenLastNewCodeSeconds2001 = Jan 9, 2024 at 3:33:05 AM
βšͺ️ [Warden] displayAppStorage(): wardenAccessToken            = (present)
βšͺ️ [Warden] displayAppStorage(): wardenAccessDuration         = 3600
βšͺ️ [Warden] displayAppStorage(): wardenRefreshToken           = (present)
βšͺ️ [Warden] displayAppStorage(): wardenRefreshDuration        = 7776000
βšͺ️ [Librarian] isUpdateRequired(): No update required
βšͺ️ [Librarian] isUpdateRequired(): No update required
2024-01-09 03:50:05.829631-0800 reckoner[87713:1857131] [connection] nw_socket_handle_socket_event [C28.1.1.1:3] Socket SO_ERROR [54: Connection reset by peer]
2024-01-09 03:50:05.834315-0800 reckoner[87713:1857131] [connection] nw_read_request_report [C28] Receive failed with error "Connection reset by peer"
πŸ”΅ [CharacterSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [StringVariableSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ProgressionSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [TransitorySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [PlugObjectiveSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ActivitySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [InventoryItemSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [SocketSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [RecordSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [CharacterProfileProcessor] updateCharacters(): Updated characters; count=3
βšͺ️ [StringVariableProfileProcessor] replaceModifiersDescription(): Complete; count=61
πŸ”΅ [BountyProfileProcessor] removeBounties(): Removed bounties; count=0
πŸ”΅ [WeaponProfileProcessor] removeWeapons(): Removed weapons; count=0
πŸ”΅ [DeepsightProfileProcessor] process(): Identified Deepsight weapons; count=0
πŸ”΅ [FireteamCensus] getPendingMembers()
πŸ”΅ [FireteamCensus] admitPendingMembers()
πŸ”΅ [TransitorySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [CharacterSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ProgressionSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [StringVariableSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ActivitySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [PlugObjectiveSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [InventoryItemSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [SocketSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [RecordSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [CharacterProfileProcessor] updateCharacters(): Updated characters; count=3
βšͺ️ [StringVariableProfileProcessor] replaceModifiersDescription(): Complete; count=61
πŸ”΅ [BountyProfileProcessor] removeBounties(): Removed bounties; count=0
πŸ”΅ [WeaponProfileProcessor] removeWeapons(): Removed weapons; count=0
πŸ”΅ [DeepsightProfileProcessor] process(): Identified Deepsight weapons; count=0
πŸ”΅ [FireteamCensus] getPendingMembers()
πŸ”΅ [FireteamCensus] admitPendingMembers()
2024-01-09 04:00:32.960506-0800 reckoner[87713:1858048] [connection] nw_socket_handle_socket_event [C30.1.1.1:3] Socket SO_ERROR [54: Connection reset by peer]
2024-01-09 04:00:32.961261-0800 reckoner[87713:1858048] [connection] nw_read_request_report [C30] Receive failed with error "Connection reset by peer"
βšͺ️ [Librarian] isUpdateRequired(): No update required
2024-01-09 04:02:57.032922-0800 reckoner[87713:1858774] [connection] nw_socket_handle_socket_event [C31.1.1.1:3] Socket SO_ERROR [54: Connection reset by peer]
2024-01-09 04:02:57.033711-0800 reckoner[87713:1858774] [connection] nw_read_request_report [C31] Receive failed with error "Connection reset by peer"
2024-01-09 04:02:57.043276-0800 reckoner[87713:1858774] Task <0D3CC175-48F9-4E9C-A5B6-4F6736098E52>.<199> HTTP load failed, 1100/0 bytes (error code: -1005 [1:54])
2024-01-09 04:02:57.043421-0800 reckoner[87713:1858774] Task <AC8DFE49-4CDD-439B-A07E-C6BE05864A39>.<201> HTTP load failed, 804/0 bytes (error code: -1005 [1:54])
2024-01-09 04:02:57.043975-0800 reckoner[87713:1858052] Task <0D3CC175-48F9-4E9C-A5B6-4F6736098E52>.<199> finished with error [-1005] Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo={_kCFStreamErrorCodeKey=54, NSUnderlyingError=0x13dde48b0 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={_kCFStreamErrorCodeKey=54, _kCFStreamErrorDomainKey=1}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <0D3CC175-48F9-4E9C-A5B6-4F6736098E52>.<199>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <0D3CC175-48F9-4E9C-A5B6-4F6736098E52>.<199>"
), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=https://www.bungie.net/Platform/Destiny2/2/Profile/4611686018433563242/Character/2305843009325795828/Vendors/?components=400,600, NSErrorFailingURLKey=https://www.bungie.net/Platform/Destiny2/2/Profile/4611686018433563242/Character/2305843009325795828/Vendors/?components=400,600, _kCFStreamErrorDomainKey=1}
2024-01-09 04:02:57.044394-0800 reckoner[87713:1858052] Task <AC8DFE49-4CDD-439B-A07E-C6BE05864A39>.<201> finished with error [-1005] Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo={_kCFStreamErrorCodeKey=54, NSUnderlyingError=0x13dd26790 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={_kCFStreamErrorCodeKey=54, _kCFStreamErrorDomainKey=1}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <AC8DFE49-4CDD-439B-A07E-C6BE05864A39>.<201>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <AC8DFE49-4CDD-439B-A07E-C6BE05864A39>.<201>"
), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=https://www.bungie.net/Platform/Destiny2/2/Profile/4611686018433563242/Character/2305843009325795828/Vendors/?components=400,600, NSErrorFailingURLKey=https://www.bungie.net/Platform/Destiny2/2/Profile/4611686018433563242/Character/2305843009325795828/Vendors/?components=400,600, _kCFStreamErrorDomainKey=1}
πŸ”΄ [Warden] authenticatedRequest(): Request failed; error=URLSessionTask failed with error: The network connection was lost.
πŸ”΄ [Warden] authenticatedRequest(): Request failed; error=URLSessionTask failed with error: The network connection was lost.
πŸ”΄ [VendorCensus] update(): Error updating vendor data; error=vendorDataUnavailable
βšͺ️ [Librarian] isUpdateRequired(): No update required
πŸ”΅ [VProgressionSplicer] importProfileData(): Imported; duration=0 seconds
2024-01-09 04:22:18.521494-0800 reckoner[87713:1858775] [connection] nw_socket_handle_socket_event [C32.1.1.1:3] Socket SO_ERROR [54: Connection reset by peer]
2024-01-09 04:22:18.522610-0800 reckoner[87713:1858775] [connection] nw_read_request_report [C32] Receive failed with error "Connection reset by peer"
2024-01-09 04:22:18.529789-0800 reckoner[87713:1858775] Task <EB556869-FFC1-45F6-97DE-17F86A458CCB>.<205> HTTP load failed, 947/0 bytes (error code: -1005 [1:54])
2024-01-09 04:22:18.529961-0800 reckoner[87713:1858775] Task <41BA9C9F-864A-4A34-94D6-6107B9B587A1>.<206> HTTP load failed, 794/0 bytes (error code: -1005 [1:54])
2024-01-09 04:22:18.530095-0800 reckoner[87713:1858775] Task <301A8666-3B54-4644-B4AC-35A5B4665C90>.<207> HTTP load failed, 794/0 bytes (error code: -1005 [1:54])
2024-01-09 04:22:18.530530-0800 reckoner[87713:1859639] Task <EB556869-FFC1-45F6-97DE-17F86A458CCB>.<205> finished with error [-1005] Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo={_kCFStreamErrorCodeKey=54, NSUnderlyingError=0x14dde28f0 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={_kCFStreamErrorCodeKey=54, _kCFStreamErrorDomainKey=1}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <EB556869-FFC1-45F6-97DE-17F86A458CCB>.<205>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <EB556869-FFC1-45F6-97DE-17F86A458CCB>.<205>"
), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=https://www.bungie.net/Platform/Destiny2/2/Profile/4611686018433563242/Character/2305843009325795828/Vendors/?components=400,600, NSErrorFailingURLKey=https://www.bungie.net/Platform/Destiny2/2/Profile/4611686018433563242/Character/2305843009325795828/Vendors/?components=400,600, _kCFStreamErrorDomainKey=1}
2024-01-09 04:22:18.533162-0800 reckoner[87713:1859639] Task <41BA9C9F-864A-4A34-94D6-6107B9B587A1>.<206> finished with error [-1005] Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo={_kCFStreamErrorCodeKey=54, NSUnderlyingError=0x14dde2950 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={_kCFStreamErrorCodeKey=54, _kCFStreamErrorDomainKey=1}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <41BA9C9F-864A-4A34-94D6-6107B9B587A1>.<206>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <41BA9C9F-864A-4A34-94D6-6107B9B587A1>.<206>"
), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=https://www.bungie.net/Platform/Destiny2/2/Profile/4611686018433563242/Character/2305843009325795828/Vendors/?components=400,600, NSErrorFailingURLKey=https://www.bungie.net/Platform/Destiny2/2/Profile/4611686018433563242/Character/2305843009325795828/Vendors/?components=400,600, _kCFStreamErrorDomainKey=1}
πŸ”΄ [Warden] authenticatedRequest(): Request failed; error=URLSessionTask failed with error: The network connection was lost.2024-01-09 04:22:18.533543-0800 reckoner[87713:1859639] Task <301A8666-3B54-4644-B4AC-35A5B4665C90>.<207> finished with error [-1005] Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo={_kCFStreamErrorCodeKey=54, NSUnderlyingError=0x13f9ae3b0 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={_kCFStreamErrorCodeKey=54, _kCFStreamErrorDomainKey=1}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <301A8666-3B54-4644-B4AC-35A5B4665C90>.<207>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <301A8666-3B54-4644-B4AC-35A5B4665C90>.<207>"
), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=https://www.bungie.net/Platform/Destiny2/2/Profile/4611686018433563242/Character/2305843009325795828/Vendors/?components=400,600, NSErrorFailingURLKey=https://www.bungie.net/Platform/Destiny2/2/Profile/4611686018433563242/Character/2305843009325795828/Vendors/?components=400,600, _kCFStreamErrorDomainKey=1}

πŸ”΄ [Warden] authenticatedRequest(): Request failed; error=URLSessionTask failed with error: The network connection was lost.
πŸ”΄ [VendorCensus] update(): Error updating vendor data; error=vendorDataUnavailable
πŸ”΄ [Warden] authenticatedRequest(): Request failed; error=URLSessionTask failed with error: The network connection was lost.
πŸ”΄ [VendorCensus] update(): Error updating vendor data; error=vendorDataUnavailable
βšͺ️ [Librarian] isUpdateRequired(): No update required
βšͺ️ [Librarian] isUpdateRequired(): No update required
πŸ”΅ [CharacterSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [TransitorySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ProgressionSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [StringVariableSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [PlugObjectiveSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [ActivitySplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [InventoryItemSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [SocketSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [RecordSplicer] importProfileData(): Imported; duration=0 seconds
πŸ”΅ [CharacterProfileProcessor] updateCharacters(): Updated characters; count=3
βšͺ️ [StringVariableProfileProcessor] replaceModifiersDescription(): Complete; count=61
πŸ”΅ [BountyProfileProcessor] removeBounties(): Removed bounties; count=0
πŸ”΅ [WeaponProfileProcessor] removeWeapons(): Removed weapons; count=0
πŸ”΅ [DeepsightProfileProcessor] process(): Identified Deepsight weapons; count=0
πŸ”΅ [ProgressionSplicer] importProfileData(): Imported; duration=0 seconds
reckoner/ProfileDatabase.swift:57: Fatal error: Unexpectedly found nil while unwrapping an Optional value
2024-01-09 04:22:20.606651-0800 reckoner[87713:1860493] reckoner/ProfileDatabase.swift:57: Fatal error: Unexpectedly found nil while unwrapping an Optional value

Update Director sidebar to be consistent with Nightfalls

Minor consistency thing I just noticed. The rotating lost sectors and raid both have the name of the activity in large print with the difficulty level in small print below it. I like this as I can see at a glance what the lost sector/raid is. The nightfall just has the difficulty level and must be clicked on to see what one it is. I'd like it if it said "LAKE OF SHADOWS" for each with the difficulty level beneath it in the smaller print.

image

Fireteam view should handle when progression data is not provided

Some profiles do not return progression data (where we pull artifact unlocks from).

Here is the warning that appears in the application logs:

Error updating profile data; error=keyNotFound(CodingKeys(stringValue: "data", intValue: nil),
  
Swift.DecodingError.Context(
  codingPath: [
    CodingKeys(stringValue: "Response", intValue: nil),
    CodingKeys(stringValue: "progressions", intValue: nil)
  ],
  debugDescription: "No value associated with key CodingKeys(stringValue: \"data\", intValue: nil) (\"data\").",
  underlyingError: nil)
)

Crash in VendorProfileDatabase

reckoner/VendorProfileDatabase.swift:18: Fatal error: Unexpectedly found nil while unwrapping an Optional value
2024-01-09 18:41:42.845236-0800 reckoner[6377:2325029] reckoner/VendorProfileDatabase.swift:18: Fatal error: Unexpectedly found nil while unwrapping an Optional value

Crash in manifest import

Situation

Manifest import was optimized to perform imports in parallel, as there are no dependencies across imports; decoding JSON into Swift entities and storing those in memory for later lookup.

Complication

  • I'm seeing the odd crash here and there during manifest import.
  • The underlying ManifestDatabase was (unlike the other databases) never upgraded to support asynchronous access (?!).

Question

Shall we?

Answer

Yes

add weapon type as categories on the patterns tab

The Patterns tab is my most used feature in Vault Zero.

Now that we've got many seasons and activities behind us, it's pretty rare that I look at historical categories. Many of those sources aren't available anymore or are things I gave up grinding on as I'd gotten the things I wanted

CleanShot 2023-09-04 at 12 41 29

What I often want these days is to look at a weapon category (hand cannons, smgs, rocket launchers, etc) to see what craftable options there are.

A few seasons ago I gave up on crafting a god roll of every weapon, so there are often patterns that I could craft when the meta changes.

This season hand cannons are great and I'm looking for hand cannons I could possibly craft. I can't easily do that in VZ and end up using DIM for this feature with a query on the "Records" tab of is:craftable is:handcannon.

CleanShot 2023-09-04 at 12 49 34

That's missing the nice features of VZ to show which I've completed, or how close I am to finishing the pattern of each. It also doesn't show the element of the weapon on the icon like VZ.

It'd be nice to have these categories in VZ, possibly replacing the historical categories, or else just below them.

Finder: Breakers would be helpful to see in the item popup

Not required for this release, but is there value in having the anti-champ mods on the detail page? We'd talked about possibly including the text I had in the spreadsheet for the pink TedXoticβ„’ ones.

I can file an issue for that if that's something you'd like to do in the future (if not, that's cool too πŸ˜„ )

Good catch! I would like to have the breakers there πŸ’ͺ

Handle new error page

πŸ”΄ [Warden] authenticatedRequest(): Response validation failed; reason=unacceptableStatusCode(code: 504), body=<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en-US"> <![endif]-->
<!--[if IE 7]>    <html class="no-js ie7 oldie" lang="en-US"> <![endif]-->
<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en-US"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en-US"> <!--<![endif]-->
<head>


<title>www.bungie.net | 504: Gateway time-out</title>
<meta charset="UTF-8" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<meta name="robots" content="noindex, nofollow" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<link rel="stylesheet" id="cf_styles-css" href="/cdn-cgi/styles/main.css" />


</head>
<body>
<div id="cf-wrapper">
    <div id="cf-error-details" class="p-0">
        <header class="mx-auto pt-10 lg:pt-6 lg:px-8 w-240 lg:w-full mb-8">
            <h1 class="inline-block sm:block sm:mb-2 font-light text-60 lg:text-4xl text-black-dark leading-tight mr-2">
              <span class="inline-block">Gateway time-out</span>
              <span class="code-label">Error code 504</span>
            </h1>
            <div>
               Visit <a href="https://www.cloudflare.com/5xx-error-landing?utm_source=errorcode_504&utm_campaign=www.bungie.net" target="_blank" rel="noopener noreferrer">cloudflare.com</a> for more information.
            </div>
            <div class="mt-3">2024-01-09 16:01:10 UTC</div>
        </header>
        <div class="my-8 bg-gradient-gray">
            <div class="w-240 lg:w-full mx-auto">
                <div class="clearfix md:px-8">
                  
<div id="cf-browser-status" class=" relative w-1/3 md:w-full py-15 md:p-0 md:py-8 md:text-left md:border-solid md:border-0 md:border-b md:border-gray-400 overflow-hidden float-left md:float-none text-center">
  <div class="relative mb-10 md:m-0">
    
    <span class="cf-icon-browser block md:hidden h-20 bg-center bg-no-repeat"></span>
    <span class="cf-icon-ok w-12 h-12 absolute left-1/2 md:left-auto md:right-0 md:top-0 -ml-6 -bottom-4"></span>
    
  </div>
  <span class="md:block w-full truncate">You</span>
  <h3 class="md:inline-block mt-3 md:mt-0 text-2xl text-gray-600 font-light leading-1.3">
    
    Browser
    
  </h3>
  <span class="leading-1.3 text-2xl text-green-success">Working</span>
</div>

<div id="cf-cloudflare-status" class=" relative w-1/3 md:w-full py-15 md:p-0 md:py-8 md:text-left md:border-solid md:border-0 md:border-b md:border-gray-400 overflow-hidden float-left md:float-none text-center">
  <div class="relative mb-10 md:m-0">
    <a href="https://www.cloudflare.com/5xx-error-landing?utm_source=errorcode_504&utm_campaign=www.bungie.net" target="_blank" rel="noopener noreferrer">
    <span class="cf-icon-cloud block md:hidden h-20 bg-center bg-no-repeat"></span>
    <span class="cf-icon-ok w-12 h-12 absolute left-1/2 md:left-auto md:right-0 md:top-0 -ml-6 -bottom-4"></span>
    </a>
  </div>
  <span class="md:block w-full truncate">San Jose</span>
  <h3 class="md:inline-block mt-3 md:mt-0 text-2xl text-gray-600 font-light leading-1.3">
    <a href="https://www.cloudflare.com/5xx-error-landing?utm_source=errorcode_504&utm_campaign=www.bungie.net" target="_blank" rel="noopener noreferrer">
    Cloudflare
    </a>
  </h3>
  <span class="leading-1.3 text-2xl text-green-success">Working</span>
</div>

<div id="cf-host-status" class="cf-error-source relative w-1/3 md:w-full py-15 md:p-0 md:py-8 md:text-left md:border-solid md:border-0 md:border-b md:border-gray-400 overflow-hidden float-left md:float-none text-center">
  <div class="relative mb-10 md:m-0">
    
    <span class="cf-icon-server block md:hidden h-20 bg-center bg-no-repeat"></span>
    <span class="cf-icon-error w-12 h-12 absolute left-1/2 md:left-auto md:right-0 md:top-0 -ml-6 -bottom-4"></span>
    
  </div>
  <span class="md:block w-full truncate">www.bungie.net</span>
  <h3 class="md:inline-block mt-3 md:mt-0 text-2xl text-gray-600 font-light leading-1.3">
    
    Host
    
  </h3>
  <span class="leading-1.3 text-2xl text-red-error">Error</span>
</div>

                </div>
            </div>
        </div>

        <div class="w-240 lg:w-full mx-auto mb-8 lg:px-8">
            <div class="clearfix">
                <div class="w-1/2 md:w-full float-left pr-6 md:pb-10 md:pr-0 leading-relaxed">
                    <h2 class="text-3xl font-normal leading-1.3 mb-4">What happened?</h2>
                    <p>The web server reported a gateway time-out error.</p>
                </div>
                <div class="w-1/2 md:w-full float-left leading-relaxed">
                    <h2 class="text-3xl font-normal leading-1.3 mb-4">What can I do?</h2>
                    <p class="mb-6">Please try again in a few minutes.</p>
                </div>
            </div>
        </div>

        <div class="cf-error-footer cf-wrapper w-240 lg:w-full py-10 sm:py-4 sm:px-8 mx-auto text-center sm:text-left border-solid border-0 border-t border-gray-300">
  <p class="text-13">
    <span class="cf-footer-item sm:block sm:mb-1">Cloudflare Ray ID: <strong class="font-semibold">842de5559d6b6428</strong></span>
    <span class="cf-footer-separator sm:hidden">&bull;</span>
    <span id="cf-footer-item-ip" class="cf-footer-item hidden sm:block sm:mb-1">
      Your IP:
      <button type="button" id="cf-footer-ip-reveal" class="cf-footer-ip-reveal-btn">Click to reveal</button>
      <span class="hidden" id="cf-footer-ip">128.177.72.33</span>
      <span class="cf-footer-separator sm:hidden">&bull;</span>
    </span>
    <span class="cf-footer-item sm:block sm:mb-1"><span>Performance &amp; security by</span> <a rel="noopener noreferrer" href="https://www.cloudflare.com/5xx-error-landing?utm_source=errorcode_504&utm_campaign=www.bungie.net" id="brand_link" target="_blank">Cloudflare</a></span>
    
  </p>
  <script>(function(){function d(){var b=a.getElementById("cf-footer-item-ip"),c=a.getElementById("cf-footer-ip-reveal");b&&"classList"in b&&(b.classList.remove("hidden"),c.addEventListener("click",function(){c.classList.add("hidden");a.getElementById("cf-footer-ip").classList.remove("hidden")}))}var a=document;document.addEventListener&&a.addEventListener("DOMContentLoaded",d)})();</script>
</div><!-- /.error-footer -->


    </div>
</div>
</body>
</html>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.