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

TeamsFxBotCommandHandler excludes uploaded files from context.activity.attachments when the filename contains "+" and upload from device option is selected #11466

Open
ChetanSharma-msft opened this issue Aug 14, 2024 · 1 comment
Assignees
Labels
bug teams-developer-support Question related to extensibility (Bot, ME, Tab) would be marked under this label

Comments

@ChetanSharma-msft
Copy link
Collaborator

Steps to reproduce

Copied bug from: OfficeDev/teams-toolkit#9366

Details from original post:
Describe the bug

If a file contains the "+" character in its name it will not have an entry in context.activity.attachments.

I have validated this behaviour with the following file types:

.txt
.pdf
.js
I have also confirmed that:

A single "+" with or without surrounding spaces will cause the bug.
The onMessage handler of TeamsActivityHandler is also affected by the same bug.
Submitting the same file through the "Attach Cloud Files" option works - using OneDrive.
The "+" looks to be encoded as "%2B" in the contentUrl.
To Reproduce
Steps to reproduce the behavior:

Use the Command and Response sample.
Inside manifest.json, set bots.supportsFiles to true.
Inside HelloWorldCommandHandler > handleCommandReceived, add the following line:
console.log(context.activity.attachments)
It may also help to place a breakpoint on this line.
Create a text file called "test1.txt", add some contents (they are irrelevant).
Copy the previous text file and put a "+" somewhere in the name e.g. "test+1.txt" or "test + 1.txt".
Run the sample.
Upload the first text file (without the "+" in the name). select the from this device option, and enter a test message in the chat window (the message is irrelevant), send the message.
Note that attachments contains two elements (the message and the attached file).
Upload the second text file (with the "+" in the name), select the from this device option, and enter a test message in the chat window (the message is irrelevant), send the message.
Note that the attachments array only contains a single element (the message).
Expected behavior
The uploaded file to be present in turn.activity.attachments regardless of which option is used to attach it to the message.

Screenshots
Upload from device options (default):
image

Upload from device behaviour:
image

Attach cloud file options (default):
image

Attach Cloud files behaviour:
image

VS Code Extension Information (please complete the following information):

OS: Windows 11 Enterprise
Version VS Code: v1.80, Teams Toolkit v5.0.1, Node: v18.17.0,
CLI Information (please complete the following information):

OS: Windows 11 Enterprise
Version @microsoft/teamsfx v2.2.0
Additional context
package.json

{
"name": "TeamsToolkitTutorialCommandBot",
"version": "1.0.0",
"description": "Microsoft Teams Toolkit Command and Response Bot Sample",
"engines": {
"node": "16 || 18"
},
"author": "Microsoft",
"license": "MIT",
"main": "./lib/index.js",
"scripts": {
"dev:teamsfx": "env-cmd --silent -f .localConfigs npm run dev",
"dev": "nodemon --watch ./src --exec node --inspect=9239 --signal SIGINT -r ts-node/register ./src/index.ts",
"build": "tsc --build && shx cp -r ./src/adaptiveCards ./lib/src",
"start": "node ./lib/src/index.js",
"watch": "nodemon --watch ./src --exec "npm run start"",
"test": "echo "Error: no test specified" && exit 1"
},
"repository": {
"type": "git",
"url": "https://github.com"
},
"dependencies": {
"@azure/identity": "^3.2.3",
"@microsoft/teamsfx": "^2.2.0",
"@types/axios": "^0.14.0",
"axios": "^1.4.0",
"botbuilder": "^4.18.0",
"openai": "^3.3.0",
"pdfjs-dist": "^3.8.162",
"restify": "^10.0.0"
},
"devDependencies": {
"@types/node": "^14.18.54",
"@types/restify": "^8.5.5",
"env-cmd": "^10.1.0",
"nodemon": "^2.0.7",
"shx": "^0.3.4",
"ts-node": "^10.4.0",
"typescript": "^4.9.5"
}
}
/

Expected behavior

NA

Actual behavior

NA

Error details

No response

@ChetanSharma-msft ChetanSharma-msft added the teams-developer-support Question related to extensibility (Bot, ME, Tab) would be marked under this label label Aug 14, 2024
@Nivedipa-MSFT
Copy link

Nivedipa-MSFT commented Aug 14, 2024

@BeigeBadger - Thanks for reporting your issue. We are able to repro your issue. We have raised a bug for the same. We will update you once we get any update on it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug teams-developer-support Question related to extensibility (Bot, ME, Tab) would be marked under this label
Projects
None yet
Development

No branches or pull requests

3 participants