1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/rocboss-paopao-ce

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
CHANGELOG.md 20 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 07:09 308d79c

HttpIp: 0.0.0.0

HttpPort: 6080

ReadTimeout: 60

WriteTimeout: 60

...

- Добавить полную поддержку логики комментариев к горячим твитам и добавить поддержку кэша для комментариев к твитам.

Миграция базы данных (файл SQL DDL в `scripts/migration/**/*_rank_metrics.up.sql`):
```sql
ALTER TABLE `p_comment` ADD COLUMN `reply_count` int unsigned NOT NULL DEFAULT 0 COMMENT 'Количество ответов';

UPDATE p_comment comment 
SET reply_count = (
  SELECT count(*) FROM p_comment_reply reply WHERE reply.comment_id=comment.id AND reply.is_del=0
)
WHERE is_del=0;

CREATE TABLE `p_comment_metric` (
    `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `comment_id` bigint unsigned NOT NULL,
    `rank_score` bigint unsigned NOT NULL DEFAULT 0,
    `incentive_score` int unsigned NOT NULL DEFAULT 0,
    `decay_factor` int unsigned NOT NULL DEFAULT 0,
    `motivation_factor` int unsigned NOT NULL DEFAULT 0,
    `is_del` tinyint NOT NULL DEFAULT 0,
    `created_on` bigint unsigned NOT NULL DEFAULT 0,
    `modified_on` bigint unsigned NOT NULL DEFAULT 0,
    `deleted_on` bigint unsigned NOT NULL DEFAULT 0,
    PRIMARY KEY (`id`) USING BTREE,
    KEY `idx_comment_metric_comment_id_rank_score` (`comment_id`, `rank_score`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

INSERT INTO p_comment_metric (comment_id, rank_score, created_on) 
SELECT id AS comment_id, 
    reply_count*2 + thumbs_up_count*4 - thumbs_down_count AS rank_score,
    created_on
FROM p_comment
WHERE is_del=0;

CREATE TABLE `p_user_metric` (
    `id` bigint unsigned NOT NULL AUTO_INCREMENT,
    `user_id` bigint unsigned NOT NULL,
    `tweets_count` int unsigned NOT NULL DEFAULT 0,
  `latest_trends_on` bigint unsigned NOT NULL DEFAULT 0 COMMENT 'Время последних изменений',
    `is_del` tinyint NOT NULL DEFAULT 0,
    `created_on` bigint unsigned NOT NULL DEFAULT 0,
    `modified_on` bigint unsigned NOT NULL DEFAULT 0,
    `deleted_on` bigint unsigned NOT NULL DEFAULT 0,
    PRIMARY KEY (`id`) USING BTREE,
    KEY `idx_user_metric_user_id_tweets_count_trends` (`user_id`, `tweets_count`, `latest_trends_on`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

INSERT INTO p_user_metric (user_id, tweets_count) 
SELECT user_id, count(*) AS tweets_count
FROM p_post
WHERE is_del=0
GROUP BY user_id;
  • Добавить поддержку фильтра сообщений для страницы сообщений.

  • Добавить возможность прочитать все непрочитанные сообщения и отобразить количество непрочитанных сообщений на странице сообщений.

  • Добавить поддержку следования за пользователем, встраиваемую в индекс трендов, чтобы обеспечить навигацию по твитам пользователя с помощью слайдера.

Миграция базы данных (файл SQL DDL в scripts/migration/**/*_user_relation.up.sql):

CREATE VIEW p_user_relation AS 
SELECT user_id, friend_id he_uid, 5 AS style 
FROM p_contact WHERE status=2 AND is_del=0
UNION
SELECT user_id, follow_id he_uid, 10 AS style 
FROM p_following WHERE is_del=0;
  • Добавить информацию о количестве твитов на странице «Главная» и «Профиль».

  • Добавить настраиваемые функции веб-интерфейса на основе профиля, которые извлекаются из серверной части.

Можно добавить пользовательские настройки в conf.yaml для настраиваемых функций веб-интерфейса:

...
WebProfile:
    UseFriendship: true              # Использовать ли систему друзей в веб-интерфейсе
    EnableTrendsBar: true            # Включать ли панель трендов на главной странице
    EnableWallet: false              # Разрешать ли использование кошелька
    AllowTweetAttachment: true       # Разрешать ли прикреплять файлы к твитам
    AllowTweetAttachmentPrice: true  # Разрешать ли платные прикрепления к твитам
    AllowTweetVideo: true            # Разрешать ли видео в твитах
    AllowUserRegister: true          # Разрешать ли регистрацию пользователей
    AllowPhoneBind: true             # Разрешать ли привязку телефона
    DefaultTweetMaxLength: 2000      # Максимальная длина твита, по умолчанию 2000 символов
    TweetWebEllipsisSize: 400        # Максимальный размер твита для отображения в ленте, по умолчанию 400 символов
    TweetMobileEllipsisSize: 300     # Максимальный размер твита для отображения на мобильном устройстве, по умолчанию 300 символов
    DefaultTweetVisibility: friend   # Видимость твитов, по умолчанию видны только друзьям
    DefaultMsgLoopInterval: 5000     # Интервал получения непрочитанных сообщений, в миллисекундах, по умолчанию 5000 мс
    CopyrightTop: "2023 paopao.info"
    CopyrightLeft: "Roc's

*Примечание: данный текст может содержать ошибки или неточности перевода.* **Me**

CopyrightLeftLink: ""
CopyrightRight: "С открытым исходным кодом сообщества PaoPao"
CopyrightRightLink: "https://www.paopao.info"

* * *

- Добавьте поддержку чтения дополнительных материалов для карточек в списке твитов.

### Изменённое
- Оптимизирована логика генерации токенов JWT.

## 0.4.2
### Исправленное
- Устранена ошибка, когда при использовании Minio в качестве OSS (Object Storage System) возникала утечка ресурсов и не происходило удаление нескольких объектов. [#371](https://github.com/rocboss/paopao-ce/pull/371), [#372](https://github.com/rocboss/paopao-ce/pull/372).

## 0.4.1
### Изменённое
- Бесконечная прокрутка вместо нумерации страниц на домашней странице, странице пользователя и странице профиля.

## 0.4.0
### Добавленное
- Поддержка функции pprof. [#327](https://github.com/rocboss/paopao-ce/pull/327).
- Использование оптимизации сборки с помощью компилятора с учётом профиля (PGO) для дальнейшей оптимизации сборок. [#327](https://github.com/rocboss/paopao-ce/pull/327).
- Фронтенд: повторное добавление страницы со звёздами на страницу профиля. [#339](https://github.com/rocboss/paopao-ce/pull/339).
- Простая поддержка фильтрации пользовательских постов по стилю (пост/комментарий/медиа/звезда). [#345](https://github.com/rocboss/paopao-ce/pull/345). Миграция базы данных (файл SQL DDL в scripts/migration/**/*_create_view_post_filter.up.sql):
```sql
CREATE VIEW p_post_by_media AS SELECT post.*FROM (SELECT DISTINCT post_id FROM p_post_content WHERE (TYPE=3 OR TYPE=4 OR TYPE=7 OR TYPE=8) AND is_del=0) media JOIN p_post post ON media.post_id=post.ID WHERE post.is_del=0;
CREATE VIEW p_post_by_comment AS SELECT P.*,C.user_id comment_user_id FROM (SELECT post_id,user_id FROM p_comment WHERE is_del=0 UNION SELECT post_id,reply.user_id user_id FROM p_comment_reply reply JOIN p_comment COMMENT ON reply.comment_id=COMMENT.ID WHERE reply.is_del=0 AND COMMENT.is_del=0) C JOIN p_post P ON C.post_id=P.ID WHERE P.is_del=0;
  • Добавление поддержки выделения твитов пользователей, включая настраиваемый набор твитов для выделения и список на странице пользователя/профиля.
  • Добавление подкоманды cli для запуска paopao-ce serve или других задач. #354.
  • Добавление функции Followship. #355. Миграция базы данных (SQL DDL файл в scripts/migration/**/*_user_following.up.sql):
DROP TABLE IF EXISTS p_following; 
CREATE TABLE p_following (ID BIGSERIAL PRIMARY KEY,user_id BIGINT NOT NULL,follow_id BIGINT NOT NULL,is_del SMALLINT NOT NULL DEFAULT 0,created_on BIGINT NOT NULL DEFAULT 0,modified_on BIGINT NOT NULL DEFAULT 0,deleted_on BIGINT NOT NULL DEFAULT 0); 
CREATE INDEX idx_following_user_follow ON p_following USING btree (user_id,follow_id);

Изменённое

  • Ширина содержимого man изменена на 600 пикселей, а также оптимизирована длина текста твитов/комментариев/ответов. #333.
  • Оптимизация встраивания веб-интерфейса в исполняемый файл paopao. #354:
# Встраивание веб-интерфейса для выполнения файла по умолчанию
make build 
# Использование модели slim для отключения встраивания веб-интерфейса в выполняемый файл
make build TAGS='slim embed'
  • Фронтенд: оптимизация пути маршрута страницы профиля пользователя до домена/#/u/?s=username. &c857142.
  • Изменение функций Friendship и Followship как встроенных функций. #362.
  • Устаревшая/удалённая функция Lightship. #362.
  • Оптимизация функции Followship позволяет подписываться/отписываться от пользователей на странице подписки. &fd5e54b.
  • Meilisearch используется по умолчанию для поиска в docker-compose.yaml.

Исправлено

  • Исправлена ошибка валидации JWT при неудачном получении пользователя по идентификатору. &51fd972.

0.3.1

Исправлено

  • Исправлено: ошибка cdn в активах видеоплеера. &caff8c0.

0.3.0

Добавлено

  • Добавлена поддержка пользовательской стратегии сортировки комментариев. #243.

  • Добавлен RedisCacheIndex. # 250

  • Добавить функцию Sentry (#258).

  • Реализовать поддержку функции простого обмена твитами (сейчас можно только скопировать ссылку на твит в буфер обмена) (#264).

  • Включить настройку максимальной длины твита по умолчанию в файле web/.env. Для изменения максимальной длины твита необходимо установить значение VITE_DEFAULT_TWEET_MAX_LENGTH в файле web/.env (#264).

    # файл: web/.env или web/.env.local
    ...
    # Локальные параметры
    VITE_DEFAULT_TWEET_MAX_LENGTH=значение
    ...
  • Предоставить возможность настройки регистрации пользователей в файле web/.env и запретить регистрацию пользователей на сервере (добавить функцию Web:DisallowUserRegister в config.yaml):

    # file config.yaml
    ...
    Features:
      Default: ["Base", "Postgres", "Zinc", "LocalOSS", "LoggerZinc", "BigCacheIndex", "Friendship", "Service", "Web:DisallowUserRegister"]
    ...
  • Обеспечить поддержку функции подписки на темы (#273). Сначала выполнить миграцию базы данных (файл sql ddl в scripts/migration/**/*_topic_follow.up.sql):

    CREATE TABLE `p_topic_user` (
        `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
        `topic_id` BIGINT UNSIGNED NOT NULL COMMENT 'Идентификатор метки',
        `user_id` BIGINT UNSIGNED NOT NULL COMMENT 'ID создателя',
        `alias_name` VARCHAR ( 255 ) COMMENT 'Псевдоним',
        `remark` VARCHAR ( 512 ) COMMENT 'Примечание',
        `quote_num` BIGINT UNSIGNED COMMENT 'Количество цитат',
        `is_top` TINYINT UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Является ли топ 0 — нет, 1 — да',
        `created_on` BIGINT UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Дата создания',
        `modified_on` BIGINT UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Дата изменения',
        `deleted_on` BIGINT UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Дата удаления',
        `is_del` TINYINT UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Удалено 0 — нет, 1 — да',
        `reserve_a` VARCHAR ( 255 ) COMMENT 'Поле a для сохранения',
        `reserve_b` VARCHAR ( 255 ) COMMENT 'Поле b для сохранения',
        PRIMARY KEY ( `id` ) USING BTREE,
        UNIQUE KEY `idx_topic_user_uid_tid` ( `topic_id`, `user_id` ) USING BTREE 
    ) ENGINE = INNODB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'Пользовательские темы';
  • Реализовать функцию поддержки лайков и дизлайков для твитов (#275). Сначала выполнить миграцию базы данных (файл sql ddl в scripts/migration/**/*_comment_thumbs.up.sql).

Исправлено

  • Исправлена ошибка определения столбца is_delete в sql ddl p_contact (изменено на is_del) в файле scripts/paopao-mysql.sql (#afd8fe1).

  • Исправлены ошибки с кэшем индекса, который не истекал при удалении/добавлении твита (#266).

  • Твиттер владельца не позволяет ставить лайки/добавлять в избранное, когда твит является личным (#274).

  • Пользователь не видит твиты владельца, добавленные в избранное, если они являются личными (#274).

  • Состояние лайков и дизлайков комментариев было некорректным (#283). Пароль:

DB:

Поле настройки клиента **New** redis
```yaml
...
Redis:
  InitAddress:
  - redis:6379
  Username:
  Password:
  SelectDB:
  ConnWriteTimeout: 60   # Время ожидания соединения для записи, по умолчанию 60 секунд

Оптимизировать тёмную тему внешнего интерфейса веб-сайта &b082a8f. Изменить размер макета основного содержимого внешнего интерфейса по умолчанию на 544px &b082a8f. Оптимизировать использование Drawer в мобильной среде для отображения меню #265. Оптимизировать Dockerfile с использованием образа сборщика/исполнителя для предотвращения проблемы с задержкой сети (bitbus/paopao-ce-backend-builder bitbus/paopao-ce-backend-runner) #265. Оптимизировать пользовательский интерфейс в мобильной среде #280. Оптимизировать совместимость загрузки zip-приложения с различными браузерами для загрузки mimetype zip #286. Адаптировать meilisearch к версии v1.1 #288.

Удалено

Удалить функцию Deprecated:OldWeb #256.

0.2.5

Изменено

Исправлена ошибка DDL SQL для таблицы контактов #281.

0.2.4

Добавлено

Добавить поддержку PWA для внешнего интерфейса веб-сайта #242.

0.2.3

Добавленное

Добавить файл DDL PostgreSQL #229.

Изменённое

Оптимизирован файл MySQL DDL #229. Оптимизирован файл SQLite3 DDL #229.

0.2.2

Исправленное

Исправлена ошибка добавления звезды в твит #222.

0.2.1

Изменённое

Оптимизация docker-compose.yaml с использованием bitbus/paopao-ce:latest в качестве образа выпуска #217.

Исправлено

Исправлены ошибки DDL SQL в scripts/paopao-mysql.sql и scripts/paopao-sqlite3.sql #217.

0.2.0

Добавленные

Добавить функцию Friendship #192. Добавить функцию Lightship #198. Добавить функцию Pyroscope #199. Добавить новый сервис Web #196. Добавить функцию Frontend:Web #196. Добавить функцию Deprecated:OldWeb #196.

Изменения

Поддержка запуска нескольких сервисов в одном экземпляре paopao-ce #196. Использование go-mir для оптимизации архитектуры исходного кода paopao-ce #196.

Исправления

Другие функции оптимизированы и исправлены ошибки.


Старые журналы изменений можно найти на GitHub [https://github.com/rocboss/paopao-ce/releases?after=v0.2.0].

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/rocboss-paopao-ce.git
git@api.gitlife.ru:oschina-mirror/rocboss-paopao-ce.git
oschina-mirror
rocboss-paopao-ce
rocboss-paopao-ce
main