What's Changed
- fix: parse dates cleanly to prevent Safari crash by @nikkothari22 in #2267
- feat: implement native app API and OAuth support by @TITANiumRox in #2266
- chore: minor UI fixes by @nikkothari22 in #2270
- fix: build a lean boot for the native app by @TITANiumRox in #2277
- fix: overflow of long ahh status in PWA by @TITANiumRox in #2278
- fix: add onOpenAutoFocus handler to DrawerContent for better keyboard management by @TITANiumRox in #2280
- fix: EmbedFrame border radius by @TITANiumRox in #2293
- ci: publish prebuilt assets for Pilot by @prathameshkurunkar7 in #2294
- fix: close sheets on back instead of leaving the page by @TITANiumRox in #2295
- fix: show custom emoji in last message in DMs by @TITANiumRox in #2276
- fix: multiple UI fixes by @nikkothari22 in #2298
- feat: join and leave workspaces from the mobile workspaces drawer by @TITANiumRox in #2283
- fix: look up a channel missing from the list before showing a DM as not found by @TITANiumRox in #2282
- fix: delete admin members using controller when user is deleted by @nikkothari22 in #2299
- fix: refetch the open channel after background when its window is deep or was jumped to by @TITANiumRox in #2281
- feat(push): setup Raven Cloud via Frappe Cloud by @prathameshkurunkar7 in #2291
- feat(settings): open cloud settings from the rail by @prathameshkurunkar7 in #2290
- fix: pass marketplace semgrep checks by @nikkothari22 in #2301
- fix: keep a sheet open when it opens as another closes by @nikkothari22 in #2303
- fix: show push settings from boot without asking older sites by @TITANiumRox in #2304
- chore: remove react native mobile app by @TITANiumRox in #2309
- fix(channel): say "left" when the only admin removes themselves by @nikkothari22 in #2310
- fix: clean up multiple long-standing issues by @nikkothari22 in #2311
- feat: mobile app by @TITANiumRox in #2265
- feat: onboarding by @TITANiumRox in #2308
- fix: do not show administrator and blur issue on Safari by @nikkothari22 in #2320
- ci: check dependencies with pip-audit by @ankush in #2327
- fix(native): send CORS headers for the app on Frappe 15 by @nikkothari22 in #2329
- fix: minor UI fixes by @nikkothari22 in #2330
- fix: do not fetch files separately in timeline button by @nikkothari22 in #2332
- fix (native): Workspace name in notification by @TITANiumRox in #2318
- feat: unique constraint on workspace members by @nikkothari22 in #2334
- fix(web): install translations on every boot path by @nikkothari22 in #2335
- feat(settings): show marketplace panel in cloud settings by @prathameshkurunkar7 in #2337
- test: drop tests that restate config or Frappe, add the web test runner by @nikkothari22 in #2336
- fix: format document preview currency fields in their own currency by @TITANiumRox in #2340
- build(web): bump cloud-sdk to 0.4.2 by @prathameshkurunkar7 in #2343
- build(web): bump cloud-sdk to 0.4.3 by @prathameshkurunkar7 in #2347
- fix: Fall back to token hosts for single-site cloud registration by @tanmoysrt in #2349
- fix(push): sync tokens for the hostname Raven Cloud actually registered by @prathameshkurunkar7 in #2350
- build(web): bump cloud-sdk to 0.4.4 by @prathameshkurunkar7 in #2352
- fix(push): restore frappe.local.sites_path instead of deleting it by @prathameshkurunkar7 in #2351
- build(web): bump cloud-sdk to 0.5.0 by @prathameshkurunkar7 in #2355
- feat: expose method source in API discovery by @ankush in #2356
- fix: multiple bug fixes across the app by @nikkothari22 in #2360
- feat(web): trial card in the sidebar on Frappe Cloud v2 by @nikkothari22 in #2361
Full Changelog: v3.0.0...v3.2.0