upstream: integrar Oasis 1.3.3
Diferencia 1.3.1 -> 1.3.3 del codigo de la APK oficial aplicada a tres bandas encima de la rama: karma en el perfil, salas con directo, fotos selladas, visibilidad de menciones, telefono por stream en Android y las traducciones nuevas. Sin dependencias nuevas. OasisMobile.css sigue siendo el del fork; del oficial solo se traen al final las reglas de las piezas nuevas (karma, directo a pantalla completa, salas en vivo, graphos).
This commit is contained in:
parent
bc64565e9c
commit
948b6460d9
95 changed files with 3613 additions and 1356 deletions
|
|
@ -4,6 +4,12 @@ const logLimit = getConfig().ssbLogStream?.limit || 1000;
|
|||
const opinionCategories = require('../backend/opinion_categories');
|
||||
const { buildValidatedTombstoneSet } = require('./tombstone_validator');
|
||||
const { readTyped, CONTENT_TYPES, requestScope } = require('./typed_log');
|
||||
const longText = require('../backend/long_text');
|
||||
const isRootBlogPost = (c) =>
|
||||
!!c && c.type === 'post' && typeof c.text === 'string' &&
|
||||
!c.root && !c.fork && !c.branch && !c.about && !c.target &&
|
||||
c.private !== true && !Array.isArray(c.recps);
|
||||
|
||||
const { buildVoteTally } = require('../backend/vote_tally');
|
||||
const { versionGroups, versionEntry } = require('../backend/dedupe');
|
||||
|
||||
|
|
@ -21,7 +27,7 @@ module.exports = ({ cooler }) => {
|
|||
};
|
||||
|
||||
const types = [
|
||||
'bookmark', 'votes', 'poll', 'feed',
|
||||
'bookmark', 'votes', 'poll', 'feed', 'post',
|
||||
'image', 'audio', 'video', 'document', 'torrent', 'file', 'transfer',
|
||||
'industry', 'project', 'report', 'task', 'event', 'shopProduct', 'housing', 'market', 'schoolCourse',
|
||||
'podcast', 'podcastEpisode', 'campaign', 'logisticsRoute'
|
||||
|
|
@ -52,6 +58,15 @@ module.exports = ({ cooler }) => {
|
|||
if (c.opinions && !['task', 'event', 'report'].includes(c.type)) itemsById.set(k, m);
|
||||
|
||||
if (c.type === 'feed' && !itemsById.has(k)) itemsById.set(k, m);
|
||||
if (isRootBlogPost(c) && !itemsById.has(k)) itemsById.set(k, m);
|
||||
}
|
||||
|
||||
const chunkLookup = longText.lookupIn(longText.indexChunks(messages));
|
||||
for (const [k, m] of Array.from(itemsById.entries())) {
|
||||
const c = m.value?.content;
|
||||
if (c?.type === 'post' && longText.hasChunks(c)) {
|
||||
itemsById.set(k, { ...m, value: { ...m.value, content: longText.resolveField(c, 'text', m.value.author, chunkLookup) } });
|
||||
}
|
||||
}
|
||||
|
||||
const vg = versionGroups(Array.from(itemsById.values()).map(versionEntry));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue