diff --git a/CHANGELOG.md b/CHANGELOG.md
index c74a7171c..7565ae7fa 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -18,6 +18,7 @@ You should also include the user name that made the change.
- Client: Improve control panel @syuilo
- Client: Show warning in control panel when there is an unresolved abuse report @syuilo
- Client: For notes with specified visibility, show recipients when hovering over visibility symbol. @Johann150
+- Client: Add rss-marquee widget @syuilo
- Make possible to delete an account by admin @syuilo
- Improve player detection in URL preview @mei23
- Add Badge Image to Push Notification #8012 @tamaina
diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml
index 8c4f52d58..6d8ee7ee2 100644
--- a/locales/ja-JP.yml
+++ b/locales/ja-JP.yml
@@ -1242,6 +1242,7 @@ _widgets:
trends: "トレンド"
clock: "時計"
rss: "RSSリーダー"
+ rssMarquee: "RSSリーダー(マーキー)"
activity: "アクティビティ"
photos: "フォト"
digitalClock: "デジタル時計"
diff --git a/packages/client/package.json b/packages/client/package.json
index 2969a1dbf..66705956b 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -74,6 +74,7 @@
"vanilla-tilt": "1.7.2",
"vite": "2.9.10",
"vue": "3.2.37",
+ "vue-marquee-text-component": "2.0.1",
"vue-prism-editor": "2.0.0-alpha.2",
"vuedraggable": "4.0.1",
"websocket": "1.0.34",
diff --git a/packages/client/src/widgets/index.ts b/packages/client/src/widgets/index.ts
index 51a82af08..650134461 100644
--- a/packages/client/src/widgets/index.ts
+++ b/packages/client/src/widgets/index.ts
@@ -6,6 +6,7 @@ export default function(app: App) {
app.component('MkwTimeline', defineAsyncComponent(() => import('./timeline.vue')));
app.component('MkwCalendar', defineAsyncComponent(() => import('./calendar.vue')));
app.component('MkwRss', defineAsyncComponent(() => import('./rss.vue')));
+ app.component('MkwRssMarquee', defineAsyncComponent(() => import('./rss-marquee.vue')));
app.component('MkwTrends', defineAsyncComponent(() => import('./trends.vue')));
app.component('MkwClock', defineAsyncComponent(() => import('./clock.vue')));
app.component('MkwActivity', defineAsyncComponent(() => import('./activity.vue')));
@@ -28,6 +29,7 @@ export const widgets = [
'timeline',
'calendar',
'rss',
+ 'rssMarquee',
'trends',
'clock',
'activity',
diff --git a/packages/client/src/widgets/rss-marquee.vue b/packages/client/src/widgets/rss-marquee.vue
new file mode 100644
index 000000000..e23f916d3
--- /dev/null
+++ b/packages/client/src/widgets/rss-marquee.vue
@@ -0,0 +1,115 @@
+
+