Offload-limit warning remains after account usage drops
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 55/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- javascript, php, wordpress
調査の方向性
inc/admin.php の Optml_Admin::daily_sync() から始め、次に inc/settings.php の永続化された設定と、assets/src/dashboard/parts/connected/settings/OffloadMedia.js および assets/src/dashboard/utils/api.js の警告の表示処理を追跡します。tests/test-media.php と inc/media_offload.php の quota-state パスを確認します。更新された使用量によって永続化された警告が調整され、古い制限メッセージが表示されなくなれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Summary
The WordPress Optimole settings can continue showing the offload-limit warning after account usage has fallen below the plan limit. Expected behavior is for refreshed account usage to clear an obsolete warning. Actual behavior is a persisted warning that displays the stored 50,000-image limit despite substantially lower dashboard usage, which can incorrectly indicate that further offloading is unavailable.
Customer context
Product / area: Optimole WordPress plugin, Image Storage offloading status
Version: Customer version not provided; inspected source is 4.2.11
Environment: WordPress admin; browser and WordPress/PHP versions not provided
Integration / third party: Optimole account service and dashboard
Reported error / symptom: Plugin shows a 50,000-images-offloaded warning while the account dashboard shows 1,181 assets
Impact: Administrators receive an inaccurate quota warning after deleting environments
Reproduction notes
Reported reproduction:
- Delete duplicate Optimole environments so account usage drops.
- Confirm the Optimole dashboard shows 1,181 assets.
- Open the Optimole WordPress plugin settings.
- Observe the 50,000-images-offloaded limit warning.
The customer report was not reproduced in a local runtime, but the stale-state path is directly present in the inspected source.
Diagnosis
Conclusion
The warning state is persisted independently from refreshed account usage. Optml_Admin::daily_sync() refreshes service_data but does not reconcile offload_limit_reached, while the settings UI renders the warning solely from that persisted flag and a locally stored limit. A previous support investigation also classified false offload-limit warnings as a UI notification defect. No matching GitHub issue was found.
Where this likely occurs
inc/admin.php—Optml_Admin::daily_sync()lines 1130–1158 refreshes account service data without updating the persisted offload-limit warning state.inc/admin.php—Optml_Admin::localize_dashboard_app()lines 1409–1477 passes account data and the localoffload_limitto the dashboard as separate values.inc/settings.php—Optml_Settings::$defaultslines 102–103 defines the persisted warning flag and the 50,000 fallback limit.assets/src/dashboard/parts/connected/settings/OffloadMedia.js—OffloadMedialines 438–440 renders the warning wheneveroffloadLimitReachedis true, without comparing refreshed usage.assets/src/dashboard/utils/api.js—callSync()lines 525–546 updates the warning state only in a terminal transfer-response branch.inc/media_offload.php—Optml_Media_Offload::generate_image_meta()lines 1384–1400 persists the reached state during the proactive quota check; lines 1446–1457 persists it after an upload-limit exception.- Commit
7b8a68f8introduced offloading-limit notifications. Available history does not establish an earlier working release followed by a regression.
Engineering notes
The displayed 50,000 value can come from the plugin's local default or a previously stored service limit; it is not the current asset count. The dashboard's 1,181 assets and the SDK's offload-usage value may represent different service fields, so the account-specific discrepancy remains dependent on service data. The confirmed defect is the lack of reconciliation for an already persisted warning when account information refreshes.
Test coverage status
No relevant coverage was found during inspection for stale offload_limit_reached state, daily-sync reconciliation, or warning rendering. tests/test-media.php exercises offload processing and mocked account details but does not assert warning state transitions.
What to verify or explore next
- May be worth reproducing after reducing usage below the limit, running the account refresh, and reopening Optimole settings.
- May be worth capturing the SDK
getUsage()current and limit values alongside refreshedservice_datain a controlled test account. - If reproducible, checking both a completed bulk transfer and a newly uploaded attachment would clarify which warning-state path persists.
Unknowns / follow-up
- The customer's plugin version and locally persisted Optimole settings are unavailable.
- The service-side usage payload and whether environment deletion immediately changes SDK offload usage are unavailable.
Confidence
Confidence: 92/100
Repository inspection independently confirms a stale offload-limit warning path and a missing local download target after offload. The blank-rendering symptom is credible but remains unconfirmed without the affected remote response or offloading logs.
Source: HelpScout #3431088020
Generated by bug-report-triage (ID: bug-report-triage_6a8f62001e0958.60696283)
- 主要言語
- PHP
- スター
- 73
- フォーク
- 14
- 平均マージ
- 2日 13時間
- マージ済み PR(30日)
- 16
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
Codeinwp/optimole-wp のほかの issue
-
bug-report bug-report-triage crash-report
難易度 4/5 3〜5日 初心者へのやさしさ 65/100
Codeinwp/optimole-wp#1162 ·
メンテナーはふだん 1 日以内に返信
-
customer report feature-request-triage
難易度 3/5 1〜2日 初心者へのやさしさ 65/100
Codeinwp/optimole-wp#1161 ·
メンテナーはふだん 1 日以内に返信
-
bug-report bug-report-triage customer report regression
難易度 4/5 3〜5日 初心者へのやさしさ 56/100
Codeinwp/optimole-wp#1159 ·
メンテナーはふだん 1 日以内に返信
-
customer report feature-request-triage
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
Codeinwp/optimole-wp#1151 ·
メンテナーはふだん 1 日以内に返信
-
bug-report bug-report-triage crash-report
難易度 4/5 3〜5日 初心者へのやさしさ 55/100
Codeinwp/optimole-wp#1139 ·
メンテナーはふだん 1 日以内に返信
Codeinwp/optimole-wp の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
Automattic/static-site-importer#1879 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
521xueweihan/HelloGitHub#3790 ·
-
[Bug] Feed date, title and author too long to fit inside article box on smaller screens, mobileオープンBug (unconfirmed) Good first issue 1️⃣ help wanted UI :art:
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
FreshRSS/FreshRSS#9360 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信