From dcda90373fc44a91dde6c587d41c20f55c909198 Mon Sep 17 00:00:00 2001 From: Essem Date: Sat, 6 Jan 2024 17:03:12 -0600 Subject: [PATCH] Make it work with wdw --- src/boot/after_store.js | 66 +++++++++--------- src/components/announcement/announcement.vue | 14 ---- .../announcements_page/announcements_page.vue | 40 ----------- src/components/who_to_follow/who_to_follow.js | 2 +- .../who_to_follow_panel.js | 3 +- src/modules/announcements.js | 5 +- src/modules/instance.js | 27 ++++--- src/modules/statuses.js | 6 +- src/services/api/api.service.js | 10 +-- .../entity_normalizer.service.js | 50 ++++++++++--- src/services/new_api/oauth.js | 6 +- static/config.json | 10 +-- static/logo.png | Bin 0 -> 22400 bytes static/terms-of-service.html | 6 +- static/wdwskyboxbanner.png | Bin 0 -> 39432 bytes 15 files changed, 109 insertions(+), 136 deletions(-) create mode 100644 static/logo.png create mode 100644 static/wdwskyboxbanner.png diff --git a/src/boot/after_store.js b/src/boot/after_store.js index d45584c0..469cd2c4 100644 --- a/src/boot/after_store.js +++ b/src/boot/after_store.js @@ -67,14 +67,26 @@ const resolveLanguage = (instanceLanguages) => { const getInstanceConfig = async ({ store }) => { try { - const res = await preloadFetch('/api/v1/instance') + const res = await preloadFetch('/api/v2/instance') if (res.ok) { const data = await res.json() - const textlimit = data.max_toot_chars - const vapidPublicKey = data.pleroma.vapid_public_key + const textlimit = data.configuration.statuses.max_characters + const vapidPublicKey = data.configuration.vapid.public_key store.dispatch('setInstanceOption', { name: 'textlimit', value: textlimit }) - store.dispatch('setInstanceOption', { name: 'accountApprovalRequired', value: data.approval_required }) + const uploadLimits = { + general: data.configuration.media_attachments.video_size_limit, + avatar: "2097152", + background: "2097152", + banner: "2097152" + } + store.dispatch('setInstanceOption', { name: 'uploadlimit', value: parseInt(uploadLimits.general) }) + store.dispatch('setInstanceOption', { name: 'avatarlimit', value: parseInt(uploadLimits.avatar) }) + store.dispatch('setInstanceOption', { name: 'backgroundlimit', value: parseInt(uploadLimits.background) }) + store.dispatch('setInstanceOption', { name: 'bannerlimit', value: parseInt(uploadLimits.banner) }) + + store.dispatch('setInstanceOption', { name: 'postFormats', value: data.configuration.statuses.supported_mime_types }) + store.dispatch('setInstanceOption', { name: 'accountApprovalRequired', value: data.registrations.approval_required }) // don't override cookie if set if (!Cookies.get('userLanguage')) { store.dispatch('setOption', { name: 'interfaceLanguage', value: resolveLanguage(data.languages) }) @@ -83,6 +95,8 @@ const getInstanceConfig = async ({ store }) => { if (vapidPublicKey) { store.dispatch('setInstanceOption', { name: 'vapidPublicKey', value: vapidPublicKey }) } + + resolveStaffAccounts({ store, accounts: [data.contact.account.id] }) } else { throw (res) } @@ -269,42 +283,33 @@ const getNodeInfo = async ({ store }) => { if (res.ok) { const data = await res.json() const metadata = data.metadata - const features = metadata.features store.dispatch('setInstanceOption', { name: 'name', value: metadata.nodeName }) - store.dispatch('setInstanceOption', { name: 'registrationOpen', value: data.openRegistrations }) - store.dispatch('setInstanceOption', { name: 'mediaProxyAvailable', value: features.includes('media_proxy') }) - store.dispatch('setInstanceOption', { name: 'safeDM', value: features.includes('safe_dm_mentions') }) - store.dispatch('setInstanceOption', { name: 'pollsAvailable', value: features.includes('polls') }) - store.dispatch('setInstanceOption', { name: 'editingAvailable', value: features.includes('editing') }) + store.dispatch('setInstanceOption', { name: 'registrationOpen', value: false }) // registration should be done through the default interface + store.dispatch('setInstanceOption', { name: 'mediaProxyAvailable', value: false }) + store.dispatch('setInstanceOption', { name: 'safeDM', value: false }) + store.dispatch('setInstanceOption', { name: 'pollsAvailable', value: true }) + store.dispatch('setInstanceOption', { name: 'editingAvailable', value: true }) store.dispatch('setInstanceOption', { name: 'pollLimits', value: metadata.pollLimits }) store.dispatch('setInstanceOption', { name: 'mailerEnabled', value: metadata.mailerEnabled }) - store.dispatch('setInstanceOption', { name: 'translationEnabled', value: features.includes('akkoma:machine_translation') }) + store.dispatch('setInstanceOption', { name: 'translationEnabled', value: false }) // idk - const uploadLimits = metadata.uploadLimits - store.dispatch('setInstanceOption', { name: 'uploadlimit', value: parseInt(uploadLimits.general) }) - store.dispatch('setInstanceOption', { name: 'avatarlimit', value: parseInt(uploadLimits.avatar) }) - store.dispatch('setInstanceOption', { name: 'backgroundlimit', value: parseInt(uploadLimits.background) }) - store.dispatch('setInstanceOption', { name: 'bannerlimit', value: parseInt(uploadLimits.banner) }) - store.dispatch('setInstanceOption', { name: 'fieldsLimits', value: metadata.fieldsLimits }) + store.dispatch('setInstanceOption', { name: 'fieldsLimits', value: 6 }) // todo: expose this on the backend - store.dispatch('setInstanceOption', { name: 'restrictedNicknames', value: metadata.restrictedNicknames }) - store.dispatch('setInstanceOption', { name: 'postFormats', value: metadata.postFormats }) + store.dispatch('setInstanceOption', { name: 'restrictedNicknames', value: [] }) - const suggestions = metadata.suggestions - store.dispatch('setInstanceOption', { name: 'suggestionsEnabled', value: suggestions.enabled }) - store.dispatch('setInstanceOption', { name: 'suggestionsWeb', value: suggestions.web }) + store.dispatch('setInstanceOption', { name: 'suggestionsEnabled', value: true }) + store.dispatch('setInstanceOption', { name: 'suggestionsWeb', value: true }) const software = data.software store.dispatch('setInstanceOption', { name: 'backendVersion', value: software.version }) store.dispatch('setInstanceOption', { name: 'pleromaBackend', value: software.name === 'pleroma' }) - const priv = metadata.private - store.dispatch('setInstanceOption', { name: 'private', value: priv }) + store.dispatch('setInstanceOption', { name: 'private', value: false }) const frontendVersion = window.___pleromafe_commit_hash store.dispatch('setInstanceOption', { name: 'frontendVersion', value: frontendVersion }) - const federation = metadata.federation + const federation = {} store.dispatch('setInstanceOption', { name: 'tagPolicyAvailable', @@ -314,7 +319,7 @@ const getNodeInfo = async ({ store }) => { }) store.dispatch('setInstanceOption', { name: 'federationPolicy', value: federation }) - store.dispatch('setInstanceOption', { name: 'localBubbleInstances', value: metadata.localBubbleInstances }) + store.dispatch('setInstanceOption', { name: 'localBubbleInstances', value: [] }) store.dispatch('setInstanceOption', { name: 'federating', value: typeof federation.enabled === 'undefined' @@ -322,14 +327,11 @@ const getNodeInfo = async ({ store }) => { : federation.enabled }) - store.dispatch('setInstanceOption', { name: 'publicTimelineVisibility', value: metadata.publicTimelineVisibility }) - store.dispatch('setInstanceOption', { name: 'federatedTimelineAvailable', value: metadata.federatedTimelineAvailable }) + store.dispatch('setInstanceOption', { name: 'publicTimelineVisibility', value: { bubble: false, local: true, federated: true } }) + store.dispatch('setInstanceOption', { name: 'federatedTimelineAvailable', value: true }) const accountActivationRequired = metadata.accountActivationRequired - store.dispatch('setInstanceOption', { name: 'accountActivationRequired', value: accountActivationRequired }) - - const accounts = metadata.staffAccounts - resolveStaffAccounts({ store, accounts }) + store.dispatch('setInstanceOption', { name: 'accountActivationRequired', value: true }) } else { throw (res) } diff --git a/src/components/announcement/announcement.vue b/src/components/announcement/announcement.vue index 5f64232a..e7f6448e 100644 --- a/src/components/announcement/announcement.vue +++ b/src/components/announcement/announcement.vue @@ -44,20 +44,6 @@ > {{ $t('announcements.mark_as_read_action') }} - -
-
-
-
-

{{ $t('announcements.post_form_header') }}

-
-
- -
- -
-
{ - this.$store.state.api.backendInteractor.fetchUser({ id: i.acct }) + this.$store.state.api.backendInteractor.fetchUser({ id: i.id }) .then((externalUser) => { if (!externalUser.error) { this.$store.commit('addNewUsers', [externalUser]) diff --git a/src/components/who_to_follow_panel/who_to_follow_panel.js b/src/components/who_to_follow_panel/who_to_follow_panel.js index 818e8bd5..a0fdabbe 100644 --- a/src/components/who_to_follow_panel/who_to_follow_panel.js +++ b/src/components/who_to_follow_panel/who_to_follow_panel.js @@ -9,11 +9,12 @@ function showWhoToFollow (panel, reply) { let user = shuffled[index] let img = user.avatar || this.$store.state.instance.defaultAvatar let name = user.acct + let id = user.id toFollow.img = img toFollow.name = name - panel.$store.state.api.backendInteractor.fetchUser({ id: name }) + panel.$store.state.api.backendInteractor.fetchUser({ id }) .then((externalUser) => { if (!externalUser.error) { panel.$store.commit('addNewUsers', [externalUser]) diff --git a/src/modules/announcements.js b/src/modules/announcements.js index 0f8b6d09..e9e3d4cd 100644 --- a/src/modules/announcements.js +++ b/src/modules/announcements.js @@ -48,7 +48,6 @@ const announcements = { return store.rootState.api.backendInteractor.fetchAnnouncements() } - const all = await store.rootState.api.backendInteractor.adminFetchAnnouncements() const visible = await store.rootState.api.backendInteractor.fetchAnnouncements() const visibleObject = visible.reduce((a, c) => { a[c.id] = c @@ -56,7 +55,7 @@ const announcements = { }, {}) const getWithinVisible = announcement => visibleObject[announcement.id] - all.forEach(announcement => { + visible.forEach(announcement => { const visibleAnnouncement = getWithinVisible(announcement) if (!visibleAnnouncement) { announcement.inactive = true @@ -65,7 +64,7 @@ const announcements = { } }) - return all + return visible } return getAnnouncements() diff --git a/src/modules/instance.js b/src/modules/instance.js index 0c856352..3f598e21 100644 --- a/src/modules/instance.js +++ b/src/modules/instance.js @@ -35,7 +35,7 @@ const defaultState = { hideWordFilteredPosts: false, hidePostStats: false, hideBotIndication: false, - hideSiteFavicon: false, + hideSiteFavicon: true, hideSiteName: false, hideUserStats: false, muteBotStatuses: false, @@ -177,22 +177,19 @@ const instance = { async getCustomEmoji ({ commit, state }) { try { - const res = await window.fetch('/api/v1/pleroma/emoji') + const res = await window.fetch('/api/v1/custom_emojis') if (res.ok) { const result = await res.json() - const values = Array.isArray(result) ? Object.assign({}, ...result) : result - const emoji = Object.entries(values).map(([key, value]) => { - const imageUrl = value.image_url - return { - displayText: key, - imageUrl: imageUrl ? state.server + imageUrl : value, - tags: imageUrl ? value.tags.sort((a, b) => a > b ? 1 : 0) : ['utf'], - replacement: `:${key}: ` - } - // Technically could use tags but those are kinda useless right now, - // should have been "pack" field, that would be more useful - }).sort((a, b) => a.displayText.toLowerCase() > b.displayText.toLowerCase() ? 1 : -1) - commit('setInstanceOption', { name: 'customEmoji', value: emoji }) + const emoji = [] + for (const emojiobj of result) { + emoji.push({ + displayText: emojiobj.shortcode, + imageUrl: emojiobj.url, + tags: emojiobj.category ? [`pack:${emojiobj.category.toLowerCase()}`] : ['pack:custom'], + replacement: `:${emojiobj.shortcode}: ` + }) + } + commit('setInstanceOption', { name: 'customEmoji', value: emoji.sort((a, b) => a.displayText.toLowerCase() > b.displayText.toLowerCase() ? 1 : -1) }) } else { throw (res) } diff --git a/src/modules/statuses.js b/src/modules/statuses.js index 1080462c..649916a1 100644 --- a/src/modules/statuses.js +++ b/src/modules/statuses.js @@ -752,9 +752,9 @@ const statuses = { ) }, fetchEmojiReactionsBy ({ rootState, commit }, id) { - rootState.api.backendInteractor.fetchEmojiReactions({ id }).then( - emojiReactions => { - commit('addEmojiReactionsBy', { id, emojiReactions, currentUser: rootState.users.currentUser }) + rootState.api.backendInteractor.fetchStatus({ id }).then( + status => { + commit('addEmojiReactionsBy', { id, emojiReactions: status.emoji_reactions, currentUser: rootState.users.currentUser }) } ) }, diff --git a/src/services/api/api.service.js b/src/services/api/api.service.js index de21ef3b..226ecc95 100644 --- a/src/services/api/api.service.js +++ b/src/services/api/api.service.js @@ -20,7 +20,7 @@ const ADMIN_USERS_URL = '/api/v1/pleroma/admin/users' const SUGGESTIONS_URL = '/api/v1/suggestions' const NOTIFICATION_SETTINGS_URL = '/api/pleroma/notification_settings' const NOTIFICATION_READ_URL = '/api/v1/pleroma/notifications/read' -const ADMIN_REPORTS_URL = '/api/v1/pleroma/admin/reports' +const ADMIN_REPORTS_URL = '/api/v1/admin/reports' const ADMIN_REPORT_NOTES_URL = id => `/api/v1/pleroma/admin/reports/${id}/notes` const ADMIN_REPORT_NOTE_URL = (report, note) => `/api/v1/pleroma/admin/reports/${report}/notes/${note}` @@ -99,9 +99,9 @@ const MASTODON_STREAMING = '/api/v1/streaming' const MASTODON_KNOWN_DOMAIN_LIST_URL = '/api/v1/instance/peers' const MASTODON_ANNOUNCEMENTS_URL = '/api/v1/announcements' const MASTODON_ANNOUNCEMENTS_DISMISS_URL = id => `/api/v1/announcements/${id}/dismiss` -const PLEROMA_EMOJI_REACTIONS_URL = id => `/api/v1/pleroma/statuses/${id}/reactions` -const PLEROMA_EMOJI_REACT_URL = (id, emoji) => `/api/v1/pleroma/statuses/${id}/reactions/${emoji}` -const PLEROMA_EMOJI_UNREACT_URL = (id, emoji) => `/api/v1/pleroma/statuses/${id}/reactions/${emoji}` +const PLEROMA_EMOJI_REACTIONS_URL = id => `/api/v1/statuses/${id}/reactions` +const PLEROMA_EMOJI_REACT_URL = (id, emoji) => `/api/v1/statuses/${id}/react/${emoji}` +const PLEROMA_EMOJI_UNREACT_URL = (id, emoji) => `/api/v1/statuses/${id}/react/${emoji}` const PLEROMA_BACKUP_URL = '/api/v1/pleroma/backups' const PLEROMA_ANNOUNCEMENTS_URL = '/api/v1/pleroma/admin/announcements' const PLEROMA_POST_ANNOUNCEMENT_URL = '/api/v1/pleroma/admin/announcements' @@ -647,7 +647,7 @@ const getReports = ({ state, limit, page, pageSize, credentials }) => { url = url + (args ? '?' + args : '') return fetch(url, { headers: authHeaders(credentials) }) .then((data) => data.json()) - .then((data) => data?.reports?.map(parseReport) ?? []) + .then((data) => data?.map(parseReport) ?? []) } const updateReportStates = ({ credentials, reports }) => { diff --git a/src/services/entity_normalizer/entity_normalizer.service.js b/src/services/entity_normalizer/entity_normalizer.service.js index 4fddd875..4357973c 100644 --- a/src/services/entity_normalizer/entity_normalizer.service.js +++ b/src/services/entity_normalizer/entity_normalizer.service.js @@ -126,6 +126,34 @@ export const parseUser = (data) => { } else { output.role = 'member' } + } else { + output.relationship = { + muting: [], + blocking: [], + followed_by: [], + following: [] + } + + output.rights = { + moderator: false, + admin: false + } + + // todo: find a better way to map masto roles to akkoma roles + const roles = data.roles + if (roles) { + if (!roles[0]) { + output.role = 'member' + } else if (roles[0].id === "1") { + output.role = 'moderator' + output.rights.moderator = true + } else if (roles[0].id === "2" || roles[0].id === "3") { + output.role = 'admin' + output.rights.admin = true + } else { + output.role = 'member' + } + } } if (data.source) { @@ -297,6 +325,9 @@ export const parseStatus = (data) => { } else { output.text = data.content output.summary = data.spoiler_text + output.emoji_reactions = data.reactions + // todo: properly check if post is visible + output.parent_visible = true } if (data.akkoma) { @@ -405,14 +436,16 @@ export const parseStatus = (data) => { export const parseNotification = (data) => { const mastoDict = { 'favourite': 'like', - 'reblog': 'repeat' + 'reblog': 'repeat', + 'reaction': 'pleroma:emoji_reaction' } const masto = !data.hasOwnProperty('ntype') const output = {} if (masto) { output.type = mastoDict[data.type] || data.type - output.seen = data.pleroma.is_seen + // todo: figure out how to tell if a notification has been seen or not + output.seen = true if (data.status) { output.status = isStatusNotification(output.type) ? parseStatus(data.status) : null output.action = output.status // TODO: Refactor, this is unneeded @@ -443,15 +476,12 @@ export const parseNotification = (data) => { export const parseReport = (data) => { const report = {} - report.account = parseUser(data.account) - report.actor = parseUser(data.actor) + report.account = parseUser(data.target_account.account) + report.actor = parseUser(data.account.account) report.statuses = data.statuses.map(parseStatus) - report.notes = data.notes.map(note => { - note.user = parseUser(note.user) - return note - }) - report.state = data.state - report.content = data.content + report.notes = [] + report.state = data.action_taken ? "closed" : "open" + report.content = data.comment report.created_at = data.created_at report.id = data.id diff --git a/src/services/new_api/oauth.js b/src/services/new_api/oauth.js index 3c8e64bd..9f7010ac 100644 --- a/src/services/new_api/oauth.js +++ b/src/services/new_api/oauth.js @@ -10,9 +10,9 @@ export const getOrCreateApp = ({ clientId, clientSecret, instance, commit }) => const url = `${instance}/api/v1/apps` const form = new window.FormData() - form.append('client_name', `PleromaFE_${window.___pleromafe_commit_hash}_${(new Date()).toISOString()}`) + form.append('client_name', "AkkomaFE") form.append('redirect_uris', REDIRECT_URI) - form.append('scopes', 'read write follow push admin') + form.append('scopes', 'read write follow push admin:read admin:write') return window.fetch(url, { method: 'POST', @@ -28,7 +28,7 @@ const login = ({ instance, clientId }) => { response_type: 'code', client_id: clientId, redirect_uri: REDIRECT_URI, - scope: 'read write follow push admin' + scope: 'read write follow push admin:read admin:write' } const dataString = reduce(data, (acc, v, k) => { diff --git a/static/config.json b/static/config.json index b1d412e7..b4f8feb7 100644 --- a/static/config.json +++ b/static/config.json @@ -1,6 +1,6 @@ { "alwaysShowSubjectInput": true, - "background": "/static/aurora_borealis.jpg", + "background": "/static/wdwskyboxbanner.png", "collapseMessageWithSubject": false, "greentext": false, "hideFilteredStatuses": false, @@ -8,15 +8,15 @@ "hidePostStats": false, "hideSitename": false, "hideUserStats": false, - "loginMethod": "password", - "logo": "/static/logo.svg", + "loginMethod": "token", + "logo": "/static/logo.png", "logoMargin": ".1em", - "logoMask": true, + "logoMask": false, "logoLeft": false, "nsfwCensorImage": "", "postContentType": "text/plain", "redirectRootLogin": "/main/friends", - "redirectRootNoLogin": "/main/all", + "redirectRootNoLogin": "/main/public", "showFeaturesPanel": true, "showInstanceSpecificPanel": false, "sidebarRight": false, diff --git a/static/logo.png b/static/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..194bcd0568b05d973c91cf044a3042fccafcc1b1 GIT binary patch literal 22400 zcmV)oK%BpcP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 literal 0 HcmV?d00001 diff --git a/static/terms-of-service.html b/static/terms-of-service.html index 46633629..8302265a 100644 --- a/static/terms-of-service.html +++ b/static/terms-of-service.html @@ -1,5 +1,3 @@ -

Terms of Service

+

This is Akkoma-FE modified to work on top of Mastodon/Chuckya. Note that while most of it should work fine, there are still a few differences between Akkoma and Mastodon that may cause things to break.

-

This is a placeholder, overwrite this by putting a file at

$STATIC_DIR/static/terms-of-service.html

- -

See the Static Directory docs for more info.

\ No newline at end of file +

Source code: https://akkoma.dev/esm/akkoma-fe

diff --git a/static/wdwskyboxbanner.png b/static/wdwskyboxbanner.png new file mode 100644 index 0000000000000000000000000000000000000000..08895537c61762f1ff2a984a1c5c28f702972252 GIT binary patch literal 39432 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