@oxy.so/services 13.12.0 → 13.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/lib/commonjs/ui/context/commitSessionFlow.js +4 -0
  2. package/lib/commonjs/ui/context/commitSessionFlow.js.map +1 -1
  3. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +17 -2
  4. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  5. package/lib/commonjs/ui/context/oxyContextHelpers.js +2 -0
  6. package/lib/commonjs/ui/context/oxyContextHelpers.js.map +1 -1
  7. package/lib/commonjs/ui/hooks/useFollowTarget.js +9 -1
  8. package/lib/commonjs/ui/hooks/useFollowTarget.js.map +1 -1
  9. package/lib/commonjs/ui/hooks/useSessionManagement.js +3 -0
  10. package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -1
  11. package/lib/commonjs/ui/runtime/createOxyRuntime.js +1 -0
  12. package/lib/commonjs/ui/runtime/createOxyRuntime.js.map +1 -1
  13. package/lib/commonjs/ui/stores/followStore.js +14 -0
  14. package/lib/commonjs/ui/stores/followStore.js.map +1 -1
  15. package/lib/commonjs/ui/stores/followTargetStore.js +15 -5
  16. package/lib/commonjs/ui/stores/followTargetStore.js.map +1 -1
  17. package/lib/commonjs/ui/utils/errorHandlers.js +2 -0
  18. package/lib/commonjs/ui/utils/errorHandlers.js.map +1 -1
  19. package/lib/commonjs/ui/utils/followErrors.js +2 -0
  20. package/lib/commonjs/ui/utils/followErrors.js.map +1 -1
  21. package/lib/commonjs/ui/utils/sessionChangedError.js +20 -0
  22. package/lib/commonjs/ui/utils/sessionChangedError.js.map +1 -0
  23. package/lib/commonjs/ui/utils/sessionHelpers.js +2 -0
  24. package/lib/commonjs/ui/utils/sessionHelpers.js.map +1 -1
  25. package/lib/module/ui/context/commitSessionFlow.js +4 -0
  26. package/lib/module/ui/context/commitSessionFlow.js.map +1 -1
  27. package/lib/module/ui/context/hooks/useAuthOperations.js +17 -2
  28. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  29. package/lib/module/ui/context/oxyContextHelpers.js +3 -0
  30. package/lib/module/ui/context/oxyContextHelpers.js.map +1 -1
  31. package/lib/module/ui/hooks/useFollowTarget.js +10 -2
  32. package/lib/module/ui/hooks/useFollowTarget.js.map +1 -1
  33. package/lib/module/ui/hooks/useSessionManagement.js +3 -0
  34. package/lib/module/ui/hooks/useSessionManagement.js.map +1 -1
  35. package/lib/module/ui/runtime/createOxyRuntime.js +1 -0
  36. package/lib/module/ui/runtime/createOxyRuntime.js.map +1 -1
  37. package/lib/module/ui/stores/followStore.js +14 -0
  38. package/lib/module/ui/stores/followStore.js.map +1 -1
  39. package/lib/module/ui/stores/followTargetStore.js +14 -5
  40. package/lib/module/ui/stores/followTargetStore.js.map +1 -1
  41. package/lib/module/ui/utils/errorHandlers.js +2 -0
  42. package/lib/module/ui/utils/errorHandlers.js.map +1 -1
  43. package/lib/module/ui/utils/followErrors.js +3 -0
  44. package/lib/module/ui/utils/followErrors.js.map +1 -1
  45. package/lib/module/ui/utils/sessionChangedError.js +15 -0
  46. package/lib/module/ui/utils/sessionChangedError.js.map +1 -0
  47. package/lib/module/ui/utils/sessionHelpers.js +3 -0
  48. package/lib/module/ui/utils/sessionHelpers.js.map +1 -1
  49. package/lib/typescript/commonjs/ui/context/commitSessionFlow.d.ts.map +1 -1
  50. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  51. package/lib/typescript/commonjs/ui/context/oxyContextHelpers.d.ts.map +1 -1
  52. package/lib/typescript/commonjs/ui/hooks/useFollowTarget.d.ts.map +1 -1
  53. package/lib/typescript/commonjs/ui/hooks/useSessionManagement.d.ts.map +1 -1
  54. package/lib/typescript/commonjs/ui/runtime/createOxyRuntime.d.ts.map +1 -1
  55. package/lib/typescript/commonjs/ui/stores/followStore.d.ts.map +1 -1
  56. package/lib/typescript/commonjs/ui/stores/followTargetStore.d.ts +2 -0
  57. package/lib/typescript/commonjs/ui/stores/followTargetStore.d.ts.map +1 -1
  58. package/lib/typescript/commonjs/ui/utils/errorHandlers.d.ts.map +1 -1
  59. package/lib/typescript/commonjs/ui/utils/followErrors.d.ts.map +1 -1
  60. package/lib/typescript/commonjs/ui/utils/sessionChangedError.d.ts +8 -0
  61. package/lib/typescript/commonjs/ui/utils/sessionChangedError.d.ts.map +1 -0
  62. package/lib/typescript/commonjs/ui/utils/sessionHelpers.d.ts.map +1 -1
  63. package/lib/typescript/module/ui/context/commitSessionFlow.d.ts.map +1 -1
  64. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  65. package/lib/typescript/module/ui/context/oxyContextHelpers.d.ts.map +1 -1
  66. package/lib/typescript/module/ui/hooks/useFollowTarget.d.ts.map +1 -1
  67. package/lib/typescript/module/ui/hooks/useSessionManagement.d.ts.map +1 -1
  68. package/lib/typescript/module/ui/runtime/createOxyRuntime.d.ts.map +1 -1
  69. package/lib/typescript/module/ui/stores/followStore.d.ts.map +1 -1
  70. package/lib/typescript/module/ui/stores/followTargetStore.d.ts +2 -0
  71. package/lib/typescript/module/ui/stores/followTargetStore.d.ts.map +1 -1
  72. package/lib/typescript/module/ui/utils/errorHandlers.d.ts.map +1 -1
  73. package/lib/typescript/module/ui/utils/followErrors.d.ts.map +1 -1
  74. package/lib/typescript/module/ui/utils/sessionChangedError.d.ts +8 -0
  75. package/lib/typescript/module/ui/utils/sessionChangedError.d.ts.map +1 -0
  76. package/lib/typescript/module/ui/utils/sessionHelpers.d.ts.map +1 -1
  77. package/package.json +2 -2
  78. package/src/ui/context/__tests__/commitSessionFlow.test.ts +36 -0
  79. package/src/ui/context/commitSessionFlow.ts +4 -0
  80. package/src/ui/context/hooks/useAuthOperations.ts +14 -2
  81. package/src/ui/context/oxyContextHelpers.ts +3 -0
  82. package/src/ui/hooks/useFollowTarget.ts +10 -1
  83. package/src/ui/hooks/useSessionManagement.ts +3 -0
  84. package/src/ui/runtime/createOxyRuntime.ts +1 -0
  85. package/src/ui/stores/__tests__/followStore.test.ts +62 -0
  86. package/src/ui/stores/followStore.ts +14 -0
  87. package/src/ui/stores/followTargetStore.ts +11 -1
  88. package/src/ui/utils/errorHandlers.ts +2 -0
  89. package/src/ui/utils/followErrors.ts +3 -0
  90. package/src/ui/utils/sessionChangedError.ts +14 -0
  91. package/src/ui/utils/sessionHelpers.ts +2 -0
@@ -0,0 +1,14 @@
1
+ /** A locally superseded request is not a server rejection of the new session. */
2
+ export function isSessionChangedError(error: unknown): boolean {
3
+ return (
4
+ !!error && typeof error === 'object' && 'code' in error && error.code === 'AUTH_SESSION_CHANGED'
5
+ );
6
+ }
7
+
8
+ /** A locally superseded operation must not be mistaken for a server 401. */
9
+ export function createSessionChangedError(): Error & { code: string; status: number } {
10
+ return Object.assign(new Error('The request session changed'), {
11
+ code: 'AUTH_SESSION_CHANGED',
12
+ status: 401,
13
+ });
14
+ }
@@ -1,4 +1,5 @@
1
1
  import type { ClientSession } from '@oxy.so/core';
2
+ import { isSessionChangedError } from './sessionChangedError';
2
3
 
3
4
  interface DeviceSession {
4
5
  sessionId: string;
@@ -73,6 +74,7 @@ export const fetchSessionsWithFallback = async (
73
74
  const deviceSessions = await oxyServices.devices.sessions(sessionId);
74
75
  return mapSessionsToClient(deviceSessions, fallbackDeviceId, fallbackUserId);
75
76
  } catch (error) {
77
+ if (isSessionChangedError(error)) throw error;
76
78
  if (__DEV__ && logger) {
77
79
  logger('Failed to get device sessions, falling back to user sessions', error);
78
80
  }