Notification settings test -------------------------- PASS Device: iPhone 15 Pro simulator iOS: 17.0.1 Damus: This commit Setup: - Two phones running Damus on different accounts - Local relay with strfry-push-notify test setup - Apple push notification test tool Coverage: 1. Mention notifications 2. DM notifications 3. Reaction notifications 4. Repost notifications Steps for each notification type: 1. Trigger a push notification (Resend push notification from test tool) 2. Ensure that the notification is received on the other device 3. Turn off notifications for that type on settings 4. Trigger a push notification (Resend push notification from test tool) 5. Ensure that the notification is not received on the other device Result: PASS (notifications are received when enabled and not received when disabled) Closes: https://github.com/damus-io/damus/issues/1764 Signed-off-by: Daniel D’Aquino <daniel@daquino.me> Signed-off-by: William Casarin <jb55@jb55.com>
46 lines
1.2 KiB
Swift
46 lines
1.2 KiB
Swift
//
|
||
// NotificationExtensionState.swift
|
||
// DamusNotificationService
|
||
//
|
||
// Created by Daniel D’Aquino on 2023-11-27.
|
||
//
|
||
|
||
import Foundation
|
||
|
||
struct NotificationExtensionState: HeadlessDamusState {
|
||
let ndb: Ndb
|
||
let settings: UserSettingsStore
|
||
let contacts: Contacts
|
||
let muted_threads: MutedThreadsManager
|
||
let keypair: Keypair
|
||
let profiles: Profiles
|
||
let zaps: Zaps
|
||
let lnurls: LNUrls
|
||
|
||
init?() {
|
||
guard let ndb = try? Ndb(owns_db_file: false) else { return nil }
|
||
self.ndb = ndb
|
||
|
||
guard let keypair = get_saved_keypair() else { return nil }
|
||
|
||
// dumb stuff needed for property wrappers
|
||
UserSettingsStore.pubkey = keypair.pubkey
|
||
self.settings = UserSettingsStore()
|
||
|
||
self.contacts = Contacts(our_pubkey: keypair.pubkey)
|
||
self.muted_threads = MutedThreadsManager(keypair: keypair)
|
||
self.keypair = keypair
|
||
self.profiles = Profiles(ndb: ndb)
|
||
self.zaps = Zaps(our_pubkey: keypair.pubkey)
|
||
self.lnurls = LNUrls()
|
||
}
|
||
|
||
@discardableResult
|
||
func add_zap(zap: Zapping) -> Bool {
|
||
// store generic zap mapping
|
||
self.zaps.add_zap(zap: zap)
|
||
|
||
return true
|
||
}
|
||
}
|