stanig2106
35d0578e33
fix: persist OIDC token in localStorage instead of sessionStorage
...
Bug: opening calendar in a new browser tab forced a re-login every time,
even when the user was authenticated in another tab.
Root cause: tokenSet/userData/redirectState were stored in sessionStorage,
which is per-tab by design. New tab → empty sessionStorage → app
redirects to OIDC. With Dex's password-DB connector (no IdP-side session
cookie), Dex re-prompts for credentials.
Mail (tmail-flutter) has the same OIDC flow but persists tokens in
IndexedDB (Hive box `tokenoidccache`) which IS shared across tabs —
hence mail SSO worked but calendar didn't.
Fix: replace sessionStorage with localStorage for the auth-related keys
(tokenSet, userData, redirectState). localStorage is shared across tabs
of the same origin. Other sessionStorage usages (e.g. eventUpdateModalReopen)
are unchanged — they are genuinely per-tab.
Files touched:
- src/features/User/useInitializeApp.ts (load + setup redirect state)
- src/features/User/LoginCallback.tsx (save tokens after callback,
read pending redirectState, removeItem on completion)
- src/utils/apiUtils.ts (write redirectState during 401-driven SSO redirect)
- src/components/Calendar/hooks/useUtilMenus.ts (logout cleanup)
Verified: open clean tab → login alice → open another tab on
calendar.workavia.local → loaded silently with avatar visible, no
login form prompted.
v0.1.0-workavia.2
2026-04-29 21:32:32 +02:00
stanig2106
faefd31ac3
fix: ignore "not found in store" race on boot in getCalendarDetailAsync.rejected
...
On hard reload, useCalendarLoader dispatches getCalendarDetailAsync(calId)
for selected calendars (cached in localStorage) BEFORE getCalendarsListAsync
has fulfilled. The detail thunk sees an empty state.calendars.list and
rejects with "Calendar X not found in store". The reject handler then sets
state.calendars.error, and HandleLogin redirects to /error.
Result: ~50% of reloads land on /error.
Treat this specific race-condition error like AbortError: ignore it. The
detail fetch is naturally re-issued by useCalendarLoader once the list is
loaded, so no functional regression.
v0.1.0-workavia.1
2026-04-29 18:38:33 +02:00
stanig2106
0089fba30d
rebrand: replace Twake logos with Workavia wordmark
...
- src/static/header-logo.svg: rebuild with SVG <text> "Workavia" (black) +
"Calendar" (orange gradient), keeping the original calendar icon
Style matches Workavia Mail logo (brand name in black, app suffix in color)
- src/static/twake-workplace.svg: simplify to centered "Workavia" text
- Loading.tsx alt: "twake workplace" -> "Workavia"
2026-04-29 18:26:27 +02:00
stanig2106
fe15fc076a
rebrand: Workavia Calendar
...
User-facing strings:
- "Twake Calendar" -> "Workavia Calendar" in 4 locales (en/fr/ru/vi)
- public/index.html <title>
- public/manifest.appdata (name + short_name)
- VALARM description string (sent to participants in iCal)
Defaults / neutralization:
- Video conference fallback URL: meet.linagora.com -> meet.jit.si
(still overridable via window.VIDEO_CONFERENCE_BASE_URL or .env.js)
Kept intact (design system / non user-facing):
- @linagora/twake-mui package + TwakeMuiThemeProvider class
(primary colors preserved per requirement)
- public/calendar.svg, app-*.svg icons (no embedded text)
2026-04-29 18:18:34 +02:00
Camille Moussu
d16e7941ad
[ #805 ] fix filter end adornment alignments ( #853 )
...
Co-authored-by: Camille Moussu <cmoussu@linagora.com >
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-04-29 18:01:54 +02:00
Camille Moussu
1ceaefa7bc
[ #817 ] removed deprecated border on sidebar and fix small visual bug cropping the bottom of the desktop sidebar ( #852 )
...
Co-authored-by: Camille Moussu <cmoussu@linagora.com >
2026-04-29 17:59:53 +02:00
lethemanh
c429306e77
#843 missing back button in settings on mobile ( #849 )
...
Co-authored-by: lethemanh <lethemanh@lethemanhs-MacBook-Pro.local >
2026-04-29 17:38:47 +02:00
Camille Moussu
d66bc59967
[ #692 ] split search result page to mobile and desktop ( #823 )
...
Co-authored-by: Camille Moussu <cmoussu@linagora.com >
2026-04-29 09:55:17 +02:00
lethemanh
29d82e5ade
#845 set dynamic name for edit tooltip
2026-04-29 09:53:34 +02:00
Benoit TELLIER
2f849b5323
ISSUE-845 Edit in XXX calendar
2026-04-29 09:53:34 +02:00
lethemanh
c910f3e3a9
#693 open calendar menu on mobile ( #842 )
...
Co-authored-by: lethemanh <lethemanh@lethemanhs-MacBook-Pro.local >
2026-04-28 16:09:21 +02:00
Camille Moussu
234b4c3ae8
[ #691 ] changed searchbar in menubar to mobile searchbar ( #822 )
...
* [#691 ] changed searchbar in menubar to mobile searchbar
* [#691 ] add filters to results page for mobile
* [#691 ] added filter for organizers and attendees
2026-04-28 15:07:45 +02:00
vttran
00e00594a2
chore(events): update VALARM description branding ( #841 )
...
Co-authored-by: lethemanh <lethemanh@lethemanhs-MacBook-Pro.local >
2026-04-28 09:56:38 +02:00
Benoit TELLIER
191296346e
ISSUE-838 Keyboard navigation: people search + enter should not open create modal ( #839 )
2026-04-28 07:57:22 +02:00
Benoit TELLIER
0f69288355
[FIX] Handle race if user search is canceled ( #835 )
2026-04-27 15:05:42 +02:00
Benoit TELLIER
b1cf05fcf2
ISSUE-836 Duplicate: carry over source calendar if writable ( #837 )
2026-04-27 15:05:29 +02:00
lethemanh
53342d808f
#809 extract event actions component ( #831 )
...
Co-authored-by: lethemanh <lethemanh@lethemanhs-MacBook-Pro.local >
2026-04-27 10:32:44 +02:00
lethemanh
4179c274fc
#623 handle white page crash ( #824 )
...
Co-authored-by: lethemanh <lethemanh@lethemanhs-MacBook-Pro.local >
2026-04-27 10:27:15 +02:00
Benoit TELLIER
dffb305886
ISSUE-833 Autofocus better when working with calendars ( #834 )
2026-04-27 10:26:15 +02:00
Benoit TELLIER
6b086658eb
[ENHANCEMENT] Split PRs from main docker images ( #832 )
2026-04-25 22:27:23 +02:00
lethemanh
33f7550792
#820 add missing react import in auto focus title hook
2026-04-24 12:22:08 +02:00
lethemanh
338fd91194
#820 add missing react import in visibility field
2026-04-24 12:22:08 +02:00
lethemanh
a0fe0924f1
#820 fix typo of video conference field in expanded mode
2026-04-24 12:22:08 +02:00
lethemanh
63618501e7
#820 rename the file EventFormFieldsExpaned.tsx to EventFormFieldsExpanded.tsx
2026-04-24 12:22:08 +02:00
lethemanh
52fc0b305f
#820 restore hasEndDateChanged in the summary visibility logic
2026-04-24 12:22:08 +02:00
lethemanh
7f78f70808
#820 guard handleRepeatToggle against an invalid start
2026-04-24 12:22:08 +02:00
lethemanh
00286b88ea
#827 fix location field layout ( #828 )
...
Co-authored-by: lethemanh <lethemanh@lethemanhs-MacBook-Pro.local >
2026-04-24 12:17:59 +02:00
Benoit TELLIER
138cfd7f4e
ISSUE-825 Improve refresh without WS ( #826 )
2026-04-24 10:05:42 +02:00
lethemanh
126fac845b
Merge pull request #818 from lethemanh/698-personal-settings
...
#698 personal settings
2026-04-22 16:37:24 +07:00
lethemanh
07efb8ce51
#698 personal settings
2026-04-22 16:15:34 +07:00
Camille Moussu
7f922cbea1
[ #741 ] separation of base eventAPI to EventDao and eventApi ( #812 )
2026-04-21 11:20:44 +02:00
lethemanh
1a2e538d04
Merge pull request #807 from lethemanh/806-resolve-double-tab-to-select-timezone-issue
...
#806 resolve double tab to select timezone-issue
2026-04-21 15:06:57 +07:00
lethemanh
805a63b585
#808 extract event form field component ( #815 )
...
Co-authored-by: lethemanh <lethemanh@lethemanhs-MacBook-Pro.local >
2026-04-21 09:39:41 +02:00
lethemanh
c8cab5d55d
#756 make calendar easier to swipe
2026-04-20 17:21:56 +02:00
lethemanh
fd2282a65f
#756 improve swipe gesture
2026-04-20 17:21:56 +02:00
lethemanh
3d07008a8c
#756 swipe gesture on calendar
2026-04-20 17:21:56 +02:00
Camille Moussu
b481eefed0
[ #769 ] updated regex to properly handle <> brackets ( #792 )
2026-04-20 12:33:36 +02:00
Camille Moussu
2df87b9b9c
[ #742 ] handle desktop search overflow properly ( #801 )
2026-04-20 12:32:26 +02:00
lethemanh
12498f62e5
Merge pull request #775 from lethemanh/765-disable-auto-zoom-in-on-ios
...
#765 disable auto zoom in on ios
2026-04-20 14:32:51 +07:00
lethemanh
69e0bd741f
#765 disable auto zoom in on ios
2026-04-20 10:28:24 +07:00
lethemanh
d8c35c5c48
#806 resolve double tab to select timezone-issue
2026-04-18 10:45:31 +07:00
lethemanh
d42fe1ce9f
Merge pull request #799 from lethemanh/797-adjust-height-of-timezone-on-open
...
#797 adjust height of timezone selector when openning on mobile
2026-04-17 17:57:52 +07:00
lethemanh
49e993a3ce
Merge pull request #804 from lethemanh/803-adjust-desktop-layout
...
#803 adjust desktop layout
2026-04-17 16:17:36 +07:00
Camille Moussu
8242651655
[ #734 ] set free busy tooltip to show up only on hover ( #802 )
...
Co-authored-by: Camille Moussu <cmoussu@linagora.com >
2026-04-17 09:56:24 +02:00
lethemanh
e8ee153671
#803 adjust desktop layout
2026-04-17 11:58:30 +07:00
Camille Moussu
1213c6a350
[ #710 ] adapt time and date pickers to mobile ( #781 )
...
* [#710 ] added custom mobile timePicker
* [#710 ] custom mobile datepicker
2026-04-16 10:57:35 +02:00
lethemanh
4cf4901f99
Merge pull request #795 from lethemanh/771-numpad-on-number-textfield
...
#771 numpad on number textfield
2026-04-16 15:41:31 +07:00
lethemanh
a44cbd7c36
#797 adjust height of timezone selector when openning on mobile
2026-04-16 15:18:19 +07:00
Camille Moussu
17e86d7832
[ #786 ] added hook to handle tap separatly from slide ( #787 )
...
* [#786 ] fully disable long press
* [#786 ] added hook to handle tap separatly from slide
2026-04-16 10:12:31 +02:00
lethemanh
98132e98f2
Merge pull request #793 from lethemanh/774-fix-date-time-layout-allday
...
#774 fix issue of date time layout allday
2026-04-16 14:36:19 +07:00