Prevent infinite loop of QT of QT of QT
Use case: Status A QT status B, then status B QT status A = recursive QT
This commit is contained in:
parent
48c86d7090
commit
535715cfe8
1 changed files with 5 additions and 4 deletions
|
@ -157,7 +157,7 @@ function Status({
|
||||||
_filtered,
|
_filtered,
|
||||||
} = status;
|
} = status;
|
||||||
|
|
||||||
console.debug('RENDER Status', id, status?.account.displayName);
|
console.debug('RENDER Status', id, status?.account.displayName, quoted);
|
||||||
|
|
||||||
const debugHover = (e) => {
|
const debugHover = (e) => {
|
||||||
if (e.shiftKey) {
|
if (e.shiftKey) {
|
||||||
|
@ -967,7 +967,7 @@ function Status({
|
||||||
}),
|
}),
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<QuoteStatuses id={id} instance={instance} />
|
<QuoteStatuses id={id} instance={instance} level={quoted} />
|
||||||
</div>
|
</div>
|
||||||
{!!poll && (
|
{!!poll && (
|
||||||
<Poll
|
<Poll
|
||||||
|
@ -1936,12 +1936,13 @@ function FilteredStatus({ status, filterInfo, instance, containerProps = {} }) {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
const QuoteStatuses = memo(({ id, instance }) => {
|
const QuoteStatuses = memo(({ id, instance, level = 0 }) => {
|
||||||
const snapStates = useSnapshot(states);
|
const snapStates = useSnapshot(states);
|
||||||
const sKey = statusKey(id, instance);
|
const sKey = statusKey(id, instance);
|
||||||
const quotes = snapStates.statusQuotes[sKey];
|
const quotes = snapStates.statusQuotes[sKey];
|
||||||
|
|
||||||
if (!quotes?.length) return;
|
if (!quotes?.length) return;
|
||||||
|
if (level > 2) return;
|
||||||
|
|
||||||
return quotes.map((q) => {
|
return quotes.map((q) => {
|
||||||
return (
|
return (
|
||||||
|
@ -1953,7 +1954,7 @@ const QuoteStatuses = memo(({ id, instance }) => {
|
||||||
statusID={q.id}
|
statusID={q.id}
|
||||||
instance={q.instance}
|
instance={q.instance}
|
||||||
size="s"
|
size="s"
|
||||||
quoted
|
quoted={level + 1}
|
||||||
previewMode
|
previewMode
|
||||||
/>
|
/>
|
||||||
</Link>
|
</Link>
|
||||||
|
|
Loading…
Add table
Reference in a new issue