[PR #420] [MERGED] feat: add Oauth2 Login #572

Closed
opened 2026-02-26 21:31:51 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/dreamhunter2333/cloudflare_temp_email/pull/420
Author: @dreamhunter2333
Created: 8/18/2024
Status: Merged
Merged: 8/18/2024
Merged by: @dreamhunter2333

Base: mainHead: feature/dev


📝 Commits (1)

📊 Changes

27 files changed (+614 additions, -17 deletions)

View changed files

📝 CHANGELOG.md (+1 -0)
frontend/src/constant/index.ts (+8 -0)
frontend/src/models/index.ts (+15 -0)
📝 frontend/src/router/index.js (+6 -1)
📝 frontend/src/store/index.js (+14 -5)
📝 frontend/src/views/Admin.vue (+6 -0)
frontend/src/views/admin/UserOauth2Settings.vue (+253 -0)
📝 frontend/src/views/user/UserLogin.vue (+30 -1)
frontend/src/views/user/UserOauth2Callback.vue (+65 -0)
📝 vitepress-docs/docs/.vitepress/zh.ts (+6 -5)
📝 vitepress-docs/docs/public/feature/address-webhook.png (+0 -0)
📝 vitepress-docs/docs/public/feature/admin-mail-webhook.png (+0 -0)
📝 vitepress-docs/docs/public/feature/admin-user-page.png (+0 -0)
📝 vitepress-docs/docs/public/feature/admin-webhook-settings.png (+0 -0)
📝 vitepress-docs/docs/public/feature/admin.png (+0 -0)
vitepress-docs/docs/public/feature/oauth2-login.png (+0 -0)
vitepress-docs/docs/public/feature/oauth2.png (+0 -0)
vitepress-docs/docs/zh/guide/feature/user-oauth2.md (+26 -0)
📝 worker/src/admin_api/index.ts (+5 -0)
worker/src/admin_api/oauth2_settings.ts (+34 -0)

...and 7 more files

📄 Description

PR Type

Enhancement, Documentation


Description

  • Added Oauth2 login functionality, including support for GitHub and Authentik.
  • Created new components for managing and handling Oauth2 settings and login callbacks.
  • Updated admin and user interfaces to include Oauth2 settings and login options.
  • Enhanced backend APIs to support fetching, saving, and processing Oauth2 settings and logins.
  • Updated documentation and changelog to reflect the new Oauth2 login feature.

Changes walkthrough 📝

Relevant files
Enhancement
17 files
Admin.vue
Add Oauth2 settings tab in Admin view                                       

frontend/src/views/Admin.vue

  • Added import for UserOauth2Settings.vue
  • Added new tab pane for Oauth2 settings in the admin view
  • Updated localization strings for Oauth2 settings
  • +6/-0     
    UserOauth2Settings.vue
    Create UserOauth2Settings component for Oauth2 management

    frontend/src/views/admin/UserOauth2Settings.vue

  • Created new component for managing Oauth2 settings
  • Added form and logic for adding and saving Oauth2 settings
  • Included localization for English and Chinese
  • +253/-0 
    UserLogin.vue
    Add Oauth2 login functionality in UserLogin view                 

    frontend/src/views/user/UserLogin.vue

  • Added Oauth2 login button and logic
  • Updated localization strings for Oauth2 login
  • +30/-1   
    UserOauth2Callback.vue
    Create UserOauth2Callback component for Oauth2 login         

    frontend/src/views/user/UserOauth2Callback.vue

  • Created new component for handling Oauth2 callback
  • Implemented logic to handle Oauth2 login callback and JWT generation
  • +65/-0   
    index.ts
    Add common mail domains constant                                                 

    frontend/src/constant/index.ts

    • Added constant for common mail domains
    +8/-0     
    index.ts
    Add UserOauth2Settings type definition                                     

    frontend/src/models/index.ts

    • Added UserOauth2Settings type definition
    +15/-0   
    index.ts
    Add Oauth2 settings routes in admin API                                   

    worker/src/admin_api/index.ts

    • Added routes for fetching and saving Oauth2 settings
    +5/-0     
    oauth2_settings.ts
    Create handlers for Oauth2 settings in admin API                 

    worker/src/admin_api/oauth2_settings.ts

    • Created handlers for fetching and saving Oauth2 settings
    +34/-0   
    constants.ts
    Add Oauth2 settings key constant                                                 

    worker/src/constants.ts

    • Added constant for Oauth2 settings key
    +1/-0     
    index.ts
    Add UserOauth2Settings type definition                                     

    worker/src/models/index.ts

    • Added UserOauth2Settings type definition
    +16/-0   
    index.ts
    Add Oauth2 login and callback routes in user API                 

    worker/src/user_api/index.ts

    • Added routes for Oauth2 login and callback
    +5/-0     
    oauth2.ts
    Create handlers for Oauth2 login and callback                       

    worker/src/user_api/oauth2.ts

    • Created handlers for Oauth2 login and callback
    +105/-0 
    settings.ts
    Update open settings with Oauth2 client IDs                           

    worker/src/user_api/settings.ts

    • Updated open settings to include Oauth2 client IDs
    +14/-1   
    utils.ts
    Enhance getJsonSetting utility with generics                         

    worker/src/utils.ts

    • Updated getJsonSetting utility function to support generic types
    +3/-4     
    worker.ts
    Allow Oauth2 routes without authentication                             

    worker/src/worker.ts

    • Added middleware to allow Oauth2 routes without authentication
    +1/-0     
    index.js
    Add route for Oauth2 callback                                                       

    frontend/src/router/index.js

    • Added route for Oauth2 callback
    +6/-1     
    index.js
    Add state management for Oauth2 session                                   

    frontend/src/store/index.js

    • Added state management for Oauth2 session
    +14/-5   
    Documentation
    3 files
    zh.ts
    Update sidebar with Oauth2 documentation link                       

    vitepress-docs/docs/.vitepress/zh.ts

    • Updated sidebar to include Oauth2 documentation link
    +6/-5     
    CHANGELOG.md
    Update changelog with Oauth2 login feature                             

    CHANGELOG.md

    • Updated changelog to include Oauth2 login feature
    +1/-0     
    user-oauth2.md
    Add documentation for Oauth2 third-party login                     

    vitepress-docs/docs/zh/guide/feature/user-oauth2.md

    • Added documentation for Oauth2 third-party login
    +26/-0   

    💡 PR-Agent usage:
    Comment /help on the PR to get a list of all available PR-Agent tools and their descriptions


    🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

    ## 📋 Pull Request Information **Original PR:** https://github.com/dreamhunter2333/cloudflare_temp_email/pull/420 **Author:** [@dreamhunter2333](https://github.com/dreamhunter2333) **Created:** 8/18/2024 **Status:** ✅ Merged **Merged:** 8/18/2024 **Merged by:** [@dreamhunter2333](https://github.com/dreamhunter2333) **Base:** `main` ← **Head:** `feature/dev` --- ### 📝 Commits (1) - [`3ca617e`](https://github.com/dreamhunter2333/cloudflare_temp_email/commit/3ca617ef0e0e30db22b5b3fe8aa16d80f4995a82) feat: add Oauth2 Login ### 📊 Changes **27 files changed** (+614 additions, -17 deletions) <details> <summary>View changed files</summary> 📝 `CHANGELOG.md` (+1 -0) ➕ `frontend/src/constant/index.ts` (+8 -0) ➕ `frontend/src/models/index.ts` (+15 -0) 📝 `frontend/src/router/index.js` (+6 -1) 📝 `frontend/src/store/index.js` (+14 -5) 📝 `frontend/src/views/Admin.vue` (+6 -0) ➕ `frontend/src/views/admin/UserOauth2Settings.vue` (+253 -0) 📝 `frontend/src/views/user/UserLogin.vue` (+30 -1) ➕ `frontend/src/views/user/UserOauth2Callback.vue` (+65 -0) 📝 `vitepress-docs/docs/.vitepress/zh.ts` (+6 -5) 📝 `vitepress-docs/docs/public/feature/address-webhook.png` (+0 -0) 📝 `vitepress-docs/docs/public/feature/admin-mail-webhook.png` (+0 -0) 📝 `vitepress-docs/docs/public/feature/admin-user-page.png` (+0 -0) 📝 `vitepress-docs/docs/public/feature/admin-webhook-settings.png` (+0 -0) 📝 `vitepress-docs/docs/public/feature/admin.png` (+0 -0) ➕ `vitepress-docs/docs/public/feature/oauth2-login.png` (+0 -0) ➕ `vitepress-docs/docs/public/feature/oauth2.png` (+0 -0) ➕ `vitepress-docs/docs/zh/guide/feature/user-oauth2.md` (+26 -0) 📝 `worker/src/admin_api/index.ts` (+5 -0) ➕ `worker/src/admin_api/oauth2_settings.ts` (+34 -0) _...and 7 more files_ </details> ### 📄 Description ### **PR Type** Enhancement, Documentation ___ ### **Description** - Added Oauth2 login functionality, including support for GitHub and Authentik. - Created new components for managing and handling Oauth2 settings and login callbacks. - Updated admin and user interfaces to include Oauth2 settings and login options. - Enhanced backend APIs to support fetching, saving, and processing Oauth2 settings and logins. - Updated documentation and changelog to reflect the new Oauth2 login feature. ___ ### **Changes walkthrough** 📝 <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><details><summary>17 files</summary><table> <tr> <td> <details> <summary><strong>Admin.vue</strong><dd><code>Add Oauth2 settings tab in Admin view</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> frontend/src/views/Admin.vue <li>Added import for <code>UserOauth2Settings.vue</code><br> <li> Added new tab pane for Oauth2 settings in the admin view<br> <li> Updated localization strings for Oauth2 settings<br> </details> </td> <td><a href="https://github.com/dreamhunter2333/cloudflare_temp_email/pull/420/files#diff-78137b072a7fa52c6d503efb9a3d32c07da5073dd5ca32ac48b1402ac2481a55">+6/-0</a>&nbsp; &nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>UserOauth2Settings.vue</strong><dd><code>Create UserOauth2Settings component for Oauth2 management</code></dd></summary> <hr> frontend/src/views/admin/UserOauth2Settings.vue <li>Created new component for managing Oauth2 settings<br> <li> Added form and logic for adding and saving Oauth2 settings<br> <li> Included localization for English and Chinese<br> </details> </td> <td><a href="https://github.com/dreamhunter2333/cloudflare_temp_email/pull/420/files#diff-5ded2f107f7fd8a04eb55462a9cb55b85bee3afc56fc45f8ba6a4bcf90755ebb">+253/-0</a>&nbsp; </td> </tr> <tr> <td> <details> <summary><strong>UserLogin.vue</strong><dd><code>Add Oauth2 login functionality in UserLogin view</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> frontend/src/views/user/UserLogin.vue <li>Added Oauth2 login button and logic<br> <li> Updated localization strings for Oauth2 login<br> </details> </td> <td><a href="https://github.com/dreamhunter2333/cloudflare_temp_email/pull/420/files#diff-682df0c783a2d925a33928df3ff3e1d30af7937055f95cb3fcb0d26c156e228c">+30/-1</a>&nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>UserOauth2Callback.vue</strong><dd><code>Create UserOauth2Callback component for Oauth2 login</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> frontend/src/views/user/UserOauth2Callback.vue <li>Created new component for handling Oauth2 callback<br> <li> Implemented logic to handle Oauth2 login callback and JWT generation<br> </details> </td> <td><a href="https://github.com/dreamhunter2333/cloudflare_temp_email/pull/420/files#diff-bbdf740eb4bfb25b5e95c5c6092ee86e85f0325dda89892c60b451db74a57e37">+65/-0</a>&nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>index.ts</strong><dd><code>Add common mail domains constant</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> frontend/src/constant/index.ts - Added constant for common mail domains </details> </td> <td><a href="https://github.com/dreamhunter2333/cloudflare_temp_email/pull/420/files#diff-a4f421deaf9eb077fa01100e86af68d3b79a7f9c035ff1ba9ba3225434fd33ca">+8/-0</a>&nbsp; &nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>index.ts</strong><dd><code>Add UserOauth2Settings type definition</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> frontend/src/models/index.ts - Added `UserOauth2Settings` type definition </details> </td> <td><a href="https://github.com/dreamhunter2333/cloudflare_temp_email/pull/420/files#diff-c27b6b2795955789411e9958ddb12e04fa93ef3951047ea65a1542771341a7b1">+15/-0</a>&nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>index.ts</strong><dd><code>Add Oauth2 settings routes in admin API</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> worker/src/admin_api/index.ts - Added routes for fetching and saving Oauth2 settings </details> </td> <td><a href="https://github.com/dreamhunter2333/cloudflare_temp_email/pull/420/files#diff-b470c4c47ce4a700cd8aac644d07d8a747d439bb6d69e9392a198b3a931fe2e7">+5/-0</a>&nbsp; &nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>oauth2_settings.ts</strong><dd><code>Create handlers for Oauth2 settings in admin API</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> worker/src/admin_api/oauth2_settings.ts - Created handlers for fetching and saving Oauth2 settings </details> </td> <td><a href="https://github.com/dreamhunter2333/cloudflare_temp_email/pull/420/files#diff-0022999f32369dd287d281f95e36fed24b37e04ac055c674cdaa6520e15e8fcc">+34/-0</a>&nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>constants.ts</strong><dd><code>Add Oauth2 settings key constant</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> worker/src/constants.ts - Added constant for Oauth2 settings key </details> </td> <td><a href="https://github.com/dreamhunter2333/cloudflare_temp_email/pull/420/files#diff-cab08ba19c1499ed426fc4918a5613e22eb95c3427c7467ce330f5ee0d69d01e">+1/-0</a>&nbsp; &nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>index.ts</strong><dd><code>Add UserOauth2Settings type definition</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> worker/src/models/index.ts - Added `UserOauth2Settings` type definition </details> </td> <td><a href="https://github.com/dreamhunter2333/cloudflare_temp_email/pull/420/files#diff-430bcc4ffa98738e7419c774a53ba2ce8b5127a36b3741e89bf36b95a56f02bc">+16/-0</a>&nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>index.ts</strong><dd><code>Add Oauth2 login and callback routes in user API</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> worker/src/user_api/index.ts - Added routes for Oauth2 login and callback </details> </td> <td><a href="https://github.com/dreamhunter2333/cloudflare_temp_email/pull/420/files#diff-5295b4a62dc27ad938da4f5769e8c944b01cff33c3e76ce16ebf21c6d81144d1">+5/-0</a>&nbsp; &nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>oauth2.ts</strong><dd><code>Create handlers for Oauth2 login and callback</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> worker/src/user_api/oauth2.ts - Created handlers for Oauth2 login and callback </details> </td> <td><a href="https://github.com/dreamhunter2333/cloudflare_temp_email/pull/420/files#diff-fede9bc68112c797eefa07c6e6cc20a6aa107addb3e5636757131589a435e13b">+105/-0</a>&nbsp; </td> </tr> <tr> <td> <details> <summary><strong>settings.ts</strong><dd><code>Update open settings with Oauth2 client IDs</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> worker/src/user_api/settings.ts - Updated open settings to include Oauth2 client IDs </details> </td> <td><a href="https://github.com/dreamhunter2333/cloudflare_temp_email/pull/420/files#diff-0e41b1cd8b40c15de837bee6cf774f29499e490f0b565b0f5556b549f7344dd3">+14/-1</a>&nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>utils.ts</strong><dd><code>Enhance getJsonSetting utility with generics</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> worker/src/utils.ts - Updated `getJsonSetting` utility function to support generic types </details> </td> <td><a href="https://github.com/dreamhunter2333/cloudflare_temp_email/pull/420/files#diff-87b77c56897ffc7830773b3d665c51ecf2210b44921bef7098a1dd6d64e56db6">+3/-4</a>&nbsp; &nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>worker.ts</strong><dd><code>Allow Oauth2 routes without authentication</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> worker/src/worker.ts - Added middleware to allow Oauth2 routes without authentication </details> </td> <td><a href="https://github.com/dreamhunter2333/cloudflare_temp_email/pull/420/files#diff-c007030a206d7e4e2a4879ba673551e7633ad914b67cfac204096edced3f80a2">+1/-0</a>&nbsp; &nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>index.js</strong><dd><code>Add route for Oauth2 callback</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> frontend/src/router/index.js - Added route for Oauth2 callback </details> </td> <td><a href="https://github.com/dreamhunter2333/cloudflare_temp_email/pull/420/files#diff-2766750fe4e47e725d24427092ed92a78eca3bae6c3583646f0ce4228ae872f8">+6/-1</a>&nbsp; &nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>index.js</strong><dd><code>Add state management for Oauth2 session</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> frontend/src/store/index.js - Added state management for Oauth2 session </details> </td> <td><a href="https://github.com/dreamhunter2333/cloudflare_temp_email/pull/420/files#diff-0c36ce15651c51795b411359e8caaf5af7960c82674b4f2015b8dd5f480fde2c">+14/-5</a>&nbsp; &nbsp; </td> </tr> </table></details></td></tr><tr><td><strong>Documentation</strong></td><td><details><summary>3 files</summary><table> <tr> <td> <details> <summary><strong>zh.ts</strong><dd><code>Update sidebar with Oauth2 documentation link</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> vitepress-docs/docs/.vitepress/zh.ts - Updated sidebar to include Oauth2 documentation link </details> </td> <td><a href="https://github.com/dreamhunter2333/cloudflare_temp_email/pull/420/files#diff-9d8e658367b9c916dfc920a8c02a2b3c62478f36302f223b97707919e42308a0">+6/-5</a>&nbsp; &nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>CHANGELOG.md</strong><dd><code>Update changelog with Oauth2 login feature</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> CHANGELOG.md - Updated changelog to include Oauth2 login feature </details> </td> <td><a href="https://github.com/dreamhunter2333/cloudflare_temp_email/pull/420/files#diff-06572a96a58dc510037d5efa622f9bec8519bc1beab13c9f251e97e657a9d4ed">+1/-0</a>&nbsp; &nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>user-oauth2.md</strong><dd><code>Add documentation for Oauth2 third-party login</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> vitepress-docs/docs/zh/guide/feature/user-oauth2.md - Added documentation for Oauth2 third-party login </details> </td> <td><a href="https://github.com/dreamhunter2333/cloudflare_temp_email/pull/420/files#diff-c79a7d84a17577c78d15b8bf5168badd3edf51844e43d1be9b5f82514f46693f">+26/-0</a>&nbsp; &nbsp; </td> </tr> </table></details></td></tr></tr></tbody></table> ___ > 💡 **PR-Agent usage**: >Comment `/help` on the PR to get a list of all available PR-Agent tools and their descriptions --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
    kerem 2026-02-26 21:31:51 +03:00
    Sign in to join this conversation.
    No milestone
    No project
    No assignees
    1 participant
    Notifications
    Due date
    The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

    No due date set.

    Dependencies

    No dependencies set.

    Reference
    starred/cloudflare_temp_email#572
    No description provided.