mattermost-mobile-upstream/app/database/schema/server/table_schemas/my_channel.ts
cursor[bot] 0869dc8eab
[MM-62038] Fix urgent mention badge colors (#10119)
* [MM-62038] Fix urgent mention badge colors

Persist urgent mention counts and use them to render channel list badges with the urgent color treatment.

Co-authored-by: mattermost-code <matty-code@mattermost.com>

* Address CodeRabbit feedback on urgent mention count persistence

Skip unread updates when fetchMyChannel fails so persisted urgent
counts are not cleared, and preserve urgentMentionCount on partial
MyChannel transformer updates.

Co-authored-by: mattermost-code <matty-code@mattermost.com>

* Use should... names for urgent mention transformer tests

CodeRabbit requested the parameterized transformMyChannelRecord cases
start with should, matching the repo test-name guideline.

Co-authored-by: mattermost-code <matty-code@mattermost.com>

* Address PR feedback: 1 answered, 1 resolved, 0 declined

Persist urgent mention counts on the native killed-app push path
so in-app channel list badges stay urgent-colored after a cold start.

Co-authored-by: mattermost-code <matty-code@mattermost.com>

* Persist computed is_unread on iOS MyChannel update path

CodeRabbit flagged isUnreadCol <- isUnreadCol, which is a no-op.
Write the computed isUnread value so native push updates store
recalculated unread state, matching the insert path and Android.

Co-authored-by: mattermost-code <matty-code@mattermost.com>

* Address PR feedback: 2 answered, 1 resolved, 0 declined

Use the active theme's buttonColor for urgent mention badge text
instead of hardcoded Denim.

Co-authored-by: mattermost-code <matty-code@mattermost.com>

* Address PR feedback: 1 answered, 1 resolved, 0 declined

Treat omitted urgent_mention_count as 0 in transformMyChannelRecord.

Co-authored-by: mattermost-code <matty-code@mattermost.com>

---------

Co-authored-by: Matty Code <mattycode@mattycode-3.com>
Co-authored-by: mattermost-code <matty-code@mattermost.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-09-14 14:03:53 -04:00

28 lines
976 B
TypeScript

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import {tableSchema} from '@nozbe/watermelondb';
import {MM_TABLES} from '@constants/database';
const {MY_CHANNEL} = MM_TABLES.SERVER;
export default tableSchema({
name: MY_CHANNEL,
columns: [
{name: 'is_unread', type: 'boolean'},
{name: 'last_post_at', type: 'number'},
{name: 'last_viewed_at', type: 'number'},
{name: 'manually_unread', type: 'boolean'},
{name: 'mentions_count', type: 'number'},
{name: 'message_count', type: 'number'},
{name: 'roles', type: 'string'},
{name: 'viewed_at', type: 'number'},
{name: 'last_fetched_at', type: 'number', isIndexed: true},
{name: 'last_playbook_runs_fetch_at', type: 'number'},
{name: 'autotranslation_disabled', type: 'boolean', isOptional: true},
{name: 'urgent_mention_count', type: 'number'},
],
});