Paopao Ce Versions Save

🔥An artistic "twitter like" community built on gin+zinc+vue+ts 清新文艺微社区

v0.5.0-beta.1

7 months ago

v0.5.0(beta)

Added

  • add LoggerOpenObserve feature use OpenObserve to collect log.#370
    add LoggerOpenObserve to conf.yaml 's Features section to enable this feature like below:
    # file config.yaml
    ...
    Features:
      Default: ["Base", "Postgres", "Meili", "LocalOSS", "LoggerOpenObserve", "BigCacheIndex", "web"]
    LoggerOpenObserve: # 使用OpenObserve写日志
    Host: 127.0.0.1:5080
    Organization: paopao-ce
    Stream: default
    User: [email protected]
    Password: tiFEI8UeJWuYA7kN
    Secure: False
    MinWorker: 5               # 最小后台工作者, 设置范围[5, 100], 默认5
    MaxLogBuffer: 100          # 最大log缓存条数, 设置范围[10, 10000], 默认100
    ...
    
  • Added friend tweets bar feature support in home page. #377
  • web: add custom Friendship feature support. To custom setup Friendship use below configure in web/.env or web/.env.local
    # 功能特性开启
    VITE_USE_FRIENDSHIP=true
    
    # 模块开启
    VITE_ENABLE_FRIENDS_BAR=true
    
  • add Newest/Hots/Following tweets support in friend bar feature. mirgration database first(sql ddl file in scripts/migration/**/*_home_timeline.up.sql):
    CREATE TABLE `p_post_metric` (
     `id` bigint unsigned NOT NULL AUTO_INCREMENT,
     `post_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, -- 是否删除, 0否, 1是
     `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_post_metric_post_id_rank_score` (`post_id`,`rank_score`) USING BTREE
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
    
    INSERT INTO p_post_metric (post_id, rank_score, created_on) 
    SELECT id AS post_id, 
       comment_count + upvote_count*2 + collection_count*4 AS rank_score,
       created_on
    FROM p_post
    WHERE is_del=0;
    
    -- 原来的可见性: 0公开 1私密 2好友可见 3关注可见
    -- 现在的可见性: 0私密 10充电可见 20订阅可见 30保留 40保留 50好友可见 60关注可见 70保留 80保留 90公开
    UPDATE p_post a, p_post b 
    SET a.visibility = (
       CASE b.visibility 
        WHEN 0 THEN 90 
        WHEN 1 THEN 0 
        WHEN 2 THEN 50 
        WHEN 3 THEN 60 
        ELSE 0
       END 
    )
    WHERE a.ID = b.ID;
    
  • add cache support for index/home etc. page.
  • add hots comments support for post detail page.
  • add highlight comments support for post detail page. mirgration database first(sql ddl file in scripts/migration/**/*_comment_esence.up.sql):
      ALTER TABLE `p_comment` ADD COLUMN `is_essence` tinyint unsigned NOT NULL DEFAULT 0 COMMENT '是否精选';
    
  • add follow/unfollow user support in index/home/collecion/message/post page.
  • add simple prometheus metrics support. add Metrics to conf.yaml 's Features section to enable this feature like below:
    # file config.yaml
    ...
    Features:
      Default: ["Base", "Postgres", "Meili", "LocalOSS", "Metrics", "web"]
    JobManager: # Cron Job理器的配置参数
      MaxOnlineInterval: "@every 5m"       # 更新最大在线人数,默认每5分钟更新一次
      UpdateMetricsInterval: "@every 5m"   # 更新Prometheus指标,默认每5分钟更新一次
    MetricsServer: # Prometheus Metrics服务
      RunMode: debug
      HttpIp: 0.0.0.0
      HttpPort: 6080
      ReadTimeout: 60
      WriteTimeout: 60
    ...
    
  • add full support for tweet hots comment logic and add cache support for tweet comments. mirgration database first(sql ddl file in scripts/migration/**/*_rank_metrics.up.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;
    
  • add message filter support for message page.

备注:发布版本中,使用如下命令构建paopao-ce: (go version go1.21.1 darwin/amd64)

./build-release.sh && ./build-image.sh

发布的二进制文件中只测试了paopao-ce-darwin_amd64,其余平台的未亲测,如有问题,请使用源码在自己平台下自行构建。

您可以使用如下命令启动一个测试实例尝鲜:

docker compose up -d
# visit http://localhost:8008  👀 paopao-ce
# visit http://localhost:8001  👀 RedisInsight
# visit http://localhost:8080  👀 phpMyAdmin

v0.5.0-alpha.10

7 months ago

v0.5.0(alpha)

Added

  • add message filter support for message page.

Changed

  • optimize collections/contacts/following page use infinity load more instead explicit pagination logic.

备注:发布版本中,使用如下命令构建paopao-ce: (go version go1.21.1 darwin/amd64)

./build-release.sh && ./build-image.sh

发布的二进制文件中只测试了paopao-ce-darwin_amd64,其余平台的未亲测,如有问题,请使用源码在自己平台下自行构建。

您可以使用如下命令启动一个测试实例尝鲜:

docker compose up -d
# visit http://localhost:8008  👀 paopao-ce
# visit http://localhost:8001  👀 RedisInsight
# visit http://localhost:8080  👀 phpMyAdmin

v0.5.0-alpha.9

7 months ago

v0.5.0(alpha)

Fixed

  • fixed get hots tweet comments result not correct error.

备注:发布版本中,使用如下命令构建paopao-ce: (go version go1.21.1 darwin/amd64)

./build-release.sh && ./build-image.sh

发布的二进制文件中只测试了paopao-ce-darwin_amd64,其余平台的未亲测,如有问题,请使用源码在自己平台下自行构建。

您可以使用如下命令启动一个测试实例尝鲜:

docker compose up -d
# visit http://localhost:8008  👀 paopao-ce
# visit http://localhost:8001  👀 RedisInsight
# visit http://localhost:8080  👀 phpMyAdmin

v0.5.0-alpha.8

7 months ago

v0.5.0(alpha)

Added

  • add simple prometheus metrics support. add Metrics to conf.yaml 's Features section to enable this feature like below:
    # file config.yaml
    ...
    Features:
      Default: ["Base", "Postgres", "Meili", "LocalOSS", "Metrics", "web"]
    JobManager: # Cron Job管理器的配置参数
      MaxOnlineInterval: "@every 5m"       # 更新最大在线人数,默认每5分钟更新一次
      UpdateMetricsInterval: "@every 5m"   # 更新Prometheus指标,默认每5分钟更新一次
    MetricsServer: # Prometheus Metrics服务
      RunMode: debug
      HttpIp: 0.0.0.0
      HttpPort: 6080
      ReadTimeout: 60
      WriteTimeout: 60
    ...
    
  • add full support for tweet hots comment logic and add cache support for tweet comments. mirgration database first(sql ddl file in scripts/migration/**/*_rank_metrics.up.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;
    

备注:发布版本中,使用如下命令构建paopao-ce: (go version go1.21.1 darwin/amd64)

./build-release.sh && ./build-image.sh

发布的二进制文件中只测试了paopao-ce-darwin_amd64,其余平台的未亲测,如有问题,请使用源码在自己平台下自行构建。

您可以使用如下命令启动一个测试实例尝鲜:

docker compose up -d
# visit http://localhost:8008  👀 paopao-ce
# visit http://localhost:8001  👀 RedisInsight
# visit http://localhost:8080  👀 phpMyAdmin

v0.5.0-alpha.7

7 months ago

v0.5.0(alpha)

Added

  • add follow/unfollow user support in message and post detail pages.

备注:发布版本中,使用如下命令构建paopao-ce: (go version go1.21.1 darwin/amd64)

./build-release.sh && ./build-image.sh

发布的二进制文件中只测试了paopao-ce-darwin_amd64,其余平台的未亲测,如有问题,请使用源码在自己平台下自行构建。

您可以使用如下命令启动一个测试实例尝鲜:

docker compose up -d
# visit http://localhost:8008  👀 paopao-ce
# visit http://localhost:8001  👀 RedisInsight
# visit http://localhost:8080  👀 phpMyAdmin

v0.5.0-alpha.6

7 months ago

v0.5.0(alpha)

Added

  • add follow/unfollow user support in home and collections pages.

备注:发布版本中,使用如下命令构建paopao-ce: (go version go1.21.1 darwin/amd64)

./build-release.sh && ./build-image.sh

发布的二进制文件中只测试了paopao-ce-darwin_amd64,其余平台的未亲测,如有问题,请使用源码在自己平台下自行构建。

您可以使用如下命令启动一个测试实例尝鲜:

docker compose up -d
# visit http://localhost:8008  👀 paopao-ce
# visit http://localhost:8001  👀 RedisInsight
# visit http://localhost:8080  👀 phpMyAdmin

v0.5.0-alpha.5

7 months ago

v0.5.0(alpha)

Added

  • add follow/unfollow user support in index page.

备注:发布版本中,使用如下命令构建paopao-ce: (go version go1.21.1 darwin/amd64)

./build-release.sh && ./build-image.sh

发布的二进制文件中只测试了paopao-ce-darwin_amd64,其余平台的未亲测,如有问题,请使用源码在自己平台下自行构建。

您可以使用如下命令启动一个测试实例尝鲜:

docker compose up -d
# visit http://localhost:8008  👀 paopao-ce
# visit http://localhost:8001  👀 RedisInsight
# visit http://localhost:8080  👀 phpMyAdmin

v0.5.0-alpha.4

7 months ago

v0.5.0(alpha)

Added

  • add hots comments support for post detail page.
  • add highlight comments support for post detail page. mirgration database first(sql ddl file in scripts/migration/**/*_comment_esence.up.sql):
 ALTER TABLE `p_comment` ADD COLUMN `is_essence` tinyint unsigned NOT NULL DEFAULT 0 COMMENT '是否精选';

备注:发布版本中,使用如下命令构建paopao-ce: (go version go1.21.1 darwin/amd64)

./build-release.sh && ./build-image.sh

发布的二进制文件中只测试了paopao-ce-darwin_amd64,其余平台的未亲测,如有问题,请使用源码在自己平台下自行构建。

您可以使用如下命令启动一个测试实例尝鲜:

docker compose up -d
# visit http://localhost:8008  👀 paopao-ce
# visit http://localhost:8001  👀 RedisInsight
# visit http://localhost:8080  👀 phpMyAdmin

v0.5.0-alpha.3

7 months ago

v0.5.0(alpha)

Fixed

  • fixed get user's coment/like tweets by guest error &8f32e82.

备注:发布版本中,使用如下命令构建paopao-ce: (go version go1.21.1 darwin/amd64)

./build-release.sh && ./build-image.sh

发布的二进制文件中只测试了paopao-ce-darwin_amd64,其余平台的未亲测,如有问题,请使用源码在自己平台下自行构建。

您可以使用如下命令启动一个测试实例尝鲜:

docker compose up -d
# visit http://localhost:8008  👀 paopao-ce
# visit http://localhost:8001  👀 RedisInsight
# visit http://localhost:8080  👀 phpMyAdmin

v0.5.0-alpha.2

7 months ago

v0.5.0(alpha)

Fixed

  • fixed get user tweets error when use cache &35b8657

备注:发布版本中,使用如下命令构建paopao-ce: (go version go1.21.1 darwin/amd64)

./build-release.sh && ./build-image.sh

发布的二进制文件中只测试了paopao-ce-darwin_amd64,其余平台的未亲测,如有问题,请使用源码在自己平台下自行构建。

您可以使用如下命令启动一个测试实例尝鲜:

docker compose up -d
# visit http://localhost:8008  👀 paopao-ce
# visit http://localhost:8001  👀 RedisInsight
# visit http://localhost:8080  👀 phpMyAdmin