This commit is contained in:
Henry Jameson 2026-03-06 17:31:34 +02:00
commit 35a1dec8a5
4 changed files with 56 additions and 53 deletions

View file

@ -1,9 +1,9 @@
import { showDesktopNotification } from '../desktop_notification_utils/desktop_notification_utils.js'
import { muteFilterHits } from '../status_parser/status_parser.js'
import { useSyncConfigStore } from 'src/stores/sync_config.js'
import { useAnnouncementsStore } from 'src/stores/announcements.js'
import { useI18nStore } from 'src/stores/i18n.js'
import { useSyncConfigStore } from 'src/stores/sync_config.js'
import FaviconService from 'src/services/favicon_service/favicon_service.js'
@ -108,7 +108,8 @@ export const filteredNotificationsFromStore = (
}
export const unseenNotificationsFromStore = (store, notificationVisibility) => {
const ignoreInactionableSeen = useSyncConfigStore().mergedConfig.ignoreInactionableSeen
const ignoreInactionableSeen =
useSyncConfigStore().mergedConfig.ignoreInactionableSeen
return filteredNotificationsFromStore(store, notificationVisibility).filter(
({ seen, type }) => {
@ -189,7 +190,10 @@ export const prepareNotificationObject = (notification, i18n) => {
return notifObj
}
export const countExtraNotifications = (mergedConfig) => {
export const countExtraNotifications = (store) => {
const rootGetters = store.rootGetters || store.getters
const mergedConfig = useSyncConfigStore().mergedConfig
if (!mergedConfig.showExtraNotifications) {
return 0
}

View file

@ -103,11 +103,7 @@ describe('Gallery', () => {
// No grouping of non-image items
local = {
attachments: [
{ type: 'plain' },
{ type: 'plain' },
{ type: 'plain' },
],
attachments: [{ type: 'plain' }, { type: 'plain' }, { type: 'plain' }],
}
expect(Gallery.computed.rows.call(local)).to.eql([
{ minimal: true, items: [{ type: 'plain' }] },
@ -174,11 +170,7 @@ describe('Gallery', () => {
expect(Gallery.computed.rows.call(local)).to.eql([
{
items: [
{ type: 'image' },
{ type: 'image' },
{ type: 'image' },
],
items: [{ type: 'image' }, { type: 'image' }, { type: 'image' }],
},
{ items: [{ type: 'image' }] },
{ audio: true, items: [{ type: 'audio' }] },
@ -202,11 +194,7 @@ describe('Gallery', () => {
// https:/.pleroma.social-fe/-_requests#note_98514
expect(Gallery.computed.rows.call(local)).to.eql([
{
items: [
{ type: 'image' },
{ type: 'image' },
{ type: 'image' },
],
items: [{ type: 'image' }, { type: 'image' }, { type: 'image' }],
},
{
items: [
@ -233,18 +221,10 @@ describe('Gallery', () => {
expect(Gallery.computed.rows.call(local)).to.eql([
{
items: [
{ type: 'image' },
{ type: 'image' },
{ type: 'image' },
],
items: [{ type: 'image' }, { type: 'image' }, { type: 'image' }],
},
{
items: [
{ type: 'image' },
{ type: 'image' },
{ type: 'image' },
],
items: [{ type: 'image' }, { type: 'image' }, { type: 'image' }],
},
{ items: [{ type: 'image' }, { type: 'image' }] },
])

View file

@ -53,13 +53,13 @@ describe('NotificationUtils', () => {
type: 'like',
},
]
expect(NotificationUtils.filteredNotificationsFromStore(store, {
mentions: false,
likes: true,
repeats: true,
})).to.eql(
expected,
)
expect(
NotificationUtils.filteredNotificationsFromStore(store, {
mentions: false,
likes: true,
repeats: true,
}),
).to.eql(expected)
})
})
@ -81,7 +81,7 @@ describe('NotificationUtils', () => {
},
],
},
}
},
}
const expected = [
{
@ -90,13 +90,13 @@ describe('NotificationUtils', () => {
seen: false,
},
]
expect(NotificationUtils.unseenNotificationsFromStore(store, {
likes: true,
repeats: true,
mentions: false,
})).to.eql(
expected,
)
expect(
NotificationUtils.unseenNotificationsFromStore(store, {
likes: true,
repeats: true,
mentions: false,
}),
).to.eql(expected)
})
})
})

View file

@ -43,8 +43,11 @@ describe('The UserHighlight store', () => {
describe('set', () => {
it('should set preference and update journal log accordingly', () => {
const store = useUserHighlightStore()
store.set({ user: 'highlight@testing', value: { type: 'test' }})
expect(store.highlight['highlight@testing']).to.eql({ user: 'highlight@testing', type: 'test' })
store.set({ user: 'highlight@testing', value: { type: 'test' } })
expect(store.highlight['highlight@testing']).to.eql({
user: 'highlight@testing',
type: 'test',
})
expect(store.highlight._journal.length).to.eql(1)
expect(store.highlight._journal[0]).to.eql({
user: 'highlight@testing',
@ -60,15 +63,20 @@ describe('The UserHighlight store', () => {
store.set({ user: 'highlight@testing.xyz', value: { type: 'test' } })
store.set({ user: 'highlight@testing.xyz', value: { type: 'test' } })
store.updateCache({ username: 'test' })
expect(store.highlight['highlight@testing.xyz']).to.eql({ user: 'highlight@testing.xyz', type: 'test' })
expect(store.highlight['highlight@testing.xyz']).to.eql({
user: 'highlight@testing.xyz',
type: 'test',
})
expect(store.highlight._journal.length).to.eql(1)
expect(store.highlight._journal[0]).to.eql({
user: 'highlight@testing.xyz',
operation: 'set',
args: [{
user: 'highlight@testing.xyz',
type: 'test',
}],
args: [
{
user: 'highlight@testing.xyz',
type: 'test',
},
],
// should have A timestamp, we don't really care what it is
timestamp: store.highlight._journal[0].timestamp,
})
@ -79,7 +87,10 @@ describe('The UserHighlight store', () => {
store.set({ user: 'a@test.xyz', value: { type: 'foo' } })
store.set({ user: 'a@test.xyz', value: { type: 'foo' } })
store.updateCache({ username: 'test' })
expect(store.highlight['a@test.xyz']).to.eql({ user: 'a@test.xyz', type: 'foo' })
expect(store.highlight['a@test.xyz']).to.eql({
user: 'a@test.xyz',
type: 'foo',
})
expect(store.highlight._journal.length).to.eql(1)
})
})
@ -156,7 +167,11 @@ describe('The UserHighlight store', () => {
_mergePrefs(
// RECENT
{
highlight: { 'a@test.xyz': 1, 'b@test.xyz': 0, 'c@test.xyz': true },
highlight: {
'a@test.xyz': 1,
'b@test.xyz': 0,
'c@test.xyz': true,
},
_journal: [
{
user: 'b@test.xyz',
@ -174,7 +189,11 @@ describe('The UserHighlight store', () => {
},
// STALE
{
highlight: { 'a@test.xyz': 1, 'b@test.xyz': 1, 'c@test.xyz': false },
highlight: {
'a@test.xyz': 1,
'b@test.xyz': 1,
'c@test.xyz': false,
},
_journal: [
{
user: 'a@test.xyz',