aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build/webpack.base.conf.js3
-rw-r--r--src/modules/statuses.js6
-rw-r--r--src/modules/users.js2
-rw-r--r--test/unit/specs/modules/statuses.spec.js9
-rw-r--r--test/unit/specs/modules/users.spec.js11
5 files changed, 26 insertions, 5 deletions
diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js
index ea46ce6f..e07bb7a2 100644
--- a/build/webpack.base.conf.js
+++ b/build/webpack.base.conf.js
@@ -95,7 +95,8 @@ module.exports = {
},
plugins: [
new ServiceWorkerWebpackPlugin({
- entry: path.join(__dirname, '..', 'src/sw.js')
+ entry: path.join(__dirname, '..', 'src/sw.js'),
+ filename: 'sw-pleroma.js'
})
]
}
diff --git a/src/modules/statuses.js b/src/modules/statuses.js
index 3d6ea2f7..04ec4dbc 100644
--- a/src/modules/statuses.js
+++ b/src/modules/statuses.js
@@ -2,7 +2,7 @@ import { remove, slice, each, find, maxBy, minBy, merge, last, isArray } from 'l
import apiService from '../services/api/api.service.js'
// import parse from '../services/status_parser/status_parser.js'
-const emptyTl = () => ({
+const emptyTl = (userId = 0) => ({
statuses: [],
statusesObject: {},
faves: [],
@@ -14,7 +14,7 @@ const emptyTl = () => ({
loading: false,
followers: [],
friends: [],
- userId: 0,
+ userId,
flushMarker: 0
})
@@ -319,7 +319,7 @@ export const mutations = {
each(oldTimeline.visibleStatuses, (status) => { oldTimeline.visibleStatusesObject[status.id] = status })
},
clearTimeline (state, { timeline }) {
- state.timelines[timeline] = emptyTl()
+ state.timelines[timeline] = emptyTl(state.timelines[timeline].userId)
},
setFavorited (state, { status, value }) {
const newStatus = state.allStatusesObject[status.id]
diff --git a/src/modules/users.js b/src/modules/users.js
index d83f0dd8..181946b4 100644
--- a/src/modules/users.js
+++ b/src/modules/users.js
@@ -91,7 +91,7 @@ export const getters = {
userById: state => id =>
state.users.find(user => user.id === id),
userByName: state => name =>
- state.users.find(user => user.screen_name === name)
+ state.users.find(user => user.screen_name.toLowerCase() === name.toLowerCase())
}
export const defaultState = {
diff --git a/test/unit/specs/modules/statuses.spec.js b/test/unit/specs/modules/statuses.spec.js
index 33628b9b..01d2ce06 100644
--- a/test/unit/specs/modules/statuses.spec.js
+++ b/test/unit/specs/modules/statuses.spec.js
@@ -240,6 +240,15 @@ describe('The Statuses module', () => {
expect(state.timelines.public.visibleStatuses[0].favorited).to.eql(true)
})
+ it('keeps userId when clearing user timeline', () => {
+ const state = cloneDeep(defaultState)
+ state.timelines.user.userId = 123
+
+ mutations.clearTimeline(state, { timeline: 'user' })
+
+ expect(state.timelines.user.userId).to.eql(123)
+ })
+
describe('notifications', () => {
it('removes a notification when the notice gets removed', () => {
const user = { id: '1' }
diff --git a/test/unit/specs/modules/users.spec.js b/test/unit/specs/modules/users.spec.js
index b0f3c51e..4d49ee24 100644
--- a/test/unit/specs/modules/users.spec.js
+++ b/test/unit/specs/modules/users.spec.js
@@ -45,6 +45,17 @@ describe('The users module', () => {
const expected = { screen_name: 'Guy', id: '1' }
expect(getters.userByName(state)(name)).to.eql(expected)
})
+
+ it('returns user with matching screen_name with different case', () => {
+ const state = {
+ users: [
+ { screen_name: 'guy', id: '1' }
+ ]
+ }
+ const name = 'Guy'
+ const expected = { screen_name: 'guy', id: '1' }
+ expect(getters.userByName(state)(name)).to.eql(expected)
+ })
})
describe('getUserById', () => {