",[3038,3041],{"name":3039,"color":3040},"c: ui","8949BA",{"name":3026,"color":3027},1682,"Filter phrase list","2023-02-18T07:57:05Z","https://github.com/elk-zone/elk/issues/1682",0.7454648,{"description":3048,"labels":3049,"number":3052,"owner":3028,"repository":3029,"state":3030,"title":3053,"updated_at":3054,"url":3055,"score":3056},"https://github.com/elk-zone/elk/issues/385#issuecomment-1345287364\r\n> I think we can have a list to show servers from [joinmastodon.org/zh/servers](https://joinmastodon.org/zh/servers), and it also can be used for signing in, signing up, exploring, and other not auth-required APIs.\r\n> Also, We can avoid users typing the server domain. The sign-in dialog looks pretty confusing when (non-developer) users want to sign in to their account. We can also improve that.",[3050,3051],{"name":3020,"color":3021},{"name":3026,"color":3027},510,"Sign Up","2023-02-11T00:45:13Z","https://github.com/elk-zone/elk/issues/510",0.76909244,{"description":3058,"labels":3059,"number":3061,"owner":3028,"repository":3029,"state":3030,"title":3062,"updated_at":3063,"url":3064,"score":3065},"\u003Cimg width=\"588\" alt=\"image\" src=\"https://user-images.githubusercontent.com/6481596/210184786-b82f5a3a-e0fa-472d-b39e-31bcab3c08e3.png\">\r\n",[3060],{"name":3020,"color":3021},682,"Full Search Support ","2023-02-06T04:41:09Z","https://github.com/elk-zone/elk/issues/682",0.80856895,{"description":3067,"labels":3068,"number":3072,"owner":3028,"repository":3029,"state":3030,"title":3073,"updated_at":3074,"url":3075,"score":3076},"- [x] streaming home\r\n- [x] streaming public timelines\r\n- [x] streaming tags\r\n- [x] streaming notifications\r\n- [ ] streaming conversations",[3069,3070,3071],{"name":3020,"color":3021},{"name":3023,"color":3024},{"name":3026,"color":3027},45,"streaming support for live updates","2023-02-19T12:46:15Z","https://github.com/elk-zone/elk/issues/45",0.8128072,{"description":3078,"labels":3079,"number":3083,"owner":3028,"repository":3029,"state":3030,"title":3084,"updated_at":3085,"url":3086,"score":3087},"When typing `@username` Elk displays a list of possible users to mention.\n\nWould be great to sort this list by user relations with those accounts, e.q.: display followed accounts first.\n\nI'm familiar with vue, and I can implement this, but I need some input first.\n\n\u003Cdetails>\n\u003Csummary>My first draft looks like this:\u003C/summary>\n\n```patch\ndiff --git a/app/composables/tiptap/suggestion.ts b/app/composables/tiptap/suggestion.ts\nindex fdaa24cd..b66c7d73 100644\n--- a/app/composables/tiptap/suggestion.ts\n+++ b/app/composables/tiptap/suggestion.ts\n@@ -23,16 +23,33 @@ export const TiptapMentionSuggestion: Partial\u003CSuggestionOptions> = import.meta.s\n : {\n pluginKey: new PluginKey('mention'),\n char: '@',\n- async items({ query }) {\n+ async items({ query }): Promise\u003Cmastodon.v1.Account[]> {\n if (query.length === 0)\n return []\n-\n- const paginator = useMastoClient().v2.search.list({ q: query, type: 'accounts', limit: 25, resolve: true })\n- return (await paginator.next()).value?.accounts ?? []\n+ const client = useMastoClient()\n+ const searchParams = { q: query, type: 'accounts' as const, limit: 5 }\n+ const following = client.v2.search.list({ ...searchParams, following: true })\n+ const other = client.v2.search.list({ ...searchParams, following: false })\n+ const results = await Promise.all([following.next(), other.next()])\n+ return uniqueBy(results.flatMap(result => result.value?.accounts ?? []), 'acct')\n },\n render: createSuggestionRenderer(TiptapMentionList),\n }\n \n+function uniqueBy\u003CT extends object>(items: T[], by: keyof T) {\n+ const seen = new Set()\n+ return items.filter((v) => {\n+ const identity = v[by]\n+ if (seen.has(identity)) {\n+ return false\n+ }\n+ else {\n+ seen.add(identity)\n+ return true\n+ }\n+ })\n+}\n+\n export const TiptapHashtagSuggestion: Partial\u003CSuggestionOptions> = {\n pluginKey: new PluginKey('hashtag'),\n char: '#',\n```\n\u003C/details>\n\nI'm not entirely happy with this version, because of https://github.com/mastodon/mastodon/issues/28238 this bug, which prevents partial username search. So, maybe we should go other way, and do something like this:\n\n- Fetch list of following accounts (once)\n- Filter list of following on the fly, without API request. If it has some data, display it. Trigger API search only if no matches found.\n\nWhat do you think?\n\nI created similar issue in Mastodon, to see if they're open to do this sort server-side https://github.com/mastodon/mastodon/issues/35342",[3080],{"name":3081,"color":3082},"s: pending triage","dddddd",3330,"Sort mention list by relations to current user","2025-07-10T15:58:44Z","https://github.com/elk-zone/elk/issues/3330",0.8182952,{"description":3089,"labels":3090,"number":3093,"owner":3028,"repository":3029,"state":3094,"title":3095,"updated_at":3096,"url":3097,"score":3098},"API Docs: https://docs.joinmastodon.org/methods/statuses/#mute",[3091,3092],{"name":3020,"color":3021},{"name":3023,"color":3024},513,"closed","Mute Conversation","2022-12-28T21:44:24Z","https://github.com/elk-zone/elk/issues/513",0.74319106,{"description":3100,"labels":3101,"number":3106,"owner":3028,"repository":3029,"state":3094,"title":3107,"updated_at":3108,"url":3109,"score":3110},"API Docs: https://docs.joinmastodon.org/methods/statuses/",[3102,3103],{"name":3020,"color":3021},{"name":3104,"color":3105},"p: 2-high","FF4d4d",512,"See who boosted/favorited a status","2023-01-08T20:08:46Z","https://github.com/elk-zone/elk/issues/512",0.74898136,{"description":3112,"labels":3113,"number":3116,"owner":3028,"repository":3029,"state":3094,"title":3117,"updated_at":3118,"url":3119,"score":3120},"relate #55 #61\r\n\r\ndocs: https://docs.joinmastodon.org/methods/push/",[3114,3115],{"name":3020,"color":3021},{"name":3023,"color":3024},84,"Notifications w/ Web Push API","2022-12-17T23:29:18Z","https://github.com/elk-zone/elk/issues/84",0.78621906,{"description":3122,"labels":3123,"number":3126,"owner":3028,"repository":3029,"state":3094,"title":3127,"updated_at":3128,"url":3129,"score":3130},"",[3124,3125],{"name":3020,"color":3021},{"name":3023,"color":3024},102,"inline code block","2022-11-30T06:29:36Z","https://github.com/elk-zone/elk/issues/102",0.79217446,["Reactive",3132],{},["Set"],["ShallowReactive",3135],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fZ_V3gXuqzHkP3kBMOPY06N4c7zpA388ea5c9ZCeQ9_4":-1},"/elk-zone/elk/874"]