From 88de9b81b76f74074a50c3c9cad03eccdf4c2278 Mon Sep 17 00:00:00 2001 From: Paulo Porto Date: Wed, 28 Oct 2026 11:47:48 -0300 Subject: [PATCH] Release 1.0.9 --- README.md | 90 +----------------------------- RELEASE_NOTES.md | 97 +++++++++++++++++++++++++++++++++ dist/chromium/manifest.json | 2 +- dist/firefox/manifest.json | 2 +- package.json | 2 +- scripts/build.mjs | 2 +- tests/characterization.test.cjs | 2 +- 7 files changed, 103 insertions(+), 94 deletions(-) create mode 100644 RELEASE_NOTES.md diff --git a/README.md b/README.md index 2af578f..a122b63 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Opportunities Extension 1.0.7 +# Opportunities Extension Browser extension that adds the "Opportunities Extension" shortcut to the permitted Oracle Fusion pages, retrieves opportunities, and displays them in a filterable table or calendar. @@ -372,94 +372,6 @@ AI text and consumption; unexpected requests fail closed. It does not authentica against Fusion or read real extension storage. `/consumption-trend.html` provides a focused chart fixture. Stop the server with Ctrl+C when finished. -## Release 1.0.0 - -- Paginated opportunity retrieval with filters for reference, customer, owner, status, stage, and text search. -- Column sorting, links to opportunities and accounts, opportunity number copying, and stage indicators. -- Opportunity type view preferences persisted in the browser. -- Background product retrieval with configurable caching, progress tracking, and expandable product details. -- Cloud consumption account-plan lookup from each opportunity, displayed in a tabbed detail modal. -- Light and dark themes based on Oracle Redwood. -- Separate outputs for Chromium/Edge and Firefox. - -## Release 1.0.1 - -- Retries the consumer token service when it returns HTTP 200 with an HTML fallback. -- Opens the SPA session page in an inactive temporary tab and closes it as soon as valid JSON is received. -- Limits the recovery flow to five attempts and records the session bootstrap details in debug mode. - -## Release 1.0.2 - -- Modularized the extension with regression tests and documented execution boundaries. -- Added AI opportunity summaries with a dedicated, reusable Sales Common access token. -- Added Installed Base and customer Service Requests tables with search and dark-mode support. -- Expanded Cloud Consumption with plan projections, interactive details and a searchable, sortable Rate Card drawer. -- Added Ramp Months, CRM Service Request and Workload Actions badges; SR details include direct links and copy controls. -- Added a one-time current-user lookup before the initial request flow. Users with `SALES_REP` do not query or display CRM SR/Actions. -- Improved debug request grouping, full-page viewing, response formatting and theme contrast. -- Improved compact layouts, customer actions, session recovery and completion-badge fade-out behavior. -- Regenerated Chromium/Edge and Firefox distributions. Validation uses automated, browser-independent tests; installed-browser smoke tests were not performed for this release. - -## Release 1.0.3 - 2026-10-13 - -- Added monthly and weekly calendar views with stage colors, fiscal week labels, daily counts and overflow details. -- Added searchable Action forms, required-field validation, saving and local badge updates. -- Added Service Request creation with dynamic lookups, payload/header confirmation and session recovery. -- Added Internal Service Request details and creation. Save reads parent data from `requestSRInfo`, resolves the current resource user, and links the new record using the parent `SrId`. -- Internal SR creation uses Session authentication, JSON, Origin and the observed App Builder client ID. Customer deadlines remain date-only; internal deadlines use midnight UTC ISO timestamps. -- Improved activity filters, cache reuse, Refresh all, progress indicators and compact layouts. -- Debug retains complete response bodies and reveals original sensitive values through the visibility toggle; values are hidden by default. -- Regenerated Chromium/Edge and Firefox distributions. Automated tests use synthetic data; real Oracle creation and installed-browser smoke tests are not part of release validation. - -## Release 1.0.4 - 2026-10-19 - -- Added Manage Time with weekly navigation, a persisted reference date, daily hour totals and loading skeletons. -- Added searchable Service Request, Activity and Task Type fields, expanded SR tooltips and separate Service/Non Service task types. -- Existing time entries populate weekly hours and Notes. Local drafts are preserved while navigating between weeks. -- Save creates entries with POST, updates changed entries with PUT and applies queued deletions with DELETE. Writes use Session, Origin and the observed App Builder client ID. -- Added required-field validation, the 0-24 hour range, duplicate SR selection prevention, temporary row highlighting and success/error toasts. -- Reused Cache duration across form queries and invalidated cached responses after successful writes. Resource user data is reused after SR session initialization. -- Regenerated Chromium/Edge and Firefox distributions. Release validation uses synthetic automated tests; live Oracle writes and installed-browser smoke tests are not part of this validation. - -## Release 1.0.5 - 2026-10-20 - -- Corrected Reference date ranges for Oracle fiscal quarters and years, updated the opportunity query structure and removed the Renewals reference. -- Added paginated workload retrieval by unique customer account and joined workloads to products by RevnId. -- Added consumption projection comparisons using adjustedACR, RampMonths_c and the reference workbook formula, including first-month proration. -- Product and opportunity alerts identify monthly forecast differences. Single-product alerts open the comparison directly; multiple-product alerts expand the product list. -- Added Update estimates with explicit confirmation before PATCH, dynamic calculated amounts and current-user attribution, duplicate-submit protection and success/error feedback. -- Successful forecast updates refresh local comparisons and invalidate workload caches. Workloads reuse Cache duration across modal openings and token renewals. -- Regenerated Chromium/Edge and Firefox distributions. Release validation uses synthetic automated tests; live Oracle writes and installed-browser smoke tests are not part of this validation. - -## Release 1.0.6 - 2026-10-21 - -- Validate the current-user JSON structure before starting dependent requests, sharing concurrent authentication work and retrying failed identity acquisition. -- Recover SPA sessions through one inactive auxiliary tab at `https://spa.oracle.com/`, preserving the originating window and Firefox cookie store. -- Inspect the SPA document before retrying identity: reject error pages, SAML/login forms, OAuth callbacks and incomplete documents. HTTP 200, cookies and elapsed time alone no longer release identity probes. -- Read identity in the verified SPA tab, at most once per document; restart rejected authentication at the home URL rather than replaying OAuth callbacks. Readiness timeouts do not trigger fallback API probes. -- Correct native timer invocation and retain protected debug diagnostics and auxiliary-tab cleanup. -- Regenerated Chromium/Edge and Firefox distributions. Validation uses synthetic automated tests; live Oracle authentication and installed-browser smoke tests were not performed for this release. - -## Release 1.0.7 - 2026-10-26 - -- Remember table sorting preferences and restore the selected column and direction when reopening supported tables. -- Retrieve the user's Opportunity saved searches before loading opportunities and use the default savedSearchNumber for copiedFrom across all result pages. -- Show requestOpportunitiesSavedSearch in the Opportunities debug category and stop dependent queries when the default search is missing or invalid. -- Regenerated Chromium/Edge and Firefox distributions. Release validation uses synthetic automated tests; live Oracle calls and installed-browser smoke tests were not performed for this release. - -## Release 1.0.8 - 2026-10-27 - -- Added customer Organization Charts with contact search, contact creation, person details, notes, hierarchy editing and locally persisted chart data. -- Added paginated, sortable opportunities by contact using the contact PartyNumber. -- Unified modal and table layouts, loading skeletons and typography; added Rate Card order-number filtering and simplified Overview customer names using PartyName. -- Added Reference-bounded scrolling calendars with all daily opportunity cards and positioning around the current week. -- Added Booking/Workload filters and improved ramp/projection access, alerts and unavailable-workload indicators. -- Removed AI-generated opportunity summaries and their dedicated requests. -- Persisted debug requests in localStorage with lazy rendering; history resets only when a new opportunity query starts. -- Reuse successful current-user identity during the browser session; fixed debug timer invocation and added Token Relay timeout/retry support. -- Prepare SPA and SR sessions concurrently, inspect SPA before visual assets finish loading, and provide SR session retry with a 70-second timeout. -- Regenerated Chromium/Edge and Firefox distributions. Validation uses synthetic automated tests; live Oracle calls and installed-browser smoke tests are not included. - ## Loading in Development Mode ### Chrome or Microsoft Edge diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md new file mode 100644 index 0000000..ca3cdc7 --- /dev/null +++ b/RELEASE_NOTES.md @@ -0,0 +1,97 @@ +# Release Notes + +## Release 1.0.9 - 2026-10-28 + +- Added a landscape print/PDF view with filters, totals, and opportunities. +- Resolve the CRM Service Request saved search dynamically before querying records. +- Restore hidden-iframe Internal SR session recovery with bounded retries and shared pending requests. +- Align opportunity badges and customer actions consistently. +- Move release history from README to this dedicated file. + +## Release 1.0.0 + +- Paginated opportunity retrieval with filters for reference, customer, owner, status, stage, and text search. +- Column sorting, links to opportunities and accounts, opportunity number copying, and stage indicators. +- Opportunity type view preferences persisted in the browser. +- Background product retrieval with configurable caching, progress tracking, and expandable product details. +- Cloud consumption account-plan lookup from each opportunity, displayed in a tabbed detail modal. +- Light and dark themes based on Oracle Redwood. +- Separate outputs for Chromium/Edge and Firefox. + +## Release 1.0.1 + +- Retries the consumer token service when it returns HTTP 200 with an HTML fallback. +- Opens the SPA session page in an inactive temporary tab and closes it as soon as valid JSON is received. +- Limits the recovery flow to five attempts and records the session bootstrap details in debug mode. + +## Release 1.0.2 + +- Modularized the extension with regression tests and documented execution boundaries. +- Added AI opportunity summaries with a dedicated, reusable Sales Common access token. +- Added Installed Base and customer Service Requests tables with search and dark-mode support. +- Expanded Cloud Consumption with plan projections, interactive details and a searchable, sortable Rate Card drawer. +- Added Ramp Months, CRM Service Request and Workload Actions badges; SR details include direct links and copy controls. +- Added a one-time current-user lookup before the initial request flow. Users with `SALES_REP` do not query or display CRM SR/Actions. +- Improved debug request grouping, full-page viewing, response formatting and theme contrast. +- Improved compact layouts, customer actions, session recovery and completion-badge fade-out behavior. +- Regenerated Chromium/Edge and Firefox distributions. Validation uses automated, browser-independent tests; installed-browser smoke tests were not performed for this release. + +## Release 1.0.3 - 2026-10-13 + +- Added monthly and weekly calendar views with stage colors, fiscal week labels, daily counts and overflow details. +- Added searchable Action forms, required-field validation, saving and local badge updates. +- Added Service Request creation with dynamic lookups, payload/header confirmation and session recovery. +- Added Internal Service Request details and creation. Save reads parent data from `requestSRInfo`, resolves the current resource user, and links the new record using the parent `SrId`. +- Internal SR creation uses Session authentication, JSON, Origin and the observed App Builder client ID. Customer deadlines remain date-only; internal deadlines use midnight UTC ISO timestamps. +- Improved activity filters, cache reuse, Refresh all, progress indicators and compact layouts. +- Debug retains complete response bodies and reveals original sensitive values through the visibility toggle; values are hidden by default. +- Regenerated Chromium/Edge and Firefox distributions. Automated tests use synthetic data; real Oracle creation and installed-browser smoke tests are not part of release validation. + +## Release 1.0.4 - 2026-10-19 + +- Added Manage Time with weekly navigation, a persisted reference date, daily hour totals and loading skeletons. +- Added searchable Service Request, Activity and Task Type fields, expanded SR tooltips and separate Service/Non Service task types. +- Existing time entries populate weekly hours and Notes. Local drafts are preserved while navigating between weeks. +- Save creates entries with POST, updates changed entries with PUT and applies queued deletions with DELETE. Writes use Session, Origin and the observed App Builder client ID. +- Added required-field validation, the 0-24 hour range, duplicate SR selection prevention, temporary row highlighting and success/error toasts. +- Reused Cache duration across form queries and invalidated cached responses after successful writes. Resource user data is reused after SR session initialization. +- Regenerated Chromium/Edge and Firefox distributions. Release validation uses synthetic automated tests; live Oracle writes and installed-browser smoke tests are not part of this validation. + +## Release 1.0.5 - 2026-10-20 + +- Corrected Reference date ranges for Oracle fiscal quarters and years, updated the opportunity query structure and removed the Renewals reference. +- Added paginated workload retrieval by unique customer account and joined workloads to products by RevnId. +- Added consumption projection comparisons using adjustedACR, RampMonths_c and the reference workbook formula, including first-month proration. +- Product and opportunity alerts identify monthly forecast differences. Single-product alerts open the comparison directly; multiple-product alerts expand the product list. +- Added Update estimates with explicit confirmation before PATCH, dynamic calculated amounts and current-user attribution, duplicate-submit protection and success/error feedback. +- Successful forecast updates refresh local comparisons and invalidate workload caches. Workloads reuse Cache duration across modal openings and token renewals. +- Regenerated Chromium/Edge and Firefox distributions. Release validation uses synthetic automated tests; live Oracle writes and installed-browser smoke tests are not part of this validation. + +## Release 1.0.6 - 2026-10-21 + +- Validate the current-user JSON structure before starting dependent requests, sharing concurrent authentication work and retrying failed identity acquisition. +- Recover SPA sessions through one inactive auxiliary tab at `https://spa.oracle.com/`, preserving the originating window and Firefox cookie store. +- Inspect the SPA document before retrying identity: reject error pages, SAML/login forms, OAuth callbacks and incomplete documents. HTTP 200, cookies and elapsed time alone no longer release identity probes. +- Read identity in the verified SPA tab, at most once per document; restart rejected authentication at the home URL rather than replaying OAuth callbacks. Readiness timeouts do not trigger fallback API probes. +- Correct native timer invocation and retain protected debug diagnostics and auxiliary-tab cleanup. +- Regenerated Chromium/Edge and Firefox distributions. Validation uses synthetic automated tests; live Oracle authentication and installed-browser smoke tests were not performed for this release. + +## Release 1.0.7 - 2026-10-26 + +- Remember table sorting preferences and restore the selected column and direction when reopening supported tables. +- Retrieve the user's Opportunity saved searches before loading opportunities and use the default savedSearchNumber for copiedFrom across all result pages. +- Show requestOpportunitiesSavedSearch in the Opportunities debug category and stop dependent queries when the default search is missing or invalid. +- Regenerated Chromium/Edge and Firefox distributions. Release validation uses synthetic automated tests; live Oracle calls and installed-browser smoke tests were not performed for this release. + +## Release 1.0.8 - 2026-10-27 + +- Added customer Organization Charts with contact search, contact creation, person details, notes, hierarchy editing and locally persisted chart data. +- Added paginated, sortable opportunities by contact using the contact PartyNumber. +- Unified modal and table layouts, loading skeletons and typography; added Rate Card order-number filtering and simplified Overview customer names using PartyName. +- Added Reference-bounded scrolling calendars with all daily opportunity cards and positioning around the current week. +- Added Booking/Workload filters and improved ramp/projection access, alerts and unavailable-workload indicators. +- Removed AI-generated opportunity summaries and their dedicated requests. +- Persisted debug requests in localStorage with lazy rendering; history resets only when a new opportunity query starts. +- Reuse successful current-user identity during the browser session; fixed debug timer invocation and added Token Relay timeout/retry support. +- Prepare SPA and SR sessions concurrently, inspect SPA before visual assets finish loading, and provide SR session retry with a 70-second timeout. +- Regenerated Chromium/Edge and Firefox distributions. Validation uses synthetic automated tests; live Oracle calls and installed-browser smoke tests are not included. diff --git a/dist/chromium/manifest.json b/dist/chromium/manifest.json index 32e041f..1de3f32 100644 --- a/dist/chromium/manifest.json +++ b/dist/chromium/manifest.json @@ -2,7 +2,7 @@ "manifest_version": 3, "name": "Opportunities Extension", "description": "Adiciona um atalho de Opportunities Extension nas paginas Oracle Fusion permitidas.", - "version": "1.0.8", + "version": "1.0.9", "permissions": [ "cookies", "storage", diff --git a/dist/firefox/manifest.json b/dist/firefox/manifest.json index 3bf7531..cd058e4 100644 --- a/dist/firefox/manifest.json +++ b/dist/firefox/manifest.json @@ -2,7 +2,7 @@ "manifest_version": 3, "name": "Opportunities Extension", "description": "Adiciona um atalho de Opportunities Extension nas paginas Oracle Fusion permitidas.", - "version": "1.0.8", + "version": "1.0.9", "permissions": [ "cookies", "storage", diff --git a/package.json b/package.json index 7ad897d..9d22766 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "opportunities-extension", - "version": "1.0.8", + "version": "1.0.9", "private": true, "type": "module", "scripts": { diff --git a/scripts/build.mjs b/scripts/build.mjs index 8ac00a2..5195e9b 100644 --- a/scripts/build.mjs +++ b/scripts/build.mjs @@ -15,7 +15,7 @@ const baseManifest = { manifest_version: 3, name: "Opportunities Extension", description: "Adiciona um atalho de Opportunities Extension nas paginas Oracle Fusion permitidas.", - version: "1.0.8", + version: "1.0.9", permissions: [ "cookies", "storage", diff --git a/tests/characterization.test.cjs b/tests/characterization.test.cjs index a8a22d6..3cd754e 100644 --- a/tests/characterization.test.cjs +++ b/tests/characterization.test.cjs @@ -40,7 +40,7 @@ test("distribution contracts: manifests, execution boundaries and deterministic const base = { manifest_version: 3, name: "Opportunities Extension", description: "Adiciona um atalho de Opportunities Extension nas paginas Oracle Fusion permitidas.", - version: "1.0.8", permissions: ["cookies", "storage", "webRequest", "declarativeNetRequestWithHostAccess"], + version: "1.0.9", permissions: ["cookies", "storage", "webRequest", "declarativeNetRequestWithHostAccess"], host_permissions: ["https://eeho.fa.us2.oraclecloud.com/*", "https://spa.oracle.com/*", "https://comcipapic-oalprod.integration.ocp.oraclecloud.com/*"], content_scripts: [{ matches: ["https://eeho.fa.us2.oraclecloud.com/hcmUI/faces/FuseWelcome*", "https://eeho.fa.us2.oraclecloud.com/fscmUI/faces/FuseWelcome*"],