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;
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);
# Встраивание веб-интерфейса для выполнения файла по умолчанию
make build
# Использование модели slim для отключения встраивания веб-интерфейса в выполняемый файл
make build TAGS='slim embed'
Добавлена поддержка пользовательской стратегии сортировки комментариев. #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.
Исправлена ошибка DDL SQL для таблицы контактов #281.
Добавить поддержку PWA для внешнего интерфейса веб-сайта #242.
Добавить файл DDL PostgreSQL #229.
Оптимизирован файл MySQL DDL #229. Оптимизирован файл SQLite3 DDL #229.
Исправлена ошибка добавления звезды в твит #222.
Оптимизация docker-compose.yaml с использованием bitbus/paopao-ce:latest в качестве образа выпуска #217.
Исправлены ошибки DDL SQL в scripts/paopao-mysql.sql и scripts/paopao-sqlite3.sql #217.
Добавить функцию 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 )