text:
Re-implement try_download to prevent twice download.

As my mentioned in #260, there was a bug in cargo winrt install procedure, without setting nobody when doing a curl header request, it will cost much time that not just request header. The patch is for fixing it.

@uhuntu how are you testing this to confirm before/after that the network usage is satisfactory? Also, remember to run cargo fmt on the code to allow the CI build to pass.

@uhuntu how are you testing this to confirm before/after that the network usage is satisfactory? Also, remember to run cargo fmt on the code to allow the CI build to pass.

About the cargo fmt, it's pretty strange that in my machine it will not result like CI did. Anyway, I format it like CI suggest.
About the testing, you can see the ouput below after the fix:
C:\Users\hunt\source\repos\winrt-rs>cargo winrt install --verbose
   Resolving winrt_macros
  Installing 0 nuget dependencies
   Resolving winrt
  Installing 3 nuget dependencies
    Fetching KennyKerr.Windows.TestWinRT
  Requesting https://www.nuget.org/api/v2/package/KennyKerr.Windows.TestWinRT/1.0.17
  Requesting https://globalcdn.nuget.org/packages/kennykerr.windows.testwinrt.1.0.17.nupkg
   Retrieved data from https://globalcdn.nuget.org/packages/kennykerr.windows.testwinrt.1.0.17.nupkg
    Starting extraction of 'KennyKerr.Windows.TestWinRT'
   Searching zip file: _rels\.rels
   Searching zip file: KennyKerr.Windows.TestWinRT.nuspec
   Searching zip file: lib\uap10.0\TestComponent.winmd
       Found winmd file: "TestComponent.winmd"
   Searching zip file: runtimes\win10-x86\native\TestComponent.dll
       Found dll "TestComponent.dll" with arch "win10-x86" at path runtimes\win10-x86\native\TestComponent.dll
   Searching zip file: runtimes\win10-x64\native\TestComponent.dll
       Found dll "TestComponent.dll" with arch "win10-x64" at path runtimes\win10-x64\native\TestComponent.dll
   Searching zip file: [Content_Types].xml
   Searching zip file: package\services\metadata\core-properties\0e77aaa72e4f4184a4a9efbcbb14f1ca.psmdcp
   Searching zip file: .signature.p7s
    Fetching Microsoft.AI.MachineLearning
  Requesting https://www.nuget.org/api/v2/package/Microsoft.AI.MachineLearning/1.3.0
  Requesting https://globalcdn.nuget.org/packages/microsoft.ai.machinelearning.1.3.0.nupkg
   Retrieved data from https://globalcdn.nuget.org/packages/microsoft.ai.machinelearning.1.3.0.nupkg

Before the fix, you should never see "Retrieved data from https://globalcdn.nuget.org/packages/microsoft.ai.machinelearning.1.3.0.nupkg"

@tim-weis I re-submitted as you wished.

@uhuntu this looks goood! Thanks for being patient. I think the only thing to do is what @tim-weis said - map the errors from cURL to Error::DownloadError

@rylev @tim-weis Thanks for being patient too :) I re-submitted the code.

Re-submitted.

authors: kennykerr rylev uhuntu

repo: microsoft/winrt-rs


text:
Repeating keys running IntelliJ in WSLg

Windows build number:
22621.0
Your Distribution version:
22.04
Your WSL versions:
WSL version: 1.1.3.0
Kernel version: 5.15.90.1
WSLg version: 1.0.49
MSRDC version: 1.2.3770
Direct3D version: 1.608.2-61064218
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.22621.1485
Steps to reproduce:
Install jetbrains-toolbox directly to wsl, install IntelliJ and use it with a large project
WSL logs:
No response
WSL dumps:
No response
Expected behavior:
No response
Actual behavior:
After awhile keys will randomly start repeating (particularly bad with IdeaVIM!)
I remember this exact same beviour when I used to use Hyper-V making me think whatever common input library/protocol is to blame

I'm also running Chrome Remote Desktop above this, maybe that is a factor as well

I'm pretty sure it's from whatever common library is used by both WSLg and
Hyper-V because I also experienced this with Hyper-V hosted Linux. I think
I tried to bring it up there too years ago and obviously was never fixed
On Fri, Jan 19, 2024, 9:18 AM Adam Bannach @.***> wrote:

I just started running into this as well. I realize this is an old thread.
I've noticed when typing in the terminal sometimes it will miss a key and
then keys will just stay repeating until I hit another key.
Did you ever find the root cause?
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/wslg/issues/1029#issuecomment-1900502826,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMUMHJ2U6CAI2AKQ3GDED3YPJ6CVAVCNFSM6AAAAAAWRYVE2KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMBQGUYDEOBSGY
.
You are receiving this because you authored the thread.Message ID:
@.***>

Interesting. As I was thinking about this, I realized that I turned on the "Quick accent" tool in PowerToys Which listens to holding a key down to prompt for doing the accented character. I just turned it off, so I'll monitor for a bit, but so far I'm thinking that may have been my problem.

Following up, I haven't had an incident since disabling the "Quick accent" tool. Its worth looking into any services that are running that may be monitoring input from the keyboard. Not a solution, but maybe a clue.

I don't even have PowerToys installed, but still experiencing the same issue.
It gets massively worse if there is more than one WSLg window open, at that point I can basically not type anymore because keys will be just repeating endlessly, until I close all but one window again.

source: gharchive/issue

authors: abannachGrafana charlesritchea oxc

repo: microsoft/wslg

license: MIT

license_type: permissive

license_source: github-api


text:
Fixed swapped cache methods

As an urgent hotfix, I have fixed UserTokenCacheAfterAccessNotification and UserTokenCacheBeforeAccessNotification swapped implementations.
Jean-Marc suggested to improve our .NET 4.X cache providers according to the latest changes on microsoft-authentication-extensions-for-dotnet but since this will require more time, I would like to do this quick hotfix first to prevent developers of cloning a wrong class as soon as possible.

@Jackson-Woods FYI (and to watch for other cases, although @TiagoBrenck has searched in all GitHub for this error)

source: gharchive/pull-request

authors: TiagoBrenck jmprieur


text:
Fix RequiredResourceAccess cannot be an array issue in Set-AzureADMSApplication

Why we have this PR
When using Set-EntraApplication -ApplicationId $application.Id -RequiredResourceAccess $requiredResourceAccess, the $requiredResourceAccess could be an array. For example:
$requiredResourceAccess = @(
    @{resourceAppId = '00000003-0000-0000-c000-000000000000'
        resourceAccess = @(
        @{
            id = 'c79f8feb-a9db-4090-85f9-90d820caa0eb'
            type = 'Scope'
        },
        @{
            id = '9a5d68dd-52b0-4cc2-bd40-abcf44ac3a30'
            type = 'Role'
        })
    },
    @{resourceAppId = '11111111-0000-0000-c000-000000000000'
        resourceAccess = @(
        @{
            id = '11111111-a9db-4090-85f9-90d820caa0eb'
            type = 'Scope'
        },
        @{
            id = '11111111-52b0-4cc2-bd40-abcf44ac3a30'
            type = 'Role'
        })
    }
)
Set-EntraApplication -ApplicationId $application.Id -RequiredResourceAccess $requiredResourceAccess

In current logic, the input array will be converted into a single json string. However, the Set-EntraApplication is actually calling Update-MgApplication command, which requires input -RequiredResourceAccess <IMicrosoftGraphRequiredResourceAccess[]>. Reference here. This single string cannot be converted into IMicrosoftGraphRequiredResourceAccess[], causing the following error:

How to fix in the PR
We convert the parameter into string[], each json string can be converted into IMicrosoftGraphRequiredResourceAccess correctly.

Thank you so much, @PenguinCats, for your valuable contribution! We truly appreciate it and are currently reviewing your suggestion.

@PenguinCats: I have run some tests, and the new change is working perfectly. Thank you for the contribution.

Thank you for the quick review.

@KenitoInc: Build pipeline also passed.

repo: microsoftgraph/entra-powershell


text:
Getting participants in a call using the API

Hi
This is related to a post I made on Stackoverflow, but it didn't gain much traction and this seems like a better place for it.
When I try to request the list of participants in a call (as detailed on https://docs.microsoft.com/en-us/graph/api/call-list-participants?view=graph-rest-beta) the response suggests there are none. For example:
I place a call to the bot, and the calling endpoint receives a notification of an incoming call with id 471f0300-401f-4c4a-9967-3cee9a052519. The bot answers the call with a POST on:
https://graph.microsoft.com/beta/app/calls/471f0300-401f-4c4a-9967-3cee9a052519/answer
The bot subsequently receives a message on the calling endpoint that the call has been established. I can query the graph about this call by making a GET:
https://graph.microsoft.com/beta/app/calls/471f0300-401f-4c4a-9967-3cee9a052519
I get a response with code 200 and the details of the call in progress, so the call is clearly valid and accessible. However, if I attempt to get the list of participants with this GET:
https://graph.microsoft.com/beta/app/calls/471f0300-401f-4c4a-9967-3cee9a052519/participants
I get a response with code 200, but the body contains the following:
{"@odata.context":"https://graph.microsoft.com/beta/$metadata#app/calls('471f0300-401f-4c4a-9967-3cee9a052519')/participants","value":[]}
Shouldn't this contain the list of participants in the call? Is this implemented, and if so, is there an example of this working?
Thanks.
--
Edit:
Further to this, I am not getting a notification of the roster being updated when the bot invites participants. Assuming the bot invites someone to join the call with the above call Id, I issue a POST to:
https://graph.microsoft.com/beta/app/calls/471f0300-401f-4c4a-9967-3cee9a052519/participants/invite
The response contains the Id of a comms operation, and when the invitee accepts, the calling endpoint receives a message that the comms operation completed. I do not however get an update to the participants resource as detailed in this piece of documentation. I can't see that I'm doing anything wrong here. Any ideas?

Another issue is that I can't get the participant resource when I use the myParticipantId field which is returned when I GET the call. Surely I should at least be able to get this?
Example assuming the callId is 471f0300-401f-4c4a-9967-3cee9a052519:
I perform a GET on:
 https://graph.microsoft.com/beta/app/calls/471f0300-401f-4c4a-9967-3cee9a052519
I get back some JSON which includes the following:
"myParticipantId": "64e965cf-3672-4a58-accd-6fdd162be212"
I assumed I would be able to get the participant resource by doing the following:
https://graph.microsoft.com/beta/app/calls/471f0300-401f-4c4a-9967-3cee9a052519/participants/64e965cf-3672-4a58-accd-6fdd162be212
But instead I get a 404 with "Participant not found" as the message.

The inability to get participants is becoming a real problem for me, I'd like to try out audio routing groups but once again it seems I need to provide participant Ids. Does anyone else have this working?

Running the incident bot sample I see that a GET on calls/{id}/participants does actually work and I get a list of participants. That's when I follow the instructions in README.md and schedule a meeting, join it myself, then post on https://{botUrl}/joinCall with the meeting ID so the bot can join.
Can we only get participants from a pre-existing meeting the bot has called into? Or is there a way for the bot to get the participants in a call it has created?

I see this note on the documentation:
"Important: When a call is escalated from peer-to-peer to multiparty, not all multiparty features are available. Specifically, the bot will not receive roster updates."
So we don't get roster update notifications for a call, but does this mean that we cannot access the roster at all? And if so, why? Tracking participants seems like basic functionality.

@VinodRavichandran can you discuss the above subtleties?  It looks like gaps with escalation to me.  Any plan to address these?

@zhengni-msft  Can you please evaluate this. Is it just documentation update or fixes?

Hi, I am now getting roster updates on escalated calls via the calling endpoint, as well as being able to request the list of participants on escalated calls doing beta/app/calls/{id}/participants. This is what we were after, thanks.

@rugt0r
We're running into the same problem as you described in the first post of this thread:
Unable to get a list of participants of an incoming call. Also querying myParticipantId fails like you mentioned.
Since this issue is now closed, did you find a way to mitigate this?

Hi @zhengni-msft , @VinodRavichandran , @zhengni-msft,
Is the support of communications/calls/{id}/audioRoutingGroups/{id}  still planned for the  Graph API ?
this is a vry important feature for call centers Scenarios..
Any change to get this GA this year ?
Many thank !

Any news on this bug?

i tried all and i got
"code": "BadRequest",
"message": "Resource not found for the segment 'app'.",

i tried all and i got
"code": "BadRequest",
"message": "Resource not found for the segment 'app'.",

Anyone figured this out? I tried using the beta version as suggested but I still get value: [].


text:
Photo request works in Graph Explorer gives 404 in Postman and Angular

I can't see where best to post this, so I'll post it here and I'm sure someone will move it to where it is supposed to go if it's in the wrong place.
The following two images sum up the problem I've found.
Calling https://graph.microsoft.com/beta/users/f3091fbc-12a9-4689-b20f-c2f963bfe5fd/photo/$value works in the Graph Explorer, calling the same url in Postman (and in my Angular app) fails returning 404.
I don't see how that can possibly be right. The resource clearly exists. Calling https://graph.microsoft.com/beta/me also works fine in both Postman and from Angular.

AB#10856

It doesn't work using your own Postman collection either.
Steps to reproduce:
Follow the steps to fork and setup auth for the Microsoft Graph Postman collection as described here
Log in using a personal Microsoft account
Verify v1.0 endpoints are called correctly.
Duplicate the /v1.0/me/photo/$value endpoint and adjust the url to /beta/me/photo/$value
Send the request.
Expected
The account's profile photo should be returned, as it is when using the Graph Explorer
Actual
404 error is returned

After further investigation I have discovered more details relating to this issue.
If I have a personal Microsoft account with a profile picture and use the Graph Explorer and the /beta/me/photo/$value api I retrieve the profile picture just fine.
If I use the same personal account to login to an application registered with Azure AD, I do not get the profile picture. But in Azure AD I can load a profile picture to the account's guest listing and then the Graph api does return the profile picture.
It would seem that using the Graph Explorer an attempt to retrieve an account's profile picture attempts to get the profile picture from the account directly, but if you use the Graph API to get the profile picture in the context of being logged in to an Azure AD registered application it only gets the profile picture from AD, and if there isn't a profile picture associated with the account's guest listing in AD then the Graph API doesn't return the profile picture from the account itself.
I don't know why it would work like that, but it's completely useless. Obviously the average guest user of an Azure AD application isn't going to have login access to the Azure portal to manipulate their guest profile listing there.
This really should just work.

I've worked out the problem.
If you have an application registered in Azure as multi-tenant then you authenticate using the common tenant, (i.e. with MSAL 2.0 this would be your authority setting https://login.microsoftonline.com/common) then the Graph /beta/me/photo/$value api correctly retrieves the user's photo directly from their account.
If however you have an application registered as single tenant, then your identity authority would be https://login.microsoftonline.com/{tenant-id}, then the Graph /beta/me/photo/$value api only retrieves the photo from the account's guest listing in Azure.
That seems like a bug in the Graph API to me. In the case of a guest account used in a single tenant appliation, the account isn't defined in Azure, only referenced there, and while the directory admins can manage aspects of the account's permissions in Azure the user's actual account is the sole source of truth regarding the user's profile information and that's what the graph api should be returning for any setting not overridden in the Azure directory.


text:
Ngrok does not work over network

So I have a problem with ngrok. I'v worked with nexphisher and blackeye. And it worked only on devices that are connected to the same network as me. I"m using kali linux on oracle VM Ubunto(last Version). Can anyone help?

I'm sorry but I'm not sure how I can help. The ngrok docs have an Ask a question button on the page that emails their support team.

authors: anonymh jasonjoh

repo: microsoftgraph/nodejs-webhooks-sample


text:
How to implement variants in Microweber?

hi, the variants are not finished yet , we started work on them but they are hidden for now until we finish them

Originally posted by @peter-mw in https://github.com/microweber/microweber/issues/771#issuecomment-942108793
Good day, as posted before we are in the process of deciding how our app will interface with Microweber to publish our variants.
For now, we are looking at 3 solutions but they all have their problems:

(current) Using multiple items to emulate variants(Not true variants, just different items, supports translations)
Using custom_fields (No translation available, custom_fields don't change prices: Red or Blue products will always have the same price)
Using variants (Not implemented yet, support translations?)

Without giving anyone pressure, does someone know when variants will be finished? Two weeks-months-years? And will they be compatible with Multi-language translation?
Or is there any way to make custom_fields change the price to emulate variants? And finally when the custom_fields will support translation?
I know, it's a lot of questions about Microweber's roadmap but any clues will help us a lot! Thank you for your time  :)

Hi, we have started some work on the variants, its on the roadmap for the next versions

Hi, we have started some work on the variants, its on the roadmap for the next versions
Maybe next month will be ready

Awesome thank you.  Any idea if it will support translations?

authors: FractalMind peter-mw

repo: microweber/microweber


text:
"Navigate to page" not working properly (testing with cbz file)

Type of installation
Setup (.exe)
Type of reader (if reader related)
image
Steps to reproduce
Navigate to page with mouse or f shortcut

✔ Expected Behavior
Navigate to page
❌ Actual Behavior
Cannot Navigate to correct page.
If I want to jump to 188, it will only jump to 39; if 288, only 90

I just checked this on a cbz with 250 pages and it was working without any issue.
Could you share some more details?
Note that when you click and move cursor while it is scrolling to the page, it will cancel the scroll and you will be on the page where you started dragging mouse.

repo: mienaiyami/yomikiru


text:
Window should support not having a frame/title

Window is currently hard coded to have a frame (and title).
There are cases where this frame is un-wanted, especially in scenarios where the user wants max screen real estate.
Suggestion is to

Add a bool HasFrame property (default true). Can't be Frame because that's already a member.
Logic throughout would need to change (see all places where 1 +  exists).

if padding = 0 and HasFrame is false then X and Y would be 0, 0.
If padding =1 and HasFrame is false then X and Y would be 1, 1.

I just realized this has an easy work around:
            var win = new Window("title")
            {
                X = -1,
                Y = -1,
                Width = Dim.Fill(-1),
                Height = Dim.Fill(-1)
            };

Any reasons why this won't work? (I tested it and it seems fine).

Only the line in the title is printed. Even using a empty string it also printed because the margin isn't handled for the top. So the top horizontal line is always printed. Maybe if Y == -1 && title.IsEmpty don't print the line.

Only the line in the title is printed. Even using a empty string it also printed because the margin isn't handled for the top. So the top horizontal line is always printed. Maybe if Y == -1 && title.IsEmpty don't print the line. And if Y == -1 && !title.IsEmpty only print the title and supress the line.

I'm not sure what you mean. In another test, I modified Generic to:
class MyScenario : Scenario {
	public override void Setup ()
	{
		// Put your scenario code here, e.g.
		var button = new Button ("Press me!") {
			X = Pos.Center (),
			Y = Pos.Center (),
		};
		button.Clicked += () => MessageBox.Query (20, 7, "Hi", "Neat?", "Yes", "No");
		Win.X = -1;
		Win.Y = -1;
		Win.Height = Dim.Fill (-1);
		Win.Width = Dim.Fill (-1);
		Win.Add (button);
	}
}

So it seems to work fine. What am I missing?

I tested in the Example project and since it have a MenuBar and a StatusBar the horizontal top line is printed.

Closing. Won't fix.

authors: BDisp tig


text:
refresh？

Does it support automatic refresh?

@siitao yes, it polls the CoinMarketCap API every minute

@siitao btw just added ctrl-r keyboard shortcut to force refresh

authors: miguelmota siitao

repo: miguelmota/cointop


text:
Version 1

A major rewrite. Among the changes are:

TokenKinds are replaced by strings.
Uses the minimal instead of the classic LR parsing algorithm to generate the parser table.
This resulted in a reduction of Hyloa's parser table from more than 100 000 states to 472 (!)
making me believe there must be a bug somewhere, but none found so far.
Renamed SyntaxTreeClass#rule to "pattern".
Proper documentation added.

Internal changes:

Better organization of code.
From now on, I'll do reasonably-sized MRs only.

LGTM, thank ye very much!

repo: mik-jozef/lr-parser-typescript


text:
処理を他のスレッドへ逃がす

そもそも GIL の関係でメインスレッドでしか動かないとなったら諦めるけど、さすがにそんなことはないと信じたい

duplicate of #8

repo: mika-f/nekodraw


text:
Need ability to inject stdout and stderr writers to prompt

Is your feature request related to a problem? Please describe.
I want to test the output of a multiselect prompt in unit tests.
Describe the solution you'd like
I want to be able to pass impl std::io::Write for both stdout and stderr into the multiselect prompt.
Describe alternatives you've considered
The alternative is to test the multiselect prompt output in integration tests only.
Additional context
I am building a CLI app and I want to inject writers for stdout and stderr into the components as dependencies to make them more testable.

+1 for this. Another alternative might be a programmatic API to answer inquire's prompt?
Designing such API might be challenging and fun.

+100, I certainly want to do something in this direction, specially because inquire itself has an awful test coverage.

I'm currently taking a look at what's pending in order to prioritize them, this is likely going to be at the top so keep watching :)

repo: mikaelmello/inquire


text:
Rate limiting

It would be nice to build automatic rate-limiting into the client

Hey hank,
we though about it for a while, but we didn't want to start adding random features to a library that is meant to be just a dumb client (you'll see we're also moving away from rich classes to parse responses).
If you have a good modular solution to this please feel free to submit it though :)

I'm working on an implementation that follows how caching is implemented closely, does that sound good?

Sure, let's see it :)
On Fri, Jun 3, 2016 at 10:38 PM Hank Ditton notifications@github.com
wrote:

I'm working on an implementation that follows how caching is implemented
closely, does that sound good?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/mikamai/ruby-lol/issues/53#issuecomment-223701096,
or mute the thread
https://github.com/notifications/unsubscribe/AAAClDGQa7QcM0b-mB1vVPpQ9Y25NTczks5qIJ7HgaJpZM4IsMfL
.

PR submitted, #54

authors: hankditton intinig

repo: mikamai/ruby-lol

license: mit

license_source: bigquery


text:
Trying to update Mobile Device Name for an IOS device

Is the Mobile Device Name the "general" section of the device inventory, the same as the "Device Name"  in the "attribute to update" dropdown in The MUT?
I tried to update the Mobile Device name from iPad to a actual name. The MUT seems to be ok with it, but afterwards the Mobile Device name is still iPad. First time I'm using the Mut, so I assume I'm doing stupid, unless the device name and mobile device name are different. I'm saving as a Windows .csv too.
Any ideas?

Hello,
The only way to update Device Name for iPads in the JDS is via the "enforce mobile device name" checkbox in the JSS.
What the MUT does, is it generates an MDM command, which will then tell the device to change the name.
In order for this to work, you have to have a supervised device, the device has to have MDM communication, and it has to be turned on and on network.
You can check in the management tab for the device, and see if it has a pending "Set Device Name" command.
If you got a 201 - success, it sounds like the command was likely generated correctly, and the name may just update the next time the device talks to the JSS.

Hmmmm, seems like it might be a JAMF issue. I have the "enforce mobile device name" checked. It is a supervised device, it is communicating. When I went into the "edit general" section, I can change the name to Mickey Mouse, hit save. I go back out it still shows iPad, edit General, it shows Mickey Mouse, hit save. I close the device page, search for the device again, "edit general", it's back to iPad.

Do you have a configuration profile scoped to that device to block changing device name via the restrictions payload?
That will stop even admins from changing the name, and if you have that set up, it will behave similarly to what you're describing.

Nope. Just check the config profile, no block on changing the name.

Curiouser and curiouser.
If you go to the inventory record for the device and go to the management tab, does it have a pending Set Device Name command? If you go to the history tab for management history, did that command ever go through? Is it being generated and failing? Being generated and succeeding but then flipping back? Not being generated at all?

Hi Mike,
My apologies for disappearing, but as school approaches I'm fighting many
fires.
I went ahead and ran a .csv file with about 75 devices to change the device
name, MUT was had a mix of OK's and Failed, but on the devices that I was
looking at the time, the device name was changed. I need to check the
serial for a failed device and see if its device name has changed. Does the
device have to be on to come back with an OK? Not all the devices were on
at that time.
On Wed, Aug 9, 2017 at 1:52 PM, Mike Levenick notifications@github.com
wrote:

Curiouser and curiouser.
If you go to the inventory record for the device and go to the management
tab, does it have a pending Set Device Name command? If you go to the
history tab for management history, did that command ever go through? Is it
being generated and failing? Being generated and succeeding but then
flipping back? Not being generated at all?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mike-levenick/mut/issues/5#issuecomment-321331693,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AYIdlYOKT4RUSlgbAoTGCPoP_JCpEwD5ks5sWfHAgaJpZM4OyXVm
.

Sounds good. What is the error number on the failures? Is it 404 or something else?
Make sure you have MDM communication to a supervised device, which is turned on and on-network, and you do not have a config profile scoped to the device which restricts name changes.
Other than that, depending on what the error number is, we can do other troubleshooting steps. You can also enable Advanced Debugging from the menu bar.

I checked two of the many devices that had failed, but they we not on at
the time I ran MUT. It makes sense that they failed at runtime, but when I
turned them on the device name had changed. The fails were 400's.
I think we're good.
Thanks again!
On Thu, Aug 17, 2017 at 2:27 PM, Mike Levenick notifications@github.com
wrote:

Sounds good. What is the error number on the failures? Is it 404 or
something else?
Make sure you have MDM communication to a supervised device, which is
turned on and on-network, and you do not have a config profile scoped to
the device which restricts name changes.
Other than that, depending on what the error number is, we can do other
troubleshooting steps. You can also enable Advanced Debugging from the menu
bar.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mike-levenick/mut/issues/5#issuecomment-323155487,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AYIdlfczsnmvp_dDcyMPdGEU7fBsvfjLks5sZIX7gaJpZM4OyXVm
.

Sounds great. I'll close 'er up.

authors: mike-levenick motnoslo

repo: mike-levenick/mut


text:
Basic Auth Fail

Where curl succeeds:
curl -L https://XXXX:XXXX@build.phonegap.com/api/v1/apps/63320/android

request fails:
>
var request = require('request'),
  url = require('url'),
  uri = url.parse('https://XXXX:XXXX@build.phonegap.com/api/v1/apps/63320/android');

console.log(uri);
request({url: uri}, function(err, res) {
  console.log(res);
});

<
{
  ...
  body: '<?xml version="1.0" encoding="UTF-8"?>\n<Error>InvalidArgument<Message>Unsupported Authorization Type</Message><ArgumentValue>Basic YWRhbS5jcmFidHJlZUBwYWxtLmNvbTpuZXdwYXNzd29yZA==</ArgumentValue><ArgumentName>Authorization</ArgumentName><RequestId>1099F84E8B9EC52C</RequestId><HostId>OleJHmIQkg76G98H8xngear3Ojo7fjpc7Id0GMoCqJvD5JKt/pilSnY4LFV1ylCf</HostId></Error>'
  ...
}

Obviously this could be a build.phonegap.com issue, but at first blush it seems to be more an Auth header issue.

can you give me the verbose curl output?

https://gist.github.com/1649844

hrm.... that looks like exactly what we do. BTW, you don't need to pre-parse the URI.
try this.
var r = request(url)
r.on('response', function () {console.log(r.headers.authorization)})

Compare that with the header you can see in the curl debug output.

Whoops. Looks like I didn't include 80% of the curl output. Updated the gist:
https://gist.github.com/1649844
Result (from your snippet):
Basic YWRhbS5jcmFidHJlZUBwYWxtLmNvbTpuZXdwYXNzd29yZA==

Header dump from res object:
_header: 'GET /android.phonegap/slicehost-production/apps/63320/PhoneGap_GettingStarted-debug.apk HTTP/1.1\r\nCookie: _okapi_2_session=BAh7ByIbd2FyZGVuLnVzZXIucGVyc29uLmtleVsIIgtQZXJzb25bBmkCCIQiIiQyYSQxMCRsUWVjMUFjVzdWUm9UTE1CWkF5RTEuIg9zZXNzaW9uX2lkIiU2NjI1ZjA2MDljMTgzYjBmODJkOTRkMmRiYTQxZjE1ZA%3D%3D--1cabde9030b443daf316daddf1b2507bec795771\r\nauthorization: Basic YWRhbS5jcmFidHJlZUBwYWxtLmNvbTpuZXdwYXNzd29yZA==\r\ncontent-length: 0\r\nhost: s3.amazonaws.com\r\nConnection: keep-alive\r\n\r\n',

looks like they match, doesn't seem to be an auth issue.
@alunny having auth issues to build.phonegap with request, thoughts?

I'll dig into this more over the weekend. I just wanted to get it out there to maybe get a lead on where to look or see if it was a known issue with a workaround.

That request (to download an Android binary) redirects from build.phonegap.com to a URL hosted by S3, with headers like the following:
Location: http://s3.amazonaws.com/android.phonegap/slicehost-production/apps/99999/SomeApp-release.apk
Status: 302

It looks like request is forwarding the build.phonegap.com auth headers to s3.amazonaws.com, which doesn't like them.
Not sure what the spec suggests in this case - maybe there's a header we should be returning in these cases.

A quick look here - http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.8 - suggests request is at fault. A different host on a different protocol should not be considered the same realm. This matches my intuition - there's no reason to think the auth credentials for one host should be valid for a different one.

hrm....
There are lots of places request, and other HTTP clients, disregard the RFC behavior because it's unexpected behavior for a client you would use in code.
I'm wondering if this is one of those cases. If you set a user/pass in a programming client to you expect it to drop those options on redirect?
For now, the fix for @CrabDude is to run with redirects:false and grab the location and make a new request without auth.

I'd argue that dropping the user/pass for a redirect to a different host is the expected behavior - it's certainly what web browsers do. I'm not sure of a use case where you would want to assume the auth mechanism for host A is the same as the auth mechanism for host B.
That said, the workaround is trivial enough that further bikeshedding can be postponed :)

FWIW, behavio consistent with curl is certainly consistent with the law of least surprise.

I'm inclined to agree. We can just blow away the header if host !== newhost when we blow away the host header.

Dude I totally use newpassword as my password too!!! :)

Lol. Damn. Did I leave the password in there again?? Or are you just recognizing the hash?

Basic auth is just a hash, it's only secure talking to phonegap because it's https and the whole socket is encrypted :)

authors: CrabDude alunny dscape mikeal

repo: mikeal/request


text:
Crypto: synchronous password hashing?

https://github.com/mikecao/umami/blob/5ecaf5587b6bb5968a4b0c53c110bf807dbe9fed/lib/crypto.js#L42-L48
Why would we use hashSync and compareSync in asynchronous functions? They could lead to reduced I/O efficiency.

It's not that big a deal performance wise, but yes, should be sync calls.

authors: Alan-Liang mikecao

repo: mikecao/umami


text:
Forcing evaluation to integer prevents infinite looping with ruby-units

If you use ruby-units in your project the division of 1/2 will return a fraction, in turn this will yield an infinite loop in this method causing any call to mail to fail and freeze the system.  By simply ensuring we're casting to an integer we avoid any potential conflicts.

Fixed by #795

authors: cbillen jeremy

repo: mikel/mail


text:
Trying to read report

var devices = HidLibrary.HidDevices.Enumerate(1848);
device = devices.FirstOrDefault();
device.OpenDevice();
device.ReadReport(ReadReportCallback);

Gives me System.PlatformNotSupportedException: 'Operation is not supported on this platform.'
I'm on win 10 running .Net 5

I used the source and then it's something else :)

I used the source and then it's something else :)

Hi, i got the same issue, can you share how you fixed it?

I hardly remember but I think I used the source from git rather than the nuget package

Nah.. it didn`t worked.. do you rewrite the BeginInvoke() method, could you check?

repo: mikeobrien/HidLibrary


text:
Question: Network access for Distributed Transaction Manager (MSDTC) has been disabled. Please enable DTC for network access in the security configuration for MSDTC using the Component Services Administrative tool.

I am not sure whether this is the expected behaviour or actually an issue, or if it's actually related to RepoDB, but I have some simple methods based on Query/QueryAll (and their Async counterparts):
   public async Task<List<T>> GetAllAsync<T>() where T : class
        {
            using (Repo database = new Repo())
            {
                return (await database.Do.QueryAllAsync<T>().ConfigureAwait(false)).ToList();
            }
        }

        public async Task<List<T>> GetAsync<T>(Expression<Func<T, bool>> query) where T : class
        {
            using (Repo database = new Repo())
            {
                return query != null ?
                    (await database.Do.QueryAsync<T>(query).ConfigureAwait(false)).ToList()
                    :
                    (await GetAllAsync<T>().ConfigureAwait(false)).ToList();
            }
        }

        public List<T> GetAll<T>() where T : class
        {
            using (Repo database = new Repo())
            {
                return database.Do.QueryAll<T>().ToList();
            }
        }

        public List<T> Get<T>(Expression<Func<T, bool>> query) where T : class
        {
            using (Repo database = new Repo())
            {
                return query != null ?
                    database.Do.Query<T>(query).ToList()
                    :
                    GetAll<T>().ToList();
            }
        }

Using the Async methods with ConfigureAwait(false) I got the following error when the second query is made (see below):
Network access for Distributed Transaction Manager (MSDTC) has been disabled. Please enable DTC for network access in the security configuration for MSDTC using the Component Services Administrative tool.
So I assumed that something was going wrong with concurrency and I modified the methods to use ConfigureAwait(true) instead. Same issue.
Finally I tried with the sync methods (Query/QueryAll), but I am still getting the same error.
Queues is populated correctly, but during the execution of the 2nd query (i.e. users), I am getting the MSDTC error.
Is a transaction supposed to be closed automatically when the previous call ends?
var queues = (Database.GetAll<Queue>()).ToLookup(i => i.QueueID);
                var users = (Database.GetAll<UserAccount>()).ToLookup(i => i.AccountID);
                var statuses = (Database.GetAll<IncidentStatus>()).ToLookup(i => i.StatusID);
                var severities = (Database.GetAll<Severity>()).ToLookup(i => i.SeverityID);
                var interfaces = (Database.GetAll<Interface>()).ToLookup(i => i.InterfaceID);
                var countries = (Database.GetAll<Country>()).ToLookup(i => i.CountryID);
                var qbc = (Database.GetAll<QueuesBrandsCountries>()).ToLookup(i => i.QueueID);
                var products = (Database.GetAll<Product>()).ToLookup(i => i.ProductID);
                var categories = (Database.GetAll<Category>()).ToLookup(i => i.CategoryID);
                var dispositions = (Database.GetAll<Disposition>()).ToLookup(i => i.DispositionID);
                var contactTypes = (Database.GetAll<ContactType>()).ToLookup(i => i.ContactTypeID);
                var transactionTypes = (Database.GetAll<TransactionType>()).ToLookup(i => i.TransactionTypeID);
                var channels = (Database.GetAll<Channel>()).ToLookup(i => i.ChannelID);
                var sources = (Database.GetAll<IncidentSource>()).ToLookup(i => i.SourceID);

I fixed the issue by performing all the queries using the same instance of RepoDB:
 using (var db = Database.GetDatabase())
                {
                    var queues = (await db.Do.QueryAllAsync<Queue>()).ToLookup(i => i.QueueID);
                    var users = (await db.Do.QueryAllAsync<UserAccount>()).ToLookup(i => i.AccountID);
                    var statuses = (await db.Do.QueryAllAsync<IncidentStatus>()).ToLookup(i => i.StatusID);
                    var severities = (await db.Do.QueryAllAsync<Severity>()).ToLookup(i => i.SeverityID);
                    var interfaces = (await db.Do.QueryAllAsync<Interface>()).ToLookup(i => i.InterfaceID);
                    var countries = (await db.Do.QueryAllAsync<Country>()).ToLookup(i => i.CountryID);
                    var qbc = (await db.Do.QueryAllAsync<QueuesBrandsCountries>()).ToLookup(i => i.QueueID);
                    var products = (await db.Do.QueryAllAsync<Product>()).ToLookup(i => i.ProductID);
                    var categories = (await db.Do.QueryAllAsync<Category>()).ToLookup(i => i.CategoryID);
                    var dispositions = (await db.Do.QueryAllAsync<Disposition>()).ToLookup(i => i.DispositionID);
                    var contactTypes = (await db.Do.QueryAllAsync<ContactType>()).ToLookup(i => i.ContactTypeID);
                    var transactionTypes = (await db.Do.QueryAllAsync<TransactionType>()).ToLookup(i => i.TransactionTypeID);
                    var channels = (await db.Do.QueryAllAsync<Channel>()).ToLookup(i => i.ChannelID);
                    var sources = (await db.Do.QueryAllAsync<IncidentSource>()).ToLookup(i => i.SourceID);
                }

instead of using my method:
   public async Task<List<T>> GetAllAsync<T>() where T : class
        {
            using (Repo database = new Repo())
            {
                return (await database.Do.QueryAllAsync<T>().ConfigureAwait(false)).ToList();
            }
        }

But it's not clear to me why using GetAllAsync instead of the approach above is leading to issues with MSDTC.

If the SqlConnection goes out of scope, it won't be closed. And I forgot to close the connection while disposing an instance of the Repo class.

Closing the SQLConnection when an instance of my class Repo is disposed solved the issues, so I am going to mark this question as "Closed".

repo: mikependon/RepoDB


text:
Add expandAllOnPath method to ExpandableExtension

#911 Added method for expanding all items on a path. Updated the example just to show how to use this method.
I'm not sure what are use cases of using similar method expandIncludeParents. I mean, is there any way to get a position of a collapsed element?

thank you so much

authors: JakubMosakowski mikepenz

repo: mikepenz/FastAdapter


text:
Using DTO Class in constructor.

Describe the bug
I need help, is it possible to use a DTO class in a entity constructor? I am looking for an ORM that allows it. because I have entities with many parameters and it is cleaner this way
Stack trace
node_1   | [NestWinston] Error  7/2/2021, 2:36:42 PM Method: GET; Path: /123456/concepts; Error: Cannot read property 'storeId' of undefined;  - {"service":"xxxx","stack":["Typ
eError: Cannot read property 'storeId' of undefined\n    at new Concept (/usr/src/app/src/modules/concepts/entities/concept.entity.ts:89:31)\n    at EntityFactory.createEntity (
/usr/src/app/node_modules/@mikro-orm/core/entity/EntityFactory.js:69:20)\n    at EntityFactory.create (/usr/src/app/node_modules/@mikro-orm/core/entity/EntityFactory.js:34:77)\n
    at SqlEntityManager.find (/usr/src/app/node_modules/@mikro-orm/core/EntityManager.js:100:52)\n    at processTicksAndRejections (node:internal/process/task_queues:93:5)\n
at ConceptService.getAll (/usr/src/app/src/modules/concepts/concept.service.ts:13:33)\n    at ConceptController.findAll (/usr/src/app/src/modules/concepts/concept.controller.ts:
33:22)"]}

To Reproduce
Steps to reproduce the behavior:

Create a entity with constructor.

export interface StoreConceptPort {
  storeId: string;
}

import {
  IsNotEmpty,
} from 'class-validator';
import { UseCaseValidatableDto } from '@test/common/dto/use-case-validatable-dto';
import { Exclude, Expose, plainToClass } from 'class-transformer';
import { StoreConceptPort } from '@test/concepts/port/store-concept.port';
import { ServiceType } from '@test/concepts/service-type.enum';

@Exclude()
export class StoreConceptDto
  extends UseCaseValidatableDto
  implements StoreConceptPort
{
  @Expose()
  @IsNotEmpty()
  storeId: string;

  public static async new(payload: {
    storeId: string;
  }): Promise<StoreConceptDto> {
    const adapter: StoreConceptDto = plainToClass(StoreConceptDto, payload);
    await adapter.validate();

    return adapter;
  }
}

import {
  Embedded,
  Entity,
  EntityRepositoryType,
  Index,
  ManyToOne,
  Property,
  Unique,
} from '@mikro-orm/core';
import { ConceptRepository } from '@test/concepts/concept.repository';
import { BaseEntity } from '@test/common/entities/base-entity';
import { StoreConceptPort } from '@test/concepts/port/store-concept.port';

@Entity({ tableName: 'concepts' })
export class Concept extends BaseEntity {
  [EntityRepositoryType]?: ConceptRepository;

  @Index()
  @Property({
    name: 'store_id',
    type: 'varchar',
  })
  storeId: string;

  constructor(conceptDto: StoreConceptPort) {
    super();
    this.storeId = conceptDto.storeId;
  }

}

Find Entity with repository

import { Concept } from './entities/concept.entity';
import { ServiceType } from '@test/concepts/service-type.enum';
import { EntityRepository, Repository } from '@mikro-orm/core';

@Repository(Concept)
export class ConceptRepository extends EntityRepository<Concept> {
  public async findOneByStore(id, storeId): Promise<Concept> {
    return await this.findOneOrFail({
      storeId: { $eq: storeId },
      id: { $eq: id },
    });
  }
}

And use it.

See error: "TypeError: Cannot read property 'storeId' of undefined..."

Expected behavior
The model is expected to hydrate well
Additional context
Versions

Dependency
Version

node
15.2.0

typescript
4.2.3

mikro-orm
4.5.7

your-driver
?

That stack trace is from different call - you can see it starts with findAll() not findOne(). The ORM will never use entity constructor to create instance, so unless you are using forceEntityConstructor flag, this is not even possible to happen, the instance is created via Object.create() instead. And if you are using that flag, you need to ensure your entity ctors all have optional parameters, as they can never be filled in.

repo: mikro-orm/mikro-orm


text:
updateSchema() throws TypeError when encountering compound foreign keys on SQLite

With the following schema:
@Entity() class Foo {
  @OneToMany(() => Bar, bar => bar.foo) bars = new Collection<Bar>(this);
  @PrimaryKey() id!: number;
  @PrimaryKey() something?: number;
}

@Entity() class Bar {
  @ManyToOne() foo!: Foo;
  @PrimaryKey() id!: number;
}

Running updateSchema() on the above in SQLite will correctly create the two tables. But running it a second time then causes a TypeError:
/tmp/crashme/node_modules/knex/lib/dialects/sqlite3/schema/internal/compiler.js:204
  return ast.columns.map((column) => identifier(column, wrap)).join(', ');
                     ^
TypeError: ast.columns.map is not a function
    at columnNameList (/tmp/crashme/node_modules/knex/lib/dialects/sqlite3/schema/internal/compiler.js:204:22)
    at columnNameListOptional (/tmp/crashme/node_modules/knex/lib/dialects/sqlite3/schema/internal/compiler.js:200:40)
    at foreignKeyClause (/tmp/crashme/node_modules/knex/lib/dialects/sqlite3/schema/internal/compiler.js:193:43)
    at foreignTableConstraint (/tmp/crashme/node_modules/knex/lib/dialects/sqlite3/schema/internal/compiler.js:189:9)
    at tableConstraint (/tmp/crashme/node_modules/knex/lib/dialects/sqlite3/schema/internal/compiler.js:156:14)
    at /tmp/crashme/node_modules/knex/lib/dialects/sqlite3/schema/internal/compiler.js:142:29
    at Array.reduce (<anonymous>)
    at tableConstraintList (/tmp/crashme/node_modules/knex/lib/dialects/sqlite3/schema/internal/compiler.js:140:26)
    at createTable (/tmp/crashme/node_modules/knex/lib/dialects/sqlite3/schema/internal/compiler.js:16:7)
    at compileCreateTable (/tmp/crashme/node_modules/knex/lib/dialects/sqlite3/schema/internal/compiler.js:2:10)

This does not happen with MariaDB.
Versions

Dependency
Version

node
16.14.2

typescript
4.6.3

@mikro-orm
5.1.1

@mikro-orm/sqlite
5.1.1

That is a knex issue, can't help with that, please report it to them, together with the SQL that causes it (you can use getCreateSchemaSQL() to get it). This issue is about their custom sqlite reflection of existing schemas.
cc @kibertoad

The Knex people have replied, and said it’s really a Mikro-ORM issue.


text:
The type 'MongoDriver' does not meet the restriction 'IDatabaseDriver' MikroORM.init

Describe the bug
I am trying to set the type of the generic in the MikroORM init method, but now I get a type error, previously I didn't have it. Recently I noticed this error, I can't say from which version it is.
import { MikroORM } from '@mikro-orm/core';
import type { MongoDriver } from '@mikro-orm/mongodb';

MikroORM.init<MongoDriver>({ ... });

Stack trace
Resume: The type 'MongoDriver' does not meet the restriction 'IDatabaseDriver<Connection>'.
(alias) class MongoDriver
import MongoDriver
El tipo 'MongoDriver' no cumple la restricción 'IDatabaseDriver<Connection>'.
  Los tipos de propiedad 'loadFromPivotTable' no son compatibles.
    El tipo '<T, O>(prop: EntityProperty<any>, owners: Primary<O>[][], where?: FilterQuery<T> | undefined, orderBy?: QueryOrderMap<T>[] | undefined, ctx?: any, options?: FindOptions<...> | undefined) => Promise<...>' no se puede asignar al tipo '<T extends AnyEntity<T>, O extends AnyEntity<O>>(prop: EntityProperty<any>, owners: Primary<O>[][], where?: FilterQuery<T> | undefined, orderBy?: QueryOrderMap<...>[] | undefined, ctx?: any, options?: FindOptions<...> | undefined) => Promise<...>'.
      Los tipos de parámetros 'options' y 'options' no son compatibles.
        El tipo 'FindOptions<T, never> | undefined' no se puede asignar al tipo 'FindOptions<T | ((Primary<T> extends string ? string | RegExp : Primary<T> extends Date ? string | Date : Primary<T>) & {}), never> | undefined'.
          El tipo 'FindOptions<T, never>' no se puede asignar al tipo 'FindOptions<T | ((Primary<T> extends string ? string | RegExp : Primary<T> extends Date ? string | Date : Primary<T>) & {}), never>'.
            Los tipos de propiedad 'fields' no son compatibles.
              El tipo 'readonly EntityField<T, never>[] | undefined' no se puede asignar al tipo 'readonly EntityField<T | ((Primary<T> extends string ? string | RegExp : Primary<T> extends Date ? string | Date : Primary<T>) & {}), never>[] | undefined'.
                El tipo 'readonly EntityField<T, never>[]' no se puede asignar al tipo 'readonly EntityField<T | ((Primary<T> extends string ? string | RegExp : Primary<T> extends Date ? string | Date : Primary<T>) & {}), never>[]'.
                  El tipo 'EntityField<T, never>' no se puede asignar al tipo 'EntityField<T | ((Primary<T> extends string ? string | RegExp : Primary<T> extends Date ? string | Date : Primary<T>) & {}), never>'.
                    El tipo 'keyof T' no se puede asignar al tipo 'EntityField<T | ((Primary<T> extends string ? string | RegExp : Primary<T> extends Date ? string | Date : Primary<T>) & {}), never>'.
                      El tipo 'string | number | symbol' no se puede asignar al tipo 'EntityField<T | ((Primary<T> extends string ? string | RegExp : Primary<T> extends Date ? string | Date : Primary<T>) & {}), never>'.
                        El tipo 'string' no se puede asignar al tipo 'EntityField<T | ((Primary<T> extends string ? string | RegExp : Primary<T> extends Date ? string | Date : Primary<T>) & {}), never>'.ts(2344)

To Reproduce
Steps to reproduce the behavior:

Create a new MikroORM instance
Set the generic of .init method to MongoDriver
See error

Expected behavior
No type errors as previously.
Additional context

Versions

Dependency
Version

node
18.6.0

typescript
4.7.4

mikro-orm
5.3.1

your-driver
mongo

Please share what was this about in case someone else will have the same issue.

@B4nan Oh sorry I forgot.
The problem was using typescript v4.8.0-dev.20220803.

Oh interesting, will take a look, I guess we will need some changes to support it.


text:
Question about Mongo Partial Index

How can this index be achieved?
db.collectionName.createIndex(
   {unique: true, partialFilterExpression: {username: { $exists: true }}}
);

Currently not possible but should be easy to add.


text:
"TypeError: bot.checkRole is not a function" error

bot.checkRole can't be called from nowhere.

TypeError: bot.checkRole is not a function
at Object.process (D:\dusty\src\commands\reboot.js:7:13)
at Client.bot.on (D:\dusty\src\bot.js:54:42)
at emitOne (events.js:116:13)
at Client.emit (events.js:211:7)
at MessageCreateHandler.handle (D:\dusty\node_modules\discord.js\src\client\websocket\packets\handlers\MessageCreate.js:9:34)
at WebSocketPacketManager.handle (D:\dusty\node_modules\discord.js\src\client\websocket\packets\WebSocketPacketManager.js:103:65)
at WebSocketConnection.onPacket (D:\dusty\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:333:35)
at WebSocketConnection.onMessage (D:\dusty\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:296:17)
at WebSocket.onMessage (D:\dusty\node_modules\ws\lib\event-target.js:120:16)
at emitOne (events.js:116:13)
at WebSocket.emit (events.js:211:7)
at Receiver._receiver.onmessage (D:\dusty\node_modules\ws\lib\websocket.js:137:47)
at Receiver.dataMessage (D:\dusty\node_modules\ws\lib\receiver.js:409:14)
at Receiver.getData (D:\dusty\node_modules\ws\lib\receiver.js:347:12)
at Receiver.startLoop (D:\dusty\node_modules\ws\lib\receiver.js:143:16)
at Receiver.add (D:\dusty\node_modules\ws\lib\receiver.js:117:10)

checkRole function needed to be rewritten.
The file moved to /constants/, so another scope can see/use it.

Any further information check branch - [rolechecker_bug]

Issue resolved on master by https://github.com/milesflo/dusty/pull/11

repo: milesflo/dusty


text:
Flex Modifiers don't seem to be working

How do I use .row-wrap, .col-bottom, etc? I have tried numerous ways  and they do not seem to work. Also, I don't see the breakpoints working either. I apologize if this is my ignorance, but I was unable to see these things identified in the docs. I hope this helps...
Version info

Milligram:
https://cdnjs.cloudflare.com/ajax/libs/milligram/1.1.0/milligram.css
Other (e.g. normalize.css, node.js, npm, bower, browser, operating system) (if applicable):
NA
Test case

http://codepen.io/jkinley/pen/PGYXvJ
Steps to reproduce

I have tried numerous ways to get  modifiers like .row-wrap .col-top, etc to work and I am lost. I have looked at the Scss and tried several classes and they do not seem to work.
I have reviewed the docs and there are no examples of how to use these advanced modifiers.
Expected behavior

.row-wrap should invoke flexbox to wrap.
.col-bottom should make flex items align to the bottom.
Actual behavior

the classes don't have an effect.

Hi @jkinley-sds
Sorry if this has caused any problems, then less will be available the next version of Milligram with this issue fixed. #88

authors: cjpatoilo jkinley-sds

repo: milligram/milligram


text:
Fix standalone dep replicas & finalizer

Signed-off-by: shaoyue.chen shaoyue.chen@zilliz.com
/cc @zwd1208

/lgtm

repo: milvus-io/milvus-operator


text:
Add support for accessing security endpoints

The new datahub security endpoints allow the registration of clients, their public keys and also ACLs.
It should be possible to access these endpoints from mim
mim security client store
mim security client get
mim security acls store
mim security acls get

This is implemented

authors: andebor gra-moore

repo: mimiro-io/datahub-cli


text:
Composer: missing binary file in "bin" directory

Prerequisites
Put an X between the brackets on this line if you have done all of the following:

[X] Reproduced the problem or exposed a new need
[X] Checked the GitHub existing issues

Description
When doing a composer install, the binary mindee is missing in the /bin directory.
There is a warning message after the composer install

Skipped installation of bin bin/mindee for package mindee/mindee: file not found in package

Steps to Reproduce

run a composer install

Expected behavior:
Creating a file mindee in bin/mindee.
Actual behavior:
Missing file, seems to be in the root directory.
Reproduces how often:
100%
Versions

mindee/mindee => 1.8.0

PHP 8.3.6

Well spotted! Will be fixed shortly.

authors: Divi sebastianMindee

repo: mindee/mindee-api-php


text:
导出csv文件，csvExportParams.setSpiltMark()；修改默认的分隔符不生效，最后还是以逗号作为分割符

请按照一下格式提交issue，谢谢！

你当前使用的是哪个版本的 MinDoc(godoc_linux_amd64 version)?

你当前使用的是什么操作系统?

你是如何操作的？

你期望得到什么结果?

当前遇到的是什么结果?

是否问错了地方?

repo: mindoc-org/mindoc


text:
Don't pass single filenames to golangci-lint so it doesn't run in parallel

Per default, pre-commit passes a list of modified files to the called hook. This means that e.g. all modified *.go files are processed as a list and then piped one-by-one to the target pre-commit hook. golangci-lint comes with a lockfile per default and is not meant to run multiple instances in parallel. Instead of passing each modified file to golangci-lint, the recommended approach is to just run it without passing any explicit files. This won't affect local environments either since it comes with internal caching.
This PR will fix occurring issues in CI such as https://github.com/mineiros-io/terraform-aws-route53/pull/33.

Question: This will break partial commits as not committed filles need to validate.. doesn't it?? A commit should only validate the actual committed changes.. and it should validate only those as the current workdir could validate fine but the commit can fail?

Just deep-dived and you are actually right. Setting pass_filenames to false will run golangci-lint run --fix which will basically run recursively over all directories. What I didn't understand yet is that setting pass_filenames to true ( which is the default value ) should just pass a list of files to the hook. The official golangci-lint documentation advice us to run the multilinter in a similar manner, e.g. golangci-lint run dir1 dir2/... dir3/file1.go . In https://github.com/mineiros-io/pre-commit-hooks/blob/master/pre_commit_hooks/go/golangci-lint.sh#L6 we run the provided command but still pre-commit seems to start multiple instances of golangci-lint.

Question: This will break partial commits as not committed filles need to validate.. doesn't it?? A commit should only validate the actual committed changes.. and it should validate only those as the current workdir could validate fine but the commit can fail?

Just deep-dived and you are actually right. Setting pass_filenames to false will run golangci-lint run --fix which will basically run recursively over all directories. What I didn't understand yet is that setting pass_filenames to true ( which is the default value ) should just pass a list of files to the hook. The official golangci-lint documentation advice us to run the multilinter in a similar manner, e.g. golangci-lint run dir1 dir2/... dir3/file1.go . In https://github.com/mineiros-io/pre-commit-hooks/blob/master/pre_commit_hooks/go/golangci-lint.sh#L6 we run the provided command but still pre-commit seems to start multiple instances of golangci-lint.

how does pre-commit pass the files? so what is $@ ?
maybe https://pre-commit.com/#hooks-require_serial is what you need?

Question: This will break partial commits as not committed filles need to validate.. doesn't it?? A commit should only validate the actual committed changes.. and it should validate only those as the current workdir could validate fine but the commit can fail?

Just deep-dived and you are actually right. Setting pass_filenames to false will run golangci-lint run --fix which will basically run recursively over all directories. What I didn't understand yet is that setting pass_filenames to true ( which is the default value ) should just pass a list of files to the hook. The official golangci-lint documentation advice us to run the multilinter in a similar manner, e.g. golangci-lint run dir1 dir2/... dir3/file1.go . In https://github.com/mineiros-io/pre-commit-hooks/blob/master/pre_commit_hooks/go/golangci-lint.sh#L6 we run the provided command but still pre-commit seems to start multiple instances of golangci-lint.

how does pre-commit pass the files? so what is $@ ?
maybe https://pre-commit.com/#hooks-require_serial is what you need

When running pre-commit run -a it seems that pre-commit invokes golangci-lint two times. $@ looks like this:
test/private_hosted_zone_test.go test/multiple_domains_same_records_test.go test/failover_routing_test.go test/multiple_domains_different_records_test.go

and
test/delegation_set_test.go test/basic_routing_test.go test/weighted_routing_test.go

See the screenshot:

Question: This will break partial commits as not committed filles need to validate.. doesn't it?? A commit should only validate the actual committed changes.. and it should validate only those as the current workdir could validate fine but the commit can fail?

Just deep-dived and you are actually right. Setting pass_filenames to false will run golangci-lint run --fix which will basically run recursively over all directories. What I didn't understand yet is that setting pass_filenames to true ( which is the default value ) should just pass a list of files to the hook. The official golangci-lint documentation advice us to run the multilinter in a similar manner, e.g. golangci-lint run dir1 dir2/... dir3/file1.go . In https://github.com/mineiros-io/pre-commit-hooks/blob/master/pre_commit_hooks/go/golangci-lint.sh#L6 we run the provided command but still pre-commit seems to start multiple instances of golangci-lint.

how does pre-commit pass the files? so what is $@ ?
maybe https://pre-commit.com/#hooks-require_serial is what you need

When running pre-commit run -a it seems that pre-commit invokes golangci-lint two times. $@ looks like this:
test/private_hosted_zone_test.go test/multiple_domains_same_records_test.go test/failover_routing_test.go test/multiple_domains_different_records_test.go

and
test/delegation_set_test.go test/basic_routing_test.go test/weighted_routing_test.go

See the screenshot:

In addition to that, when setting require_serial to true, it seems that golangci-lint is being invoked by pre-commit without passing an explicit list of files as shown in the screenshot.

run -a just checks all files... so yes, it is not passing a list of changed files.. but this is expected then..

run -a just checks all files... so yes, it is not passing a list of changed files.. but this is expected then..

In a CI environment, we always check all files since we don't have any state between the CI runs. Locally though, it should only check the affected files if that makes sense to you? The question is more why setting require_serial: true doesn't invoke any files at all.

run -a just checks all files... so yes, it is not passing a list of changed files.. but this is expected then..

In a CI environment, we always check all files since we don't have any state between the CI runs. Locally though, it should only check the affected files if that makes sense to you? The question is more why setting require_serial: true doesn't invoke any files at all.

Updated the config, should work now.
In a CI environment, this will always run the linter on all files as it's been before. In a local environment, golangci-lint will create it's own file and checksum tree and decided internally on what files ( golang packages ) the linters should be applied.

authors: mariux soerenmartius

repo: mineiros-io/pre-commit-hooks


text:
Farming Interactions

This PR sets up several block interactions meant to mimic Vanilla behavior relating to crop and farmland behavior.
Closes #3.

One general comment, please try to use nullability annotations (NotNull, Nullable, UnknownNullability), it lets IntelliJ & null away give better hints

authors: GreatWyrm mworzala

repo: minestommmo/JointMMO


text:
Allow relative CAS_SERVER_URL without protocol and hostname

I run multiple instances of the Django application and roll out updates rapidly by directing live traffic at my load-balancer. By allowing settings.CAS_SERVER_URL to be relative, the Django application can figure out the correct protocol (http/https) and hostname (e.g. test.example.com, live.example.com, etc.) on-the-fly based on HTTP request headers without the need for restarting the application. Furthermore, the same application can even serve multiple domain names.

Thank you for contribution!

authors: cynici mingchen

repo: mingchen/django-cas-ng


text:
🛑 MineVN Website is down

In a636d39, MineVN Website (http://minevn.net) was down:

HTTP code: 0
Response time: 0 ms

Resolved: MineVN Website is back up in df72889.


text:
🛑 MineVN Maven & Resource Pack is down

In 2cb90e9, MineVN Maven & Resource Pack (http://app.minevn.net/pack) was down:

HTTP code: 502
Response time: 437 ms

Resolved: MineVN Maven & Resource Pack is back up in 2e05d48.


text:
write formula to Excel, formula treated as string

Excel Type

[x] XLSX
[ ] XLSM
[ ] CSV
[ ] OTHER

Upload Excel File

MiniExcel Version
1.34.1
Description
When you directly output formulas to an Excel file using MiniExcel, and then save it as a new file, the cells containing the formulas are treated as regular data, and the formulas themselves do not work. The formulas only become active after you manually enter the cells, edit the formulas, and press Enter.
And, I can’t find the relevant settings and instructions in the instructions for use in the readme.

var data = new List<Dictionary<string, object>>
{
    new Dictionary<string, object>
    {
        ["Institution"] = "Institution",
        ["Created"] = "Created",
        ["Formula"] = "Formula",
    },
    new Dictionary<string, object>
    {
        ["Institution"] = "BMC Inc.",
        ["Created"] = "2021-01-01",
        ["Formula"] = $"=SUM(A2:B2)"
    },
};

MiniExcel.SaveAs("test.xlsx", data, printHeader: false, overwriteFile: true, excelType: ExcelType.XLSX);

Functionality waiting for Pull Request.
PR 679: Formula Support

repo: mini-software/MiniExcel


text:
Add option to skip null values when writing to Excel

Fixes #496

@0MG-DEN merged 👍👍👍


text:
create different classes for animated and static galleries

to solve the problem with vertical spacing

create only function specific class for this, ex. min-height, no-min-height

repo: minicomp/wax


text:
Choose from a list of keywords

Hello,
Thanks for this. It's working quite well, but is there a way to get it to choose only from a pre-defined list of keywords?

Hello,
Thanks for this. It's working quite well, but is there a way to get it to choose only from a pre-defined list of keywords?

Hello,  I would like to ask if you have any progress regarding the idea you said, I am also very interested and want to ask you for advice.
Looking forward to your reply, thanks a lot!!!

authors: RileyChing regstuff


text:
Support unsafe function schemas

LLMs for code are capable of reasoning beyond just what is merely executable [^1][^2]. Therefore, I suggest allowing users to provide free-form function schemas that aren't necessarily strictly following the JSON Schema format.
[^1]: Souza, Beatriz, and Michael Pradel. "LExecutor: Learning-Guided Execution." arXiv preprint arXiv:2302.02343 (2023).
[^2]: https://www.youtube.com/watch?v=YIYlkCbIxqc&t=2664s

Function input implementation is handled by a model-by-model basis, which is why the current schema code is in chatgpt.py.

@minimaxir, what do you mean by "model-by-model basis"?

This implementation of structured I/O to ChatGPT is specific to ChatGPT.

Okay, but why not allow users to provide schemas that violate the JSON Schema format?

No point, unless there is evidence that it actually improves generation quality.
To keep the library simple, I am not adding things for the sake of adding things.

authors: keyboardAnt minimaxir

repo: minimaxir/simpleaichat


text:
Missing file irange in mininet.util

from mininet.topo import Topo prompts error
This line prompts error when ran and it was found that module irange that is often called by Topo is missing. How can this be resolved to use Topo function to create topology?

this can be closed i think

repo: mininet/mininet


text:
minio/minio-go/v7@v7.0.67/utils.go:627:67: undefined: tls.CertificateVerificationError with Go 1.19.

https://github.com/minio/minio-go/pull/1921 and more specifically https://github.com/minio/minio-go/commit/76a41461fe5124fb9b646615c6abafcd1d41c7c2 caused minio-go to no longer build with Go 1.19.

https://endoflife.date/go go1.19 is EOLed

@harshavardhana I guess a mention on https://github.com/minio/minio-go/releases/tag/v7.0.67 would have avoid the surprise on our side. I'm fine with dropping support for EOL Go version but was thrown off by go 1.17 in the go.mod.

go1.17 was kept for migration purposes; it was a mistake when using the new types.

Agree! We run into this issue as well. If we're still going use go1.17 in go mod, then better fix it. otherwise better update it to 1.20

Upgrade version golang, solve for me. go 1.20

authors: haorenfsa harshavardhana mahbubzulkarnain simondeziel

repo: minio/minio-go


text:
Consolidate configurations

Change application files to be more meaningful
Remove excess ones
Update files to reflect the new default (SDS40 and what is live) rather than the historic SDS at 50
Update test cases where there are specific issues
Add documentation to explain how developers should use the application profiles going forward.
Make all operational commencement dates consistent in all files (some reflect speculative future dates, that have now passed).

NOTE: There is still an outstanding test case failure to be addressed. Pushed up for a partial review.


text:
OIDC - Complete current OIDC

Outstanding OIDC conversions:
Modernisation Platform repo:

terraform/

environments (Excluding the files in environments directory as those run off a different set of keys)

core-vpc
core-network-services
bootstrap

delegate-access
single-sign-on
secure-baseline

github
pagerduty
modernisation-platform-account

Modernisation Platform AMI Builds

modernisation-platform
teams

I think terratests in modules should continue using the testing-test ci credentials since adding an OIDC provider in the testing-test account would prevent OIDC module from being tested.

https://github.com/ministryofjustice/modernisation-platform/issues/2040#issuecomment-1275821857 <-- core-security-production

picking up the core-vpc account

OIDC refactor implementation for the core-vpc account: https://github.com/ministryofjustice/modernisation-platform/pull/2551

I'm looking at delegate access and the environments as they both run off privileged keys in the root account

`Modernisation Platform AMI Builds

[ ] modernisation-platform
[ ] teams`

Should be split off into a different story.

OIDC refactor implementation for the core-vpc-test-deployment (I have missed it in the previous PR)
and the core-network-services-deployment workflows: https://github.com/ministryofjustice/modernisation-platform/pull/2560

OIDC refactor implementation for the modernisation-platform-account: https://github.com/ministryofjustice/modernisation-platform/pull/2567

https://github.com/ministryofjustice/modernisation-platform/pull/2571 for single-sign-on and secure-baselines

Moved delegate-access and environments out to https://github.com/ministryofjustice/modernisation-platform/issues/2568

Moved the github one to [https://github.com/ministryofjustice/modernisation-platform/pull/2570] #2570

authors: SteveLinden davidkelliott ewastempel julialawrence seanprivett


text:
Slackbot  to open frequently used sites ie GH users, GH team, pingdom users, from the ask channel

Background

We run lots of services. We often need to open multiple site to do some tasks. It would be nice to be open a link via the #ask channel to reduce hunting for various links/bookmarks. Would reduce number of clicks.
Approach

Investigate options that might be available.
Acceptance Criteria

[ ] Options for review by team

Reference
How to write good user stories

Looked at tefter app. Would do this however won't proceed with that option as there is a cost.

Added links to a shortcut bar in the main slack channel. Revisit this need if we need something more sophisticated.

Done


text:
Sw 5910 pagination tests

Changed pagination element from Jen's design to follow GDS component standards
https://design-system.service.gov.uk/components/pagination/#:~:text=Components-,Pagination,-Help users navigate

Codecov Report
Base: 47.52% // Head: 47.73% // Increases project coverage by +0.20% :tada:

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

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #242      +/-   ##
==========================================
+ Coverage   47.52%   47.73%   +0.20%
==========================================
  Files          13       13
  Lines         505      507       +2
==========================================
+ Hits          240      242       +2
  Misses        240      240
  Partials       25       25

Impacted Files
Coverage Δ

internal/sirius/get_page_details.go
92.59% <100.00%> (+0.28%)
:arrow_up:

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.

Hi Kate, took a look at this today and fixed the CSS issue on the pagination buttons.
Turns out there was a class on the button that needed to be on the parent <li> element, govuk-pagination__item--current. Also changed the template logic to to just not render the next/prev when it doesn't need to, rather than use visibility:hidden.

One more scenario to look at on Monday and make sure is tested.
Locally if I filter by 50 per page and go to page 2, I can't go back to page 1.
http://localhost:8888/supervision/workflow/?change-team=13&page=1&tasksPerPage=50&xsrfToken=&assignTeam=0&assignCM=&tasksPerPage=50

authors: codecov-commenter kate-49 mattmachell


text:
removed govuk link on viewer home page

Purpose
To remove the link to the lpa service on the viewer home page as from research some users are unnecessarily following the link which takes them away from the service and interrupts their journey
Fixes UML-484
Approach
Removed the link so that 'lasting power of attorney' is just text
Checklist

[x] I have performed a self-review of my own code
[ ] I have updated documentation (Confluence/GitHub wiki/tech debt doc) where relevant
[ ] I have added tests to prove my work
[ ] The product team have tested these changes

Coverage remained the same at 78.523% when pulling 33116c8ebfd63c288c42b4a807d49f8d95437d86 on UML-484-Remove-lpa-link-on-viewer-start-page into 38f35dfce6471e146257ed9dba3b341387c567b1 on master.

authors: GemTay coveralls

repo: ministryofjustice/opg-use-an-lpa


text:
Update Terraform terraform-aws-modules/vpc/aws to v5

This PR contains the following updates:

Package
Type
Update
Change

terraform-aws-modules/vpc/aws (source)
module
major
2.78.0 -> 5.1.0

Release Notes

terraform-aws-modules/terraform-aws-vpc (terraform-aws-modules/vpc/aws)
v5.1.0
Compare Source
Features

Add support for creating a security group for VPC endpoint(s) (#962) (802d5f1)

v5.0.0
Compare Source
⚠ BREAKING CHANGES

Bump Terraform AWS Provider version to 5.0 (#941)

Features

Bump Terraform AWS Provider version to 5.0 (#941) (2517eb9)

4.0.2 (2023-05-15)
Bug Fixes

Add dns64 routes (#924) (743798d)

4.0.1 (2023-04-07)
Bug Fixes

Add missing private subnets to max subnet length local (#920) (6f51f34)

v4.0.2
Compare Source
v4.0.1
Compare Source
v4.0.0
Compare Source
⚠ BREAKING CHANGES

Support enabling NAU metrics in "aws_vpc" resource (#838)

Features

Support enabling NAU metrics in "aws_vpc" resource (#838) (44e6eaa)

v3.19.0
Compare Source
Features

Add public and private tags per az (#860) (a82c9d3)

Bug Fixes

Use a version for  to avoid GitHub API rate limiting on CI workflows (#876) (2a0319e)

3.18.1 (2022-10-27)
Bug Fixes

Update CI configuration files to use latest version (#850) (b94561d)

v3.18.1
Compare Source
v3.18.0
Compare Source
Features

Added ability to specify CloudWatch Log group name for VPC Flow logs (#847) (80d6318)

v3.17.0
Compare Source
Features

Add custom subnet names (#816) (4416e37)

3.16.1 (2022-10-14)
Bug Fixes

Prevent an error when VPC Flow log log_group and role is not created (#844) (b0c81ad)

v3.16.1
Compare Source
v3.16.0
Compare Source
Features

Add IPAM IPv6 support (#718) (4fe7745)

v3.15.0
Compare Source
Features

Add IPAM IPv4 support (#716) (6eddcad)

3.14.4 (2022-09-05)
Bug Fixes

Remove EC2-classic deprecation warnings by hardcoding classiclink values to null (#826) (736931b)

3.14.3 (2022-09-02)
Bug Fixes

Allow security_group_ids to take null values (#825) (67ef09a)

3.14.2 (2022-06-20)
Bug Fixes

Compact CIDR block outputs to avoid empty diffs (#802) (c3fd156)

3.14.1 (2022-06-16)
Bug Fixes

Declare data resource only for requested VPC endpoints (#800) (024fbc0)

v3.14.4
Compare Source
v3.14.3
Compare Source
v3.14.2
Compare Source
v3.14.1
Compare Source
v3.14.0
Compare Source
Features

Change to allow create variable within specific vpc objects (#773) (5913d7e)

v3.13.0
Compare Source
Features

Made it clear that we stand with Ukraine (acb0ae5)

v3.12.0
Compare Source
Features

Added custom route for NAT gateway (#748) (728a4d1)

3.11.5 (2022-01-28)
Bug Fixes

Addresses persistent diff with manage_default_network_acl (#737) (d247d8e)

3.11.4 (2022-01-26)
Bug Fixes

Fixed redshift_route_table_ids outputs (#739) (7c8df92)

3.11.3 (2022-01-13)
Bug Fixes

Update tags for default resources to correct spurious plan diffs (#730) (d1adf74)

3.11.2 (2022-01-11)
Bug Fixes

Correct for_each map on VPC endpoints to propagate endpoint maps correctly (#729) (19fcf0d)

3.11.1 (2022-01-10)
Bug Fixes

update CI/CD process to enable auto-release workflow (#711) (57ba0ef)

v3.11.5
Compare Source
v3.11.4
Compare Source
v3.11.3
Compare Source
v3.11.2
Compare Source
v3.11.1
Compare Source
v3.11.0
Compare Source

feat: Add tags to VPC flow logs IAM policy (#706)

v3.10.0
Compare Source

fix: Enabled destination_options only for VPC Flow Logs on S3 (#703)

v3.9.0
Compare Source

feat: Added timeout block to aws_default_route_table resource (#701)

v3.8.0
Compare Source

feat: Added support for VPC Flow Logs in Parquet format (#700)
docs: Fixed docs in simple-vpc
chore: Updated outputs in example (#690)
Updated pre-commit

v3.7.0
Compare Source

feat: Add support for naming and tagging subnet groups (#688)

v3.6.0
Compare Source

feat: Added device_name to customer gateway object. (#681)

v3.5.0
Compare Source

fix: Return correct route table when enable_public_redshift is set (#337)

v3.4.0
Compare Source

fix: Update the terraform to support new provider signatures (#678)

v3.3.0
Compare Source

docs: Added ID of aws_vpc_dhcp_options to outputs (#669)
fix: Fixed mistake in separate private route tables example (#664)
fix: Fixed SID for assume role policy for flow logs (#670)

v3.2.0
Compare Source

feat: Added database_subnet_group_name variable (#656)

v3.1.0
Compare Source

chore: Removed link to cloudcraft
chore: Private DNS cannot be used with S3 endpoint (#651)
chore: update CI/CD to use stable terraform-docs release artifact and discoverable Apache2.0 license (#643)

v3.0.0
Compare Source

refactor: remove existing vpc endpoint configurations from base module and move into sub-module (#635)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

VPC community module requires code to be refactored.
Suggest pinning module locally to current version.
2.78.0 -> 5.1.0

authors: smjmoj staff-infrastructure-moj


text:
When logging in with Discord you should be redirected back to where you started

Click into corporations and try and apply to a corporation, you'll be forced to log in. This passes a next parameter, but we lose it with all the redirects. We should push this into the django session (or preserve it somehow) so that we can redirect back to the original page after logging in.

Completed


text:
Ansible 2.2+ cannot run playbook

Steps to Reproduce

Install the latest version of Ansible (2.9)
Force vagrant to reprovision by running vagrant provision

Expected Behavior
Ansible will successfully run through the playbook
Actual Behavior
Ansible fails with the message ERROR! 'sudo' is not a valid attribute for a Play.
Details
sudo has been deprecated since Ansible 2.0 and was removed in 2.2. It was replaced with become. (See this Stack Overflow post for more details.)
Output
Vagrant/Ansible error:
eryn@eryn-XPS-13-9370:~/Code/sessionizer/vagrant$ vagrant provision
==> default: Running provisioner: ansible...
Vagrant has automatically selected the compatibility mode '2.0'
according to the Ansible version installed (2.9.4).

Alternatively, the compatibility mode can be specified in your Vagrantfile:
https://www.vagrantup.com/docs/provisioning/ansible_common.html#compatibility_mode

    default: Running ansible-playbook...
PYTHONUNBUFFERED=1 ANSIBLE_FORCE_COLOR=true ANSIBLE_HOST_KEY_CHECKING=false ANSIBLE_SSH_ARGS='-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ForwardAgent=yes -o ControlMaster=auto -o ControlPersist=60s' ansible-playbook --connection=ssh --timeout=30 --limit="default" --inventory-file=/home/eryn/Code/sessionizer/vagrant/.vagrant/provisioners/ansible/inventory -v ansible/development.yml
Using /etc/ansible/ansible.cfg as config file
ERROR! 'sudo' is not a valid attribute for a Play

The error appears to be in '/home/eryn/Code/sessionizer/vagrant/ansible/development.yml': line 1, column 3, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

- name: Set up base development environment
  ^ here

Ansible failed to complete successfully. Any error output should be
visible above. Please fix these errors and try again.

Version data:
eryn@eryn-XPS-13-9370:~/Code/sessionizer/vagrant$ ansible --version
ansible 2.9.4
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/home/eryn/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/dist-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.12 (default, Oct  8 2019, 14:14:10) [GCC 5.4.0 20160609]

The solution to this is to use become: instead of sudo:. I can submit a PR if there's interest in updating the project to work with newer versions of Ansible.

It sounds like the general feeling on Slack is to move towards Docker over Vagrant, but if you've got a quick PR handy that allows the VM to start up properly, I don't see a reason not to do it!

We've done away with Vagrant/Docker and went back to the basics, a plain-ol' RoR app w/PostgreSQL dependency.
refs #316

authors: eryno tonyc unsay

repo: minnestar/sessionizer


text:
🛑 Matrix is down

In 9b8cfd1, Matrix (https://matrix.mint.lgbt:8448/_matrix/federation/v1/version) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Matrix is back up in ccfa4ac after 46 minutes.

repo: mint-lgbt/status


text:
🛑 Redlib is down

In be58881, Redlib (https://redlib.mint.lgbt) was down:

HTTP code: 404
Response time: 967 ms

Resolved: Redlib is back up in e2c713c after 23 minutes.


text:
🛑 Matrix is down

In 2637f43, Matrix (https://matrix.mint.lgbt:8448/_matrix/federation/v1/version) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Matrix is back up in f65af5c.


text:
Rework undo for DeltaDataCollection v2

This is a continuation of work started in #577, but as a separate PR to avoid painful rebase. This time based on master.
I'll try to formulate the problem once more. I need deltas and undos to be associative. Meaning sequence like (DB <- Delta) <- Undo should be equal to DB <- (Delta <- Undo) where <- is merge operation. Previous approach where undo didn't contain information and only Erase operation didn't satisfy this property.
This PR implements undo operation through separate delta type DataDeltaUndo, which can be applied to a delta from another collection or to a DB. Thus the information is not lost for undo, allowing us to flush delta to db at any moment and still be able to undo it later.
Moreover in a arbitrary chain of deltas and undos they can be merged in different order and still produce the same result, e.g:
Delta + Delta + Undo + Undo
(Delta + Delta) + (Undo + Undo)
Delta + ((Delta + Undo) + Undo)
Delta + (Delta + (Undo + Undo))

What was the original motivation for the separation into three types? I may be missing something.

The idea to distinguish DeltaDataUndo from DeltaData was introduced to make the code more explicit. Indeed undo can be represented by a simple delta, but that would make user intention unclear. For example, we want to be able to apply additional rules for undo (right now applying delta over undo is forbidden for simplicity).
I agree that it looks duplicated, maybe an undo wrapper over DeltaData is better. Will play with it.
Regarding DeltaDataCollection. It's just a container for deltas. A map of arbitrary keys to either DeltaData or DeltaDataUndo. It is also useful because it encapsulates the rules of undo creation: undo is only created on delta+delta merge (not undo merge or delta+undo).

Wondering if we can get away with something a bit simpler.

I believe that your main concern is the reimplementation of operations for undo. Otherwise, the current approach is more restrictive in terms of how undo can be created and used.

The idea to distinguish DeltaDataUndo from DeltaData was introduced to make the code more explicit. Indeed undo can be represented by a simple delta, but that would make user intention unclear. For example, we want to be able to apply additional rules for undo (right now applying delta over undo is forbidden for simplicity). I agree that it looks duplicated, maybe an undo wrapper over DeltaData is better. Will play with it.
Regarding DeltaDataCollection. It's just a container for deltas. A map of arbitrary keys to either DeltaData or DeltaDataUndo. It is also useful because it encapsulates the rules of undo creation: undo is only created on delta+delta merge (not undo merge or delta+undo).

Sorry I meant whether DeltaData, DeltaDataUndo and DeltaMapElement could be somehow streamlined. I don't have a problem with DeltaDataCollection, that one just slipped in by accident.

I gave the issue of composition in presence of errors some thought and this is what I ended up with. Please let me know your opinion.
Specification
Before diving into the implementation, let me first lay down what we want to achieve accompanied with some high-level observations. Hopefully, we will be able to derive the correct implementation from that later on. Let us ignore for the moment the issue of representing missing values. For now, assume we are working with a value of type T that is always present and we only have the Modify operation, no Create or Delete. This apparent limitation will be reviewed later.
Fundamentally, a delta Delta<T> represents a function of type Fn(T) -> Result<T>. That is, a function that takes some data point of type T and either returns a new data point of type T or fails. We can find a concrete data type to use to represent deltas efficiently later. For now, to lay out semantics of deltas, how should deltas behave when applied to a value and how should they compose together, it is instructive to think of them as if they were implemented as the function type above.
The Delta type has a method Delta::apply taking Self and a T and producing a Result<T> which actually turns the delta into its function representation |x| my_delta.apply(x) : impl Fn(T) -> Result<T>. This is basically your combine_delta_with_data. The apply function for the "primitive" create/modify/delete operations is obvious enough, it just performs given operation.
Let us now look into how should deltas combine. Since deltas represent functions, combining deltas should behave like function composition (i.e. applying one function after another). However, the usual notion of function composition compose(f, g) { |x| f(g(x)) } does not quite cut it, because the result of f is a Result<T> and g expects a T as its argument. We need a modified version of function composition for fallible functions which looks something like compose_fallible(f, g) { |x| Ok(f(g(x)?)?) }. Here we take f and g satisfying Fn(T) -> Result<T> and we get one function that also satisfies Fn(T) -> Result<T>.
So for delta composition to be well behaved, the following three should all be equivalent functions:
|x| Ok(d1.apply(d0.apply(x)?)?)
|x| combine(d0, d1).apply(x)
compose_fallible(|x1| d1.apply(x1), |x0| d0.apply(x0))

In the above, the convention that d0, d1, etc are deltas Delta<T> whereas x, x0, x1, etc are values of type T.
Since function composition is associative (including the fallible version, assuming no side effects), making delta composition in effect implement function composition will make delta composition associative too once it is applied to data.
Implementation
Here is one representation of the Delta type that seems to satisfy the above requirements:
enum Delta<T> {
    Modify(T, T), // Require the old value to be equal to the first component, update it to the second
    Mismatch,     // There was a old/new mismatch somewhere along the way
}

The semantics are defined in terms of apply as follows:
fn apply(self, x: T) -> Option<T> {
    match self {
        Delta::Modify(old, new) if x == old => Ok(new),
        _ => None,  // we have Delta::Mismatch or the old value does not match
    }
}

Using Option in place of Result since there is only one error state. Supporting multiple error types is a bit tricky as discussed below.
The delta composition goes like this:
fn combine<T>(d0: Delta<T>, d1: Delta<T>) -> Delta<T> {
    match (d0, d1) {
        (Delta::Modify(x0, x1), Delta::Modify(x2, x3)) if x1 == x2 => Delta::Modify(x0, x3),
        _ => Delta::Mismatch, // either one of deltas is a mismatch or the equality check above fails
    }
}

I think this satisfies the specification outlined in the previous section. Proof left as an exercise for the reader :laughing:
Handling missing values
The above does not handle creating and deleting values. That functionality is easily recovered by using Delta<Option<T>>.

Create(x) becomes Delta::Modify(None, Some(x))
Modify(x0, x1) becomes Delta::Modify(Some(x0), Some(x1))
Delete(x) becomes Delta::Modify(Some(x), None)
The remaining combination Delta::Modify(None, None) amounts to failing unless the value is absent. This is different from a no-op delta (which is not representable with the current iteration of the Delta type, see below)

Note that since Delta<U> has various desirable properties (associativity of the combine operation) for all U,  Delta<Option<T>> has them too by setting U = Option<T>.
Undo
The notion of inverting something is captured by the mathematical structure group. To make Delta into a group, we need two extra ingredients: the identity element and the inverse operation.
Identity
We add the Noop arm as the identity element:
enum Delta<T> {
    Noop,
    Modify(T, T),
    Mismatch,
}

The Delta::Noop behaves like the identity function when applied to data element x. Composing Noop with any other delta d gives d (no matter whether noop is lhs or rhs).
It may be sensible to keep separate types for deltas with the noop arm and for deltas without it. When put in a map, the noop case can be represented by key not being present. The new Delta is isomorphic to Option<OldDelta>.
Inverse
Inverse has to satisfy combine(d.inverse(), d) == combine(d, d.inverse()) == Delta::Noop. The following does that:
Noop => Noop,
Modify(old, new) => Modify(new, old),
Mismatch => Mismatch,

Distinguishing "forward" and "backward" deltas at type level
Also touched upon in one of the other comments was that it may be useful to distinguish using types whether a delta applies new changes or undoes previously applied changes.
My preferred solution would be to add a phantom type that captures whether the intention is for the delta to be applied forward or backward. Inverse turns the forward annotation to backward and vice versa. The combine operation requires the directions to be the same but does not care otherwise. It is not clear to me what the resulting annotation should be when mixing directions, that's why I suggest for combine to work only on deltas going in the same direction. This could be revisited later.
Tradeoffs
There are two things that I identified that we lose by employing this approach.
Less granular errors
Due to a more general representation, the various error cases (like double creation, modifying non-existing value, deleted value mismatch, etc) have been collapsed into one. Is this a serious issue?
Seems we could change Mismatch to Mismatch(expected_value, actual_value) for a richer error reporting, and the original error cases (like deleting a non-existing value, etc.) could be extracted from that. However, it gets more complicated once inverses enter the scene. Since we want the first error encountered to be propagated and inverting changes which error we encounter first, we would have to track two errors, one for the case when we apply the operations in the specified order and one for backwards order. At least all errors in the middle can still be dropped. Not sure it's worth investing the effort and extra complexity into this.
Early exit less convenient
Using Result or Option allows us to use the ? operator when something goes wrong to exit early. When working with deltas, we often want to exit early as soon as we encounter a Delta::Mismatch. A nice principled way to do it is to implement std::ops::Try for Delta but it is currently unstable. An ugly option is to use a Result<(T, T), MismatchError> to represent Delta or have Delta easily convertible to it, so ? can be used on it directly.
The combine operation requires both arguments to be evaluated no matter what which may result in inefficiency. We can provide a version of combine that evaluates rhs lazily:
fn combine_lazy<T>(d0: Delta<T>, d1: impl FnOnce() -> Delta<T>) -> Delta<T> {
    if matches!(d0, Delta::Mismatch) { return Delta::Mismatch }
    combine(d0, d1())
}
// use combine_lazy(a, || expensive_operation(b, c)) instead of combine(a, expensive_operation(b, c))

I don't particularly like any of these options apart from the one that requires unstable features.
Conclusion
I hope I have not missed something obvious. This seems to work in my head :rofl:.
There is a number of advantages to the use of well-established mathematical structures. They are well researched so for example any result that someone has proven about groups also applies to deltas if we make deltas into a group. For some reason I suspect the crypto people here are familiar with groups in particular. Also the well-established structures tend to be very well behaved, predictable and composable.

Inverse has to satisfy combine(d.inverse(), d) == combine(d, d.inverse()) == Delta::Noop. The following does that:
Noop => Noop,
Modify(old, new) => Modify(new, old),
Mismatch => Mismatch,

Turns out this is not correct. The Modify case does not satisfy the inverse law as it gives a Modify(old, old) instead of a Noop. The Modify(old, old) is correct according to the original spec where we require applying deltas one by one to be equivalent to combining deltas and applying the combined delta.
There is something called Inverse semigroup which seems to fit the use case here much better. It has a weaker notion of inverse where combine(d, d.inverse(), d) == d. The following inverse operation, formulated on the original Delta without the extra identity element, satisfies that:
Modify(old, new) => Modify(new, old),
Mismatch => Mismatch,

Also we don't have to artificially introduce the identity element to make this formulation work, so the whole thing becomes somewhat simpler.

I like the formulation and I think it's worth giving a try. I'd like to expand on this and say that the elements you mentioned and the semi-group seem to form a symmetric/hermitian transformation in Hilbert space. One can see that a data (even empty data) is a column vector (A, B) that represents the data of an account from state A to state B. The transformation function is a hermitian/symmetric matrix multiplication that moves the data among these states. If we represent the data in these states, they're guaranteed to be reversible. I think if we want to go nuts we can have a full mathematical formulation of this.

I hope I have not missed something obvious. This seems to work in my head

I like the formulation and I think it's worth giving a try. I'd like to expand on this and say that the elements you mentioned and the semi-group seem to form a symmetric/hermitian transformation in Hilbert space. One can see that a data (even empty data) is a column vector (A, B) that represents the data of an account from state A to state B. The transformation function is a hermitian/symmetric matrix multiplication that moves the data among these states. If we represent the data in these states, they're guaranteed to be reversible. I think if we want to go nuts we can have a full mathematical formulation of this.

Added more tests and some fixes. New tests fail which shows that the current approach has problems.

Closing this PR in favor of #613. All comments are addressed there.

authors: TheQuantumPhysicist azarovh iljakuklic

repo: mintlayer/mintlayer-core


text:
live version Switching

Is your feature request related to a problem? Please describe.
Mostly, if I updated my CV, I would like to update all languages and compile them all.
Switch behavior by source editing seems unnatural
Describe the solution you'd like
Pass the desired languages by cmdline args, or change the varLanguage into a list
Describe alternatives you've considered
Furthermore. It feels more reasonable to nast the language entry in the file i.e. like the metadata.typ

I realize that it is a language limitation that each compile can only output one PDF. and also if the cmdline can pass args to the template

A very interesting proposal, I see your point here.
I will be happy to implement this if Typst expands this functionality: https://github.com/typst/typst/issues/295
In the meanwhile, you might want to write a simple bash script that change the variable in the metadata.typ by commands like sed and compile the file, such that you could execute the script once and get the PDF for all versions.

I made a minor change to support this feature. Please have a look at my repo for the use of multi-version support, and my repo of template for information.
Let me know if you'd like to pull my changes, I'll raise a PR

I took a look but I don't quite understand your repo -- so it is that you added a varVersion and it's all?
You can submit a PR if you want though. It would be clearer to review altogether.

Follow up discussion will be in https://github.com/mintyfrankie/brilliant-CV-Submodule/pull/9

authors: HernandoR mintyfrankie

repo: mintyfrankie/brilliant-CV