fix: three mobile bugs — scroll, GeneralPanel loading, activity tab

1. Chat scroll: add flex flex-col to MobileChatScreen messages wrapper
   so MessageList's flex-1 actually works (parent must be flex container)

2. Instance General panel: add fetchInstanceSettings/fetchStreamingLimits
   to MobileInstancePanel mount (mirrors desktop InstancePanel useEffect)

3. Friends activity: add Activity tab to mobile FriendsPage showing
   friends grouped by activity status (active, online, offline)
This commit is contained in:
Jannis Braun
2026-03-23 14:56:07 +01:00
parent f90cf91760
commit 2c372a5d34
3 changed files with 133 additions and 5 deletions
@@ -74,7 +74,7 @@ export function MobileChatScreen({ params }: MobileChatScreenProps) {
</header>
{/* Messages */}
<div className="flex-1 overflow-hidden min-h-0">
<div className="flex-1 overflow-hidden min-h-0 flex flex-col">
{channelId && <MessageList channelId={channelId} />}
</div>
@@ -1,5 +1,6 @@
import React from 'react';
import React, { useEffect } from 'react';
import { useUIStore } from '../../stores/uiStore';
import { useSettingsStore } from '../../stores/settingsStore';
import { MobileScreenHeader } from './MobileScreenHeader';
const sections = [
@@ -44,6 +45,15 @@ const sections = [
export function MobileInstancePanel() {
const pushMobileScreen = useUIStore((s) => s.pushMobileScreen);
const fetchInstanceSettings = useSettingsStore((s) => s.fetchInstanceSettings);
const fetchStreamingLimits = useSettingsStore((s) => s.fetchStreamingLimits);
// Pre-fetch instance data so sub-panels have it when they mount
// (mirrors InstancePanel.tsx useEffect on desktop)
useEffect(() => {
fetchInstanceSettings();
fetchStreamingLimits();
}, [fetchInstanceSettings, fetchStreamingLimits]);
return (
<div className="flex flex-col h-full bg-surface-base">