German translation errors

The following MS Build parameters to "renamed" in the german translation:
"PackageCertificateKeyFile" got "Packagecertificatekeyfile" (loss of CamelCase)
"PackageCertificatePassword" got "Packagecertifialisiepassword" (???)
I do not think, this is the way it should be.

Dokumentdetails
⚠ Bearbeiten Sie diesen Abschnitt nicht. Er ist für die Verknüpfung von docs.microsoft.com zum GitHub-Artikel erforderlich.

ID: cfd4f93a-ff30-ca5f-c45f-5e52aa553cfb
Version Independent ID: 1e3ca639-193e-a43c-1585-5a407cad1433
Content: Einrichten automatisierter Builds für UWP-Apps - Windows UWP applications
Content Source: windows-apps-src/packaging/auto-build-package-uwp-apps.md
Product: uwp
Technology: deployment
GitHub Login: @mcleanbyron
Microsoft Alias: mcleans

Assigning to David Prioni for localization triage.

Hello, @MatBenAtos
Thank you for your feedback.
We are actively reviewing your comments and will get back to you soon.
Kind regards,
Microsoft DOCS International Team

Hello, @MatBenAtos
Thank you for your feedback.

Our engineer team reviewed your suggestions and accepted them. We implemented your feedback and published to the updated articles on the Docs site to the following pages https://docs.microsoft.com/de-de/windows/uwp/packaging/auto-build-package-uwp-apps#feedback
We truly appreciate your contribution to our articles and we encourage you to continue providing your valuable feedback.
Kind regards,
Microsoft DOCS International Team
#please-close


Cannot detect the train time change.

System Information (please complete the following information):

Model Builder Version (available in Manage Extensions dialog): <IP_ADDRESS>2702
Microsoft Visual Studio Enterprise 2019: 16.11.8

Describe the bug

On which step of the process did you run into an issue: Navigate to Train page, save the model builder, set train time
Clear description of the problem: model builder cannot detect the train time change.

To Reproduce
Steps to reproduce the behavior:

Select Create a new project from the Visual Studio 2019 start window;
Choose the C# Console App (.NET Core) project template with .Net 5.0;
Add model builder by right click on the project;
Select Data classification to Train page;
Save the model builder, then change the train time;
See issue: The model builder doesn't detect the time change.

Expected behavior
Can detect the train time change.
Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
Also occurs on latest main build: <IP_ADDRESS>2101

Looks like this issue has already been fixed in latest main

can repro this issue on latest main: <IP_ADDRESS>7801

This issue has been fixed on Main branch version: <IP_ADDRESS>2401


Feat: Add aws-kms-module and gcp-kms-module

Feat: add aws-kms-module and gcp-kms-module
I have added 2 new modules: aws-kms and gcp-kms which use both AWS and GCP's Typescript SDK to integrate their Cloud KMS services into the platform.
Each module exports two main functions encryptData(), and decryptData(). The encryptData() function takes the plain text share of the private key and returns a b64 encoded encrypted string. The decryptData() function takes this b64 encoded encrypted string and decrypts it into plain text share. (PS: aws-kms-module also requires context as a parameter for better encryption)
Reference Docs (which I used building these modules):
AWS KMS:

https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/js-examples.html
https://enlear.academy/data-encryption-on-aws-8d6be6033351
https://enlear.academy/aws-encryption-sdk-d38bfae40e9f

GCP KMS:

https://cloud.google.com/nodejs/docs/reference/kms/latest
https://www.youtube.com/watch?v=WKZC93y-aWI

Issue Number: #160
🛠 Type of Change

[ ] 🐛 Bug fix
[x] ✨ New feature
[ ] 🚨 Breaking change
[ ] 📚 Documentation update

✅ Checklist

[x] Code Style: My code adheres to the project’s style guidelines.
[x] Self-Review: I have reviewed my own code and made improvements.
[x] Comments: I’ve added comments to explain complex or non-obvious parts of the code.
[x] Documentation: I’ve updated the documentation to reflect my changes.
[x] Warnings: My changes introduce no new warnings.
[x] Tests: I’ve added tests to verify that my changes work as expected.
[x] Passes Locally: All new and existing unit tests pass on my local machine.

If you have any questions or need further assistance, feel free to reach out.

Great work sir, this was much needed, merging it @rahulbarmann

Thank you sir, Happy to help 😊


Merge envelope Serve() and Wait() methods.

This simplifies the API and makes errors less likely (e.g., Wait() on an envelope without calling Serve() beforehand). Suggested by<EMAIL_ADDRESS>Other changes:

Simplified the code for envelope/envelope-conn.

Missed an opportunity to call this branch losing_wait :laughing:


SwarmPress

Project SwarmPress
Phase 1 Study  : 2 weeks
Description : Study how to integrate Swarm technology (Swarm Nodes, FairOS, FairDrive…) within Kredeum NFTs WordPress plugin.
Deliverable : SwarmPress Architecture
Phase 2 Media Archiving  : 2 month
Description : Add the possibility to archive all it’s media library into Swarm
Deliverable : Kredeum NFTs SwarmPress version v0
Phase 3 NFT Minting  : 1 month
Description : Add the possibility to Mint NFTs with medias and metadatas being archived in Swarm
Deliverable : Kredeum NFTs SwarmPress final version v1, available on WordPress Plugin portal

done


Sort system font menu in Inspector

The menu showing system font names is not sorted currently (at least on Linux).
Making get_system_fonts() to return a sorted array is nicer. This PR sorts the array afterward because I'm not sure if it's expected and we prefer local solutions :stuck_out_tongue:

Thanks!


updates

Codecov Report
Base: 69.62% // Head: 69.74% // Increases project coverage by +0.12% :tada:

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

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1389      +/-   ##
==========================================
+ Coverage   69.62%   69.74%   +0.12%
==========================================
  Files         191      195       +4
  Lines        4737     4832      +95
  Branches      973     1003      +30
==========================================
+ Hits         3298     3370      +72
- Misses       1420     1434      +14
- Partials       19       28       +9

Impacted Files
Coverage Δ

src/app/App.tsx
43.05% <ø> (ø)

src/app/constants.ts
100.00% <ø> (ø)

src/firmware/reducers.ts
100.00% <ø> (ø)

src/utils/tree-renderer.tsx
52.72% <ø> (-0.85%)
:arrow_down:

.../bootloaderInstructions/BootloaderInstructions.tsx
69.86% <33.33%> (-3.67%)
:arrow_down:

...verInstallDialog/DfuWindowsDriverInstallDialog.tsx
78.04% <78.04%> (ø)

...firmware/dfuWindowsDriverInstallDialog/reducers.ts
83.33% <83.33%> (ø)

.../firmware/dfuWindowsDriverInstallDialog/actions.ts
100.00% <100.00%> (ø)

src/firmware/dfuWindowsDriverInstallDialog/i18n.ts
100.00% <100.00%> (ø)

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

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


Add HMR

https://github.com/gaearon/react-hot-boilerplate/pull/61
https://github.com/gaearon/react-hot-loader/pull/240/files#diff-c95af0aaae8b52df3ea4c0c8afbb8b04

It's not ready for primetime yet :(


sort.Slice is better than current length-based sorting example

see title (I believe it was added in Go 1.8).

Thanks


Runelite - Client no Launch

Hello, I have this problem, the client does nothing
2020-05-17 04:36:09 [main] ERROR net.runelite.launcher.Launcher - Failure during startup
java.lang.UnsatisfiedLinkError: C:\Users\Rafael\AppData\Local\RuneLite\jre\bin\javaaccessbridge.dll: Can't find dependent libraries
at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
at java.base/java.lang.ClassLoader$NativeLibrary.load(Unknown Source)
at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(Unknown Source)
at java.base/java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.base/java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.base/java.lang.Runtime.loadLibrary0(Unknown Source)
at java.base/java.lang.System.loadLibrary(Unknown Source)
at jdk.accessibility/com.sun.java.accessibility.internal.AccessBridge$3.run(Unknown Source)
at jdk.accessibility/com.sun.java.accessibility.internal.AccessBridge$3.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at jdk.accessibility/com.sun.java.accessibility.internal.AccessBridge.(Unknown Source)
at jdk.accessibility/com.sun.java.accessibility.internal.ProviderImpl.activate(Unknown Source)
at java.desktop/java.awt.Toolkit.lambda$loadAssistiveTechnologies$0(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.desktop/java.awt.Toolkit.loadAssistiveTechnologies(Unknown Source)
at java.desktop/java.awt.Toolkit.getDefaultToolkit(Unknown Source)
at java.desktop/java.awt.EventQueue.invokeAndWait(Unknown Source)
at java.desktop/javax.swing.SwingUtilities.invokeAndWait(Unknown Source)
at net.runelite.launcher.SplashScreen.init(SplashScreen.java:161)
at net.runelite.launcher.Launcher.main(Launcher.java:143)

This is an issue tracker for software bugs, not a troubleshooting forum. Please join the #support channel on our Discord server for support with this issue.


fix(plugin: graphql-requests): Fix argument types in auto-generated methods

GraphQLClient's request method accepts Dom.RequestInit['headers'] parameter (it is same as HeadersInit).
but auto-generated methods accept Headers parameter only.
so I can not pass an object to that methods.
I fixed it.

Thank you @remew , great catch!

Thank you @remew , great catch!

I'm on 3.0.1 and I'm still facing this issue. graphql-request version 3.4.0.

I'm on 3.0.1 and I'm still facing this issue. graphql-request version 3.4.0.

@lilred it is my careless mistake.
I will fix it and create new pull request as soon as possible.
workaround is replacing all HeadersInit to Headers  in auto-generated .ts files (or just use 3.0.0).

@lilred it is my careless mistake.
I will fix it and create new pull request as soon as possible.
workaround is replacing all HeadersInit to Headers  in auto-generated .ts files (or just use 3.0.0).

I used 3.0.0 with the additional plugin - add: import {Headers} from 'request'; and it works for me.

I used 3.0.0 with the additional plugin - add: import {Headers} from 'request'; and it works for me.


Enable official kotlin code style.

Details
https://kotlinlang.org/docs/reference/code-style-migration-guide.html

Does the project need to be reformatted as well?

According Intellij Idea/Android Studio formatter existing formatting is correct.

Thank you!


How to get "/me/drive/sharedWithMe" in C#

What drive ID should I provide in "_client.Drives["{drive-id}"].SharedWithMe" using the .NET SDK (C#) to get same result as "/me/drive/sharedWithMe"?

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

ID: 2f9ff916-e1b7-c60b-bf05-2c5976617ad7
Version Independent ID: 092666d9-dfd3-44f9-9571-bc67f45c4842
Content: drive: sharedWithMe - Microsoft Graph v1.0
Content Source: api-reference/v1.0/api/drive-sharedwithme.md
Product: sharepoint
Technology: microsoft-graph
GitHub Login: @spgraph-docs-team
Microsoft Alias: MSGraphDocsVteam

Hi,
Thanks for your feedback. Unfortunately this repo is for keeping track of issues or new contributions in the Microsoft Graph docs and not to provide help about how to use Microsoft Graph. You should rely on the Microsoft Graph support area (https://developer.microsoft.com/en-us/graph/support) for this kind of questions. I'm going to close this item. Thanks for your understanding.


error running pub get

This issue was originally filed by<EMAIL_ADDRESS>
Link to your package code:
Please remember to also check:
Conform your packages to the pub package layout.
Ensure you have a valid pubspec.yaml file.
Pick an OSS license and correctly add it to your package. If you don't have
one, you can always use Dart's BSD-style license.
Host your source code in a public location so we can retrieve it.
Add dartdocs so people can easily use your libraries.
Update your README to contain a getting started guide.

This issue has been moved to dart-lang/pub#876.


GitHub Apps & OpenShift

I use GitHub Apps vs PAT's - also I had to get this running on OKD. These example files should help other contributors get started doing the same.

Per our Slack chat, I'll run the linters and follow up on a separate PR with linted stuff prolly next week.  Thoughts on also renaming the build directory to openshift later too?


Update project for Swift 4.0 / Xcode 9.0

This is a working branch / PR for Swift 4.0 / Xcode 9.0 migration.
This currently compiles & passes all tests, on all targets, with no warnings or compiler errors (except for a warning regarding the pods project, which we need to wait for Cocoapods to remove).

Awesome work! Thanks @mjarvis!

Codecov Report

Merging #256 into master will decrease coverage by 4.43%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #256      +/-   ##
==========================================
- Coverage     100%   95.56%   -4.44%
==========================================
  Files           5       16      +11
  Lines         160      766     +606
==========================================
+ Hits          160      732     +572
- Misses          0       34      +34

Impacted Files
Coverage Δ

ReSwiftTests/XCTest+Assertions.swift
80.64% <100%> (ø)

ReSwift/CoreTypes/Store.swift
100% <0%> (ø)
:arrow_up:

ReSwift/CoreTypes/Subscription.swift
100% <0%> (ø)
:arrow_up:

ReSwiftTests/StoreTests.swift
100% <0%> (ø)

ReSwift/CoreTypes/Action.swift
100% <0%> (ø)

ReSwiftTests/StoreMiddlewareTests.swift
100% <0%> (ø)

ReSwiftTests/StoreSubscriptionTests.swift
100% <0%> (ø)

ReSwiftTests/TypeHelperTests.swift
83.33% <0%> (ø)

ReSwiftTests/StandardActionTests.swift
100% <0%> (ø)

ReSwiftTests/StoreDispatchTests.swift
91.93% <0%> (ø)

... and 4 more

Continue to review full report at Codecov.

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

This branch is ready for review! This should be fully backwards compatible for Xcode 8 / swift 3.0 as  there are no changes to the main target.

Will have a look in a couple hours!
As @Ben-G would say: do you want to add a CHANGELOG entry? :)

I don't feel like adding a changelog entry here is necessary, since this contains no changes to ReSwift itself, only to the test target & the development xcode project

@DivineDominion  Re: Swiftlint, linting runs as a build script during compilation, from a cocoapods integration. The warnings you discovered there only show up when using an updated version of swiftlint. I have a branch to update our integrated swiftlint version. My recommendation is we remove the linting conformance commit from here, and make a separate PR updating the pod swiftlint version & conforming to the new linting rules.

I'm fine with that decision 👍 I still think "Swift 4/Xcode 9" conformance should at least be part of the release notes if not the changelog so people know for sure.

@DivineDominion But the current release already supports Swift 4 and Xcode 9 with no warnings.

Yeah sure, my point is just: do users know? Could they hesitate to upgrade? -- Maybe updating the README is enough to be clear anyway


to_timeout doesn't always work

I'm trying to test a request timeout using rspec and RestClient. The test looks like this:
url = 'http://<IP_ADDRESS>'
WebMock.stub_request(:any, url).to_timeout

did_raise_exception = false
begin
  request = RestClient::Request.new(
            :url => url,
            :method => :post,
            :timeout => 8,
            :open_timeout => 4,
            :payload => json_data
          )
  response = request.execute
rescue => e
  did_raise_exception = true
end
expect(did_raise_exception).to eq true

Most of the time the test passes, but sometimes it fails in our CI server (codeship). Does it sounds familiar? Any clues on what could be happening?

Hmm, I have not seen this before. I'll try and take a look to see what's going on.
Also If you could submit a failing spec as a Pull Request, that would help immensely!


[Aesthetic request] Change "feeling empty" on airing schedule

I would like that something else appeared if all episodes scheduled for the actual day are aired already. for a long time i thought it was a bug since "feeling empty" is also used on different occasions like internet missing and the app can't fetch data. then i understood the schedule was simply empty. can you add a different message and icon for that? another solution would be showing the airing episodes also when they are already aired (with a different color or a kind of checkmark); this until the next day. for the latter idk if the api allows it, if not just forget it

It would be a cool dynamic :)

(to avoid github bot closing it)


Store search state in URL hash.

When searching, the query is added to the hash as &search=query here. If the search query changes from something like app to app.get, it's assumed that the previous search was triggered while the user was still typing, and the hash is updated without creating a new history entry.
This emits search and clearSearch events from UI so the SearchBox input can update, and moves the FlameGraph search() calls to also use those events.

LGTM

LGTM!


Require Date.js

Maybe I am missing something, but I tried to use this gem with your README documentation along with the docs on the bootstrap-daterangepicker blog post... and when calling $('#element').daterangepicker() like in the simple example, I get:
TypeError: 'undefined' is not a function (evaluating 'Date.today()')

Seems like that stuff was supposed to be defined in Date.js which I don't see in the dependencies, vendor/assets/javascripts directory, nor is it being loaded in the app from elsewhere.
Are we supposed to include that on our own? If so, can we update the README to say something about that? I would be happy to fork and submit documentation pull requests if you don't want to update the Gem to include another javascript file.

@michaelparenteau sorry I'm late, I completely lost this issue...


Display User ID of logged in user

When working with YAWL in scenarios with several users on one machine it would be helpful if the User ID of the logged in user would be displayed in the UI in the top row - either left or right of the YAWL logo.

Fixed in release 5.1


Allow Multi FASTA input for --reference_fasta parameter

Description of feature
Currently, only the first fasta is used in the --reference_fasta parameter, allow multiple fastas to be added. Additionally, provide support for a directory of fasta files
Will likely need to disable bt2_indices to do so

Completed in #72


Automated testing

Some sort of tests would be good to make sure changes don't break anything. Possibly look at other adapters for inspiration, e.g. https://github.com/jthegedus/svelte-adapter-firebase/tree/main/tests

Do you have any strong opinions on test runners/frameworks? I could certainly look into adding tests for the changes I did in #28.

Just merged a PR adding unit tests around the adapter build process + SWA config generation. We still need tests around the request/response adaption in the runtime and E2E tests.

Closing this since the important bits of the request/response adaption are under test. E2E tests are covered in #87.


Outgoing Call is getting freeze in iOS.

Hi @MrHertal
If I start outgoing call to receiver and pickup the call.
then suddenly i play with notification try pull up and down then my call is getting freeze.
is there any solution for same?

Hi,
this is weird, can you reproduce this bug on the example app?
Thanks.


g-image lazyload blur not working when grab dynamic image

Description
i trying to add dynamic image and store it in  but when i load the page, the image not blurred first. Then now i just add fake lazyload image 😞
this is my code :
<div class="preload-img">
   <g-image :src="$page.blogPost.image" />
</div>

<page-query>
  query BlogPost ($path: String!) {
    blogPost (path: $path) {
      image
    }
  }
</page-query>

My Live Example
https://cocky-brattain-5a734f.netlify.com/menjelajah-vue-pengenalan-awal/
Thanks for making  gridsome, I've just migrated my blog from gatsby to gridsome. 💯

Update
When i try move the image to outside static folder and place it on another folder , Its worked. I dunno why its working.

Sample markdown file
---
title: "Asyncronous pada Javascript"
date: 2019-01-08
image: "./looping.jpg"
slug: asyncronous-pada-javascript
imagedesc: "by Jay Lee @jayleedosis via Unsplash"
---

Gridsome doesn't process images with paths like /images/image.jpg because they are usually located in the static folder and those files are just copied to dist. The schema currently converts the path into an object with type, src and mimeType but in the next version, it will only return a string. Only image paths like ./images/image.jpg are processed by Gridsome and that's why you get much more info from the schema.
I hope you enjoyed migrating to Gridsome :)

oh i understand, i forgot to read the README.md on static folder. Thanks for your explanation sir.


[8.x] Add GIF, WEBP, WBMP, BMP support to FileFactory::image()

#37742
Currently, when generating dummy images for testing, FileFactory::image() always creates a PNG or JPEG file.
PNG is default for other extensions (like gif):
return new File($name, $this->generateImage(
      $width, $height, Str::endsWith(Str::lower($name), ['.jpg', '.jpeg']) ? 'jpeg' : 'png'
));

This PR checks the file extension and creates proper image.
XBM is not supported since imagexbm() needs location as second parameter.

Is StyleCI/CLI going to fix these coding styles automatically or should I push changes manually?

The fixes will be auto-applied when the PR is merged.


operator ndmspc-operator (0.20240412.0)

Release ndmspc-v0.20240412.0

/merge possible

/merge possible


Parsing PDB Prevents Accurate Parameter Count Detection

Binary Ninja Version: 3.1.3524-dev Personal, f927c3fa
Platform: Windows 10 Version 2009
Hi,
When analysing the file "C:\windows\system32\wevtsvc.dll" without a PDB, we get an accurate count of the parameters for the "GetLogObj" function, see the three args:

However once we load the public PDB for this, we lose two arguments and instead see R8 being used instead of arg3 (function prototype gets corrupted):

This is less of a bug in the PDB Parser and more of a limitation in the public PDBs available for wevtsvc. Looking at the PDB using microsoft's tools, the symbols do not have parameter information beyond a mangled name, which demangles correctly to what you see in your screenshot:
PublicSymbol: [000AC69C][0001:000AB69C] ?GetLogObj@EventService@@AEAA?AV?$AutoRef@VLog@@@wmi@@PEB_W@Z(private: class wmi::AutoRef<class Log> __cdecl EventService::GetLogObj(wchar_t const * __ptr64) __ptr64)
PublicSymbol: [000AD014][0001:000AC014] ?OpenExternalLog@EventService@@AEAA?AV?$AutoRef@VLog@@@wmi@@PEB_W@Z(private: class wmi::AutoRef<class Log> __cdecl EventService::OpenExternalLog(wchar_t const * __ptr64) __ptr64)
PublicSymbol: [000ACD1C][0001:000ABD1C] ?OpenExternalLegacyLog@EventService@@AEAA?AV?$AutoRef@VLog@@@wmi@@PEB_W@Z(private: class wmi::AutoRef<class Log> __cdecl EventService::OpenExternalLegacyLog(wchar_t const * __ptr64) __ptr64)

Considering how these are explicitly marked cdecl (not thiscall), I'm not even sure this is a bug. I think the analysis just guessed there were more parameters and the (mildly accurate) demangled name in the PDB corrected that down to just one. So I'm closing this unless you have reason to believe those extra parameters are correct.

So I'm a bit unsure about C++ templating stuff that's going on here, but both the following are true:

The function takes one parameter and RDX/R8 usage in assembly here are from the first parameter in source using some c++ templating methods
RDX/R8 are actual parameters in the assembly, but in source (as noted via the PDB) theres only one parameter with const methods that seem to be compiled to use RDX/R8 here

So really, RDX/R8 from the point of analyzing the assembly are parameters

I think I see what you mean: since the return type is class wmi::AutoRef<class Log>, the x64 calling convention places a pointer to it (the returned value) in a parameter slot. I'm not sure where r8 would come from though.

This may be because the first parameter is actually a form of string_view and not a regular wchar_t* string, this may be from an incomplete PDB.
In this case then we could just follow what the PDB says or add the extra parameter based on detected usage (as we do when we analyze without any symbols)

I'm more inclined to follow what the PDB says, just because it's a source of truth even if it's not very precise truth. I'll wire up making the return value into a pointer in the first argument slot, but I don't know how/if r8 should be handled.

Ok actually I'm pretty sure I do know what r8 is. This looks like a member function call (private and not static), so it's likely RCX is thisptr and the rest of the parameters follow from there. This is a demangler issue.

Ok actually I'm pretty sure I do know what r8 is. This looks like a member function call (private and not static), so it's likely RCX is thisptr and the rest of the parameters follow from there. This is a demangler issue.

Ah yes you are right

So I don't believe this can be known from the demangler only. This is a case of "return value optimization" which will depend on the size of the structure being returned. If the structure is <= the register size they will just return it in a register (or potentially multiple registers).  When the structure is larger than a register the return will be placed on the callers stack and the first parameter will be a pointer to this location.
The demangler has no knowledge of the size of the structure, only its name. The only way this could be fixed in an automated way is if we had knowledge of the size of the structure or we were able to do this through analysis.

As of 3.2.3962-dev, the demangler should at least add the thisptr parameter for all relevant functions. Insertion of the pointer-to-return value parameter is an open problem (likely a Hard Problem) which involves the demangler knowing ahead of time the properties of the classes in a binary view. That likely depends on #3183


Type inference and generics when dealing with default nil

Given the following example:
class Foo(T)
  @value : T

  def initialize(@value : T = nil)
  end
end

a = Foo.new
pp typeof(a.@value)

It produces the expected output:
typeof(a.@value) = Nil

However, Attempt to use T? for type instead indicates that type cannot be inferred, even when default value already states nil:
Error in ./4.cr:8: can't infer the type parameter T for the generic class Foo(T). Please provide it explicitly

a = Foo.new
        ^~~

Of course it works if any value is provided to Foo.new, but was expecting that T? was reduced to just Nil instead.
Thank you.

You mean it should infer that T is Nil in this case?

Mmm... what's the failing code? I don't understand if you place T? in the type declaration, in the argument or in both.

@asterite there are a couple of failures:
1. Unable to infer type when default do not define type (but was defined in the class body:
class Foo(T)
  @value : T

  def initialize(@value = nil)
  end
end

a = Foo.new
pp typeof(a.@value)

Error:
Error in ./7.cr:8: can't infer the type parameter T for the generic class Foo(T). Please provide it explicitly

a = Foo.new
        ^~~

Error goes away when defined:
class Foo(T)
  @value : T

  def initialize(@value : T = nil)
  end
end

a = Foo.new
pp typeof(a.@value)

typeof(a.@value) = Nil

2. Type is not detected when default value is provided for T?
class Foo(T)
  @value : T?

  def initialize(@value : T? = nil)
  end
end

a = Foo.new
pp typeof(a.@value)

Error:
Error in ./7.cr:8: can't infer the type parameter T for the generic class Foo(T). Please provide it explicitly

a = Foo.new
        ^~~

Solved doing Foo(Nil).new or Foo.new(nil) but defeats the purpose of having T? defined and nil as default value.
typeof(a.@value) = Nil

Perhaps I'm doing something wrong? (aka: using it wrong) :trollface:

I think case number 1 is OK to error, as you don't put a type restriction in the method argument (and the compiler won't add it just because the instance variable has a type restriction).
The second case should work... I'll investigate, but it's low priority right now because there's a simple workaround:
class Foo(T)
  def self.new
    new(nil)
  end

  def initialize(@value : T?)
  end
end

a = Foo.new
pp typeof(a.@value)

No worries about first scenario.
For the second scenario, it was the one baffling me for 45 minutes before reporting this :stuck_out_tongue_winking_eye:
I'm afraid that overriding self.new might not work when having multiple options, so for the time being will simply pass nil as second parameter :wink:
Thank you for looking into this.
Cheers.

@luislavena as you may already remember i've also passed nil to surpass this issue for Radix.
https://github.com/sdogruyol/radix/commit/8f62dadc9210595208713bf944fd446c72241034#diff-931326af4420bfa50aed1c3d3376a877R32

@sdogruyol correct, but as confirmed by Ary, there is a bug on handling the default value for type inference in this case.
Radix suffering this issue is just one of a few internal projects affected by this.

I'm still not sure about fixing this. Right now we have this:
def foo(x : T?)
  T
end

puts foo(1) # => Int32

a = rand() > 0.5 ? 1 : nil
puts foo(a) # => Int32

The reason is that the restriction T? is actually Nil | T.
In the first case 1 doesn't match Nil, but T does so T becomes Int32.
In the second case a is of type Nil | Int32 (the compiler always puts Nil as a first member of a union), so it matches Nil | Int32againstNiland it getsNil. Nilis then discarded from the restriction and we are left withT. Then Int32is matched againstTand it becomesInt32`.
If we try this:
def foo(x : T | Int32)
  T
end

a = rand() > 0.5 ? 1 : "hello"
puts foo(a)

we get an error, because the type of a, Int32 | String, will match against T and then String won't match against Int32.
In conclusion, the current behaviour is bad and it's probably a hack we added to remove Nil from a type, I think in compact or similar. Free variables should probably never match inside a union type, and in this process types shouldn't be discarded from a union.
Going back to the original example:
class Foo(T)
  @value : T?

  def initialize(@value : T? = nil)
  end
end

Foo.new(1)

the above shouldn't match, because using T? as a type restriction shouldn't make T match as a free variable.
The correct way to implement this is:
class Foo(T)
  @value : T | Nil

  def initialize(@value : T = nil)
  end
end

p Foo.new(1)
p Foo.new

Now both nil and 1 can match T and the generic type can be deduced, but we say that @value is a nilable T.

Thank you @asterite for all the details.
I think the confusion is generated by assuming T? and T | Nil are the same, yet they aren't.

They are the same. The problem is that the compiler will use T as a free variable even if it's inside T | NIl (or T?), and I'm not sure that's a desired behaviour.

I don't think that the last example of @asterite is right:
class Foo(T)
  @value : T | Nil

  def initialize(@value : T = nil)
  end
end

On a Foo(Int32), the T=Int32, so the default value of nil does not make sense with the type restriction. Unless we make the default value "append" a typeof(default_value) to the type restrictions automatically.
I would expect the following be the expected implementation
class Foo(T)
  @value : T?

  def initialize(@value : T? = nil)
  end
end

The thing is how to match Int32 with T | Nil. Instead of trying to make them equal, I would say we need to make it substitutable Int32 <: T | Nil, hence yes if T = Int32

Thank you @asterite and @bcardiff for the responses. Maybe is because is Friday and is an indication I should be doing something else by this time, but kinda got lost somewhere :confused:
Please bear with me the following details.
Given the following code:
class Foo(T)
  @value : T | Nil

  def initialize(@value : T = nil)
  end
end

a = Foo(Int32).new
pp typeof(a)              # => Foo(Nil)
pp typeof(a.@value) # => Nil

I would have expected that Foo(Int32).new to make @value of type Int32? and not Nil and a be Foo(Int32), as defined.
This seems to be honored if T | Nil is also used in the initializer:
class Foo(T)
  @value : T | Nil

  def initialize(@value : T | Nil = nil)
  end
end

a = Foo(Int32).new
pp typeof(a)        # => Foo(Int32)
pp typeof(a.@value) # => Int32?

b = Foo.new(:root)
pp typeof(b)        # => Foo(Symbol)
pp typeof(b.@value) # => Symbol?

This also works if T? is used in both places (as indicated, both T | Nil and T? are the same).
Which allows proper usage of nilable @value and allow the following things to work:
class Foo(T)
  @value : T | Nil

  def initialize(@value : T? = nil)
  end
end

class Bar(T)
  @root : Foo(T)

  def initialize
    @root = Foo(T).new
  end

  def change!(value : T)
    @root = Foo(T).new(value)
  end
end

a = Bar(Int32).new
pp typeof(a.@root)        # => Foo(Int32)
pp typeof(a.@root.@value) # => Int32?
pp a.@root.@value         # => nil

a.change!(100)
pp typeof(a.@root)        # => Foo(Int32)
pp typeof(a.@root.@value) # => Int32?
pp a.@root.@value         # => 100

I believe my confusion was generated when the compiler allowed me to define @value type T | Nil, yet in initialize, only T was indicated, turning things a bit inconsistent.
So not sure if the following code should either warn or not compile?
class Foo(T)
  @value : T | Nil

  def initialize(@value : T = nil)
  end
end

Thank you for your patience going over this and to my lack of understanding.
Cheers.

@luislavena That the first snippet types it as Foo(Nil) is a bug, it should be Foo(Int32).

Hello @asterite, I believe this issue has been solved in recent versions:
class Foo(T)
  @value : T | Nil

  def initialize(@value : T = nil)
  end
end

a = Foo(Int32).new
pp typeof(a)
pp typeof(a.@value)

Output:
typeof(a) # => Foo(Int32)
typeof(a.@value) # => (Int32 | Nil)

Originally Foo(Nil) was reported and type of @value was Nil.
Based on that I'm closing this.
Yay! :smiley:

The last code doesn't compile anymore...

@asterite play.crystal-lang.org shows it stopped working in Crystal v0.20.5.

It's not something that I will fix any time soon, given that the workaround is so simple (create an empty new method that invokes the other new with the default argument).

Below code (notice forall T in initialize) works well in all recent versions though:
class Foo(T)
  @value : T | Nil

  def initialize(@value : T = nil) forall T
  end
end

a = Foo(Int32).new
pp typeof(a)
pp typeof(a.@value)

@Sija I think not, Foo.new fails

@asterite That's strange, I'm getting output like below:
typeof(a) # => Foo(Int32)
typeof(a.@value) # => (Int32 | Nil)

https://play.crystal-lang.org/#/r/2pux

I said Foo.new, not Foo(Int32).new :-)

@asterite oops, my bad :)


JAVA-20464 Fix failing tests in hibernate-exceptions module

@timis1  I'm working on the hibernate-mapping-2 module. I'm facing these errors any help with that? let me know if you're open to help
Continuous Integration JDK9 and Above - Jenkins — The Jenkins CI build failed

@timis1 I'm working on the hibernate-mapping-2 module. I'm facing these errors any help with that? let me know if you're open to help Continuous Integration JDK9 and Above - Jenkins — The Jenkins CI build failed

@KingsleyAmankwah after the integration should fix that errors. I fixed the tests from hibernate-exceptions and hibernate-jpa. Please let me knwo how I can help you further.

Oh okay thank you

Oh okay, thank you. I'm told to follow these guidelines below but Im finding it difficult any help with that
** If the module uses Java 9 or above, then you have to add it to the -jdk9-and-above profiles in the main pom otherwise, the build will fail, as it uses JDK 8 for the default- profiles if the module is already present in one of the parents that use JDK 8, it should be removed from there as well, and only added to the right profiles in the main pom
Below is my PR link #13875

@KingsleyAmankwah as far as I rember I ran yesterday the tests from hibernate-mapping-2 and ran successfully. The module hibernate-mapping-2 runs with jdk17 and hibernate 6.2. I will try to looke over the errors later today or tomorrow.

Thank you very much @timis1


Update figure1A_voxel-overlap_single-group.py

Changes are made in order to place the nii.file and the figure in the figure folder created during the script

Thanks for spotting the error.


XMLSerializer: Correct Map value serialization

Found while working on CORE-3549...
Given test:
import liquibase.change.custom.CustomChangeWrapper;
import liquibase.precondition.CustomPreconditionWrapper;
import liquibase.serializer.core.xml.XMLChangeLogSerializer;

        CustomPreconditionWrapper customPrecondition = new CustomPreconditionWrapper();
        customPrecondition.setClassName("liquibase.precondition.ExampleCustomPrecondition");
        customPrecondition.setParam("name", "test_1");
        customPrecondition.setParam("count", "31");

        CustomChangeWrapper customChange = new CustomChangeWrapper();
        customChange.setClassLoader(Thread.currentThread().getContextClassLoader());
        customChange.setClass("liquibase.change.custom.ExampleCustomSqlChange");
        customChange.setParam("tableName", "tab_name");
        customChange.setParam("columnName", "col_name");
        customChange.setParam("newValue", "");

        XMLChangeLogSerializer xmlSerializer = new XMLChangeLogSerializer();
        System.out.println(xmlSerializer.serialize(customPrecondition, true));
        System.out.println(xmlSerializer.serialize(customChange, true));

Actual result:
<customPrecondition className="liquibase.precondition.ExampleCustomPrecondition" params="name">
    <paramValues name="test_1"/>
    <paramValues count="31"/>
</customPrecondition>
<customChange class="liquibase.change.custom.ExampleCustomSqlChange">
    <param>
        <newValue/>
    </param>
    <param>
        <tableName>tab_name</tableName>
    </param>
    <param>
        <columnName>col_name</columnName>
    </param>
</customChange>

Expected result:
<customPrecondition className="liquibase.precondition.ExampleCustomPrecondition">
    <param name="name" value="test_1"/>
    <param name="count" value="31"/>
</customPrecondition>
<customChange class="liquibase.change.custom.ExampleCustomSqlChange">
    <param name="tableName" value="tab_name"/>
    <param name="columnName" value="col_name"/>
    <param name="newValue" value=""/>
</customChange>

The new revision tries to keep the results/behavior in a number of largely undefined(?) cases.

I've been given a reference on writing unit tests for Liquibase Core in another PR.  I'll further have a look at adding a test for this.

Hey @stanio !
Good seeing another PR from you!  Just steadily working my way through our PRs!  Wanna give writing Unit Tests for this submission too?  As mentioned above we may not have hit all the cases and be nice if we could provide some coverage here:
liquibase-core/src/test/java/liquibase/precondition/CustomPreconditionWrapperTest.java
Thanks!
Ronak

What licensing issue it has found in 6c711ee14cab4fafe403dc3b33ad2216e56f13b9 is out of my mind.

Hey @stanio , thanks, I'm moving this to conditioning.
Sized it as risk low:

It has a test
this issue was uncovered as a bug while working on https://liquibase.jira.com/browse/CORE-3549


Allow specifying dtype to keras dataset generator

This change would allow image_dataset_from_directory to load images with
arbitary dtypes, like 16 bit IR imagery.

Looks Good to me, since this update the API interface, adding @fchollet as the API owner for review.

Not sure if it's okay for me to modify the internal methods in the testing code, but I didn't want to just copy//paste stuff from _get_images and _prepare_directory into my test.

+36,982 −9,895

It looks like your PR needs to be rebased. It contains many unrelated changes.

Fixed, sorry about that.

@Cyniikal can you please check sanity build failures ?

@Cyniikal can you please check sanity build failures ?

Should be good now.

This PR wasn't merged. Is this the desired outcome?


Unit Testing for components

when are visual regression tests appropriate
how do we regression test changes to components before they are delivered to other projects
cypress, playwright
linting
accessibility
storybook, lit for preview?

@zakiya Safe to close this for now? Do you want to write any follow ups & let this get prioritized in scoped work?

Going to close. We have most of these things now and others will come up elsewhere.


Feat: download generated images to a directory

why
I would like to be able to download the generated images.
Currently, you have to implement it yourself.
Do you think this feature is needed?

this PR implementation is wrong.

Add errorgroup pkg for handling errors. push PR again


Update docs CI configuration

Learn Build status updates of commit 2f392d7:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error: CannotMergeCommit] Cannot merge commit 2f392d77e3412c7cc22d7e04fd774ddf91140a1d in branch test_service_readme of repository https://github.com/MicrosoftDocs/azure-docs-sdk-node into branch main (commit 4f6429ef042273674b9b2ea367bcd45af58ef11c). Please follow this documentation: https://help.github.com/articles/resolving-a-merge-conflict-using-the-command-line/ to use git.exe to resolve you content conflicts locally and then push to remote.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Learn Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit ff4d27a:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error: GitBranchDeletedOrForcePushed]

Cannot sync git repo to specified commit because ref +refs/pull/1457/merge has been deleted or has been force pushed.
 If this is pull request, please ensure it is mergeable (no merge conflict) and open (not closed).

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Learn Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


Comms edits of templates

I created a copy of all templates to be able to edit them without making the edits public to anyone who accesses the guide. The edits are: https://drive.google.com/drive/u/3/folders/1zEaR1kcPVNk1QvYoMJ7SivKhSl5G6U8A
The "event roles" template needs to be heavily edited before we publish the guide: https://docs.google.com/document/d/1mSDWtaD6Q96hwkmLq1VRMZZWhkn_6WJzIZ48Uv8ZRug/edit
The "duties roster" template also needs to be reviewed and heavily edited before publishing the guide:
https://docs.google.com/document/d/1s-v47pj2pe4QHCuo763lwJYvSofJ1AV2pOxvrm3XKhc/edit#heading=h.vmy9cnjzkk1y

I have updated the event roles one - https://docs.google.com/document/d/1mSDWtaD6Q96hwkmLq1VRMZZWhkn_6WJzIZ48Uv8ZRug/edit#
(Note I think I might need to top and tail this with extra info and put on Zenodo as that's the plan going forward - i.e. for templates to be on Zenodo rather than the google drive) - but first stage is going through all the suggests

Check the directory as all templates were commented on - the above ones were specifically mentioned as they had a lot of changes

Event Roles - https://zenodo.org/record/3967427 and Event Duties Roster - https://zenodo.org/record/3967445 now up on Zenodo

Venue requirements is also updated as is eps-venue.rst - https://zenodo.org/record/4064079

Event Timeline is now also updated as is eps-timeline.rst - https://zenodo.org/record/4066931

Budget template is updated where it is referenced and is on Zenodo - https://zenodo.org/record/4071896

Risk Management template is now updated and referenced in EOG and uploaded to Zenodo - https://zenodo.org/record/4088024

All the comments have been addressed and the updates have been made so closing the issue


Delete requests are not routed

delete as well as deletef routes are currently not routed. This happens as the respective routes are not generated in the Router module.
I fixed this in this pull request. Just logging the issue for completeness sake.

Fixed by #53


Role settings workbench

General information about how to use and test
This document will tell how to setup the access terms and some simple tests you can use as a starting off point:
Role Configuration Document
I tried to write that up as best I could, but please let me know if you get stuck somewhere.
The main portion of this PR is about adding in the roles and access controls for the Collection Level Admin and Global Admin.  There are some other minor fixes done along the way (detailed below).
Tickets
Fixes:

https://github.com/jhu-idc/idc-isle-dc/issues/106  - fixes an error I started seeing yesterday after rebasing off of development.  To test this ensure you can delete a term from a vocab like Person or Corporate Body - you should not get an error message and the term should be successfully deleted.
https://github.com/jhu-idc/idc-isle-dc/issues/35 - adds in Children and Media tabs on a Collections page (when logged in). To test this: log in, create or navigate to a collection page, and ensure that the Children and Member tabs show up.

Addresses:
https://github.com/jhu-idc/iDC-general/issues/227
https://github.com/jhu-idc/iDC-general/issues/220
https://github.com/jhu-idc/iDC-general/issues/226
Partially addresses:  https://github.com/jhu-idc/iDC-general/issues/62  - this PR changes the SAML configuration for users that we want to give permission to when they log in (for the local/dev environment only).  To test, log in via SSO as staff1 user. They should have the Global Admin role.  staff2 should have the collection level admin role upon login.
Creates:
https://github.com/jhu-idc/idc-isle-dc/issues/105
https://github.com/jhu-idc/idc-isle-dc/issues/107
https://github.com/jhu-idc/idc-isle-dc/issues/108
https://github.com/jhu-idc/idc-isle-dc/issues/109

Minor issue (maybe file new issue):  formatting of workbench page is moderately broken in Firefox:

Before assigning any permissions to staff2, I logged in and looked at workbench.  As expected (I think), there was no option to add content (because staff2 hadn't been given access to any collections via access terms yet).
For kicks, I ran a migration as staff2 still before explicitly giving any permissions to staff2,  using tests/10-migration-backend-tests/testcafe/migrations/collection-01.csv.  Unfortunately (I think), I was able to add random collections that way.  I believe this is unexpected.  It looks either llike (a) role permissions are not being applied to migrations in this case, or (b) workbench and migrations disagree on permissions to add new collections.
Here is what my workbench looked like after running the migration (note the migration message at the top.  Interestingly, it looks like migration success or failure messages don't appear on screen right after you perform a migration, but do appear on the workbench screen once you navigate to it.  Is this expected?)

Interestingly, it looks like migration success or failure messages don't appear on screen right after you perform a migration, but do appear on the workbench screen once you navigate to it. Is this expected?)

I think there's an issue open for that here

Interestingly, it looks like migration success or failure messages don't appear on screen right after you perform a migration, but do appear on the workbench screen once you navigate to it. Is this expected?)

I think there's an issue open for that here

Yeah, I think that would explain why the migration messages don't appear on the migration page immediately after running it.  As far as why the messages do appear on the workbench page is a mystery.  Do other sorts of messages appear there?  I don't understand the rules at play.

It looks either llike (a) role permissions are not being applied to migrations in this case, or (b) workbench and migrations disagree on permissions to add new collections.

I would not be surprised if migrations did not apply or adhere to role restrictions. (Just like they don't adhere to validation rules that exist on the UI side).
There are some migration plugins which have the ability to "check access", but that seems to be implemented on a per-plugin basis and is not a feature provided by the migration framework as a whole.  I'd need to do more research on what "check access" means, vis-a-vis the "user" running the migration if we were interested in pursuing this.

I don't understand the rules at play.

Me either.  I think there's what is called a "flash" and for whatever reason the migrate source UI page doesn't display the flash when you're first directed there.  I think if you perform a migration, get redirected to migrate source UI page (messages are absent), and then refresh (reloading the migrate source UI page) the messages appear - but I haven't tested that.

In testing, I assigned a collection to the access term foo, and gave staff2 permission on foo.   staff2 was then allowed to edit the collection (good), but could remove the access term foo from the collection, thus rendering it non-editable after saving.  Would this be a consequence of https://github.com/jhu-idc/idc-isle-dc/issues/108, or a new issue entirely?

Openseadragon does not work for anonymous users.
I can create an Image repository item as staff1, add media, and see the viewer just fine.  However, logging out and viewing it anonymously results in a black, blank area where the viewer should be.

In testing, I assigned a collection to the access term foo, and gave staff2 permission on foo. staff2 was then allowed to edit the collection (good), but could remove the access term foo from the collection, thus rendering it non-editable after saving. Would this be a consequence of #108, or a new issue entirely?

It could be considered a new issue, depending on whether or not we think a user should be able to edit the access terms on a node. If they can access it they they'll be able to remove their own access to it.  If they can't access it, then we can add some sort of check as part of #108 to ensure that that field hasn't changed.   The nice thing is that field is limited to the collections (aka workbench sections) the user has access to, so if a CLA did want to move an object around from one collection to another, they would have to update this field as well.

Openseadragon does not work for anonymous users.

I spoke with @jaredgalanis about this and he's seen this error before elsewhere. He's going to take a look at this and file a ticket for it.  We don't think that this is created by this PR as he's seen it before.

Formatting ticket for looking at that workbench UI overlap:  https://github.com/jhu-idc/iDC-general/issues/319

roles/permissions do not seem to be applied to migrations (not ticketed yet, I believe)

I created https://github.com/jhu-idc/idc-isle-dc/issues/114 to track the above.
And for the issue of whether or not a user should be able to change access_terms, I created this ticket: https://github.com/jhu-idc/idc-isle-dc/issues/115


Trouble initializing due to init signature and paths to worker thread JS.

This appears to be a fantastic lib. Amazing work.
We're trying to integrate it into our Babylonjs project, having having some difficulties.
Is the README up to date? Because looking at the code, the init signature appears to rely on a "World" object with a constructor of (selector, options) but the README has options as the first parameter. When we just passed in the selector, it appeared to get past the querySelector exception.
Once past the querySelector exception, the next obstacle was that it could not load the work thread code. It appears to expect the js files to be located relative to the root path, but when you try to run from, say... "https://somewhere.com/page1/page2"... it is trying to find the JS files at "https://somewhere.com/page1/page2/offscreenCanvas.worker.bc53e995.js"
Of course, we could be doing everything wrong.
Just so you know, we are the devs of SceneGrinder (https://www.scenegrinder.com) and would love to experiment with integrating your dice roller into our product.
Thanks... any insight is appreciated... and again, hats off to amazing work.
Jerry

Hi Jerry,
My name is Frank. Thanks for checking out my project. I've been working on
this dice library for a while in my spare time. It's not up to date with
the latest. I would say it's still in the beta phase. I have a couple of
branches where I'm working out bugs. I recently helped a friend develop a
tabletop character sheet (using React) and we found more than a few code
problems when implementing it. If you want to take a look at that project
it's available here http://bottledlightninggames.com/. You can see how the
Dice roller was implemented in the
/static/js/Components/ChartacterSheet/index.js file.
I have quite a bit of spare time this week. I'm going to try to get my bug
fixes in and I'll update the documentation as well. Once that's done I'll
probably be able to help you out with implementation questions.
I'm checking out Scene Grinder now. That also looks like a pretty fantastic
table top project. I'm curious what tools you're using for 3D modeling and
animations.
Frank
On Mon, Nov 1, 2021 at 8:58 AM Jerry Holmes @.***>
wrote:

This appears to be a fantastic lib. Amazing work.
We're trying to integrate it into our Babylonjs project, having having
some difficulties.
Is the README up to date? Because looking at the code, the init signature
appears to rely on a "World" object with a constructor of (selector,
options) but the README has options as the first parameter. When we just
passed in the selector, it appeared to get past the querySelector exception.
Once past the querySelector exception, the next obstacle was that it could
not load the work thread code. It appears to expect the js files to be
located relative to the root path, but when you try to run from, say... "
https://somewhere.com/page1/page2"... it is trying to find the JS files
at "https://somewhere.com/page1/page2/offscreenCanvas.worker.bc53e995.js"
Of course, we could be doing everything wrong.
Just so you know, we are the devs of SceneGrinder (
https://www.scenegrinder.com) and would love to experiment with
integrating your dice roller into our product.
Thanks... any insight is appreciated... and again, hats off to amazing
work.
Jerry
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/3d-dice/dice-box/issues/1, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEZAIMNOHRW6WDDNGXDN22TUJ2FI7ANCNFSM5HD7K3DQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

--
Frank Ali
--They paved paradise and put up a parking lot

Looks like the docs are missing an important detail. When instantiating the class, the first argument is the target canvas id. Then come the config options. Currently only the 'purpleRock' theme is available. I'm working on more themes, but that's lower priority right now.
const Box = new DiceBox("#dice-box", {
  theme: "purpleRock",
  assetPath: "/assets/dice-box/",
});

Then I've found putting the init call in document ready
// initalize DiceBox onDomReady so canvas can be properly measured
document.addEventListener("DOMContentLoaded", () => {
  Box.init();
  // set the onRollComplete callback
  Box.onRollComplete = (results) => {
      // do something with results
      setAttributesFromDice(results)
  };
});

// clear dice on click anywhere on the screen
document.addEventListener("mousedown", () => {
  const diceBoxCanvas = document.getElementById("dice-canvas");
  if (window.getComputedStyle(diceBoxCanvas).display !== "none") {
    Box.hide().clear();
  }
});

Thanks, Frank... I'll check all this out. It's not surprising there's some rough edges integrating into React.
For SG, we're using stock animations and modeling... pulled in about 1000 models from various 3D libs. We're heading for a kickstarter launch in early 22, so we're gearing up with marketing and about a million other things that have nothing to do with coding.
We were not actually going to even do a 3D dice roller... but market research indicates that was an ill-advised plan. :) So here we are, which lead me to find your project. I'd be willing to help out any way I can. (I'me the lead dev for SG)
I'm particularly impressed with your use of worker threads for BJS. One problem we've had is avoiding too much interaction with React and keeping BJS self contained. They don't play well performance-wise.
I'll be diving into this stuff today. THANK YOU for your quick response, too.

I've been doing React development for the last few years. As mentioned in
the docs, I was inspired by OwlBear Rodeo's https://www.owlbear.rodeo/
implementation of dice. They're using React and implemented a mostly class
based dice roller into their platform with useEffect hooks to manage the
roll interactions. I wanted to create a vanilla project that was geared
towards high performance with a very small footprint so it would be mobile
friendly. I compromise some 3D details to keep the footprint small, but I
have plans to create different levels of detail in the future so
implementers can decide on their own what's more important. Moving the
physics to a web worker (giving up the very convenient BabylonJS physics
imposters) was very tricky, especially since you lose a lot of your
debugging capabilities, but it was necessary to get the performance I was
after.
Moving the canvas into an offscreen canvas worker gives a little bump too.
It's probably more noticeable in a React environment where you don't want
to block the main thread. I'm cleaning up my code now and adding some
additional inline comments.
I have another performance booster in the works with Array Buffers that I
hope to work in later this week as well. I really notice the difference on
my 120Hz monitor.

How do you handle theming?

There's a theme folder at assets/dice-box/themes that has the texture
maps used by the module. The folder name must match the theme name. Then I
add the theme name to the code, in src/components/Dice/themes.js <https://github.com/3d-dice/dice-box/blob/main/src/components/Dice/themes.js>,
based on what kind of material it should be generating. This is probably
being compiled down into something unrecognisable, so not very user
friendly at the moment.
To create the textures, I have a set of 3D dice models
https://sketchfab.com/3d-models/rpg-dice-set-pbr-game-ready-model-962812cf911545d5a47edea469cfc54e
that I bake different procedural textures onto. The dice set I bought does
not have the numbers carved out. The author of the dice set probably
generated their normal maps from a high resolution version that is not
included in the purchase. So I have to manually generate the normal maps by
merging the baked texture map with the normal map that came with the dice
set. It's a little time consuming, but I get good results.
In future releases I'm hoping to extend the theme system to be a plug-in
system, where users can provide their own models, colliders and textures,
but that's probably a 2022 task.
In the meantime, I'm thinking I can provide a few empty 'custom' texture
slots if people want to provide their own theme.
I also chose to keep to standard materials to keep the BabylonJS package
small. PBR textures may be in the future as well if people want that level
of detail and don't mind adding a megabyte to their deliverable.
On Mon, Nov 1, 2021 at 9:46 PM Jerry Holmes @.***>
wrote:

How do you handle theming?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/3d-dice/dice-box/issues/1#issuecomment-957025585, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AEZAIMN5QSU7HDRSSSXYBXDUJ47I5ANCNFSM5HD7K3DQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

--
Frank Ali
--They paved paradise and put up a parking lot

Actually, now that I've looked at the theme.js closer, I can probably
adjust the code to generate materials based on text string evaluation,
instead of having to fully qualify the theme name. The default for my
switch statement is for a HEX color string that generates a flat color
material. I could have any string that isn't a HEX value point to
standardMaterial and then prefixes for special cases such as
'glass--{themeName}' or 'metallic--{themeName}'. This will free up the need
to list all named themes in code. This is a good feature. Then themes can
be added without any code changes. I'll get this in later this week as well.

Very cool. Let me know if you want to test or bounce something off me.
This "issue" isn't really a proper issue any more... more a discussion. Let me know if you want to move it something more apropos. :)

@frankieali  and @jholmes033169 let me introduce myself as Cassie. I work for a new VTT called Quest Portal. I found this library looking for 3d dice options to prototype dice rolling during our early testing phase.
I have the green light to publish whatever solution I come up with for our prototype to be under MIT license. We are a Typescript and React app. So I have been thinking about forking this library and converting it to TS to get to know the code. I'd love to collaborate on this or a similar project. One of our goals at Quest Portal is to increase the number of table top role players world wide. Reducing the obstacles around dice rolling for inspired developers is one of the ways that we are pursuing to that goal.

Hi Cassie. Thanks for checking out my dice project. I've made a few updates since James reported his issue. The good news is I discovered that Code Sandbox now supports web workers so here's a react demo using the dice. fantastic-3d-dice-react (You may have to refresh the browser window once if you get an error on load.)
I'd be happy to help you implement and understand the project more. I know the basics of Typescript, but I have not taken the plunge yet with project work. A fork might give me a reason to finally complete that Typescript Udemy course I bought last year.
Quest Portal certainly has a nice landing page. I'd be interested in seeing what you're developing over there. I play and sometimes DM weekly games with friends on roll20 which I see you're quite familiar with.
One thing that was noted with James is that the perspective of this dice roller is fixed from a top-down view. I offer a few zoom levels but no changes in perspective.
Let me know if you have any questions.

@frankieali Send me an email at<EMAIL_ADDRESS>and I'll add you to our alpha testing so you can take a look around. :) We're still in early phases but people are starting to play games with the initial app.


handlers attached on parent but triggered for children

The DOM I have is pretty much

...

...

This uses angular-gestures.  The problem is that when I drag one of the children, dragged() is called with the child as the event target, never the parent.  I was expecting the parent to receive it, since the handlers are defined on the parent itself and it encapsulates the children by definition.  Am I missing something?   Of course if I try to drag just the parent and not any of the children divs, it does the right thing and calls dragged() with parent as the target.
angular-gestures freshly installed today with bower.  Looking at gestures.js though, it seems to have pulled Hammer.JS - v1.0.5, as defined here: https://github.com/wzr1337/angular-gestures/blob/master/bower.json#L18.  Is this a know bug and should I use HM2 somehow?

Closing as v1, although this is likely able to be improved along with the other eventing in #808 or similar.


CSS typo

See https://github.com/mrcrmn/docc/pull/14#issuecomment-613428337 & #15:

This typo was fixed in 25ed42e, and should be resolved once the develop branch is merged to master.

@mrcrmn This is the third PR submitted to fix this.
Are the merge conflicts preventing you from integrating your previous changes from the develop branch? 🤔
Seems people are interested in your work and willing to help. 🙏


Why only Spark Plan?

Hi, thanks for this project, I am highly interested  to use it!
But, why it is only for Spark Plan? Is it licensing issue? Performance issue?

@vhanded apologies for the delay here, I must have missed the notification email.
Yes, Performance issues and unwanted high costs. As stated on the Firebase docs, Cloud Firestore charges you for each document read and this library reads all of the documents in a collection before filtering them.
Let's say you have a Spark Project (or prototype) and you want to perform a search on a Collection with 50 documents. This project will read 50 documents each time a search is made. Now if each user performs 10 searches per day and you have 100 users, it will sum up to 50K reads which is the daily limit on the Free plan.
When you upgrade to the Blaze plan, you'll probably have way more documents and users, which means the number of reads will be even higher and you'll have more costs.
What Firebase recommends is using a 3rd party search service like Algolia. Now what this solution does is save your document to their indexed DB when a new document is added (1 Read for each new document). And when you want to perform a search, you'll actually be reading from the Algolia Database and not from Cloud Firestore.
I hope this clears it up.


Request: Add Claude 3.5 Sonnet 2024-10-22 to AIB models

Current behavior
Add Claude 3.5 Sonnet 2024-10-22 to the models available to bot makers who receive credits.

Expected/desired behavior
Describe the behavior you expect or desire to have. Please provide links to mocks and or similar.

@elisescu Not the highest priority, but hopefully easy.

Can the proxy not just pass-through the value of "model"? It's strange for a proxy to have to keep up-to-date with valid parameter values that we know will continuously change. (I'm now coding against 20241022 so am eager to have the proxy support it.)

Not yet. It is in the dev queue to add 1022.
On Wed, Oct 23, 2024 at 10:14 PM jkraybill @.***> wrote:

Can the proxy not just pass-through the value of "model"? It's strange for
a proxy to have to keep up-to-date with valid parameter values that we know
will continuously change. (I'm now coding against 20241022 so am eager to
have the proxy support it.)
—
Reply to this email directly, view it on GitHub
https://github.com/Metaculus/metaculus/issues/1105#issuecomment-2434088306,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A4HDGTFDAUHZH5JHHVKACCDZ5BJYBAVCNFSM6AAAAABQNEITY6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMZUGA4DQMZQGY
.
You are receiving this because you authored the thread.Message ID:
@.***>

Added with this PR, and will be deployed soon.
@jkraybill  it's a good point, and ideally that's how it should be. But because models have different pricing/token and we need to account for that, we went for the simplest solution initially, where we manually do it.
Closing for now, but feel free to reopen if you have additional questions/comments.

@Tommetaculus @elisescu I still see You don't have an allowance for model <claude-3-5-sonnet-20241022> on <Anthropic>

I'm seeing the same error as @pgodzin for both claude-3-5-sonnet-20241022 and claude-3-5-sonnet-latest.

Phil, you now have 34M tokens for 1022.
I will remove the other tokens tomorrow.
On Thu, Oct 24, 2024 at 11:23 AM Phil Godzin @.***>
wrote:

@Tommetaculus https://github.com/Tommetaculus @elisescu
https://github.com/elisescu I still see You don't have an allowance for
model  on
—
Reply to this email directly, view it on GitHub
https://github.com/Metaculus/metaculus/issues/1105#issuecomment-2435598536,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A4HDGTBBCEWJUICENLKJKNTZ5EGH5AVCNFSM6AAAAABQNEITY6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMZVGU4TQNJTGY
.
You are receiving this because you were mentioned.Message ID:
@.***>

Jeremy, you now have 34M tokens to 1022. I'll remove your other tokens
tomorrow.
On Thu, Oct 24, 2024 at 9:20 PM jkraybill @.***> wrote:

I'm seeing the same error as @pgodzin https://github.com/pgodzin for
both claude-3-5-sonnet-20241022 and claude-3-5-sonnet-latest.
—
Reply to this email directly, view it on GitHub
https://github.com/Metaculus/metaculus/issues/1105#issuecomment-2436616488,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A4HDGTDAVRYPX7757RM6NCDZ5GMHRAVCNFSM6AAAAABQNEITY6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMZWGYYTMNBYHA
.
You are receiving this because you were mentioned.Message ID:
@.***>


xWindowsUpdate: Fix tests failing after update in test framework

Changes to xWindowsUpdate  …

Updated appveyor.yml to use the correct parameters to call the test framework.

Thanks to @johnf for reporting this in PR #31.

This change is

Codecov Report

Merging #75 into dev will not change coverage.
The diff coverage is n/a.

@@        Coverage Diff        @@
##           dev   #75   +/-   ##
=================================
  Coverage   62%   62%
=================================
  Files        2     2
  Lines      307   307
=================================
  Hits       191   191
  Misses     116   116

Review status: all files reviewed at latest revision, all discussions resolved, some commit checks failed.

appveyor.yml, line 42 at r1 (raw file):

            -MainModulePath $mainModuleFolder `
            -ResourceModuleName $moduleName

Remove excessive blank rows.

Comments from Reviewable

Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Review status: all files reviewed at latest revision, all discussions resolved, some commit checks failed.

Comments from Reviewable


ollama: 0.1.47 -> 0.1.48

Description of changes
changelog: https://github.com/ollama/ollama/releases/tag/v0.1.48

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

@ofborg build ollama ollama.src

what does ollama.src mean?

what does ollama.src mean?

That's just building the src. I added that in case the other build takes to long but since ofborg builds both in one go, it wouldn't have helped.


Asgardex Desktop Not Working

I downloaded Asgardex Desktop probably about 3 years ago and moved my Rune to it. I have not been in it since. When I open it now, it looks like it wants to load properly and then the screen turn white. I have tried updating to a new version but that isn’t working either.

@Jlynde74 did you update the Bep2 RUNE to Native RUNE?

No response so closing.


CTSFeatureCrew email is not open outside organisation

I tried to send email about language support and got automatic response, that the CTSFeatureCrew email address isn't open outside organisation.

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

ID: 45a8e3c8-0dc9-3dba-3f03-236ca88eaa47
Version Independent ID: 96c3dc8d-3116-c359-94a8-918fbbbf2d36
Content: Conversation Transcription (Preview) - Speech service - Azure Cognitive Services
Content Source: articles/cognitive-services/Speech-Service/conversation-transcription.md
Service: cognitive-services
Sub-service: speech-service
GitHub Login: @trevorbye
Microsoft Alias: trbye

@mrmokilok We apologize for the experience. Could you please let us know the query regarding the locale support you are looking for?

Sure, primarily I'm looking for Finnish but because the requirement behind this is an EU directive, all European languages will be needed at some point.

@mrmokilok We can confirm that all the language locales are now supported by conversation transcription and you can start using them from west europe region. Our team is working to update the documentation and this should be refreshed next week after MS Ignite event.
We will now proceed to close this thread. If there are further questions regarding this matter, please tag @RohitMungi-MSFT in your reply.


GH-1012 Allow raw Strings in default header mapper

Resolves https://github.com/spring-projects/spring-kafka/issues/1012
Add configuration to map string-valued headers as raw byte[]
instead of adding to the map of json-mapped headers.
cherry-pick to 2.2.x

... and cherry-picked to 2.2.x


Supergrid carousel bug fix - Fixes #129

Before:

After:

Perfect. Did you do that between 2 and 3pm? 😉


Supertest uses outdated API, triggers high vulnerability

We are getting CI errors that blocks merges, a refactor of tests that user Supertest is recommended (or updating supertest when superagent updates to stop using an old version of formidable)

SUpertest updated to a version of formidable that no longer has the high vulnerability. Task no longer required


Idea: Potential LRU-like Cache using 2-random sampling

While a good, strict LRU cache is not really feasible for a concurrent data structure, an alternative method exists that could be built using hashmaps/indexmaps. The gist of the 2-random sampling method is to uniformly choose two elements at random from the entire table, and simply remove the older of the two (preferably using a trait for user-defined comparisons). It ends up being basically on-par with strict LRU in practice.
For a sharded hashmap with a good hash function, it's safe to assume most shards are of similar size, so you could sample two shards at random, then sample uniformly between those two as if they were a contiguous array. Sometimes both choices will be within the same shard, but that's fine. While scc::HashMap is not sharded, this approach may still be necessary for picking buckets instead.
If it helps come up with ideas, I once implemented this for a simple sharded hashmap, wherein I could evict many elements at once by performing a random walk around the shards, which avoided having to acquire more than one new lock per step. Still kind of expensive, but fair (I think). Though of note I did also implement a not-fair but faster approximate version. Note that my shards actually needed to be similar to an IndexMap to access by index.
I think it would be awesome if scc could provide some kind of HashCache eventually built around this, as I don't think I'm aware of any high-performance thread-safe LRU caches without tons of locks.
Not a high priority, though. I personally have no need for it right now.

Great idea! I'll anyway have to implement an LRU cache for a project at work, and the suggested algorithm seems to be good enough for most cases. Maybe next month? I'll try to implement something.

Minimum viable implementation will be out in a couple of weeks.
-> Super simple algorithm: the least recently used entry in a bucket will be evicted if the bucket is full; instead of allocating linked lists, the LRU entry in the bucket will be replaced with the new key.
-> Public evict* methods; will not be included in the first version; TODO.
-> HashCache will be normally resized just like HashMap as long as the capacity is under a user-specified limit.

Hi, the initial version of HashCache was uploaded in v1.7.0.
It only contains a minimal set of API methods, and no performance tests were conducted, so I'm not sure if it is seriously usable. Therefore, if you find any problems, feel free to open new issues!


dfs.client.read.shortcircuit HBase property not set correctly

In the current code we have dfs.client.read.shortcircuit hbase property is hardcoded and at the same time the property is set based on attribute value. We should use the latter.

Fixed on PR #504.


Set Slider value with component prop

It seems like the way to change the slider's value programatically is to set the .value property on this.refs["sliderRef"].
This makes it very difficult to initialize the slider value based on a parent prop on first render.
Just wondering why it was implemented this way?

Props of react component are intent to be immutable, so I thought maybe a setter would be more useful.
Yes, I can add a value prop in the next release.

+1 for a value prop

+1

+1


Update README.md

ref: https://github.com/cectc/dbpack/issues/
Ⅰ. Describe what this PR did
Ⅱ. Does this pull request fix one issue?
Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (6c4f29a) 43.08% compared to head (e2ff62e) 43.08%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##              dev     #284   +/-   ##
=======================================
  Coverage   43.08%   43.08%
=======================================
  Files          91       91
  Lines       10588    10588
=======================================
  Hits         4562     4562
  Misses       5539     5539
  Partials      487      487

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


New version: GeoStatsBase v0.9.2

Registering package: GeoStatsBase
Repository: https://github.com/JuliaEarth/GeoStatsBase.jl
Created by: @juliohm
Version: v0.9.2
Commit: ab2e3420b9497236104ba72f69f9ff4060ee1268
Reviewed by: @juliohm
Reference: https://github.com/JuliaEarth/GeoStatsBase.jl/commit/ab2e3420b9497236104ba72f69f9ff4060ee1268#commitcomment-39239727

please do not merge this, submitting new PR soon

Could you please merge it now? Sorry for the late minute fix.


Development

Merge to master for finalisation of plugin upload.

I'm not going to merge this PR since I see the origin is a fork. If you want to become a contributor to WP Mobile Pack, please open an issue first or write to us at contact[at]appticles.com.


Add specs plugin.

I wanted to add some kind of docco parrsing support.
Plugin spec should parse the source file and parse inline comments accoring to doclet.meta.range array,
and add ordered list of inline comment text in that list.
For example this code:
/**
 * Constructor. Setup options and arguments
 * for generator to use.
 */
exports.constructor = function () {
	//Setup arguments
	generator.Base.apply(this, arguments);
	//Setup options
	this.option('debug', {
		desc: 'Debug generator to ./generator.debug file',
		type: Boolean,
		default: false
	});
};

Will be displayed like this:

For more informations see added tests and fixtures example.

Can some1 pls respond to this pull request, I would be greatfull if you let me know what you think pls.


Migrate from ActionBlock to Channels

Recommended after speaking with @dfederm
References:

An Introduction to System.Threading.Channels
C# Job Queues

We cannot use channels as each only one of the channel's reader will receive the message, so we would need multiple channels.
We need to be able to broadcast the message to all consumers, which the curent System.Threading.Channels does not support.


Bug with handling of namespaced packages?

I've come to know that if I create a project that uses webpack, I'm pretty quickly going to run into a problem regarding the @xtuc/long package. It usually manifests as a "runtime" error (when running a webpack build, not a nix compilation error) and looks something like this:
Error: Cannot find module '@xtuc/long'
    at Function.Module._resolveFilename (module.js:548:15)
    at Function.Module._load (module.js:475:25)
    at Module.require (module.js:597:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/nix/store/i1n2pk1j2g56nb2s5xc21wa0kqjdyj0l-=webassemblyjs=-ast-1.7.11-nodejs-8.12.0/lib/node_modules/@webassemblyjs/ast/node_modules/@webassemblyjs/wast-printer/lib/index.js:10:36)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)

Usually I just add @xtuc/long to my package.json and move on, but this time that didn't work so I started investigating further.
In this instance, I verified that the package.json for @webassemblyjs/wast-printer looked reasonable, which it does:
$ cat /nix/store/i1n2pk1j2g56nb2s5xc21wa0kqjdyj0l-=webassemblyjs=-ast-1.7.11-nodejs-8.12.0/lib/node_modules/<EMAIL_ADDRESS>{
  "name": "@webassemblyjs/wast-printer",
  "version": "1.7.11",
  "description": "WebAssembly text format printer",
  "main": "lib/index.js",
  "module": "esm/index.js",
  "keywords": [
    "webassembly",
    "javascript",
    "ast",
    "compiler",
    "printer",
    "wast"
  ],
  "scripts": {
    "test": "mocha"
  },
  "author": "Sven Sauleau",
  "license": "MIT",
  "dependencies": {
    "@webassemblyjs/ast": "1.7.11",
    "@webassemblyjs/wast-parser": "1.7.11",
    "@xtuc/long": "4.2.1"
  },
  "devDependencies": {
    "@webassemblyjs/helper-test-framework": "1.7.11"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/xtuc/webassemblyjs.git"
  },
  "publishConfig": {
    "access": "public"
  },
  "gitHead": "4291990bfc4648bc6676091a955d12dc3c7e5909"
}

However, there is no node_modules directory:
$ ls /nix/store/i1n2pk1j2g56nb2s5xc21wa0kqjdyj0l-=webassemblyjs=-ast-1.7.11-nodejs-8.12.0/lib/node_modules/@webassemblyjs/ast/node_modules/@webassemblyjs/wast-printer/
LICENSE					esm					package.json
README.md				lib					webassemblyjs-wast-printer-1.7.10.tgz

I looked one level up, and there is a node_modules directory with an @xtuc directory in it:
$ ls /nix/store/i1n2pk1j2g56nb2s5xc21wa0kqjdyj0l-=webassemblyjs=-ast-1.7.11-nodejs-8.12.0/lib/node_modules/@webassemblyjs/ast/node_modules/
@webassemblyjs	@xtuc

But the contents of node_modules/@xtuc did not contain a long directory:
$ ls /nix/store/i1n2pk1j2g56nb2s5xc21wa0kqjdyj0l-=webassemblyjs=-ast-1.7.11-nodejs-8.12.0/lib/node_modules/@webassemblyjs/ast/node_modules/@xtuc
LICENSE		README.md	dist		index.d.ts	index.js	package.json	src

The package.json file in that directory is for the @xtuc/long package:
$ cat /nix/store/i1n2pk1j2g56nb2s5xc21wa0kqjdyj0l-=webassemblyjs=-ast-1.7.11-nodejs-8.12.0/lib/node_modules/<EMAIL_ADDRESS>{"name":"@xtuc/long","version":"4.2.1","author":"Daniel Wirtz <dcode@dcode.io>","description":"A Long class for representing a 64-bit two's-complement integer value.","module":"src/long.js","main":"dist/long.cjs.js","repository":{"type":"git","url":"https://github.com/dcodeIO/long.js.git"},"bugs":{"url":"https://github.com/dcodeIO/long.js/issues"},"keywords":["math"],"dependencies":{},"devDependencies":{"@babel/cli":"^7.0.0-beta.54","@babel/core":"^7.0.0-beta.54","@babel/plugin-transform-modules-commonjs":"^7.0.0-beta.54","webpack":"^3.10.0"},"license":"Apache-2.0","scripts":{"build":"webpack","test":"node tests"},"files":["index.js","LICENSE","README.md","src/long.js","dist/long.js","dist/long.js.map","index.d.ts"],"types":"index.d.ts","prepublish":"babel --plugins @babel/plugin-transform-modules-commonjs src/long.js -o dist/long.cjs.js"}

I tried working around this issue by adding @xtuc/long to my package.json and setting       NODE_PATH="$NODE_PATH:node_modules"; but then I encounter problems with missing peerDependencies. Not sure if that is related.

FWIW, I'm trying to get an app freshly generated from create-react-app to build.


8598 update CA Jurisdictional filter

This PR shows what settings changes are needed to update the jurisdictional filter for the California DPH. The original filter would route results to California if the testing company happened to be based in California even if the patient was located in another state and was tested there.
Test Steps:

Load these settings into your local repo (removing the transport section)
Send test data where the ordering_facility_state is CA but the ordering_provider_state is not.
Ensure data is not routed to CA

Changes

jurisdictional filter for CA-DPH

Testing

[x] Tested locally?
[x] Ran ./prime test or ./gradlew testSmoke against local Docker ReportStream container?
[ ] (For Changes to /frontend-react/...) Ran npm run lint:write?
[ ] Added tests?

Process

[ ] Are there licensing issues with any new dependencies introduced?
[ ] Includes a summary of what a code reviewer should test/verify?
[ ] Updated the release notes?
[ ] Database changes are submitted as a separate PR?
[ ] DevOps team has been notified if PR requires ops support?

Linked Issues

8598

To Be Done
Create GitHub issues to track the work remaining, if any

#issue

Specific Security-related subjects a reviewer should pay specific attention to

Does this PR introduce new endpoints?

new endpoint A
new endpoint B

Does this PR include changes in authentication and/or authorization of existing endpoints?
Does this change introduce new dependencies that need vetting?
Does this change require changes to our infrastructure?
Does logging contain sensitive data?
Does this PR include or remove any sensitive information itself?

If you answered 'yes' to any of the questions above, conduct a detailed Review that addresses at least:

What are the potential security threats and mitigations? Please list the STRIDE threats and how they are mitigated

Spoofing (faking authenticity)

Threat T, which could be achieved by A, is mitigated by M

Tampering (influence or sabotage the integrity of information, data, or system)
Repudiation (the ability to dispute the origin or originator of an action)
Information disclosure (data made available to entities who should not have it)
Denial of service (make a resource unavailable)
Elevation of Privilege (reduce restrictions that apply or gain privileges one should not have)

Have you ensured logging does not contain sensitive data?
Have you received any additional approvals needed for this change?

What does CA want to to happen when ordering facility state = CA, Patient State <> CA, and Provider State is blank? With the proposed filters those results will also be filtered

According to the ticket, they only want data if a patient is from California or if they were seen in by a provider in California. In your scenario we would not send that result to CA.

What does CA want to to happen when ordering facility state = CA, Patient State <> CA, and Provider State is blank? With the proposed filters those results will also be filtered

According to the ticket, they only want data if a patient's address is in California or if they were seen by a provider in California. In your scenario we would not send that result to CA.

I would consider asking CA if that's their intended behavior. I think it's possible they just didn't consider that possibility. There's a lot of power in the filters so I get nervous when we get close to making assumptions with them. Better to be safe than sorry.

Clarifying email sent directly to contacts at the California DPH.

California no longer needs this.


Operator-managed ActiveGate private synthetics and AWS monitoring

Is your feature request related to a problem? Please describe.
It's related to getting features like private synthetics and AWS monitoring as part of the ActiveGate installed by the operator.
Describe the solution you'd like
I'd like to be able to use the operator exclusively for ActiveGate installation and updates while still benefiting from capabilities like private synthetics and AWS monitoring.
Describe alternatives you've considered
As per the documentation I considered running an EC2 instance for AWS monitoring as per this guide, and for private synthetics I considered running an ActiveGate deployment in an EKS cluster as per this guide. The former is highly undesirable for a variety of reasons, and the latter involves managing another activegate outside of the operator (also slightly undesirable).
Additional context
I saw this page which suggests a containerised activegate supports all of the features I want, but I realise that's not the same as operator support.
I also saw previous issues related to this:
https://github.com/Dynatrace/dynatrace-operator/issues/1435
https://github.com/Dynatrace/dynatrace-operator/issues/1083
I just wanted to clarify the current state of play here in case things have changed since those were posted. Thanks in advance.

Thank you for opening a Dynatrace Operator Issue.
Dynatrace reviews feature requests in the Dynatrace community rather than Github. This helps our team consolidate, rank, and prioritize important input like yours. It might also be that there is some plans already or something is already worked on. e.g synthetic is already in preview mode
Therefore in order to have a shorter cycle I'd suggest doing above and reach out to our Product Team directly via the Community.
Please search for similar requests, collaborate, and ask questions using the link above. Remember to add the labels "kubernetes" and "dynatrace-operator" to help get the attention you deserve.
Thanks for your help!

@luhi-DT hello, it's more about the current level of support in the operator. Happy to take it to the Dynatrace community if it turns out this feature is currently missing, could you just confirm the currently capabilities of the operator on these two features?

As said, synthetic is in preview mode our Product team is currently onboarding interested customers and through the Dynatrace Community you will reach them directly :)

@luhi-DT you didn't address the question about AWS monitoring in the operator-managed activegates?

The containerised ActiveGate, that is managed by the operator is of course capable of doing AWS Monitoring, but its no yet a capability that is supported with a direct configuration within the DynaKube (like routing or kubernetes-monitoring). So the short answer is no its not a supported feature currently within the operator, but the ActiveGate is capable of doing it. Therefor the community can give you more hints on timelines and such :)

@luhi-DT thanks! appreciate it. I'll take it to the community.


Missing feedbacks for users in encryption if..else

This requirement has been implemented in following pull request:
https://github.com/uol-makito/CSCK541.EMA.GroupB/pull/5

With confirmation from @Ryserphiel, this pull request is closed.


Improve pyramid examples

🐛 Bug
The pyramid examples, including the nD one, don't run well and should be improved

These have been reduced in size in #391


Update Goldmark v1.1.25 -> v1.1.32

just a Vendor Update
Fix:

https://github.com/yuin/goldmark/issues/115
https://github.com/yuin/goldmark/issues/120
https://github.com/yuin/goldmark/issues/121
https://github.com/yuin/goldmark/issues/123
Improve Typographer

make L-G-T-M work


Remove master from code-freeze and fix release branch regex

Fixes https://github.com/adoptium/temurin-build/issues/3703
As per PMC discussion, "master" branch removed from freeze
And corrected (hopefully!) the release branch freezing

/merge

/approve

/thaw


A stream wrapper that holds the latest value exists?

I am trying to solve a problem like this:

I have a stream of T (let's call this S) that yields every 1 sec. It is basically like repeat stream of T but with some interval.
I want a stream wrapper around S so it returns None if S hasn't yield anything yet, Some(latest value) otherwise.

I handmade this wrapper by myself but with some combination of the existing stream wrappers could I solve my problem?
#[pin_project]
pub struct CachedStream<St: Stream> {
    #[pin]
    stream: St,
    cached: Option<St::Item>,
}
impl<St: Stream> CachedStream<St> {
    pub fn new(s: St) -> Self {
        Self {
            stream: s,
            cached: None,
        }
    }
}
impl<St: Stream> Stream for CachedStream<St>
where
    St::Item: Clone + std::fmt::Debug,
{
    type Item = St::Item;
    #[project]
    fn poll_next(self: Pin<&mut Self>, cx: &mut Context) -> Poll<Option<Self::Item>> {
        #[project]
        let CachedStream { mut stream, cached } = self.project();
        loop {
            let item = stream.as_mut().poll_next(cx);
            // dbg!(&item);
            match item {
                Poll::Ready(Some(x)) => {
                    cached.replace(x);
                }
                Poll::Ready(None) => {
                    return Poll::Ready(None);
                }
                Poll::Pending => {
                    if cached.is_some() {
                        break;
                    } else {
                        return Poll::Pending;
                    }
                }
            }
        }
        Poll::Ready(cached.clone())
    }
}

I don't think there is a combinator or combinator combination that provides equivalent functionality. (Maybe you could do something similar using ready_chunks, but probably very inefficient.)

Thanks. it seems to be yes.

If the underlying stream ended and only a partial vector was created, it'll be returned. Additionally if an error happens from the underlying stream then the currently buffered items will be yielded.

Finally, I realize what I am looking for a variant of tokio::sync::watch that won't delete the retained value after polled. Now I am doing my work with wrapping the sync::watch's receiver by the above CachedStream but yes I feel better if there is one like this in the official.

Finally, I realize what I am looking for a variant of tokio::sync::watch that won't delete the retained value after polled. Now I am doing my work with wrapping the sync::watch's receiver by the above CachedStream but yes I feel better if there is one like this in the official.

IIUC, tokio::sync::watch::Receiver doesn't delete the latest value until the next recv or next call, so it should be able to use the borrow method to get the latest value.

I didn't know that. Thank you for the information. I will check later and get back to you

@taiki-e I tried this using async_stream macro but this is not what I what because the code looks like generating a producer that infinitely looping in maximum speed with which the AsyncStream is the consumer.
    let st = async_stream::stream! {
        loop {
            yield rx.borrow().clone();
        }
    };

Unfortunately, what I want is a stream that borrows and yields only once when the client code polls. So this will become something like
let st = async_stream::on_poll! {
    yield rx.borrow().clone();
}

I don't want to handcraft classes to do this. Do you have some idea of existing tools to make this happen?

I tried this. it is infinite lazy list of borrowed values and the for loop in the stream macro is taking this values one by one. This is probably what I want.
    let it = std::iter::repeat_with(|| {
        rx.borrow().clone()
    });
    let st = async_stream::stream! {
        for x in it.into_iter() {
            yield x
        }
    };

@akiradeveloper
borrow does not update the value, so it needs to be used in combination with recv/next/poll_next. Instead of using async_stream!, you probably need to wrap the receiver with a helper function something like:
use futures::stream::{self, Stream, StreamExt};
use std::task::Poll;
use tokio::sync::watch;

fn watch_helper<T: Clone>(mut rx: watch::Receiver<T>) -> impl Stream<Item = T> {
    stream::poll_fn(move |cx| {
        while rx.poll_next_unpin(cx).is_ready() {}
        Poll::Ready(Some(rx.borrow().clone()))
    })
}

@taiki-e My problem is resolved. Thank you so much!