[BUG] Mobile app fails to render sharing tab #904

Closed
opened 2026-02-04 23:28:10 +03:00 by OVERLORD · 6 comments
Owner

Originally created by @ishioni on GitHub (May 31, 2023).

The bug

After my wife shared her library with me, the mobile app doesn't render the tab at all, none of my shared galleries show up anymore too. It however works perfectly the other way around (I've shared my library with the wife and it shows up on her phone no problem)

photo_2023-05-31 12 06 51

The OS that Immich Server is running on

Ubuntu 22.04

Version of Immich Server

1.59.1

Version of Immich Mobile App

1.59.0

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

Kubernetes deployment - all values here https://github.com/ishioni/homelab-ops/tree/master/cluster/apps/fileservers/immich

Your .env content

n/a

Reproduction steps

1. Partner shared library
2. No profit :(

Additional information

There's an error in the logs of the app
Message: none
From: ImmichErrorLogger
Stack trace:

#43     RenderObject.layout (package:flutter/src/rendering/object.dart:2395)
#44     RenderBox.layout (package:flutter/src/rendering/box.dart:2386)
#45     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:122)
#46     _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1449)
#47     RenderObject.layout (package:flutter/src/rendering/object.dart:2395)
#48     RenderBox.layout (package:flutter/src/rendering/box.dart:2386)
#49     ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:52)
#50     RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:808)
#51     RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:903)
#52     RenderObject.layout (package:flutter/src/rendering/object.dart:2395)
#53     RenderBox.layout (package:flutter/src/rendering/box.dart:2386)
#54     MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:171)
#55     _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1056)
#56     MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:235)
#57     RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:403)
#58     RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2234)
#59     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1016)
#60     RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:492)
#61     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:905)
#62     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:358)
#63     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1284)
#64     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1214)
#65     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1072)
#66     _invoke (dart:ui/hooks.dart:142)
#67     PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:359)
#68     _drawFrame (dart:ui/hooks.dart:112)
Originally created by @ishioni on GitHub (May 31, 2023). ### The bug After my wife shared her library with me, the mobile app doesn't render the tab at all, none of my shared galleries show up anymore too. It however works perfectly the other way around (I've shared my library with the wife and it shows up on her phone no problem) ![photo_2023-05-31 12 06 51](https://github.com/immich-app/immich/assets/50323052/a10f9eb2-1df8-40f6-8e8c-fccff4bd2805) ### The OS that Immich Server is running on Ubuntu 22.04 ### Version of Immich Server 1.59.1 ### Version of Immich Mobile App 1.59.0 ### Platform with the issue - [ ] Server - [ ] Web - [X] Mobile ### Your docker-compose.yml content ```YAML Kubernetes deployment - all values here https://github.com/ishioni/homelab-ops/tree/master/cluster/apps/fileservers/immich ``` ### Your .env content ```Shell n/a ``` ### Reproduction steps ```bash 1. Partner shared library 2. No profit :( ``` ### Additional information There's an error in the logs of the app Message: none From: ImmichErrorLogger Stack trace: ``` #43 RenderObject.layout (package:flutter/src/rendering/object.dart:2395) #44 RenderBox.layout (package:flutter/src/rendering/box.dart:2386) #45 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:122) #46 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1449) #47 RenderObject.layout (package:flutter/src/rendering/object.dart:2395) #48 RenderBox.layout (package:flutter/src/rendering/box.dart:2386) #49 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:52) #50 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:808) #51 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:903) #52 RenderObject.layout (package:flutter/src/rendering/object.dart:2395) #53 RenderBox.layout (package:flutter/src/rendering/box.dart:2386) #54 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:171) #55 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1056) #56 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:235) #57 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:403) #58 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2234) #59 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1016) #60 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:492) #61 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:905) #62 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:358) #63 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1284) #64 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1214) #65 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1072) #66 _invoke (dart:ui/hooks.dart:142) #67 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:359) #68 _drawFrame (dart:ui/hooks.dart:112) ```
Author
Owner

@alextran1502 commented on GitHub (May 31, 2023):

Hmm strange error, can you try reinstalling the app and see if it helps?

@alextran1502 commented on GitHub (May 31, 2023): Hmm strange error, can you try reinstalling the app and see if it helps?
Author
Owner

@alextran1502 commented on GitHub (May 31, 2023):

It looks like to have more message to that stack trace error, can you help double check? And what us your phone model?

@alextran1502 commented on GitHub (May 31, 2023): It looks like to have more message to that stack trace error, can you help double check? And what us your phone model?
Author
Owner

@ishioni commented on GitHub (May 31, 2023):

@alextran1502 just tried reinstalling, no difference. As for the stack trace, yeah, didn't notice it got cut off

#0      _StringBase.[] (dart:core-patch/string_patch.dart:258)
#1      userAvatar (package:immich_mobile/shared/ui/user_avatar.dart:19)
#2      PartnerPage.build.buildUserList.<anonymous closure> (package:immich_mobile/modules/partner/views/partner_page.dart:102)
#3      SliverChildBuilderDelegate.build (package:flutter/src/widgets/scroll_delegate.dart:489)
#4      SliverMultiBoxAdaptorElement._build (package:flutter/src/widgets/sliver.dart:828)
#5      SliverMultiBoxAdaptorElement.createChild.<anonymous closure> (package:flutter/src/widgets/sliver.dart:842)
#6      BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2720)
#7      SliverMultiBoxAdaptorElement.createChild (package:flutter/src/widgets/sliver.dart:834)
#8      RenderSliverMultiBoxAdaptor._createOrObtainChild.<anonymous closure> (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:351)
#9      RenderObject.invokeLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:2506)
#10     PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:1062)
#11     RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:2506)
#12     RenderSliverMultiBoxAdaptor._createOrObtainChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:340)
#13     RenderSliverMultiBoxAdaptor.addInitialChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:426)
#14     RenderSliverList.performLayout (package:flutter/src/rendering/sliver_list.dart:79)
#15     RenderObject.layout (package:flutter/src/rendering/object.dart:2395)
#16     RenderSliverEdgeInsetsPadding.performLayout (package:flutter/src/rendering/sliver_padding.dart:139)
#17     RenderSliverPadding.performLayout (package:flutter/src/rendering/sliver_padding.dart:361)
#18     RenderObject.layout (package:flutter/src/rendering/object.dart:2395)
#19     RenderViewportBase.layoutChildSequence (package:flutter/src/rendering/viewport.dart:534)
#20     RenderShrinkWrappingViewport._attemptLayout (package:flutter/src/rendering/viewport.dart:1882)
#21     RenderShrinkWrappingViewport.performLayout (package:flutter/src/rendering/viewport.dart:1833)
#22     RenderObject.layout (package:flutter/src/rendering/object.dart:2395)
#23     RenderBox.layout (package:flutter/src/rendering/box.dart:2386)
#24     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:122)
#25     RenderObject.layout (package:flutter/src/rendering/object.dart:2395)
#26     RenderBox.layout (package:flutter/src/rendering/box.dart:2386)
#27     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:122)
#28     RenderObject.layout (package:flutter/src/rendering/object.dart:2395)
#29     RenderBox.layout (package:flutter/src/rendering/box.dart:2386)
#30     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:122)
#31     RenderObject.layout (package:flutter/src/rendering/object.dart:2395)
#32     RenderBox.layout (package:flutter/src/rendering/box.dart:2386)
#33     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:122)
#34     RenderObject.layout (package:flutter/src/rendering/object.dart:2395)
#35     RenderBox.layout (package:flutter/src/rendering/box.dart:2386)
#36     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:122)
#37     RenderObject.layout (package:flutter/src/rendering/object.dart:2395)
#38     RenderBox.layout (package:flutter/src/rendering/box.dart:2386)
#39     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:122)
#40     RenderObject.layout (package:flutter/src/rendering/object.dart:2395)
#41     RenderBox.layout (package:flutter/src/rendering/box.dart:2386)
#42     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:122)
#43     RenderObject.layout (package:flutter/src/rendering/object.dart:2395)
#44     RenderBox.layout (package:flutter/src/rendering/box.dart:2386)
#45     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:122)
#46     _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1449)
#47     RenderObject.layout (package:flutter/src/rendering/object.dart:2395)
#48     RenderBox.layout (package:flutter/src/rendering/box.dart:2386)
#49     ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:52)
#50     RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:808)
#51     RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:903)
#52     RenderObject.layout (package:flutter/src/rendering/object.dart:2395)
#53     RenderBox.layout (package:flutter/src/rendering/box.dart:2386)
#54     MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:171)
#55     _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1056)
#56     MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:235)
#57     RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:403)
#58     RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2234)
#59     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1016)
#60     RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:492)
#61     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:905)
#62     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:358)
#63     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1284)
#64     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1214)
#65     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1072)
#66     _invoke (dart:ui/hooks.dart:142)
#67     PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:359)
#68     _drawFrame (dart:ui/hooks.dart:112)
@ishioni commented on GitHub (May 31, 2023): @alextran1502 just tried reinstalling, no difference. As for the stack trace, yeah, didn't notice it got cut off ``` #0 _StringBase.[] (dart:core-patch/string_patch.dart:258) #1 userAvatar (package:immich_mobile/shared/ui/user_avatar.dart:19) #2 PartnerPage.build.buildUserList.<anonymous closure> (package:immich_mobile/modules/partner/views/partner_page.dart:102) #3 SliverChildBuilderDelegate.build (package:flutter/src/widgets/scroll_delegate.dart:489) #4 SliverMultiBoxAdaptorElement._build (package:flutter/src/widgets/sliver.dart:828) #5 SliverMultiBoxAdaptorElement.createChild.<anonymous closure> (package:flutter/src/widgets/sliver.dart:842) #6 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2720) #7 SliverMultiBoxAdaptorElement.createChild (package:flutter/src/widgets/sliver.dart:834) #8 RenderSliverMultiBoxAdaptor._createOrObtainChild.<anonymous closure> (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:351) #9 RenderObject.invokeLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:2506) #10 PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:1062) #11 RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:2506) #12 RenderSliverMultiBoxAdaptor._createOrObtainChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:340) #13 RenderSliverMultiBoxAdaptor.addInitialChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:426) #14 RenderSliverList.performLayout (package:flutter/src/rendering/sliver_list.dart:79) #15 RenderObject.layout (package:flutter/src/rendering/object.dart:2395) #16 RenderSliverEdgeInsetsPadding.performLayout (package:flutter/src/rendering/sliver_padding.dart:139) #17 RenderSliverPadding.performLayout (package:flutter/src/rendering/sliver_padding.dart:361) #18 RenderObject.layout (package:flutter/src/rendering/object.dart:2395) #19 RenderViewportBase.layoutChildSequence (package:flutter/src/rendering/viewport.dart:534) #20 RenderShrinkWrappingViewport._attemptLayout (package:flutter/src/rendering/viewport.dart:1882) #21 RenderShrinkWrappingViewport.performLayout (package:flutter/src/rendering/viewport.dart:1833) #22 RenderObject.layout (package:flutter/src/rendering/object.dart:2395) #23 RenderBox.layout (package:flutter/src/rendering/box.dart:2386) #24 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:122) #25 RenderObject.layout (package:flutter/src/rendering/object.dart:2395) #26 RenderBox.layout (package:flutter/src/rendering/box.dart:2386) #27 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:122) #28 RenderObject.layout (package:flutter/src/rendering/object.dart:2395) #29 RenderBox.layout (package:flutter/src/rendering/box.dart:2386) #30 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:122) #31 RenderObject.layout (package:flutter/src/rendering/object.dart:2395) #32 RenderBox.layout (package:flutter/src/rendering/box.dart:2386) #33 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:122) #34 RenderObject.layout (package:flutter/src/rendering/object.dart:2395) #35 RenderBox.layout (package:flutter/src/rendering/box.dart:2386) #36 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:122) #37 RenderObject.layout (package:flutter/src/rendering/object.dart:2395) #38 RenderBox.layout (package:flutter/src/rendering/box.dart:2386) #39 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:122) #40 RenderObject.layout (package:flutter/src/rendering/object.dart:2395) #41 RenderBox.layout (package:flutter/src/rendering/box.dart:2386) #42 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:122) #43 RenderObject.layout (package:flutter/src/rendering/object.dart:2395) #44 RenderBox.layout (package:flutter/src/rendering/box.dart:2386) #45 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:122) #46 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1449) #47 RenderObject.layout (package:flutter/src/rendering/object.dart:2395) #48 RenderBox.layout (package:flutter/src/rendering/box.dart:2386) #49 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:52) #50 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:808) #51 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:903) #52 RenderObject.layout (package:flutter/src/rendering/object.dart:2395) #53 RenderBox.layout (package:flutter/src/rendering/box.dart:2386) #54 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:171) #55 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1056) #56 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:235) #57 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:403) #58 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2234) #59 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1016) #60 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:492) #61 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:905) #62 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:358) #63 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1284) #64 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1214) #65 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1072) #66 _invoke (dart:ui/hooks.dart:142) #67 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:359) #68 _drawFrame (dart:ui/hooks.dart:112) ```
Author
Owner

@ishioni commented on GitHub (May 31, 2023):

Phone is Google Pixel 4A on newest Android (13, may update)

@ishioni commented on GitHub (May 31, 2023): Phone is Google Pixel 4A on newest Android (13, may update)
Author
Owner

@alextran1502 commented on GitHub (May 31, 2023):

Ah I found the issue. Perhaps your wife's account doesn't come with a Last name?

@alextran1502 commented on GitHub (May 31, 2023): Ah I found the issue. Perhaps your wife's account doesn't come with a Last name?
Author
Owner

@ishioni commented on GitHub (May 31, 2023):

It does, as it's from authentik OIDC. But you were right, because both firstname+surname got copied over to the first name field in immich. Adjusted it in immich manually and now it works!

@ishioni commented on GitHub (May 31, 2023): It does, as it's from authentik OIDC. But you were right, because both firstname+surname got copied over to the first name field in immich. Adjusted it in immich manually and now it works!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#904