Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] main from microsoft:main #19

Open
wants to merge 582 commits into
base: main
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
582 commits
Select commit Hold shift + click to select a range
b01c71a
Bump Roslynator.CodeAnalysis.Analyzers from 4.6.2 to 4.6.4 in /webapi…
dependabot[bot] Nov 27, 2023
22ca3ab
Bump Roslynator.Formatting.Analyzers from 4.6.2 to 4.6.4 in /webapi (…
dependabot[bot] Nov 27, 2023
3938bd4
Bump @types/react-dom from 18.2.14 to 18.2.17 in /webapp (#661)
dependabot[bot] Nov 27, 2023
f276a67
Bump typescript from 5.2.2 to 5.3.2 in /webapp (#660)
dependabot[bot] Nov 27, 2023
a272d46
Enable running tests on different AAD tenant (#668)
glahaye Nov 28, 2023
a70769a
Bump @microsoft/signalr from 7.0.12 to 8.0.0 in /webapp (#659)
dependabot[bot] Nov 28, 2023
8283608
Add an icon for the site (#655)
glahaye Nov 28, 2023
32cd7ce
Fix e2e test GitHub action (#672)
TaoChenOSU Nov 28, 2023
8f5210e
Unblock Global Document Import (#588)
teresaqhoang Nov 29, 2023
af43a15
Add integration tests (#651)
glahaye Nov 29, 2023
8735e11
Do not trigger e2e test when a PR is approved (#676)
TaoChenOSU Nov 29, 2023
9f7978e
Copy static files in proper folder (#678)
glahaye Nov 29, 2023
3773fe5
Fix chatstyling (#677)
crickman Nov 29, 2023
f66cee4
Fix deployment pipeline (#679)
glahaye Nov 29, 2023
35c7a11
Fix passing of secrets for integration tests (#680)
glahaye Nov 30, 2023
c97615a
Fix unix package scripts (#675)
dehoward Nov 30, 2023
b9eef2f
Use dotnet user secrets to propagate Github secrets to integration te…
glahaye Dec 4, 2023
35cb693
Bump @types/react from 18.2.37 to 18.2.41 in /webapp (#694)
dependabot[bot] Dec 4, 2023
fe72b5a
Bump eslint from 8.54.0 to 8.55.0 in /webapp (#693)
dependabot[bot] Dec 4, 2023
4d4948b
Bump @typescript-eslint/eslint-plugin from 6.11.0 to 6.13.1 in /webap…
dependabot[bot] Dec 4, 2023
4c258e4
Bump microsoft-cognitiveservices-speech-sdk from 1.32.0 to 1.33.1 in …
dependabot[bot] Dec 4, 2023
ef1dab5
Bump Roslynator.Formatting.Analyzers from 4.6.4 to 4.7.0 in /webapi (…
dependabot[bot] Dec 4, 2023
c1abd0a
Bump Roslynator.Analyzers from 4.6.4 to 4.7.0 in /webapi (#688)
dependabot[bot] Dec 4, 2023
4185927
Bump Microsoft.Identity.Web from 2.15.5 to 2.16.0 in /webapi (#687)
dependabot[bot] Dec 4, 2023
3d232ca
Bump Roslynator.CodeAnalysis.Analyzers from 4.6.4 to 4.7.0 in /webapi…
dependabot[bot] Dec 4, 2023
0f8be9a
Bump @typescript-eslint/eslint-plugin from 6.11.0 to 6.13.2 in /webap…
dependabot[bot] Dec 4, 2023
309f2cc
Update docker configuration from SemanticMemory__ to KernelMemory_ (#…
huangyingting Dec 9, 2023
ec185b4
Use chatId from URL rather than from payload for chats (#700)
glahaye Dec 9, 2023
aad0721
Use transparency in app icon (#717)
glahaye Dec 13, 2023
9bb36bd
Bump @types/react from 18.2.41 to 18.2.43 in /webapp (#715)
dependabot[bot] Dec 16, 2023
a0f092d
Bump react-redux from 8.1.3 to 9.0.3 in /webapp (#714)
dependabot[bot] Dec 16, 2023
66c7562
Bump typescript from 5.3.2 to 5.3.3 in /webapp (#713)
dependabot[bot] Dec 16, 2023
4835d77
Bump actions/labeler from 4 to 5 (#706)
dependabot[bot] Dec 16, 2023
86fbc78
Bump actions/setup-dotnet from 3 to 4 (#705)
dependabot[bot] Dec 16, 2023
477b161
Fix Docke Compose file to use KernelMemory instead of SemanticMemory …
huangyingting Dec 20, 2023
d00997c
Bump SharpToken from 1.2.12 to 1.2.14 in /webapi (#732)
dependabot[bot] Dec 20, 2023
35efd21
Update labeler.yml to v5 (#721)
dehoward Dec 20, 2023
6866d0c
Bump @types/node from 20.9.2 to 20.10.5 in /webapp (#726)
dependabot[bot] Dec 20, 2023
0bc4bfa
Bump @fluentui/react-icons from 2.0.223 to 2.0.224 in /webapp (#727)
dependabot[bot] Dec 20, 2023
53f989e
Bump @typescript-eslint/parser from 6.12.0 to 6.14.0 in /webapp (#729)
dependabot[bot] Dec 20, 2023
9a1fe04
Bump Microsoft.ApplicationInsights.AspNetCore from 2.21.0 to 2.22.0 i…
dependabot[bot] Dec 20, 2023
4f543b0
Bump actions/upload-artifact from 3 to 4 (#725)
dependabot[bot] Dec 20, 2023
2bd16cc
Bump github/codeql-action from 2 to 3 (#723)
dependabot[bot] Dec 20, 2023
6557258
Bump actions/download-artifact from 3 to 4 (#724)
dependabot[bot] Dec 20, 2023
35fffe0
Bump eslint from 8.55.0 to 8.56.0 in /webapp (#728)
dependabot[bot] Dec 20, 2023
b2083dd
Use array for labeler glob patterns (#739)
dehoward Dec 20, 2023
d4c7fc1
Bump @reduxjs/toolkit from 1.9.7 to 2.0.1 in /webapp (#697)
dependabot[bot] Dec 20, 2023
3e39c50
Bump follow-redirects from 1.15.2 to 1.15.4 in /webapp (#758)
dependabot[bot] Jan 23, 2024
6a82448
Bump @types/react-dom from 18.2.17 to 18.2.18 in /webapp (#742)
dependabot[bot] Jan 23, 2024
6c93a32
Readme tweaks (#759)
jongio Jan 23, 2024
5634999
Bump @types/react from 18.2.43 to 18.2.48 in /webapp (#764)
dependabot[bot] Jan 23, 2024
84729f1
Bump react-redux from 9.0.3 to 9.1.0 in /webapp (#766)
dependabot[bot] Jan 23, 2024
24e0ff9
Bump prettier from 3.1.0 to 3.2.4 in /webapp (#771)
dependabot[bot] Jan 23, 2024
7e9630c
Issue #701 updated readme.md for webapi to make it clearer how one ca…
eamon-keane Jan 23, 2024
dcd0aae
Bump Roslynator.CodeAnalysis.Analyzers from 4.7.0 to 4.10.0 in /webap…
dependabot[bot] Feb 6, 2024
8ce96ae
Bump @typescript-eslint/parser from 6.14.0 to 6.20.0 in /webapp (#784)
dependabot[bot] Feb 6, 2024
08bbf45
Bump microsoft-cognitiveservices-speech-sdk from 1.33.1 to 1.35.0 in …
dependabot[bot] Feb 6, 2024
14dcae8
Bump @types/node from 20.10.5 to 20.11.16 in /webapp (#787)
dependabot[bot] Feb 6, 2024
74194ed
Bump @fluentui/react-components from 9.41.0 to 9.46.3 in /webapp (#786)
dependabot[bot] Feb 6, 2024
502dbd3
Bump @playwright/test from 1.40.0 to 1.41.2 in /webapp (#785)
dependabot[bot] Feb 7, 2024
91197a3
Included button to copy chat history item (#789)
marcelojsilva Feb 7, 2024
f4b6cea
Bump prettier from 3.2.4 to 3.2.5 in /webapp (#801)
dependabot[bot] Feb 12, 2024
e500109
Bump Roslynator.Analyzers from 4.7.0 to 4.10.0 in /webapi (#792)
dependabot[bot] Feb 12, 2024
0b07816
Bump @typescript-eslint/parser from 6.20.0 to 6.21.0 in /webapp (#800)
dependabot[bot] Feb 12, 2024
1425c2c
Bump Roslynator.Formatting.Analyzers from 4.7.0 to 4.10.0 in /webapi …
dependabot[bot] Feb 12, 2024
1d26e07
Bump Microsoft.Identity.Web from 2.16.0 to 2.17.0 in /webapi (#795)
dependabot[bot] Feb 12, 2024
48fd8c2
Bump @fluentui/react-components from 9.46.3 to 9.46.4 in /webapp (#797)
dependabot[bot] Feb 12, 2024
6887500
Bump Microsoft.VisualStudio.Threading.Analyzers from 17.8.14 to 17.9.…
dependabot[bot] Feb 12, 2024
e6dd3f8
Bump @reduxjs/toolkit from 2.0.1 to 2.1.0 in /webapp (#798)
dependabot[bot] Feb 12, 2024
45869fd
Bump @types/react from 18.2.48 to 18.2.55 in /webapp (#799)
dependabot[bot] Feb 12, 2024
9eac245
Remove Memory Migration (#791)
crickman Feb 12, 2024
684f91b
.Net - Fix maintenance-middleware DI (#815)
crickman Feb 21, 2024
b8bb509
Bump @types/react from 18.2.55 to 18.2.56 in /webapp (#810)
dependabot[bot] Feb 23, 2024
3ecc19c
Bump @types/react-dom from 18.2.18 to 18.2.19 in /webapp (#813)
dependabot[bot] Feb 26, 2024
ab97a5e
Bump @fluentui/react-icons from 2.0.224 to 2.0.230 in /webapp (#818)
dependabot[bot] Feb 26, 2024
dcea4c9
Bump eslint from 8.56.0 to 8.57.0 in /webapp (#819)
dependabot[bot] Feb 26, 2024
6150ed0
Bump @reduxjs/toolkit from 2.1.0 to 2.2.1 in /webapp (#812)
dependabot[bot] Feb 26, 2024
fdef591
Ignore stackoverflow links in markdown-link-check process because it …
glahaye Feb 26, 2024
c14f737
Upgrade to Semantic Kernel 1.4 (#817)
glahaye Feb 27, 2024
2c4c08b
Remove remnants of memory migration (#823)
glahaye Feb 28, 2024
0163db7
Fix token budgeting (#824)
glahaye Mar 1, 2024
f5deb20
Remove unused code path in HandleBotResponseAsync() (#825)
glahaye Mar 1, 2024
679a356
Bump azure/login from 1 to 2 (#831)
dependabot[bot] Mar 5, 2024
6bb3a25
Bump Microsoft.Identity.Web from 2.17.0 to 2.17.1 in /webapi (#828)
dependabot[bot] Mar 5, 2024
6507303
Bump @types/node from 20.11.16 to 20.11.24 in /webapp (#835)
dependabot[bot] Mar 5, 2024
3f40558
Bump @playwright/test from 1.41.2 to 1.42.1 in /webapp (#832)
dependabot[bot] Mar 5, 2024
c6ae919
Bump @fluentui/react-components from 9.46.4 to 9.46.7 in /webapp (#833)
dependabot[bot] Mar 5, 2024
333aef0
Update to latest SK version (#840)
glahaye Mar 6, 2024
8fbaebb
Remove remnants of planners in scripts (#841)
glahaye Mar 6, 2024
3bb4a6f
Provide only correct names to ConfigureQueueDependency() (#843)
glahaye Mar 6, 2024
194f4d3
Simplify GitHub actions and fix parts of integration testing (#845)
glahaye Mar 7, 2024
4891dda
Provide environment to int tests (#846)
glahaye Mar 7, 2024
2b66ed9
Fix app ID used for workflow logins (#847)
glahaye Mar 8, 2024
99f7c4f
Read secrets (#849)
glahaye Mar 8, 2024
58f8fe3
Revert "Read secrets (#849)" (#850)
glahaye Mar 8, 2024
051a89d
Fix token budget + Clarify code (#839)
glahaye Mar 9, 2024
1eda541
Bump @fluentui/react-icons from 2.0.230 to 2.0.232 in /webapp (#854)
dependabot[bot] Mar 21, 2024
e1d31e2
Bump azure/CLI from 1 to 2 (#862)
dependabot[bot] Mar 21, 2024
89e5fa6
Bump follow-redirects from 1.15.4 to 1.15.6 in /webapp (#866)
dependabot[bot] Mar 21, 2024
6c6b282
Bump gittools/actions from 0 to 1 (#867)
dependabot[bot] Mar 21, 2024
2c47650
Bump @types/react-dom from 18.2.19 to 18.2.22 in /webapp (#874)
dependabot[bot] Mar 21, 2024
d04ebbf
Bump webpack-dev-middleware from 5.3.3 to 5.3.4 in /webapp (#881)
dependabot[bot] Mar 21, 2024
bb8430b
Bump @fluentui/react-components from 9.46.7 to 9.47.1 in /webapp (#882)
dependabot[bot] Mar 21, 2024
309aab5
Update TypeScript to 5.4.3 (#886)
glahaye Mar 22, 2024
7d213ba
Test workaround (#887)
glahaye Mar 22, 2024
b8b8556
Fix test username and password (#888)
glahaye Mar 22, 2024
5956814
Refactor ChatController for Asynchronous Plugin Registration (#864)
Ahmed-Adel3 Mar 24, 2024
8d08450
Bump @types/node from 20.11.24 to 20.11.30 in /webapp (#891)
dependabot[bot] Mar 25, 2024
9dbd149
Bump microsoft-cognitiveservices-speech-sdk from 1.35.0 to 1.36.0 in …
dependabot[bot] Mar 25, 2024
de6b802
Bump @reduxjs/toolkit from 2.2.1 to 2.2.2 in /webapp (#893)
dependabot[bot] Mar 25, 2024
5ee152d
Bump @fluentui/react-icons from 2.0.232 to 2.0.233 in /webapp (#894)
dependabot[bot] Mar 25, 2024
96fa2ac
Bump Roslynator.CodeAnalysis.Analyzers from 4.11.0 to 4.12.0 in /weba…
dependabot[bot] Mar 25, 2024
15967bb
Bump Roslynator.Formatting.Analyzers from 4.11.0 to 4.12.0 in /webapi…
dependabot[bot] Mar 25, 2024
cdfbf50
Respect order, number to skip and number to take of chat messages at …
glahaye Mar 27, 2024
6d04caa
Bump express from 4.18.2 to 4.19.2 in /webapp (#904)
dependabot[bot] Mar 29, 2024
9dd6d5c
Bump Roslynator.Analyzers from 4.11.0 to 4.12.0 in /webapi (#907)
dependabot[bot] Apr 1, 2024
4d3443a
Bump Microsoft.Identity.Web from 2.17.1 to 2.17.4 in /webapi (#910)
dependabot[bot] Apr 1, 2024
7916848
Bump @reduxjs/toolkit from 2.2.2 to 2.2.3 in /webapp (#912)
dependabot[bot] Apr 1, 2024
15ace13
Bump @azure/msal-browser from 2.38.3 to 2.38.4 in /webapp (#913)
dependabot[bot] Apr 1, 2024
5cb9d49
Bump @types/react-dom from 18.2.22 to 18.2.23 in /webapp (#914)
dependabot[bot] Apr 1, 2024
aa62574
Bump @fluentui/react-components from 9.47.1 to 9.47.2 in /webapp (#915)
dependabot[bot] Apr 1, 2024
3ce34ec
Bump @types/react from 18.2.56 to 18.2.73 in /webapp (#911)
dependabot[bot] Apr 3, 2024
6b158a0
Bump @types/react-dom from 18.2.23 to 18.2.24 in /webapp (#924)
dependabot[bot] Apr 8, 2024
830aa69
Bump @fluentui/react-icons from 2.0.233 to 2.0.234 in /webapp (#925)
dependabot[bot] Apr 8, 2024
1b542c0
Bump @playwright/test from 1.42.1 to 1.43.0 in /webapp (#926)
dependabot[bot] Apr 8, 2024
4310dc0
Bump @types/node from 20.12.3 to 20.12.5 in /webapp (#927)
dependabot[bot] Apr 8, 2024
1e2455d
Bump typescript from 5.4.3 to 5.4.4 in /webapp (#928)
dependabot[bot] Apr 8, 2024
9693491
Fixes #851 : relevanceThreshold is not utilized preventing additional…
habanoz Apr 8, 2024
520b6c7
Bump Roslynator.Formatting.Analyzers from 4.12.0 to 4.12.1 in /webapi…
dependabot[bot] Apr 27, 2024
895580b
Bump @typescript-eslint/parser from 7.5.0 to 7.7.0 in /webapp (#943)
dependabot[bot] Apr 27, 2024
fe764fc
Bump Microsoft.Identity.Client from 4.59.0 to 4.59.1 in /tools/import…
dependabot[bot] Apr 27, 2024
a7106a5
Bump react-redux from 9.1.0 to 9.1.1 in /webapp (#933)
dependabot[bot] Apr 27, 2024
c0dca90
Bump @types/node from 20.12.5 to 20.12.7 in /webapp (#934)
dependabot[bot] Apr 27, 2024
431a6b7
Bump Roslynator.Formatting.Analyzers from 4.12.1 to 4.12.2 in /webapi…
dependabot[bot] May 1, 2024
883992e
Bump ejs from 3.1.9 to 3.1.10 in /webapp (#959)
dependabot[bot] May 1, 2024
7f3daa7
Bump serve from 14.2.1 to 14.2.3 in /webapp (#948)
dependabot[bot] May 1, 2024
5657ddf
Initializing msal instance before handling redirect to fix race condi…
alliscode May 9, 2024
ba48a93
Bump @playwright/test from 1.43.0 to 1.43.1 in /webapp (#949)
dependabot[bot] May 12, 2024
0318364
Bump Roslynator.Analyzers from 4.12.0 to 4.12.2 in /webapi (#961)
dependabot[bot] May 12, 2024
90eacc0
Bump @types/node from 20.12.7 to 20.12.8 in /webapp (#962)
dependabot[bot] May 12, 2024
c1cc28b
Bump Microsoft.Identity.Web from 2.17.4 to 2.18.1 in /webapi (#954)
dependabot[bot] May 12, 2024
0227094
@alvesfabi OBO Support (#803)
teresaqhoang May 15, 2024
ccec433
Bump react-redux from 9.1.1 to 9.1.2 in /webapp (#976)
dependabot[bot] May 17, 2024
19e0d40
Upgrade to SK 1.12 (#980)
glahaye Jun 12, 2024
d3c238e
Bump typescript from 5.4.4 to 5.4.5 in /webapp (#983)
dependabot[bot] Jun 12, 2024
750d589
Bump @reduxjs/toolkit from 2.2.3 to 2.2.5 in /webapp (#985)
dependabot[bot] Jun 12, 2024
77db7d3
Bump @fluentui/react-icons from 2.0.234 to 2.0.242 in /webapp (#996)
dependabot[bot] Jun 12, 2024
3619e75
move Chat component logic to separate file (#1000)
davidschinteie Jun 12, 2024
dd5d2f4
Bump @typescript-eslint/eslint-plugin from 7.5.0 to 7.12.0 in /webapp…
dependabot[bot] Jun 12, 2024
12c10c4
Bump braces from 3.0.2 to 3.0.3 in /webapp (#1004)
dependabot[bot] Jun 12, 2024
eefb213
Bump @fluentui/react-components from 9.47.5 to 9.54.1 in /webapp (#1005)
dependabot[bot] Jun 12, 2024
d1807ff
fix(webapp): Fix 989 issue (#994)
william-daconceicao Jun 12, 2024
59deaa4
Lower DocumentMemoryMinRelevance from 0.8 to 0.66 (#1006)
glahaye Jun 13, 2024
bf67014
Replace AzureFormRecognizer with AzureAIDocIntel in settings (#1007)
glahaye Jun 13, 2024
7ea9275
Fix FileUploader (#1008)
glahaye Jun 14, 2024
2b7ddef
Fix Prettier lint warning (#1016)
glahaye Jun 17, 2024
6c4aa78
Bump docker/build-push-action from 5 to 6 (#1015)
dependabot[bot] Jun 17, 2024
a1b1b20
Bump @typescript-eslint/parser from 7.7.0 to 7.13.1 in /webapp (#1018)
dependabot[bot] Jun 17, 2024
d03b8ba
Bump ws from 7.5.9 to 7.5.10 in /webapp (#1017)
dependabot[bot] Jun 17, 2024
56ef39c
Bump @azure/msal-browser from 3.11.1 to 3.17.0 in /webapp (#1014)
dependabot[bot] Jun 17, 2024
e58d718
Bump microsoft-cognitiveservices-speech-sdk from 1.36.0 to 1.38.0 in …
dependabot[bot] Jun 17, 2024
8167fd6
Bump @fluentui/react-components from 9.54.1 to 9.54.2 in /webapp (#1010)
dependabot[bot] Jun 17, 2024
edbfe66
Bump react and @types/react in /webapp (#1013)
dependabot[bot] Jun 17, 2024
f5ae3db
Update scripts to use .Net 8 (#1020)
glahaye Jun 19, 2024
cd146d1
Bump SharpToken from 1.2.17 to 2.0.3 in /webapi (#982)
dependabot[bot] Jun 23, 2024
7ba9c06
Bump @azure/msal-react from 2.0.14 to 2.0.19 in /webapp (#1028)
dependabot[bot] Jun 24, 2024
78f7def
Bump prettier from 3.2.5 to 3.3.2 in /webapp (#1027)
dependabot[bot] Jun 24, 2024
eff4284
Bump @types/node from 20.12.8 to 20.14.8 in /webapp (#1026)
dependabot[bot] Jun 24, 2024
38c0edc
Bump debug from 4.3.4 to 4.3.5 in /webapp (#1025)
dependabot[bot] Jun 24, 2024
992d09c
Bump @typescript-eslint/eslint-plugin from 7.12.0 to 7.13.1 in /webap…
dependabot[bot] Jun 24, 2024
a5845aa
Bump Microsoft.Identity.Web from 2.19.1 to 2.20.0 in /webapi (#1032)
dependabot[bot] Jul 10, 2024
8af8204
Bump fast-loops from 1.1.3 to 1.1.4 in /webapp (#1044)
dependabot[bot] Jul 10, 2024
6dec49f
fix: remove chat memories not selecting the right document id values …
Dikarabo-Molele Jul 10, 2024
e64c95b
Bump @types/node from 20.14.8 to 20.14.9 in /webapp (#1034)
dependabot[bot] Jul 10, 2024
7503972
Bump @fluentui/react-icons from 2.0.242 to 2.0.247 in /webapp (#1033)
dependabot[bot] Jul 10, 2024
bb27e50
Change default model to gpt-4o (#1046)
glahaye Jul 10, 2024
a508b61
Bump @typescript-eslint/eslint-plugin from 7.13.1 to 7.14.1 in /webap…
dependabot[bot] Jul 10, 2024
111320e
Bump @typescript-eslint/eslint-plugin from 7.13.1 to 7.16.0 in /webap…
dependabot[bot] Jul 10, 2024
9eee037
Bump react-dom and @types/react-dom in /webapp (#1037)
dependabot[bot] Jul 11, 2024
4a70ff5
Bump @types/node from 20.14.8 to 20.14.10 in /webapp (#1040)
dependabot[bot] Jul 11, 2024
25118f8
Update to SK 1.15.1 (#1047)
glahaye Jul 11, 2024
ad32fe0
Minor change to make latest version of ESLint pass (#1048)
glahaye Jul 11, 2024
8e5800a
Bump @typescript-eslint/parser from 7.13.1 to 7.16.0 in /webapp (#1054)
dependabot[bot] Jul 16, 2024
b45847f
Bump @microsoft/signalr from 8.0.0 to 8.0.7 in /webapp (#1055)
dependabot[bot] Jul 16, 2024
1a99194
Bump @fluentui/react-icons from 2.0.247 to 2.0.249 in /webapp (#1058)
dependabot[bot] Jul 16, 2024
aa62e34
Bump @playwright/test from 1.43.1 to 1.45.2 in /webapp (#1061)
dependabot[bot] Jul 16, 2024
ac8be18
Bump @fluentui/react-components from 9.54.2 to 9.54.5 in /webapp (#1062)
dependabot[bot] Jul 16, 2024
9ea8ff0
Bump @azure/msal-browser from 3.17.0 to 3.19.1 in /webapp (#1067)
dependabot[bot] Jul 22, 2024
03b274d
Bump @typescript-eslint/parser from 7.16.0 to 7.16.1 in /webapp (#1069)
dependabot[bot] Jul 22, 2024
96bc595
Bump @reduxjs/toolkit from 2.2.5 to 2.2.6 in /webapp (#1066)
dependabot[bot] Jul 22, 2024
bd828a0
Bump @typescript-eslint/eslint-plugin from 7.16.0 to 7.17.0 in /webap…
dependabot[bot] Jul 22, 2024
3a96b3c
Bump gittools/actions from 1 to 2 (#1064)
dependabot[bot] Jul 22, 2024
5a9b2a4
Fix race condition in the creation of scoped kernels (#1076)
glahaye Jul 24, 2024
15e879d
Align AzureBlobs:Container to chatmemory in memorypipeline's settings…
glahaye Jul 24, 2024
b7e3469
Align websearcher to .Net 8 (#1078)
glahaye Jul 24, 2024
f30086c
Update README.md
glahaye Jul 24, 2024
0b9ea7c
Update model references from gpt-35-turbo to gpt-4o (#1080)
glahaye Jul 25, 2024
eca5fe4
Bump @typescript-eslint/parser from 7.16.1 to 7.17.0 in /webapp (#1091)
dependabot[bot] Jul 29, 2024
36fa635
Bump @types/node from 20.14.10 to 22.0.0 in /webapp (#1089)
dependabot[bot] Jul 29, 2024
fb8d2ca
Bump Microsoft.Azure.Cosmos from 3.41.0 to 3.42.0 in /webapi (#1087)
dependabot[bot] Jul 29, 2024
04165d5
Bump prettier from 3.3.2 to 3.3.3 in /webapp (#1070)
dependabot[bot] Jul 29, 2024
7988f78
Removing deployment pipelines. (#1092)
alliscode Jul 30, 2024
6c0bfb7
Bump typescript from 5.5.3 to 5.5.4 in /webapp (#1088)
dependabot[bot] Aug 2, 2024
7c57ca0
Bump @fluentui/react-components from 9.54.5 to 9.54.6 in /webapp (#1090)
dependabot[bot] Aug 2, 2024
8dff507
Bump Swashbuckle.AspNetCore from 6.6.2 to 6.7.0 in /webapi (#1097)
dependabot[bot] Aug 6, 2024
f97142f
Bump debug from 4.3.5 to 4.3.6 in /webapp (#1101)
dependabot[bot] Aug 6, 2024
c419b69
Bump @typescript-eslint/eslint-plugin from 7.17.0 to 7.18.0 in /webap…
dependabot[bot] Aug 6, 2024
3b52bdd
Bump @typescript-eslint/parser from 7.17.0 to 7.18.0 in /webapp (#1102)
dependabot[bot] Aug 6, 2024
b5fe283
Bump @azure/msal-react from 2.0.19 to 2.0.21 in /webapp (#1103)
dependabot[bot] Aug 6, 2024
8b02569
Bump @fluentui/react-icons from 2.0.249 to 2.0.252 in /webapp (#1104)
dependabot[bot] Aug 6, 2024
1bf13d1
Bump @azure/msal-browser from 3.19.1 to 3.20.0 in /webapp (#1108)
dependabot[bot] Aug 12, 2024
c2182f9
Update SUPPORT.md (#1113)
glahaye Aug 12, 2024
be517c3
Bump @fluentui/react-components from 9.54.6 to 9.54.10 in /webapp (#1…
dependabot[bot] Aug 12, 2024
4e89f79
Bump @reduxjs/toolkit from 2.2.6 to 2.2.7 in /webapp (#1110)
dependabot[bot] Aug 12, 2024
3e24945
Bump @fluentui/react-icons from 2.0.252 to 2.0.253 in /webapp (#1111)
dependabot[bot] Aug 12, 2024
3947253
Bump @types/node from 22.0.0 to 22.2.0 in /webapp (#1112)
dependabot[bot] Aug 12, 2024
f7fabba
Bump Azure.Extensions.AspNetCore.Configuration.Secrets from 1.3.1 to …
dependabot[bot] Aug 20, 2024
7518627
Bump Swashbuckle.AspNetCore from 6.7.0 to 6.7.1 in /webapi (#1116)
dependabot[bot] Aug 20, 2024
4b24a2c
Bump Microsoft.VisualStudio.Threading.Analyzers from 17.10.48 to 17.1…
dependabot[bot] Aug 20, 2024
1942e02
Bump @types/node from 22.2.0 to 22.4.1 in /webapp (#1118)
dependabot[bot] Aug 20, 2024
32ef47c
Update App.tsx (#1123)
imsharukh1994 Sep 5, 2024
8693b31
Bump Swashbuckle.AspNetCore from 6.7.1 to 6.7.3 in /webapi (#1124)
dependabot[bot] Sep 5, 2024
ef1737a
Bump @fluentui/react-components from 9.54.10 to 9.54.13 in /webapp (#…
dependabot[bot] Sep 5, 2024
50a4bc3
Bump @playwright/test from 1.45.2 to 1.46.1 in /webapp (#1120)
dependabot[bot] Sep 5, 2024
4b37b82
Fix lint issue (#1135)
glahaye Sep 5, 2024
7765741
Bump @types/node from 22.4.1 to 22.5.2 in /webapp (#1132)
dependabot[bot] Sep 5, 2024
c64594a
Bump webpack from 5.91.0 to 5.94.0 in /webapp (#1129)
dependabot[bot] Sep 5, 2024
05a7800
Bump microsoft-cognitiveservices-speech-sdk from 1.38.0 to 1.40.0 in …
dependabot[bot] Sep 5, 2024
10fb766
Bump micromatch from 4.0.5 to 4.0.8 in /webapp (#1130)
dependabot[bot] Sep 5, 2024
e7f9ac2
Bump Microsoft.Azure.Cosmos from 3.42.0 to 3.43.0 in /webapi (#1144)
dependabot[bot] Sep 17, 2024
a350551
Bump debug from 4.3.6 to 4.3.7 in /webapp (#1136)
dependabot[bot] Sep 17, 2024
df552fd
Bump @fluentui/react-icons from 2.0.253 to 2.0.258 in /webapp (#1138)
dependabot[bot] Sep 17, 2024
71dcb4c
Bump Microsoft.Azure.Cosmos from 3.43.0 to 3.43.1 in /webapi (#1151)
dependabot[bot] Sep 26, 2024
29f44d9
Bump Swashbuckle.AspNetCore from 6.7.3 to 6.8.0 in /webapi (#1154)
dependabot[bot] Sep 26, 2024
0c1bb7d
Bump Roslynator.Formatting.Analyzers from 4.12.4 to 4.12.5 in /webapi…
dependabot[bot] Sep 26, 2024
23a73f9
Bump Roslynator.Analyzers from 4.12.4 to 4.12.7 in /webapi (#1170)
dependabot[bot] Oct 12, 2024
2034892
Bump Roslynator.CodeAnalysis.Analyzers from 4.12.4 to 4.12.8 in /weba…
dependabot[bot] Oct 14, 2024
de3fe8e
Bump @types/node from 22.5.2 to 22.7.5 in /webapp (#1178)
dependabot[bot] Oct 14, 2024
b3ad7d8
Bump @azure/msal-react from 2.0.21 to 2.0.22 in /webapp (#1137)
dependabot[bot] Oct 14, 2024
26003fd
Bump express from 4.19.2 to 4.21.0 in /webapp (#1146)
dependabot[bot] Oct 14, 2024
554ecfb
Bump rollup from 2.79.1 to 2.79.2 in /webapp (#1158)
dependabot[bot] Oct 14, 2024
bc9de2c
Bump @types/react from 18.3.3 to 18.3.11 in /webapp (#1167)
dependabot[bot] Oct 14, 2024
ad6bcf6
Bump @azure/msal-browser from 3.20.0 to 3.26.1 in /webapp (#1179)
dependabot[bot] Oct 15, 2024
5ce1686
Update NuGet packages (#1180)
glahaye Oct 15, 2024
ee8df9c
Fix memory extraction json format issue (#1193)
TaoChenOSU Oct 24, 2024
7b27658
Fix: Load multiple chats during first startup (#1198)
TaoChenOSU Oct 31, 2024
f2f4a32
Fix: App component UseEffect infinite loop (#1199)
TaoChenOSU Oct 31, 2024
326646c
Fix typos, docs, and code style (#1203)
dluc Nov 9, 2024
046c539
Upgrade frontend and backend dependencies (#1207)
dluc Nov 10, 2024
23b2782
Misc upgrades (#1213)
dluc Nov 13, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Unblock Global Document Import (microsoft#588)
### Motivation and Context

<!-- Thank you for your contribution to the chat-copilot repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

This PR adds support to upload a document to global CC scope from the
client:

![image](https://github.com/microsoft/chat-copilot/assets/125500434/ee8e22c4-29ca-4bd4-ba67-fcbabf63384f)


### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

Mollie's changes in the Document Import Controller 
- Updated the return of this.OK() on global document import to return a
ChatMessage object instead of a string.
- Refactored internal functions to private to clarify what parameters
were being changed but what functions. (Previously all internal in
scope.)

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [Contribution
Guidelines](https://github.com/microsoft/chat-copilot/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/chat-copilot/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mollie Munoz <mollie.munoz@microsoft.com>
Co-authored-by: Mollie Munoz <momuno@microsoft.com>
Co-authored-by: Gil LaHaye <gillahaye@microsoft.com>
  • Loading branch information
5 people authored Nov 29, 2023
commit 8f5210ef7bb1e293faf14a9807d62b98a9d2ea86
157 changes: 86 additions & 71 deletions webapi/Controllers/DocumentController.cs
Original file line number Diff line number Diff line change
@@ -112,7 +112,12 @@ public Task<IActionResult> DocumentImportAsync(
[FromRoute] Guid chatId,
[FromForm] DocumentImportForm documentImportForm)
{
return this.DocumentImportAsync(memoryClient, messageRelayHubContext, DocumentScopes.Chat, chatId, documentImportForm);
return this.DocumentImportAsync(
memoryClient,
messageRelayHubContext,
DocumentScopes.Chat,
chatId,
documentImportForm);
}

private async Task<IActionResult> DocumentImportAsync(
@@ -136,20 +141,28 @@ private async Task<IActionResult> DocumentImportAsync(
// Pre-create chat-message
DocumentMessageContent documentMessageContent = new();

var importResults = await ImportDocumentsAsync();
var importResults = await this.ImportDocumentsAsync(memoryClient, chatId, documentImportForm, documentMessageContent);

var chatMessage = await this.TryCreateDocumentUploadMessage(chatId, documentMessageContent);

if (chatMessage == null)
{
this._logger.LogWarning("Failed to create document upload message - {Content}", documentMessageContent.ToString());
return this.BadRequest();
}

// Broadcast the document uploaded event to other users.
if (documentScope == DocumentScopes.Chat)
{
var chatMessage = await this.TryCreateDocumentUploadMessage(chatId, documentMessageContent);

// If chat message isn't created, it is still broadcast and visible in the documents tab.
// The chat message won't, however, be displayed when the chat is freshly rendered.

var userId = this._authInfo.UserId;
await messageRelayHubContext.Clients.Group(chatId.ToString())
.SendAsync(ReceiveMessageClientCall, chatId, userId, chatMessage);

this._logger.LogInformation("Local upload chat message: {0}", chatMessage.ToString());

return this.Ok(chatMessage);
}

@@ -159,81 +172,83 @@ await messageRelayHubContext.Clients.All.SendAsync(
this._authInfo.Name
);

return this.Ok("Documents imported successfully to global scope.");
this._logger.LogInformation("Global upload chat message: {0}", chatMessage.ToString());

async Task<IList<ImportResult>> ImportDocumentsAsync()
{
IEnumerable<ImportResult> importResults = new List<ImportResult>();
return this.Ok(chatMessage);
}

await Task.WhenAll(
documentImportForm.FormFiles.Select(
async formFile =>
await ImportDocumentAsync(formFile).ContinueWith(
task =>
private async Task<IList<ImportResult>> ImportDocumentsAsync(IKernelMemory memoryClient, Guid chatId, DocumentImportForm documentImportForm, DocumentMessageContent messageContent)
{
IEnumerable<ImportResult> importResults = new List<ImportResult>();

await Task.WhenAll(
documentImportForm.FormFiles.Select(
async formFile =>
await this.ImportDocumentAsync(formFile, memoryClient, chatId).ContinueWith(
task =>
{
var importResult = task.Result;
if (importResult != null)
{
var importResult = task.Result;
if (importResult != null)
{
documentMessageContent.AddDocument(
formFile.FileName,
this.GetReadableByteString(formFile.Length),
importResult.IsSuccessful);

importResults = importResults.Append(importResult);
}
},
TaskScheduler.Default)));

return importResults.ToArray();
messageContent.AddDocument(
formFile.FileName,
this.GetReadableByteString(formFile.Length),
importResult.IsSuccessful);

importResults = importResults.Append(importResult);
}
},
TaskScheduler.Default)));

return importResults.ToArray();
}

private async Task<ImportResult> ImportDocumentAsync(IFormFile formFile, IKernelMemory memoryClient, Guid chatId)
{
this._logger.LogInformation("Importing document {0}", formFile.FileName);

// Create memory source
MemorySource memorySource = new(
chatId.ToString(),
formFile.FileName,
this._authInfo.UserId,
MemorySourceType.File,
formFile.Length,
hyperlink: null
);

if (!(await this.TryUpsertMemorySourceAsync(memorySource)))
{
this._logger.LogDebug("Failed to upsert memory source for file {0}.", formFile.FileName);

return ImportResult.Fail;
}

async Task<ImportResult> ImportDocumentAsync(IFormFile formFile)
if (!(await TryStoreMemoryAsync()))
{
this._logger.LogInformation("Importing document {0}", formFile.FileName);

// Create memory source
MemorySource memorySource = new(
chatId.ToString(),
formFile.FileName,
this._authInfo.UserId,
MemorySourceType.File,
formFile.Length,
hyperlink: null
);

if (!(await this.TryUpsertMemorySourceAsync(memorySource)))
{
this._logger.LogDebug("Failed to upsert memory source for file {0}.", formFile.FileName);
await this.TryRemoveMemoryAsync(memorySource);
}

return ImportResult.Fail;
}
return new ImportResult(memorySource.Id);

if (!(await TryStoreMemoryAsync()))
async Task<bool> TryStoreMemoryAsync()
{
try
{
await this.TryRemoveMemoryAsync(memorySource);
using var stream = formFile.OpenReadStream();
await memoryClient.StoreDocumentAsync(
this._promptOptions.MemoryIndexName,
memorySource.Id,
chatId.ToString(),
this._promptOptions.DocumentMemoryName,
formFile.FileName,
stream);

return true;
}

return new ImportResult(memorySource.Id);

async Task<bool> TryStoreMemoryAsync()
catch (Exception ex) when (ex is not SystemException)
{
try
{
using var stream = formFile.OpenReadStream();
await memoryClient.StoreDocumentAsync(
this._promptOptions.MemoryIndexName,
memorySource.Id,
chatId.ToString(),
this._promptOptions.DocumentMemoryName,
formFile.FileName,
stream);

return true;
}
catch (Exception ex) when (ex is not SystemException)
{
return false;
}
return false;
}
}
}
@@ -438,17 +453,17 @@ private async Task<bool> TryStoreMemoryAsync(MemorySource memorySource)
/// Try to create a chat message that represents document upload.
/// </summary>
/// <param name="chatId">The target chat-id</param>
/// <param name="documentMessageContent">The document message content</param>
/// <param name="messageContent">The document message content</param>
/// <returns>A ChatMessage object if successful, null otherwise</returns>
private async Task<CopilotChatMessage?> TryCreateDocumentUploadMessage(
Guid chatId,
DocumentMessageContent documentMessageContent)
DocumentMessageContent messageContent)
{
var chatMessage = CopilotChatMessage.CreateDocumentMessage(
this._authInfo.UserId,
this._authInfo.Name, // User name
chatId.ToString(),
documentMessageContent);
messageContent);

try
{
2 changes: 1 addition & 1 deletion webapp/src/components/chat/ChatInput.tsx
Original file line number Diff line number Diff line change
@@ -156,7 +156,7 @@ export const ChatInput: React.FC<ChatInputProps> = ({ isDraggingOver, onDragLeav

const handleDrop = (e: React.DragEvent<HTMLTextAreaElement>) => {
onDragLeave(e);
void fileHandler.handleImport(selectedId, documentFileRef, undefined, e.dataTransfer.files);
void fileHandler.handleImport(selectedId, documentFileRef, false, undefined, e.dataTransfer.files);
};

return (
80 changes: 64 additions & 16 deletions webapp/src/components/chat/tabs/DocumentsTab.tsx
Original file line number Diff line number Diff line change
@@ -3,6 +3,11 @@
import {
Button,
Label,
Menu,
MenuItem,
MenuList,
MenuPopover,
MenuTrigger,
ProgressBar,
Radio,
RadioGroup,
@@ -30,14 +35,16 @@ import {
DocumentPdfRegular,
DocumentTextRegular,
FluentIconsProps,
GlobeAdd20Regular,
} from '@fluentui/react-icons';
import * as React from 'react';
import { useRef } from 'react';
import { Constants } from '../../../Constants';
import { useChat, useFile } from '../../../libs/hooks';
import { ChatMemorySource } from '../../../libs/models/ChatMemorySource';
import { Constants } from '../../../Constants';
import { useAppSelector } from '../../../redux/app/hooks';
import { RootState } from '../../../redux/app/store';
import { Add20 } from '../../shared/BundledIcons';
import { timestampToDateString } from '../../utils/TextUtils';
import { TabView } from './TabView';

@@ -92,7 +99,8 @@ export const DocumentsTab: React.FC = () => {
const { importingDocuments } = conversations[selectedId];

const [resources, setResources] = React.useState<ChatMemorySource[]>([]);
const documentFileRef = useRef<HTMLInputElement | null>(null);
const localDocumentFileRef = useRef<HTMLInputElement | null>(null);
const globalDocumentFileRef = useRef<HTMLInputElement | null>(null);

React.useEffect(() => {
if (!conversations[selectedId].disabled) {
@@ -130,26 +138,66 @@ export const DocumentsTab: React.FC = () => {
{/* Hidden input for file upload. Only accept .txt and .pdf files for now. */}
<input
type="file"
ref={documentFileRef}
ref={localDocumentFileRef}
style={{ display: 'none' }}
accept={Constants.app.importTypes}
multiple={true}
onChange={() => {
void fileHandler.handleImport(selectedId, documentFileRef);
void fileHandler.handleImport(selectedId, localDocumentFileRef, false);
}}
/>
<Tooltip content="Embed file into chat session" relationship="label">
<Button
className={classes.uploadButton}
icon={<DocumentArrowUp20Regular />}
disabled={
conversations[selectedId].disabled || (importingDocuments && importingDocuments.length > 0)
}
onClick={() => documentFileRef.current?.click()}
>
Upload
</Button>
</Tooltip>
<input
type="file"
ref={globalDocumentFileRef}
style={{ display: 'none' }}
accept={Constants.app.importTypes}
multiple={true}
onChange={() => {
void fileHandler.handleImport(selectedId, globalDocumentFileRef, true);
}}
/>
<Menu>
<MenuTrigger disableButtonEnhancement>
<Tooltip content="Embed file into chat session" relationship="label">
<Button
className={classes.uploadButton}
icon={<DocumentArrowUp20Regular />}
disabled={
conversations[selectedId].disabled ||
(importingDocuments && importingDocuments.length > 0)
}
>
Upload
</Button>
</Tooltip>
</MenuTrigger>
<MenuPopover>
<MenuList>
<MenuItem
data-testid="addNewLocalDoc"
onClick={() => localDocumentFileRef.current?.click()}
icon={<Add20 />}
disabled={
conversations[selectedId].disabled ||
(importingDocuments && importingDocuments.length > 0)
}
>
New local chat document
</MenuItem>
<MenuItem
data-testid="addNewLocalDoc"
onClick={() => globalDocumentFileRef.current?.click()}
icon={<GlobeAdd20Regular />}
disabled={
conversations[selectedId].disabled ||
(importingDocuments && importingDocuments.length > 0)
}
>
New global document
</MenuItem>
</MenuList>
</MenuPopover>
</Menu>
{importingDocuments && importingDocuments.length > 0 && <Spinner size="tiny" />}
{/* Hardcode vector database as we don't support switching vector store dynamically now. */}
<div className={classes.vectorDatabase}>
3 changes: 2 additions & 1 deletion webapp/src/libs/hooks/useChat.ts
Original file line number Diff line number Diff line change
@@ -294,13 +294,14 @@ export const useChat = () => {
return [];
};

const importDocument = async (chatId: string, files: File[]) => {
const importDocument = async (chatId: string, files: File[], uploadToGlobal: boolean) => {
try {
await documentImportService.importDocumentAsync(
chatId,
files,
features[FeatureKeys.AzureContentSafety].enabled,
await AuthHelper.getSKaaSAccessToken(instance, inProgress),
uploadToGlobal,
);
} catch (e: any) {
let errorDetails = getErrorDetails(e);
3 changes: 2 additions & 1 deletion webapp/src/libs/hooks/useFile.ts
Original file line number Diff line number Diff line change
@@ -51,6 +51,7 @@ export const useFile = () => {
const handleImport = async (
chatId: string,
documentFileRef: React.MutableRefObject<HTMLInputElement | null>,
uploadToGlobal = false,
file?: File,
dragAndDropFiles?: FileList,
) => {
@@ -67,7 +68,7 @@ export const useFile = () => {
);

if (filesArray.length > 0) {
await chat.importDocument(chatId, filesArray);
await chat.importDocument(chatId, filesArray, uploadToGlobal);
}

dispatch(
Loading