External headers not shown in list

I saw this report but I think my issue is different.
In a simple file with #include <iostream> selecting Open Doucment (Ctrl + Shift + G by default) on iostream does not add a new file to the working files list. It does however open a new tab.
This may be by design. After all iostreamis not a part of any open solution. I see there is a "Miscellaneous Files" group in the file list but it's not apparent to me when a file is added to it or not. It would be nice with a setting to show all open files in the list, so that there's effectively a 1:1 correspondence between the list and the tabs.

If I understand correctly, what you’re describing doesn’t sound like it was intentionally by design as such.
Working Files List uses the Visual Studio automation object to both find out about any files that are open, and to manipulate (e.g. open in the editor/close) them. The file groups are the names of the parent projects, as discovered though the automation object; if a file does not belong to any project, it will belong to Miscellaneous Files. [For example, if you open a text file in Visual Studio from Windows Explorer, it should open in a new instance of Visual Studio under the group Miscellaneous Files].
Occasionally there are some files that Working Files List cannot manipulate (e.g. maybe the file was deleted externally from Visual Studio while the solution was still open). In order to avoid having orphaned entries in Working Files List, it removes any entries that might be problematic.
This does seem different from issue #14, as from what I understand iostream does not reappear. It seems more like, for whatever reason, Working Files List cannot find/access iostream. I haven’t worked much with C++ lately so sorry if the answers to these questions are obvious; could it be that iostream is in a system folder (e.g. Program Files) that Visual Studio doesn’t have access to [maybe try running Visual Studio as an administrator]? Alternatively, could it be that iostream doesn’t exist as a file on disk [e.g. it might be a file within memory, extracted from a .dll library]?

Closing issue after eight days of inactivity; will reopen if necessary.


make CLI authentication case-insensitive

in  #99, we found out that users assume that authentication: CLI can also be given as authentication: cli which is not the case.
@JCZuurmond... if you're interested 👀
Spitball idea, but maybe we add an .upper() to the this snippet below. something like:
if type_auth.upper() in AZURE_AUTH_FUNCTIONS.keys()

https://github.com/dbt-msft/dbt-sqlserver/blob/0d529de2641cc7e3f84bab47e22a9f4c80629bbd/dbt/adapters/sqlserver/connections.py#L281-L288

@swanderz : That would indeed solve the problem for when authentication type is cli instead of CLI (or cLi for that matter). However it would not make the other authentication types case insensitive.
I have the urge to restructure some code first so that we can add (py)tests. It would make me more confident about changing code without breaking it.
However, if we prefer to do a quick fix first, then that is ok with me.

no urgency to make a hotfix, given that this issue is documented and easily fixed. more tests would be great -- thanks for offering. Happy to add any tests you write to CircleCI.


fix: permissions on dockerignore

Codecov Report
Base: 32.41% // Head: 32.41% // No change to project coverage :thumbsup:

Coverage data is based on head (c3531dd) compared to base (776e79b).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@           Coverage Diff            @@
##           develop     #333   +/-   ##
========================================
  Coverage    32.41%   32.41%
========================================
  Files           52       52
  Lines         4889     4889
========================================
  Hits          1585     1585
  Misses        3148     3148
  Partials       156      156

Flag
Coverage Δ

unittests
32.41% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/provider/pulumi/common/build.go
50.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Feature Request: Updating Opsman tempest cert

Would a PR allowing the om-cli to update the tempest cert on the Opsman VM be considered? The current process is outlined here in the documentation, however the process involves manually replacing a file via SSH. This process could be automated and added to the om-cli to SSH in and replace the cert using either a SSH-User and Pass or SSH-PrivateKey. This would allow pcf-pipelines or other automation to add the correct certificate and cut down on mistakes and time when deploying a new environment.

@daviddob if OpsMgr added an API endpoint support adding your own cert to the OpsMgr VM, we'd love to support that workflow via om. But the process outlined in those docs feels super hacky and I'd feel uncomfortable supporting a workflow where a CLI ssh'es into your server as a privileged user, messes with some files, and restarts system services. Could you open an issue with OpsMgr around adding a first-class API endpoint to support this workflow? I'm also tired of the SSL warning message every time I visit the OpsMgr UI :)

I agree it feels super hacky, wanted to reduce that a bit. I agree with the approach you outlined as that would be the best case scenario. Ill reach out to the ops-manager team as well, if you could ping them about this internally as well id appreciate it.

The Step 1 "SSH into Operations Manager" is probably tricky to implement. As different deployments of OpsMan can have different networking setups.

Proxy settings
Firewall rules
Ports

Are you able to programmatically determine the correct ssh command to run?

If this route was feasible I was planning to have flags and/or env vars to supply proxy, ports, user, passwd, private key, etc to the command to update the cert. As far as I know the cert location itself and commands to restart tempest haven't changed even across major versions 1.x to 2.x

As @ljfranklin points out - this sort of goes against the ethos of what the om prime directive is  - simplify interaction with the ops manager API. It feels like the right approach here would be to ask ops manager to add this ability to the API that they are exposing, everyone gets a nice implementation that way.

Good news! Looks like OpsMgr 2.2 adds a PUT /api/v0/settings/ssl_certificate endpoint. Adding a command to om to update this cert sounds super useful. Our team's backlog is pretty full right now, but we'd be happy to accept a PR for this.

Ill take a look at implementing that in the near future if I find some free time, thanks for the update.

Any updates on this front? PR was submitted about a month ago and haven't heard anything regarding it.

@daviddob sorry about that, we've been in the process of shifting some of the maintenance responsibilities of this project over to the pcf-automation team. This looks to have gotten lost in the shuffle. @jtarchie @kcboyle would someone from your team have bandwidth to review the PR?

All good, I figured things got busy on your end and should check in.


Correction to instruction

In the second list item under "Enable an archive mailbox"
"In the left pane of the compliance portal, select Data lifecycle management > Microsoft 365 > Archive."
The step "Microsoft 365 >" should be removed, as the step isn't there.
Best Regards

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 1f19511c-5a0f-9d5f-0779-79a9ad99938f
Version Independent ID: 3b513017-641c-38ae-3938-03a9ee3a6923
Content: Enable archive mailboxes for Microsoft 365 - Microsoft Purview (compliance)
Content Source: microsoft-365/compliance/enable-archive-mailboxes.md
Service: o365-seccomp
GitHub Login: @cabailey
Microsoft Alias: cabailey

Hi @mikalzen  The data lifecycle management solution in the compliance portal has recently been updated and is now split into "Microsoft 365" and "Exchange (legacy") options, so all the instructions have been updated to match. If you don't see the "Microsoft 365" option in the UI yet, you will very soon.
You can read more about these two options in https://docs.microsoft.com/en-us/microsoft-365/compliance/data-lifecycle-management and the UI change will be covered in "What's new ... for August" (https://docs.microsoft.com/en-us/microsoft-365/compliance/whats-new) when it's published.


Scrape posts by hashtags

I want to add a function to scrape posts by hashtags.

Hello! thank you for involvement. What do you mean by "scrape"?
Just hashtag feed?

@dilame Thank you so much for replying. Yeah, I meant hashtag feed.
Right now when you 'search' hashtags, you're only getting the _params object which doesn't contain any information about the medias containing the hashtag.
I'm working on a little demo right now, will post it when I have it.

Well this is embarrassing. I just started learning Node.JS and my knowledge is still pretty limited. I've worked with Instagram's API before though.
import { AbstractFeed } from './node_modules/instagram-private-api/dist/feeds/abstract.feed'; import { MediaResponse } from './node_modules/instagram-private-api/dist/responses/media.response'; import { plainToClass } from 'class-transformer'; import { Request, Session } from './node_modules/instagram-private-api/dist/core'; export class HashtagFeed extends AbstractFeed<MediaResponse> {     constructor(session: Session, public hashtag: string | number, public limit = Infinity) {         super(session);     }     async get(): Promise<MediaResponse[]> {         const data = await new Request(this.session)             .setMethod('GET')             .setUrl('https://i.instagram.com/feed/tag/'+hashtag'+/?rank_token=' + this.rankToken + '&max_id=' + this.cursor)             .send();         this.moreAvailable = data.more_available && !!data.next_max_id;         if (this.moreAvailable) {             this.setCursor(data.next_max_id);         }         return plainToClass(MediaResponse, data.items);     } }_
Came up with this but I have no way to test it. You get the idea though. If you could implement it, that'd be sweet. Appreciate it man!

https://github.com/dilame/instagram-private-api/blob/v1.0.0/src/feeds/tag.feed.ts
I just found this, first time heavily using GitHub so I'm super confused lol. Thanks a lot for creating this library man, I'll do my best to try and contribute as soon as I sharpen my Node skills a little more.


updated oettli-präger

[x] now users does not need to give list of variables explictly
[x] initial enclosure is an optional parameter and is automatically computed if not given
[ ] extend the solver to be a subtype of LinearSolver and to be called by solve
[ ] as these functionalities are optional and require ICP.jl to be imported first, Documenter does not include their docstrings in the API docs At the moment, I don't know how to fix this.

Codecov Report

Merging #41 (43a093a) into main (e94624d) will increase coverage by 0.04%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #41      +/-   ##
==========================================
+ Coverage   95.73%   95.77%   +0.04%
==========================================
  Files           7        7
  Lines         211      213       +2
==========================================
+ Hits          202      204       +2
  Misses          9        9

Impacted Files
Coverage Δ

src/solvers/oettli.jl
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e94624d...43a093a. Read the comment docs.


Add search box to Summary page for one election

We should be able to search for ballot_returned entries on this page:
https://api.wevoteusa.org/e/56/summary/
Also ballot_returned items (with "Display Name"?) that are being used for election shortcuts at the top of the list.

Thank you @mnneelam!


layer.getLayerStatesArray is not a function,  ol: 5.2

I'm trying to upgrade to the latest ol: 5.2. I'm getting an error in Group.js saying layer.getLayerStatesArray is not a function. I put some breakpoints and determined that the layer it's complaining about is an Image layer. I checked the uuid's of the layers to determine this. The line giving me the error is: layer.getLayerStatesArray(states); The app is an angular 5 app, which didn't give me issues in ol 4.6.5, so I'm hoping this is not the issue.
Group.js
LayerGroup.prototype.getLayerStatesArray = function getLayerStatesArray (opt_states) {
var states = opt_states !== undefined ? opt_states : [];
var pos = states.length;

this.getLayers().forEach(function(layer) {

==>      layer.getLayerStatesArray(states);
});
This is how I'm constructing the image layer
            this.blockLayer = new Image({
                name: 'blockLayer',
                source: new ImageWMS({
                    url: this.base,
                    params: '',
                    serverType: 'geoserver',
                    crossOrigin: null
                })
            });

It's not working for me either on OL 5.3.3.
Below there's a codesandbox reproducing the issue, created by copying the basic example at https://openlayers.org/en/latest/doc/tutorials/concepts.html
https://codesandbox.io/s/openlayer-layergetlayerstatesarray-is-not-a-function-dvqej

@mettjus the import in the example is wrong, it must be:
import TileLayer from 'ol/layer/Tile';

instead of:
import TileLayer from 'ol/source/Tile';

I was submitting the PR before finding out you had just made one and getting back here. 👍


Error on az ad sp create-for-rbac

There seems to be a bug creating service principal (running on Git Bash) -
If I run az ad sp create-for-rbac --name $ACR_NAME-pull --scopes $(az acr show --name $ACR_NAME --query id --output tsv) --role acrpull --query password --output tsv I get an error in requests:
msrest.exceptions.ClientRequestError: Error occurred in request., InvalidSchema: No connection adapters were found for <path>
For some reason it seems to be concatenating a Git folder path:
C:/Users/<username>/AppData/Local/Programs/Git
with the result of $(az acr show --name $ACR_NAME --query id --output tsv) which looks like:
/subscriptions/<id>/resourceGroups/<resource group name>/providers/Microsoft.ContainerRegistry/registries/<registry name>/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27acrpull%27&api-version=2018-01-01-preview
resulting in it trying to make an HTTP request to a file location on my C: drive, which obviously doesn't work

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: c97db060-5c54-3b95-8382-59822b1d05b7
Version Independent ID: 2e1c320c-22c1-8edd-d19e-a483e04ea8ab
Content: Tutorial - Build container images in the cloud - Azure Container Registry Tasks
Content Source: articles/container-registry/container-registry-tutorial-quick-task.md
Service: container-registry
GitHub Login: @dlepow
Microsoft Alias: danlep

This seems to be a problem running on Git Bash - with some modification I managed to run the same command on a Command Prompt and it worked

Thanks for the feedback! We are currently investigating and will update you shortly.

@MarkBird generally the commands are written to run in the Azure Cloud shell which I tested and did not get the same error. Running on a on-prem bash environment sometimes does not work exactly as copied. We have had this kind of issue on a few docs. Unfortunately it is hard to write commands and scripts that will work for everyone specific environment.
I will close this out as the commands do appear to work as written in the Cloud Shell environment
CC @dlepow

It would be very helpful to people in the future if you could sort this out. Just saying it's ok cos it wroks in the cloud shell is just very annoying to those whove wasted an hour or two using Bash before finding this. issue.

Yes, to state that its hard to write scripts to work everywhere is a bit like state that its enough to write software which works only on my local computer 😂😂

I also receive this same error that appears to be based on the same bug when I run the following command with the Azure CLI from a git bash prompt:
az role assignment create --assignee $spID2 --role 'Contributor' --scope /subscriptions/my-subscription-id/resourcegroups/RG2/providers/Microsoft.Network/networkSecurityGroups/my-nsg-name

Here is the error:
ClientError: Error occurred in request., InvalidSchema: No connection adapters were found for 'C:/Program Files/Git/subscriptions/my-subscription-id/resourcegroups/RG2/providers/Microsoft.Network/networkSecurityGroups/my-nsg-name/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Contributor%27&api-version=2018-01-01-preview'

I guess I'll need to switch over to Powershell for this task.

This Bug is was never solved and should be reopened again. I create a new issue.

Thank you for creating that issue in the right repo @mruepp !  In case anyone hasn't seen it, here is the link: https://github.com/Azure/azure-cli/issues/16317

Just so others who've experienced this issue know, I can confirm the command works fine on WSL. Sad it cant' work on GitBash! Client Utility is supposed to work on a variety of environments and not just cloud shell.

So MSYS_NO_PATHCONV=1 does solve the issue. This issue is solved.

This worked. Great!

just set export MSYS_NO_PATHCONV=1

just set export MSYS_NO_PATHCONV=1 and it work on Gitbash.This issue is sloved.


fix: move worker's destroyStorage to after 'after' event

 Issue by technosophos
2017-09-08 00:43:55

We might be able to give 'after' and 'error' access to shared storage if we move destroyStorage into the beforeExit handler.

Fixed


Update short cut keys in mac-to-windows.md file

Update short keys for Show Desktop , Minimize window

@shafiqkhuidad : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@shafiqkhuidad great catch. Thank you for contributing!! Please keep 'em coming. :)


Pigment CSS Vite example broken

Steps to reproduce
Link to live example: /examples/material-ui-pigment-css-vite-ts
Steps:

Follow the README instructions
Receive following error to the console while running npm run dev:

Uncaught Error: @pigment-css/react: You were trying to call "generateAtomics" function without configuring your bundler. Make sure to install the bundler specific plugin and use it. @pigment-css/vite-plugin for Vite integration or @pigment-css/nextjs-plugin for Next.js integration.

Current behavior
Not working
Expected behavior
Things to work
Context
No response
Your environment
Environment
  System:
    OS: Windows 10 10.0.19045
  Binaries:
    Node: 20.9.0 - C:\Program Files\nodejs\node.EXE
    npm: 8.4.1 - ~\AppData\Roaming\npm\npm.CMD
    pnpm: Not Found
  Browsers:
    Chrome: 128.0.6613.84
    Edge: Chromium (127.0.2651.74)
  npmPackages:
    @emotion/react:  11.13.3
    @emotion/styled:  11.13.0
    @mui/core-downloads-tracker:  6.0.0
    @mui/material: next => 6.0.0-rc.0
    @mui/material-pigment-css: next => 6.0.0-rc.0
    @mui/private-theming:  6.0.0-rc.0
    @mui/styled-engine:  6.0.0-rc.0
    @mui/system:  6.0.0-rc.0
    @mui/types:  7.2.16
    @mui/utils:  6.0.0-rc.0
    @pigment-css/react:  0.0.20
    @pigment-css/vite-plugin: latest => 0.0.20
    @types/react: latest => 18.3.4
    react: latest => 18.3.1
    react-dom: latest => 18.3.1
    typescript: latest => 5.5.4

Search keywords: vite, pigment-css

That does not fix the issue for me. Tested with npm run dev and npm run build && npm run preview. Same problem:
  System:
    OS: Windows 11 10.0.22631
  Binaries:
    Node: 20.14.0 - C:\Program Files\nodejs\node.EXE
    npm: 10.7.0 - C:\Program Files\nodejs\npm.CMD
    pnpm: Not Found
  Browsers:
    Chrome: Not Found
    Edge: Chromium (127.0.2651.74)
  npmPackages:
    @emotion/react:  11.13.3
    @emotion/styled:  11.13.0
    @mui/core-downloads-tracker:  6.0.0
    @mui/material: latest => 6.0.0
    @mui/material-pigment-css: latest => 6.0.0
    @mui/private-theming:  6.0.0
    @mui/styled-engine:  6.0.0
    @mui/system:  6.0.0
    @mui/types:  7.2.16
    @mui/utils:  6.0.0
    @pigment-css/react:  0.0.20
    @pigment-css/vite-plugin: latest => 0.0.20
    @types/react: latest => 18.3.4
    react: latest => 18.3.1
    react-dom: latest => 18.3.1
    typescript: latest => 5.5.4

Note that the npm run build does not work out of the box either because of the tsc check. It results the following "error":
> tsc -b

src/App.tsx:1:1 - error TS6133: 'React' is declared but its value is never read.

1 import * as React from 'react';
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Found 1 error.

Can you please share your repo? Or just create a GitHub repository as a minimal reproduction.
I noticed the TS error, we can fix it separately.

This is basically a duplicate from the example project. Steps to reproduce:

Clone the repo
npm install
npm run dev

I've reproduced this on two machines, Windows 10 and Windows 11. Only tested with npm and Node 20.

I was testing on MacOS, sorry. I was able to reproduce on Windows. We'll look into it.

Let me check this on a Windows machine if I can find it. We recently fixes this issue in general (atleast I thought I did). So seems related to that except some OS specific thing that needs to be handled as well.

@Morabotti the issue has been fixed in https://github.com/mui/pigment-css/pull/218, it will be released in "0.0.22" (both for the vite and nextjs plugins). If you want to try it locally before it, you can use this package version:
{
  "@pigment-css/vite-plugin": "https://pkg.csb.dev/mui/pigment-css/commit/9462e64b/@pigment-css/vite-plugin"
}

This fixed the issue. Thanks.

@mnajdova This seems to have been reintroduced and can be reproduced with the latest example.


Details on privacy required

Needs more details on what the company has access to on your personal device once your device is registered.
I assume it is the same as this: https://docs.microsoft.com/en-us/mem/intune/user-help/what-info-can-your-company-see-when-you-enroll-your-device-in-intune

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 185f4afb-b437-c1d5-8673-ebb20c6c5178
Version Independent ID: b8ac9739-436d-6464-c230-9141fc42002f
Content: Register personal devices on an organization's network - Azure AD
Content Source: articles/active-directory/user-help/user-help-register-device-on-network.md
Service: active-directory
Sub-service: user-help
GitHub Login: @curtand
Microsoft Alias: curtand

Also this page: https://docs.microsoft.com/en-us/azure/active-directory/user-help/user-help-join-device-on-network

@mattbaker-digital Thanks for the feedback !  I have assigned this issue to content author to investigate and update the document as appropriate.

Hey @mattbaker-digital
Thanks for providing feedback that helps improve our documentation. Unfortunately, at this time we have been unable to review your issue in a timely manner and we sincerely apologize for the delayed response.  We are currently updating all the end-user content and will be migrating to the Microsoft Support site. We are closing the issue as we are migrating the content to a new site. #please-close


String formating of methods through error

kliep = KLIEP(estimator=Ridge(), Xt=X_tgt)

kliep.fit(X_train, y_train)

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

I have the same error.  It seems that KLIEP cannot execute __repr__ function.
This is because KLIEP class has np.array argument as default initial parameters.
(See this line in sklean. https://github.com/scikit-learn/scikit-learn/blob/main/sklearn/utils/_pprint.py#L101)
Solution1: use [1e-3, 1e-2, 1e-1, 1, 10] as default value instead of np.logspace(-3, 1, 5)
Solution2: change the default value to None, and replace np.logspace(-3, 1, 5) in the __init__ function.
I hope this will help.

Thank you @Nodanoda-kun,
We are going to add your modification for the next release.
Best,


[bug] token endpoint is different

The token endpoint has /user/, rest of all of them have /users/.
I think this is a mistake, need to verify and fix.

@nemesisdesign should we fix it now? I fear some people must be using it already! :smile:

@atb00ker it's definitely a mistake and we need to fix it, thanks for reporting! :+1:

@nemesisdesign
Please assign this Issue to me!

@ashutosh887 you don't need to wait for an assignment, please feel free to start working on it! 😄

Sure @atb00ker
I'm working on it


Visual Studio Test: Error publishing test results after tests passed

Type: Bug
Task Name: Visual Studio Test
Environment

Server - Azure Pipelines
Agent - Hosted (Hosted Windows 2019 with VS2019)

Issue Description
In a Visual Studio Test task that hadn't changed for months, we've recently been getting errors related to publishing test results. There's no obvious reason for this, as the tests are clearly being discovered as the correct names of the contents of the test DLL(s) are being read and the tests are being reported as passed. To be clear, the Visual Studio Test task is configured to use the latest version of the Test Platform available via the Test Platform Installer (Microsoft.TestPlatform.16.4.0-preview20191007-01).
Task logs
logs_1640.zip

Just in case it helps, the following part of the build logs shows the point at which tests were run, followed by the build failure due to the publishing of the test results:

2019-10-24T14:17:50.9443022Z Microsoft (R) Test Execution Command Line Tool Version 16.4.0-preview-20191007-01
2019-10-24T14:17:50.9443647Z Copyright (c) Microsoft Corporation.  All rights reserved.
2019-10-24T14:17:50.9519600Z vstest.console.exe "d:\a\1\s\MariaSystemSolution\MariaFrameworkSolution\x64\Release\MariaScanLib_UnitTests.dll"
2019-10-24T14:17:50.9520114Z /Settings:"d:\a_temp\3vow0zyqjje.runsettings"
2019-10-24T14:17:50.9520980Z /Logger:"trx"
2019-10-24T14:17:50.9521254Z /TestAdapterPath:"d:\a\1\s"
2019-10-24T14:17:50.9521522Z /Diag:"d:\a_temp\Attempt--1_14oip0.diag"
2019-10-24T14:17:50.9521900Z /Logger:"trx;LogFileName=d:\a\1\TestResults\1.0.19297.03_Unit_Test_Results.trx"
2019-10-24T14:17:51.9957638Z Starting test execution, please wait...
2019-10-24T14:17:51.9971865Z Logging Vstest Diagnostics in file: d:\a_temp\Attempt--1_14oip0.diag
2019-10-24T14:17:52.9624349Z A total of 1 test files matched the specified pattern.
2019-10-24T14:17:53.9584004Z Multiple versions of same extension found.

I managed to get the build working again, by removing the following from the "Other console options" field of the Visual Studio Test task:

/Logger:"trx;LogFileName=$(Common.TestResultsDirectory)$(Build.BuildNumber)_Unit_Test_Results.trx"

The only problem with this is that the filename of the TRX file is not following the name specified in the "Test run title" field of the Visual Studio Test task, which is currently set as follows:

$(BUILD.BUILDNUMBER)_Unit_Tests

Instead, the TRX filename was set as following...

Test results files: d:\a_temp\TestResults\VssAdministrator_fv-az28_2019-10-28_10_55_04.trx

I think this is part of the reason I previously tried using the "Other console options" field to try to set the TRX filename. Is there a better way of doing so?

@ZenoArrow when publishing the test results we look in a predefined place which is either the ResultsDirectory node (takes priority) in the runsettings or agent.temp directory if default.
We blindly pass other console options today to vstest.console.exe and cannot reliably interpret it. Infact were are advising against using other console options in favor of runsettings or first class task UI options.

Sorry for the late reply on this, this issue got lost in our internal tracking.

Thanks for the reply @ShreyasRmsft , good to know where the VS Test task is looking for test results to publish.
Your advice led me to find the problem I had, turns out it was just a missing character in the path. After changing this...
/Logger:"trx;LogFileName=$(Common.TestResultsDirectory)$(Build.BuildNumber)_Unit_Test_Results.trx"
... to this...
/Logger:"trx;LogFileName=$(Common.TestResultsDirectory)/$(Build.BuildNumber)_Unit_Test_Results.trx"
The build task completed successfully.
I appreciate that you advised using TestSettings rather than the Other Console Options, but I was hoping to include information about the specific build in the test settings filename, and I wasn't sure if there was an elegant solution to define test settings at build time in order to achieve this. The Other Console Options solution works okay in this case (as long as I put the test settings file under the default path). That said, if there are ways to populate TestSettings with values from build/environment variables then I would be interested in this.
Thank you for your help.

Please use a runsettings  file and not a testsettings file as testsettings is deprecated.
You can use environment variables in the ResultsDirectory node in the runsettings. The task expands the env vars in the results directory node.

Closing this issue, please keep a watch out for the Results directory input in the task which should simplify things.


feat: add ResourceFieldSelector, support env.valueFrom.resourceFieldRef

close #35

Need more example cases about ResourceFieldSelector

field divisor is a little special for its type is Unit or int, but Unit has been predefined already.
I think no more redundant explanation.


Structured concurrency and cancellation

The general question is "How to maintain structured concurrency between publisher and subscriber in the face of cancellation?"
One of the ideas is to have the ability to merge concurrent (and potentially parallel) control flow.
For example, consider the finite Publisher that creates a resource per subscriber. It could be a thread, a socket or anything else that requires explicit close that may take indefinitely long period of time.
In a basic scenario (let's say subscriber request is always unbounded), a subscriber receives all the data, then the Publisher (or its Subscription, to be more precise) closes the underlying resource (again: it may take indefinite time!) and only then invokes Subscriber.onComplete.
After receiving onComplete event, subscriber knows for sure that all resources associated with its subscription are properly released at this point (aka control flow is merged back into a single point).
In a more advanced scenario, Subscriber cancels its subscription in the middle of the stream. E.g. it does not care about the rest of the elements because a corresponding user's session was terminated or for whatever reason.
At this point, the protocol explicitly allows omitting onComplete: onSubscribe onNext* (onError | onComplete)? (also, untested_spec108_possiblyCanceledSubscriptionShouldNotReceiveOnErrorOrOnCompleteSignals only confirms my suspicions).
Meaning that, after the call to Subscription.cancel, the subscriber cannot be sure that the corresponding resource is properly terminated, neither it has the API to be notified, creating a potentially unbounded memory leak (e.g. in the situations when the new subscription is immediately established as soon as the previous one is complete or cancelled) or an unbounded resource consumption without an ability to throttle it at subscriber level.
Could you please elaborate whether it is designed behaviour, grey area of the specification or I am just missing something and subscription termination can be properly detected?

Your observation can be summarised with “Reactive Streams is not a resource management framework”, which is true as per the mission statement: Reactive Streams only concerns itself with transmitting unbounded streams of data over asynchronous boundaries. How these streams are generated or consumed is of no concern to this communication protocol.
In particular, signalling onComplete to the Subscriber does not imply that the Publisher has released resources. For example the Publisher could statically hold a finite stream in memory and send that to any Subscriber that is attached to it, now or in the future.
Cancellation in the same vein only transmits the intent of dropping all future stream elements. How the Publisher reacts to that is left intentionally vague.
I recommend using a resource-managed entity like an Actor for your Publisher such that you can control its lifecycle and resource usage.

This level of resource-awareness is not part of the specification or part of the design goals. (In contrast, this was somewhat considered with IAsyncEnumerables.)
The general workaround is to bring the computation to the resource, like an actor (or event loop) that can correlate the subscriber's actions with the resource's lifecycle, as @rkuhn mentioned

Thanks for the detailed response, @rkuhn and @akarnokd.
Unfortunately, I cannot use any resource management framework. I will describe my use-case just to give an additional data-point for your consideration, not expecting a solution or anything to be fixed.
I am working on Kotlin's Flow: an analogue of reactive streams, but with backpressure supported at the language level via suspension (ability to "block" the control flow, but not the underlying thread).
It allows to do things like this:
val flow = flow { // Simpler analogue of Flowable.generate
    delay(1000) // Suspending analogue of Thread.sleep()
    emit(1) // onNext
}
.onCompletion { delay(100); println("Done [1]") }
.flowOn(Dispatchers.IO) // Analogue Schedulers.io()

The consumer now can do the following:
flow.collect { value -> // ~suspending subscribe
    println(value)
}
// At this point, the consumer knows that flow, its block and its onCompletion are completely finished

Now, taking into account the popularity of RS and similarities between Flow and Publisher, we provide a back and forth transformations for Publisher. But with this transformation, a nice property of consumer knowing that the original source is completed is gone:
val transformed = flow
.asPublisher()
.map { it + 1 }
.asFlow()

transformed.collect {
}
// Here it is impossible to implement asPublusher + asFlow in the way that consumer completes only after the source flow finishes all its cleanup phases

@qwwdfsad  The Reactive Streams interfaces are not designed for, or intended as, an end-user API—it is more of an SPI to facilitate spec-conformant interoperability.

Well, the same question applies to java.util.concurrent.Flow, project Reactor and others who comply with RS specification.
Also, it looks like it is used in public API anyway, e.g. https://www.graphql-java.com/documentation/master/subscriptions/


Fill colour being ignored in IE causing bar chart bars to appear grey

For some reason IE is ignoring the fill colour of bar charts and rendering them grey. I've tried with hex values and RGBA and neither work in IE. Please see the following example:
http://jsfiddle.net/rnxmLwuk/

And which iE version?

@geoffs3310 Huzzah! The first alpha of Chart.js 2.0 has landed and should fix this issue. Check out the release and try it out! We've got a lot of momentum right now, so please help us test so we can launch 2.0 Gold by the end of the month.
https://github.com/nnnick/Chart.js/releases/tag/v2.0-alpha
I'm closing this issue for now, but if you have implementation questions or find bugs, please create a jsfiddle and post the link here and we'll reopen this issue and get it fixed.


Update extensibility-front-end.md

https://dev.azure.com/powerbi/Trident/_workitems/edit/1410461 Update links, and namespace changes
Thank you for contributing to Microsoft Fabric documentation
Fill out these items before submitting your pull request:
If you are working internally at Microsoft:
Provide a link to an Azure DevOps Boards work item that tracks this feature/update.
https://dev.azure.com/powerbi/Trident/_workitems/edit/1410461
Update links, and namespace changes
Who is your primary Skilling team contact? @mention them individually tag them and let them review the PR before signing off.
@paulinbar
@KesemSharabi
For internal Microsoft contributors, check off these quality control items as you go

[ ] 1. Check the Acrolinx report: Make sure your Acrolinx Total score is above 80 minimum (higher is better) and with no spelling issues. Acrolinx ensures we are providing consistent terminology and using an appropriate voice and tone, and helps with localization.

[ ] 2. Successful build with no warnings or suggestions: Review the build status to make sure all files are green (Succeeded).

[ ] 3. Preview the pages:: Click each Preview URL link to view the rendered HTML pages on the review.learn.microsoft.com site to check the formatting and alignment of the page. Scan the page for overall formatting, and look at the parts you edited in detail.

[ ] 4. Check the Table of Contents: If you are adding a new markdown file, make sure it is linked from the table of contents.

[ ] 5. #sign-off to request PR review and merge: Once the pull request is finalized and ready to be merged, indicate so by typing #sign-off in a new comment in the Pull Request. If you need to cancel that sign-off, type #hold-off instead. Signing off means the document can be published at any time. Note, this is a formatting and standards review, not a technical review.

Merge and publish

After you #sign-off, there is a separate PR Review team that will review the PR and describe any necessary feedback before merging.
The review team will use the comments section in the PR to provide feedback if changes are needed. Address any blocking issues and sign off again to request another review.
Once all feedback is resolved, you can #sign-off again. The PR Review team reviews and merges the pull request into the specified branch (usually the main branch or a release- branch).
From the main branch, the change is merged into the live branch several times a day to publish it to the public learn.microsoft.com site.

@KesemSharabi
updated

@mberdugo
Can you review the proposed changes?
Important: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


fix(prisma-transaction): remove Promise.all in Prisma transaction

Context

Removes Promise.all within the Prisma transaction as it seems to be the root cause of the errors we've seen lately
Environment variables have been updated (including DB credentials for prod, no more inconsistency between environments)
Updates dependencies
Removes Infura provider in favor of our Blockchain API provider
Contains latest relevant auth schema changes

Follow up issues to add tests, staging deployment and monitoring:

https://github.com/WalletConnect/cloud-auth-api/issues/22
https://github.com/WalletConnect/cloud-auth-api/issues/6

Closes https://github.com/WalletConnect/cloud-auth-api/issues/18
Closes https://github.com/WalletConnect/cloud-app/issues/970

Why the suspected root cause being Promise.all?

I've come across some discussions like this one https://github.com/prisma/prisma/discussions/13564 and based on this issue https://github.com/prisma/prisma/discussions/21550 it doesn't seem like parallelizing queries within the transaction provides a performance gain.

Can we resolve the 500 we have in Sentry for SIWE and see if it a doesn’t regress and if it does, that it has a proper error message attached? Currently only errors as 500 with no context.

We will forward the error from now on (added in latest commit). I'll resolve the issue on Sentry as soon as this is deployed on prod.


Update main.scss iconspacer width

Solve the problem of misaligned display of Chinese sidebar
Before repair

Repair effect

Thanks for the report. I think we can solve this without the CSS, but it requires a little bit of tinkering... brb :)

@insilen can you try 0e54376 ?
# opnsense-patch 0e543767d

Cheers, Franco

So Cool, it works!!!
Truly impressive!

Nice, the report is highly appreciated. It also fixes languages where the words are too long so it truncates them with "..." to fit the menu.


Bug - Remove noop file ownership change

This change is noop because func ReplacePVCByHostDisk is
executed from handler context but the file path is
relevant to launcher context. Therefore the change is
failing 100% time and we are ignoring it.
Also, this is a side-effect of the function.
What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
I will handle the ownership change in follow-up PR.
Release note:
NONE

/close
Moved to https://github.com/kubevirt/kubevirt/pull/6240


Only render UserDetailsTooltip on web

Details

We only need the UserDetailsTooltip component on web, that's why we can skip it for the other platforms.
Fixed Issues

$ https://github.com/Expensify/App/issues/21796
PROPOSAL: https://github.com/Expensify/App/issues/21796
Tests

[ ] Verify that no errors appear in the JS console
[ ] Hover over an entry on the SidebarLinks and verify that the tooltip is still working on web
[ ] Verify that the SidebarLinks look correct on the mobile platforms

Offline tests

Doesn't apply
QA Steps

Same as testing steps
PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

Also, I don't think well need a C+ review here.

@hannojg bump for changes and conflicts

Hey @roryabraham sorry for the wait! This is good for review again! 😊

Not an emergency, but I did actually forget to do the reviewer checklist here. My bad, but this is a trivial change where we just removed a tooltip on mobile, where it never shows anyways. Anyways, still should've completed the checklist...

🚀 Deployed to staging by https://github.com/roryabraham in version: 1.3.39-3 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@hannojg Can you pls clarify for QA team what is "SidebarLinks" component on the page

Hey @chiragxarora good catch, so sorry, might have happened that I missed your change during merge. Double checking …

Reapplied the changes in this PR: https://github.com/Expensify/App/pull/22637

@chiragxarora do we have an ETA for this one? This would mean our original issue will be pushed in the payment timeline.

🚀 Deployed to production by https://github.com/francoisl in version: 1.3.39-11 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Load language resources when deserializing SnipsNLUEngine

Codecov Report

Merging #588 into develop will increase coverage by 0.01%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##           develop     #588      +/-   ##
===========================================
+ Coverage    93.47%   93.48%   +0.01%
===========================================
  Files           46       46
  Lines         2515     2519       +4
  Branches       508      509       +1
===========================================
+ Hits          2351     2355       +4
  Misses         104      104
  Partials        60       60


[Epic] Restoring an "initial configuration" to Kubernetes clusters

Like golden VM images, but for the entire cluster.
Use cluster-api/HAF to stamp out clusters, then run an ark restore to apply the "golden cluster image" which might include common add-ons or components:

cert-manager
imagePull secrets
auth gateway (dex, etc)

We're no longer using this epic issue for tracking, closing.


Add block device driver

Summary
The goal is that a libStorage instance installed on a distributed node is able to discover available block devices and manage their usage. The benefit is that a user can leverage libStorage to orchestrate and manage local devices for applications that want access to raw block devices or block devices or paths can be mounted
New Feature

It's okay to ignore the size of the block device for now. It's an "all or nothing" choice
How do we fit this into our model: e.g. storage platform == storage controllers?, storage pools == specific block device types?, volume == specific block device or partition?
If a libStorage client is to do this all on its own, this doesn't require interaction with a libStorage server at all. Is interaction with a libStorage server required today? Can we change that? If so, should we?

It may be enough to download the executor for this driver from the libS server, and then execute everything locally.

Issue moved to codedellemc/rexray #961 via ZenHub


Apply namespace labels

A number of teams have namespace labels that are relevant to cost allocation. We've shied away from using these largely because of potential conflict with pod/deployment labels. Lets develop a model for solving these potential conflicts and apply these labels.

This feature was released in v1.43!


Name field doesn't appear on MacOS

What went wrong?

Export dialog doesn't allow to change name on MacOS. It is different from the one here:
https://khalim19.github.io/gimp-plugin-export-layers/sections/Advanced-Usage#dialog
If you can, tell us the steps to reproduce the problem.

Install the plugin as is mentioned in the Readme.txt. The way in the  docs
is for a different version, I guess.
Create an image with several layers.
Run file/export layers

Export layers dialog is different to the one in the docs:

Configuration
Version of Export Layers:
2.5
Version of GIMP:
2.8
Operating system:
MacOS High Sierra

The documentation is for 3.0-RC2  (not 2.5 or lower), which contains the name field (among other new features).
Sorry about the confusion. You can already use 3.0-RC2, it's pretty stable and usable as-is, I just need to fix one elusive bug and make a few adjustments before 3.0 is released.

Ok. Thanks for your reply. I will try next version. It was not a problem, I just opened the issue in case it was a bug.
Sorry for the inconvenience :-)


v0.6.5

We need to merge #85 before that.

Note that with the new versioning system you can run npm run release -- --dry-run to test that it's gonna do what we expect it to do.


GetAccessTokenError: Client error '400 BAD REQUEST' for token

Since one of your recent changes I get an error after Authorizing and redirecting back to the streamlit page "GetAccessTokenError: Client error '400 BAD REQUEST' for url 'https://kadi4mat.iam.kit.edu/oauth/token'"
I have read all of your recent commits and looked if kadi has changed anything but I could not find anything, that causes this error... Tried different things like extras_params={'response_type':'code'} or/and extras_params={'grant_type':'authorization_code'} or pkce='S256' instead of None but nothing works.. do you have any idea @dnplus?
button code is:
result = oauth2.authorize_button(
            name='Login with Kadi4Mat',
            icon='https://kadi4mat.readthedocs.io/en/stable/_static/favicon.ico',
            redirect_uri='https://epmatools-beta.streamlit.app/component/streamlit_oauth.authorize_button',
            scope='',
            key='kadi',
            extras_params={},
            pkce=None,
            use_container_width=True,
            auto_click=False
            )

oauth2component code is:
oauth2 = OAuth2Component(
    client_id = st.secrets['oauthClientID'],
    client_secret = st.secrets['oauthClientSecret'],
    authorize_endpoint = 'https://kadi4mat.iam.kit.edu/oauth/authorize',
    token_endpoint = 'https://kadi4mat.iam.kit.edu/oauth/token',
    refresh_token_endpoint = 'https://kadi4mat.iam.kit.edu/oauth/token',
    revoke_token_endpoint = 'https://kadi4mat.iam.kit.edu/oauth/revoke',
)

this is the documentation on the POST oauth/token: https://kadi4mat.readthedocs.io/en/stable/httpapi/intro.html#post--oauth-token
but they changed nothing there..
PS: the code is getting saved (on update I get the 'StreamlitOauthError: STATE xy DOES NOT MATCH OR OUT OF DATE' which seems to be correct then)

Thanks, that was it!
I defined a custom component from yours:
class kadiOAuth2Component(OAuth2Component):
    def __init__(self, *args, token_endpoint_auth_method="client_secret_post", **kwargs):
        super().__init__(*args, token_endpoint_auth_method=token_endpoint_auth_method, **kwargs)

oauth2 = kadiOAuth2Component(
    client_id = st.secrets['oauthClientID'],
    client_secret = st.secrets['oauthClientSecret'],
    authorize_endpoint = 'https://kadi4mat.iam.kit.edu/oauth/authorize',
    token_endpoint = 'https://kadi4mat.iam.kit.edu/oauth/token',
    refresh_token_endpoint = 'https://kadi4mat.iam.kit.edu/oauth/token',
    revoke_token_endpoint = 'https://kadi4mat.iam.kit.edu/oauth/revoke',
)

that seems to work fine 👍
Thanks for the quick response!


Resolving Security Audit Vulnerabilities

Change Description
Updating dependencies affected by security vulnerabilities

API Changes

[ ] API Changes

Documentation Additions

[ ] Documentation Additions

Closing this PR since the changes have been incorporated into develop in newer PRs. This PR now has zero file changes to develop as a result.


[BUG] Footer not working as expected in Category page and Teams Page

Description
In the Category page, the footer width is not the same as the other pages. You can see in the ss i attached that some white space is left on the both sides of the footer.
In the Teams page, the quick links and newsletter section are duplicated.
Please assign this PR to me, I will resolve this issue ASAP.
Thank You :)
Screenshots
Home Page(Normal):

Category Page(Abnormal):

Teams Page(Abnormal):

Any additional information?
No response
What browser are you seeing the problem on?
No response
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I'm a GSSoC'24-Extd contributor
[X] I'm a Hacktoberfest'24 contributor
[X] I am willing to work on this issue (optional)

hey @mdazfar2 I updated the footer as you can see the screenshot below below assign this issue to me

@ansiace Great.

Don't forget to give our repository a star and let me know once you've done it.

@ansiace Great.

Don't forget to give our repository a star and let me know once you've done it.

Thanks for assign me I starred the repository


fix: scrap can be nil, this should be represented in code.

Also count and scrap are defined as int in the db
Description
This pr fixes an issue, where it would return 5XX errors for scrap requests, since it is nullable in the db, but was not in factoryinsight
Fixes #1170
Type of change

[X] Bug fix (non-breaking change which fixes an issue)

Checklist:

[X] My code follows the style guidelines of this project
[X] I have performed a self-review of my own code
[X] My changes generate no new warnings
[X] I have checked that my issue complies with the Contributing guidelines

Codecov Report

Merging #1171 (d427766) into main (13a8c22) will decrease coverage by 0.09%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main    #1171      +/-   ##
==========================================
- Coverage   13.15%   13.05%   -0.10%
==========================================
  Files          29       29
  Lines        7908     7913       +5
==========================================
- Hits         1040     1033       -7
- Misses       6798     6808      +10
- Partials       70       72       +2

Impacted Files
Coverage Δ

golang/cmd/factoryinsight/database.go
0.00% <0.00%> (ø)

golang/internal/exponential_backoff.go
50.00% <0.00%> (-10.72%)
:arrow_down:

golang/internal/ioddfinder.go
63.07% <0.00%> (-3.08%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 13a8c22...d427766. Read the comment docs.


Add waitForAllTaskTermination for fixing segmentation fault of Carthage

This is rebased version of #21.
Fix segmentation fault on termination of Carthage.
Segmentation fault on termination of Carthage 0.7.4 beta-2 happens following scenario:

launchTask's thread call sendCompleted() and kick main thread
2a. main thread wake up and call exit()
2b. launchTask's thread continue disposing
main thread cause segmentation fault.

Waiting completed from launchTask's thread is not enough for fixing the segmentation fault.
It needs waiting actual termination of launchTask's thread
https://github.com/Carthage/Carthage/pull/474#issuecomment-107949958

It looks like @jspahrsummers left some feedback on #21. Could you that feedback on this PR please?

Thanks for reviewing.
As @jspahrsummers wrote on https://github.com/Carthage/ReactiveTask/pull/21#issuecomment-106157870, his comments on lines are not valuable for the purpose of this PR.
He implemented #23 from my suggestion by #21, using fine-grained and waiting per-task logic using RAC way. But #23 did not be replacement of #21.
So, I push this PR.

Okay, thanks for the info. I think given the practical considerations that we ought to merge this PR, and then if it needs adjustment we can do that later on.
Thanks very much for the PR and your investigation into the segfaults, @norio-nomura!

Thank you for reviewing & merging it.
I have one more https://github.com/ReactiveCocoa/ReactiveCocoa/pull/2058 related to Carthage hangs. I wish it will be also merged to next release.

Cool, merged.

Thanks!

Oh, I should said about ReactiveCocoa before I pushed update Cartfile, Sorry. :pensive:

Don’t sweat it!

Thanks,
I don't have any pending PRs about Carthage.


issue on applying TF plan solidserverversion attribute

Hi Alexis,
i tried to apply terraform on my local env   to deploy splunk infra in aws.
i call solidserver as a provider describe in main.tf below :
terraform {
required_version = "0.13.5"
required_providers {
aws = {
source  = "hashicorp/aws"
version = "3.30.0"
}
solidserver = {
source  = "alexissavin/solidserver"
version = "1.1.9"
}
}
backend "s3" {
encrypt = false
region  = ""
}
}
provider "aws" {
region = ""
}
provider "aws" {
}
provider "solidserver" {
username  = ""
password  = ""
host      = "****"
sslverify = false
}
but i'm facing error :
module.networking.data.aws_iam_policy_document.vpc_flow_logs_assume_role: Refreshing state...
Error: SOLIDServer - Error retrieving SOLIDserver Version (No Answer)
on main.tf line 30, in provider "solidserver":
30: provider "solidserver" {
The deployment is ok via gitlabCI , solidserver username and password are defined as variables

i tried in many ways but still ko.
Could you help me to resolve or bypass this error, thanks a lot for your help Alexis.
Regards
Karim

Hello,
Based on the logs, the instance running the terraform software has no connectivity to the SOLIDserver.

Hello,
Any update on this ?
Without answer from your side within a week, I will need to close this issue.
Thanks for your understanding.
Kind regards


Direct dependency bson is not explicitly required

Bug Description
The bson package is referenced in several places as a direct dependency, but it is not explicitly required.
Steps to Reproduce

pip install ethyca-fides
Start the API server
See exceptions like ModuleNotFoundError: No module named 'bson'

Expected behavior
Direct dependencies should be explicitly required.
Additional context
The bson package is currently referenced in the following places:
https://github.com/ethyca/fides/blob/829b941c529088a6d2ca1ffe9292677efea49789/src/fides/api/ops/graph/data_type.py#L6-L7
https://github.com/ethyca/fides/blob/829b941c529088a6d2ca1ffe9292677efea49789/tests/ops/graph/test_data_types.py#L1
https://github.com/ethyca/fides/blob/829b941c529088a6d2ca1ffe9292677efea49789/tests/ops/integration_tests/test_mongo_task.py#L8
https://github.com/ethyca/fides/blob/829b941c529088a6d2ca1ffe9292677efea49789/tests/ops/task/test_filter_results.py#L4
https://github.com/ethyca/fides/blob/829b941c529088a6d2ca1ffe9292677efea49789/tests/ops/task/test_graph_task.py#L3

bson is a dependency of the mongo set of optional dependencies. It may be enough to gate it's usage behind a check for pymongo.


ClientModuleInstance should wrap M

Client::get_first_module should just return ClientModuleInstance<M> and it should ops::Deref to M so using is soooo much nicer instead of destructing to tuple.

Done.


Need to type server url after logout on mobile device

Describe the feature you'd like
Thanks for this great product. 1 feature missing in our company is:
When logged out from the app, users would like to be able to choose previously used server name from the list.
Users have trouble remembering chat's url in the format http://chat.company-name.com
Many thanks!

I would like that feature too. Remembering and typing long url's with a mobile keyboard again and again is not much fun.


Attempt to forward ports using UPnP

https://github.com/adolfintel/WaifUPnP
https://github.com/jupnp/jupnp

Unable to test these changes currently since I am behind CG-NAT. I currently do not have a public IP

The framework used is L-GPL licensed so appropriate attribution needs to be provided.


Store a function as a variable and reuse across steps

It doesn't seem like it is possible to conditionally store a function in a member variable based on some logic. Consider the following example:
from metaflow import FlowSpec, Parameter, step

class ExampleFlow(FlowSpec):
    operator = Parameter(
        "operator",
        help="Choose `add` or `subtract`.",
        default="add",
    )

    @staticmethod
    def add(a, b):
        return a + b

    @staticmethod
    def sub(a, b):
        return a - b

    @step
    def start(self):
        # Assign the function to a variable in the standard way
        self.operator_func = self.add if self.operator == "add" else self.sub

        # Storing the function in a list appears to work
        # self.operator_func = [self.add] if self.operator == "add" else [self.sub]
        self.next(self.calc)

    @step
    def calc(self):
        # This will throw an error:
        # AttributeError: Flow ExampleFlow has no attribute 'operator_func'
        print("Result:", self.operator_func(10, 5))

        # This works by storing the function in a list
        # print("Result:", self.operator_func[0](10, 5))

        self.next(self.end)

    @step
    def end(self):
        print("Finished")

if __name__ == "__main__":
    ExampleFlow()

Here in start, the self.operator_func is conditionally set to point to either add or sub function. Doing this in the typical way, with conditional assignment throws an AttributeError in the proceeding calc step. However, one workaround is to store the function in a list instead and that does then seem to be available in the calc step (see the commented out parts in the example above). Is this the expected behaviour?
Metaflow version 2.5.4

This is "expected" insofar as the logic explicitly excludes methods and functions (see here: https://github.com/Netflix/metaflow/blob/master/metaflow/datastore/task_datastore.py#L696). The reasoning behind that was to store only user level stuff (and not the functions inside the flow itself). When you wrap it in something else (a list, tuple), the check doesn't consider it to be a function so it works. I do agree that it is a bit wonky so we could maybe move to improve this.


Version 13.0.0 and 13.0.1 are not tagged as "latest" on NPM

Summary
When I install eas-cli globally via NPM, it installs version 12.6.2. I would expect 13.0.1. The reason is that 13.0.0 and 13.0.1 are not tagged as latest on NPM. The latest one is 12.6.2.
Reproducible demo or steps to reproduce from a blank project
> npm install -g eas-cli
> eas -v
★<EMAIL_ADDRESS>is now available.
To upgrade, run npm install -g eas-cli.
Proceeding with outdated version.

eas-cli/12.6.2 darwin-arm64 node-v20.15.1

Update: version 13.1.0 is correctly marked as latest, closing this issue.


Opinion for Fast PatchMerging Layer

https://github.com/svip-lab/AS-MLP/blob/946848d957e5b1c33226ddacaa35f422a103ddfb/models/as_mlp.py#L187-L222
Thanks for sharing your work!
Why did you design PathMerging Layer normalizing features first?
I think that if we normalize features after reduce layer, we can reduce the size of model and flops like below code.
Did you do ablation study for this layer?
 class PatchMerging(nn.Module):
     r""" Patch Merging Layer.

     Args:
         input_resolution (tuple[int]): Resolution of input feature.
         dim (int): Number of input channels.
         norm_layer (nn.Module, optional): Normalization layer.  Default: nn.LayerNorm
     """

     def __init__(self, input_resolution, dim, norm_layer=nn.LayerNorm):
         super().__init__()
         self.input_resolution = input_resolution
         self.dim = dim
         self.reduction = nn.Conv2d(4 * dim, 2 * dim, 1, 1, bias=False)
         self.norm = norm_layer(2 * dim)

     def forward(self, x):
         """
         x: B, H*W, C
         """
         B, C, H, W = x.shape
         #assert L == H * W, "input feature has wrong size"
         assert H % 2 == 0 and W % 2 == 0, f"x size ({H}*{W}) are not even."

         x = x.view(B, C, H, W)

         x0 = x[:, :, 0::2, 0::2]  # B C H/2 W/2
         x1 = x[:, :, 1::2, 0::2]  # B C H/2 W/2
         x2 = x[:, :, 0::2, 1::2]  # B C H/2 W/2
         x3 = x[:, :, 1::2, 1::2]  # B C H/2 W/2
         x = torch.cat([x0, x1, x2, x3], 1)  # B 4*C H/2 W/2

         x = self.reduction(x)
         x = self.norm(x)
         return x

@developer0hye We didn't try this. The PatchMerging we used is from Swin-transformer.

@niujinshuchong Thanks for your reply!


Applied fixes from StyleCI

This pull request applies code style fixes from an analysis carried out by StyleCI.

For more information, click here.

current config
preset: psr1

enabled:
  - whitespacy_lines
  - trailing_spaces
  - ternary_spaces
  - spaces_cast
  - single_quote
  - elseif
  - extra_empty_lines
  - concat_with_spaces
  - operators_spaces
  - php_closing_tag
  - standardize_not_equal
  - align_double_arrow
  - eof_ending
  - function_declaration
  - function_call_space


hebrew pdf documents and web urls gives latin-1 error

Describe the bug
when uploading pdf documents and web urls in the ingest documents screen, i am getting an error which most of the times looks like this:
Traceback (most recent call last): File "/usr/local/src/myscripts/admin/pages/01_Ingest_Data.py", line 95, in <module> st.session_state["file_url"] = blob_client.upload_file( ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/src/myscripts/admin/batch/utilities/helpers/azure_blob_storage_client.py", line 119, in upload_file blob_client.upload_blob( File "/usr/local/lib/python3.11/site-packages/azure/core/tracing/decorator.py", line 105, in wrapper_use_tracer return func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/azure/storage/blob/_blob_client.py", line 775, in upload_blob return upload_block_blob(**options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/azure/storage/blob/_upload_helpers.py", line 102, in upload_block_blob response = client.upload( ^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/azure/core/tracing/decorator.py", line 105, in wrapper_use_tracer return func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/azure/storage/blob/_generated/operations/_block_blob_operations.py", line 846, in upload pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/azure/core/pipeline/_base.py", line 229, in run return first_node.send(pipeline_request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/azure/core/pipeline/_base.py", line 86, in send response = self.next.send(request) ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/azure/core/pipeline/_base.py", line 86, in send response = self.next.send(request) ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/azure/core/pipeline/_base.py", line 86, in send response = self.next.send(request) ^^^^^^^^^^^^^^^^^^^^^^^ [Previous line repeated 2 more times] File "/usr/local/lib/python3.11/site-packages/azure/core/pipeline/policies/_redirect.py", line 197, in send response = self.next.send(request) ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/azure/core/pipeline/_base.py", line 86, in send response = self.next.send(request) ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/azure/storage/blob/_shared/policies.py", line 529, in send response = self.next.send(request) ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/azure/core/pipeline/_base.py", line 86, in send response = self.next.send(request) ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/azure/core/pipeline/_base.py", line 86, in send response = self.next.send(request) ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/azure/core/pipeline/_base.py", line 86, in send response = self.next.send(request) ^^^^^^^^^^^^^^^^^^^^^^^ [Previous line repeated 1 more time] File "/usr/local/lib/python3.11/site-packages/azure/storage/blob/_shared/policies.py", line 302, in send response = self.next.send(request) ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/azure/core/pipeline/_base.py", line 86, in send response = self.next.send(request) ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/azure/core/pipeline/_base.py", line 86, in send response = self.next.send(request) ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/azure/core/pipeline/_base.py", line 118, in send self._sender.send(request.http_request, **request.context.options), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/azure/storage/blob/_shared/base_client.py", line 348, in send return self._transport.send(request, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/azure/core/pipeline/transport/_requests_basic.py", line 355, in send response = self.session.request( # type: ignore ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/opentelemetry/instrumentation/requests/init.py", line 180, in instrumented_send return wrapped_send(self, request, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( ^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/opentelemetry/instrumentation/urllib3/init.py", line 316, in instrumented_urlopen return wrapped(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( ^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/urllib3/connectionpool.py", line 495, in _make_request conn.request( File "/usr/local/lib/python3.11/site-packages/urllib3/connection.py", line 397, in request self.putheader(header, value) File "/usr/local/lib/python3.11/site-packages/urllib3/connection.py", line 311, in putheader super().putheader(header, *values) File "/usr/local/lib/python3.11/http/client.py", line 1267, in putheader values[i] = one_value.encode('latin-1') ^^^^^^^^^^^^^^^^^^^^^^^^^^^ UnicodeEncodeError: 'latin-1' codec can't encode characters in position 0-4: ordinal not in range(256)
Steps to reproduce
Steps to reproduce the behavior:

Go to 'admin url'
Click on 'ingest documents'
Upload 'any hebrew pdf document or input any hebrew url'
See error

Screenshots
https://snipboard.io/w9y8gB.jpg

@freshuk We are able to upload Hebrew pdf or URL from 'Ingest data'. could you please help us with any specific document or URL to replicate this issue.

cc @Roopan-Microsoft

@freshuk We are able to reproduce the issue. seems issue with the file name. our team looking into this.

@Roopan-Microsoft

exactly! i just found out that if i change the file name to english, it
uploads fine, but with the urls i can't change the name obviously
thank you
בתאריך יום ב׳, 23 בספט׳ 2024 ב-10:39 מאת Govardhana-Microsoft <
@.***>:

@freshuk https://github.com/freshuk We are able to reproduce the issue.
seems issue with the file name. our team looking into this.
image.png (view on web)
https://github.com/user-attachments/assets/ac326267-e115-4fae-9d68-6c94dd354aa3
@Roopan-Microsoft https://github.com/Roopan-Microsoft
—
Reply to this email directly, view it on GitHub
https://github.com/Azure-Samples/chat-with-your-data-solution-accelerator/issues/1333#issuecomment-2367442157,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUQD7X24WJB6HNMEQSRWFXLZX7AUTAVCNFSM6AAAAABOU3TKAOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNRXGQ2DEMJVG4
.
You are receiving this because you were mentioned.Message ID:
<Azure-Samples/chat-with-your-data-solution-accelerator/issues/1333/2367442157
@github.com>

--
בני ווקס - סמנכ"ל תפעול וטכנולוגיה
ת.א. יבולה בע"מ
נייד: 0544-220421

@freshuk We are currently addressing this issue and will keep you updated.

@freshuk Can you please provide us the URL's in which you are getting errors while uploading in ingest documents screen?

Hello @freshuk, I’d like to inform you that we are unable to reproduce the issue with the URL. Below is the evidence for your reference:
https://github.com/user-attachments/assets/85b8252f-02c3-4099-907b-51c6837cb334
https://github.com/user-attachments/assets/868db703-6c4d-49ed-af3d-b56688967ba5
Could you please share how you are attempting to process the web pages/URLs?

@freshuk Could you please provide the specific URL's where you are encountering errors while uploading/processing in the ingest documents screen? This information will help us troubleshoot the issue more effectively.

Hello @freshuk, We are closing this issue now since it has already been fixed as part of PR https://github.com/Azure-Samples/chat-with-your-data-solution-accelerator/pull/1376. If you still encounter the issue, please feel free to reopen it. We are here to help if you need any assistance! 😄


RFC - Annotations

Rendered
Proposes reserving @name and co for statements and expressions, to pave the way for features like:
@mustuse
local function giveValue(): number

Support because this means inlining could be added and inlining could actually be useful to reduce the overhead of calls on simple statements such as:
@inline
local function GetCatNameFromAge(cat)
  return if cat.age >= 1 then "cat" else "kitten"
end

I believe this is really poorly fleshed out.

Support because this means inlining could be added and inlining could actually be useful to reduce the overhead of calls on simple statements @metatablecat

Inlining should not be the motivating scenario given it's already a feature that the compiler already performs.
Additionally, why should we give valuable syntax to something that could be more concisely expressed as a comment? eg:
-- allow unused variable
local x = 1

local x = {
	-- allow undefined variable
	notDefined,
}

I just believe there is a better use for this syntax, such as annotating tables, that users could benefit from.

I just believe there is a better use for this syntax, such as annotating tables

I'd be interested to know what you mean by annotating tables in this case. I'm not able to think of a case where this syntax isn't usable for both annotating functions and tables, but I'm open to it if an example can be provided.
That said, comments aren't a good alternative to this syntax because having to parse comments to control language features is bad. It works for directives at the moment, but they have to be the first tokens in the file and it complicates things dramatically to peek at every comment in a file.

@Dekkonot thanks for your response! Sorry for the long delay—Here are my thoughts:

I'd be interested to know what you mean by annotating tables in this case.

My apologies, I was unnecessarily vague there. I believe that this syntax can be used for better semantics than switching on/off type checker features. I’ve included some examples in my (competing) RFC here.
Basically, the gist of it is a rip-off of ECMA Decorators, which are generally praised by the JS community and actively used to enhance previously-imperative code with declarative constructs.
Here’s  an example of it being used to enhance defining schemas with a JavaScript ORM.
This  C# project uses Attributes (Similar to ECMA decorators, but different semantics) to allow developers to easily automate creating protobuf-like schemas for C# classes.

That said, comments aren't a good alternative to this syntax because having to parse comments to control language features is bad.

Why is it bad? Comments are frequently used to store structured information (eg, jsdoc, xmldoc), so why is it bad for the type checker to use comments too?
The way I see it, it’s already used by the typechecker in a much more limited sense—so it’s positioned well to provide even more annotations to the typechecker in the future.

it complicates things dramatically to peek at every comment in a file.

Luau currently reads and lists all “hot” (--!) comments, it’s just ones that occur after the first lexeme are marked as such and ignored, as you said. While I don’t disagree that this would be complex, it’s not like we’re starting from scratch.

I'm a bit of a rust nut so I would prefer Rust's way of doing annotations but this definitely wont work with Lua syntax, the best approach honestly is to just extend upon the already existing --!macro syntax, since no new grammar needs to be added
--!inline
local function isOdd(n)
  return bit32.band(n, 1) == 1
end

@Mooshua

I believe that this syntax can be used for better semantics than switching on/off type checker features.

This RFC specifically does not indicate what it will be used for. It specifically states "[t]his RFC does not propose any annotations, just that the syntax be reserved for future use cases." Whether they end up being annotations or decorators is ultimately irrelevant to this RFC, which is why it's being done; we don't have to agree on the details, just that it should take this syntax. Let's not get caught up bike-shedding quite yet.
@metatablecat

I'm a bit of a rust nut so I would prefer Rust's way of doing annotations but this definitely wont work with Lua syntax, the best approach honestly is to just extend upon the already existing --!macro syntax, since no new grammar needs to be added

As I said before, I would prefer language features not be controlled by comments! It's fine at the moment because the type checker and optimization level don't impact the runtime of any code. Poorly typed code will still compile to the same code and the behavior should be the same between O0 and O2. This follows the use of comments, which is to provide information and not instructions.
If a comment began altering runtime behavior, it would mean any parser or compiler that disregards comments would be wrong. At the moment, disregarding comments for stuff like a linter has no consequences. It may end up being a problem if they became significant, so I can't support it.

I think it would be nice to have two different types of annotations. Although this may make it more confusing, it does enable it to be more powerful.
One would simple add information and nothing else onto an object of either type table or function.
The other would instead pass the object as the first argument to a function and then keep the return value. I.e.
type @somedecorator(text: string, number: number) -- example syntax

@somedecorator("abc",123)
function foo()
    -- blah blah blah...
end

print(getannotation(foo, "somedecorator")) -- "abc", 123
print(getannotations(foo)) -- {"somedecorator"}

-----

function wrapperdecorator(f, initial: any)
    return function(...)
        f(initial, ...)
    end
end

@wrapperdecorator(123)
function myCustomFunction(...)
    print(...)
end

print(myCustomFunction("hello")) -- Output: 123, hello

--! is also used by more than zero tools in the Lua ecosystem for their own control statements, and thus would have tougher backwards compatibility concerns than a new syntax.

--! is also used by more than zero tools in the Lua ecosystem for their own control statements, and thus would have tougher backwards compatibility concerns than a new syntax.

Maybe --@ could be a good syntax for annotations?

I agree with Dekkonot that comments should not alter runtime behavior. --@ is a comment.

I agree with Dekkonot that comments should not alter runtime behavior, which annotations very well should have the ability to do. --@ is a comment.

What are examples of ehat they potentislly would modify runtime behavior.
Like how mich is the runtime behavior affected by them?

This RFC intentionally does not request any specific annotations, but annotations changing runtime behavior is something that very much should be possible. Off the cuff ideas purely for the sake of example are things like force inlining or memory tracking.

I think you should add something to the RFC telling that annotations shouldn't be used in a way that they totally change the semantics of a function.
That is, they should only be used for things that do not radically change or alter the semantics of the function.
Force inlining and memory tracking are fine, because they don't really change the semantics of the function. (Although inlining is already done by the compiler so the usefulness of force inlining is not quite clear)
But mustuse should never result in errors, that is, a mustuse shouldn't change the semantics of a script.

Worth noting that there could theoretically be use cases where you want to attach an attribute to all returns of a function, or attach an attribute on the module itself, etc, e.g. C# [return: ...] or Rust #![...].
This makes me think that we should reserve syntax that uses an opening and closing delimiter for the sake of future proofing, otherwise we run into the usual ambiguities at the tail end of the syntax. It's also why extending Luau with new syntax without causing breaking changes is a nontrivial problem, the lack of ; to close a statement.

@alexmccord What do you think about something like @()?

@alexmccord What do you think about something like @(must_use)?

Mustuse should be calculated on compile time not on runtime

How about @[...], #[...], or [...]?

I'm more in favor of #[...] if we go with that style of delimiters because # is already used in Luau for things so it would feel more consistent. I think @(...) looks bad but I also don't care for @[...].
That said, I can see some people being unhappy with using # instead of @ because of the precedent set by languages like Python and TypeScript... Though I imagine those same people will already be unhappy with @[...] or @(...) instead of @..., so it might not be worth worrying about.

I feel like this discussion has just been bikeshedding about the specific syntax to be used rather than the actual semantics and use cases.
We don’t need to make an RFC “reserving” this syntax since it isn’t valid Luau syntax anyways.
I’d prefer if instead we discussed how these annotations would be defined, how these would be used, and what the API surface would look like for user-defined ones, if we choose to support that.

I feel like this discussion has just been bikeshedding about the specific syntax to be used rather than the actual semantics and use cases.

The entire point of this RFC is to settle the question of syntax. It isn't "bikeshedding" for a committee to gather and discuss the color of a bike shed when that is what the meeting was for. The entire point of this discussion is to have a back and forth over syntax; it is not to have a back and forth over how they should work, how they'll be implemented, if/how they should be defined by users, what specific annotations would be implemented, whether these should be "decorators" or "annotations", or anything else you can think of that is not about syntax.
If you wish to argue semantics, you should do so in a different RFC that is intended to settle that question. But please do not attempt to derail this RFC into something it is explicitly not about.

It isn't "bikeshedding" for a committee to gather and discuss the color of a bike shed when that is what the meeting was for.

The syntax truly does not matter. Both @ and # are easily accessed on most keyboard layouts around the world. People won’t look at this and go “I won’t use it because it’s an @ and not a #!”

If you wish to argue semantics, you should do so in a different RFC that is intended to settle that question.

I have! Check out #824. But you’re still over here arguing about how you’d type it out.
…And because we have no solid foundation on how these objects should be treated (such as whether or not they can be typed or indexable, and where they can appear) we don’t actually know whether or not the syntax we’ve settled on is legal, intuitive, or ambiguous (eg, not a == b)
So now we’ve spent four months looking at the same proposal that still has gotten no serious traction or progress because we’re stuck up arguing on what color the bike is and not whether or not it will actually have wheels.

I have! Check out #824. But you’re still over here arguing about how you’d type it out.

I would except it's tagged as a draft still. That usually indicates something isn't ready for review. 🙂

Alright, I've gone ahead and readied it for review since I'm fairly confident in it for the time being. Didn't realize that would be a blocker, thanks!

#[] is okay, with the caveat that [] feels like something that might have syntax added onto it someday (Andy showed some interest in that)...what do you think @alexmccord?
@Mooshua Any form of annotations needs to have the right syntax, so the conversation is toing to happen at some point anyway. Better to get it done in a dedicated thread for it. Otherwise, an RFC for affixing behavior to annotations is going to be half-syntax and half-behavior discussions, which is a lot harder to follow.

This PR is closed as part of RFC migration; please see https://github.com/luau-lang/luau/issues/1074#issuecomment-1785578157 for context.
Additional context: I think it's inevitable that we will end up with this syntax, or a similar syntax. I would recommend using @ in favor of #; # might make sense for Rust but doesn't make sense for Luau as it's already used in the grammar and means something completely unrelated to the idea of annotations. I would recommend not using the word "annotations" here and instead use the word "attributes". We already have (type) annotations and we should not overload the terms. Finally, I'd be interested in seeing a smaller scope proposal that proposes a couple specific attributes that bind to a few specific constructs, maybe focusing on functions - thinking through use cases, a lot of them end up function-centric, and I'm worried that the full attribute syntax is going to require a lot of parser and grammar changes, where function-specific attributes may be easier to specify or implement. That said, there's certainly use cases for adding attributes to local variable declarations as well as statements.
Off the top of my head, a few things I could see using attributes for in the future:

@inline et al to guide function inlining when our heuristics are insufficient
@native et al to ensure functions are compiled (or not!) to native code (we currently have module-level hot comments)
@mustuse to ensure the return of a function is used
@unused for variable declarations, although maybe _ prefix is fine for this
@unroll for for loops to force unrolling to happen
@checked for functions to enforce checking type annotations at runtime (not saying we end up doing this, but this came up in the past)


Simplify unsupported field type reporting

Replace intermediate FieldProblemReporter by direct function call.

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.


Fixed-Zero quantity in messages doesn't work in English

Description (required)
Fixed-Zero quantity in messages doesn't work in English
Fixes #343
What changes did you make and why?

Removed the quantity item zero from string plural contributions_subtitle
Handled zero upload count from MainActivity

Tests performed (required)
Tested betaDebug on API 27

Codecov Report

Merging #4057 (d828ec8) into master (0f9d462) will decrease coverage by 0.00%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##             master    #4057      +/-   ##
============================================
- Coverage     10.61%   10.61%   -0.01%
  Complexity      476      476
============================================
  Files           343      343
  Lines         12871    12872       +1
  Branches        997      998       +1
============================================
  Hits           1366     1366
- Misses        11437    11438       +1
  Partials         68       68

Impacted Files
Coverage Δ
Complexity Δ

...r/free/nrw/commons/contributions/MainActivity.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0f9d462...d828ec8. Read the comment docs.

Thanks @ashishkumar468 !


Question: Is any sample code available to refer for parsing yang-patch notification

Hi Michal,
We are trying to use establish push on change notification. We are receiving yang patch notification properly on our application,  we want to refer sample code to understand this yang patch parsing.
Thanks,
Srikanth

There is no specific sample code, YANG data manipulation is performed fully by libyang so I am not sure what exactly are you asking. You are probably not using libnetconf2 so just parse the received notification yourself, using lyd_parse_op().

Thanks Michal, we are looking for a way to get the patch in xml to provide to consuming applications, so since the data may have multiple edits, we are looking to see if we can extract changes and provide as single xml

You can do anything you want using libyang parse and print functions. Unless you ask a more specific question, I cannot give you a more precise answer.

Hi Michal,
Thanks for helping,
we are doing a establish push subscription for a XPATH /ManagedElement/GNBCUCPFunction,
we added a Cell object for this XPath, the resulting notification in yangpatch data had both parent with create , and edits for child as well.
For example

100

100

10

1010

289
101
ff:ff:ff
57

1

1

10

0
0
0
0
0
0

When this block is added, we have about 53 edits, having both parent and child (repeated ) in yang patch,

patch-1

edit-1
create
/_3gpp-common-managed-element:ManagedElement[id='100']/_3gpp-nr-nrm-gnbcucpfunction:GNBCUCPFunction[id='100']/_3gpp-nr-nrm-nrcellcu:NRCellCU[id='10']

10

1010

289
101
ff:ff:ff
57

1

10

0
0
0
0
0
0

1

edit-2
create
/_3gpp-common-managed-element:ManagedElement[id='100']/_3gpp-nr-nrm-gnbcucpfunction:GNBCUCPFunction[id='100']/_3gpp-nr-nrm-nrcellcu:NRCellCU[id='10']/id

10

edit-3
create
/_3gpp-common-managed-element:ManagedElement[id='100']/_3gpp-nr-nrm-gnbcucpfunction:GNBCUCPFunction[id='100']/_3gpp-nr-nrm-nrcellcu:NRCellCU[id='10']/attributes

1010

289
101
ff:ff:ff
57

edit-4
create
/_3gpp-common-managed-element:ManagedElement[id='100']/_3gpp-nr-nrm-gnbcucpfunction:GNBCUCPFunction[id='100']/_3gpp-nr-nrm-nrcellcu:NRCellCU[id='10']/attributes/cellLocalId

1010

So we wanted to know what is the best mechanism to obtain this patch information without multiple edit for same objects,
Thanks,
Srikanth

Actually, these nested changes should probably not be reported so I have modified sysrepo this way. Unfortunately, delete cannot be change because it has no value node and only the node identifiers for each deleted node are reported.

Thank you Michal


Use Java 8 Stream instead.

Hi @arturobernalg
We need to improve the code coverage which is only at 44% before we change more of the internals.


API checker: only diagnose adding enum cases to exhaustive enums

Adding new cases to a non-exhaustive enum type isn't source-breaking
since it only triggers a warning.
rdar://63464929

@swift-ci please smoke test