Release 1.0.8
This commit is contained in:
13
README.md
13
README.md
@@ -447,6 +447,19 @@ a focused chart fixture. Stop the server with Ctrl+C when finished.
|
||||
- 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
|
||||
|
||||
2
dist/chromium/manifest.json
vendored
2
dist/chromium/manifest.json
vendored
@@ -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.7",
|
||||
"version": "1.0.8",
|
||||
"permissions": [
|
||||
"cookies",
|
||||
"storage",
|
||||
|
||||
2
dist/firefox/manifest.json
vendored
2
dist/firefox/manifest.json
vendored
@@ -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.7",
|
||||
"version": "1.0.8",
|
||||
"permissions": [
|
||||
"cookies",
|
||||
"storage",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "opportunities-extension",
|
||||
"version": "1.0.7",
|
||||
"version": "1.0.8",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
|
||||
@@ -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.7",
|
||||
version: "1.0.8",
|
||||
permissions: [
|
||||
"cookies",
|
||||
"storage",
|
||||
|
||||
@@ -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.7", permissions: ["cookies", "storage", "webRequest", "declarativeNetRequestWithHostAccess"],
|
||||
version: "1.0.8", 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*"],
|
||||
@@ -124,7 +124,7 @@ test("opportunity query preserves fields, record-set OR, date AND, and paginatio
|
||||
{ op: "$and", criteria: [{ op: "$or", criteria: types.map(value => ({ op: "$eq", attribute: "RecordSet", value })) }] },
|
||||
{ op: "$wi", attribute: "EffectiveDate", value1: "2026-06-01T00:00:00.000+0000", value2: "2026-09-01T00:00:00.000+0000" }
|
||||
] }, keywords: null, keywordsFields: fields,
|
||||
fields: [...fields, "CustomerAccount.PartyUniqueName", "CustomerAccount.PartyId", "CustomerAccount.PartyNumber", "CustomerAccount.Region_c", "CustomerAccount.PrimaryAddress.CountryCode"],
|
||||
fields: [...fields, "CustomerAccount.PartyUniqueName", "CustomerAccount.PartyName", "CustomerAccount.PartyId", "CustomerAccount.PartyNumber", "CustomerAccount.Region_c", "CustomerAccount.PrimaryAddress.CountryCode"],
|
||||
sort: null, language: "en", skipInValidFields: true, skipHiddenFromUIFields: true,
|
||||
copiedFrom: "queries/default-search", limit: 15, offset: 15
|
||||
});
|
||||
|
||||
@@ -26,7 +26,7 @@ const walk = node => [node, ...node.children.flatMap(walk)];
|
||||
const hasClass = (node, name) => (node.className || "").split(" ").includes(name);
|
||||
const findClass = (node, name) => walk(node).find(child => hasClass(child, name));
|
||||
const synthetic = (number = "TEST-1", name = "Synthetic opportunity") => ({
|
||||
Name: name, OptyNumber: number, CustomerAccount: { PartyUniqueName: "Synthetic customer", PartyId: "party/id", PartyNumber: "reg-123" },
|
||||
Name: name, OptyNumber: number, CustomerAccount: { PartyName: "Synthetic customer", PartyUniqueName: "Synthetic customer (Location)", PartyId: "party/id", PartyNumber: "reg-123" },
|
||||
Owner: { PersonFirstName: "Test", PersonLastName: "Owner" }, PrimaryRevenue: { RevnAmount: "123456.78", RevnAmountCurcyCode: "USD", WinProb: 60 },
|
||||
EffectiveDate: "2026-10-23", LastUpdateDate: "2026-09-22T13:15:00Z", StatusCode: "OPEN", ForecastGroup_c: "FORECAST"
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user