Merge pull request #5859 from pixelfed/staging

Staging
pull/5871/head
daniel 2025-03-13 23:45:14 -06:00 zatwierdzone przez GitHub
commit a009bc8fa0
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: B5690EEEBB952194
4 zmienionych plików z 42 dodań i 36 usunięć

Wyświetl plik

@ -51,6 +51,8 @@
- Update ApiV1Controller, fix max_id pagination on home and public timeline feeds ([38e17a06e](https://github.com/pixelfed/pixelfed/commit/38e17a06e))
- Update Post component, rewrite local post urls ([d2f2a1b1c](https://github.com/pixelfed/pixelfed/commit/d2f2a1b1c))
- Update Profile component, rewrite local profile urls ([dfbccaa19](https://github.com/pixelfed/pixelfed/commit/dfbccaa19))
- Update AccountPostCountStatUpdate, fix memory leak ([134eb6324](https://github.com/pixelfed/pixelfed/commit/134eb6324))
- Update snowflake config, allow custom datacenter/worker ids ([806e210f1](https://github.com/pixelfed/pixelfed/commit/806e210f1))
- ([](https://github.com/pixelfed/pixelfed/commit/))
## [v0.12.4 (2024-11-08)](https://github.com/pixelfed/pixelfed/compare/v0.12.4...dev)

Wyświetl plik

@ -2,7 +2,6 @@
namespace App\Services\Account;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\Redis;
class AccountStatService
@ -33,7 +32,7 @@ class AccountStatService
{
return Redis::zrangebyscore(
self::REFRESH_CACHE_KEY,
'(' . $lastId,
'('.$lastId,
'+inf',
['limit' => [0, $count]]
);

Wyświetl plik

@ -2,45 +2,50 @@
namespace App\Services;
use Illuminate\Support\Carbon;
use Cache;
use Illuminate\Support\Carbon;
class SnowflakeService {
class SnowflakeService
{
public static function byDate(?Carbon $ts = null)
{
if ($ts instanceof Carbon) {
$ts = now()->parse($ts)->timestamp;
} else {
return self::next();
}
public static function byDate(Carbon $ts = null)
{
if($ts instanceOf Carbon) {
$ts = now()->parse($ts)->timestamp;
} else {
return self::next();
}
$datacenterId = config('snowflake.datacenter_id') ?? random_int(1, 31);
$workerId = config('snowflake.worker_id') ?? random_int(1, 31);
return ((round($ts * 1000) - 1549756800000) << 22)
| (random_int(1,31) << 17)
| (random_int(1,31) << 12)
| 0;
}
return ((round($ts * 1000) - 1549756800000) << 22)
| ($datacenterId << 17)
| ($workerId << 12)
| 0;
}
public static function next()
{
$seq = Cache::get('snowflake:seq');
public static function next()
{
$seq = Cache::get('snowflake:seq');
if(!$seq) {
Cache::put('snowflake:seq', 1);
$seq = 1;
} else {
Cache::increment('snowflake:seq');
}
if (! $seq) {
Cache::put('snowflake:seq', 1);
$seq = 1;
} else {
Cache::increment('snowflake:seq');
}
if($seq >= 4095) {
Cache::put('snowflake:seq', 0);
$seq = 0;
}
if ($seq >= 4095) {
Cache::put('snowflake:seq', 0);
$seq = 0;
}
return ((round(microtime(true) * 1000) - 1549756800000) << 22)
| (random_int(1,31) << 17)
| (random_int(1,31) << 12)
| $seq;
}
$datacenterId = config('snowflake.datacenter_id') ?? random_int(1, 31);
$workerId = config('snowflake.worker_id') ?? random_int(1, 31);
return ((round(microtime(true) * 1000) - 1549756800000) << 22)
| ($datacenterId << 17)
| ($workerId << 12)
| $seq;
}
}

Wyświetl plik

@ -1,6 +1,6 @@
<?php
return [
'epoch' => 1549756800000,
'worker_id' => 1,
'datacenter_id' => 1,
'worker_id' => env('SNOWFLAKE_WORKER_ID', null),
'datacenter_id' => env('SNOWFLAKE_DATACENTER_ID', null),
];