Fixes scope working under a path

Adds proxy server for easy testing of scope under a path.

Fixes #978

Can test master is not working with this:
nginx -c /Users/blahblahahl/nginx.conf
daemon off;
http {
	server {
	    listen 5000;

	    location /zing/ {
		proxy_pass http://localhost:4042/;
		proxy_http_version 1.1;
		proxy_set_header Upgrade $http_upgrade;
		proxy_set_header Connection 'upgrade';
		proxy_set_header Host $host;
		proxy_cache_bypass $http_upgrade;
	    }
	}
}

events {}

Solid! LGTM


🎁 wish list

prompt completion

[ ] model selection, default: current.

literature review

[ ] concordance analysis with shuffle.
[ ] heterogeneity test and p-value calculation
[ ] access to API for journal websites

from https://github.com/kamangir/openai-commands/issues/13


Backports for v2.0.2

Bunch of backported bugfixes - last commit is release notes summary of the backports

Should the Vendor PRs be done differently?

lgtm

@rhatdan I don't think we want to do much revendoring into an LTS branch?

@mheon As long as we can continue to use the test suite, I am fine with it.

/lgtm


Submit to EddieHubCommunity for review

Submit to EddieHubCommunity/Support for Livestream review

I will do that after adding some improvements 😂


Async custom commands don't work

See webdriverio/wdio-mocha-framework#6
Example:
        // ...but this fails with `AssertionError: expected 0 to be above 990` (i.e. it doesn't wait):
        browser.addCommand('customWrapWdio', function async (a) {
            return browser.customWdio(a)
            .then((b) => {
                return b + 1
            })
        })

Added a failing test case for this in https://github.com/webdriverio/wdio-mocha-framework/pull/7


Rendering case sensetive  components in a single modal

Is it possible to use this modal to render case sensetive  components inside it?
I mean in a screen I have 2 or 3 modal types depends on buttons. For example modal for sorting, modal for reaction modal for options etc...
`
<Modal
style={{
marginLeft: 0,
flexDirection: "column",
justifyContent: "flex-end",
marginBottom: 0,
}}
onBackButtonPress={() => close()}
onBackdropPress={() => close()}
useNativeDriver={true}
deviceHeight={height}
deviceWidth={width}
animationInTiming={500}
animationOutTiming={700}
backdropTransitionInTiming={800}
backdropTransitionOutTiming={800}
isVisible={news.modalState.modal}
children={

			{type === "options" && <Options />}
			{type === "reaction" && <Reaction />}
			{type === "filter" && <Filter />}
		</View>
	}
		/>`

but if i do like this, when I close the modal it closes immediately. without animation.
any solution for this?

Hi!
I'm closing this issue because it's a question and not a bug report. Please don't take it personally, I'm just trying to make it easier to maintain this project by separating questions from bug reports 🙏.
If you're still looking for feedback/answers, could you please ask your question in a new discussion?
Thank you!


Doesn't continue auto-repeating a node, only runs once

Once it has finished running the complete node. When it's back to the node selection screen, it just stops there.
Have to manually stop and start Ankulua every time. Once it's started again, it normally continues on to select the node, select support, do battle etc. Than again have to restart ankulua.
Don't know what's the issue, it's not like it can't auto-select the node. As when manually started it chooses that on it's own.
Using Ankulua latest trial APK.
PS can the support selection scroll speed be increased, it's bit too slow and I believe it only detects the support after it has finished the scrolling..
Edit:
Just realized, that it actually works fine. However on the node selection screen, it only proceeds after waiting for around 30 seconds, every time. Had used this script on an older phone previously, it didn't have delay between starting again in that one, so didn't notice it here.
Any way to decrease the delay or anything?

I am working on increasing the scroll speed on Support screen already. I have it much faster already in fact, but it is also too fast XD
As for the wait time, that is because it is looking for friend request screen and first node completion screen. You can reduce this by going into the regular.lua file and finding the "wait(xx)" portions within the Result() function (line 137, 176, 185) and commenting them out. Just bare in mind that first completion will not detect the rewards for first completion and will get stuck there.


Create the new version of UI/UX for displaying APY for farming validators

@stefanopepe @esaminu @agileurbanite

Ack we will propose a UX in the next few days and reply in this issue.

@corwinharrell, the APY is an "annual percentage yield" used to measure the interest rate.
Calling it APY can be tricky, as pools (see Aurora) might take $near, keep fees at 100%, and give back only Aurora tokens, which would yield 0% APY in $near tokens and a certain amount of $aurora tokens (or any other similar fungible token).
Example 1:

Aurora Pool takes 100% staking fees, offering 1,000,000 $aurora tokens over 12 months. They received already 190,000 $near staked, out of a grand total of 400,000,000 $near currently staked in the network
the user Alice stakes 10,000 $near, corresponding to 5% of the total of 200,000 $near staked in the pool
Alice's $near APY will be 0%, since Aurora Pool keeps 100% of the protocol rewards
$aurora Annual Yield will be 5% of 1,000,000 or 50,000 $aurora tokens >> this is because Alice holds 5% of all funds staked into the Aurora Pool
as of today, 1 $aurora is 0.59825470 $near, so the Annual Yield equivalent is (50,000 * 0.598)=29,900 $near
Alice's cumulative APY would be 0% $near from protocol rewards + (29,900/10,000)=299% from the $aurora fungible token rewards

Example 2:

Paras Pool takes 50% staking fees, offering 20,000,000 $paras tokens over 12 months. They received already 990,000 $near staked out of the 400,000,000 $near currently staked in the network
the user Bob stakes 10,000 $near, corresponding to 1% of the total of 1,000,000 $near staked
Bob's $near APY will be half of the protocol rewards, or (0.5 * 0.1125)=5.625%, since Paras Pool takes 50% or 0.5 in fees
$paras Annual Yield will be 1% of 20,000,000 or 200,000 $paras tokens
as of today, 1 $paras is 0.019 $near, or an Annual Yield equivalent of 3,800 $near
Bob's cumulative APY would be 5.625% $near from protocol rewards + (3,800/10,000)= 38% from the fungible tokens

Example 3:

Bison Trails Pool takes 10% staking fees, not offering fungible tokens. They received already 19,990,000 $near staked out of the 400,000,000 $near currently staked in the network
the user Charlie stakes 10,000 $near, corresponding to 0.05% of the total staked in the pool
Charlie's $near APY will be 90% of the protocol rewards since Bison Trails keep 10% in fees, or ((1-0.1)*0.1125)=10.125%
no fungible tokens are distributed by Bison Trails, so there are no additional Annual Yield to calculate
Charlie's cumulative APY would be 10.125% from protocol rewards, and nothing else

Notes:

We simplified to a constant of 11.125% APY for the staking on the protocol, coming from the standard rewards of 4.5% over 1 billion tokens of supply, applied to 400 million $near staked
We simplified the fungible tokens annual yields, since some pools may have a release schedule that is shorter than 12 months, so the APY (annual, 12 months) is lower
The current calculation here is using USD as the unit of account instead of $near, which is faster to implement but requires to know the fungible token values in USD
this calculation won't take into account the $near, $aurora and $paras exchange fluctuations: the 299% APY might change dramatically if the $near tokens and/or the $aurora token USD value increase or decrease in the double digit.

Will need an ack by @ilblackdragon to make sure we are all on the same page in terms of UI

@stefanopepe , about the calculation in terms of prices. It might be wrong, but as I understand if we are using just math - there won't be any difference between the results. Anyway, we have to somewhere take data about prices. As we decided to use ref.finance - it is much easier to take prices of whitelisted tokens instead of selecting the pools and $near/$token ratio. Am I wrong?


Split status mail flag with success and failure

Actually the script is very spamer sending all the correct fetched books, when I only want to see if an error happened, like before with -rm
Can you recover this funcionality? for example, with 2 flags one OK, other for Failure (and the actual that enables both)

Hello, Yes we changed the behaviuor a bit, the feature was implemented at: https://github.com/igbt6/Packt-Publishing-Free-Learning/issues/42 by @mjenczmyk . Maybe it's worth to make this notifications seperate. As I am overloaded currently, do you maybe want to open a pull request :) ?

@Palatosino I implemented it that way, because I wanted to make sure I know something failed - if a service I set a cron on failed I wouldn't get an email at all (and I would be convinced everything went OK, because I didn't get an email.
Anyway, I'm not sure if it still matters as there is capcha to be solved before grabbing - if I were you I would wait to see if they have removed captcha (the script is still an awesome tool for downloading already claimed books thought).

@Palatosino Can this issue be closed as it seems that grabbing books with scheduled task is impossible because of captcha?

Close for now, I will try to recover the previous functionality in future as it was more useful for me as well


UserSecretsId prevents any deployment of F# ASP.NET Core app to Azure App Service

When deploying an F# ASP.NET Core app to Azure App Service. the deployment process adds a <UserSecretsId> element to the fsproj if it's not already present. As explained in this article, this element causes the build to fail with the following error:
A function labeled with the 'EntryPointAttribute' attribute must be the last declaration in the last file in the compilation sequence
The article explains why the error occurs and instructs to fix it by removing the element from the project file and instead adding the user secrets ID in an AssemblyInfo.fs. I have tried this and can then build manually, but each time I try to deploy, the deployment process still adds a <UserSecretsId> element with a new ID in my project file, causing the build to fail.
In other words, this bug seems to completely block deployment of F# ASP.NET Core apps to Azure App Service. It might happen for other Azure deployments too; I haven't tested.
Let me know if I can provide any other relevant info.
(Also posted as a question on SO to try to find workarounds.)

We are putting our asp.net core app into a docker container and run the
container in app service. That works. Maybe a workaround for you
Christer van der Meeren<EMAIL_ADDRESS>schrieb am Do., 23. Aug.
2018, 10:46:

When deploying an F# ASP.NET Core app to Azure App Service. the
deployment process adds a  element to the fsproj if it's
not already present. As explained in this article
https://medium.com/@dmytrol/making-asp-net-core-user-secrets-work-in-f-projects-9b04572d81f6,
this element causes the build to fail with the following error:
A function labeled with the 'EntryPointAttribute' attribute must be the
last declaration in the last file in the compilation sequence
The article explains why the error occurs and instructs to fix it by
removing the element from the project file and instead adding the user
secrets ID in an AssemblyInfo.fs. I have tried this and can then build
manually, but each time I try to deploy, the deployment process still adds
a  element with a new ID in my project file, causing the
build to fail.
In other words, this bug seems to completely block deployment of F#
ASP.NET http://ASP.NET Core apps to Azure App Service. It might happen
for other Azure deployments too; I haven't tested.
Let me know if I can provide any other relevant info.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/visualfsharp/issues/5549, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AADgNCGLPj-p-bzMh9ubuOSHrW5NoFjHks5uTmvqgaJpZM4WJGQM
.

Thanks for the suggestion. If I need to use containers, I think I'll rather just wait until our supplier supports AKS (which won't be too long).

cc @vijayrkn @mlorbetske any ideas where this might lie? It looks like it's adding an element to end of the ItemGroup in the project file, but this violates order dependence in the F# compiler.

+@BillHiebert

When deploying an F# ASP.NET Core app to Azure App Service. the deployment process adds

@cmeeren - How is this entry getting added during deployment?

@vijayrkn  I think it was first added when I created the publish profile, but if it's missing (e.g. if I delete it) it is re-added to the project file (with a new GUID) each time I click the final "Publish" button.

The publish process should not be adding anything to the fsproj. Can you please provide a simple repro project? This will help us diagnose the issue faster.

I'll try, but how can I do that considering that you'd need a publish profile (I assume with username/password)?

you can add the publish profile with no credentials. We will try publishing to a different target

Great! I'll see what I can do.

@vijayrkn this is actually also visible if you just add <UserSecretsId>Consently</UserSecretsId>  to an fsproj and run dotnet run

Here's a repro solution. Just created from template, no changes. Note that the <UserSecretsId> element is added once the Publish button is clicked, even before you enter username and password, so you can try to just publish using the existing target and observe the behavior.
TestApp.zip

Thanks! Taking a look now.

@cmeeren - Thank you for the repro project.
@BillHiebert helped diagnose the issue and we will create a bug in the correct repo. For now, to unblock the scenario, you can delete the UserSecretsId property from the csproj and add the following to the pubxml under Properties\PublishProfiles\profile.pubxml
    <DisableKeyVaultDuringPublish>true</DisableKeyVaultDuringPublish>
Once this is added, publish will not add the UserSecretsId  to the csproj.

Thank you so much for the workaround! Will try it tomorrow.

@natemcmaster - This looks like an issue here -  https://github.com/aspnet/DotNetTools/blob/03e73cc8060ad167056d66ee0bf625dfe6943d82/tooling/Microsoft.VisualStudio.SecretManager/ProjectLocalSecretsManager.cs#L79
Requesting for the secretnames is creating a store.  We will have to move this issue to this repo.

IMO the better fix would be to get assembly attribute generation working correctly. In the meantime, you can suppress this by adding this to your .fsproj
<PropertyGroup>
 <GenerateUserSecretsAttribute>false</GenerateUserSecretsAttribute>
</PropertyGroup>

Guys, not to be annoying but I'd really rather like to see UserSecrets work together with F#

Me too. Why doesn't assembly attribute generation work for F#? I don't know enough about the language to understand what this means:

A function labeled with the 'EntryPointAttribute' attribute must be the last declaration in the last file in the compilation sequence

For AssemblyInfo generation, see #3113 (if I understand correctly). It's been silent on that front for a while.

As of https://github.com/Microsoft/visualfsharp/pull/4430/files and https://github.com/dotnet/sdk/pull/2023 we should allow it, but only for .NET Core 2.1.
@natemcmaster F# is dependent on declaration and file ordering due to its type system. Nothing can come after a function decorated with [<EntryPoint>] due to this.

So, if I understand right, we just need to have assembly-attribute generated code in the <CompileBefore> item group, not <Compile>, right?

I believe so, yes. @KevinRansom could speak more to this, though.

@natemcmaster that is correct.

Ok, this should be easy enough to fix in ASP.NET Core 2.2: https://github.com/aspnet/Configuration/pull/872

@vijayrkn go for it. Can't promise that we'll get to it soon though. It seems pretty low priority. If someone wants to make a PR, I'd welcome it.

done - https://github.com/aspnet/DotNetTools/issues/479


Add Preferences.jl support

This change adds preliminary Preferences.jl support, and also removes the dispatch-based "compile-time" tracepoint configuration we had before.
Here's an example:
[MyPkg.Tracy]
enabled = true
whitelist = ['foo', 'bar.*']
blacklist = ['baz']

This can be put into a LocalPreferences.toml as usual, or Tracy provides the non-standard option of putting it in a Preferences.toml adjacent to the Project.toml for your package.
If you provide a Preferences.toml with your package, the settings act as defaults for users of your package. Any LocalPreferences.toml can override those settings on a setting-by-setting basis.

I suspect (or maybe hope rather) that our CI is flaky due to coalescing events since it's using a low-resolution timer.
Might have to try making the test zones longer lasting.


[Q] Can't create a team after deleting one in an org

Hi,
I first created a corporate team. Realizing it has a trial period, I deleted the team, but the org is still there. Then, I changed the corporate org to an academic org; but now when I try to create a new team, the button isn't pressable. I'm not sure what I'm doing wrong. My profile link is: https://wandb.ai/tsc003

Hey @t-sekai , are you able to see the Teams panel on the bottom left in the UI like this:

Upon clicking Create a team to collaborate, you should be able to see a modal pop up on the right hand side in the UI:

Upon filling in the team details, you should be able to create a team. If this is not the case for you, could you please create a screen recording of what issue you are facing and send it our way so that we can further investigate into the issue?

I've tried the steps above, but the "Create team" button is unclickable before and after I enter the team name.

Hey @t-sekai , apologies for the confusion. If you are a part of an academic org (and a team in that org) already, you cannot create a new team in another academic org. I've relayed this discrepancy to our product team as well and out team will be updating the messaging in the UI shortly to reflect the same.

I understand the problem now. Can you help me delete the hm_gesture-org from my account? It's no longer useful.

Hey @t-sekai , hm_gesture-org is now deleted.


Update PPP, DG and fix clone command bug

Update PPP, add user stories for shortcut keys, use case and instruction for manual testing for clone command, also fixed a bug in clone command.

Codecov Report
Base: 64.00% // Head: 64.09% // Increases project coverage by +0.09% :tada:

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

Additional details and impacted files
@@             Coverage Diff              @@
##             master     #220      +/-   ##
============================================
+ Coverage     64.00%   64.09%   +0.09%
  Complexity      607      607
============================================
  Files            96       96
  Lines          2303     2309       +6
  Branches        303      303
============================================
+ Hits           1474     1480       +6
  Misses          708      708
  Partials        121      121

Impacted Files
Coverage Δ

...ava/seedu/address/logic/commands/CloneCommand.java
93.68% <100.00%> (+1.05%)
:arrow_up:

src/main/java/seedu/address/ui/MainWindow.java
0.00% <0.00%> (ø)

.../seedu/address/logic/parser/AddressBookParser.java

...u/address/storage/JsonSerializableAddressBook.java

...java/seedu/address/model/VersionedAddressBook.java

.../seedu/address/storage/JsonAddressBookStorage.java

src/main/java/seedu/address/model/AddressBook.java

.../java/seedu/address/storage/JsonSurvinStorage.java
100.00% <0.00%> (ø)

...main/java/seedu/address/model/VersionedSurvin.java
68.00% <0.00%> (ø)

.../java/seedu/address/logic/parser/SurvinParser.java
60.00% <0.00%> (ø)

... and 3 more

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.


Transaction Page - Issue in applied filter

Describe the bug
https://www.berrycast.com/conversations/c060a277-6339-58ca-84b5-20ae0e82a832

https://www.berrycast.com/conversations/39208558-38fe-5f3f-ae54-e71dbd176dd2


Quick fix for memory leak.

Closes https://github.com/dmlc/xgboost/issues/3579 .
The proper fix is putting quantiles in DMatrix, we have done it already for GPU.  See https://github.com/dmlc/xgboost/issues/5143 for roadmap.  This PR is a band-aid for fixing this old issue as we want a fully working 1.0 release.

Looking back, this PR is only made possible by many previous refactorings.

@hcho3 @CodingCat  Is there any particular bug for hist that's consider critical?  We @RAMitchell  would like to make hist as the default algorithm.  1.0 seems to be a right opportunity.

Ping @hcho3

@trivialfis I’m okay with it. We do need to make further improvements, to make it faster and more memory efficient.

@hcho3 Well, improvement is endless unless there's a better algorithm succeeds hist (like what hist) does to exact.  But it would be the right time to make hist as the default now.
Are you Okay with this PR?

@trivialfis I was referring to future improvements.

@hcho3 Got it.  Will create a new PR for setting it as default.
Would you like to review this fix?


Macro: Center-to-Center connection operation between phosphates should always open Select Connection Points dialog

Steps to Reproduce

Switch to Macromolecules view
Load this file: NoDialog.zip (unzip first)
Try to connect any phosphates with any - use center-to-center way

https://github.com/epam/ketcher/assets/26869421/b32b49c2-40e1-4213-b0af-928447fb2bcc
Actual behavior
System establishes connection
Expected behavior
System should always open Select Connection Points dialog as per requirement rule:

Phosphate could be connected with the phosphate through R2-R1 as well as R1-R1 or R2-R2.
User should be asked which attachment points should be used to establish a bond.

Desktop (please complete the following information):

OS: win10
Browser Chrome 120.0.6099.110 (Официальная сборка), (64 бит)

Ketcher version [e.g. v2.4.2].

@olganaz works as expected, please fix requirements

@rrodionov91 requirements were adjusted. Issue is closed.


net: lwm2m: Verify if block transfer is used before skipping TLV parsing

Verify if block tranfer is used and not an initial block when skipping
directly to data processing during FW update in PUSH mode.
This fixes a bug, which caused TLV not to be processed when the FW
object was updated as a whole, and actual resource number was encoded in
a TLV (for instance when writing FW Update URI).
Fixes #30135
Signed-off-by: Robert Lubos<EMAIL_ADDRESS>

Tested and it fixes my problem. :+1:


Support for "transparent"

Hello Guys,
I'm looking for support of transparent as a colour within the picker. At the moment when setting this it seems to reset the field to #000000 which isn't what I'm after.
I couldn't see anything for this already filed in the issues list - is this something which is planned? Or has been rejected in the past for some reason?
Thanks,
Robert

Any status on this? This would be great.

As a quick fix I was able to get it working with this
updateComponent: function(val) {
	if(this.input.val() == ''){
		val = 'transparent'
	} else {
        val = val || this.color.toString(this.format);
        if (this.component !== false) {
            var icn = this.component.find('i').eq(0);
            if (icn.length > 0) {
                icn.css({
                    'backgroundColor': val
                });
            } else {
                this.component.css({
                    'backgroundColor': val
                });
            }
        }
    }
    return val;
},


Layout animation bug when add new item to the list

Overview
I'm developing a chat application that use inverted FlashList to render messages and I want to animate the layout once a new message is sent, but I'm having some problems.
Current behavior
https://user-images.githubusercontent.com/64473929/219793394-20dcbb00-c5a4-4334-b80f-c14189967ce3.MP4
Expected behavior
The expected behavior is pretty straightforward: the layout animation glitch is visible in the video.
To Reproduce
Here's the expo-snak: https://snack.expo.dev/@pietroputelli/312df3
Some notes

I'm using a custom component, which is visible in the input folder, to handle the InputAccessoryView. However, I have already attempted to remove it and run the layout animation, but the result remains unchanged.

I tested the list logic on a bare application too, and the outcome is the same.

Platform:

[x] iOS
[ ] Android

Environment
"@shopify/flash-list": "1.3.1",
"expo": "~47.0.12",
"react-native": "0.70.5",

But I'm not using Animated for my cell do I have? And what about the two methods invoked when the message is sent, I mean prepareLayout and the other one. Do I need to keep them? Thank you


GitHub action: added flake8 tests

yml file:

workflows/flake8.yml: inspired by https://github.com/OSGeo/grass/blob/master/.github/workflows/flake8.yml

The .flake8 file has been inspired by:

https://github.com/OSGeo/grass/blob/master/scripts/.flake8

Note: the ignore list contains commented entries (not sure how to handle them).
Requires #39 (which will reduce the currently found PEP8 errors)

Merging - we'll fix the remaining PEP8 issues in separate PR(s).

Merging - we'll fix the remaining PEP8 issues in separate PR(s).


[WIP] Sample approach to handle commandMap

If this approach looks ok. I make change the whole repo. It will not be a big change in command files.

We will not implement this change at this time. 🙂


[DOC] Add newly created routes in ReadMe.md

Instructions for Contributors
While I am working on the new features of this project, I need someone who can document the routes, that I recently created, in the ReadMe.md.
Routes
/days, /rooms  and /freeRooms
Method
All routes support GET method.
Params
/freeRooms route can have day and time as parameter but both of them are optional. All other routes are parameter less.
Description
/days   -  return all days of week with their id used in official timetable
/rooms     -    return all rooms available in the university
/freeRooms  -  give the rooms that doesn't not have lecture in it
Demo links

https://lgu-timetable-api.deta.dev/days
https://lgu-timetable-api.deta.dev/rooms
https://lgu-timetable-api.deta.dev/freeRooms?day=Monday&time=12:40

Hi @IIvexII, can I work on this?

Hi @IIvexII, can I work on this?

Yeah sure!


Error - Could not determine 'vs16' directory

I have Visual Studio 2022 Community on Windows 11 installed and tried following the directions, but I'm getting nowhere.
Following the instructions in this repo's readme, I tried to run phpsdk-vs16-x64.bat and I get the following output:
Could not determine 'vs16' directory
Runningvswhere from both bin\vswhere and globally both return the following output:
Visual Studio Locator version 2.6.7+91f4c1d09e [query version 3.8.2091.34612]
Copyright (C) Microsoft Corporation. All rights reserved.

instanceId: fc6b758c
installDate: 2/12/2024 9:08:10 PM
installationName: VisualStudio/17.8.6+34525.116
installationPath: C:\Program Files\Microsoft Visual Studio\2022\Community
installationVersion: 17.8.34525.116
productId: Microsoft.VisualStudio.Product.Community
productPath: C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\devenv.exe
state:<PHONE_NUMBER>
isComplete: 1
isLaunchable: 1
isPrerelease: 0
isRebootRequired: 0
displayName: Visual Studio Community 2022
description: Powerful IDE, free for students, open-source contributors, and individuals
channelId: VisualStudio.17.Release
channelUri: https://aka.ms/vs/17/release/channel
enginePath: C:\Program Files (x86)\Microsoft Visual Studio\Installer\resources\app\ServiceHub\Services\Microsoft.VisualStudio.Setup.Service
installedChannelId: VisualStudio.17.Release
installedChannelUri: https://aka.ms/vs/17/release/channel
releaseNotes: https://docs.microsoft.com/en-us/visualstudio/releases/2022/release-notes-v17.8#17.8.6
resolvedInstallationPath: C:\Program Files\Microsoft Visual Studio\2022\Community
thirdPartyNotices: https://go.microsoft.com/fwlink/?LinkId=661288
updateDate: 2024-02-13T04:08:10.8489884Z
catalog_buildBranch: d17.8
catalog_buildVersion: 17.8.34525.116
catalog_id: VisualStudio/17.8.6+34525.116
catalog_localBuild: build-lab
catalog_manifestName: VisualStudio
catalog_manifestType: installer
catalog_productDisplayVersion: 17.8.6
catalog_productLine: Dev17
catalog_productLineVersion: 2022
catalog_productMilestone: RTW
catalog_productMilestoneIsPreRelease: False
catalog_productName: Visual Studio
catalog_productPatchVersion: 6
catalog_productPreReleaseMilestoneSuffix: 1.0
catalog_productSemanticVersion: 17.8.6+34525.116
catalog_requiredEngineVersion: 3.8.2122.37638
properties_campaignId: 2030:606c0ce46951488a8fccb44e46cc1e82
properties_channelManifestId: VisualStudio.17.Release/17.8.6+34525.116
properties_nickname:
properties_setupEngineFilePath: C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe

If I try to run:
``bin\vswhere -nologo -version "[16,17)" -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath -format text
OR
bin\vswhere -nologo -version "[16,17)" -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath -format text
As mentioned in many issues posted here and on StackOverflow, It just returns nothing, so it seems like either I'm missing some sort of component in Visual Studio, or there is something that is lost in translation from the readme's directions that are somehow not applicable in 2024?
Any help would be appreciated.

I uninstalled Visual Studio 2022, Installed Visual Studio 2019 and after installing the necessary components, I was able to build PHP without any issues. Self-closing for user error.

Hi @JMoodyFWD
Fyi, you can install multiple Build Tools version in Visual Studio.
For example in VS2022 to have both vc15, vs16 & vs17, respectively :
"Microsoft.VisualStudio.Component.VC.v141.x86.x64",
"Microsoft.VisualStudio.Component.VC.<IP_ADDRESS>.x86.x64",
"Microsoft.VisualStudio.Component.VC.Tools.x86.x64",

you can now init vcvarall.bat with the one you want
call %PATH_VS%\VC\Auxiliary\Build\vcvarsall.bat %ARCH% %WKITVER% -vcvars_ver=%vcvars_ver%
where vcvars_ver in:

14.16 (vc15)
14.29 (vs16)
14.39 (vs17 latest)]

this corresponds to this patch
diff --git a/bin/phpsdk_setshell.bat b/bin/phpsdk_setshell.bat
index f651a4e..6c291db 100644
--- a/bin/phpsdk_setshell.bat
+++ b/bin/phpsdk_setshell.bat
@@ -199,9 +199,9 @@ if "%HOST_ARCH_NAME%"=="%TARGET_ARCH_NAME%" (
 	set VCVARSALL_ARCH_NAME=%HOST_ARCH_NAME%_%TARGET_ARCH_NAME%
 )
 if 15 gtr %PHP_SDK_VS_NUM% (
-	set PHP_SDK_VS_SHELL_CMD="!PHP_SDK_VC_DIR!\vcvarsall.bat" !VCVARSALL_ARCH_NAME!
+	set PHP_SDK_VS_SHELL_CMD="!PHP_SDK_VC_DIR!\vcvarsall.bat" !VCVARSALL_ARCH_NAME! %WKITVER% -vcvars_ver=%vcvars_ver%
 ) else (
-	set PHP_SDK_VS_SHELL_CMD="!PHP_SDK_VC_DIR!\Auxiliary\Build\vcvarsall.bat" !VCVARSALL_ARCH_NAME!
+	set PHP_SDK_VS_SHELL_CMD="!PHP_SDK_VC_DIR!\Auxiliary\Build\vcvarsall.bat" !VCVARSALL_ARCH_NAME! %WKITVER% -vcvars_ver=%vcvars_ver%
 )
 set VCVARSALL_ARCH_NAME=


Iterate checbox, ID problem

Hi guys,
I use Materialize within Meteor application.
Inside an {{#each}} template, I create a list with checkboxes.
I noticed that checkbox style is releated to ID and label. But with {{#each}} I can't increment ID in each checkbox.
How can I do it?
Thanks

This isn't really a Materialize issue.  It's more of a Meteor thing.
Assuming you're iterating over a collection of items in your database, you could simply put each document's id in the id of the input element like this:
{{#each items}}
  <input type="checkbox" id="{{_id}}" />
  <label for="{{_id}}">A Name</label>
{{/each}}

@jshimko thanks!

if you have multiple checkboxes you need to prefix or postfix a string to make them unique. I ended up using a simple helper function for that.
Template.adminUsers.helpers({
myId: function (prefix) {
return prefix + this._id;
}
});
So in my template I can now use:
<input type="checkbox" class="toggleC"  id={{myId "C"}} />
<label for={{myId "C"}}>


Display webservice git-commitID on UI footer

Describe the solution you'd like
We've exposed the git commit of the running webservice build through the metadata/config endpoint. We now need to show this on the UI, possibly by appending to current API version ex: API - 1.9.0-alpha.1-SNAPSHOT - a5ec081.
Considerations:

might want to display/hide differently on production vs staging vs dev.dockstore (probably not necessary to show on production)
Could remove 'SNAPSHOT' in current display in favor of the commit-ID, otherwise might be too long

Additional context
related to #3157
┆Issue is synchronized with this Jira Story
┆Fix Versions: Dockstore 2.X
┆Issue Number: DOCK-1230
┆Sprint: Backlog
┆Issue Type: Story

This has been fixed for a while.


Images upload - folders

Hey,
I use endpoint_type: local.
When I upload for example 10 images at once some get into folder like f979ba56-e280-40cd-8827-71818938f8b8 and some go straight to uploads/ folder.
Why is it so random?
Can we switch off the folder creation at all if it isn't working properly?

Hi @awgul!
This shouldn't be random at all. Every batch of uploads, wether it's a single file or multiple, should end up in a single generated folder under uploads.
Can you share a repo to reproduce this?

Hey @awgul I really can't reproduce so I'm going to close the issue but feel free to post again and I can reopen if you are still seeing this.

Hi @ifox, @awgul,
I am experiencing the same issue. When selecting multiple images and uploading them, the first 5 images are stored in the folder, the others go straight to the root of the uploads folder.
After unsuccessfully modifying some PHP settings, I was able to temporarily solve this issue by increasing the maxConnections size in Uploader.vue.
Somehow every upload request after the 5th one was missing the unique_folder_name parameter, but instead had a width and height parameter in the form data (viewable in the browser's dev tools).

@ifox can you consider opening as I have just discovered I have the same symptoms.  Going to try editing the view file as well as a fix.


Pr/timeout

make it public

Nice, thanks Paul!
:shipit:
Did we ever set you up to push to intrepids spec host?

No we never did that


Update dashboard reporter

Absolute mutation score: show percentage on mutation report, multiply percentage of covered mutants with mutation score. Show for example:
Your maximum possible was 25%. You got 21.xyz%
Or:
Your mutation score for the selected mutators is 95%. Adjusted for all mutators, your mutation score is 23.75%
Also show how many mutators were selected out of total.

:')
https://github.com/stryker-mutator/stryker-dashboard


Add a separate documentation entry for Execute with ExpandoObject, IDictionary, QueryGroup and QueryFields parameters argument.

Checked-in to the master. The documentation has been regenerated.


logging-{winston,bunyan} should integrate well with Logging UI and with Error Reporting

Originally raised here https://github.com/GoogleCloudPlatform/google-cloud-node/pull/1977#issuecomment-278743604.

@ofrobots can you confirm that this is does not change the surface?

@danoscarmike Do you mean if this is a semver major change on the logging API?
Actually the concrete pull request fixing this issue is here: https://github.com/GoogleCloudPlatform/google-cloud-node/pull/1997
This does not affect the logging module API at all. It is a behaviour change in how the logging-winston and logging-bunyanmodules format messages, but this still isn't a semver major change. These said modules are still marked 'experimental' so this should be okay.

This issue was moved to googleapis/nodejs-logging-bunyan#5


Usd stanalone startup libary

Is there an existing issue for this?

[X] I have searched the existing issues.

Please describe the feature you have in mind and explain the current shortcomings.
let's talk about how we can start Usd standalone tools with

ayon Usd standalone
Ayon Usd standalone resolver

In a subprocess:
What is the purpose of this system?

we want to execute USD standalone operations, e.g., build a stage, edit layers, debug, etc
we do not want to use DCC specific Usd libs to save on licenses
the core tool startup system should allow for any env variables and any env setup to be used at startup (this would allow us to eg. start UsdView with karma / Arnold loaded in Houdini)

How would you imagine the implementation of the feature?
How to implement.
Core Startup Lib

store the environment setup at addon "tray_start ?" so that we know what a "clean" Ayon environment for this system looks like
add ayon_Usd standalone and ayon_usd_standalone resolver to the environment
use subprocess.popen with env= to define a new subprocess that, by default, does not inherit the parent environment and have it use the "clean" environment where we added our Usd tools (in this step, we can choose if we want to use the parent env or a manipulated clean env)
now we do one of 2 things: A: we get the path to an Ayon_Usd_plugin and use the main.py, or we take in the startup command

lib funcs()

[ ] start_standalone_tool (a function that runs an Ayon_Usd_Plugin or individual tool in a subprocess)
[ ] get_ayon_info_from_env (a function that extracts all the ayon related infos from the os.env so that we can use this data on USD standalone startup to augment )

Ayon_Usd plugin
(Usd calls them plugins. Do we want an addon because of Ayon? @dee-ynput )
Structure:

package_name(parent py module folder)
main.py (should start up the plugin when run directly )
bin (holding all the binaries )
lib (holding all the library code that the runtime code might need)
src (holding all the runtime code)

Are there any labels you wish to add?

[X] I have added the relevant labels to the enhancement request.

Describe alternatives you've considered:
No response
Additional context:
No response

store the environment setup at addon "tray_start ?" so that we know what a "clean" Ayon environment for this system looks like
add ayon_Usd standalone and ayon_usd_standalone resolver to the environment

Why would we need to store it if we're adding ayon usd apparently 'to the environment' dynamically? Sounds like we should just be able to take the environment that is active in launcher at that point in time just fine. Not sure what else would be polluting the env?

use subprocess.popen with env= to define a new subprocess that, by default, does not inherit the parent environment and have it use the "clean" environment where we added our Usd tools (in this step, we can choose if we want to use the parent env or a manipulated clean env)

So, Web Actions seem to start using the "Launcher" to launch actions/applications (which then by design, take from the environment of the launcher). Could we use that for these "launch me a USD application" as well? So that the environment comes from the launcher by design, not from the host DCC or wherever we run from?

now we do one of 2 things: A: we get the path to an Ayon_Usd_plugin and use the main.py, or we take in the startup command

Preferably we just have some CLI that allows us to launch things with the USD envs. ayon launch -include_env usd /path/to/usdview or whatever. Which kind of sounds like ayon_usd env is just a tool group, and hence it could e.g. use a system we apparently already have for tool group to just do ayon launch --tools ayon_usd/1.0 /path/to/usdview (although I'm not sure it currently takes an argument to append additional tools to a specific context, etc.)

Why would we need to store it if we're adding ayon usd apparently 'to the environment' dynamically? Sounds like we should just be able to take the environment that is active in launcher at that point in time just fine. Not sure what else would be polluting the env?

the thought is that if we want to start Ayon_Usd_Standalone from, e.g. inside Houdini, we will inherit the Houdini Usd environment. and this would pull, e.g. Arnold etc. we could "clean" the environment or we could build an env mapping from the ground up, but I belive storing the "startup" env would maybe make this easier? if you have another option, I would love to talk about it because storing at startup is a bit of a mid-solution, I think.

So, Web Actions seem to start using the "Launcher" to launch actions/applications (which then by design, take from the environment of the launcher). Could we use that for these "launch me a USD application" as well? So that the environment comes from the launcher by design, not from the host DCC or wherever we run from?

hmm, god question i guess we could see if we can request the launcher to start it for us.
I'm a bit conflicted, tho tbh.
On the one hand: having the launcher doo it and asking it to launch it would be very clean.
On the other hand:
Having the launcher launch would limit us to the launcher well (I'm not sure how much freedom we have there), so I think ideas like running this Python script with Ayon USD would be out of the question, and we could only run applications.
maybe @iLLiCiTiT can expand on what the pros and cons would be when using the launcher for this.
Here are some thought points

can we start an "application"? This could be about anything: maybe an exe, maybe an .sh, maybe a Python script that starts an ui
Can we run "just" a script? I have a Python script. This will do whatever magic in the USD scene, and I can start it with ayon Usd. I imagen to build the ayon_usd_stanlone.start() func so that you could say path="/my/cool/py_script," and you could then also just use it like this.

PS: the reason why I'm thinking about that is because I think we will end up with many situations where we don't want an "application" in that sense but just some process that does something using the ayon_usd env
, or should we maybe separate those 2 concepts? Into, e.g., an application starter and an ayon_standalone runner <- This would then use a background py_app that has everything loaded, and you can request it to execute things (maybe using gRPC / iRPC to talk to it so it's very detached ? ) <- this sounds a bit to complicated to me tbh

Preferably we just have some CLI that allows us to launch things with the USD envs. ayon launch -include_env usd /path/to/usdview or whatever. This kind of sounds like ayon_usd env is just a tool group, and hence it could e.g. use a system we already have for tool group to just do ayon launch --tools ayon_usd/1.0 /path/to/usdview (although I'm not sure it currently takes an argument to append additional tools to a specific context, etc.)

hmm, interesting thought.
I think launching tools completely externally and with as tool groups would be an idea, but I might miss the point of this issue, at least if I understand you right. so the difference I see is as follows: this startup system is more concerned about how we can start essentially arbitrary code to do things for us in an ayon_usd_standalone environment, and I believe that's not the same as starting a tool like Maya Houdini standalone. the reason why I think this is I believe there might be a value to having the option to say: I'm in a Python script somewhere, and I want some Usd related code to be run a bit like I'm doing gRPC but without having to have I an external system running.
but i will say the issue has beewen written with the idea in mind to run tools mainly. so maybe there is a point to see if this has become an mix off ideas instead of an abstract low lvl lib function.

What is the Ayon related info here?

this would be all the env keys the launcher sets. so that if you start some tool or script, it would behave like you started it from the scene you are in. so that you can access Ayon_Project_Name and so on.

Yes, seems reasonable - as described it's basically just a ayon launch whatever but with AYON's USD environment variables mixed into it.

exactly, the target is to have a function that lets you run what you want like you're just calling a function. in the best case, I would also like to be able to say run(/path/to/ayon_usd/lib/lib.py -func -args -kwargs) so that you could kinda call functions in the ayon_usd_env like they are local to what you're doing. im not really sure if i like this idea to much but it would be kinda nice to have some freedom there.

It's just a super quick experiment.
But this would allow running a function in a Process and passing it in an environment.
I don't know if ideas like this would satisfy the requirements, but we are here to see what those requirements are.
def _run_with_env(func, env, queue, *args, **kwargs):
    os.environ.update(env)
    result = func(*args, **kwargs)
    queue.put(result)

def run_external(func, env, *args, **kwargs):
    queue = multiprocessing.Queue()
    process = multiprocessing.Process(
        target=_run_with_env, args=(func, env, queue) + args, kwargs=kwargs
    )
    process.start()
    process.join()
    return queue.get()


if not being respected when expression contains function arguments

Aim
When running the following code
global A: [u32; 2] = [1, 2];

fn at(i: u32) -> u32 {
    if i < 2 {
        A[i as Field]
    } else {
        0
    }
}

#[test]
fn test1() {
    let a = at(1);
    // This throws an error
    let b = at(3);
}

I get this error
error: index out of bounds
  ┌─ /Users/ayush/projects/noir-ws/noir-to-bytes/src/main.nr:5:9
  │
5 │         A[i as Field]
  │         ------------- out of bounds error, index is 3 but length is 2

Expected Behavior
The if condition is false and the code inside the condition should not be executed
Bug
The execution should skip everything inside the if and go straight to the else
To Reproduce

Copy the code above
Run nargo test --allow-warnings

Installation Method
Binary
Nargo Version
No response
Additional Context
No response
Would you like to submit a PR for this Issue?
No
Support Needs
No response

Seems to be fixed in v0.7.2


Some code cleanup and organization

Just me going over some of the codebase and organizing and cleaning up a few things. We have a ton of commented out code and i'm wondering if it is still needed? Also other questions

We have a ton of commented out code and i'm wondering if it is still needed?

Some (much?) of the code that I commented out during my initial code review was to stay as placeholders for functionality that we would likely come back to. This may or may not apply as much anymore, now that we have prioritized features guiding our development process.


chore(rust): only execute kafka stream test manually

Is it because it is flaky for now?

@etorreborre mostly because it's deprecated in favour of kafka interceptor approach.


Custom Elements support

The concise but powerful API of VanJS would make it very good alternative to template literals for Web Components.
I've been evaluating it for this use case but there are a couple of advanced use cases that aren't supported that would be great to see.

Non primitive data types for properties (e.g. arrays, objects and functions)
Custom event handling

I've attempted at implementing the Custom Elements Everywhere tests:
Link to CodePen
If you consider this useful I'd happily create a PR to add these into the existing test suite, as well as assisting with any API changes.
Look forward to seeing how this library progresses.

Thank you for your feedback!
I apologize for not being aware of the custom element feature in web standards when VanJS was developed. Extending VanJS to support custom property types and event handling seems reasonable to me, so patches are indeed welcome! 😀
VanJS was only published a week ago, thus the patching process hasn't been documented yet. However, I can provide the general steps involved in the development process for VanJS:

Upgrade the version in the package.json file. Considering the significance of this feature, it might be suitable to increment the minor version.
Modify source files in the src/ directory.
Execute "bash publish.sh" within the src/ directory. (While it might seem unusual to run a command within a subdirectory, fixing that isn't currently a priority.) This action generates the published bundles corresponding to the new version.
Perform a browser-based test. Essentially, you need a static HTTP server to host the root directory. Then, attempt to load http://localhost:/test/van.test.html in your browser to see if all tests pass.
Develop new tests to encompass the new APIs.
Ideally, providing sample web pages to showcase the new feature would be beneficial.

Since this is an advanced feature I would encourage to implement it as an extension (in a separate file other than van.js) to keep the core library lean.
Thank you so much for the feedback!

Working through the instructions, running bash publish.sh errors with  node_modules are needed so a npm/pnpm/yarn install step is missing in the instructions.
publish.sh: line 11: ../node_modules/esbuild/bin/esbuild: No such file or directory

Not a problem, just a comment to improve the steps needed to run the test suite. :-)

I started a new thread : #37
Maybe we can discuss there.

VanJS integrates with WebComponents easily:
This is a counter component:
const { button, span } = van.tags

class MyCounter extends HTMLElement {
    // Elements and functions
    connectedCallback() {

        this.value = van.state(0)
        van.add(this,
            button({
                onclick: () => {
                    --this.value.val;
                    if (this.onchange)
                        this.onchange(this.value)
                }
            }, "-"),
            span(this.value),
            button({
                onclick: () => {
                    ++this.value.val
                    if (this.onchange)
                        this.onchange(this.value)
                }
            }, "+"))
    }
}

customElements.define('my-counter', MyCounter);

And this is how you call it from within HTML:

   <my-counter onchange = "mychange(value)"/>

output

It is possible, but if you create your page with VanJS, you do not need WC. You can use JS-Classes instead.

After a little more digging, my previous comment on not being able to pass non primitive data types isn't entirely true. Arrays and functions do seem to work if the initial value isn't undefined. If we take the example component that @efpage created and try to add it with the following code it does work:
const { h2, "my-counter": myCounter } = van.tags;
const textContent = van.state("The counter is 0");
van.add(
  document.body,
  myCounter({
    onchange: (value) => textContent.val = `The counter is ${value.val}`
  }),
  h2(textContent)
)

If we modify MyCounter so that that it also has the capability for fine grain controls such as onadd/onsubtract it doesn't pass down these new functions.
const { button, span } = van.tags

class MyCounter extends HTMLElement {
    onadd; // Added
    onsubtract; // Added

    // Elements and functions
    connectedCallback() {

        this.value = van.state(0)
        van.add(this,
            button({
                onclick: () => {
                    --this.value.val;
                    this.onsubtract?.(this.value) // Added
                    if (this.onchange)
                        this.onchange(this.value)
                }
            }, "-"),
            span(this.value),
            button({
                onclick: () => {
                    ++this.value.val
                    this.onadd?.(this.value) // Added
                    if (this.onchange)
                        this.onchange(this.value)
                }
            }, "+"))
    }
}

customElements.define('my-counter', MyCounter);

Taking a look at the setter logic:
let setter = dom[k] !== _undefined ? v => dom[k] = v : v => dom.setAttribute(k, v)

The function onchange exists as a property on HTMLElement with a default value of null, but onadd/onsubtract have defaults of undefined so therefore get passed down as string using setAttribute. It's quite common to see this pattern in 3rd party components. One possible change could be to use the in operator, e.g.
let setter = k in dom ? v => dom[k] = v : v => dom.setAttribute(k, v)

Objects seem to have a different issue, they are always treated as state derived properties. I think we could potentially do a similar thing here, by potentially changing this line:
else if (protoOf(v) === objProto) bind(...v["deps"], (...deps) => (setter(v["f"](...deps)), dom))

To something that checks the existence of one or both required properties for state derivation, e.g.
else if ("deps" in v) bind(...v["deps"], (...deps) => (setter(v["f"](...deps)), dom))

Hi @OFurnell,
In 0.12.0 we changed the way of when to set prop value via property or via setAttribute, see the current code. Not sure if it can solve the problem of custom event handler.
The issue with state-derived properties will likely be solved in 1.0 as part of the redesign of state-binding mechanism.

Hi @sekoyo,
Though not officially tested, I believe it should be possible. You can try it out to see if it works.

Properties worked great as @OFurnell suggested. The custom event isn't caught however. Just to be sure I caught it successfully on the doc body:
document.body.addEventListener('myevent', () => {
  console.log('caught my event on body')
})

Fired like this in web component:
connectedCallback() {
    this.dispatchEvent(
      new CustomEvent('myevent', {
        composed: true,
        bubbles: true,
        detail: 'Hello from custom event',
      })
    )
  }

And attempted to catch like this:
luiButton(
{
  someProp: { anObject: true },
  onmyevent: e => console.log('myevent event fired', e),
},
'A button'
)

The support for custom event handers was added in 1.2.8: https://github.com/vanjs-org/van/discussions/246.

Very nice! 👏 Thanks

@all-contributors please add @sekoyo for bug

@all-contributors please add @OFurnell for bug


better movement fix than the older one

roll and higher pitch than 89/-89 will work perfectly, by 14. much love to baan!

it's useless to fix upspeed as it only occurs in water, noclip and some other fringe cases where anti aim wouldn't effect it (i'm also 90% sure that upseed is absolute and remains unaffected by angles)

Sorry if that sounded discouraging, I'll test it, & ty for the pull request :D

I think it's fine to merge this but;

it breaks noclip
the upmove stuff is plain weird, and i think it should be removed


Alt tags

Gets alt description from images.
Saves images with alt description as name.

Rewrote script, and incorporated some of your elements


Updated SSV dashboards

This PR is a little messy because I didn't create a branch and now have something else to fix. Will do better in future


Add TLS/mTLS options in database and cache settings for PostgreSQL and Redis

This PR fixes: #28
Current behavior:-
With the current settings we can use PostgreSQL as database and Redis as cache, we only have to specify it in the configurations.

For PostgreSQL we can set the database: backend: config to postgresql
For Redis we can give the server location in redis: location: config

By giving these configs our application will start running with postgresql and redis as DB and cache respectively.
However, the current settings.py does not specify any TLS/mTLS options for DB and cache.
New Behavior:-
So to support TLS connections with the database and cache I have added new options only for postgresql database and redis caches.
The new keys added are:-

for postresql

database: sslmode
database: sslrootcert
database: sslcert
database: sslkey

for redis

redis: ssl_cert_reqs
redis: ssl_ca_certs
redis: ssl_keyfile
redis: ssl_certfile

These values should be set in the configurations before running the server if we need to run in TLS/mTLS mode.
I have tested the code manually by running postgresql locally on a different port.

I think we should not enable TLS if we are connecting PostgreSQL, Redis on the same machine. It means that we should check for DATABASES['default']['HOST'] before building and applying config for TLS.
If connecting database on the same machine, the connection is already safe. Adding TLS just add overhead without benefit.
What do you think, Mario, Marco?

By the way, I think that the routine of building TLS config can be extracted to some file and imported to settings.py, because the settings.py file is already too long, and has many nested blocks.

Why is this PR almost the same as #45 ? Have you copied from the same source?

You copied the code from upstream https://github.com/pretix/pretix/blob/3b98d87a26d02f3dd72a28452421ce42b6bc6620/src/pretix/settings.py#L126-L143, which is illegal.
You may not understand the scope of the work. eventyay-tickets is a fork of pretix, but at the time pretix changed its license. It means that any code you see in pretix which is later than the forking time, is under license which is not compatible with eventyay-tickets, and eventyay-tickets is not allowed to copy.

You may not understand the scope of the work. eventyay-tickets is a fork of pretix, but at the time pretix changed its license. It means that any code you see in pretix which is later than the forking time, is under license which is not compatible with eventyay-tickets, and eventyay-tickets is not allowed to copy.

hey @hongquan, I was not aware about that so I just tried to follow the PR mentioned in the issue...
I will make a new PR for this with your recommended changes


Rotation of final slide causes transparent background

If you rotate the activity when on the final fragment, the background becomes totally transparent and is only fixed when scrolling back a slide.

https://github.com/TangoAgency/material-intro-screen/pull/72/files @radzio

Any clues on when 0.0.6 will make it to release? Last slide rotation for me causes the forward and backward buttons to go white and the indicators to go red. Fixed by going back a slide. Not viable for a public app currently!

Waiting on 0.0.6 myself

@radzio @bezmian when do you plan to release 0.0.6?


[backport] Use CUSPARSE_VERSION instead of CUDA_VERSION

Backport of #3491

[automatic post] Jenkins, test this please.

Jenkins CI test (for commit 706f70adef0817cbb237808cf9ffb7e0f5389828, target branch v7) failed with status FAILURE.


Available exploit for www-data?

I finally discovery how to make my hosted sites have a single account for each one, but I asked something: if I create a "test.php" file in and use the the function scandir($dir), would I see the dir /etc/, for example?
So, I made this test and I got the directory listed. So, if I have a WordPress site, any vulnerability that can upload a file, the user would have access for all my server. How can we prevent that?

chrooted www-data user to /var/www/ may solve this.
For further discussion please create a topic at - http://community.rtcamp.com/c/easyengine

@arush-sal Please check above. May be following should work.

Match Group www-data
ChrootDirectory /var/www

I think it's because every site created will be www-data. For secure reason, each site created I think that need have the own user assigned to the group www-data. So, if user "example" for "example.com" try to access "another-example.com" folder, won't be allowed because don't have the permission.

yes I think that is very important that every site has each nginx pool with its user:group.
@eliasjnior says a right thing. From an hacked WP is possibile to scan all /var/www dir and modify/delete other sites.
@iam404 I think that the first think to add to the roadmap is this feature (that - in my opinion - is not a simple feature, but a true security fix)

@ang3lx I'm using just www-data for SFTP now. This feature will even allow SFTP access for single user to a single site.
If I knew more, I could help with that, but unfortunable I'm not good in programming languages used in EE.

@eliasjnior yes but trough PHP is possible to access to other domains. SFTP helps you only if you want give a limited access to a single domain

i've done a little script to fix from www-data to domain.tld as user:group
work with --php7 and --php flag
myee.sh.zip

Sorry for a delayed reply.
EasyEngine doesn't support multiple user or shared hosting. It is assumed that all sites are managed by a single user or a team that trusts each other.
In cases where large teams are involved, better deploy codes using CI/CD solutions. That way nobody needs access to server files.


USHIFT-2116: CI implementation - Introduce cluster id

Add Cluster ID tests to default set of tests triggered from test/run.sh script. This list of tests is triggered on QE Regression and Upgrade tests.
Closes Jira ticket: USHIFT-2116

/lgtm


Nerd Font in Windows Terminal

When installing in Windows, the nerd font dependency is not automatically installed, which may cause some misunderstandings.
Taking the default font of Windows terminal as an example, the correct way is
scoop bucket add nerd-fonts
scoop install nerd-fonts/CascadiaMono-NF-Mono

In Settings -> Defaults -> Font face in Windows terminal, change Cascadia Mono to CaskaydiaMono Nerd Font Mono
Then it will display correctly
Consider modifying the document at install-with-scoop to explain the Windows font problem
Thanks very much.

Sounds good to me, please raise a PR for it.


Compile Error ?

$ go version
go version go1.7.4 windows/amd64
$ go get -u -v github.com/henrylee2cn/fay
github.com/henrylee2cn/fay (download)
github.com/henrylee2cn/faygo (download)
github.com/henrylee2cn/faygo
# github.com/henrylee2cn/faygo
E:\GOPATH\src\github.com\henrylee2cn\faygo\framework.go:258: srv.Shutdown undefined (type *Server has no field or method Shutdown)
E:\GOPATH\src\github.com\henrylee2cn\faygo\server.go:209: undefined: http.ErrServerClosed

Requirements
Go Version ≥1.8

Sorry, my bad~


jetbrains.aqua: init at 2024.1

Description of changes
Added the Aqua test automation IDE from jetbrains.
Closes: #302799

Things done

Built on platform(s)

[ x ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 304506 run on x86_64-linux 1

1 package built:

jetbrains.aqua

There's been a new release in the interim. https://www.jetbrains.com/aqua/download/#section=linux


404 on PlayerShotLog

It seems that most of the player.py endpoints are functioning however I am getting a 404 on the PlayerShotLogTracking. This same input works for PlayeerShootingSplits.
 from nba_py import player
Aaron_brooks = player.get_player(first_name="Aaron",last_name="Brooks")
shot_log = player.PlayerShotLogTracking(player_id=Aaron_brooks)

HTTPError                                 Traceback (most recent call last)
 in ()
1 #Broken
----> 2 shot_log = player.PlayerShotLogTracking(player_id=Aaron_brooks)
/Users/befeltingu/anaconda/lib/python2.7/site-packages/nba_py/player.pyc in init(self, player_id, team_id, measure_type, per_mode, plus_minus, pace_adjust, rank, league_id, season, season_type, po_round, outcome, location, month, season_segment, date_from, date_to, opponent_team_id, vs_conference, vs_division, game_segment, period, shot_clock_range, last_n_games)
180                                       'ShotClockRange': shot_clock_range,
181                                       'LastNGames': last_n_games},
--> 182                                       referer='player')
183
184     def overall(self):
/Users/befeltingu/anaconda/lib/python2.7/site-packages/nba_py/init.pyc in _get_json(endpoint, params, referer)
83                headers=h)
84     # print _get.url
---> 85     _get.raise_for_status()
86     return _get.json()
87
/Users/befeltingu/anaconda/lib/python2.7/site-packages/requests/models.pyc in raise_for_status(self)
842
843         if http_error_msg:
--> 844             raise HTTPError(http_error_msg, response=self)
845
846     def close(self):
HTTPError: 404 Client Error: Not Found for url: http://stats.nba.com/stats/playerdashptshotlog?PlusMinus=N&PlayerID=201566&TeamID=0&Location=&ShotClockRange=&SeasonType=Regular+Season&Season=2015-16&PaceAdjust=N&DateFrom=&VsConference=&OpponentTeamID=0&DateTo=&GameSegment=&LastNGames=0&VsDivision=&LeagueID=00&Outcome=&MeasureType=Base&PORound=0&PerMode=PerGame&SeasonSegment=&Period=0&Rank=N&Month=0
It looked as though the only required argument to pass to PlayerShotLogTracking was the player_id. So perhaps they have changed the endpoint?

Seems like the referrer is the one to blame here, will test and have something up shortly

My guess is that this endpoint has been removed because I can't find any pages on stats.nba.com that lead to it. Maybe it was replaced with ShotChart ?

@mcdallas I still see it being used when you go to places like http://stats.nba.com/player/#!/201935/tracking/shots/
And it still shows up in the custom.min.js leading me to believe it has something to do with the headers we are sending.


Broken telegram sharing function on mobile phone

Checklist

[x] I have read the tutorials and know the correct effect of the functional design.
[x] There are no similar reports on existing issues (including closed ones).
[x] I found the bug on the latest code of the master branch.

Describe the bug
Unable to share a blog post via telegram sharing function. The bug is found on telegram sharing link function of a blog post hosted using chirpy theme via safari ios browser. Same behaviour is observed in chrome ios browser.

To Reproduce
Steps to reproduce the behavior:

Go to a blog post hosted by jekyll-theme-chirpy via a mobile browser. For.eg : https://brootware.github.io/posts/picomini22pwcrack5/
Click on share via telegram icon.
You will be redirected to the telegram app and see the break.

Expected behavior
Sorry, this user doesn't seem to exist
The above message pops up and you will be unable to share the blog post.
Screenshots
https://user-images.githubusercontent.com/7734956/149685302-95d349c4-d243-4c5d-831c-7af2dce5e9d7.MP4
Software

Ruby version: ruby 2.6.8p205 (2021-07-07 revision 67951) [universal.x86_64-darwin21]
Gem version: <IP_ADDRESS>
Bundler version: Bundler version 2.3.5
Jekyll version:   * jekyll (4.2.1)
Theme version: jekyll-theme-chirpy (5.0.2)

Desktop

[x] Not applicable

Smartphone

Device: iPhone X
OS: iOS 15.1
Browser: Safari, Chrome

Additional context
After researching into this, I found the work around to fix the problem by changing the original URL from
https://telegram.me/share?text=TITLE&url=URL
to
https://telegram.me/share/url?url=URL&text=TITLE
source: https://stackoverflow.com/questions/31356360/share-a-link-via-url-scheme-to-telegram
https://github.com/brootware/brootware.github.io/blob/main/_data/share.yml
For now I have reverted my blog to broken telegram sharing function for users to reproduce on their phone. If the bug is valid and reproducible, will submit a PR for a fix.

It seems that Telegram has modified the sharing API. If you want to submit a PR for this, please modify the above link according to the official docs and use the domain name t.me instead of telegram.me.


fix: always encode = in query key and values

🔗 Linked issue
resolves #162
❓ Type of change

[ ] 📖 Documentation (updates to the documentation, readme, or JSdoc annotations)
[x] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description

URL ponyfill output is different from encoding query value = with new URL

new URL

const url = new URL('https://unjs.io/')
url.searchParams.set('foo', 'a=1&b=1')

console.log(url.toString()) // output -> `https://unjs.io/?foo=a%3D1%26b%3D1`

withQuery

import { withQuery } from 'ufo'

const url = withQuery('https://unjs.io/', { foo: 'a=1&b=1' })

console.log(url) // output -> `https://unjs.io/?foo=a=1%26b=1`

https://url.spec.whatwg.org/#concept-urlencoded-serializer

Let name be the result of running percent-encode after encoding with encoding, tuple’s name, the application/x-www-form-urlencoded percent-encode set, and true.

Let value be the result of running percent-encode after encoding with encoding, tuple’s value, the application/x-www-form-urlencoded percent-encode set, and true.

From the URL serializing document, encodeQueryValue should be same as encodeQueryKey
📝 Checklist

[ ] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

Following up discussion, it seems we are not going to change behavior at least until next major version that likely will use URL and this behavior change by default.
If you spot any bugs with this current behavior we can certainly reconsider.


Handle file upload

Greetings,
Is it any way to handle upload with Restify? I've tried following curl request
curl -F<EMAIL_ADDRESS>http://localhost:8080/upload
And it works fine with standard node-formidable manual code.
But with Restify i can't do that.
server.post('/upload', function(request, response) {
	request.on('file', function() { // "end" doesn't work either, callback never called
		console.log(arguments);
	});
});

server.post('/upload', function(request, response) {
	console.log(arguments); // no files in any request properties
});

Another problem is, why user does not have access to variable "form" which comes from formidable "incomingForm" to (for example) listen some events.
If I'm too stupid to understand upload handle with restify, please tell me that :)

:+1: - Haven't taken look at the latest commits, but have you thought anymore about adding support for file uploads. It's the one thing keeping me from moving away from Express.
Thanks for the great framework btw.

I was actually going to close this out today. With the new 1.0 branch (which I'm going to officially cut over to today or tomorrow), this is no longer a problem as you would be free to do:
server.post('/foo', function (req, res, next) {
  // Do whatever you want with formidable here
});

I.e., restify is no longer locking up the multipart parsing on you (unless you explicitly load the plugin it ships with).  Will that suffice for what you need here?

That's exactly what I was looking for and I suspect would work for most use cases.

Yep - Resolved.


Model not loading

I successfully compiled LlamaGPTJ and downloaded the 7b and 13b LLaMA models. It was not clear where to place them but the only 'models' folder was at \gpt4all-backend\llama.cpp\models. I placed them here and am getting the following message, followed by continuously running loading dots.

Your computer supports AVX2
LlamaGPTJ-chat: loading .\models\ggml-vicuna-13b-1.1-q4_2.bin
.........

Is there something else that needs to be done to point the program to the model?
Thanks

Hi,
You can put the model bin files anywhere on your computer. Just use -m flag and then path to the bin file.
So like:
./chat -m "/Users/kuvaus/mynewfolderformodels/ggml-vicuna-13b-1.1-q4_2.bin"
But without the -m it looks for the models folder in the same directory as the chat executable. So you need to make a new models folder in the same directory where you have the executable. (After you compiled the chat, you can move it anywhere, just have the models folder next to it). You were right to ask the question, by default it won't find the models from the \gpt4all-backend\llama.cpp\models but just from .\models.
One more thing: it can take a while to load the model so you'll be seeing the running dots loop until the model is fully ready.
Thanks for trying the program. :)


Slitinto configuration after flasing

Successfully flashed Slitinto US WiFi Dual Smart Plug with Power Monitoring NX-SP201
AS per  compatibility list following are the gpio settings :
GPIO0: Led1i, GPIO4: Button1, GPIO5: HLW8012 CF, GPIO12: Relay1, GPIO13: Button2, GPIO14: HLWBL CF1, GPIO15: Relay2, GPIO16 HLWBL SEL
I do not see any of the HLW settings in the drop down menu. Do they correspond to the PWM? options ?
Thanks.

There's a template I uploaded on the Tasmota git page.

I see a user created template for  SP201 based dual plugs.
{"NAME":"SP-201","GPIO":[31,0,0,131,17,134,0,0,21,18,132,22,0],"FLAG":0,"BASE":45}
I do not see an option for creating or importing a template  as specified here :
https://github.com/arendst/Sonoff-Tasmota/wiki/Templates
Information shows my version as :
Program Version | 6.4.1(basic)
Tried upgrade by web server : http://thehackbox.org/tasmota/release/sonoff-basic.bin and http://sonoff.maddox.co.uk/tasmota/sonoff.bin
Doesn't seem to be upgrading anything

You have to use a dev version. Templates aren't in general release yet. I do have a custom bin you can use on my github page under SmartThings folder.

https://github.com/DavinKD/SmartThings?files=1

Do I need to manually add device to Smartthings ? Pressing the button for extended period of time does not seem to get it in pairing ( led flashing ) mode.

Assuming you've flashed it, got the bin working, you would need to add it to SmartThings manually. If you use my device handler which is in the same github branch, you just need to put in the IP address of the device.
One thing to note is that SmartThings does not have a native mqtt server. I don't use one. My device handler is one way and polls every 5 minutes for the latest status. You won't get real time power usage.
There are other ways to do it with home assistant and mqtt, but I don't use them...yet

I do have a few sonoff basic switches, use Brett's device handler.  When I go to add, it does not find device, if I manually add, it does not work. I think I also have erocm123's DH, haven't tried adding device manually with that handler.
I saw this device handler, going to give it a try -  devicetypes/davindameron/sp201-dual-energy-monitoring-plug.src/sp201-dual-energy-monitoring-plug.groovy

Looks like you've got everything covered, if you still have questions please open a new issue on the relevant project.


Schema Registry readme and samples issues

Section link1, link2, link3, link4, link5, link6, link7:

Reason:
AttributeError: 'Schema' object has no attribute 'definition'.
Suggestion:
Update to schema_definition
@jameszliao-msft, @lmazuel, @ramya-rao-a, @yunhaoling for notification.

hey @AFengKK , may I ask which version of azure-schemaregistry you are using?
In our latest GA version 1.0.0, we have renamed schema_definition to definition.

@AFengKK - just to add on - we've gone back and forth on the naming here a few times, so apologies for the confusion! The final changes for the GA version (1.0.0) are listed here: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/schemaregistry/azure-schemaregistry/CHANGELOG.md#100-2021-11-10.

@yunhaoling, @swathipil. Sorry, I downloaded the wrong package and tested the 1.0.0b3 version of the package. The 1.0.0 version of the package is correct. We will close the issue.


As an app user, I want to be able to add a record to the page for when each exercise that I do that tracks to the total calorie count for exercise per day and total net calories per day.

Totals for each section are complete but still need to finish the net calories. Export import functions need assistance

As a user, I want to be able to update the total calories burned and total net calories to update when a new entry is added so that I can easily keep track of totals for a day.
Acceptance Criteria
GIVEN I am using the nutrition tracker
WHEN I add a new exercise to the tracker
THEN the total calories burned and total net calories values are updated


Total number of pages

How to know how many pages doc have?
pages = pdf.doc.catalog['Pages'] respond with PDFObjRef:2

got it:
pdf.doc.catalog['Pages'].resolve()['Count']


OS Problem

ISSUE TEMPLATE ver. 0.4.0

Which TurtleBot3 platform do you use?

[ ] Waffle Pi

Which ROS is working with TurtleBot3?

[ ] ROS 1 Melodic Morenia

Which SBC(Single Board Computer) is working on TurtleBot3?

[ ] Raspberry Pi 4

Which OS you installed on SBC?

[ ] Raspbian distributed by ROBOTIS
[ ] Ubuntu MATE (16.04/18.04/20.04)
[ ] Ubuntu preinstalled server (18.04/20.04)
[ ] etc (Please specify your OS here)

Which OS you installed on Remote PC?

[ ] Ubuntu 18.04 LTS (Bionic Beaver)

Specify the software and firmware version(Can be found from Bringup messages)

Software version: [x.x.x]
Firmware version: [x.x.x]

Specify the commands or instructions to reproduce the issue.

HERE

Copy and Paste the error messages on terminal.

HERE

Please describe the issue in detail.

OS is not working which is provided on the official site. It is saying update and screen getting stuck. I'm having Raspberry Pi 4 B with 2GB RAM

Hi @MalikaGawande.
It is recommended to install ubuntu 18.04 server instead of raspi based OS.
Please refer to the attached image and reinstall.

If it still doesn't work, please feel free to let us know.
Thank you.

I tried using this image and I'm getting the following error which is shown
in image below and screen getting stuck on that display
On Mon, 21 Mar 2022, 11:37 ROBOTIS-Ashe, @.***> wrote:

Hi @MalikaGawande https://github.com/MalikaGawande.
It is recommended to install ubuntu 18.04 server instead of raspi based OS.
Please refer to the attached image and reinstall.
[image: image]
https://user-images.githubusercontent.com/61770300/159212209-fe7fcf57-148c-4b46-a363-0f867ca56f7c.png
If it still doesn't work, please feel free to let us know.
Thank you.
—
Reply to this email directly, view it on GitHub
https://github.com/ROBOTIS-GIT/turtlebot3/issues/843#issuecomment-1073513009,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AYH3COZKQVMTVDUDVI55WTTVBAG3TANCNFSM5Q2YLZYA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>

@MalikaGawande
I'd like to know where the problem is.
Have you proceeded to 3.2.6 Configure the WiFi Network Setting?
Thank you for attaching a picture where the screen freezes with an error.

Hi @MalikaGawande
Could you upload the image via GitHub thread?
https://github.com/ROBOTIS-GIT/turtlebot3/issues/843
Replying to the email doesn't properly attach any images at all.
Thanks!

Hi! I am experiencing the same problem. I was wondering if this issue has been solved? And if so what the solution is. I am using the same software and hardware.

Apologies for the delayed response. We have assembled a TF team to address TurtleBot3 issues and are actively working on resolutions. Please note that we do not support EOL (End-of-Life) ROS versions; our support currently extends to Noetic and Humble versions. We kindly ask that you try again with the latest version. If the same issue arises, please feel free to resubmit it, and we will address it promptly.


Kubeaudit does not detect issues in cronjobs

ISSUE TYPE

[x] Bug Report
[ ] Feature Idea

BUG REPORT
SUMMARY

Kubeaudit does not detect issues in cronjobs
ENVIRONMENT

Kubeaudit version: 0.21.0/
Kubeaudit install method: Binary

STEPS TO REPRODUCE
$ curl -fsSL https://github.com/Shopify/kubeaudit/releases/download/v0.21.0/kubeaudit_0.21.0_linux_amd64.tar.gz \
  | tar -xzf - kubeaudit

$ curl -fsSL https://raw.githubusercontent.com/kubernetes/website/snapshot-initial-v1.26/content/en/examples/application/job/cronjob.yaml \
  | ./kubeaudit all -f -

All checks completed. 0 high-risk vulnerabilities found

EXPECTED RESULTS
Kubeaudit should report a bunch of issues.
ACTUAL RESULTS
No issues detected

Hi @bluebrowb, thanks for opening this issue. My guess is we just need to bump some dependency versions. Kubeaudit only knows about the batch/v1beta1 CronJob currently


Refactor Party into enum, add Clone impl

Warning: annoying bike-shedding proposal incoming... 😄
While looking around, the 'Party and Dealer state machines' design caught my attention. It's a very effective way of using the language, and it could be even better in the following way:

'more idiomatic' Rust. This is subjective so I won't spend a lot of words on it, let's just say that it feels to me that using an enum of struct is more idiomatic than having a separate struct for each state(while retaining all previous benefits).
A more secure, and flexible, implementation.

Re 2, while the 'move semantics' of the type system prevents use after move, you are also implicitly relying on Clone never being implemented for the various state structs. Clone could end-up being derived or implemented in the future, either by accident, carelessness, or outright trickery. You won't get a warning from the compiler if that happens.
Also, while Rust's "orphan rules" prevent a third-party from implementing Clone outside of your crate, the rule aims at "trait coherence", not "trait security", it's very complicated, and it might change or have some exceptions in the future(here is a general overview).
While this rule can probably be relied on for it's core aim of preventing multiple conflicting implementations, it's maybe not best to rely on it to prevent potential malicious parties to implement a trait for one of your types for which the trait has been left unimplemented.
Hence, you could consider to adopt a more future-proof solution of preemptively implementing Clone yourself, ensuring any clone could never be useful for a replay attack, and having the compiler prevent any conflicting implementation.
Incidentally, this is easily done using the proposed design, highlighting it's flexibility.
I look forward to your thoughts, and would be happy to continue with Dealer if you feel it is worthwhile.

Hi! Again, thanks for checking out our code!
We did consider using an enum, but our goal was to have static verification of the protocol flow. As @oleganza pointed out, what we're hoping to enforce with our type system is that the "orchestrating" code does all operations in the correct order, so moving to a dynamic check wouldn't give us what we want.
If I understand your concern about Clone and the orphan rules correctly, the concern is that a future change in Rust might cause there to be a Clone impl, or that the party state would fall into an exception. But again, what we're guaranteeing is a static property of an implementation, so even if Rust tossed the orphan rules entirely, any currently compilable instantiation of this API would still be correct.
To make this more idiomatic, I think a better path would be to generalize Rust's generator support, so that generators can take inputs. Then we would be able to express what we're doing now using builtin language features, but this isn't currently possible.
We're planning to write a blog post about this soon, but for now I think we're happy with the static guarantees we get.

Thanks you both for your feedback. I'm aware this is the kind of bike-shedding that doesn't change much for your project for now. However, the patterns you adopt now will set the tone for later, and I'de like to argue you're currently not taking the optimal path.
I would ask you to consider you're  overestimating the value of what you refer to as 'the static check', and giving up lots of upside in terms of flexible and powerful idioms.
The "static" vs "dynamic" distinction you make

what we're hoping to enforce with our type system is that the "orchestrating" code does all operations in the correct order, so moving to a dynamic check wouldn't give us what we want.

The match and enums will result in runtime checks, which aren't exactly 'dynamic',  they rely on the type system as much as the current implementation. The type system, by way of the enum, is also enforcing the correct order or operations. In what way is this not giving you what you want?
You are, on the other hand, losing a lot of expressiveness and flexibility, the PartyState::Invalid variant, even if it is useless, being a point in case. Can you imagine doing that so easily with your current setup?
The advantage of enums
Looking at other parts of your codebase, the same pattern of using struct when you could be best served with enum seems to be repeated.  For example with Generators and PedersenGenerators, which could be replaced by really just an enum with, for now, only one Pedersen variant(and as your project adds support to other commitment schemes, others).
An example, Default could simply have been implemented on Generators, with an inner match on the variant to determine what default to return. Generator::new could be passed an enum called InitialGeneratorState::Pedersen containing the pedersen stuff used to compute the rest. That would give you two sets of enums, one Generator and one InitialGeneratorState, and enourmous flexibility and ease of understanding for anyone looking at your code.
You'll be missing 'static' checks that you're dealing with a Pedersen generator, and you'll have to match for it across your codebase! That is exactly the pattern that could help your project scale to a large size with lots of 'types' without having your head explode.
What would it take to currently add support for a different commitment scheme using your current type structure? (this isn't about doing complicate things before they are needed, it's just about following idioms that will naturally allow your code to grow)
The security of your API

even if Rust tossed the orphan rules entirely, any currently compilable instantiation of this API would still be correct.

The API would be correct, yet I was under the impression, from reading this that you also wouldn't want anyone from being able to run any step of the process several times and collect the results.
Adding Clone to your structs(which could happen in various ways), seems to allow such replay. See https://github.com/chain/ristretto-bulletproofs/pull/92
I think there are lots of ways Clone could end-up being implemented, one of the most likely ones is someone adding a #[derive(Clone)] for an unrelated reason and not realizing this breaks the current security model. Such a mistake will compile just fine, whereas it will not if you implement it first like I suggest(and adding a comment in the implementation explaining what it's for should ensure a commit deleting would not be merged without first ensuring the effect of it).

Each party has to trust their own computer to not have incorrect code such as one that somehow implements Clone and then attempts to re-use the state behind your back.

Yes, yet you already are building a security model using the 'move semantics' to try to prevent replay attacks. Why bother with that? I guess you have at least a responsibility to ensure the integrity of the promise you make as part of your API, and currently this seems to includes disallowing repeating of operations.

I think it would be informative to look into some research into the session types model that we implemented. There has been a lot of discussion of its security model, and comparisons to other approaches. Here are a few good starting points:
http://munksgaard.me/papers/laumann-munksgaard-larsen.pdf
http://www.di.unito.it/~dezani/papers/sto.pdf

It is not a security model, it is a safety model (aka footgun-prevention model)

Thanks for the explanation. One could argue the cloning use-case could fit in that, but let's not go there for now...
@cathieyun Thanks for sharing those articles. I now have a much better understanding of what you are trying to do here...
So essentially you want the type system to 'natively' express that one step can only be taken in response to a specific previous one.
Obviously, my enum and matching don't qualify, the 'steps' are expressed through the matching, which, while relying on the type system, isn't a 'type' in itself.
The current implementation also lacks this. The current types don't express in themselves the 'steps' they need to follow, instead that is achieved through the signatures of the methods on them. It's quite close to my proposal which relies on the types chosen in the matching. Both implementations lack the typed concept of 'duality' referred to in those papers.
I like the "Session-typed Channels" concept in the Danish paper.
It would allow to precisely 'type' not just the state of both Dealer and Party but also the various steps in their interactions. For example in the case of DealerAwaitingValueCommitments, while clearly that type is only able to receive value commitments, the fact that this should happen in response to the parties having been assigned their positions first isn't something the type system currently checks.
I would be interested in trying to get to an implementation of the party/dealer protocol using such "Session-typed Channels".
As the most simple first step, I suggest just having a  kind of event-loop like setup that simply uses channels to schedule 'steps' one after the other on the main thread, just as a way to make the conceptual change. I guess this could lend itself naturally to several threads/processes, or over the network, later(which is your goal, right?).
Any takers?

For example in the case of DealerAwaitingValueCommitments, while clearly that type is only able to receive value commitments, the fact that this should happen in response to the parties having been assigned their positions first isn't something the type system currently expresses.

A nitpick: in asynchronous network it's impossible to know (statically or dynamically) whether the other side (party vs dealer) had or had not yet transitioned to "position assigned" state.
What type system perfectly expresses is the sequence of the local (per-actor) state transitions, which is most what one could ask for anyway. Meaning, type N can only be produced by a single method on a self-consuming type N-1.


EPREPARE_DOWNLOADING: (0) lecture.quality.slice is not a function

Udeler | Udemy Course Downloader
V1.13.4
Account Type?
Business
Steps to reproduce
For every course that I try to download I get the following error in the log:
EPREPARE_DOWNLOADING: (0)
lecture.quality.slice is not a function
course: The Complete 2024 Web Development Bootcamp
EBUILDING_COURSE_DATA: (0)
lecture.quality.slice is not a function
course: The Complete 2024 Web Development Bootcamp
✔ Expected Behavior
I expected the download to work.
🔍 Additional context
Win11

More information, please

When I click the downoad button.
udeler_logger.txt
I get the following, what other info can I provide to help you?

I have the same issue, first time trying the app but it fails with the same error.

The issue has been resolved in this PR. Awaiting approval.
https://github.com/heliomarpm/udemy-downloader-gui/pull/228

See the new version 1.14


LEGO: Pull request from lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20210803213435396 to main

LEGO: Pull request from lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20210803213435396 to main with localized lcls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 41.543%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
26124

Relevant Lines:
56997

💛  - Coveralls


Improve with-ant-design example

It will be great to have customzing default theme sample in ant-design example
Expected Behavior
The way how to do it is described in offical docs
And there is link to more informative article on medium
Current Behavior
Now we have ant-design example with default theme
Steps to Reproduce (for bugs)
I followed the article, but in the end my app is not compiled:
SyntaxError: Invalid or unexpected token
I have created repository based on with-ant-design example with config similar to medium article

Need some help with understanding this error and how can I solve it

I've been using antd with custom themes taking some config from with-global-stylesheet example.
I set up a repo so you can check my current config: https://github.com/aoc/with-ant-design-custom-theme
hope it helps

@aoc
Hi. great, it works. thank you
I have fixed my example, also I added ExtractTextPlugin, if anybody want to extract resulting css into seperate file.

how about importing components on demand ?
https://ant.design/docs/react/use-with-create-react-app#Use-babel-plugin-import

@Mantak Does it really work on server-side? I have  SyntaxError: Invalid or unexpected token issue that can't be compiled CSS or LESS.


Docs

Hello,
Just a few small updates to the docs/index.html page and an update to .gitignore.
Also, this is my first pull request ever. Let me know if I'm doing anything wrong.
Thanks for the great work!
SIlumesii

Looks right to me!


📢 Site Publish types and scopes

Moves pubsub attribute types here for launchpad and publish actions
Adds SitePublish types for site publish jobs
Adds new site scopes for config, publish, and router
New validator function for enums!

looks good @fwkoch


Add a DEFAULT option to reports

Rather than having to list the default reports, add a DEFAULT keyword that adds all of the ones that come prepackaged

#142


Add support for Prometheus offset modifier

Add support for Prometheus offset modifier in indicator metric expressions.
Type: feature request
AWS CloudWatch ELB metrics are reported with a 5-10 minute delay. A Prometheus recording rule is evaluated at the current time, at which you will never have AWS ELB metrics in your Prometheus.
This can be solved by applying an offset 10m to the metric. All PromQL statements that use the recording rules don't need to have the offset applied. When the offset is used in the metric for the recording rule, everything is already recorded with the defined offset.
The offset is not great for fast burning alerts but I prefer to have a slightly delayed but working SLO over no SLO. There can also be other use cases where users benefit from applying a (shorter) offset.

I would prefer not to add this to the SLO configuration, to be honest.
Adding more features than simply selecting the time series by their matchers might open pandora's box.
Do you think that using a recording rule somehow could solve the problem? That way Pyrra could stay rather simple.

Thanks for your feedback. I will try by defining a recording rule first and passing the recording rule into Pyrra. I will report back.
Is that also your suggestion for uninitialized counters? We have a couple of counters that are difficult to initialize in the application that emits them, due to the high cardinality. A known solution to that seems to be to join in a default value with or up{job="my-job"} * 0 as described on the Prometheus blog.

Sounds like a solution and @juliusv is one of the most intelligent people. Please try it out!

For any one coming here in the future, wrapping it in a recording rule works. Since you prefer not adding support for the offset modifier, I will close my PR then.


Documentation style

Right now a couple of the files are literate haskell with markdown (I think?) comments in the bulk of the files. The others are ordinary haskell files with markdown (again, I think) comments.
One drawback to this state of affairs is that we don't have haddocks.
@bjornbm, do you have tools you use to process the markdown to create PDF or HTML documentation from files in this style? I assume such tools are out there, but I'm having trouble figuring out which if any are in active use by the community.

http://pandoc.org/README.html#literate-haskell-support
https://github.com/sol/markdown-unlit
https://ghc.haskell.org/trac/ghc/wiki/LiterateMarkdown (some effort to modify GHC to improve this story, not sure what the status of it is)

I'd lean towards voting for ordinary .hs style with haddock documentation. Some of the current explanatory discourse could move to named chunks and appear at the appropriate place in the export lists. Others could sensibly be attached to individual definitions. Still others might (I'm not sure) be better demoted to ordinary comments that aren't visible in the exported documentation.
If we make the other choice, I'd vote for doing it across the board, and for writing haddocks at least for the non-obvious things.
Either way, I'm happy to do the busywork of converting to whatever style is chosen.

I think we are in agreement on this one. :) See #44.

Yikes. Ooops.
That's really strange that I missed that, since I had just read through all the open issues looking for ones to close.
Sorry.


Fix fedora building and testing

Fix fedora building and testing

when passing passwords to mongo shell don't put space after "-p"
parameter (it wasn't working for fedora env)

[test-openshift]

[test-openshift]

Not big changes and tests are passing. So merging.