Don't close the terminal when task exits with non-zero code

When configuring VSCode Tasks we have an option { "presentation": { "close": true } } which controls whether the terminal the task runs in is closed when the task exits.
I don't think the terminal should be automatically closed when task exits with code 1  since I'm losing error output. Maybe change the default behavior or add an option like "close": "on-success"?

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

We closed this issue because we don't plan to address it in the foreseeable future. If you disagree and feel that this issue is crucial: we are happy to listen and to reconsider.
If you wonder what we are up to, please see our roadmap and issue reporting guidelines.
Thanks for your understanding, and happy coding!


Update Repo Materials

Since we have updated the structure of the docs we will need to update the CONTRIBUTING.md & the DEVELOPMENT.md files as they are referring to the old docs structure with multiple instances

I suggest closing this issue, as it should have been completely addressed in #663


URLDownloadToCacheFileW and URLDownloadToFileW

These two should have String arguments changed to LongPtr I think:
Public Declare PtrSafe Function URLDownloadToCacheFileW Lib "urlmon" (ByVal lpUnkcaller As stdole.IUnknown, ByVal szURL As String, ByVal szFileName As LongPtr, ByVal dwBufLength As Long, ByVal dwReserved As Long, ByVal pbsc As IBindStatusCallback) As Long
Public Declare PtrSafe Function URLDownloadToFileW Lib "urlmon" (ByVal pCaller As stdole.IUnknown, ByVal szURL As String, ByVal szFile As String, ByVal dwReserved As Long, ByVal lpfnCB As IBindStatusCallback) As Long

Well thats annoying; I made those changes and somehow they didn't take... maybe forgot to save, or tB did that fakeout...
Fixed in v8.0.404, available now.
Hey is this something regex would be able to help with? If so, if you're up for it and whenever you have the time, could you check for other W functions that have String arguments but not DeclareWide?

I ran the search for unAliased W's with String Args and included in list below. For each of those found, I also examined their corresponding A and Aliased siblings and included what looked to be incorrect in those too (for example, some A/W versions were misidentified as W/A respectively).
Public Declare PtrSafe Function CommandLineToArgvW Lib "shell32" (ByVal lpCmdLine As String, pNumArgs As Long) As LongPtr

'the DeclareWide Aliased version has LongPtr that should be String
Public DeclareWide PtrSafe Function PathIsSystemFolder Lib "shlwapi" Alias "PathIsSystemFolderW" (ByVal pszPath As LongPtr, ByVal dwAttrb As Long) As BOOL
Public Declare PtrSafe Function PathIsSystemFolderW Lib "shlwapi" (ByVal pszPath As String, ByVal dwAttrb As Long) As BOOL

Public Declare PtrSafe Function UrlCreateFromPathW Lib "shlwapi" (ByVal pszPath As String, ByVal pszUrl As String, ByRef pcchUrl As Long, ByVal dwFlags As Long) As Long

'the DeclareWide Aliased version has LongPtr that should be String
Public Declare PtrSafe Function IsBadStringPtr Lib "kernel32" Alias "IsBadStringPtrW" (ByVal lpsz As LongPtr, ByVal ucchMax As LongPtr) As BOOL
Public Declare PtrSafe Function IsBadStringPtrW Lib "kernel32" (ByVal lpsz As String, ByVal ucchMax As LongPtr) As BOOL
Public Declare PtrSafe Function CreateWaitableTimerExW Lib "kernel32" (lpTimerAttributes As SECURITY_ATTRIBUTES, ByVal lpTimerName As String, ByVal dwFlags As CreateWaitableTimerExFlags, ByVal dwDesiredAccess As Long) As LongPtr

'switch the args between W and A versions?
Public Declare PtrSafe Function CreateServiceA Lib "advapi32" (ByVal hService As LongPtr, ByVal lpServiceName As LongPtr, ByVal lpDisplayName As LongPtr, ByVal dwDesiredAccess As Long, ByVal dwServiceType As ServiceType, ByVal dwStartType As ServiceStartType, ByVal dwErrorControl As ServiceErrorControlType, Optional ByVal lpBinaryPathName As LongPtr, Optional ByVal lpLoadOrderGroup As LongPtr, Optional ByRef lpdwTagId As Long, Optional ByVal lpDependencies As LongPtr, Optional ByVal lpServiceStartName As LongPtr, Optional ByVal lpPassword As LongPtr) As BOOL
Public Declare PtrSafe Function CreateServiceW Lib "advapi32" (ByVal hService As LongPtr, ByVal lpServiceName As LongPtr, ByVal lpDisplayName As LongPtr, ByVal dwDesiredAccess As Long, ByVal dwServiceType As ServiceType, ByVal dwStartType As ServiceStartType, ByVal dwErrorControl As ServiceErrorControlType, Optional ByVal lpBinaryPathName As String, Optional ByVal lpLoadOrderGroup As String, Optional ByRef lpdwTagId As Long, Optional ByVal lpDependencies As String, Optional ByVal lpServiceStartName As String, Optional ByVal lpPassword As String) As BOOL

Public Declare PtrSafe Function mmioRenameW Lib "winmm" (ByVal szFileName As LongPtr, ByVal SzNewFileName As String, lpmmioinfo As MMIOINFO, ByVal dwRenameFlags As Long) As MMIOERR

Public Declare PtrSafe Function GetPrintProcessorDirectoryW Lib "winspool.drv" (ByVal pName As LongPtr, ByVal pEnvironment As LongPtr, ByVal Level As Long, ByVal pPrintProcessorInfo As String, ByVal cbBuf As Long, pcbNeeded As Long) As BOOL

Public Declare PtrSafe Function SetFormW Lib "winspool.drv" (ByVal hPrinter As LongPtr, ByVal pFormName As String, ByVal Level As Long, pForm As Any) As BOOL

'switch the args between W and A versions?
Public Declare PtrSafe Function AddPortA Lib "winspool.drv" (ByVal pName As LongPtr, ByVal hwnd As LongPtr, ByVal pMonitorName As LongPtr) As BOOL
Public Declare PtrSafe Function AddPortW Lib "winspool.drv" (ByVal pName As String, ByVal hwnd As LongPtr, ByVal pMonitorName As String) As BOOL

'these two do not have corresponding A and Aliased W
Public Declare PtrSafe Function CredUIStoreSSOCredW Lib "credui.dll" (ByVal pszRealm As String, ByVal pszUsername As String, ByVal pszPassword As String, ByVal bPersist As BOOL) As Long
Public Declare PtrSafe Function CCredUIReadSSOCredW Lib "credui.dll" (ByVal pszRealm As String, ppszUsername As LongPtr) As Long

Public Declare PtrSafe Function GetUrlCacheEntryInfoExW Lib "wininet" (ByVal lpszUrl As LongPtr, lpCacheEntryInfo As INTERNET_CACHE_ENTRY_INFOW, lpcbCacheEntryInfo As Long, ByVal lpszRedirectUrl As String, lpcbRedirectUrl As Long, ByVal lpReserved As LongPtr, ByVal dwFlags As Long) As BOOL

'these two do not have corresponding A and Aliased W
Public Declare PtrSafe Function PrivacySetZonePreferenceW Lib "wininet" (ByVal dwZone As URLZONE, ByVal dwType As PrivacyType, ByVal dwTemplate As INET_PRIVACY_TEMPLATES, Optional ByVal pszPreference As String) As Long
Public Declare PtrSafe Function PrivacyGetZonePreferenceW Lib "wininet" (ByVal dwZone As URLZONE, ByVal dwType As PrivacyType, pdwTemplate As INET_PRIVACY_TEMPLATES, Optional ByVal pszBuffer As String, Optional pdwBufferLength As Long) As Long

There's no CredUIStoreSSOCred[A} defined in the Windows API, same for the one below that, and PrivacyGet/SetZonePreferenceW, and the CmdLine...-- but there's only 1 C at the start of CredUIReadSSOCredW so glad that was caught. I'm going to use overloads so either String or LongPtr can be used with W.
Thanks again, really great working finding all these bugs 💯

All identified issues fixed in v8.0.406, available now.


Fix CI and flaky tests

Background
The CI fails on the main branch.
What I did

Fix GitHub Actions

Use setup-beams

https://github.com/actions/setup-elixir is archived.
https://github.com/erlef/setup-elixir is redirected to https://github.com/erlef/setup-beam

Use ubuntu-20.04 because ubuntu-latest does not have old Erlang/OTP and Elixir versions

References:

https://repo.hex.pm/builds/otp/ubuntu-20.04/builds.txt
https://repo.hex.pm/builds/otp/ubuntu-22.04/builds.txt
https://github.com/beam-telemetry/telemetry_metrics/pull/104

Fix flaky tests

See the comment on the tests.

How to test
I confirmed that the CI was passed at the forked repository.
See https://github.com/mopp/telemetry_metrics_statsd/pull/2

@arkgil Hi :wave: Please review and merge :pray:


Issues with Touch Scrolling

Trackpad scrolling seems to work, but was having issues with touch scrolling.  Probably need an extra css property for the webview and such.  Will need to investigate a bit more on a touch device.

@hawkerm You mentioned that trackpad scrolling seems to work. However, on my Surface Book, scrolling doesn't work at all with my trackpad. Scrolling a bluetooth-connected mouse does work though. Is there some property I have to enable to get trackpad scrolling to work? If you want me to create a separate issue for this, let me know.

@dpaulino now that you mention it, I believe someone else mentioned issues on a Surface Book.  I'll have to find one and test it out.  My original issue with touch scrolling was due to the control being in a Pivot and the pivot touch overriding the touch behavior of the editor, so that seems out of scope, but I still want to take a more in-depth look.


Implemented shorthand version tag update

Current dependencies on/for this PR:

main

PR #50

PR #51

PR #55   👈

This comment was auto-generated by Graphite.


We Tested 4 Classic Challah Recipes. Here's How They Compared | The Kitchn

https://www.thekitchn.com/challah-recipe-reviews-22969552
https://busyinbrooklyn.com/tag/challah/
https://youtube.com/watch?v=1FcR1PDzC94&si=tDbaP9S1RaTcP5Sp

chocolate chip, cinnamon, vanilla raspberry.

My Favorite Challah Recipe - NYT Cooking.pdf


Fix errors in extracting session content for script 02/02

When running the script src/open_discourse/02_preprocessing/02_split_xml_electoral_term_1_and_2.py the log reveils a problem with the following files:
Period 1
No session content found in 01014.
No session content found in 01001.
No session content found in 01042.
No session content found in 01280.
No session content found in 01041.
No session content found in 01281.
No session content found in 01224.
No session content found in 01019.
No session content found in 01223.
No session content found in 01183.
Period2
No session content found in 02078.
No session content found in 02188.
We need to investigate the problem. This was already a problem in the old script as the same files are missing there

Directly related to https://github.com/open-discourse/open-discourse/issues/115, just have to check if it is the same error for all listed files

After a short investigation the problem is definitely NOT only related to problems in the start statement and line breaks. The problem are breaks in the session protocol. A session can be interrupted and later continued. When this happens we have something like:
Ich unterbreche infolgedessen die Sitzung und berufe den Ältestenrat zu einer Sitzung zusammen.
(Große Unruhe und Pultdeckelklappen.)
(Unterbrechung der Sitzung:
17 Uhr 55 Minuten.)
Die Sitzung wird um 19 Uhr 8 Minuten wieder aufgenommen.

which seems totally fine to me. The only problem is, that our current get_session_content function that is looking for the beginning and end of a session, only works for two cases:

There are more beginnings than ends and exactly ONE end -> take the first beginning until the only end
exactly N beginnings and N ends -> take all the sessions in between

But in the above mentioned cases, thanks to the interruptions, we have N beginnings but M endings with N > M, meaning we need to detect interruptions and basically ignore them.


How to run Iroh against large JS libraries?

Hi, first of all this library is awesome, thanks for the contribution!
I would like to run Iroh against large js libraries like Jquery, React etc. however I am having trouble loading the entire library code into a string in order to pass it to Iroh.Stage(). For example, if you try and load the entire jquery 3.4.1 code into a string using like so:
const jqueryCode = `<JQUERY_CODE_GOES_HERE>`;
const stage = new Iroh.Stage(code);

Then it raises this error:
Uncaught SyntaxError: Octal escape sequences are not allowed in template strings.

I suppose I could do some find/replace operations on jquery.js and make the code able to be stored in a string but this is time consuming and I would like to be able to run Iroh against ANY javascript library. Do you have any ideas on how I can achieve this? Thanks, Evan.

One way around this is by creating a file with the code in it and reading it, or using a request library and fetching it.
const { data: jquery } = await axios.get(JQUERY_CDN_URL); const stage = new Iroh.Stage(jquery);
While I'm not doing this for jQuery, I am doing this for a large library and I get the same error as you doing it the "normal" way.


Compile warning on HPAX.Table.lookup_by_index/2

HPAX version: "0.2.0",
Reason for issue: In order to stop the compiler to complain about the warning stated below, we should update the function lookup_by_index/2 to have a specific step size defined within the range guard clause. It is more idiomatic when dealing with ranges in guards, as it makes the step size clear.
Warning:
warning: 62..@dynamic_table_start + length - 1 inside guards requires an explicit step, please write 62..@dynamic_table_start + length - 1//1 or 62..@dynamic_table_start + length - 1//-1 instead
Old code to be changed:

lib/hpax/table.ex:160
def lookup_by_index(%__MODULE__{entries: entries, length: length}, index)    when index >= @dynamic_table_start and index <= @dynamic_table_start + length - 1 do   {:ok, Enum.at(entries, index - @dynamic_table_start)} end

Changed code:
def lookup_by_index(%__MODULE__{entries: entries, length: length}, index)       when index in @dynamic_table_start..(@dynamic_table_start + length - 1)//1 do     {:ok, Enum.at(entries, index - @dynamic_table_start)}   end

I tried to open a pull requests but can't as per permissions.

Hi @Saveljeffjonatan, I’m a bit confused because HPAX 1.0.0 (https://hex.pm/packages/hpax) has been out for a couple months now, and this warning is fixed in there?

I am using a default phoenix project since a few weeks. I will dig in and see where the base deps is coming from.

Yeah, likely something hasnt updated. I will close this issue as it's not an issue with HPAX, but feel free to open another issue in the appropriate repo once you find something.

Yes, will do. Thanks for the response!

Just for reference, seems like my cache on github was broken and hadn't updated bandit http server package since 3 weeks ago. *They introduced hpax ~> 1.0.0 but mine was locked at 0.2.0.
Thanks for the assitance once again
worm regards


feature/CPLP-1528-CPLP-1529-companyroleConsentDetails

chore: fixing logic for Get and Post companyRoleConsentDetails
Ref: CPLP-1528,CPLP-1529

@VPrasannaK94 : I did some cleanup, and as there were conflicts I also rebased on dev solving the conflicts. Please make sure you get those changes in case you need to add anything to the PR.

in addition to my comments we need to clarify a semantic detail - what if agreements where there is already an active consent for in the database are not included in the request: shall those consents be set to inactive or just be ignored?

I discussed this scenario with @jjeroch  , asked me to ignore when consent record with active status.

@VPrasannaK94 since you are working on the pr currently, I suggest we put this PR into the draft mode


Can't hook objc_exception_throw()

Attempting to hook objc_exception_throw()  on my iPhone6S Plus(iOS 9.3.5) and don't seem to be able to. But it worked on the iOS 9.3 simulator.
Anyone else run into this issue?

Have you tried hooking other functions on device?

See #28.


Update index.md

Fix link to guides for framework

Looks like the link already got fixed on master? It just needs to be redeployed with the changes.
Thanks for submitting this PR though!

Oh, sorry man, I didn't notice your PR when merging #1629


AuditEntryProperty - DateTime locale

Today, I have started using the Audit functionality of EntityFramework-Plus, which seems to work great.
However, I have one question; currently, all DateTime properties appear in the OldValue and NewValue fields like this: 3/20/2017 2:15:02 PM
I would like all DateTime properties to be formatted in ISO8601 format. Is there a way to do this?

Hello Jesse,
We released a new version today (v1.4.36) fixing an issue with Format when an entity is deleted.
At this moment, it's only possible to format value by property
AuditManager.DefaultConfiguration.Format<EntitySimple>(x => x.DateCreated, x => ((DateTime) x).ToString("yyyy-MM-dd"));

However, we added a task to add more global formatted to allow you to format the value for a specific type instead.
Best Regards,
Jonathan

Hello @JesseKlaasse ,
The v1.4.40 is now available.
We added an option to allow to format all value from a specific type.
AuditManager.DefaultConfiguration.FormatType<DateTime>(x => x.ToString("yyyy-MM-dd"));

We will close this issue but feel free to re-open if needed.
Best Regards,
Jonathan

Hi Jonathan,
Thanks, it’s working!
Best regards,
Jesse.
From: Jonathan Magnan<EMAIL_ADDRESS>Sent: zaterdag 8 april 2017 16:57
To: zzzprojects/EntityFramework-Plus<EMAIL_ADDRESS>Cc: Jesse Klaasse<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [zzzprojects/EntityFramework-Plus] AuditEntryProperty - DateTime locale (#140)
Hello @JesseKlaassehttps://github.com/JesseKlaasse ,
The v1.4.40 is now available.
We added an option to allow to format all value from a specific type.
AuditManager.DefaultConfiguration.FormatType(x => x.ToString("yyyy-MM-dd"));
We will close this issue but feel free to re-open if needed.
Best Regards,
Jonathan
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/zzzprojects/EntityFramework-Plus/issues/140#issuecomment-292723207, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ALNXwY-0qznoQZmBvX5aDzusDV3fkUK5ks5rt6BYgaJpZM4Minfc.


Comparison string typo on 'Openssl' vs 'openssl'

The CRYPTO value should be openssl, however the comparison below checks with Openssl:
https://github.com/DMTF/libspdm/blob/79c187688a6e857a5e9589ea315442ec4011e7bb/CMakeLists.txt#L128
https://github.com/DMTF/libspdm/blob/79c187688a6e857a5e9589ea315442ec4011e7bb/CMakeLists.txt#L121

Can probably enable that option in CI. I assume Github's Ubuntu VM comes with OpenSSL.


Create Skeleton UI

Closes #82 #83 #84

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

Coverage data is based on head (d9aa5fe) compared to base (2f695cc).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##             master      #92   +/-   ##
=========================================
  Coverage     70.21%   70.21%
  Complexity      402      402
=========================================
  Files            74       74
  Lines          1286     1286
  Branches        131      131
=========================================
  Hits            903      903
  Misses          351      351
  Partials         32       32

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.


ArimaCoefficients need refactoring and public access

The ArimaCoefficients is a simple structure containing arrays of doubles representing the AR and MA parameters in addition to the mean/drift terms.
There are a few issues. One is that we need to differentiate between a coefficient that is fixed and known, and therefore has no standard error, and a coefficient that either has been or is in the process of being estimated, and therefore should have an associated uncertainty measure.
Another issue is that the only way to obtain information about standard errors of the coefficients in the Arima class is by getting a flat array. Knowing which coefficient corresponds to which standard error in the array is then a matter of guesswork.
Finally, the coefficients in the Arima class are not public, which has been a problem for many users.
To fix these issues, the following tasks should be completed:

Make coefficient objects public, so they can be accessed from the Arima class.
Create a coefficient object hierarchy to represent model coefficients.
The hierarchy should allow us to differentiate between fixed and estimated standard errors.

It's possible that changes should be made to the Arima class itself. For example, an ARIMA model whose coefficients are fixed is different from an ARIMA model whose coefficients are estimated through an optimization routine, but it is unclear whether that difference needs to be explicitly represented in the code structure.

Hello,
Thanks for your library, it is very helpful since it is quite rare in Java.
Could you do the same for ArimaOrder ?
I use your library in Clojure and it is "harder" to keep track of orders we use (we must carry over a map accross functions especially for auto-selected coefficients). It would be nice to have a getter from ArimaOrder like asHashMap, asArray or to make p(), d(), q(), P(), D(), Q() getters public.
Thanks

Hello,
Is this feature yet to be implemented because I see that the get coefficients methods still have default access modifiers as opposed to being public. The coefficients() returns the information about all coefficients as string but I'm looking for more like a get method for each coefficient type.
Thanks in advance.


Add Synology Photos

Application is free, and has no paid subscription.
People when choosing NAS are actually considering DIY build with Photoprism as an alternative to Synology Photos.
I think comparison of features and limitations of Synology Photos with competitors would be very useful.

Is it open source?

No. Synology Photos is a native, built-in application available only to Synology NAS.
My point is that Google Photos and Synology Photos are where people start from and if something doesn't suit them they look for open-source alternatives. This list here is great for choosing an alternative, but what it's missing is a comparison against the 'benchmark' software such as Synology Photos or Google Photos.
It's a nice comparison, but it doesn't answer the main question: what will I loose if move off Google Photos/Synology Photos to any of these?

I see your point, but the goal of this project is to compare open source projects. If we add google photos, then what else do we add? iCloud Photos, Samsung photos, synology photos, Flickr,slide box, Microsoft photos, Amazon photos, etc.


Do we need public API for Node?

Hi @julienschmidt,
While working on Telegram/Slack/Messenger Bot, I was in need something similar to HTTP Router but for routing messages in order to eliminate creating huge state machine. httprouter was perfect match for this use case and changed some parts of it. This could be used not only for bots but for other things where routing is needed.
package main

import (
    "fmt"
    "github.com/iahmedov/httprouter"
)

type ConsoleHandle = func(httprouter.Params)

func ConsoleIndex(_ httprouter.Params) {
    fmt.Printf("Welcome!\n")
}

func ConsoleHello(ps httprouter.Params) {
    fmt.Printf("hello, %s!\n", ps.ByName("name"))
}

func main() {
    tree := httprouter.NewTree()
    tree.AddRoute("/", ConsoleIndex)
    tree.AddRoute("/hello/:name", ConsoleHello)

    route1 := "/"
    handle1, params1, _ := tree.GetValue(route1)
    if handle1 != nil {
        handle1.(ConsoleHandle)(params1)
    }

    route2 := "/hello/router"
    handle2, params2, _ := tree.GetValue(route2)
    if handle2 != nil {
        handle2.(ConsoleHandle)(params2)
    }
}

Benchmark comparison shows slightly degraded performance in ns/operations.  If yes, I can open pull request.

@julienschmidt, what are your thoughts on this? I think I'll be using @iahmedov's branch too, for custom routing scenarios. It'd be cool if this got into master.


feat: storybook release github workflow

Feature - Storybook - Build Docs on GitHub Release

Motivation and Context

The Storybook documentation should be aligned to last library release
Ref: https://basecamp.com/2945598/projects/17367808/messages/94175665
Priority

[ ] 1 - Highest
[ ] 2 - High
[ ] 3 - Medium
[X] 4 - Low
[ ] 5 - Lowest
[ ] 6 - Not a Priority

Types of changes

[ ] Bugfix (non-breaking change which fixes an issue)
[X] Feature (non-breaking change which adds functionality)
[ ] Component (add a Component as approved dy Design System)
[X] Docs (add documentation)
[ ] Chore (changes that adds small enhancement)
[ ] Breaking (fix or feature that would cause existing functionality to not work as expected)

Abstract and Screenshots

None
Note

This PR add a new library to handle github release: release-it

We should add a note to the in the "Release" section of the README where we remind to manually create the GH release in order to update the Storybook.

Added reminder with commit 4cfadd5


find in files does not search files until they have been brought to the front

Issue Type: Bug
Start VS Code with a set of files opened automatically because you are set to open files from the previous session. These files appear in the OPEN EDITORS list on the right. In my case I have about 20 files listed.
shift-control-f to go to the search in files prompt
search for a word that is in several of your files
result: it only finds matches in the file that is frontmost for editing
then use the any mechanism to bring each of the windows to the front in turn (e.g., click each window name one by one in the OPEN EDITORS list)
shift-control-f to go to the search in files prompt
search for the same word again
this time you get results in all of the OPEN EDITORS files that contain the word
VS Code version: Code 1.31.1 (1b8e8302e405050205e69b59abb3559592bb9e60, 2019-02-12T02:20:54.427Z)
OS version: Windows_NT x64 10.0.16299

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz (8 x 2712)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwarerasterization: enabledsurface_synchronization: enabled_onvideo_decode: enabledwebgl: enabledwebgl2: enabled

Memory (System)
15.90GB (11.56GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (5)

Extension
Author (truncated)
Version

binary-viewer
mom
0.0.1

python
ms-
2019.1.0

cpptools
ms-
0.21.0

vscode-docker
Pet
0.5.2

vscode-hexdump
sle
1.7.2

large to send. Please paste.

https://github.com/Microsoft/vscode/issues/62488


Add postprocess_to_dict hook for to_dict method in structs

This PR adds __postprocess_to_dict__ hook to the structs.
This hook is invoked by the to_dict method on the dict obtained from parsing a struct. It will allows users to customize the final dict generated by the to_dict method for each struct.
class A(Struct):
    replace_me: str
    data: int = 0
    def __postprocess_to_dict__(self, obj_dict):
        obj_dict['replace_me'] = 'replace_me'
        obj_dict['postprocess_invoked'] = True
        return obj_dict

a = A(replace_me='Dummy', data=1)
a.to_dict() == {'replace_me': 'replace_me', 'data': 1, 'postprocess_invoked': True}

Note that the function was removed in https://github.com/Point72/csp/pull/258 as no internal csp code called it and it was meant to be an internal function.
However, an external user reported that this broke their pipeline, so we're adding it back in.


ci: Add Maximise GH runner space

@orfeas-k can we add a link in the description to the issue that we had for switching to this action? Looks good otherwise


Add killing of enemy

Add function isKilled() that check if inside tank on gamefield is projectile and return true if yes.
As result:

Player can lose if it is hit
Enemy is deleting from arrai if is hit.

Also I add enemyCounter, and game will continue until the player kills all the enemies and the counter = 0.

Add tests


Build for 2.13.0-M2

Hi all,
Any chance for we can get a build for Scala 2.13.0-M2?
Thank you.

This will depend on Cats, but once that's available I'm more than happy to move forward with 2.13 here.

I guess it's a good idea to change subject just to 2.13

is this now blocked only by https://github.com/typelevel/jawn/pull/138 ?

oh, https://repo1.maven.org/maven2/io/circe/circe-core_2.13.0-M5/0.11.0/
I guess this ticket can be closed

ping on closing the ticket


Update docs with note about Immutable state testing.

React Boilerplate
Thank you for contributing! Please take a moment to review our contributing guidelines
to make the process easy and effective for everyone involved.
Please open an issue before embarking on any significant pull request, especially those that
add a new library or change existing tests, otherwise you risk spending a lot of time working
on something that might not end up being merged into the project.
Before opening a pull request, please ensure:

[x] You have followed our contributing guidelines
[x] double-check your branch is based on dev and targets dev
[x] Pull request has tests (we are going for 100% coverage!)
[x] Code is well-commented, linted and follows project conventions
[x] Documentation is updated (if necessary)
[x] Internal code generators and templates are updated (if necessary)
[x] Description explains the issue/use-case resolved and auto-closes related issues

Be kind to code reviewers, please try to keep pull requests as small and focused as possible :)
IMPORTANT: By submitting a patch, you agree to allow the project
owners to license your work under the terms of the MIT License.

Coverage remained the same at 98.77% when pulling 947e1604665842f42af7bbcd2eea47ea85123d91 on ksummerlin:patch-1 into a0e32572ef3708ce6fdf4854a27f1a563f214db9 on mxstbr:master.

double-check your branch is based on dev and targets dev

Closing this PR as it is quite old now and is against the master branch. If you still want to add this, please create a new PR against the dev branch.


Config-UI: When triggering collection, we need to show failures

Description
When I trigger collection...

And it fails...

The UI should notify the user of the failure and attempt to help them fix it.
Describe the solution you'd like
I want to see a toast message saying that it failed and I want to show the user the error message from the backend.

It's already fixed.


ci: Dont use azp cache in postsubmit

Signed-off-by: Ryan Northey<EMAIL_ADDRESS>Commit Message: ci: Dont use azp cache in postsubmit
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Deprecated:]
[Optional API Considerations:]

sometimes the cache goes very slow - see here for example (cache is orange)

iiuc the cache is pointless in the postsubmit queue as the jobs are not expected to be repeated, and the cache is created separately for each pr/commit

sometimes the cache goes very slow - see here for example (cache is orange)

iiuc the cache is pointless in the postsubmit queue as the jobs are not expected to be repeated, and the cache is created separately for each pr/commit

No the cache is valid as long as the external dependencies are not changed. ( https://dev.azure.com/cncf/envoy/_build/results?buildId=81349&view=logs&j=8c169225-0ae8-53bd-947f-07cb81846cb5&t=b8249413-28a3-5978-1759-949e5ad2fa8c ) The 80 percentiles is where the cache need to be invalidated. The cache exists to mitigate GH transient download error, which will make CI flaky if we don't cache.

No the cache is valid as long as the external dependencies are not changed.

ok - i see - i guess it must be per-branch or something - when i tested in pr the cache was empty on first run
ill close this - apologies for noise - just trying to find whatever optis for ci that i can

@lizan heres a case of the cache going mega slow - taking > 4 mins to download ~600MB
https://dev.azure.com/cncf/envoy/_build/results?buildId=81573&view=logs&j=c7b38d03-eb42-58f3-f725-18757c1ab91e&t=64f54edd-4aee-5907-b665-0cdb73f0654b&l=126
it doesnt happen happen that often - but it can go v slow across a few jobs
fwiw
not sure it makes the case for this PR at all, if the cache is generally helpful


Error message when hosting

Hi, I use MVC Boilerplate and it works fine when running the app locally. However, when the app is hosted, I get the following error message:

Mixed Content: The page at 'https://mydomain.com/api/summary?id=...' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://mydomain.com/error/internalservererror/?500;https://mydomain.com/api/summary?id=...'.
This request has been blocked; the content must be served over HTTPS.
XHR failed loading: GET "https://mydomain.com/api/summary?id=...".

We have a valid SSL and when the location is HTTPS, the JS code makes a JQuery.ajax call with url set to /api/summary?id=.... It looks like there is a server error and the MVC boilerplate is trying to redirect to the error page but with the wrong schema. The Mixed Content error seems to be produced in the browser. Do you have any idea why this is happening? I have to try to debug why it's failing on the server but the same web api added to a regular MVC template does not produce the error. I also tried to disable all boilerplate security filters to no avail. Thanks!

The RedirectToCanonicalUrlAttribute and RequireHttpsAttribute cause redirects for SEO and security purposes. You can read comments about what they do.
Are you trying to build an API and Website in one? I wouldn't recomend that as it's difficult to separate the two e.g.

API's have different error pages. You don't want to return a web page when there is a 500 internal server error.
The RedirectToCanonicalUrlAttribute may mess things up if you require case sensitive URL's but you can use the NoLowercaseQueryStringAttribute or NoTrailingSlashAttribute to workaround some of this.

Yes we have a mixed MVC and WebAPI project. Do we need to host two separate apps if we separate them? Do you know if mixed MVC and WebAPI scenario works any better in ASP.NET Core?

I asked this very question on StackOverflow 'Using Web API inside a ASP.NET 5 MVC 6 Application'. I tried a few ways and it is not that easy to separate. I already mentioned two of the problems above a few other problems might be:

Setting up Swagger (Called Ahoy for ASP.NET Core).
You might want different formatters.
You might want different filters.

One way I did not try that RC2 makes possible is including two Startup classes and starting both in one project.

There is a basic API project template that has not been released yet in the Boilerplate solution. It is still based on Beta 8. Need to update it and get it released.

Thanks for your hints @RehanSaeed. I also asked my host, AppHarbor, about this and it looks like the way some URLs are resolved in the MVC Boilerplate does not play well with their nginx load balancer. The load balancer is listening on port 80 and 443, but backend workers are using different ports than that. So when generating URLs in the app we should change them back to public ports 80 or 443 depending on the current HTTP Schema. The code in the boilerplate that is generating URL might be in the boilerplate's nuget package and I'm not sure where this is happening. I'll update here if I could figure it out.

I think this issue #69 is related I had to disable call to (RedirectToCanonicalUrlAttribute)[https://github.com/RehanSaeed/ASP.NET-MVC-Boilerplate/blob/2689c79b546f5d91f26bab40a827fa34d2761234/Source/MVC5/Boilerplate.Web.Mvc5.Sample/App_Start/FilterConfig.cs#L24] to get this working.

I followed up with AppHarbor and they pointed me to this OWIN middleware that can be used to rewrite the request context at an earlier stage than the filter configuration is executed.
Also they said it would be great if MVC Boilerplate could support the X-Forwarded-Proto header out of the box as it is also pretty standard.

Redirecting from HTTP to HTTPS does not work in RC1 when you do not use the default port 80 to 443. This is a problem with Microsoft's code. RC 2 added a way to redirect to HTTPS with a custom port that you can specify. Is this the problem you are having? I'm a bit unclear about what I need to do to get this issue cleared.


[libdatachannel] build failure

Operating system
Windows
Compiler
MSVC
Steps to reproduce the behavior
Build a project using static CRT linkage (VCPKG_TARGET_TRIPLET=x64-windows-static) that depends on libdatachannel. The project generates fine. However, trying to link an executable within the generated workspace fails with errors within libdatachannel. It is configured to use the DLL version of its dependency libjuice, but vcpkg builds the static version of that library as instructed.
Failure logs
4>datachannel-static.lib(icetransport.cpp.obj) : error LNK2019: unresolved external symbol __imp_juice_create referenced in function "public: __cdecl rtc::impl::IceTransport::IceTransport(struct rtc::Configuration const &,class std::function<void __cdecl(class rtc::Candidate const &)>,class std::function<void __cdecl(enum rtc::impl::Transport::State)>,class std::function<void __cdecl(enum rtc::impl::IceTransport::GatheringState)>)" (??0IceTransport@impl@rtc@@QEAA@AEBUConfiguration@2@V?$function@$$A6AXAEBVCandidate@rtc@@@Z@std@@V?$function@$$A6AXW4State@Transport@impl@rtc@@@Z@5@V?$function@$$A6AXW4GatheringState@IceTransport@impl@rtc@@@Z@5@@Z)
4>datachannel-static.lib(icetransport.cpp.obj) : error LNK2019: unresolved external symbol __imp_juice_destroy referenced in function "public: __cdecl rtc::impl::IceTransport::IceTransport(struct rtc::Configuration const &,class std::function<void __cdecl(class rtc::Candidate const &)>,class std::function<void __cdecl(enum rtc::impl::Transport::State)>,class std::function<void __cdecl(enum rtc::impl::IceTransport::GatheringState)>)" (??0IceTransport@impl@rtc@@QEAA@AEBUConfiguration@2@V?$function@$$A6AXAEBVCandidate@rtc@@@Z@std@@V?$function@$$A6AXW4State@Transport@impl@rtc@@@Z@5@V?$function@$$A6AXW4GatheringState@IceTransport@impl@rtc@@@Z@5@@Z)
4>datachannel-static.lib(icetransport.cpp.obj) : error LNK2019: unresolved external symbol __imp_juice_gather_candidates referenced in function "public: void __cdecl rtc::impl::IceTransport::gatherLocalCandidates(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::vector<struct rtc::IceServer,class std::allocator<struct rtc::IceServer> >)" (?gatherLocalCandidates@IceTransport@impl@rtc@@QEAAXV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$vector@UIceServer@rtc@@V?$allocator@UIceServer@rtc@@@std@@@5@@Z)
4>datachannel-static.lib(icetransport.cpp.obj) : error LNK2019: unresolved external symbol __imp_juice_get_local_description referenced in function "public: class rtc::Description __cdecl rtc::impl::IceTransport::getLocalDescription(enum rtc::Description::Type)const " (?getLocalDescription@IceTransport@impl@rtc@@QEBA?AVDescription@3@W4Type@43@@Z)
4>datachannel-static.lib(icetransport.cpp.obj) : error LNK2019: unresolved external symbol __imp_juice_set_remote_description referenced in function "public: void __cdecl rtc::impl::IceTransport::setRemoteDescription(class rtc::Description const &)" (?setRemoteDescription@IceTransport@impl@rtc@@QEAAXAEBVDescription@3@@Z)
4>datachannel-static.lib(icetransport.cpp.obj) : error LNK2019: unresolved external symbol __imp_juice_add_remote_candidate referenced in function "public: bool __cdecl rtc::impl::IceTransport::addRemoteCandidate(class rtc::Candidate const &)" (?addRemoteCandidate@IceTransport@impl@rtc@@QEAA_NAEBVCandidate@3@@Z)
4>datachannel-static.lib(icetransport.cpp.obj) : error LNK2019: unresolved external symbol __imp_juice_add_turn_server referenced in function "private: void __cdecl rtc::impl::IceTransport::addIceServer(struct rtc::IceServer)" (?addIceServer@IceTransport@impl@rtc@@AEAAXUIceServer@3@@Z)
4>datachannel-static.lib(icetransport.cpp.obj) : error LNK2019: unresolved external symbol __imp_juice_send_diffserv referenced in function "private: virtual bool __cdecl rtc::impl::IceTransport::outgoing(class std::shared_ptr<struct rtc::Message>)" (?outgoing@IceTransport@impl@rtc@@EEAA_NV?$shared_ptr@UMessage@rtc@@@std@@@Z)
4>datachannel-static.lib(icetransport.cpp.obj) : error LNK2019: unresolved external symbol __imp_juice_get_selected_candidates referenced in function "public: bool __cdecl rtc::impl::IceTransport::getSelectedCandidatePair(class rtc::Candidate *,class rtc::Candidate *)" (?getSelectedCandidatePair@IceTransport@impl@rtc@@QEAA_NPEAVCandidate@3@0@Z)
4>datachannel-static.lib(icetransport.cpp.obj) : error LNK2019: unresolved external symbol __imp_juice_get_selected_addresses referenced in function "public: class std::optional<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > __cdecl rtc::impl::IceTransport::getLocalAddress(void)const " (?getLocalAddress@IceTransport@impl@rtc@@QEBA?AV?$optional@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@XZ)
4>datachannel-static.lib(icetransport.cpp.obj) : error LNK2019: unresolved external symbol __imp_juice_set_log_level referenced in function "public: __cdecl rtc::impl::IceTransport::IceTransport(struct rtc::Configuration const &,class std::function<void __cdecl(class rtc::Candidate const &)>,class std::function<void __cdecl(enum rtc::impl::Transport::State)>,class std::function<void __cdecl(enum rtc::impl::IceTransport::GatheringState)>)" (??0IceTransport@impl@rtc@@QEAA@AEBUConfiguration@2@V?$function@$$A6AXAEBVCandidate@rtc@@@Z@std@@V?$function@$$A6AXW4State@Transport@impl@rtc@@@Z@5@V?$function@$$A6AXW4GatheringState@IceTransport@impl@rtc@@@Z@5@@Z)
4>datachannel-static.lib(icetransport.cpp.obj) : error LNK2019: unresolved external symbol __imp_juice_set_log_handler referenced in function "public: __cdecl rtc::impl::IceTransport::IceTransport(struct rtc::Configuration const &,class std::function<void __cdecl(class rtc::Candidate const &)>,class std::function<void __cdecl(enum rtc::impl::Transport::State)>,class std::function<void __cdecl(enum rtc::impl::IceTransport::GatheringState)>)" (??0IceTransport@impl@rtc@@QEAA@AEBUConfiguration@2@V?$function@$$A6AXAEBVCandidate@rtc@@@Z@std@@V?$function@$$A6AXW4State@Transport@impl@rtc@@@Z@5@V?$function@$$A6AXW4GatheringState@IceTransport@impl@rtc@@@Z@5@@Z)

Additional context
The problem lies within the following construct within libdatachannel's CMakeLists.txt (lines 418-430):
	if(USE_SYSTEM_JUICE)
		find_package(LibJuice REQUIRED)
		target_compile_definitions(datachannel PRIVATE RTC_SYSTEM_JUICE=1)
		target_compile_definitions(datachannel-static PRIVATE RTC_SYSTEM_JUICE=1)
		target_link_libraries(datachannel PRIVATE LibJuice::LibJuice)
		target_link_libraries(datachannel-static PRIVATE LibJuice::LibJuice)
	else()
		add_subdirectory(deps/libjuice EXCLUDE_FROM_ALL)
		target_compile_definitions(datachannel PRIVATE RTC_SYSTEM_JUICE=0)
		target_compile_definitions(datachannel-static PRIVATE RTC_SYSTEM_JUICE=0)
		target_link_libraries(datachannel PRIVATE LibJuice::LibJuiceStatic)
		target_link_libraries(datachannel-static PRIVATE LibJuice::LibJuiceStatic)
	endif()

vcpkg uses the system version of the above code due to -DPREFER_SYSTEM_LIB=ON in the portfile. However, the above code instructs the generator to always use a libjuice shared library as a dependency of libdatachannel. According to the author this is actually intended. However, in the build model within the vcpkg port the external library flavor depends on the linkage for the project. Therefore the above should be modified with a patch within the port to discriminate the dependency:
	if(USE_SYSTEM_JUICE)
		find_package(LibJuice REQUIRED)
		target_compile_definitions(datachannel PRIVATE RTC_SYSTEM_JUICE=1)
		target_compile_definitions(datachannel-static PRIVATE RTC_SYSTEM_JUICE=1)
		target_link_libraries(datachannel PRIVATE LibJuice::LibJuice)
		target_link_libraries(datachannel-static PRIVATE LibJuice::LibJuiceStatic)
	else()
		add_subdirectory(deps/libjuice EXCLUDE_FROM_ALL)
		target_compile_definitions(datachannel PRIVATE RTC_SYSTEM_JUICE=0)
		target_compile_definitions(datachannel-static PRIVATE RTC_SYSTEM_JUICE=0)
		target_link_libraries(datachannel PRIVATE LibJuice::LibJuiceStatic)
		target_link_libraries(datachannel-static PRIVATE LibJuice::LibJuiceStatic)
	endif()

The else clause is irrelevant and doesn't need to be patched. Only the last line in the if clause above needs to be patched.

You are suggesting
-		target_link_libraries(datachannel-static PRIVATE LibJuice::LibJuice)
+		target_link_libraries(datachannel-static PRIVATE LibJuice::LibJuiceStatic)

but even the static triplets build provide LibJuice::LibJuice.
If I look into the installed juice.h, I would guess that the problem is that it would need a JUICE_STATIC definition for static usage, or a simple fixup in the portfile which removes the need for the definition.

I suggested what seemed like the most simple and logical change to make. I'm not opposed to a different solution as long as my project builds and works.

Any update here? Nothing seems to have been fixed one way or another...

@dg0yt  Please help take a look at #111 to see if there is a better solution. Thanks🌼

Thanks @MonicaLiu0311. The idea was a little different. I will take a look.

My proposal: #40335.
Which really removes the needed for using JUICE_STATIC downstream.

And #40337 provides a similar update+cleanup+fixup to libdatachannel.


steamtinkerlaunch: doesn't do anything

Describe the bug
A clear and concise description of what the bug is.
Steam Tinker Launch doesn't do anything. A game started with it just closes again without ever showing any sign of life.
I tried Planetside 2 and TrackMania Nations Forever.
Steps To Reproduce
Steps to reproduce the behavior:

ln -sfn /run/current-system/sw/bin/steamtinkerlaunch /Volumes/Games/Steam/compatibilitytools.d/SteamTinkerLaunch/steamtinkerlaunch (because regular install installs the unwrapped version which obviously doesn't work)
Select Steam Tinker Launch as compat tool for Steam game
Run Steam game

Expected behavior
A clear and concise description of what you expected to happen.
I should at least see the GUI.
Additional context
Add any other context about the problem here.
steamtinkerlaunch.log
Notify maintainers

@urandom2
Metadata
a518c77148585023ff56022f09c4b2c418a51ef5

having not tested these specific games, I cannot be sure if this is an issue with how steamtinkerlaunch is packages, nixos, or upstream; can you provide any more detail about what is failing?

I wish I could but how? The logs don't tell me anything, there's nothing being logged to stdout and running it with -x shows it trying to run the game but it doesn't work? It's completely intransparent to me.
Which games have you tested to be working?

it would be useful to note if there is anything that you know works with the upstream script directly, that fails with this derivation, controlling for operating system differences where possible. failing that, let us know if you can get anything running as expected; otherwise, we may just need to mark this one as broken, until somebody with more steam/wine experience can assist.
this derivation is basically just a bash script, so the packaging effort was largely a matter of checking to see if we were wrapping all the dependencies; as a non-gamer myself, I was unable to test this against anything specific, as documented in #200157.

I don't see anything documented in #200157. Which games did you test to be working?

[ ] Tested basic functionality of all binary files (usually in ./result/bin/)

I am referring to the link duplicated above; I do not use steamtinkerlaunch personally, I was just attempting to package the script, thus was unable to test it against any games.

I just tried using steamtinkerlaunch for the first time and, I'll have to admit, the process was a bit confusing. Out of the box I ran into the same issue you had. I setup the compatibility tool using steamtinkerlaunch compat add, but I believe your method of linking to current-system is more correct and should work.
I configured my game to use Steam Tinker Launch as the Steam Play compatibility tool and it would exit almost immediately. I ran Steam from the terminal to watch the logs and it seems that Steam Tinker Launch is doing something weird with how it is looking for programs it depends on. It claimed to not have things like xdotool available and that was causing an early exit. I updated the global config ~/.config/steamtinkerlaunch/global.conf with the following:
## Skip dependency check for internally used programs
-SKIPINTDEPCHECK="0"
---
## Skip dependency check for internally used programs
+SKIPINTDEPCHECK="1"

That finally allowed the program to launch. The game would open and work fine, but with only this change Vortex failed to install and start. It turns out that a similar issue is stopping steamtinkerlaunch from finding Yad. I killed Steam and opened a new shell with nix shell nixpkgs#yad, then launched Steam from within this environment. After that everything worked great and I was able to successfully mod and play a game (Project Wingman).
I'm not quite sure why it's having issues finding certain programs.

@jakehamilton those things are in our wrapper which was what I symlinked.

if there are binary dependencies that we missed during packaging, I would be happy to add those, see here. that said, we do already have xdotool included in that set, so I wager something us up with this dependency check. let me review the source to make sure there is nothing trivial we overlooked.

@jakehamilton those things are in our wrapper which was what I symlinked.

that said, there may be some system level things that cannot be done as part of the derivation, and that would be the point at which we need to build a nixos module. assuming the symlink is the only way to solve this, there is no way for create it as part of a derivation in  /Volumes/Games/Steam/compatibilitytools.d/SteamTinkerLaunch/steamtinkerlaunch, but nixos modules can; similar to the difference between packaging wordpress and standing up a wordpress webserver.

I've been having this issue as well. Some games, like The Outer Worlds, have poor ultrawide support, but there usually exist community made fixes for this. For The Outer Worlds there is a small program that you can run alongside the main game that fixes the aspect ratio while the game is running.
I was trying to use steamtinkerlaunch to get the game to run alongside it, as there is an option to fork a custom command inside the proton prefix upon game launch. I used the workaround by @jakehamilton to get the the steamtinkerlaunch window to pop up, but it fails to create the custom process upon launch.
/home/romatthe/.local/share/Steam/compatibilitytools.d/SteamTinkerLaunch/steamtinkerlaunch: line 6814: xdotool: command not found

That seems to be a very innocent line of code, but clearly it's failing to launch xdotool there.
I know VERY little about this subject unfortunately, but I do know that the new Steam Linux runtime does automatically run inside a bubblewrap container when launched, including those that run on top of Wine/Proton. Is there a possibility that because of the way NixOS differs in terms FHS that some paths aren't correctly mounted inside the bubblewrap environment? I've had a similar issue with NixOS and the inability to run gamescope as a launch option from Steam, because the gamescope cannot be found during execution.
I'm more than happy to provide additional logging for this, but it's not super easy. But the logs kept in the steamtinkerlaunch config directory are a little odd. Anything specific I could look for here?

@romatthe, as mentioned previously, you need to symlink the wrapper (not the -wrapped script) because it provides all the dependencies required by stl.
I don't think it's an fhsenv issue. The gamescope issue is something else entirely.
Logs are also in /dev/shm/steamtinkerlaunch.
@jakehamilton I was not able to get any window to show up whatsoever. How did you configure the game and stl? Is it a native or Proton game? I'm trying to run Proton games by setting stl as the compat tool. No configuration done; everything default.

@Atemu
I'd just typed out a lengthy reply and then went and looked at the link that STL made when I ran steamtinkerlaunch compat add and wouldn't you know it, it was:
steamtinkerlaunch -> /nix/store/din63apil6gz78zcfk7icd1kakqp9jj9-steamtinkerlaunch-11.11/bin/.steamtinkerlaunch-wrapped

This would explain why dependencies weren't found, the wrapper wasn't being used. I haven't tested (since all my game mods are just the way I like them at the moment and don't want them being blown away), but I'd wager that this fixes the problem. I went one step farther and linked the file from current-system:
steamtinkerlaunch -> /run/current-system/sw/bin/steamtinkerlaunch

For setting things up, I took some notes and have pasted them here: https://gist.github.com/jakehamilton/632edeb9d170a2aedc9984a0363523d3
I recommend running Steam from the terminal and checking the logs there. That is how I noticed that I needed to set SKIPINTDEPCHECK in the global config for STL (the errors only appeared when run under Steam).

I'm having the same issue, I just can't get it working, if you could message here when this gets fixed in nixpkgs, that way this workaround does not have to be done, thanks.

Tagging @sonic2kk as I'm at my wits end here.
(You can ignore the discussion in between, it's mostly a duplicate of https://github.com/NixOS/nixpkgs/issues/295902. Important facts are in the main post and that it works for @jakehamilton but not for me.)
Repro:
ln -sfn /run/current-system/sw/bin/steamtinkerlaunch ~/.steam/steam/compatibilitytools.d/SteamTinkerLaunch/steamtinkerlaunch
rm -r ~/.config/steamtinkerlaunch/ /dev/shm/steamtinkerlaunch/

Then start steam, select STL as the compat tool for a game (I used Just act Natural as it's small and F2P) and launch.
Then observe: Nothing. No window, no actual error message; nothing.
Steam logs show a bunch of ERROR: ld.so: object '/Volumes/Games/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. and pid 1847965 != 1847800, skipping destruction (fork without exec?) but that's just noise.
Logfile doesn't show any obvious errors to my eye:
Thu Mar 14 15:56:33 CET 2024 INFO - setflatpak - started SteamTinkerLaunch from /nix/store/2zm995ah0qa55pydjn7ai3bcgci19aia-steamtinkerlaunch-12.12/bin/.steamtinkerlaunch-wrapped
Thu Mar 14 15:56:33 CET 2024 INFO - initAID - Set AID from STEAM_COMPAT_APP_ID to '1485080'
Thu Mar 14 15:56:33 CET 2024 INFO - initAID - Set OSCDP to STEAM_COMPAT_DATA_PATH '/Volumes/Games/Steam/steamapps/compatdata/1485080'
Thu Mar 14 15:56:33 CET 2024 INFO - loadLanguage - First load the default language 'english' to make sure all variables are filled
Thu Mar 14 15:56:33 CET 2024 INFO - loadLangFile - Language from command line is 'english'
Thu Mar 14 15:56:33 CET 2024 INFO - loadLangFile - SYSTEMSTLCFGDIR is '/nix/store/2zm995ah0qa55pydjn7ai3bcgci19aia-steamtinkerlaunch-12.12/share/steamtinkerlaunch'
Thu Mar 14 15:56:33 CET 2024 INFO - loadLangFile - Command line language 'english' is no file - trying to find its absolute path
Thu Mar 14 15:56:33 CET 2024 INFO - loadLangFile - Loading found system wide /nix/store/2zm995ah0qa55pydjn7ai3bcgci19aia-steamtinkerlaunch-12.12/share/steamtinkerlaunch/lang//english.txt
Thu Mar 14 15:56:33 CET 2024 WARN - updateEditor - 'xdg-open' selected as editor or configured editor not found - trying to find an installed editor installed
Thu Mar 14 15:56:34 CET 2024 INFO - updateEditor - No valid editor found - will fall back to 'xdg-open'.
Thu Mar 14 15:56:34 CET 2024 INFO - loadLanguage - Loading STLLANG from '/Users/atemu/.config/steamtinkerlaunch/global.conf'
Thu Mar 14 15:56:34 CET 2024 INFO - loadLanguage - STLLANG from '/Users/atemu/.config/steamtinkerlaunch/global.conf' is 'english'
Thu Mar 14 15:56:35 CET 2024 INFO - setLocalInstall - Looks like we don't have a local non-root install
Thu Mar 14 15:56:35 CET 2024 INFO - updateConfigEntry - Option 'GLOBALCOLLECTIONDIR' is updated with the new value '/nix/store/2zm995ah0qa55pydjn7ai3bcgci19aia-steamtinkerlaunch-12.12/share/steamtinkerlaunch/collections' in config 'global.conf'
Thu Mar 14 15:56:35 CET 2024 INFO - getCurrentCommandline - No Proton in command line arguments 'waitforexitandrun /Volumes/Games/Just Act Natural/JustActNatural.exe'
Thu Mar 14 15:56:35 CET 2024 INFO - saveOrgVars - Storing some original variables to restore them later
Thu Mar 14 03:56:35 PM CET 2024 INFO - emptyVars - Emptied some original variables as they slowdown several system calls when started from steam
Thu Mar 14 03:56:35 PM CET 2024 INFO - emptyVars - Set $PATH to '/nix/store/4vzal97iq3dmrgycj8r0gflrh51p8w1s-bash-5.2p26/bin:/nix/store/sgpv5hm93gzkcm4s536nmkpag3q5d22s-gawk-5.2.2/bin:/nix/store/fmx804pc0bs1966xq5bb67kark2mww9r-git-2.43.2/bin:/nix/store/320v66ili0mwnyrxj3dwbxm0z8ndkbw7-gnugrep-3.11/bin:/nix/store/k4kwrfs8b5hqys2c2cl9hb7sjswgni94-xxd-vim-9.1.0075/bin:/nix/store/zd0lbbpbh0yapf4ilc7hzdvx87gl746r-unzip-6.0/bin:/nix/store/qn68gcsd7i5ck0vgfggj6bqfaaarjv0z-wget-1.21.4/bin:/nix/store/4p88p0yr14kspc21pcf0lf353vn842sc-xdotool-3.20211022.1/bin:/nix/store/ws69vs7mf68ym7k691l8kj8b9sbfh0fc-xprop-1.2.7/bin:/nix/store/kydr1p8ipa3020ns4x26bvcpff6a582p-xrandr-1.5.2/bin:/nix/store/rvp5wg10bc81nrz0j0l2x5p8bm4sw1f7-xwininfo-1.1.6/bin:/nix/store/00klgpb5vvsvgdvcymayffr13m68v73b-yad-13.0/bin:/run/wrappers/bin:/usr/bin:/usr/sbin:/Users/atemu/.local/bin/:/Users/atemu/.local/bin/:/run/wrappers/bin:/Users/atemu/.nix-profile/bin:/nix/profile/bin:/Users/atemu/.local/state/nix/profile/bin:/etc/profiles/per-user/atemu/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:'
Thu Mar 14 03:56:35 PM CET 2024 START - ######### Initializing Game Launch 1485080 using SteamTinkerLaunch v12.12 #########
Thu Mar 14 03:56:35 PM CET 2024 INFO - main - Starting with a clean log
Thu Mar 14 03:56:35 PM CET 2024 INFO - main - Start creating default configs
Thu Mar 14 03:56:35 PM CET 2024 INFO - createDefaultCfgs - START
Thu Mar 14 03:56:35 PM CET 2024 INFO - loadLanguage - First load the default language 'english' to make sure all variables are filled
Thu Mar 14 03:56:35 PM CET 2024 INFO - loadLangFile - Language from command line is 'english'
Thu Mar 14 03:56:35 PM CET 2024 INFO - loadLangFile - GLOBALSTLLANGDIR is '/nix/store/2zm995ah0qa55pydjn7ai3bcgci19aia-steamtinkerlaunch-12.12/share/steamtinkerlaunch/lang'
Thu Mar 14 03:56:35 PM CET 2024 INFO - loadLangFile - Command line language 'english' is no file - trying to find its absolute path
Thu Mar 14 03:56:35 PM CET 2024 INFO - loadLangFile - Loading found system wide /nix/store/2zm995ah0qa55pydjn7ai3bcgci19aia-steamtinkerlaunch-12.12/share/steamtinkerlaunch/lang/english.txt
Thu Mar 14 03:56:35 PM CET 2024 WARN - updateEditor - 'xdg-open' selected as editor or configured editor not found - trying to find an installed editor installed
Thu Mar 14 03:56:35 PM CET 2024 INFO - updateEditor - No valid editor found - will fall back to 'xdg-open'.
Thu Mar 14 03:56:35 PM CET 2024 INFO - loadLanguage - Loading STLLANG from '/Users/atemu/.config/steamtinkerlaunch/global.conf'
Thu Mar 14 03:56:35 PM CET 2024 INFO - loadLanguage - STLLANG from '/Users/atemu/.config/steamtinkerlaunch/global.conf' is 'english'
Thu Mar 14 03:56:35 PM CET 2024 INFO - createDefaultCfgs - setSteamPaths:
Thu Mar 14 03:56:35 PM CET 2024 INFO - setSteamPaths - Reading Steam Path variables from '/dev/shm/steamtinkerlaunch/steampaths.txt'
Thu Mar 14 03:56:35 PM CET 2024 WARN - updateEditor - 'xdg-open' selected as editor or configured editor not found - trying to find an installed editor installed
Thu Mar 14 03:56:35 PM CET 2024 INFO - updateEditor - No valid editor found - will fall back to 'xdg-open'.
Thu Mar 14 03:56:36 PM CET 2024 INFO - getGameOS - Starting game OS detection
Thu Mar 14 03:56:36 PM CET 2024 WARN - getGameOS - Could not extract the full game binary path from the incoming game launch command, so assuming this is a Windows game!
Thu Mar 14 03:56:36 PM CET 2024 INFO - setWin - '' determined to be a Windows Game
Thu Mar 14 03:56:36 PM CET 2024 INFO - createDefaultCfgs - createProtonList:
Thu Mar 14 03:56:36 PM CET 2024 INFO - createDefaultCfgs - createProtonList end
Thu Mar 14 03:56:36 PM CET 2024 INFO - listAllSettingsEntries - '/dev/shm/steamtinkerlaunch/setentries.txt' already exists - nothing to do
Thu Mar 14 03:56:36 PM CET 2024 INFO - createDefaultCfgs - STOP
Thu Mar 14 03:56:36 PM CET 2024 SKIP - listSteamLibraries - not recreating already available '/dev/shm/steamtinkerlaunch/SteamLibraries.txt'
Thu Mar 14 03:56:36 PM CET 2024 INFO - setSteamLibraryPaths - STEAM_COMPAT_LIBRARY_PATHS set to '/Volumes/Games/Steam/steamapps'
Thu Mar 14 03:56:36 PM CET 2024 INFO - setSteamLibraryPaths - STEAM_COMPAT_MOUNTS set to ''
Thu Mar 14 03:56:36 PM CET 2024 INFO - setSteamLibraryPaths - STEAM_COMPAT_TOOL_PATHS set to ''
Thu Mar 14 03:56:36 PM CET 2024 INFO - main - Checking internal dependencies:
Thu Mar 14 03:56:36 PM CET 2024 INFO - setAwkBin - Found 'gawk' as an 'awk' variant. It should work without any issues, because 'gawk' was tested completely
Thu Mar 14 03:56:36 PM CET 2024 INFO - checkIntDeps - Result of version check for yad binary '/nix/store/00klgpb5vvsvgdvcymayffr13m68v73b-yad-13.0/bin/yad' is '13.0'
Thu Mar 14 03:56:36 PM CET 2024 INFO - main - Initializing first Proton:
Thu Mar 14 03:56:36 PM CET 2024 INFO - initOldProtonArr - Creating an initial array with available Proton versions using the file '/dev/shm/steamtinkerlaunch/ProtonCSV.txt' which was created during a previous run
Thu Mar 14 03:56:36 PM CET 2024 INFO - initFirstProton - Initializing Proton
Thu Mar 14 03:56:36 PM CET 2024 INFO - initFirstProton - No Proton version available in template yet - searching for one
Thu Mar 14 03:56:36 PM CET 2024 INFO - initFirstProton - Updated 'USEPROTON' in '/Users/atemu/.config/steamtinkerlaunch/default_template.conf' to ''
Thu Mar 14 03:56:36 PM CET 2024 INFO - initFirstProton - Initial Proton version 'FIRSTUSEPROTON' from '/Users/atemu/.config/steamtinkerlaunch/default_template.conf' is ''
Thu Mar 14 03:56:36 PM CET 2024 INFO - main - Initializing default window resolution
Thu Mar 14 03:56:36 PM CET 2024 INFO - setInitWinXY - Using '2580x1080' from config '/dev/shm/steamtinkerlaunch/defres.txt'
Thu Mar 14 03:56:36 PM CET 2024 INFO - main - Welcome to SteamTinkerLaunch
Thu Mar 14 03:56:36 PM CET 2024 INFO - removeEmptyFiles - Removing empty files from '/Users/atemu/.config/steamtinkerlaunch/games/appinfo'
Thu Mar 14 03:56:36 PM CET 2024 INFO - removeEmptyFiles - Removing empty files from '/Users/atemu/.config/steamtinkerlaunch/games/header'
Thu Mar 14 03:56:36 PM CET 2024 INFO - main - Checking command line: incoming arguments 'waitforexitandrun /Volumes/Games/Just Act Natural/JustActNatural.exe'

@sonic2kk would you prefer I open an issue in STL instead?

Sorry, I just saw this when going through my emails.
This could be because of the path of the game, it doesn't look like it contains steamapps/common but that it is a Steam game launch. Steam games launched from paths that don't contain steamapps/common are not valid, it looks like your path is waitforexitandrun /Volumes/Games/Just Act Natural/JustActNatural.exe. This came up before, see https://github.com/sonic2kk/steamtinkerlaunch/issues/1132#issuecomment-2199311096.
Non-Steam Games have separate logic, where we check if we have SteamAppId and that it is 0, which is how we can tell Non-Steam Games apart. However in this case because this is a game purchased on Steam, it has a SteamAppId of 1485080 as seen in the log.
Make sure the game you are launching is in a Steam library folder, that should hopefully resolve the issue.

Ohh, that could indeed be what's happening here; I do have my steam library symlinked to /Volumes/Games/. That has recently caused a super weird edge-case with SteamVR too, so I might look into solving this via bind-mounts instead.

And that was indeed the issue. I have redone my steam state setup and it's working as expected now.

Apologies it took so long to respond >_< But I'm glad it's working now!

No worries, you don't owe me anything.


Just one running sequence is shown in environment screen

Environment

Keptn Version (keptn version): 0.9.0

Affected Component

[x] Bridge

Describe the bug

Triggered two subsequence delivery sequences:

keptn trigger delivery --project=sockshop --service=carts --image=docker.io/keptnexamples/carts --tag=0.11.1
keptn trigger delivery --project=sockshop --service=carts --image=docker.io/keptnexamples/carts --tag=0.11.3

They are correctly shown in the sequence screen:

The first one is currently deploying in production
The second one is currently deploying in staging

However, in the environment screen just the sequence in production is indicated as running:

Besides, when clicking on the delivery sequence in staging, I get forwarded to the sequence that is already in production:

To Reproduce

Triggered two subsequence delivery sequences:

keptn trigger delivery --project=sockshop --service=carts --image=docker.io/keptnexamples/carts --tag=0.11.1
keptn trigger delivery --project=sockshop --service=carts --image=docker.io/keptnexamples/carts --tag=0.11.3

Expected behavior

In the environment screen, all running sequences are shown and when clicking on the sequence, the user gets forwarded to the most recent sequence in this stage.

The problem here is probably the following:

Sequence A started.
Sequence A is running in staging. => Timestamp for the latest sequence in staging is updated
Sequence B started waits for sequence A to finish in staging. => Timestamp for the latest sequence in staging is updated
Sequence A finished in staging. => Timestamp for the latest sequence in staging is updated
Sequence B in staging is not updated to started or finished and therefore it is not the last/current one.

Then sequence A was the last sequence that was modified in that stage, not B.

Solution: instead of determining the latest sequence by the latest sequence timestamp, the latest sequence should be determined by the latest event.


Encrypt / Decrypt PBKDF2 Password Hash

Issue
The game-server and game-client use PBKDF2 encryption however this has not been implemented for the web-server. (web-server is currently using bcrypt encryption)
Game-server / game-client implementation of PBKDF2 create a password hash with the following.

Salt
Password
Iteration Count

But the with the web-server implementation of PBKDF2 does not look the same, the function returns some kind of buffer object and not a string.
This needs to be decoded somehow on the web-server. (Please see the PBKDF2 implementations in the game-client and game-server below)
Game-Server-CSharp and Client-Godot-CSharp use the following implementation of PBKDF2 encryption. https://lockmedown.com/hash-right-implementing-pbkdf2-net/ Security code for game-server can be found here and client here
Note that game server and client don't just hash the password but the salt, the password, and the iteration count.
I found this great example of using PBKDF2 in nodejs here. Problem is this does not handle a password hash which has a salt/password/interation count in it. So the solution is to figure out how to decode the data sent from the game server in the web server into more readable separate data (e.g. salt, interation count) and to use that in the example provided above.
This is how it will work. Player creates account through web-server, password hash should be encrypted same as game server and client does it. Player logs in through game client, game server verifies with web server that this is the correct password hash.
This also means the web-server will no longer be using bcrypt.
Solution
Code a NodeJS implementation of PBKDF2 that outputs a simiarly formatted hash as the C# implementation.
Notice
If it is your first time here, and you find any of this confusing, please contact me by joining this Discord and ping my Discord username valk#9904.
Code
Code pasted here for quick reference / compare. Note that this code is copy pasted from others (I did not code these functions)
NodeJS Implementation (im unsure what this exactly returns)
/**
 * Hash a password using Node's asynchronous pbkdf2 (key derivation) function.
 *
 * Returns a self-contained buffer which can be arbitrarily encoded for storage
 * that contains all the data needed to verify a password.
 *
 * @param {!String} password
 * @param {!function(?Error, ?Buffer=)} callback
 */
function hashPassword(password, callback) {
  // generate a salt for pbkdf2
  crypto.randomBytes(config.saltBytes, function(err, salt) {
    if (err) {
      return callback(err);
    }

    crypto.pbkdf2(password, salt, config.iterations, config.hashBytes,
      function(err, hash) {

      if (err) {
        return callback(err);
      }

      var combined = new Buffer(hash.length + salt.length + 8);

      // include the size of the salt so that we can, during verification,
      // figure out how much of the hash is salt
      combined.writeUInt32BE(salt.length, 0, true);
      // similarly, include the iteration count
      combined.writeUInt32BE(config.iterations, 4, true);

      salt.copy(combined, 8);
      hash.copy(combined, salt.length + 8);
      callback(null, combined);
    });
  });
}

C# Implementation (contains salt, hash value, interation count in string)
public static string CreatePasswordHash(string password)
{
    var salt = GenerateRandomSalt();
    var iterationCount = 24000;
    var hashValue = GenerateHashValue(password, salt, iterationCount);
    var iterationCountBtyeArr = BitConverter.GetBytes(iterationCount);
    var valueToSave = new byte[SaltByteLength + DerivedKeyLength + iterationCountBtyeArr.Length];
    Buffer.BlockCopy(salt, 0, valueToSave, 0, SaltByteLength);
    Buffer.BlockCopy(hashValue, 0, valueToSave, SaltByteLength, DerivedKeyLength);
    Buffer.BlockCopy(iterationCountBtyeArr, 0, valueToSave, salt.Length + hashValue.Length, iterationCountBtyeArr.Length);
    return Convert.ToBase64String(valueToSave);
}

@valkyrienyanko In node, a buffer object is a byte array and can be converted to a string with the following method: https://nodejs.org/api/buffer.html#buffer_buf_tostring_encoding_start_end
To make the node implementation produce the same result as the c# (assuming salt length is the same) put the following at the end of the implementation
     const iterationCountBtyeArr = Buffer.from(config.iterations);
      var combined = new Buffer(hash.length + salt.length + 32);
      salt.copy(combined, 0);
      hash.copy(combined, salt.length);
      combined.writeUInt32BE(config.iterations, salt.length + hash.length, true);
      callback(null, combined);

@valkyrienyanko For verifying, you need to know how long the salt is. You could do this by first encoding an i32 for the length of the salt.

The length of the salt is known in the C# implementation. (even the password key length is known)
https://github.com/Kittens-Rise-Up/server/blob/04fa4d520072be62051d4970784b849c10bc7507/src/Server/ENetSecurity.cs#L8

@valkyrienyanko If those are both 24 bytes then it is very easy to decrypt:
function verifyPassword(password, combined, callback) {
  // extract the salt and hash from the combined buffer
  var salt = combined.slice(0, 24);
  var hash = combined.toString('binary', 24, 48);
  var iterations = combined.readInt32BE(48);

  // verify the salt and hash against the password
  crypto.pbkdf2(password, salt, iterations, 24, function(err, verify) {
    if (err) {
      return callback(err, false);
    }

    callback(null, verify.toString('binary') === hash);
  });
}

Could you create a pull request for game-server / web-server and get this working please?

The above design is bad and will be rethought with JWTs. Closing this issue and will open up a new one if I have troubles with new JWT design.


Avoid using exceptions for flow control

Exceptions should be used for exceptional circumstances
only - in this case, if resolved ref is not a valid sha1.
The most common case is that the ref we get isn't a sha1 and
needs resolving. Using a conditional here is a clearer
expression of intent.

Thanks for the merge, @betatim!


Add music tracks

This issue won't be resolved until;

[ ] There are 5 tracks for the main branch
[ ] 3 tracks exclusive for the secret branch (+5 track from main)
[ ] 1 track exclusively for the good branch  (+5 track from main)
[ ] 1 track exclusively for the bad branch (+5 track from main)

Would the tracks for each branch be played at random?

likely yes, the songs would be played at random, except for the last hardest levels where they get their own track.

@shoc71 I think this is outdated too lol

@shoc71 I think this is outdated too lol

Agreed. WAYY too outdated, but the objective for having more music in the game remains pretty much the same.


How to check if snowplow tracker has been initialized?

Hi @amolbarewar - support questions to our forum please: http://discourse.snowplowanalytics.com/


Add relevant links to 404.html

ISSUE TYPE

[ ] Typo
[ ] Bug
[x] Feature

WHERE / WHAT

Users on our 404 page don't have suggestions on what to do next. We should probably provide suggestions on where they might want to go.
EXPECTED BEHAVIOR

Users who end up on our 404 page should be given links back to our index.html and possibly be told a little more about the organization.
REPRODUCTION STEPS

visit http://www.approachable.io/404 to see current state. Would like similar functionality, but with links to suggested content.

I can do this! Is it claimed yet?

Thanks!


Replace Travis with GitHub actions.

In this small PR I have disabled Travis builds for this repository and implemented a simple GitHub action that installs dependencies and runs tests.

@dmitrykuzmin PTAL


Add prettier + configure eslint

Because of formatting churn, it's best to look at the commits after the first one rather than files changed tab.

[x] Add .prettierrc in /fly2plan-react-gui and run formatting changes.
[x] Configure eslint to work alongside prettier (👋 tabs)
[x] Add "react/react-in-jsx-scope": "off" otherwise would need to import React in lots of files. Rule not required in React >v17 https://reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html#eslint
[x] removal of unused vars
[x] add explicit Buffer package
[x] prettierignore *.min.css
[x] This PR won't include fixes for index as key warnings

How much do we care about the Do not use Array index in keys warnings? Possible solutions:

Turn off the warning
Fix it with a package like https://www.npmjs.com/package/uuid
Go through each one to see if the array contains some unique property that can be used as a key (long)

If it's one of the first two I'll do as part of this PR. I vote using a random id package


merge config updates to live

Docs Build status updates of commit 643fe4a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.publish.config.json
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

@sdwheeler This PR merged to live


ControlList.Count.Value is return incorrect number of elements found

We have found the first column list in a table by the Xpath below.
[FindByXPath("//*[@class='tbody']//*[@role='row']/div[1]")]
public ControlList<Text<_>, _> Names { get; private set; }

When I called Names.Count.Value, I expected it to be 20, but instead I received 500. Each of these contains all the webpage (HTML) text.

[Find*] attributes don't work with ControlList, they work with ItemsControl defining the container control. To specify an XPath for ControlList item, you need to use [ControlDefinition] attribute like below:
[ControlDefinition("*[@class='tbody']//*[@role='row']/div[1]")]
public ControlList<Text<_>, _> Names { get; private set; }

Please note that preceding // should not be added to XPath.

Thank you. Let me try

It worked! Thanks

You are welcome.


Typescript types are missing

...from the dist folder in the most recent release

Thanks! :)

OK should be good now: https://www.npmjs.com/package/@localfirst/auth/v/5.0.0?activeTab=code


Heart Attack Risk Prediction ML Model Deployed

Title and Issue number
Heart Attack Risk Prediction ML Model Deployed
Description
Utilizes supervised learning to predict the likelihood of a person experiencing a heart attack based on various health indicators.
Frontend:

Backend:

Close #3835

Checklist:

[x] I have mentioned the issue number in my Pull Request.
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have created a helpful and easy to understand README.md

@MohitGupta121


feat: allow bash like syntax to substitute environment variables in a…

…ny oCIS config file
Description
Allows bask like env var handling in any oCIS config file.
Motivation and Context
Originally introduces with #8777 - we wanted to have one mechanism.
How Has This Been Tested?
:robot:
Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Technical debt
[ ] Tests only (no source changes)

Checklist:

[x] Code changes
[x] Unit tests added
[ ] Acceptance tests added
[ ] Documentation ticket raised:

readfile /root/.ocis/config/ocis.yaml: invalid argument
readfile /root/.ocis/config/ocis.yaml: invalid argument
2024/04/30 08:29:38 [ociswrapper] oCIS server exited with code 1

wrong path -> close


Error: union not implemented

Hello, I try to compile the example provided in the documentation and I am getting an error.
My understanding of rust is still pretty low...
Thank you for your help!
Here is the error:
error: no method named `union` found for type `interval::IntervalSet<i32>` in the current scope
  --> src/main.rs:26:18
   |
26 |     assert_eq!(a.union(&b), a_union_b);
   |                  ^^^^^
   |
   = help: items from traits can only be used if the trait is in scope; the following trait is implemented but not in scope, perhaps add a `use` for it:
   = help: candidate #1: `use gcollections::ops::set::Union;`

Some information:
[nix-shell:~/Projects/rustbs/rustbatsim]$ rustc --version                                                                                rustc 1.16.0-nightly

My Cargo.toml's dependencies:
[dependencies]
intervallum = {git = "https://github.com/ptal/intervallum"}
gcollections = {git = "https://github.com/ptal/gcollections"}

And here is my main:
extern crate interval;
extern crate gcollections;

use gcollections::ops::*;
use interval::interval_set::*;

fn main() {
   let a: interval::IntervalSet<i32> = vec![(1,2), (6,10)].to_interval_set();
   let b = vec![(3,5), (7,7)].to_interval_set();
   let a_union_b = vec![(1,5), (6,10)].to_interval_set();
   let a_intersect_b = vec![(7,7)].to_interval_set();

   assert_eq!(a.union(&b), a_union_b);
 }

Wow, sorry I'm a bit late on this one, I was not notified of the issue...
Your code works well on the newest versions of gcollections, it was not working before because the trait Union was not imported into your project, but now it is automatically imported from gcollections::ops::*.


Boost performance by using predefined array

Issue
JSPerf shows that using .split to create the month array is 96% slower than using a predefined array of months.
https://jsperf.com/split-versus-array-for-month-names

Solution
Use predefined month array.

If you think this is useful, it'd help to change all the locale files too. But before you do that, another member (like @icambron ) should pipe up here.

Am I right in thinking these only run once though? Like, what is the scenario under which this has significant performance impact in a real application?

There are 2 benefits to using the predefined array.
The first is the performance gain as stated above. Every performance gain that can be made without an impact on code readability and with little effort should be made.
The second reason is readability. When looking over the code I see a string, not an array which is what it actually is. It's on closer inspection that I seen it's a string that is being split into an array before assignment. This is puzzling as using a predefined array would have been easier.
In summary, using a predefined array improves performance and in this case readability.

If you change this for every locale, I think this may actually show a perceptible file size increase on the min file just because there are so many locales - more quotes and commas. Given that people will bikeshed over every byte of that thing, I'd be curious to know the difference.

As @maggiepint suggests, it would be interesting to see the difference that changing the locales files make.
I believe an array needs 7 items in order to contain more characters than the current string splitting method, due to commas and quotes.
I'd recommend creating an issue to tackle the locales files as well as using a separate pr for the work. It seems like quite a substantial task due to the number of locale files.
If an issue is created for the above I'd also recommend flagging it with a Good first PR or equivalent tag.

I agree the array literal is more readable. If you want to stick with that rationale, fine with me.

Every performance gain that can be made without an impact on code readability and with little effort should be made.

It's only a performance gain if you demonstrate that it is, and I don't think you really have.


Output tab isn't switched to Result tab if select query was executed

System information:

Operating system (distribution) and version win 10 x64
DBeaver version 7.0.0 EA

Steps to reproduce, if exist:

Open output tab in SQL editor
Execute some Select query - Result tab appears but focus is still on output tab. But focus is changed in case e.g. Execution plan was opened before

It is not a bug.  Output tab behavior was changed in #7704
If you need to see data just switch to data tab.


Implement limited flag

Currently the proxy does not handle limited at all, it isn't even in the the Room struct. When we implement delta tokens, we can implement this logic as we will know which events we have sent to the client before and hence whether a response is truly limited or not.

Do we know when it will be implemented?
I created the issue for the workaround client side but it does not worth to patch the client if we can get the implementation on the backend soon.

This requires delta tokens support insofar that it requires some mechanism for the proxy to remember what timeline events it has sent the client. Currently today it does not remember the contents of the responses it sends back. This means that you see more initial room snapshots. For a simple example:

Connect to the proxy with a direct room subscription for room X.
Proxy sends initial snapshot (state events + enough timeline events to satisfy the timeline_limit, as you describe)
Wait for the connection to expire
Connect to the proxy with a direct room subscription for the same room X.
Proxy again sends initial snapshot (state events + enough timeline events to satisfy the timeline_limit, as you describe)

This can also happen in the context of a single connection:

Make a sliding window of size 1.
The first room X will send an initial snapshot.
When another room Y takes its place, room X drops off the window.
When the room X comes back into the window e.g due to a new message, an initial snapshot is sent for X again.

If the proxy remembered the last timeline event it sent to each connection for each room[^1], it could then use that event as an anchor when sending an initial snapshot e.g given [A,B,C,D,E] timeline_limit=5 but have sent C, only sends [D,E]. Only when there is no anchor present in the timeline would then the proxy send limited: true.
Aside from bandwidth consumption, in theory the clients can perform exactly these operations to get exactly the same effect. Only initial: true rooms can be limited. The server today is always sending timeline_limit events in an initial room snapshot. Therefore, the client can simply check to see if they know timeline[0].event_id. If they do, then this timeline chunk cannot possibly be limited. If they don't, then they know it is most likey limited[^2].
One problem unique to EX is that the all_rooms list risks triggering limited: true more frequently because of its set of list params:

it gets all rooms
it asks for timeline_limit: 1.

This means if room 104 has 2 missed timeline events since the last sync, the client will calculate limited: true for that room[^3]. However, EX also has a visible_rooms list with a higher timeline_limit of 20. When this window catches up, the client will be able to fill in the gap and remove any limited flag set for said room. If this doesn't happen fast enough, then the client will still see the room as limited when they click through to view the room.
[^1]: complicated by the fact that the last timeline event sent to the client may not have made it, so we need some kind of client token to serve as an ACK e.g a delta token
[^2]: for boundary cases where the client has A,B and received C,D then this logic will incorrectly say the timeline is limited when it isn't. This can be trivially mitigated by just requesting +1 timeline event than you want to process.
[^3]: this isn't wrong, and is exactly what the server would be sending back to the client given that request, even if we did implement delta tokens. Any server implementation would just be doing the same thing client implementations would be, as the server does not have any more information than the client.


[SPARK-36483][CORE][TESTS] Fix intermittent test failures at Netty 4.1.52+

What changes were proposed in this pull request?

Fix an intermittent test failure due to Netty dependency version bump.
Starting from Netty 4.1.52, its AbstractChannel will throw a new StacklessClosedChannelException for channel closed exception.
A hardcoded list of Strings to match for channel closed exception in RPCIntegrationSuite was not updated, thus leading to the intermittent test failure reported in #33613
Why are the changes needed?

Fix intermittent test failure
Does this PR introduce any user-facing change?

No
How was this patch tested?

+CC @HyukjinKwon, @Ngone51

Ok to test

Can one of the admins verify this patch?

Test build #142346 has started for PR 33713 at commit 3fc5953.

Since this is not related to SPARK-36378, should we have a separate JIRA to address this issue?

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/46854/

Are all latest netty-all versions the same, @Victsm ? Can we avoid the failures at the latest Netty?

@dongjoon-hyun looking at the latest from netty 4.1, it's still using this newly introduced StacklessClosedChannelException.
I think it's a permanent switch in netty from java.nio.channels.ClosedChannelException to this new StacklessClosedChannelException.

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/46854/

Thank you for checking it, @Victsm .

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/46854/

Test build #142346 has finished for PR 33713 at commit 3fc5953.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/142346/

@Victsm would you mind retriggering https://github.com/linkedin/spark/actions/runs/1121218315 just for doubly sure?

retest this please

Test build #142357 has started for PR 33713 at commit 3fc5953.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/46865/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/46865/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/46865/

Test build #142357 has finished for PR 33713 at commit 3fc5953.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/142357/

Can one of the admins verify this patch?

@Victsm would you mind retriggering https://github.com/linkedin/spark/actions/runs/1121218315? you can click "Re-run jobs" buttom.

Ok to test

Yeah, I think it's fine to go ahead either. +1

Merged to master and branch-3.2 +CC @gengliangwang
Thanks for fixing this @Victsm !
Thanks for the reviews @dongjoon-hyun, @HyukjinKwon, @Ngone51, @srowen, @zhuqi-lucas :-)

Kubernetes integration test unable to build dist.
exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/46909/

Can one of the admins verify this patch?


activeClassName has a problem with path-to-regexp

https://github.com/ReactTraining/react-router/issues/6201
As mentioned in the issue above, if a webpack's resolve.modules option is anything else than 'node_modules', activeClassName is not applied.
https://github.com/ReactTraining/react-router/issues/6201#issuecomment-449239823
npm i<EMAIL_ADDRESS>
This command solve the issue, but is there any way without installing an additional module?

That module is already installed, as it's a dependency of this project. That will just lock it to the version needed.


Update dashboard with new revision

im using Unraid plugin node exporter with Node Exporter Full ID: 1860
is any way to update dashboard when new revision available or only to make new dashboard ?

Just import new dashboard and choose "Import (Overwrite)" or "Change uid" and save it under different name / folder. However when you change uid, it is not so straightforward to upgrade next time.


Allow registration of activities struct with a worker

Users prefer initializing a struct that implements activities with all external dependencies. It also works well with DI frameworks. The downside is that all calls to ExecuteActivity have to use string names of the activities.

The downside is that all calls to ExecuteActivity have to use string names of the activities.

Continuing from https://github.com/uber-go/cadence-client/issues/849#issuecomment-565713200
While RegisterOption{Name string} takes care of correct representation in the UI, it is not necessary to refer to the same string name when executing a workflow or activity.
Referencing SampleStruct{}.PerformFunc for execution works just as good. This means runtime param validation works too!
I do something like this:
package main

func main() {
	apiKey := "key"
	apiSecret := "secret"
	db, _ := openDB()

	workflows.RegisterSampleWorkflow(apiKey, apiSecret)
	activities.RegisterSampleActivity(db)

	_, err := workflowClient.StartWorkflow(ctx, opts,
		workflows.SampleWorkflow{}.Perform, // ☑
		"value",
	)
}

package workflows

func RegisterSampleWorkflow(apiKey, apiSecret string) {
	workflow.RegisterWithOptions(
		SampleWorkflow{APIKey: apiKey, APISecret: apiSecret}.Perform, // ☑
		workflow.RegisterOptions{Name: reflect.TypeOf(SampleWorkflow{}).Name()},
		// or: workflow.RegisterOptions{Name: "SampleWorkflow"},
	)
}

type SampleWorkflow struct {
	apiKey string
	apiSecret string
}

func (wf SampleWorkflow) Perform(ctx workflow.Context, value string) error {
	future := workflow.ExecuteActivity(
		opts,
		activities.SampleActivity{}.Perform, // ☑
		wf.apiKey, wf.apiSecret,
	)

	// …
}

package activities

func RegisterSampleActivity(db *sqlx.DB) {
	activity.RegisterWithOptions(
		SampleActivity{DB: db}.Perform, // ☑
		activity.RegisterOptions{Name: reflect.TypeOf(SampleActivity{}).Name()},
		// or: activity.RegisterOptions{Name: "SampleActivity"},
	)
}

type SampleActivity struct {
	DB *sqlx.DB
}

func (activity SampleActivity) Perform(ctx workflow.Context, apiKey, apiSecret string) error {
	// use activity.DB
}

Perhaps, thanks to this getFunctionName(), which works just as good with Struct{}.Func as it does with an adhoc Func.
https://github.com/uber-go/cadence-client/blob/a67d04578899bcddb579f43b08d21ab32b0400ff/internal/internal_worker.go#L1287-L1289

As @Gurpartap points out, this has always been possible, and quite simply.  Or people can write a downright trivial loop over instance methods -> call activity.Register to do it implicitly if they want.  Better to not obfuscate things.


Added [space] key filter

Added [space] key filter, i think [space] is important and frequent

Thanks!


[HUDI-5260] fix insert into sql command with strict sql insert mode and no preCombine…

…Filed should not overwrite existing records with the same key but throw error.
fixes  #7266
Change Logs
When command is insert into, table has no precombine field and sql.insert.mode is set to strict then use ValidateDuplicateKeyPayload to do the insert.
Impact
No changes to public api.
Risk level (write none, low medium or high below)
low
Documentation Update
No changes to the documentation. This PR makes hudi to behave as described in the documentation.
Contributor's checklist

[x] Read through contributor's guide
[x] Change Logs and Impact were stated clearly
[x] Adequate tests were added if applicable
[x] CI passed

@hudi-bot run azure

@codope I've addressed your comment, ci is green


Fix #594 preview_image for files.remote.add API method is not properly supported

Summary
This pull request fixes #594 by adding support or preview_image parameter for files.remote.add API method calls.
In another PR #653 , I'm working on integration tests to enable us to verify if changes work with real APIs as expected. This commit in that PR adds a test case for this issue and I've already verified this PR's patch fixes the issue.
After merging #653 ,  I will merge this PR as well.
Reference: https://api.slack.com/methods/files.remote.add
Requirements (place an x in each [ ])

[x] I've read and understood the Contributing Guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.

I've verified this works.
https://github.com/slackapi/python-slackclient/pull/656/commits/1d085b9d648cdba3672fde7577bcc9d5206cbee4

================================================================================== 133 passed, 1 skipped, 429 warnings in 1.94s =====================================================================================
Running pytest…
/path-to-python/bin/python -m pytest --cov-report=xml --cov=/path-to-project/python-slackclient/slack integration_tests/web/test_issue_594.py
================================================================================================= test session starts =================================================================================================
platform darwin -- Python 3.8.2, pytest-5.4.1, py-1.8.1, pluggy-0.13.1
rootdir: /path-to-project/python-slackclient, inifile: pytest.ini
plugins: cov-2.8.1
collected 2 items

integration_tests/web/test_issue_594.py ..                                                                                [100%]

================================================================================================== warnings summary ===================================================================================================


API 500 Support for Logical Interconnect Group

Description
API 500 Support for Logical Interconnect Group.
Issues Resolved
#278
Check List

[x] New functionality includes testing.

[x] All tests pass ($ rake test).
[x] New resources and/or actions have are included in the matchers.rb and matchers_spec.

[x] New functionality has been documented in the README if applicable.

[x] New functionality has been thoroughly documented in examples (please include helpful comments).

[x] Changes documented in the CHANGELOG.

The PR overall looks good, but one thing I'm wondering:
Most of the resources that gained the add/remove/replace scopes will have tests that are basically the same as these, right?
Perhaps it is worth creating a shared base for these, which will only be included by the resources and then each one could pass in its type through a let for instance?
This is not a must, but I do imagine that the resources which will gain those actions will have tests that are pretty similar

@fgbulsoni yes, it is good idea. =)
We can do that in another PR, what do you think?

We can do that in another PR, what do you think?

Issue it, PR it, We review it, merge it, Done.

Issue it, PR it, We review it, merge it, Done.

Also, doing this sooner than later will mean less effort spent repeating tests. Doing it later will just mean reworking the tests for not a whole lot of gain.

Issue #306 registered.


v2.5.3

More detailed memory reporting
Announce MQTT address from Router component
Re-implemented Monitor client
Don't handle non-uplink messages as uplink
Fix not-closing Router-Broker association when connection breaks
Double the downlink schedule time to avoid losing downlink on gateways with 3G backhaul

Coverage increased (+0.001%) to 74.352% when pulling 1bb19bf818fb4d542b31290076cb888e1b899b98 on develop into c5dba333c69b411bf8208639f229a2a3f414eae6 on master.


Constructing nested models for dartsim

This is created as a draft PR to better collaborate on these new features.
Work towards https://github.com/ignitionrobotics/ign-gazebo/issues/479

Pushed some linter cleanup

another prerelease of libsdformat11 should fix homebrew CI: https://github.com/osrf/sdformat/pull/488

@osrf-jenkins run tests please


Goto top link, improved title, stylistic changes, and more

Focus first comment field when activate inline editing
Show categories always with prefix (list view, detail view, filters, pdf)
Show more information in the webpage title
Fixing little bug in isRelatedProjected for assignments
Added 'Go to top' link
updates 'isFavorite' filter: Renamed to 'private' and added filtering for 'has (not) set personal note'
link to the personal note in the meta information about a motion and the pin for pinning the personal note
padding for motion reason if the text is displayed with outside line numbers

@normanjaeckel All done. Ready for your last review. As discuss, I have to merge it now. Feel free to remark something later. I marked this pull request with new label "needs review" for you.

Ok.