Release 1.0.9
This commit is contained in:
90
README.md
90
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.
|
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
|
against Fusion or read real extension storage. `/consumption-trend.html` provides
|
||||||
a focused chart fixture. Stop the server with Ctrl+C when finished.
|
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
|
## Loading in Development Mode
|
||||||
|
|
||||||
### Chrome or Microsoft Edge
|
### Chrome or Microsoft Edge
|
||||||
|
|||||||
97
RELEASE_NOTES.md
Normal file
97
RELEASE_NOTES.md
Normal file
@@ -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.
|
||||||
2
dist/chromium/manifest.json
vendored
2
dist/chromium/manifest.json
vendored
@@ -2,7 +2,7 @@
|
|||||||
"manifest_version": 3,
|
"manifest_version": 3,
|
||||||
"name": "Opportunities Extension",
|
"name": "Opportunities Extension",
|
||||||
"description": "Adiciona um atalho de Opportunities Extension nas paginas Oracle Fusion permitidas.",
|
"description": "Adiciona um atalho de Opportunities Extension nas paginas Oracle Fusion permitidas.",
|
||||||
"version": "1.0.8",
|
"version": "1.0.9",
|
||||||
"permissions": [
|
"permissions": [
|
||||||
"cookies",
|
"cookies",
|
||||||
"storage",
|
"storage",
|
||||||
|
|||||||
2
dist/firefox/manifest.json
vendored
2
dist/firefox/manifest.json
vendored
@@ -2,7 +2,7 @@
|
|||||||
"manifest_version": 3,
|
"manifest_version": 3,
|
||||||
"name": "Opportunities Extension",
|
"name": "Opportunities Extension",
|
||||||
"description": "Adiciona um atalho de Opportunities Extension nas paginas Oracle Fusion permitidas.",
|
"description": "Adiciona um atalho de Opportunities Extension nas paginas Oracle Fusion permitidas.",
|
||||||
"version": "1.0.8",
|
"version": "1.0.9",
|
||||||
"permissions": [
|
"permissions": [
|
||||||
"cookies",
|
"cookies",
|
||||||
"storage",
|
"storage",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "opportunities-extension",
|
"name": "opportunities-extension",
|
||||||
"version": "1.0.8",
|
"version": "1.0.9",
|
||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ const baseManifest = {
|
|||||||
manifest_version: 3,
|
manifest_version: 3,
|
||||||
name: "Opportunities Extension",
|
name: "Opportunities Extension",
|
||||||
description: "Adiciona um atalho de Opportunities Extension nas paginas Oracle Fusion permitidas.",
|
description: "Adiciona um atalho de Opportunities Extension nas paginas Oracle Fusion permitidas.",
|
||||||
version: "1.0.8",
|
version: "1.0.9",
|
||||||
permissions: [
|
permissions: [
|
||||||
"cookies",
|
"cookies",
|
||||||
"storage",
|
"storage",
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ test("distribution contracts: manifests, execution boundaries and deterministic
|
|||||||
const base = {
|
const base = {
|
||||||
manifest_version: 3, name: "Opportunities Extension",
|
manifest_version: 3, name: "Opportunities Extension",
|
||||||
description: "Adiciona um atalho de Opportunities Extension nas paginas Oracle Fusion permitidas.",
|
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/*"],
|
host_permissions: ["https://eeho.fa.us2.oraclecloud.com/*", "https://spa.oracle.com/*", "https://comcipapic-oalprod.integration.ocp.oraclecloud.com/*"],
|
||||||
content_scripts: [{
|
content_scripts: [{
|
||||||
matches: ["https://eeho.fa.us2.oraclecloud.com/hcmUI/faces/FuseWelcome*", "https://eeho.fa.us2.oraclecloud.com/fscmUI/faces/FuseWelcome*"],
|
matches: ["https://eeho.fa.us2.oraclecloud.com/hcmUI/faces/FuseWelcome*", "https://eeho.fa.us2.oraclecloud.com/fscmUI/faces/FuseWelcome*"],
|
||||||
|
|||||||
Reference in New Issue
Block a user