primordic/IssueDupesLite huggingface dataset:
Repository: microsoft/botframework-sdk

Issue #3576: [Skype] EndConversation fails with "Unknown activity type" exception
Created: 2017-10-05T14:20:21Z
Bot Info 

Bot handle:
App ID:
SDK Platform: .NET
SDK Version: 3.9.1
Active Channels: Skype, Facebook
Deployment Environment: Azure App Service

Issue Description
After a use case has been completed, we call context.EndConversation("end of conversation") to reset stack and conversation data.

In Facebook, it resets the stack and clears the data, and no exception occures => OK
In Skype, it resets the stack and clears the data, but an exception is thrown


"Unknown activity type"

Resulting in a "Sorry my bot code having an issue..." (btw, regardless I specified a custom message).
Code Example

Reproduction Steps

Create a simple bot and call context.EndConversation("end of conversation");
Deploy to skype and test

Expected Behavior
In skype, it should not throw an exception.
Actual Results
It throws an exception > "Unknown activity type"
Workaround
Placing that line in a try-catch block does not help because the event triggers a scorable. A workaround for me could be, duplicating this code and try-catch here, but I hope for a better suggestion or fix 😉

Duplicate issue #4718: [Node.js SDK] Session.endConversation() causes [400] Bad Request and no username
Created: 2018-06-08T10:00:46Z
Bot Info

SDK Platform: Node.js
SDK Version: 3.15.0
Active Channels: Skype
Deployment Environment: Local via ngrok

Issue Description
An endConversation causes a '400' POST and after this the session.message.user.name is undefined.
Error: POST to 'https://smba.trafficmanager.net/apis/v3/conversations/29%3A12fMgeiJDkMJmp5SXwnHt7tJf7sl3sst22-FBErf-7mY/activities' failed: [400] Bad Request
Code Example
// in a middleware function
return {
	botbuilder: (session, next) => {

		if (session.message.text) {
			const match = /test/i.exec(session.message.text);
			if (!match) {
				return next();
			}
			return session.endConversation(message);
		}
		return next();
	}
};
Reproduction Steps

Connect to bot using Skype via ngrok.
type 'test'. Notice a breakpoint in the middeware function will have a populated session.message.user.name.
The bot will emit an error, see below.
The next time a message is recieved in the middleware session.message.user.name is undefined.

Expected Behavior
No error and the user address
Actual Results
Error: POST to 'https://smba.trafficmanager.net/apis/v3/conversations/29%3A12fMgeiJDkMJmp5SXwnHt7tJf7sl3sst22-FBErf-7mY/activities' failed: [400] Bad Request

Here is the options var for ChatConnector.prototype.postMessage right before the error:
{
	"method": "POST",
	"url": "https://smba.trafficmanager.net/apis/v3/conversations/29%3A12fMgeiJDkMJmp5SXwnHt7tJf7sl3sst22-FBErf-7mY/activities",
	"body": {
		"type": "endOfConversation",
		"code": "completedSuccessfully",
		"localTimestamp": "2018-06-08T09:46:49.900Z",
		"from": {
			"id": "28:1c62f3fd-9eed-45e4-b9dd-c6c32cd0600e",
			"name": "<Some Name>"
		},
		"recipient": {
			"id": "29:12fMgeiJDkMJmp5SXwnHt7tJf7sl3sst22-FBErf-7mY"
		}
	},
	"json": true
}

Closing comment (2018-09-21T00:48:51Z): wonder if this is related to
#3576
Repository: microsoft/botframework-sdk

Issue #5148: METRICS: P1 : Build PowerBI Template
Created: 2018-11-12T23:34:32Z
Title: METRICS: P1 : Build PowerBI Template
Build the PowerBI template that demonstrates the VA metrics.

Duplicate issue #5171: METRICS: P1 : Build PowerBI Template for Virtual Assistant
Created: 2018-11-13T14:56:03Z
Plan

Ryan going to create PowerBI for Virtual Assistant.
Convert based on Virtual Assistant spec and what's directly usable from other customer engagements.

Closing comment (2018-11-30T21:19:13Z): Duplicate of #5148
Repository: microsoft/botframework-sdk

Issue #5636: Create telemetry dashboard
Created: 2019-10-07T21:26:31Z
Feature: Create a reusable telemetry dashboard
Context:
We have a collection of queries (inspired from Dave's repo) that can compromise a re-usable Azure dashboard to ship with the SDK's samples for instance or be made available in the docs as well as in VA.
The foundation of queries can be found here:

Queries
Sample Dashboard

Work required:

Cleanup and generalize dashboard so that it can be re-used easily by any customer (dev resource)
Develop accompanying documentation including (pm/docs)


Install/deploy information
Interpretation analysis

Duplicate issue #5233: ARM-based template for deploying App Insights Devops Dashboard
Created: 2018-12-21T23:33:19Z
Include the following: unique sessions and users, average availability, failed requests, server exceptions and dependency failures, server response time.

Closing comment (2020-03-24T11:18:24Z): Closing this as the work is being tracked in #5636
Repository: microsoft/ebpf-for-windows

Issue #77: ebpfclient: abstraction layer to the execution context
Created: 2021-04-25T00:23:53Z
@saxena-anurag

Duplicate issue #78: ebpfclient: IOCTL surface + abstraction layer
Created: 2021-04-25T00:24:38Z

Closing comment (2021-06-07T17:29:39Z): Part of this is complete and part is a duplicate of #77
Repository: microsoft/ebpf-for-windows

Issue #1440: Support multiple eBPF programs in the same section
Created: 2022-10-03T05:16:02Z
Describe the feature you'd like supported
Quentin pointed out that libbpf v1.0 switched to fixed section names for program types instead of longest prefix match (Andrii's blog again)).
Proposed solution
Match libbpf
Additional context
No response

Duplicate issue #3542: Support multiple eBPF programs in the same section
Created: 2024-05-14T21:26:34Z
Describe the feature you'd like supported
Quentin Monnet pointed out two years ago that libbpf v1.0 now allows multiple programs in the same section (Andrii's blog again)).
Also, the prog_array.c sample in the ebpf-samples repository does this.  (Other existing samples might too.)
Proposed solution
Using a section name is not sufficient.  Instead use the C function name.
Support is blocked on vbpf/prevail#638 being merged first.
Additional context
bpf2c support is covered by issue #1460
This issue covers ebpfapi.dll and ebpfsvc.exe support.

Closing comment (2024-05-15T12:52:27Z): Duplicate of #1440
Repository: microsoft/ebpf-for-windows

Issue #1231: Use HKEY_CURRENT_USER instead of HKEY_LOCAL_MACHINE for eBPF store.
Created: 2022-06-19T19:17:06Z
Describe the feature you'd like supported
eBPF store currently uses both HKEY_CURRENT_USER and HKEY_LOCAL_MACHINE. This registry hive can be accessed by non-admin users.
Change eBPF store to use HKEY_CURRENT_USER instead which requires admin privileges for edit.
Proposed solution
Use HKEY_CURRENT_USER instead of HKEY_LOCAL_MACHINE
Additional context
No response
### Tasks

Duplicate issue #3093: Include PDBs with ebpf_store_helper static libs
Created: 2023-11-30T19:52:01Z
Describe the feature you'd like supported
Extensions attempting to link to ebpf_store_helper_km.lib  generate linker warnings due to lack of PDBs. Including PDBs in the nuget package would eliminate the warnings and improve developer productivity.
Proposed solution
Include PDBs with eBPF store static libs in nuget packages.
Additional context
No response

Closing comment (2023-12-04T17:09:55Z): Duplicate of #1231
Repository: microsoft/ebpf-for-windows

Issue #1993: Remove workarounds for verifier loop limitation once fixed
Created: 2023-02-01T18:58:08Z
Describe the bug
vbpf/prevail#441 prevents verifying programs with loops.
PR #1991 puts a workaround in place in 3 sample programs.
This issue is to track removing the workaround once the verifier limitation is addressed.
Sample programs affected:
bindmonitor.c
bindmonitor_tailcall.c
map.c
OS information
No response
Steps taken to reproduce bug
Try to verify sample programs with loops.
Expected behavior
Samples pass verification without the workaround in place.
Actual outcome
Samples fail verification without the workaround in place.
Additional details
No response

Duplicate issue #3360: eBPF verification failed with incorrect stack upper bound check
Created: 2024-03-16T08:18:24Z
Describe the bug
code example
typedef struct 
{
    uint16_t cipher_suits[50];
    uint8_t cipher_suit_count;
} client_hello_info;

SEC("xdp_test")
int tls_client_hello_tracker(xdp_md_t* ctx)
{
    client_hello_info info;
    for (int i = 0;i < 50; i++)
        info.cipher_suits[i] = 0;

    bpf_ringbuf_output(&client_hello_info_pipe, &info, sizeof(info), 0);
    bpf_printk("Add one message");

    return XDP_PASS;
}

ebpf verification result
; C:\Users\User\Source\ebpfSamples/xdp1.c:142
;         info.cipher_suits[i] = 0;
9: Lower bound must be at least 0 (valid_access(r3.offset, width=2) for write)
; C:\Users\User\Source\ebpfSamples/xdp1.c:142
;         info.cipher_suits[i] = 0;
9: Upper bound must be at most EBPF_STACK_SIZE (valid_access(r3.offset, width=2) for write)
; C:\Users\User\Source\ebpfSamples/xdp1.c:144
;     bpf_ringbuf_output(&client_hello_info_pipe, &info, sizeof(info), 0);
19: Stack content is not numeric (valid_access(r2.offset, width=r3) for read)

In the code, the size of the array is given. Why the verification still think the array access is not valid?
OS information
Windows11
Steps taken to reproduce bug

use clang to build code example.
netsh ebpf show verification xxx.o

Expected behavior
Verification succeed.
Actual outcome
Verification failed.
Additional details
No response

Closing comment (2024-03-18T15:43:22Z): Tracked by #1993
Repository: microsoft/ebpf-for-windows

Issue #1502: CICD tests should enable low resource simulation in Driver Verifier & App Verifier
Created: 2022-10-24T07:19:08Z
To ensure the code is resilient to low memory situation, CICD tests should be run under low resource simulation.

Duplicate issue #1503: Numerous crashes on low-memory
Created: 2022-10-24T15:41:58Z
Creating an issue to track failures under low resource simulation.

Closing comment (2022-10-24T15:49:42Z): related to #1502
Repository: microsoft/ebpf-for-windows

Issue #67: Dynamically query hook/helper prototypes at runtime
Created: 2021-04-23T01:26:24Z
Rather than compiling them into the jitter/verifier

Duplicate issue #205: Make IOCTL call to fetch program context for a program type
Created: 2021-05-19T18:52:05Z
Currently get_program_type_windows() queries a local list of program types to get the program context. This should change to make ioctl call to EC to get the program context.

Closing comment (2021-05-24T17:40:54Z): Please close if a duplicate of #67.
Repository: microsoft/ebpf-for-windows

Issue #1607: _single_instance_hook shoud check for detached hook before firing
Created: 2022-11-10T17:28:33Z
_single_instance_hook::fire fails to check if client_binding_context is null (i.e. the client detached) before invoking the client.

Duplicate issue #1610: Workflow failed - low_memory
Created: 2022-11-10T21:32:46Z
Failed Run
Codebase
Test name - low_memory

Closing comment (2022-11-10T22:34:55Z): Looks like a dupe of #1607
0:000> k10
 # Child-SP          RetAddr               Call Site
00 (Inline Function) --------`--------     unit_tests!_single_instance_hook::fire+0x20 [D:\a\ebpf-for-windows\ebpf-for-windows\tests\end_to_end\helpers.h @ 179] 
01 000000a7`e07cf080 00007ff7`eb732944     unit_tests!_ebpf_test_tail_call+0x184a [D:\a\ebpf-for-windows\ebpf-for-windows\tests\unit\libbpf_test.cpp @ 1117] 
02 000000a7`e07cf310 00007ff7`eb732d21     unit_tests!Catch::RunContext::runCurrentTest+0x254
03 000000a7`e07cf550 00007ff7`eb7c0f8a     unit_tests!Catch::RunContext::runTest+0x1d1
04 000000a7`e07cf790 00007ff7`eb7c0cd8     unit_tests!Catch::Session::runInternal+0x25a
05 000000a7`e07cfa60 00007ff7`eb7be241     unit_tests!Catch::Session::run+0x48
06 000000a7`e07cfa90 00007ff7`eb7bd358     unit_tests!main+0x61
07 (Inline Function) --------`--------     unit_tests!invoke_main+0x22 [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 78] 
08 000000a7`e07cfc50 00007ffd`49b07974     unit_tests!__scrt_common_main_seh+0x10c [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 288] 
09 000000a7`e07cfc90 00007ffd`4bf5a371     kernel32!BaseThreadInitThunk+0x14 [base\win32\client\thread.c @ 64] 
0a 000000a7`e07cfcc0 00000000`00000000     ntdll!RtlUserThreadStart+0x21 [minkernel\ntdll\rtlstrt.c @ 1163]
Repository: microsoft/ebpf-for-windows

Issue #709: Harden communication between execution context and verifier / user mode
Created: 2022-01-04T20:10:00Z
Communication between execution context and verifier/user mode is currently via handwritten serializer code. We should investigate using a more secure serializer like everparse which offers better guarantees about safety.

Duplicate issue #756: ELF files passed from low-trust processes to eBPF service should be validated using EverParse
Created: 2022-02-08T17:47:44Z
EverParse team created a .3d specification for the ELF format, which can be used to securely verify the eBPF ELF file being passed to the eBPF service.

Closing comment (2022-02-14T16:40:38Z): This is related to #709 which is about user-to-kernel calls, where this issue is about app-to-service calls.
Repository: microsoft/fast

Issue #192: Create tasks for each project for test coverage that doesn't include jest testing and coverageThreshold 
Created: 2018-03-31T16:48:30Z
Expected behavior

Each project should use jest (see colors for example)
Each project should use code coverage on jest
Each project should use coverage threshold
"coverageThreshold": {
"global": {
"branches": 50,
"functions": 50,
"lines": 50,
"statements": -10
}
}
If unit tests are required to meet the threshold write them
Test until pass.
Write tasks for each project where this is not yet setup, assign, and do work.

Duplicate issue #194: Update to improve code coverage
Created: 2018-03-31T17:01:50Z
Desired code coverage should not include any warnings or errors. Additionally, all thresholds should be at least 80 or higher.
"coverageThreshold": {
"global": {
"branches": 75,
"functions": 95,
"lines": 85,
"statements": 85
}
},

Closing comment (2018-06-04T20:48:23Z): Duplicate #192
Repository: microsoft/fast

Issue #3447: Azure Portal - Ibiza - Support
Created: 2020-07-07T21:26:12Z
FAST is looking awesome, please consider allowing FAST Azure UI custom blades

Duplicate issue #3449: Blade Component
Created: 2020-07-07T21:28:45Z
Please consider adding support for Blades (similar to Azure Portal)

Closing comment (2020-07-07T23:25:51Z): Thanks @grahamehorner - is this a dupe of #3447 ?
Repository: microsoft/fast

Issue #318: Fix "similar-code" issue in packages/fast-animation/lib/fade/index.ts
Created: 2018-04-25T18:09:33Z
Similar blocks of code found in 2 locations. Consider refactoring.
https://codeclimate.com/github/Microsoft/fast-dna/packages/fast-animation/lib/fade/index.ts#issue_5adfa87c3b5d4600010001b2

Duplicate issue #319: Fix "similar-code" issue in packages/fast-animation/lib/fade/index.ts
Created: 2018-04-25T18:09:38Z
Similar blocks of code found in 2 locations. Consider refactoring.
https://codeclimate.com/github/Microsoft/fast-dna/packages/fast-animation/lib/fade/index.ts#issue_5adfa87c3b5d4600010001b2

Closing comment (2018-04-25T18:10:05Z): closing as dupe of #318
Repository: microsoft/fast

Issue #564: Consolidate the Row and Pane resize capabilities into a utility or set of utilities
Created: 2018-06-20T21:57:55Z
Similar blocks of code found in 2 locations. Consider refactoring.
https://codeclimate.com/github/Microsoft/fast-dna/packages/fast-layouts-react/src/row/row.tsx#issue_5b2abb343795e200010002a8

Duplicate issue #565: Fix "similar-code" issue in packages/fast-layouts-react/src/pane/pane.tsx
Created: 2018-06-20T22:02:32Z
Similar blocks of code found in 2 locations. Consider refactoring.
https://codeclimate.com/github/Microsoft/fast-dna/packages/fast-layouts-react/src/pane/pane.tsx#issue_5b2abb343795e200010002a9

Closing comment (2018-06-20T22:03:12Z): Closed as duplicate. #564
Repository: microsoft/fast

Issue #2893: `disabled` attributes in fast-components have regressed
Created: 2020-04-07T17:17:43Z
Describe the bug; what happened?
It appears that disabled attributes across form controls which extend from  Form Associated element have regressed and the attribute is no longer being applied.
What are the steps to reproduce the issue?
Example:

Boot the fast-components package
Click on checkbox
Scroll down to disabled examples
See that disabled checkboxes are not disabled

What behavior did you expect?
When the disabled attribute is applied to the DOM or given a value of true, the disabled attribute should be applied.
<fast-checkbox disabled></fast-checkbox> // should be true

<fast-checkbox disabled="true"></fast-checkbox> // should be true
Is there any additional context?
All form associated elements seem to have this issue. Disabled is set in Form Associated as a boolean attr with a default value of false.
Removing the default value of false which is set in Form Associated fixes the issue, but I would expect the behavior of a default value to be the same as a value coming from the view.

Duplicate issue #2894: attribute `value` is getting overwritten by default value "" if no default value is provided
Created: 2020-04-07T17:49:13Z
If a value is provided for the attribute value on a FormsAssociated based component, that value is set and then overridden by whatever the default value was for the value attribute. If no value is provided it's set to "",  if a value is provided then that value is used.
use branch: users/marjon/add-slider-check

Go to fast-components directory
run npm start
open console in the browser after stories page loads
Click on the slider example

Expect that the value provided in slider/fixtures/base.html for the initial value is used.
Instead "" is used which translates to 0 for the slider. If you provide a default of some other value it will use that value instead of what was provided in the examples base.html.
The behavior is the same in Edge and FireFox

Closing comment (2020-04-07T17:50:18Z): I think this may be related to #2893. FYI @EisenbergEffect
Repository: microsoft/fast

Issue #1730: Allow clicking on any key/value input row to add a key/value input below it
Created: 2019-05-02T05:22:33Z
Similar to the behavior found in browser dev tools, instead of adding an empty key/value inputs at the bottom of the CSS property list, the empty key/value inputs should be added depending on the location clicked.

If an existing row is clicked the empty key/value input pair should appear underneath and correspondingly the key/value property after input should be inserted in that location in the CSS properties object.
If the row containing the opening "{" is clicked the empty key/value pair should be added at the first row.
If the row containing the closing "}" is clicked the empty key/value pair should be added to the last row.

Duplicate issue #1789: Update interactions for adding a new property to the CSS property editor
Created: 2019-05-23T17:29:35Z
Interaction on adding a new property
Different options
option a:

Clicking once to the right of the class name, will add an empty property to the top of the group.
Clicking twice to the right of the class name, will add the empty property to the bottom of the group

option b:

Clicking to the right of a style property will add an empty property below it.

option c:

Clicking at the bottom of the style group, will add an empty property to bottom of the group.

option d:

Tabbing through the styles, will add an empty property when it gets to the bottom of the style group

Closing comment (2019-06-11T19:39:06Z): Duplicate of #1730
Repository: microsoft/fast

Issue #3869: fast-text-area rows not working
Created: 2020-09-09T06:43:38Z
When I explore the fast-text-area component in the Component Explorer https://explore.fast.design/components/fast-text-area the component does not change when I change the rows attribute.

Additional context
It does react when I change the cols attribute.
From https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea

It's the same when trying to use the fast-text-area in an application of mine.

Duplicate issue #3874: fast-text-area row, height, minlength and maxlength not working
Created: 2020-09-10T07:44:31Z
I'm trying to wrap the fast-text-area into Bokeh extensions for use in Python and data science. Right now I'm working on the fast-text-area and there are some bugs (I believe).
I cannot get the following working

minlength
row
height

A code example
<html>
    <head>
        <script type="module" src="https://unpkg.com/@microsoft/fast-components"></script>
    </head>
<body style="margin:0px">
    <fast-design-system-provider use-defaults style="height:100%;">
        <fast-text-area
            rows="6"
            minlength="2"
            class="outline"
            resize="none"
            appearance="outline"
            style="height:400px">
                My Text
        </fast-text-area>
    </fast-design-system-provider>
</body></html>
looks like

As you can see I can enter text with a length less than two and the height is fixed. It does not react to rows="6" or the style="height:400px" setting.
If you inspect the element you will find that the textarea control in the shadow dom has a fixed height.

Closing comment (2020-09-14T19:32:41Z): This looks related to #3869 though the issue is more clearcut. I'd expect this to also apply to fast-text-field and other inputs with this type of support. The issue here is relating the application of the attribute to the stylesheet. I think the best course of action would be to implement #3748 to get this supported. I'm not sure inline styles would work well here as it would require changes to fast-foundation and the text size, letter spacing, etc all seem to correlate to how one might calculate and apply these. Ultimately I think this would need be added on a per-design-system basis as it relates to specific styling stories.
Repository: microsoft/fast

Issue #1849: New key value pairing for a CSS property appearance and location should be aligned with chromium dev tools
Created: 2019-06-11T19:32:18Z
Adding a new key/value pairing in the CSSPropertyEditor should be in alignment with the interactions possible in the chromium dev tools.
Interactions expected:

resting state (nothing is being edited) should show no empty key/values
clicking on a row should create a new key value below it
clicking on the "{" row should create a new key/value at the top of the key values
clicking on the "}" row should create a new key/value at the bottom of the key values
Tabbing through the styles, will add an empty property when it gets to the bottom of the key values

Duplicate issue #1730: Allow clicking on any key/value input row to add a key/value input below it
Created: 2019-05-02T05:22:33Z
Similar to the behavior found in browser dev tools, instead of adding an empty key/value inputs at the bottom of the CSS property list, the empty key/value inputs should be added depending on the location clicked.

If an existing row is clicked the empty key/value input pair should appear underneath and correspondingly the key/value property after input should be inserted in that location in the CSS properties object.
If the row containing the opening "{" is clicked the empty key/value pair should be added at the first row.
If the row containing the closing "}" is clicked the empty key/value pair should be added to the last row.

Closing comment (2019-06-11T19:35:34Z): Duplicate of #1849
Repository: microsoft/kiota

Issue #1650: setup middleware pipeline for Ruby request adapter
Created: 2022-06-23T16:25:51Z
related #120
related #635
To implement cross cutting concerns (like retrying on transient errors) we need the current http client to support middleware handlers, that is intercepting and change the request before it's sent over the wire, and the response before it's returned to the caller.
The first step here is to check the documentation of the client we're currently using to see whether it supports two things:

Defining and injecting middleware handlers in the requests execution pipeline
Defining and attaching request options to the request object (to be picked up by a middleware handler)

If it doesn't, we should design an overhead API for the native client that offers similar methods prototypes (what we did with TypeScript & fetch).
Additionally:

 the abstractions needs to have a middleware request option interface defined
 we need a client factory in the http library so consumers can get a client with the same middleware configuration as the request adapter is using by default.
 the request information type needs to be able to carry request options
 the options property property on request configuration needs to be of this new type (update the refiner)
 generator method needs to pass the options to the request information object
 the request adapter implementation needs to pass these options to the native request object

Duplicate issue #446: Add support for request option generation and middleware configuration in ruby
Created: 2021-08-04T18:19:43Z
After merging #330 ruby generation will generate inaccurate clients as it was built without the middleware options in mind.
TODO

 add a request option interface in the abstractions
 add a options collection, addrequestoptions and get requestptions on request info
 update generation to add the options to the request in the request generator methods
 update generation to pass the options from the request executor to the generator
 add a middleware infrastructure and a way to get the defaults in the http library (depends on #419)
AB#10516

Closing comment (2022-06-23T18:31:53Z): closing as duplicate of #1650
Repository: microsoft/kiota

Issue #5162: [Epic] Validation rules for Plugin Generation in Kiota
Created: 2024-08-14T19:10:55Z
We need to enhance the plugin generation process in Kiota by implementing validation rules. These validations will ensure that the generated plugins function correctly.
Some of these validations address current limitations that may be resolved in the future. However, it is crucial to ensure that the generated plugins work with the current constraints.
### Tasks
- [ ] https://github.com/microsoft/Microsoft.Plugins.Manifest/issues/255
- [ ] https://github.com/microsoft/kiota/issues/5164
- [ ] https://github.com/microsoft/kiota/issues/5381
- [ ] https://github.com/microsoft/Microsoft.Plugins.Manifest/issues/259
- [ ] https://github.com/microsoft/Microsoft.Plugins.Manifest/issues/256
- [ ] https://github.com/microsoft/Microsoft.Plugins.Manifest/issues/257
- [ ] https://github.com/microsoft/kiota/issues/5380
- [ ] https://github.com/microsoft/Microsoft.Plugins.Manifest/issues/258

Requirements

Requirement 1: Validate all the above rules before generating a plugin and only generate the plugin if there are no issues.
Requirement 2: Warn the user if their OpenAPI is not valid for plugin creation and don't generate the plugin
Requirement 3: Inform the user which selected endpoints are failing validation and the specific reason. For example, one has 10 endpoints selected to create a plugin and just 1 fails due to nested objects in the PUT method; notify of the specific endpoints and the reason for the failure.

Duplicate issue #5289: When generate API plugin, kiota should make sure that server url inside OpenAPI spec file using https protocol
Created: 2024-09-02T06:41:21Z
What are you generating using Kiota, clients or plugins?
Kiota plugin
In what context or format are you using Kiota?
Windows executable
Client library/SDK language
None
Describe the bug
API plugin only support https protocol, and when generate plugin, Kiota should make sure that server url inside OpenAPI spec file using https protocol, it it uses http protocol, we should throw error to tell user that http is not supported.
Expected behavior
Should throw error to tell user that http is not supported
How to reproduce


Load OpenAPI spec file: https://raw.githubusercontent.com/SLdragon/example-openapi-spec/main/http-protocol-server-url.yaml


Generate plugin


Open API description file
No response
Kiota Version
1.18.24082901
Latest Kiota version known to work for scenario above?(Not required)
No response
Known Workarounds
No response
Configuration
No response
Debug output
Click to expand log
```

</details>


### Other information

_No response_

Closing comment (2024-09-02T15:30:39Z): Duplicated of: microsoft/Microsoft.Plugins.Manifest#258
This is being tracked by #5162 and will be available in 1.18.
Repository: microsoft/kiota

Issue #4548: Add migration action to the contextual menu for locks in extension
Created: 2024-04-24T16:29:05Z
The Select lock file button (or context menu on the lock file) doesn't read the lock file if the property 'descriptionLocation' is a relative path. like '..\api.yaml'
Would be nice also to get an error message if the location doesn't exist

Duplicate issue #5143: Add migration action when old kiota-lock file is detected
Created: 2024-08-13T13:16:24Z

Closing comment (2024-08-13T13:22:15Z): @ElinorW isn't this a duplicate of #4548 ?
Repository: microsoft/kiota

Issue #1730: Optimize serialization/deserialization of fields.
Created: 2022-07-07T21:07:35Z
Related to 536bc30#issuecomment-1178008218

Deduplicate the array creation may be by adding generic private function to create the instance values.
Optimize the serialization/deserialization methods to reduce bundle code.

Duplicate issue #1732: TypeScript: Consider extending model class from model interfaces 
Created: 2022-07-11T04:37:08Z
Current design:
interface User
{
name: string
}

class User implements IUser{
name: string
}

New design:
class User {
 name:string;
}

interface IUser extends Partial<User>{}

This helps in deduplicating some code and optimizing size.

Closing comment (2022-07-11T14:33:03Z): closing as duplicate of #1730
Repository: microsoft/kiota

Issue #1270: The GetSchemaTitles functions returns no options when no allOf, anyOf, oneOf children have titles.
Created: 2022-02-27T20:42:43Z
See this code:

  
    
      kiota/src/Kiota.Builder/Extensions/OpenApiSchemaExtensions.cs
    
    
         Line 34
      in
      b8b3349
    
  
  
    

        
          
           else if(schema.AnyOf.Any()) return schema.AnyOf.SelectMany(x => x.GetNonEmptySchemas()); 
        
    
  


Generation fails with an OpenAPI description like the following,
  '/unionType':
    get:
      responses:
        '200':
          description: A response with two or more distinct types 
          content:
            'application/json':
              schema:
                oneOf:
                - $ref: "#/components/schemas/simpleObject"
                - { type: number }
      x-csharp: Task<GetUnionTypeResponse> GetAsync(...);  
We need to fallback to something like UnionTypeResponse as a classname.  When declarationName is empty, the generation fails with an ugly error.

Duplicate issue #835: Union Models rely on schema having a title
Created: 2021-11-14T21:26:19Z
kiota/src/Kiota.Builder/KiotaBuilder.cs
    
    
         Line 714
      in
      efb42b4
    
  
  
    

        
          
           var className = currentSchema.GetSchemaTitle(); 
        
    
  


This code is missing the fallback that uses the schema key if there is no title.

Closing comment (2022-03-14T17:04:03Z): closing this as a duplicate of #1270
Repository: microsoft/kiota

Issue #302: Handle text based media type responses.
Created: 2021-07-05T19:19:12Z
If the response is text/html or text/csv,  for example, we should ensure the user can access the response payload easily.
Response type in the RequestBuilder method should probably be Stream so that we can handle large responses.
AB#10130

Duplicate issue #546: An operation without a return schema should default to a Stream/byte[] response type.
Created: 2021-08-27T19:30:20Z
openapi: 3.0.3
info:
  title: app that calls graph and gets the me profile
  version: 1.0.0
paths:
  /me:
    get:
      responses:
        200: 
          description: Success!

Currently kiota returns this error:
could not find operation return type Get \me

AB#10904

Closing comment (2022-03-30T19:51:23Z): related to #302 where anything that's not a known mime type will be treated as stream. Planning to tackle both issues together.
Repository: microsoft/kiota

Issue #1925: [Tracking] TypeScript - `.api` styled generation
Created: 2022-10-26T02:19:25Z
#1967
 #1966
 #1969
 #1968

Duplicate issue #1931: [Design] Kiota TypeScript generation for REST-based clients
Created: 2022-10-28T16:20:18Z

Closing comment (2022-11-30T19:17:49Z): I believe this is a duplicate of #1925, closing
Repository: microsoft/kiota

Issue #4392: Add option to generate public/internal setters for generated models for Testing scenarios
Created: 2024-03-23T13:03:34Z
Hi,
I would like to be able to stub a client generated by Kiota. But, currently, the models has private setters, like this:
I use OpenAPI spec: kiota search microsoft.com:cognitiveservices-NewsSearch
namespace NewsSearch.Sdk.Models {
    public class NewsTopic : Thing, IParsable {
        /// <summary>A Boolean value that indicates whether the topic is considered breaking news. If the topic is considered breaking news, the value is true.</summary>
        public bool? IsBreakingNews { get; private set; }
        /// <summary>The URL to the Bing News search results for the search query term</summary>
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
        public string? NewsSearchUrl { get; private set; }
#nullable restore
#else
        public string NewsSearchUrl { get; private set; }
#endif
        /// <summary>Defines a search query.</summary>
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
        public NewsSearch.Sdk.Models.Query? Query { get; set; }
#nullable restore
#else
        public NewsSearch.Sdk.Models.Query Query { get; set; }
#endif 

      // omitted
    }
}
I would like to suggest adding a configuration that allows control aspects of model generation.
Thank you, I appreciate your work.

Duplicate issue #4408: Why C# properties have private setters?
Created: 2024-03-26T13:08:53Z
I noticed that some of the generated models for API responses have private setters. There are also some properties where the setter is public. Why is that? Private setters make it difficult to create these objects in tests.

Closing comment (2024-03-26T14:05:07Z): Hi @marcinjahn
Thanks for using kiota and for reaching out.
Closing as duplicate of #4392
Please follow up there
Repository: microsoft/kiota

Issue #618: observability of kiota clients
Created: 2021-09-13T23:47:00Z
AB#11127

Duplicate issue #371: [Tracking] Add middleware and other generic components from graph core to the http core library
Created: 2021-07-21T19:07:29Z
Looking at the sdk-design features list, there are a number of component that should exists in the http core library. Most of those components are the middlewares. They need to be implemented:

 pipeline (if not provided by the native http client) #716
 authorization handler
 retry handler
 compression handler
 logging handler
 chaos handler
 redirect handler
 telemetry handler (make it generic enough so the request • changes can be specified by a callback) #716
 multi-part content
AB#10340

Closing comment (2022-03-31T19:45:12Z): Closing as logging is already tracked by #618 across languages
Multipart tracked by #220
Logging microsoftgraph/msgraph-sdk-go-core#32
Repository: microsoft/language-server-protocol

Issue #737: Add support for explicitly requesting diagnostics
Created: 2019-05-01T19:46:33Z
The Language Server Protocol sends diagnostics to clients as notifications. These notifications are typically sent in response to textDocument/didChange or textDocument/didSave, but they could arrive at any time. Clients have no control over when or if diagnostics will be sent to them. This lack of control causes problems for clients.

Clients cannot indicate if there there are pending diagnostics. Because they can arrive at any time, or may never arrive, you cannot indicate if there are diagnostics being calculated or not.
Clients cannot easily control when diagnostics should be displayed. A document update in order to retrieve accurate completion results may result in diagnostics being sent, for example.
Servers can send clients diagnostics for files they might not be interested in, such as files that are not open in client editors. This results in clients having to read more data than they need.

I think it would be a good idea to add an optional mode to the protocol to disable sending diagnostics to clients unless they are explicitly requested for a file. An optional attribute could be added to InitializeParams which when enabled would tell servers not to send diagnostics until a new message type textDocument/getDiagonistics is sent. ServerCapabilities could include an attribute for indicating if this mode is supported. Servers would then be required to respond to clients with textDocument/publishDiagnostics with either an empty diagnostics array, or previously computed results.
For my LSP client ALE, this would mean that ALE will be able to update the Vim status bar to indicate that diagnostic results from language servers are pending, and to avoid requesting diagnostics when the user only wants to get some completion results. Currently ALE is able to do this for tsserver, because the tsserver protocol requires the use of a geterr command, but this is unfortunately not possible with language servers.
Let me know what you think. Thank you for the protocol.

Duplicate issue #1201: Document pull diagnostics
Created: 2021-02-13T18:19:39Z
It looks like this is in vscode-languageclient but not here.

Closing comment (2021-02-13T18:56:24Z): This is related to #737.
Repository: microsoft/language-server-protocol

Issue #67: Make specification more machine-readable
Created: 2016-09-11T22:11:40Z
It would be very handy if parts of the specification could be read by machines.
This would help developing SDKs for typed languages a lot, as many types can be auto generated.
Besides, there are some inconsistencies in non-normative parts of the specification that could be easily fixed (e.g. interfaces vs exported interfaces, params vs param).
Something like this would be awesome in addition to the existing specification:
(comments removed to keep it short)
interface RequestMessage<TMethod extends string, TParams> {
    id: number | string;
    method: TMethod;
    params: TParams
}

interface ResponseMessage<TResult, TError> {
    id: number | string;
    result?: TResult;
    error?: ResponseError<TError>;
}

interface Request<TRequest, TResponse> {}
interface Notification<TRequest> {}

// ...

type InitializeRequest = Request<
    RequestMessage<"initialize", InitializeParams>,
    ResponseMessage<InitializeResult, InitializeError>
>;

type ShutdownRequest = Request<
    RequestMessage<"shutdown", undefined>,
    ResponseMessage<undefined, undefined>
>;

type ShowMessageNotification = Notification<
    RequestMessage<"window/showMessage", ShowMessageParams>
>;
What do you think? I can offer to add these additional typescript definitions for all of the about 30 notifications / requests.

Duplicate issue #1362: Can we have one big typescript file with the interface definiton?
Created: 2021-10-21T08:10:34Z
Kinda hard to read with the markdown sometimes.

Closing comment (2021-10-21T08:20:25Z): Duplicate of #67
Repository: microsoft/language-server-protocol

Issue #1203: Add better documentation on how clients should handle file renames
Created: 2021-02-17T02:01:46Z
I am in the process of implementing an LSP client, but reading the spec I cannot figure out how I should handle file renames.

There are the workspace/willRenameFiles and workspace/didRenameFiles methods, but servers are not required to support them.
The other logical option seems to be to issue a textDocument/didClose followed by a textDocument/didOpen with the new file name.
If a server does support the workspace operations, should didClose and didOpen still be sent?
If so, then should they be sent before or after willRenameFiles and didRenameFiles?

Duplicate issue #1263: Document expectations around filename casing
Created: 2021-05-10T09:15:15Z
There have been many bugs relating to casing of filenames/paths in VS Code and language extensions in the past, so I think it's important that LSP defines expectations to ensure clients and servers have the same expectations so they work together correctly.
VS Code no longer uses the filesystem casing of a file in its APIs if the file is renamed, which means servers must be prepared to get different (the old) casing from VS Code after a file is renamed (see microsoft/vscode#121106).
For example:
// File is open and named DANNY.dart
==> {"jsonrpc":"2.0","id":3,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///Users/danny/Desktop/casting_testing/bin/DANNY.dart"}}}

// File is renamed by user to danny.dart
==> {"jsonrpc":"2.0","id":4,"method":"workspace/willRenameFiles","params":{"files":[{"oldUri":"file:///Users/danny/Desktop/casting_testing/bin/DANNY.dart","newUri":"file:///Users/danny/Desktop/casting_testing/bin/danny.dart"}]}}

// VS Code/LSP continues to use the original casing
==> {"jsonrpc":"2.0","id":5,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///Users/danny/Desktop/casting_testing/bin/DANNY.dart"}}}

Many tools treat file paths case-sensitively even when the underlying filesystem is case-insensitive. In some cases (for example virtual workspaces) it might not even be possible to tell whether the underlying filesystem is case-sensitive, so it seems like servers might be forced to treat things all as case-insensitive.
It seems like the spec should have some guidelines/notes on this since it might not otherwise be obvious to implementers what they should do here (and depending on the environments they developer/test in, they may not see the same behaviour as other users).

Closing comment (2021-07-07T16:13:22Z): I found another wrinkle in VS Code's implementation (related to #1203). It fires the rename event when a file is renamed by only casing, but does not fire didClose/didOpen. #1203 suggests that those two things should go together, so it's not clear if VS code's behaviour is incorrect, or if this is an exception to that.
Repository: microsoft/language-server-protocol

Issue #247: Are markdown strings supposed to support embedded code blocks?
Created: 2017-05-19T13:59:48Z
The definition of MarkedString more or less says "either markdown or code". What about code embedded in markdown with the GitHub code block syntax  ```language``` ? AFAIK, from the protocol perspective, it seems to be necessary if we want "mixed" strings containing prose and code, so it should be explicitly mentioned in the specification.
And if this is allowed/made a requirement, why would we still need the language/value pair? MarkedStrings could simply be Markdown strings allowing code blocks.

Duplicate issue #248: Support for doctest languages/patterns
Created: 2017-05-21T14:17:38Z
I'm not sure if anything is needed specifically in the LSP but I figured I should ask.
I am working in Rust and would love to make sure the foundations are available when the Rust tools team can get to it.
/// This method is awesome
/// 
/// begin a doc test
/// ```
/// use yo;
/// assert_eq!(yo(), 1);
/// ```
pub fn yo() -> u32 {
  1
}

How can we expose the code inside the doctest to the LSP?

Closing comment (2017-05-22T08:19:50Z): Seems like a dup of #247 . If you think so, can you please close this
ticket and put your example as a comment of #247?
Repository: microsoft/language-server-protocol

Issue #11: CompletionItem: Support multiple text edits
Created: 2016-05-25T08:29:14Z
CompletionItem has a single TextEdit; it would be nice to allow multiple TextEdits.
Example: In the context of a Java file, the CompletionItem of a type (class, interface, etc.) could include an additional text edit to add an import declaration for that type if necessary.

Duplicate issue #64: CompletionItem should support multiple TextEdits
Created: 2016-08-31T21:48:30Z
In some cases a CompletionItem may require multiple TextEdits to be applied. For instance when referencing a Java type, CompletionItem can also modify the imports (auto import on most Java IDEs).
Alternately we can introduce the concept of prerequisite CompletionItems which will be applied before applying the actual one.

Closing comment (2016-09-04T12:36:35Z): This seems to be a duplicate of #11
Repository: microsoft/language-server-protocol

Issue #129: extensible completion item and symbol kinds
Created: 2016-11-17T14:31:47Z
The lists of completion item and symbol kinds are hardcoded and match the existing language servers; what should languages that have other kinds do? This is partly a client issue (because it might want to know about these kinds, to provide icons and other UI), but affects the protocol too.
I believe that the ClientCapabilities could be used to expose the supported kinds (whose details for registration would be client-specific)

Duplicate issue #158: No SymbolKind and CompletionItemKind for traits
Created: 2017-01-15T19:26:47Z
https://en.wikipedia.org/wiki/Trait_(computer_programming)
Pretty common in programming languages (see supported languages of that article), for example in PHP: http://php.net/manual/en/language.oop5.traits.php
These cannot currently be represented by a SymbolKind or CompletionItem.

Closing comment (2017-11-24T15:08:12Z): Closing of a dup of #129 again. I will consider this when solving #129.
Repository: microsoft/language-server-protocol

Issue #1263: Document expectations around filename casing
Created: 2021-05-10T09:15:15Z
There have been many bugs relating to casing of filenames/paths in VS Code and language extensions in the past, so I think it's important that LSP defines expectations to ensure clients and servers have the same expectations so they work together correctly.
VS Code no longer uses the filesystem casing of a file in its APIs if the file is renamed, which means servers must be prepared to get different (the old) casing from VS Code after a file is renamed (see microsoft/vscode#121106).
For example:
// File is open and named DANNY.dart
==> {"jsonrpc":"2.0","id":3,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///Users/danny/Desktop/casting_testing/bin/DANNY.dart"}}}

// File is renamed by user to danny.dart
==> {"jsonrpc":"2.0","id":4,"method":"workspace/willRenameFiles","params":{"files":[{"oldUri":"file:///Users/danny/Desktop/casting_testing/bin/DANNY.dart","newUri":"file:///Users/danny/Desktop/casting_testing/bin/danny.dart"}]}}

// VS Code/LSP continues to use the original casing
==> {"jsonrpc":"2.0","id":5,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///Users/danny/Desktop/casting_testing/bin/DANNY.dart"}}}

Many tools treat file paths case-sensitively even when the underlying filesystem is case-insensitive. In some cases (for example virtual workspaces) it might not even be possible to tell whether the underlying filesystem is case-sensitive, so it seems like servers might be forced to treat things all as case-insensitive.
It seems like the spec should have some guidelines/notes on this since it might not otherwise be obvious to implementers what they should do here (and depending on the environments they developer/test in, they may not see the same behaviour as other users).

Duplicate issue #1203: Add better documentation on how clients should handle file renames
Created: 2021-02-17T02:01:46Z
I am in the process of implementing an LSP client, but reading the spec I cannot figure out how I should handle file renames.

There are the workspace/willRenameFiles and workspace/didRenameFiles methods, but servers are not required to support them.
The other logical option seems to be to issue a textDocument/didClose followed by a textDocument/didOpen with the new file name.
If a server does support the workspace operations, should didClose and didOpen still be sent?
If so, then should they be sent before or after willRenameFiles and didRenameFiles?

Closing comment (2021-07-07T16:11:06Z): The recommended way on a file rename is to sent a close with the old file and a open with the new file.

Slightly related to #1263 - what about if the rename is only changing case?
Right now, VS code does not send a Close/Open in this case for macOS or Windows (regardless of whether the filesystem is actually case-sensitive or not). However it does send rename events (but continues to use the old casing for everything going forwards). This seems inconsistent and makes it difficult for servers to handle these types of renames.