Skip to content

Commit

Permalink
Chore: Release 10.5.0 (#3477)
Browse files Browse the repository at this point in the history
* Chore: November dependabot updates (#3427)

* feat: API Permissions and Collections redesign (#3391)

* feat: add a notification banner to display for first time users (#3396)

* chore(dev): release 10.5.0 (#3397)
  • Loading branch information
ElinorW authored Dec 3, 2024
1 parent b5e08be commit 56c266a
Show file tree
Hide file tree
Showing 88 changed files with 5,825 additions and 3,189 deletions.
1 change: 1 addition & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ module.exports = {
accessibility: 'explicit'
}
],
'indent': ['error', 2],
'@typescript-eslint/interface-name-prefix': 'off',
'@typescript-eslint/member-delimiter-style': [
'off',
Expand Down
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "10.4.1"
".": "10.5.0"
}
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,7 @@
"*.tsx": "$(capture).ts, $(capture).d.ts, $(capture).spec.tsx, $(capture).styles.ts",
"package.json": "package-lock.json, .npmrc"
},
"cSpell.words": [
"fluentui"
],
}
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,19 @@

All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.

## [10.5.0](https://github.com/microsoftgraph/microsoft-graph-explorer-v4/compare/v10.4.1...v10.5.0) (2024-12-02)


### Features

* add a notification banner to display for first time users ([#3396](https://github.com/microsoftgraph/microsoft-graph-explorer-v4/issues/3396)) ([79e3b85](https://github.com/microsoftgraph/microsoft-graph-explorer-v4/commit/79e3b85083d305cbe2b8f851c48b3069aa180bdb))
* API Permissions and Collections redesign ([#3391](https://github.com/microsoftgraph/microsoft-graph-explorer-v4/issues/3391)) ([d239f8f](https://github.com/microsoftgraph/microsoft-graph-explorer-v4/commit/d239f8fd53c2a937ef5d4c15a8e0ffd505c664f1))


### Bug Fixes

* select only the required values from state and useEffect to get description error message ([#3395](https://github.com/microsoftgraph/microsoft-graph-explorer-v4/issues/3395)) ([9141255](https://github.com/microsoftgraph/microsoft-graph-explorer-v4/commit/914125564325f74f5e739835cfdf4afb353188fd))

## [10.4.1](https://github.com/microsoftgraph/microsoft-graph-explorer-v4/compare/v10.4.0...v10.4.1) (2024-10-07)


Expand Down
2 changes: 1 addition & 1 deletion azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -381,4 +381,4 @@ extends:
tag: 'v$(Build.BuildNumber)'
title: 'Graph Explorer - v$(Build.BuildNumber)'
assets: '$(Build.ArtifactStagingDirectory)/*.zip'
changeLogType: issueBased
changeLogType: issueBased
5,694 changes: 3,640 additions & 2,054 deletions package-lock.json

Large diffs are not rendered by default.

65 changes: 33 additions & 32 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,28 +1,29 @@
{
"name": "graph-explorer-v2",
"version": "10.4.1",
"version": "10.5.0",
"private": true,
"dependencies": {
"@augloop/types-core": "file:packages/types-core-2.16.189.tgz",
"@axe-core/webdriverjs": "4.10.0",
"@azure/msal-browser": "3.14.0",
"@babel/core": "7.25.2",
"@babel/runtime": "7.25.6",
"@fluentui/react": "8.120.7",
"@fluentui/react-icons-mdl2": "1.3.63",
"@microsoft/applicationinsights-react-js": "17.3.1",
"@microsoft/applicationinsights-web": "3.3.1",
"@fluentui/react-components": "9.55.1",
"@azure/msal-browser": "3.26.1",
"@babel/core": "7.26.0",
"@babel/runtime": "7.26.0",
"@fluentui/react": "8.121.1",
"@fluentui/react-icons-mdl2": "1.3.76",
"@microsoft/applicationinsights-react-js": "17.3.4",
"@microsoft/applicationinsights-web": "3.3.3",
"@microsoft/microsoft-graph-client": "3.0.7",
"@monaco-editor/react": "4.6.0",
"@ms-ofb/officebrowserfeedbacknpm": "file:packages/officebrowserfeedbacknpm-1.6.6.tgz",
"@reduxjs/toolkit": "2.2.5",
"adaptive-expressions": "4.22.2",
"@reduxjs/toolkit": "2.2.7",
"adaptive-expressions": "4.22.3",
"adaptivecards": "3.0.2",
"adaptivecards-templating": "2.3.1",
"ajv": "8.17.1",
"ajv-keywords": "5.1.0",
"apg-js": "4.3.0",
"babel-loader": "9.1.3",
"babel-loader": "9.2.1",
"babel-preset-react-app": "10.0.1",
"bfj": "8.0.0",
"bootstrap": "5.3.3",
Expand All @@ -31,39 +32,39 @@
"dotenv": "16.4.5",
"dotenv-expand": "11.0.6",
"eslint-config-react-app": "7.0.1",
"eslint-plugin-react": "7.33.2",
"eslint-plugin-react": "7.37.2",
"eslint-webpack-plugin": "4.1.0",
"express": "4.21.0",
"express": "4.21.1",
"expvariantassignmentsdk": "file:packages/expvariantassignmentsdk-1.0.0.tgz",
"file-loader": "6.2.0",
"fork-ts-checker-webpack-plugin": "9.0.2",
"fs-extra": "11.2.0",
"guid-typescript": "1.0.9",
"isomorphic-fetch": "3.0.0",
"localforage": "1.10.0",
"mini-css-extract-plugin": "2.9.1",
"mini-css-extract-plugin": "2.9.2",
"monaco-editor": "0.30.1",
"monaco-editor-webpack-plugin": "6.0.0",
"office-ui-fabric-core": "11.1.0",
"postcss-flexbugs-fixes": "5.0.2",
"postcss-loader": "8.1.1",
"postcss-preset-env": "9.5.13",
"re-resizable": "6.9.11",
"postcss-preset-env": "10.1.0",
"re-resizable": "6.10.0",
"react": "18.2.0",
"react-app-polyfill": "3.0.0",
"react-dom": "18.2.0",
"react-redux": "8.1.3",
"resolve": "1.22.8",
"sass": "1.72.0",
"sass-loader": "14.2.1",
"sass": "1.79.4",
"sass-loader": "16.0.3",
"style-loader": "4.0.0",
"typescript": "5.5.4",
"url": "0.11.3",
"url": "0.11.4",
"url-loader": "4.1.1",
"webpack": "5.94.0",
"webpack-dev-server": "5.0.4",
"webpack": "5.96.1",
"webpack-dev-server": "5.1.0",
"webpack-manifest-plugin": "5.0.0",
"workbox-webpack-plugin": "7.0.0"
"workbox-webpack-plugin": "7.3.0"
},
"scripts": {
"start": "node scripts/start.js",
Expand All @@ -90,25 +91,25 @@
],
"devDependencies": {
"@axe-core/playwright": "4.10.0",
"@playwright/test": "1.46.1",
"@playwright/test": "1.48.2",
"@types/chromedriver": "81.0.1",
"@types/isomorphic-fetch": "0.0.39",
"@types/jest": "29.5.12",
"@types/jest": "29.5.14",
"@types/lodash.debounce": "4.0.9",
"@types/markdown-it": "14.1.2",
"@types/react": "18.2.55",
"@types/react-dom": "18.2.19",
"@types/react-redux": "7.1.30",
"@types/redux-logger": "3.0.11",
"@types/redux-mock-store": "1.0.3",
"@types/selenium-webdriver": "4.1.26",
"@typescript-eslint/eslint-plugin": "7.0.0",
"@typescript-eslint/parser": "6.17.0",
"@types/selenium-webdriver": "4.1.27",
"@typescript-eslint/eslint-plugin": "8.14.0",
"@typescript-eslint/parser": "8.14.0",
"acorn": "8.12.1",
"babel-jest": "29.7.0",
"chromedriver": "128.0.1",
"eslint": "8.56.0",
"html-webpack-plugin": "5.6.0",
"chromedriver": "130.0.4",
"eslint": "8.57.1",
"html-webpack-plugin": "5.6.3",
"jest": "29.7.0",
"jest-canvas-mock": "2.5.2",
"jest-environment-jsdom": "29.7.0",
Expand All @@ -120,8 +121,8 @@
"react-dev-utils": "12.0.1",
"redux-logger": "3.0.6",
"redux-mock-store": "1.5.4",
"selenium-webdriver": "4.24.0",
"start-server-and-test": "2.0.5",
"selenium-webdriver": "4.26.0",
"start-server-and-test": "2.0.8",
"ts-jest": "29.2.5"
},
"jestSonar": {
Expand Down
2 changes: 1 addition & 1 deletion sonar-project.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ sonar.projectKey=microsoftgraph_microsoft-graph-explorer-v4
sonar.organization=microsoftgraph2
sonar.projectName=microsoft-graph-explorer-v4
// x-release-please-start-version
sonar.projectVersion=10.4.1
sonar.projectVersion=10.5.0
// x-release-please-end
sonar.host.url=https://sonarcloud.io

Expand Down
77 changes: 39 additions & 38 deletions src/app/middleware/localStorageMiddleware.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,50 +7,51 @@ import { CURRENT_THEME } from '../services/graph-constants';
import { getUniquePaths } from '../services/reducers/collections-reducer.util';
import {
CHANGE_THEME_SUCCESS, COLLECTION_CREATE_SUCCESS,
RESOURCEPATHS_ADD_SUCCESS, RESOURCEPATHS_DELETE_SUCCESS, SAMPLES_FETCH_SUCCESS
RESOURCEPATHS_ADD_SUCCESS, RESOURCEPATHS_DELETE_SUCCESS,
SAMPLES_FETCH_SUCCESS
} from '../services/redux-constants';
import { saveToLocalStorage } from '../utils/local-storage';

const localStorageMiddleware: Middleware<{}, any, Dispatch<UnknownAction>> = () => (next) => async (value) => {
const action = value as AppAction;
switch (action.type) {
case CHANGE_THEME_SUCCESS:
saveToLocalStorage(CURRENT_THEME, action.payload);
break;

case SAMPLES_FETCH_SUCCESS:
samplesCache.saveSamples(action.payload);
break;

case RESOURCEPATHS_ADD_SUCCESS: {
const collections = await collectionsCache.read();
const item = collections.find(k => k.isDefault)!;
item.paths = getUniquePaths(item.paths, action.payload as ResourcePath[]);
await collectionsCache.update(item.id, item);
break;
}

case RESOURCEPATHS_DELETE_SUCCESS: {
const paths = action.payload as ResourcePath[];
const collections = await collectionsCache.read();
const collection = collections.find(k => k.isDefault)!;
paths.forEach((path: ResourcePath) => {
const index = collection.paths.findIndex(k => k.key === path.key);
if (index > -1) {
collection.paths.splice(index, 1);
}
})
await collectionsCache.update(collection.id, collection);
break;
}

case COLLECTION_CREATE_SUCCESS: {
await collectionsCache.create(action.payload as Collection);
break;
}

default:
break;
case CHANGE_THEME_SUCCESS:
saveToLocalStorage(CURRENT_THEME, action.payload);
break;

case SAMPLES_FETCH_SUCCESS:
samplesCache.saveSamples(action.payload);
break;

case RESOURCEPATHS_ADD_SUCCESS: {
const collections = await collectionsCache.read();
const item = collections.find(k => k.isDefault)!;
item.paths = getUniquePaths(item.paths, action.payload as ResourcePath[]);
await collectionsCache.update(item.id, item);
break;
}

case RESOURCEPATHS_DELETE_SUCCESS: {
const paths = action.payload as ResourcePath[];
const collections = await collectionsCache.read();
const collection = collections.find(k => k.isDefault)!;
paths.forEach((path: ResourcePath) => {
const index = collection.paths.findIndex(k => k.key === path.key);
if (index > -1) {
collection.paths.splice(index, 1);
}
})
await collectionsCache.update(collection.id, collection);
break;
}

case COLLECTION_CREATE_SUCCESS: {
await collectionsCache.create(action.payload as Collection);
break;
}

default:
break;
}
return next(action);
}
Expand Down
86 changes: 43 additions & 43 deletions src/app/middleware/telemetryMiddleware.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,49 +23,49 @@ const telemetryMiddleware: Middleware<{}, any, Dispatch<UnknownAction>> = (store
const state: ApplicationState = store.getState();
const action = value as AppAction;
switch (action.type) {
case GET_SNIPPET_ERROR: {
trackException(
componentNames.GET_SNIPPET_ACTION,
state.sampleQuery,
action.payload.error,
{
Language: action.payload.language
}
);
break;
}
case FETCH_SCOPES_ERROR: {
trackException(
componentNames.FETCH_PERMISSIONS_ACTION,
state.sampleQuery,
action.payload.error,
{}
);
break;
}
case SAMPLES_FETCH_ERROR: {
trackException(
componentNames.FETCH_SAMPLES_ACTION,
state.sampleQuery,
action.payload,
{}
);
break;
}
case RESOURCEPATHS_ADD_SUCCESS: {
telemetry.trackEvent(eventTypes.LISTITEM_CLICK_EVENT, {
ComponentName: componentNames.ADD_RESOURCE_TO_COLLECTION_LIST_ITEM,
ResourcePath: action.payload[0].url
});
break;
}
case RESOURCEPATHS_DELETE_SUCCESS: {
telemetry.trackEvent(eventTypes.LISTITEM_CLICK_EVENT, {
ComponentName: componentNames.REMOVE_RESOURCE_FROM_COLLECTION_BUTTON,
ResourceCount: action.payload.length
});
break;
}
case GET_SNIPPET_ERROR: {
trackException(
componentNames.GET_SNIPPET_ACTION,
state.sampleQuery,
action.payload.error,
{
Language: action.payload.language
}
);
break;
}
case FETCH_SCOPES_ERROR: {
trackException(
componentNames.FETCH_PERMISSIONS_ACTION,
state.sampleQuery,
action.payload.error,
{}
);
break;
}
case SAMPLES_FETCH_ERROR: {
trackException(
componentNames.FETCH_SAMPLES_ACTION,
state.sampleQuery,
action.payload,
{}
);
break;
}
case RESOURCEPATHS_ADD_SUCCESS: {
telemetry.trackEvent(eventTypes.LISTITEM_CLICK_EVENT, {
ComponentName: componentNames.ADD_RESOURCE_TO_COLLECTION_LIST_ITEM,
ResourcePath: action.payload[0].url
});
break;
}
case RESOURCEPATHS_DELETE_SUCCESS: {
telemetry.trackEvent(eventTypes.LISTITEM_CLICK_EVENT, {
ComponentName: componentNames.REMOVE_RESOURCE_FROM_COLLECTION_BUTTON,
ResourceCount: action.payload.length
});
break;
}
}
return next(action);
};
Expand Down
Loading

0 comments on commit 56c266a

Please sign in to comment.