Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(frontend): ノートを畳むときの計算をレンダーしたときの高さ基準にする #13266

Open
1 task
KisaragiEffective opened this issue Feb 12, 2024 · 12 comments · May be fixed by #13761
Open
1 task
Labels
✨Feature This adds/improves/enhances a feature

Comments

@KisaragiEffective
Copy link
Contributor

KisaragiEffective commented Feb 12, 2024

Summary

ノートを畳むときの計算をレンダーしたときの高さ基準にしてほしい

Purpose

現状の実装だと、とてもとても長い一行のコードブロックがたたまれるのに何回か改行を連打したノートがたたまれないなど1、一貫性がないように思う
↑「畳む」が存在する意義は「高すぎるとうるさい」という認識だが、文字列長でfalse-positiveやfalse-negativeが起きてしまっている

Do you want to implement this feature yourself?

  • Yes, I will implement this by myself and send a pull request

Footnotes

  1. 現状の実装では6行?

@KisaragiEffective KisaragiEffective added the ✨Feature This adds/improves/enhances a feature label Feb 12, 2024
@Sayamame-beans
Copy link
Contributor

Sayamame-beans commented Feb 12, 2024

改行を連打したノートがたたまれない

改行自体には上限があったと思います。(10行以上で畳まれる: https://github.com/misskey-dev/misskey/blob/b95e25004f87cf0743f4a363cd5ed4a7720ad27d/packages/frontend/src/scripts/collapsed.ts )
一方、畳まれないものの分かりやすい例としては、横に長い絵文字(名前が短いもの)などがあると思います。
畳まれる条件の文字数に達するまでに、相当な数の絵文字が表示出来るため、本来畳まれるような幅でも畳まれないと記憶しています。

@kakkokari-gtyih
Copy link
Contributor

kakkokari-gtyih commented Feb 12, 2024

パフォーマンス面とのトレードオフが気になるところではあるかも?

@kakkokari-gtyih
Copy link
Contributor

もちろん、そんなに負荷のかからない処理ならそうしたほうがいいとは思っている

@anatawa12
Copy link
Member

anatawa12 commented Feb 12, 2024

なんかいい感じにcssのmax-heightと組み合わせてできないかなぁとは結構前から思ってはいます。具体的な調査はしてない

@kakkokari-gtyih
Copy link
Contributor

kakkokari-gtyih commented Feb 12, 2024

いや、でもな…
端末によってノートが隠れる基準が変わってしまうのがMisskeyノートのテクニカルな部分の変更に当たる(既存のMFMテクニックやプラクティスが通用しなくなる)のでまずいかもしれないのと↓
https://misskey.io/notes/9pmb5deir91r0220
を両立するとなると一文字入力するごとに高さ計算が入るのでちょっとしんどそうというのがある

@kakkokari-gtyih
Copy link
Contributor

(個人的には https://misskey.io/notes/9pmb5deir91r0220 を実装するにとどめてもいいんじゃないかなと思っています)

@anatawa12
Copy link
Member

正直なところ短いx2が縮まるのが個人的にすごい違和感(イライラ)あるんですよね。

@kakkokari-gtyih
Copy link
Contributor

正直なところ短いx2が縮まるのが個人的にすごい違和感(イライラ)あるんですよね。

もうちょっと畳む基準を複雑にする(MFMのASTを投げて判定させる?)ようにすればいいのかも

@Sayamame-beans
Copy link
Contributor

正直なところ短いx2が縮まるのが個人的にすごい違和感(イライラ)あるんですよね。

それでいうと、scaleの小さくする方向でも畳まれるのとか気になりますね… (別のissueにした方が良さそうですかね?)
related: #13264 (comment)

borderのパラメータを見てshouldCollapseできるようにしないといけなさそう

@FineArchs
Copy link
Contributor

畳まれる領域のrefを取っておいて、onMountedイベントでclientHeightを計測して判定するようにすれば可能だと思います。

端末によってノートが隠れる基準が変わってしまうのがMisskeyノートのテクニカルな部分の変更に当たる

に関してはその通りですが、個人的には各々で隠す高さを変える設定ができるようになったらそちらの方が嬉しいと思います。

@kakkokari-gtyih
Copy link
Contributor

正直なところ短いx2が縮まるのが個人的にすごい違和感(イライラ)あるんですよね。

もうちょっと畳む基準を複雑にする(MFMのASTを投げて判定させる?)ようにすればいいのかも

これ実現できたかもしれない

@FineArchs
Copy link
Contributor

暫くは仮想行数と高さ計測の両方を設定から選べるようにするのも手かと思います

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨Feature This adds/improves/enhances a feature
Projects
Status: In Progress
5 participants