Merge pull request '2-11-3-fixes' (#3546) from 2-11-3-fixes into develop

Reviewed-on: https://git.pleroma.social/pleroma/pleroma-fe/pulls/3546
This commit is contained in:
HJ 2026-08-11 21:40:54 +00:00
commit 35ea3a97dc
17 changed files with 35 additions and 15 deletions

View file

@ -0,0 +1 @@
fixed tapping "Mute..." and "Change visiblity" (admin action) in extra status actions closing the dropdown

View file

@ -0,0 +1 @@
domain mute fixedw

View file

@ -0,0 +1 @@
fix moderation tools button possibly not appearing for admins

View file

@ -0,0 +1 @@
Fixed moderation actions requiring confirmation closing user popover

View file

@ -0,0 +1 @@
Fix Themes 2.0 applying incorrect fonts

1
changelog.d/themes3.fix Normal file
View file

@ -0,0 +1 @@
Fixed themes 3 not loading in appearance tab

View file

@ -67,6 +67,7 @@ export const promisedRequest = async ({
url,
payload,
formData,
forceContentType,
cache,
credentials,
headers = {},
@ -75,7 +76,7 @@ export const promisedRequest = async ({
method,
credentials: 'same-origin',
headers: {
Accept: 'application/json',
Accept: forceContentType ?? 'application/json',
...headers,
},
}
@ -110,7 +111,7 @@ export const promisedRequest = async ({
)
if (contentLength === 0) return null
switch (contentType) {
switch (forceContentType ?? contentType) {
case 'text/plain':
return await response.text()
case 'application/json':

View file

@ -516,8 +516,7 @@ const ModerationTools = {
setOpen(value) {
this.open = value
},
maybeShowConfirm(close, { group, name, action, value }) {
close()
maybeShowConfirm({ group, name, action, value }) {
this.confirmDialogName = name
this.confirmDialogGroup = group
this.confirmDialogAction = () => action()

View file

@ -9,7 +9,7 @@
@show="setOpen(true)"
@close="setOpen(false)"
>
<template #content="{close}">
<template #content>
<div class="dropdown-menu">
<template v-for="(entry, index) in entries">
<div
@ -26,7 +26,7 @@
>
<button
class="main-button"
@click="() => maybeShowConfirm(close, entry)"
@click="() => maybeShowConfirm(entry)"
>
<span
v-if="entry.checkbox"

View file

@ -78,8 +78,8 @@
v-model="expiryUnit"
unstyled="true"
class="expiry-unit"
@change="expiryAmountChange"
:aria-label="$t('polls.expiry_unit')"
@change="expiryAmountChange"
>
<option
v-for="unit in expiryUnits"

View file

@ -579,8 +579,11 @@ const PostStatusForm = {
}),
},
watch: {
isDirty(newVal, oldVal) {
this.statusChanged()
newStatus: {
deep: true,
handler() {
this.statusChanged()
},
},
saveable(val) {
// https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event#usage_notes

View file

@ -168,7 +168,7 @@ export default {
setTimeout(() => {
this.animationState = false
}, 500)
close()
if (!this.button.dropdown) close()
}
},
},

View file

@ -212,7 +212,7 @@ const api = {
if (state.mastoUserSocketStatus !== WSConnectionStatus.ERROR) {
dispatch('startFetchingTimeline', { timeline: 'friends' })
dispatch('startFetchingNotifications')
dispatch('startFetchingChats')
useChatsStore().startFetchingChats()
useInterfaceStore().pushGlobalNotice({
level: 'error',
messageKey: 'timeline.socket_broke',
@ -234,7 +234,7 @@ const api = {
stopMastoUserSocket({ state, dispatch }) {
dispatch('startFetchingTimeline', { timeline: 'friends' })
dispatch('startFetchingNotifications')
dispatch('startFetchingChats')
useChatsStore().startFetchingChats()
state.mastoUserSocket.close()
},

View file

@ -85,6 +85,11 @@ export const notifications = {
return true
})
commit(
'addNewUsers',
validNotifications.map((notification) => notification.from_profile),
)
const statusNotifications = validNotifications.filter(
(notification) =>
isStatusNotification(notification.type) && notification.status,

View file

@ -881,7 +881,7 @@ const statuses = {
'addNewUsers',
data.statuses.map((s) => s.user).filter(Boolean),
)
store.commit('addNewStatuses', {
store.dispatch('addNewStatuses', {
statuses: data.statuses,
})

View file

@ -619,8 +619,11 @@ const users = {
addNewStatuses(store, { statuses }) {
const users = map(statuses, 'user')
const retweetedUsers = compact(map(statuses, 'retweeted_status.user'))
const quotedUsers = compact(map(statuses, 'quote.user'))
store.commit('addNewUsers', users)
store.commit('addNewUsers', retweetedUsers)
store.commit('addNewUsers', quotedUsers)
each(statuses, (status) => {
// Reconnect users to statuses
@ -795,7 +798,7 @@ const users = {
if (useInstanceCapabilitiesStore().pleromaChatMessagesAvailable) {
// Start fetching chats
dispatch('startFetchingChats')
useChatsStore().startFetchingChats()
}
}

View file

@ -313,7 +313,9 @@ export const applyStyleConfig = (input) => {
adoptStyleSheets()
}
export const getResourcesIndex = async (url, parser = (x) => x) => {
const noop = (x) => x
export const getResourcesIndex = async (url, parser = noop) => {
const cache = 'no-store'
const customUrl = url.replace(/\.(\w+)$/, '.custom.$1')
let builtin
@ -330,6 +332,7 @@ export const getResourcesIndex = async (url, parser = (x) => x) => {
promisedRequest({
url: v,
cache,
forceContentType: parser === noop ? null : 'text/plain',
})
.then(({ data: text }) => parser(text))
.catch((e) => {