@multiplatform.one/frappe-ui 7.83.1 → 7.84.0

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 (252) hide show
  1. package/dist/cjs/FrappeLikedBy.cjs +5 -4
  2. package/dist/cjs/FrappeLikedBy.native.js +5 -5
  3. package/dist/cjs/FrappeLikedBy.native.js.map +1 -1
  4. package/dist/cjs/FrappeReportBuilder.cjs +1 -1
  5. package/dist/cjs/FrappeReportBuilder.native.js +2 -2
  6. package/dist/cjs/FrappeReportBuilder.native.js.map +1 -1
  7. package/dist/cjs/formEngine/useSessionRoles.cjs +21 -17
  8. package/dist/cjs/formEngine/useSessionRoles.native.js +20 -20
  9. package/dist/cjs/formEngine/useSessionRoles.native.js.map +1 -1
  10. package/dist/cjs/index.cjs +6 -0
  11. package/dist/cjs/index.native.js +6 -0
  12. package/dist/cjs/index.native.js.map +1 -1
  13. package/dist/cjs/record/RecordPage.cjs +71 -68
  14. package/dist/cjs/record/RecordPage.native.js +76 -73
  15. package/dist/cjs/record/RecordPage.native.js.map +1 -1
  16. package/dist/cjs/sessionUser.cjs +76 -0
  17. package/dist/cjs/sessionUser.native.js +104 -0
  18. package/dist/cjs/sessionUser.native.js.map +1 -0
  19. package/dist/esm/FrappeLikedBy.mjs +5 -4
  20. package/dist/esm/FrappeLikedBy.mjs.map +1 -1
  21. package/dist/esm/FrappeLikedBy.native.js +5 -5
  22. package/dist/esm/FrappeLikedBy.native.js.map +1 -1
  23. package/dist/esm/FrappeReportBuilder.mjs +1 -1
  24. package/dist/esm/FrappeReportBuilder.mjs.map +1 -1
  25. package/dist/esm/FrappeReportBuilder.native.js +2 -2
  26. package/dist/esm/FrappeReportBuilder.native.js.map +1 -1
  27. package/dist/esm/formEngine/useSessionRoles.mjs +21 -17
  28. package/dist/esm/formEngine/useSessionRoles.mjs.map +1 -1
  29. package/dist/esm/formEngine/useSessionRoles.native.js +20 -20
  30. package/dist/esm/formEngine/useSessionRoles.native.js.map +1 -1
  31. package/dist/esm/index.mjs +2 -1
  32. package/dist/esm/index.mjs.map +1 -1
  33. package/dist/esm/index.native.js +2 -1
  34. package/dist/esm/index.native.js.map +1 -1
  35. package/dist/esm/record/RecordPage.mjs +72 -69
  36. package/dist/esm/record/RecordPage.mjs.map +1 -1
  37. package/dist/esm/record/RecordPage.native.js +77 -74
  38. package/dist/esm/record/RecordPage.native.js.map +1 -1
  39. package/dist/esm/sessionUser.mjs +47 -0
  40. package/dist/esm/sessionUser.mjs.map +1 -0
  41. package/dist/esm/sessionUser.native.js +72 -0
  42. package/dist/esm/sessionUser.native.js.map +1 -0
  43. package/dist/jsx/ChartCard.native.js.map +1 -1
  44. package/dist/jsx/FileBrowser/AttachLibrary.native.js.map +1 -1
  45. package/dist/jsx/FileBrowser/folderTree.native.js.map +1 -1
  46. package/dist/jsx/FileBrowser/index.native.js.map +1 -1
  47. package/dist/jsx/FileBrowser/types.native.js.map +1 -1
  48. package/dist/jsx/FileBrowser/viewPersistence.native.js.map +1 -1
  49. package/dist/jsx/FormSidebar.native.js.map +1 -1
  50. package/dist/jsx/FrappeAssignment.native.js.map +1 -1
  51. package/dist/jsx/FrappeCalendar.native.js.map +1 -1
  52. package/dist/jsx/FrappeChartCard.native.js.map +1 -1
  53. package/dist/jsx/FrappeConnectionIndicator.native.js.map +1 -1
  54. package/dist/jsx/FrappeDashboard.native.js.map +1 -1
  55. package/dist/jsx/FrappeForm.native.js.map +1 -1
  56. package/dist/jsx/FrappeFormActions.native.js.map +1 -1
  57. package/dist/jsx/FrappeFormConnections.native.js.map +1 -1
  58. package/dist/jsx/FrappeGantt.native.js.map +1 -1
  59. package/dist/jsx/FrappeImageView.native.js.map +1 -1
  60. package/dist/jsx/FrappeInsights.native.js.map +1 -1
  61. package/dist/jsx/FrappeKPICard.native.js.map +1 -1
  62. package/dist/jsx/FrappeKanban.native.js.map +1 -1
  63. package/dist/jsx/FrappeLikedBy.mjs +5 -4
  64. package/dist/jsx/FrappeLikedBy.mjs.map +1 -1
  65. package/dist/jsx/FrappeLikedBy.native.js +5 -5
  66. package/dist/jsx/FrappeLikedBy.native.js.map +1 -1
  67. package/dist/jsx/FrappeList.native.js.map +1 -1
  68. package/dist/jsx/FrappeListView.native.js.map +1 -1
  69. package/dist/jsx/FrappeNotConfigured.native.js.map +1 -1
  70. package/dist/jsx/FrappeProvider.native.js.map +1 -1
  71. package/dist/jsx/FrappeReconnectIndicator.native.js.map +1 -1
  72. package/dist/jsx/FrappeRecordView.native.js.map +1 -1
  73. package/dist/jsx/FrappeReportBuilder.mjs +1 -1
  74. package/dist/jsx/FrappeReportBuilder.mjs.map +1 -1
  75. package/dist/jsx/FrappeReportBuilder.native.js +2 -2
  76. package/dist/jsx/FrappeReportBuilder.native.js.map +1 -1
  77. package/dist/jsx/FrappeReportView.native.js.map +1 -1
  78. package/dist/jsx/FrappeRowsReader.native.js.map +1 -1
  79. package/dist/jsx/FrappeTable.native.js.map +1 -1
  80. package/dist/jsx/FrappeTreeView.native.js.map +1 -1
  81. package/dist/jsx/SyncErrorNotice.native.js.map +1 -1
  82. package/dist/jsx/commentActions.native.js.map +1 -1
  83. package/dist/jsx/components/attachments.native.js.map +1 -1
  84. package/dist/jsx/components/tags.native.js.map +1 -1
  85. package/dist/jsx/components/timeline.native.js.map +1 -1
  86. package/dist/jsx/dependsOn.native.js.map +1 -1
  87. package/dist/jsx/desk/DeskFormPage.native.js.map +1 -1
  88. package/dist/jsx/desk/DeskFormSidebar.native.js.map +1 -1
  89. package/dist/jsx/desk/DeskListPage.native.js.map +1 -1
  90. package/dist/jsx/desk/DeskShell.native.js.map +1 -1
  91. package/dist/jsx/desk/DeskSidebar.native.js.map +1 -1
  92. package/dist/jsx/desk/awesomebar.native.js.map +1 -1
  93. package/dist/jsx/fieldOverrides.native.js.map +1 -1
  94. package/dist/jsx/fieldRegistry.native.js.map +1 -1
  95. package/dist/jsx/fields/Barcode/index.native.js.map +1 -1
  96. package/dist/jsx/fields/Check/index.native.js.map +1 -1
  97. package/dist/jsx/fields/CodeEditor/index.native.js.map +1 -1
  98. package/dist/jsx/fields/Color/index.native.js.map +1 -1
  99. package/dist/jsx/fields/Data/index.native.js.map +1 -1
  100. package/dist/jsx/fields/Date/catalog.native.js.map +1 -1
  101. package/dist/jsx/fields/Date/index.native.js.map +1 -1
  102. package/dist/jsx/fields/Date/types.native.js.map +1 -1
  103. package/dist/jsx/fields/Date/wire.native.js.map +1 -1
  104. package/dist/jsx/fields/DateRange/index.native.js.map +1 -1
  105. package/dist/jsx/fields/Duration/index.native.js.map +1 -1
  106. package/dist/jsx/fields/DynamicLink.native.js.map +1 -1
  107. package/dist/jsx/fields/FileUpload.native.js.map +1 -1
  108. package/dist/jsx/fields/FileUploadField/index.native.js.map +1 -1
  109. package/dist/jsx/fields/Geolocation/index.native.js.map +1 -1
  110. package/dist/jsx/fields/HTML/index.native.js.map +1 -1
  111. package/dist/jsx/fields/Heading/index.native.js.map +1 -1
  112. package/dist/jsx/fields/Icon/index.native.js.map +1 -1
  113. package/dist/jsx/fields/Link.native.js.map +1 -1
  114. package/dist/jsx/fields/LinkTree.native.js.map +1 -1
  115. package/dist/jsx/fields/LongText/index.native.js.map +1 -1
  116. package/dist/jsx/fields/MentionInput/index.native.js.map +1 -1
  117. package/dist/jsx/fields/Numeric/index.native.js.map +1 -1
  118. package/dist/jsx/fields/OTPInput/index.native.js.map +1 -1
  119. package/dist/jsx/fields/Password/index.native.js.map +1 -1
  120. package/dist/jsx/fields/Phone/index.native.js.map +1 -1
  121. package/dist/jsx/fields/Progress/index.native.js.map +1 -1
  122. package/dist/jsx/fields/RadioGroup/index.native.js.map +1 -1
  123. package/dist/jsx/fields/Rating/index.native.js.map +1 -1
  124. package/dist/jsx/fields/ReadOnly/index.native.js.map +1 -1
  125. package/dist/jsx/fields/Select/index.native.js.map +1 -1
  126. package/dist/jsx/fields/Signature/index.native.js.map +1 -1
  127. package/dist/jsx/fields/Slider/index.native.js.map +1 -1
  128. package/dist/jsx/fields/SmallText/index.native.js.map +1 -1
  129. package/dist/jsx/fields/Switch/index.native.js.map +1 -1
  130. package/dist/jsx/fields/TableMultiSelect.native.js.map +1 -1
  131. package/dist/jsx/fields/TextEditor/types.native.js.map +1 -1
  132. package/dist/jsx/fields/TimePicker/index.native.js.map +1 -1
  133. package/dist/jsx/fields/ToggleGroup/index.native.js.map +1 -1
  134. package/dist/jsx/fields/shared/EditorPreviewPanes.native.js.map +1 -1
  135. package/dist/jsx/filterFields.native.js.map +1 -1
  136. package/dist/jsx/formEngine/createPrefill.native.js.map +1 -1
  137. package/dist/jsx/formEngine/dirtyTracking.native.js.map +1 -1
  138. package/dist/jsx/formEngine/docLifecycle.native.js.map +1 -1
  139. package/dist/jsx/formEngine/docPermissions.native.js.map +1 -1
  140. package/dist/jsx/formEngine/doctypeMeta.native.js.map +1 -1
  141. package/dist/jsx/formEngine/fetchFrom.native.js.map +1 -1
  142. package/dist/jsx/formEngine/fieldPermissions.native.js.map +1 -1
  143. package/dist/jsx/formEngine/formActions.native.js.map +1 -1
  144. package/dist/jsx/formEngine/formLayout.native.js.map +1 -1
  145. package/dist/jsx/formEngine/index.native.js.map +1 -1
  146. package/dist/jsx/formEngine/useAmendedAs.native.js.map +1 -1
  147. package/dist/jsx/formEngine/useDocRights.native.js.map +1 -1
  148. package/dist/jsx/formEngine/useFormEngine.native.js.map +1 -1
  149. package/dist/jsx/formEngine/useSessionRoles.mjs +21 -17
  150. package/dist/jsx/formEngine/useSessionRoles.mjs.map +1 -1
  151. package/dist/jsx/formEngine/useSessionRoles.native.js +20 -20
  152. package/dist/jsx/formEngine/useSessionRoles.native.js.map +1 -1
  153. package/dist/jsx/frappeConnections.native.js.map +1 -1
  154. package/dist/jsx/frappeEventColor.native.js.map +1 -1
  155. package/dist/jsx/frappeNavigation.native.js.map +1 -1
  156. package/dist/jsx/frappeStoryTarget.native.js.map +1 -1
  157. package/dist/jsx/frappeUsers.native.js.map +1 -1
  158. package/dist/jsx/index.js +2 -1
  159. package/dist/jsx/index.js.map +1 -1
  160. package/dist/jsx/index.mjs +2 -1
  161. package/dist/jsx/index.mjs.map +1 -1
  162. package/dist/jsx/index.native.js +6 -0
  163. package/dist/jsx/index.native.js.map +1 -1
  164. package/dist/jsx/insights/InsightsFacetTags.native.js.map +1 -1
  165. package/dist/jsx/insights/InsightsKpiBand.native.js.map +1 -1
  166. package/dist/jsx/insights/InsightsLeaders.native.js.map +1 -1
  167. package/dist/jsx/insights/InsightsRecords.native.js.map +1 -1
  168. package/dist/jsx/insights/InsightsTable.native.js.map +1 -1
  169. package/dist/jsx/insights/insightsData.native.js.map +1 -1
  170. package/dist/jsx/insights/insightsRecord.native.js.map +1 -1
  171. package/dist/jsx/list/BandFilters.native.js.map +1 -1
  172. package/dist/jsx/list/FacetBadge.native.js.map +1 -1
  173. package/dist/jsx/list/FacetList.native.js.map +1 -1
  174. package/dist/jsx/list/FacetRail.native.js.map +1 -1
  175. package/dist/jsx/list/ImageWell.native.js.map +1 -1
  176. package/dist/jsx/list/ListControls.native.js.map +1 -1
  177. package/dist/jsx/list/ListControlsSheet.native.js.map +1 -1
  178. package/dist/jsx/list/ListFilterPanel.native.js.map +1 -1
  179. package/dist/jsx/list/ListFiltersButton.native.js.map +1 -1
  180. package/dist/jsx/list/ListSidebarToolbar.native.js.map +1 -1
  181. package/dist/jsx/list/ListToastHost.native.js.map +1 -1
  182. package/dist/jsx/list/ListToolsSheet.native.js.map +1 -1
  183. package/dist/jsx/list/RangeFilter.native.js.map +1 -1
  184. package/dist/jsx/list/ShufflePanel.native.js.map +1 -1
  185. package/dist/jsx/list/defaultProjection.native.js.map +1 -1
  186. package/dist/jsx/list/facetBadgeSteps.native.js.map +1 -1
  187. package/dist/jsx/list/facetReading.native.js.map +1 -1
  188. package/dist/jsx/list/favorites.native.js.map +1 -1
  189. package/dist/jsx/list/listColumns.native.js.map +1 -1
  190. package/dist/jsx/list/listControls.fixture.native.js.map +1 -1
  191. package/dist/jsx/list/listFields.native.js.map +1 -1
  192. package/dist/jsx/list/listFormat.native.js.map +1 -1
  193. package/dist/jsx/list/listState.native.js.map +1 -1
  194. package/dist/jsx/list/recordLook.native.js.map +1 -1
  195. package/dist/jsx/list/statusColors.native.js.map +1 -1
  196. package/dist/jsx/list/useListControls.native.js.map +1 -1
  197. package/dist/jsx/liveErrors.native.js.map +1 -1
  198. package/dist/jsx/measures.native.js.map +1 -1
  199. package/dist/jsx/record/RecordBars.native.js.map +1 -1
  200. package/dist/jsx/record/RecordGallery.native.js.map +1 -1
  201. package/dist/jsx/record/RecordHero.native.js.map +1 -1
  202. package/dist/jsx/record/RecordPage.mjs +72 -69
  203. package/dist/jsx/record/RecordPage.mjs.map +1 -1
  204. package/dist/jsx/record/RecordPage.native.js +76 -73
  205. package/dist/jsx/record/RecordPage.native.js.map +1 -1
  206. package/dist/jsx/record/RecordPager.native.js.map +1 -1
  207. package/dist/jsx/record/RecordRows.native.js.map +1 -1
  208. package/dist/jsx/record/recordData.native.js.map +1 -1
  209. package/dist/jsx/record/recordSections.native.js.map +1 -1
  210. package/dist/jsx/recordShape.native.js.map +1 -1
  211. package/dist/jsx/report/ReportGrid.native.js.map +1 -1
  212. package/dist/jsx/report/ReportViewToolbar.native.js.map +1 -1
  213. package/dist/jsx/report/exportCsv.native.js.map +1 -1
  214. package/dist/jsx/report/queryReport.native.js.map +1 -1
  215. package/dist/jsx/report/queryReportColumns.native.js.map +1 -1
  216. package/dist/jsx/report/reportViewModel.native.js.map +1 -1
  217. package/dist/jsx/report/savedReports.native.js.map +1 -1
  218. package/dist/jsx/report/useFrappeReport.native.js.map +1 -1
  219. package/dist/jsx/report/useQueryReport.native.js.map +1 -1
  220. package/dist/jsx/resolveControl.native.js.map +1 -1
  221. package/dist/jsx/schemaForm/SchemaWizard.native.js.map +1 -1
  222. package/dist/jsx/schemaForm/applyFieldOrder.native.js.map +1 -1
  223. package/dist/jsx/schemaForm/index.native.js.map +1 -1
  224. package/dist/jsx/sessionUser.mjs +47 -0
  225. package/dist/jsx/sessionUser.mjs.map +1 -0
  226. package/dist/jsx/sessionUser.native.js +104 -0
  227. package/dist/jsx/sessionUser.native.js.map +1 -0
  228. package/dist/jsx/shared/devWarn.native.js.map +1 -1
  229. package/dist/jsx/shared/useKeyboardInset.native.js.map +1 -1
  230. package/dist/jsx/syncError.native.js.map +1 -1
  231. package/dist/jsx/useConnectionFilters.native.js.map +1 -1
  232. package/dist/jsx/useFrappeAggregate.native.js.map +1 -1
  233. package/dist/jsx/useFrappeFacets.native.js.map +1 -1
  234. package/dist/jsx/useFrappeForm.native.js.map +1 -1
  235. package/dist/jsx/useFrappePagination.native.js.map +1 -1
  236. package/dist/jsx/useFrappeRows.native.js.map +1 -1
  237. package/package.json +18 -18
  238. package/src/FrappeLikedBy.tsx +6 -6
  239. package/src/FrappeReportBuilder.tsx +4 -4
  240. package/src/formEngine/useSessionRoles.ts +21 -14
  241. package/src/guestFallback.spec.tsx +15 -0
  242. package/src/index.ts +8 -0
  243. package/src/record/RecordPage.tsx +65 -60
  244. package/src/sessionUser.spec.tsx +84 -0
  245. package/src/sessionUser.ts +65 -0
  246. package/types/FrappeLikedBy.d.ts.map +1 -1
  247. package/types/formEngine/useSessionRoles.d.ts.map +1 -1
  248. package/types/index.d.ts +1 -0
  249. package/types/index.d.ts.map +1 -1
  250. package/types/record/RecordPage.d.ts.map +1 -1
  251. package/types/sessionUser.d.ts +14 -0
  252. package/types/sessionUser.d.ts.map +1 -0
@@ -11,6 +11,7 @@
11
11
  */
12
12
 
13
13
  import { useEffect, useRef, useState } from "react";
14
+ import { loadSessionUser, sessionUserKey, useSessionRevision } from "../sessionUser";
14
15
  import { createHttpClient, type FrappeConnection } from "./formActions";
15
16
 
16
17
  interface SessionIdentity {
@@ -18,14 +19,12 @@ interface SessionIdentity {
18
19
  roles: string[];
19
20
  }
20
21
 
21
- const sessionCache = new Map<string, Promise<SessionIdentity>>();
22
+ const sessionCache = new Map<string, Promise<SessionIdentity | null>>();
22
23
 
23
- function fetchSession(connection: FrappeConnection): Promise<SessionIdentity> {
24
- const http = createHttpClient(connection);
25
- return http.get<{ message?: string }>("/api/method/frappe.auth.get_logged_user").then((res) => {
26
- const user = res.payload?.message;
27
- if (!user || typeof user !== "string") throw new Error("No session user");
28
- return http
24
+ function fetchSession(connection: FrappeConnection): Promise<SessionIdentity | null> {
25
+ return loadSessionUser(connection).then((user) => {
26
+ if (user === "Guest") return null;
27
+ return createHttpClient(connection)
29
28
  .get<{ message?: string[] }>("/api/method/frappe.core.doctype.user.user.get_roles", {
30
29
  uid: user,
31
30
  })
@@ -64,6 +63,9 @@ export function useFrappeSession(connection: SessionConnection | undefined): Fra
64
63
  const connectionRef = useRef(connection);
65
64
  connectionRef.current = connection;
66
65
 
66
+ const authKey = connection ? sessionUserKey(connection) : "";
67
+ const revision = useSessionRevision();
68
+
67
69
  useEffect(() => {
68
70
  const current = connectionRef.current;
69
71
  if (!current || fixtures || !baseURL) {
@@ -72,15 +74,20 @@ export function useFrappeSession(connection: SessionConnection | undefined): Fra
72
74
  }
73
75
  let cancelled = false;
74
76
  setSession((prev) => (prev.state === "loading" ? prev : { state: "loading" }));
75
- let promise = sessionCache.get(baseURL);
77
+ const key = `${authKey}#${revision}`;
78
+ let promise = sessionCache.get(key);
76
79
  if (!promise) {
77
- promise = fetchSession({ ...current, baseURL });
78
- sessionCache.set(baseURL, promise);
79
- promise.catch(() => sessionCache.delete(baseURL));
80
+ const pending = fetchSession({ ...current, baseURL });
81
+ promise = pending;
82
+ sessionCache.set(key, pending);
83
+ pending.catch(() => {
84
+ if (sessionCache.get(key) === pending) sessionCache.delete(key);
85
+ });
80
86
  }
81
87
  promise
82
- .then(({ user, roles }) => {
83
- if (!cancelled) setSession({ user, roles, state: "ready" });
88
+ .then((identity) => {
89
+ if (cancelled) return;
90
+ setSession(identity ? { ...identity, state: "ready" } : { state: "failed" });
84
91
  })
85
92
  .catch(() => {
86
93
  if (!cancelled) setSession({ state: "failed" });
@@ -88,7 +95,7 @@ export function useFrappeSession(connection: SessionConnection | undefined): Fra
88
95
  return () => {
89
96
  cancelled = true;
90
97
  };
91
- }, [baseURL, fixtures]);
98
+ }, [baseURL, fixtures, authKey, revision]);
92
99
 
93
100
  if (!active) return idleSession;
94
101
  return session.state === "idle" ? loadingSession : session;
@@ -38,6 +38,7 @@ const tackle = {
38
38
  move_name: "tackle",
39
39
  power: 40,
40
40
  accuracy: 0.95,
41
+ pp: 35,
41
42
  };
42
43
 
43
44
  const settle = { timeout: 8000 };
@@ -203,6 +204,20 @@ describe("LC-96 guest fallback: report views", () => {
203
204
  expect(screen.queryByRole("button", { name: /save as/i })).toBeNull();
204
205
  });
205
206
 
207
+ it("a doctype report on a phone opens on the phone's fitted columns (FZ-7684)", async () => {
208
+ const width = window.innerWidth;
209
+ window.innerWidth = 390;
210
+ try {
211
+ renderReport("builder");
212
+ await waitFor(() => expect(screen.getAllByText("a1b2c3").length).toBeGreaterThan(0), settle);
213
+ expect(screen.getAllByText("40").length).toBeGreaterThan(0);
214
+ expect(screen.getAllByText("35").length).toBeGreaterThan(0);
215
+ expect(screen.queryAllByText("tackle")).toHaveLength(0);
216
+ } finally {
217
+ window.innerWidth = width;
218
+ }
219
+ });
220
+
206
221
  it("a doctype report whose rows are refused too says the reader can't open it, with no retry", async () => {
207
222
  recordsReadable = false;
208
223
  renderReport("builder");
package/src/index.ts CHANGED
@@ -664,6 +664,14 @@ export type {
664
664
  ResolveDocRightsInput,
665
665
  SessionDocRightsInput,
666
666
  } from "./formEngine";
667
+ export {
668
+ clearSessionIdentityCache,
669
+ getSessionRevision,
670
+ loadSessionUser,
671
+ sessionUserKey,
672
+ useSessionRevision,
673
+ type SessionUserSource,
674
+ } from "./sessionUser";
667
675
  export { connectionFields, connectionsFromMeta, type FrappeConnection } from "./frappeConnections";
668
676
 
669
677
  // ---------------------------------------------------------------------------
@@ -4,6 +4,7 @@ import {
4
4
  H1,
5
5
  PageBackButton,
6
6
  PageSection,
7
+ PushedPage,
7
8
  Quote,
8
9
  Screen,
9
10
  ScreenToolbar,
@@ -324,71 +325,75 @@ export function RecordPage<TDoc extends { name: string; doctype: string }>({
324
325
  </>
325
326
  );
326
327
 
328
+ // LC-270 hero: a pushed page whose name heads the identity block; the bar
329
+ // takes that name only once it scrolls away (LC-157).
327
330
  return (
328
- <Screen
329
- noPadding
330
- gap={0}
331
- maxWidth={DETAIL_READABLE_WIDTH}
332
- topBar={
333
- <RecordTopBar
334
- listName={listName}
335
- onBack={() => navigate(route)}
336
- slug={slug}
337
- trailing={trailing}
338
- />
339
- }
340
- >
341
- <RecordHeroFrame tint={tint} testID={`${slug}-detail-stage`}>
342
- <YStack testID={`${slug}-hero-art`}>
343
- <RecordGallery images={images} slides={slides} alt={title} />
344
- </YStack>
345
- </RecordHeroFrame>
331
+ <PushedPage hero>
332
+ <Screen
333
+ noPadding
334
+ gap={0}
335
+ maxWidth={DETAIL_READABLE_WIDTH}
336
+ topBar={
337
+ <RecordTopBar
338
+ listName={listName}
339
+ onBack={() => navigate(route)}
340
+ slug={slug}
341
+ trailing={trailing}
342
+ />
343
+ }
344
+ >
345
+ <RecordHeroFrame tint={tint} testID={`${slug}-detail-stage`}>
346
+ <YStack testID={`${slug}-hero-art`}>
347
+ <RecordGallery images={images} slides={slides} alt={title} />
348
+ </YStack>
349
+ </RecordHeroFrame>
346
350
 
347
- <RecordHeroIdentityColumn testID={`${slug}-hero-identity`}>
348
- <XStack gap="$2" alignItems="center" flexWrap="wrap">
349
- {code ? (
350
- <Text
351
- {...nested.label}
352
- fontWeight="700"
353
- color={(tint ? `$${tint}11` : "$color11") as never}
354
- >
355
- {code}
351
+ <RecordHeroIdentityColumn testID={`${slug}-hero-identity`}>
352
+ <XStack gap="$2" alignItems="center" flexWrap="wrap">
353
+ {code ? (
354
+ <Text
355
+ {...nested.label}
356
+ fontWeight="700"
357
+ color={(tint ? `$${tint}11` : "$color11") as never}
358
+ >
359
+ {code}
360
+ </Text>
361
+ ) : null}
362
+ {values.map((value) => (
363
+ <FacetBadge
364
+ key={value}
365
+ label={facet?.optionLabel?.(value) ?? value}
366
+ tint={facet?.tint?.(value)}
367
+ />
368
+ ))}
369
+ </XStack>
370
+ <RecordLargeTitle title={title} />
371
+ {look?.subtitle?.(doc) ? (
372
+ <Text {...nested.body} color="$textMuted">
373
+ {look.subtitle(doc)}
356
374
  </Text>
357
375
  ) : null}
358
- {values.map((value) => (
359
- <FacetBadge
360
- key={value}
361
- label={facet?.optionLabel?.(value) ?? value}
362
- tint={facet?.tint?.(value)}
363
- />
364
- ))}
365
- </XStack>
366
- <RecordLargeTitle title={title} />
367
- {look?.subtitle?.(doc) ? (
368
- <Text {...nested.body} color="$textMuted">
369
- {look.subtitle(doc)}
370
- </Text>
371
- ) : null}
372
- <RecordVitals
373
- tiles={metrics.map((metric) => {
374
- const value = metricValue(doc, metric.field);
375
- return {
376
- id: metric.field,
377
- label: metric.label,
378
- value: metric.format ? metric.format(value) : String(value),
379
- };
380
- })}
381
- />
382
- </RecordHeroIdentityColumn>
376
+ <RecordVitals
377
+ tiles={metrics.map((metric) => {
378
+ const value = metricValue(doc, metric.field);
379
+ return {
380
+ id: metric.field,
381
+ label: metric.label,
382
+ value: metric.format ? metric.format(value) : String(value),
383
+ };
384
+ })}
385
+ />
386
+ </RecordHeroIdentityColumn>
383
387
 
384
- <YStack {...knobProps.gapLg} paddingTop={knobProps.panelPadding.padding} paddingBottom="$6">
385
- {tabItems.length > 0 ? (
386
- <Tabs defaultValue={tabItems[0]?.value} lazyMount items={tabItems} />
387
- ) : null}
388
- <YStack {...knobProps.panelPadding} paddingVertical={0}>
389
- <RecordPager prev={pagerEntry(prev)} next={pagerEntry(next)} testID={slug} />
388
+ <YStack {...knobProps.gapLg} paddingTop={knobProps.panelPadding.padding} paddingBottom="$6">
389
+ {tabItems.length > 0 ? (
390
+ <Tabs defaultValue={tabItems[0]?.value} lazyMount items={tabItems} />
391
+ ) : null}
392
+ <YStack {...knobProps.panelPadding} paddingVertical={0}>
393
+ <RecordPager prev={pagerEntry(prev)} next={pagerEntry(next)} testID={slug} />
394
+ </YStack>
390
395
  </YStack>
391
- </YStack>
392
- </Screen>
396
+ </Screen>
397
+ </PushedPage>
393
398
  );
394
399
  }
@@ -0,0 +1,84 @@
1
+ // @vitest-environment happy-dom
2
+ import { act, cleanup, render, screen, waitFor } from "@testing-library/react";
3
+ import { afterEach, beforeEach, expect, it, vi } from "vitest";
4
+ import { useFrappeSession } from "./formEngine/useSessionRoles";
5
+ import { FrappeProvider, useFrappeConfig } from "./FrappeProvider";
6
+ import { clearSessionIdentityCache, loadSessionUser } from "./sessionUser";
7
+
8
+ let run = 0;
9
+ let status = 403;
10
+ const calls = { user: 0, roles: 0 };
11
+
12
+ function Consumer({ id }: { id: string }) {
13
+ const session = useFrappeSession(useFrappeConfig());
14
+ return <span data-testid={id}>{session.state}</span>;
15
+ }
16
+
17
+ function Tree() {
18
+ return (
19
+ <FrappeProvider baseURL={`https://session-${run}.spec.test`} realtime={false}>
20
+ <Consumer id="a" />
21
+ <Consumer id="b" />
22
+ <Consumer id="c" />
23
+ </FrappeProvider>
24
+ );
25
+ }
26
+
27
+ async function settled(state: string) {
28
+ await waitFor(() => {
29
+ for (const id of ["a", "b", "c"]) expect(screen.getByTestId(id).textContent).toBe(state);
30
+ });
31
+ }
32
+
33
+ beforeEach(() => {
34
+ run += 1;
35
+ status = 403;
36
+ calls.user = 0;
37
+ calls.roles = 0;
38
+ vi.stubGlobal("fetch", async (input: string | URL | Request) => {
39
+ const url = new URL(String(input instanceof Request ? input.url : input));
40
+ if (url.pathname.endsWith("frappe.auth.get_logged_user")) {
41
+ calls.user += 1;
42
+ return Response.json(status === 200 ? { message: "reader@example.test" } : {}, { status });
43
+ }
44
+ if (url.pathname.endsWith("frappe.core.doctype.user.user.get_roles")) {
45
+ calls.roles += 1;
46
+ return Response.json({ message: ["Reader"] });
47
+ }
48
+ return Response.json({});
49
+ });
50
+ });
51
+
52
+ afterEach(() => {
53
+ cleanup();
54
+ vi.unstubAllGlobals();
55
+ });
56
+
57
+ it("asks a guest's bench who is signed in once, across consumers and remounts", async () => {
58
+ const view = render(<Tree />);
59
+ await settled("failed");
60
+ await loadSessionUser({ baseURL: `https://session-${run}.spec.test` });
61
+ view.unmount();
62
+ render(<Tree />);
63
+ await settled("failed");
64
+ expect(calls).toEqual({ user: 1, roles: 0 });
65
+ });
66
+
67
+ it("reads a signed-in user and their roles once", async () => {
68
+ status = 200;
69
+ const view = render(<Tree />);
70
+ await settled("ready");
71
+ view.unmount();
72
+ render(<Tree />);
73
+ await settled("ready");
74
+ expect(calls).toEqual({ user: 1, roles: 1 });
75
+ });
76
+
77
+ it("asks again once the session identity is cleared", async () => {
78
+ render(<Tree />);
79
+ await settled("failed");
80
+ status = 200;
81
+ act(() => clearSessionIdentityCache());
82
+ await settled("ready");
83
+ expect(calls).toEqual({ user: 2, roles: 1 });
84
+ });
@@ -0,0 +1,65 @@
1
+ import { HttpClient, type AuthConfig } from "@multiplatform.one/frappe";
2
+ import { useSyncExternalStore } from "react";
3
+
4
+ export interface SessionUserSource {
5
+ baseURL?: string;
6
+ auth?: {
7
+ useToken?: boolean;
8
+ token?: string | (() => string | Promise<string>);
9
+ type?: string;
10
+ };
11
+ }
12
+
13
+ const users = new Map<string, Promise<string>>();
14
+ let revision = 0;
15
+ const listeners = new Set<() => void>();
16
+
17
+ function subscribe(listener: () => void) {
18
+ listeners.add(listener);
19
+ return () => {
20
+ listeners.delete(listener);
21
+ };
22
+ }
23
+
24
+ function getRevision() {
25
+ return revision;
26
+ }
27
+
28
+ export function getSessionRevision(): number {
29
+ return revision;
30
+ }
31
+
32
+ export function useSessionRevision(): number {
33
+ return useSyncExternalStore(subscribe, getRevision, getRevision);
34
+ }
35
+
36
+ export function sessionUserKey(source: SessionUserSource): string {
37
+ const auth = source.auth;
38
+ return `${source.baseURL ?? ""}:${auth?.useToken ? "t" : ""}:${auth?.token ?? ""}:${auth?.type ?? ""}`;
39
+ }
40
+
41
+ export function clearSessionIdentityCache(): void {
42
+ users.clear();
43
+ revision += 1;
44
+ for (const listener of listeners) listener();
45
+ }
46
+
47
+ export function loadSessionUser(source: SessionUserSource): Promise<string> {
48
+ if (!source.baseURL) return Promise.reject(new Error("No session endpoint"));
49
+ const key = sessionUserKey(source);
50
+ let promise = users.get(key);
51
+ if (!promise) {
52
+ const client = new HttpClient(source.baseURL, source.auth as AuthConfig | undefined);
53
+ promise = client
54
+ .get<{ message?: string }>("/api/method/frappe.auth.get_logged_user")
55
+ .then((response) => response.payload?.message || "Guest")
56
+ .catch((error: unknown) => {
57
+ const status = (error as { status?: number })?.status;
58
+ if (status === 401 || status === 403) return "Guest";
59
+ if (users.get(key) === promise) users.delete(key);
60
+ throw error;
61
+ });
62
+ users.set(key, promise);
63
+ }
64
+ return promise;
65
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"FrappeLikedBy.d.ts","sourceRoot":"","sources":["../src/FrappeLikedBy.tsx"],"names":[],"mappings":"AAoBA,OAAO,EAAiD,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAY1F;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,EAAE,CAanD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,IAAI,EAAE,MAAM,GACX;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,CAKlC;AAYD,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,MAAM,CAAC;IAChF,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wDAAwD;IACxD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACxD;AA8PD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,2CAMtD"}
1
+ {"version":3,"file":"FrappeLikedBy.d.ts","sourceRoot":"","sources":["../src/FrappeLikedBy.tsx"],"names":[],"mappings":"AAoBA,OAAO,EAAiD,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAa1F;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,EAAE,CAanD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,IAAI,EAAE,MAAM,GACX;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,CAKlC;AAYD,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,MAAM,CAAC;IAChF,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wDAAwD;IACxD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACxD;AA6PD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,2CAMtD"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSessionRoles.d.ts","sourceRoot":"","sources":["../../src/formEngine/useSessionRoles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAoB,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AA0BxE,2FAA2F;AAC3F,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzF,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;;;;OAIG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;CAChD;AAKD,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,iBAAiB,GAAG,SAAS,GAAG,aAAa,CAsCzF;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,iBAAiB,GAAG,SAAS,GAAG,MAAM,EAAE,GAAG,SAAS,CAE/F"}
1
+ {"version":3,"file":"useSessionRoles.d.ts","sourceRoot":"","sources":["../../src/formEngine/useSessionRoles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAoB,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAwBxE,2FAA2F;AAC3F,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzF,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;;;;OAIG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;CAChD;AAKD,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,iBAAiB,GAAG,SAAS,GAAG,aAAa,CA8CzF;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,iBAAiB,GAAG,SAAS,GAAG,MAAM,EAAE,GAAG,SAAS,CAE/F"}
package/types/index.d.ts CHANGED
@@ -142,6 +142,7 @@ export { useSavedReports, type SavedReportSummary, type SavedReportsConnection,
142
142
  export { dialogBodyMinWidth, overlayListMaxHeight } from "./measures";
143
143
  export { allDocRights, applyFetchedValues, buildCopyValues, buildCreateDefaults, buildFetchMap, buildFormTabs, buildPermLevelMatrix, canReadLevel, canWriteLevel, computeDirtyFields, docinfoRights, docRightNames, fixtureDocRights, isEmptyValue, isFetchLocked, isPromptNamed, isSameValue, resolveDocRights, sessionDocRights, setCreatePrefill, takeCreatePrefill, useDocRights, useFormEngine, useFrappeSession, useSessionRoles, } from "./formEngine";
144
144
  export type { BuildTabsOptions, DocFieldMeta, DocLinkMeta, DocPermissionRule, DocRight, DocRights, DocRightsOptions, DocRightsResult, DocShareGrant, DoctypeMeta, FetchMap, FetchRule, FormEngine, FormTab, FrappeSession, LevelPerm, PermLevelMatrix, ResolveDocRightsInput, SessionDocRightsInput, } from "./formEngine";
145
+ export { clearSessionIdentityCache, getSessionRevision, loadSessionUser, sessionUserKey, useSessionRevision, type SessionUserSource, } from "./sessionUser";
145
146
  export { connectionFields, connectionsFromMeta, type FrappeConnection } from "./frappeConnections";
146
147
  export { buildListColumns, type BuildListColumnsArgs, type ListDoc, type ListRow, } from "./list/listColumns";
147
148
  export { listDocumentColumnIds, listFieldsToFetch, listViewFields } from "./list/listFields";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RecordPage.d.ts","sourceRoot":"","sources":["../../src/record/RecordPage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RecordPage.d.ts","sourceRoot":"","sources":["../../src/record/RecordPage.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export interface SessionUserSource {
2
+ baseURL?: string;
3
+ auth?: {
4
+ useToken?: boolean;
5
+ token?: string | (() => string | Promise<string>);
6
+ type?: string;
7
+ };
8
+ }
9
+ export declare function getSessionRevision(): number;
10
+ export declare function useSessionRevision(): number;
11
+ export declare function sessionUserKey(source: SessionUserSource): string;
12
+ export declare function clearSessionIdentityCache(): void;
13
+ export declare function loadSessionUser(source: SessionUserSource): Promise<string>;
14
+ //# sourceMappingURL=sessionUser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionUser.d.ts","sourceRoot":"","sources":["../src/sessionUser.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE;QACL,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAiBD,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAGhE;AAED,wBAAgB,yBAAyB,IAAI,IAAI,CAIhD;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAkB1E"}