diff --git a/.github/workflows/unit_tests.yaml b/.github/workflows/unit_tests.yaml
index dc0f888ecaa02f9ca09b430106b1e166fce4e6bc..3bcaa4d8de443323b8cd9339216d35b2999621b2 100644
--- a/.github/workflows/unit_tests.yaml
+++ b/.github/workflows/unit_tests.yaml
@@ -31,9 +31,6 @@ jobs:
       - name: checkout
         uses: actions/checkout@v4
 
-      - name: create esbuild-meta.json
-        run: BUILD_ID=$GITHUB_SHA make esbuild
-
       - name: test
         run: make phpunit
 
diff --git a/src/ObservableTaskTableSlotStatusUpdateIteratorTest.php b/src/ObservableTaskTableSlotStatusUpdateIteratorTest.php
index 356167233e31705419eaeb7c0a8acf8bd53fbaf4..8720907f649b81acf12bc2b9d0bdaaed575b26df 100644
--- a/src/ObservableTaskTableSlotStatusUpdateIteratorTest.php
+++ b/src/ObservableTaskTableSlotStatusUpdateIteratorTest.php
@@ -12,65 +12,65 @@ use Swoole\Event;
 /**
  * @internal
  */
-#[CoversClass(ObservableTaskTableSlotStatusUpdateIterator::class)]
-final class ObservableTaskTableSlotStatusUpdateIteratorTest extends TestCase
-{
-    private ?ObservableTaskConfiguration $observableTaskConfiguration = null;
-    private ?ObservableTaskTable $observableTaskTable = null;
-
-    protected function setUp(): void
-    {
-        $this->observableTaskConfiguration = new ObservableTaskConfiguration(
-            maxTasks: 4,
-            serializedStatusSize: 32768,
-        );
-
-        $this->observableTaskTable = new ObservableTaskTable(
-            observableTaskConfiguration: $this->observableTaskConfiguration,
-            serializer: new Vanilla(),
-        );
-    }
-
-    protected function tearDown(): void
-    {
-        Event::wait();
-    }
-
-    // public function test_channel_is_observed(): void
-    // {
-    //     SwooleCoroutineHelper::mustRun(function () {
-    //         $observableTask = new ObservableTask(static function () {
-    //             yield new ObservableTaskStatusUpdate(
-    //                 ObservableTaskStatus::Running,
-    //                 'test1',
-    //             );
-
-    //             yield new ObservableTaskStatusUpdate(
-    //                 ObservableTaskStatus::Finished,
-    //                 'test2',
-    //             );
-    //         });
-
-    //         SwooleCoroutineHelper::mustGo(function () {
-    //             self::assertNotNull($this->observableTaskTable);
-
-    //             $iterator = new ObservableTaskTableSlotStatusUpdateIterator($this->observableTaskTable);
-
-    //             foreach ($iterator as $statusUpdate) {
-    //                 self::assertInstanceOf(ObservableTaskSlotStatusUpdate::class, $statusUpdate);
-    //                 self::assertEquals('0', $statusUpdate->slotId);
-
-    //                 if (ObservableTaskStatus::Finished === $statusUpdate->observableTaskStatusUpdate->status) {
-    //                     self::assertEquals('test2', $statusUpdate->observableTaskStatusUpdate->data);
-
-    //                     break;
-    //                 }
-
-    //                 self::assertEquals('test1', $statusUpdate->observableTaskStatusUpdate->data);
-    //             }
-    //         });
-
-    //         $this->observableTaskTable?->observe($observableTask);
-    //     });
-    // }
-}
+// #[CoversClass(ObservableTaskTableSlotStatusUpdateIterator::class)]
+// final class ObservableTaskTableSlotStatusUpdateIteratorTest extends TestCase
+// {
+//     private ?ObservableTaskConfiguration $observableTaskConfiguration = null;
+//     private ?ObservableTaskTable $observableTaskTable = null;
+
+//     protected function setUp(): void
+//     {
+//         $this->observableTaskConfiguration = new ObservableTaskConfiguration(
+//             maxTasks: 4,
+//             serializedStatusSize: 32768,
+//         );
+
+//         $this->observableTaskTable = new ObservableTaskTable(
+//             observableTaskConfiguration: $this->observableTaskConfiguration,
+//             serializer: new Vanilla(),
+//         );
+//     }
+
+//     protected function tearDown(): void
+//     {
+//         Event::wait();
+//     }
+
+//     public function test_channel_is_observed(): void
+//     {
+//         SwooleCoroutineHelper::mustRun(function () {
+//             $observableTask = new ObservableTask(static function () {
+//                 yield new ObservableTaskStatusUpdate(
+//                     ObservableTaskStatus::Running,
+//                     'test1',
+//                 );
+
+//                 yield new ObservableTaskStatusUpdate(
+//                     ObservableTaskStatus::Finished,
+//                     'test2',
+//                 );
+//             });
+
+//             SwooleCoroutineHelper::mustGo(function () {
+//                 self::assertNotNull($this->observableTaskTable);
+
+//                 $iterator = new ObservableTaskTableSlotStatusUpdateIterator($this->observableTaskTable);
+
+//                 foreach ($iterator as $statusUpdate) {
+//                     self::assertInstanceOf(ObservableTaskSlotStatusUpdate::class, $statusUpdate);
+//                     self::assertEquals('0', $statusUpdate->slotId);
+
+//                     if (ObservableTaskStatus::Finished === $statusUpdate->observableTaskStatusUpdate->status) {
+//                         self::assertEquals('test2', $statusUpdate->observableTaskStatusUpdate->data);
+
+//                         break;
+//                     }
+
+//                     self::assertEquals('test1', $statusUpdate->observableTaskStatusUpdate->data);
+//                 }
+//             });
+
+//             $this->observableTaskTable?->observe($observableTask);
+//         });
+//     }
+// }
diff --git a/src/ObservableTaskTableTest.php b/src/ObservableTaskTableTest.php
index d17eb2cd127368fc93e557e566c0b5c7a49d90b7..89abca947672e3c4ec97a77fb47f8bc02467afde 100644
--- a/src/ObservableTaskTableTest.php
+++ b/src/ObservableTaskTableTest.php
@@ -15,95 +15,95 @@ use Swoole\Event;
 /**
  * @internal
  */
-#[CoversClass(ObservableTaskTable::class)]
-final class ObservableTaskTableTest extends TestCase
-{
-    private ?ObservableTaskConfiguration $observableTaskConfiguration = null;
-    private ?ObservableTaskTable $observableTaskTable = null;
-
-    protected function setUp(): void
-    {
-        $this->observableTaskConfiguration = new ObservableTaskConfiguration(
-            maxTasks: 4,
-            serializedStatusSize: 32768,
-        );
-
-        $this->observableTaskTable = new ObservableTaskTable(
-            observableTaskConfiguration: $this->observableTaskConfiguration,
-            serializer: new Vanilla(),
-        );
-    }
-
-    protected function tearDown(): void
-    {
-        Event::wait();
-    }
-
-    // public function test_channel_is_observed(): void
-    // {
-    //     SwooleCoroutineHelper::mustRun(function () {
-    //         $channel = new Channel();
-    //         $wg = new WaitGroup();
-
-    //         $this->observableTaskTable?->observableChannels->add($channel);
-
-    //         $observableTask = new ObservableTask(static function () {
-    //             yield new ObservableTaskStatusUpdate(
-    //                 ObservableTaskStatus::Running,
-    //                 'test1',
-    //             );
-
-    //             yield new ObservableTaskStatusUpdate(
-    //                 ObservableTaskStatus::Finished,
-    //                 'test2',
-    //             );
-    //         });
-
-    //         $wg->add();
-
-    //         SwooleCoroutineHelper::mustGo(static function () use ($channel, $wg) {
-    //             Coroutine::defer(static function () use ($wg) {
-    //                 $wg->done();
-    //             });
-
-    //             $status1 = $channel->pop();
-
-    //             self::assertInstanceOf(ObservableTaskSlotStatusUpdate::class, $status1);
-    //             self::assertSame(ObservableTaskStatus::Running, $status1->observableTaskStatusUpdate->status);
-
-    //             $status2 = $channel->pop();
-
-    //             self::assertInstanceOf(ObservableTaskSlotStatusUpdate::class, $status2);
-    //             self::assertSame(ObservableTaskStatus::Finished, $status2->observableTaskStatusUpdate->status);
-    //         });
-
-    //         $this->observableTaskTable?->observe($observableTask);
-
-    //         $wg->wait();
-
-    //         $this->observableTaskTable?->observableChannels->remove($channel);
-    //     });
-    // }
-
-    // public function test_task_is_observed(): void
-    // {
-    //     $observableTask = new ObservableTask(static function () {
-    //         yield new ObservableTaskStatusUpdate(
-    //             ObservableTaskStatus::Running,
-    //             'test',
-    //         );
-    //     });
-
-    //     self::assertNull($this->observableTaskTable?->getStatus('0'));
-
-    //     $slotId = $this->observableTaskTable?->observe($observableTask);
-
-    //     self::assertSame('0', $slotId);
-
-    //     $status = $this->observableTaskTable?->getStatus($slotId);
-
-    //     self::assertInstanceOf(ObservableTaskStatusUpdate::class, $status);
-    //     self::assertSame(ObservableTaskStatus::Running, $status->status);
-    //     self::assertSame('test', $status->data);
-    // }
-}
+// #[CoversClass(ObservableTaskTable::class)]
+// final class ObservableTaskTableTest extends TestCase
+// {
+//     private ?ObservableTaskConfiguration $observableTaskConfiguration = null;
+//     private ?ObservableTaskTable $observableTaskTable = null;
+
+//     protected function setUp(): void
+//     {
+//         $this->observableTaskConfiguration = new ObservableTaskConfiguration(
+//             maxTasks: 4,
+//             serializedStatusSize: 32768,
+//         );
+
+//         $this->observableTaskTable = new ObservableTaskTable(
+//             observableTaskConfiguration: $this->observableTaskConfiguration,
+//             serializer: new Vanilla(),
+//         );
+//     }
+
+//     protected function tearDown(): void
+//     {
+//         Event::wait();
+//     }
+
+//     public function test_channel_is_observed(): void
+//     {
+//         SwooleCoroutineHelper::mustRun(function () {
+//             $channel = new Channel();
+//             $wg = new WaitGroup();
+
+//             $this->observableTaskTable?->observableChannels->add($channel);
+
+//             $observableTask = new ObservableTask(static function () {
+//                 yield new ObservableTaskStatusUpdate(
+//                     ObservableTaskStatus::Running,
+//                     'test1',
+//                 );
+
+//                 yield new ObservableTaskStatusUpdate(
+//                     ObservableTaskStatus::Finished,
+//                     'test2',
+//                 );
+//             });
+
+//             $wg->add();
+
+//             SwooleCoroutineHelper::mustGo(static function () use ($channel, $wg) {
+//                 Coroutine::defer(static function () use ($wg) {
+//                     $wg->done();
+//                 });
+
+//                 $status1 = $channel->pop();
+
+//                 self::assertInstanceOf(ObservableTaskSlotStatusUpdate::class, $status1);
+//                 self::assertSame(ObservableTaskStatus::Running, $status1->observableTaskStatusUpdate->status);
+
+//                 $status2 = $channel->pop();
+
+//                 self::assertInstanceOf(ObservableTaskSlotStatusUpdate::class, $status2);
+//                 self::assertSame(ObservableTaskStatus::Finished, $status2->observableTaskStatusUpdate->status);
+//             });
+
+//             $this->observableTaskTable?->observe($observableTask);
+
+//             $wg->wait();
+
+//             $this->observableTaskTable?->observableChannels->remove($channel);
+//         });
+//     }
+
+//     public function test_task_is_observed(): void
+//     {
+//         $observableTask = new ObservableTask(static function () {
+//             yield new ObservableTaskStatusUpdate(
+//                 ObservableTaskStatus::Running,
+//                 'test',
+//             );
+//         });
+
+//         self::assertNull($this->observableTaskTable?->getStatus('0'));
+
+//         $slotId = $this->observableTaskTable?->observe($observableTask);
+
+//         self::assertSame('0', $slotId);
+
+//         $status = $this->observableTaskTable?->getStatus($slotId);
+
+//         self::assertInstanceOf(ObservableTaskStatusUpdate::class, $status);
+//         self::assertSame(ObservableTaskStatus::Running, $status->status);
+//         self::assertSame('test', $status->data);
+//     }
+// }
diff --git a/src/SwooleTimeoutTest.php b/src/SwooleTimeoutTest.php
index 84e6005a77213723e171d60bc8c3419fdfd284c2..9e1bc0ae27337595ce596575a265a11b5ace0e51 100644
--- a/src/SwooleTimeoutTest.php
+++ b/src/SwooleTimeoutTest.php
@@ -21,35 +21,35 @@ final class SwooleTimeoutTest extends TestCase
         Event::wait();
     }
 
-    // public function test_code_executes_after_timeout(): void
-    // {
-    //     SwooleCoroutineHelper::mustRun(static function () {
-    //         $before = microtime(true);
+    public function test_code_executes_after_timeout(): void
+    {
+        SwooleCoroutineHelper::mustRun(static function () {
+            $before = microtime(true);
 
-    //         $timeout = new SwooleTimeout(static function () use ($before) {
-    //             $after = microtime(true);
+            $timeout = new SwooleTimeout(static function () use ($before) {
+                $after = microtime(true);
 
-    //             self::assertGreaterThan(0.03, $after - $before);
-    //             self::assertLessThan(0.035, $after - $before);
-    //         });
+                self::assertGreaterThan(0.03, $after - $before);
+                self::assertLessThan(0.035, $after - $before);
+            });
 
-    //         $timeout->setTimeout(0.03);
-    //     });
-    // }
+            $timeout->setTimeout(0.03);
+        });
+    }
 
-    // public function test_task_is_rescheduled(): void
-    // {
-    //     SwooleCoroutineHelper::mustRun(static function () {
-    //         $before = microtime(true);
+    public function test_task_is_rescheduled(): void
+    {
+        SwooleCoroutineHelper::mustRun(static function () {
+            $before = microtime(true);
 
-    //         $timeout = new SwooleTimeout(static function () use ($before) {
-    //             $after = microtime(true);
+            $timeout = new SwooleTimeout(static function () use ($before) {
+                $after = microtime(true);
 
-    //             self::assertGreaterThan(0.03, $after - $before);
-    //             self::assertLessThan(0.035, $after - $before);
-    //         });
+                self::assertGreaterThan(0.03, $after - $before);
+                self::assertLessThan(0.035, $after - $before);
+            });
 
-    //         $timeout->setTimeout(0.02)->reschedule(0.03);
-    //     });
-    // }
+            $timeout->setTimeout(0.02)->reschedule(0.03);
+        });
+    }
 }