pcl support

We have a pcl library and we last updated in 4/22/14 and since then a lot of the new changes have broke us when we use the following directives:
define EXPRESSIONS                         // Platform supports System.Linq.Expressions
define COMPILED_EXPRESSIONS                // Platform supports compiling expressions
//#define APPDOMAIN_GETASSEMBLIES             // Platform supports getting all assemblies from the AppDomain object
define UNBOUND_GENERICS_GETCONSTRUCTORS    // Platform supports GetConstructors on unbound generic types
define GETPARAMETERS_OPEN_GENERICS         // Platform supports GetParameters on open generics
define RESOLVE_OPEN_GENERICS               // Platform supports resolving open generics
//#define READER_WRITER_LOCK_SLIM             // Platform supports ReaderWriterLockSlim
define TINYIOC_INTERNAL
Is anyone else seeing these issues?

We are unable to compile due to compile time errors. It looks like the logic wasn't even updated as the types on some overloads isn't even close... Also There are some exception types that are not even available..

Unfortunately "PCL support" is a bit of a misnomer, it's a bit of a car crash given how many different profiles there are - I had no real troubles recently building it into a PCL library that only supported the latest platforms (which include ReaderWriterLockSlim)

Yeah I agree. But we are using a version from april and it's been working great. We tried upgrading to the latest version and had a ton of errors. I could try doing a pull request but I'm scared that I'm breaking something. Would you be willing to pair on this, I'll drive?
Here is our project: https://github.com/exceptionless/Exceptionless and this is our pcl target:

@niemyjski
It still does not work. Even Profile151 that suppose to work from yours latest commits is broken. I do not see any tests for PCL projects, did you test it at all?
There are several unavailable types, methods, broken usages.
assembly.GetTypes();
BindingFlags
sourceType.GetMethods
methods.Count is a method not property
AppDomain
registrationType.IsAssignableFrom
MethodAccessException
IsAssignableFrom
GetConstructors
checkType.IsInterface and checkType.IsGenericType are methods
type.GetGenericArguments
typeof(TinyIoCContainer).GetMethod
GetType().GetProperties()
registerImplementation.FindInterfaces
Those are methods not properties
return type.IsClass
return type.IsAbstract
return type.IsInterface
return type.IsPrimitive
return type.IsValueType
return type.IsGenericType
return type.IsGenericTypeDefinition
return type.BaseType
return type.Assembly
I know that you are probably thinking that I am just another stupid bastard that do not know anything about your project :( , but my PULL requests with actually working PCL support still hangs after half of year.
@grumpydev

it's a bit of a car crash given how many different profiles there are
Target most restricted PCL profile and make it work there. With this done rest would like running downhill.

I've been using this for months without issue and it's been working great. I now realize I had the link wrong to my project: https://github.com/exceptionless/Exceptionless.Net

Your running into those issues because you need to bring nuget packages available that bring in those methods / types. Please see my project.json file. https://github.com/exceptionless/Exceptionless.Net/blob/v4.0.2/src/Exceptionless/project.json

Thanks for quick response.
You do realize that, even if this works in your project it do not have to actually work in others?
PCL is not the same as NETCore.
Anyway if the answer to this bugs is: install some nuget packages there is something fundamentally wrong with this whole project.

Welcome to TinyIoC - an easy to use, hassle free, Inversion of Control Container.

If you have to do some extra work to make it... um work... on some platform and this is never mentioned in documentation at all... I would not call it neither "easy", nor "hassle free".

TinyIoC has been designed to fulfil a single key requirement - to lower the "level of entry" for using an IoC container

If it was designed to work as a single file, why you do not follow this "single key requirement" while supposedly adding PCL support. Did you created another Nuget package just for PCL, to make those dependencies visible? I can't find it.
Did you edited Readme to mark that some extra steps needs to be performed to make TinyIoC work in PCL projects?
I am sad, that your response can be summarized as "It is working on my machine". :(

Just to be sure, I tried to find and install Nuget packages you have listed in your .json file.
And as I expected it did exactly nothing. After all, if maybe there is some package with AppDomain class for PCL (which I highly doubt it), it is impossible to change member type from method to property just by adding some reference (and there are errors like that, as I stated in my first comment and you read it whole, right?).
This is how my project references looks like after adding bunch of nuget packages (not all because, somel are not present in feed and some are incompatible with PCL profile 151).

This is probably because all of those useless packages looks like this:

I hope you realize that I'm targeting net standard + pcl and full framework in my project.

Here is a Microsoft documentation of how to create PCL project.
https://msdn.microsoft.com/en-us/library/gg597391(v=vs.110).aspx
Follow it. Create PCL. Add TinyIoC. See if this works.


Task/relevant reps search and filter

Describe your changes
Added a happy path test to check the relevant reps page as well as search and filtering relevant reps

https://pins-ds.atlassian.net/browse/ASB-1926

Useful information to review or test

Type of change 🧩

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update
[ ] Other (please explain in the description section above)

Checklist before requesting a review

[ ] I have performed a self-review of my own code
[ ] I have double checked this work does not include any hardcoded secrets or passwords
[ ] I have made corresponding changes to the documentation
[ ] I have provided details on how I have tested my code
[ ] I have referenced the ticket number above
[ ] I have provided a description of the ticket
[ ] I have included unit tests to cover any testable code changes

:tada: This PR is included in version 2.19.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.5.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.15.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Missing script: "command"

Running npm run command config we get an error:
npm ERR! Missing script: "command"
npm ERR!
npm ERR! To see a list of scripts, run:
npm ERR!   npm run

We need to add
"command": "nest start --config nest-commander.json --",

in package.json

Closing ticket because this command was added


Exception: userRateLimitExceeded

Thread 35768 killed on uncaught exception Failure("Error: {
 "error": {
  "errors": [
   {
    "domain": "usageLimits",
    "reason": "userRateLimitExceeded",
    "message": "User Rate Limit Exceeded. Rate of requests for user exceed configured project quota. You may consider re-evaluating expect

Getting a lot of uncaught exceptions when rate limiting. Are the threads ok to die like that, or should these errors be caught and handled better?

Are the threads ok to die like that, or should these errors be caught and handled better?

No, the app should retry the request when receiving that error. If you can reproduce while logging with -verbose, would you send me your gdfuse.log (my email is alessandro.strada@gmail.com)? I don't need the whole file. It should be enough to get about 50 lines around the line where you should find the string ServiceError. Thanks!


Add backup cron job support

Add backup support like: https://github.com/zalando/postgres-operator/blob/master/docs/reference/cluster_manifest.md#top-level-parameters
backup:
  schedule: 0 1 * * *
  endpoint:
  bucket:
  accessKey:
  secretKey:

Should be a part of https://github.com/cockroachdb/helm-charts/issues/7


🎯 School | Preserve Data🎯

🏅 Features Implemented
List of things that were implemented based on the requirements:
📝 General requirements

✅ No Linters errors.
✅ Used GitFlow correctly.
✅ Created a professional README file.

📝 Project requirements

✅ Created a module called manager_module.rb to handle interactions with files.
✅ Refactored folder names and improved readability.
✅ Created a folder called data to store all the JSON files.
✅ Named each JSON file with its own data respectively (e.g. rentals.json)

📷 Screenshots
Manager Module

John Palacios & Hajnalka Oltyan
Microverse Students

Thanks!! @addod19


Setup CI

Resolves #15.
But there are some TODOs that might be necessary to be filed as new issues.

Add Windows tests
Setup miri tests.
Add MSRV tests
Add wasm tests

Should be merged after #22.

Thanks! Can you rebase/merge main? I think a few changes were merged from the other PR.

@leonardoalt Yup! rebased!


UTY-360: Add Support for Nested Type and Enum Generation

NOTE: The last commit is all the generated test code. This is to allow easy diffing. Ignore this commit if you are not interested.
Description
A number of changes had to be made to enable recursively generating types:

The enumSet of all enums in a schema corpus now includes enums defined in types.
Refactored UnityTypeGenerator into two parts:
a. UnityTypeContent which contains the template for the actual struct content. It recursively calls generate on itself and UnityEnumContent
b. UnityTypeGenerator which contains the imports and namespace declaration and then generates the content using the above tt file.
UnityEnumGenerator had the same refactor as above.
Added an IndentString function to enable proper alignment of nested types.
Committed generated code to allow for easy diffing when we change the code generator.

Also uncommented the nested schema to show that it works!
Tests
Ran End2End tests on the CodeGenerator. It compiled and ran properly!
Documentation
N/A - this is a change that gets us closer to full schema compatibility.
Primary reviewers
If your change will take a long time to review, you can name at most two primary reviewers who are ultimately responsible for reviewing this request. @ mention them.
@jessicafalk @samiwh

@jamiebrynes7 Ideally the generated code would be ordered before the other commits so we could see the diff that this pr creates.

@samiwh My git ninja skills aren't that great


Use the forks from hlissner

https://github.com/hlissner maintains a few number of forks of Emacs packages himself. Considering that this is what ends up in doom-emacs, we probably should override them.
~/Projects/doomemacs master
❯ rg -F ':repo "hlissner/'
modules/lang/org/packages.el
47:    :recipe (:host github :repo "hlissner/evil-org-mode")

modules/lang/lua/packages.el
10:      :recipe (:host github :repo "hlissner/emacs-flycheck-moonscript")

modules/lang/emacs-lisp/demos.org
510:(package! so-long :recipe (:host github :repo "hlissner/emacs-so-long"))

modules/editor/evil/packages.el
9:  :recipe (:host github :repo "hlissner/evil-escape")

core/packages.el
43:  :recipe (:host github :repo "hlissner/ws-butler")

Most a reminder for myself, I should eventually open a PR with the overrides.

Closed by: https://github.com/nix-community/nix-doom-emacs/commit/920c99e161f646f0a1ad7ed366dc5ed5af04c9d2


Feature/chatgpt interface

Updates

[x] Uses pipenv
[x] Uses this ChatGPT wrapper as interface with ChatGPT
[x] Added class for topic selection that selects a random topic generated by ChatGPT

LGTM, happy to merge!


[CLIENT] Building costs are off

Building costs should be increasing quadratically but this is not happening

Fixed with #1899


[Bug] Duplicate category names causes bot start to fail

When I start the bot (running in a Docker container) I get the following error:
requestrr  | [2024-02-29 12:46:30 +00:00] [0   /            ] [Crit ] There was an error registering application commands: Invalid Form Body
requestrr  | DSharpPlus.Exceptions.BadRequestException: Bad request: 400
requestrr  |    at DSharpPlus.Net.DiscordApiClient.BulkOverwriteGuildApplicationCommandsAsync(UInt64 application_id, UInt64 guild_id, IEnumerable`1 commands)
requestrr  |    at DSharpPlus.SlashCommands.SlashCommandsExtension.<>c__DisplayClass39_0.<<RegisterCommands>b__0>d.MoveNext()

It has registered slash commands (probably from first boot?), but using any of them results in "The application did not respond", with no activity in the logs.
Only network settings I have set up is that DNS is routed through Pihole, running in an adjacent container. None of my other container have network connectivity problems with my routing setup.
docker-compose.yaml:
version: "3.4"
services:
  requestrr:
    image: thomst08/requestrr
    hostname: requestrr
    container_name: requestrr
    ports:
    - 4545:4545
    volumes:
    - ./config:/root/config
    restart: unless-stopped
    dns:
      - <IP_ADDRESS> # private IP of the raspberry pi hosting both Pihole and requestrr. I also use this setup in other containers.

I have no custom language files. This is from a clean install right after setting up Radarr and Sonarr connections.
Running requestrr 2.1.5

Hey @TheColorman,
Sorry for the late reply on this issue, I believe this might be linked to the issue #9, but I will test it to find out.
Thank you for the detailed information, that gives me something to work with.
I will let you know when I have something.

Tried to debug a bit on Windows on a dev server, but no I'm not seeing the issue...

also don't get the error when starting a container with the exact same compose.yaml on my dev pc. Could it have something to do with the arm architecture?

Tried to build it in a container:
Dockerfile
FROM mcr.microsoft.com/dotnet/sdk:6.0-alpine

RUN apk add --no-cache \
    git \
    npm

RUN git clone https://github.com/thomst08/requestrr.git /app

WORKDIR /app/Requestrr.WebApi/ClientApp

RUN npm install
RUN npm run build

WORKDIR /app/Requestrr.WebApi

RUN dotnet publish -c release -o publish

WORKDIR /app/Requestrr.WebApi/publish

ENTRYPOINT [ "dotnet", "Requestrr.WebApi.dll" ]

compose.yaml
version: "3.4"
services:
  requestrr:
    build: .
    hostname: requestrr
    container_name: requestrr
    ports:
    - 4545:4545
    volumes:
    - ./config:/app/Requestrr.WebApi/publish/config
    restart: unless-stopped

Again, worked just fine on my PC, but I get the application command error on my raspberry pi.

Issue fixed itself, so apparently it was Discords fault.

It was not Discords fault :)

Issue stemmed from having multiple categories with the same name across Radarr and Sonarr. Making sure no category name was repeated twice fixed the issue (e.g. don't have an anime category in both the Radarr and Sonarr configs).

As discussed on Discord,
Requestrr does not check for unique category names across movies and tv shows, this will need to be corrected in an update to stop from duplicates happening, if this occurs it will cause the slash commands to fail during setup.
I will add this check in a future update.

Hey @TheColorman,
I have just release version 2.1.6, this contains a check for duplicate slash commands.
This will stop the bot from building the commands before sending them to Discords API, it shows an error in the logs about this issue.  I have also updated the webapp to show feedback when the user enters the same category name as another service, eg, tv vs movies.
As far as I can see, this issue should now be resolved, I will mark this as closed. :)


Add initial version of the OSDF landing page.

Need to get this one out the door - self-merging now, will iterate.


Debugger does not stop in a function/class in a file which is not run in debugger

From<EMAIL_ADDRESS>on 2014-08-21T09:49:58Z
Spyder Version:  2.3.0beta2
Python Version:  3.3.5
Qt Version    :  4.8.4, PyQt4 (API v2) 4.9.6 on Windows
pyflakes >=0.6.0:  None (OK)
pep8 >=0.6      :  None (NOK)
IPython >=0.13  :  2.0.0 (OK)
rope >=0.9.2    :  0.9.4 (OK)
sphinx >=0.6.6  :  1.2.2 (OK)
matplotlib >=1.0:  1.3.1 (OK)
sympy >=0.7.0   :  0.7.5 (OK)
pylint >=0.25   :  1.1.0 (OK)
What steps will reproduce the problem?

write a function in file1
write a script in file2 which imports the function in file1
put a breakpoint in file1
run debugger in file2
the breakpoint in file1 is ignored

What is the expected output? What do you see instead?
debugger should stop if file1
Please provide any additional information below
.
Original issue: http://code.google.com/p/spyderlib/issues/detail?id=1941

From ccordoba12 on 2014-11-18T17:31:40Z
Labels: MS-v2.3.3 Cat-Debugger

From ccordoba12 on 2015-01-08T15:10:53Z
Labels: -MS-v2.3.3 MS-v2.3.4


connect-microsoftteams with credential causes error

Using the following code.
$secpasswd = ConvertTo-SecureString "password" -AsPlainText -Force
$mycreds = New-Object System.Management.Automation.PSCredential<EMAIL_ADDRESS>
$secpasswd)

Connect-MicrosoftTeams -Credential $mycreds;

Causes this set of errors to appear
Connect-MicrosoftTeams : One or more errors occurred.: AADSTS75005: The request is not a valid SAML 2.0 protocol message.
Trace ID: 5dc9b749-95d6-47d9-b3fe-2419a4161600
Correlation ID: a720051b-196a-43b2-9ae2-bc44544bbd53
Timestamp: 2018-02-08 20:11:47Z
At z:\PowerShell\create-ms-teams.ps1:22 char:1
+ Connect-MicrosoftTeams -Credential $mycreds;
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : AuthenticationError: (:) [Connect-MicrosoftTeams], AadAuthenticationFailedException
    + FullyQualifiedErrorId : Connect-MicrosoftTeams,Microsoft.Open.Teams.CommonLibrary.ConnectMicrosoftTeams

Connect-MicrosoftTeams : One or more errors occurred.
At z:\PowerShell\create-ms-teams.ps1:22 char:1
+ Connect-MicrosoftTeams -Credential $mycreds;
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : AuthenticationError: (:) [Connect-MicrosoftTeams], AggregateException
    + FullyQualifiedErrorId : Connect-MicrosoftTeams,Microsoft.Open.Teams.CommonLibrary.ConnectMicrosoftTeams

Connect-MicrosoftTeams : AADSTS75005: The request is not a valid SAML 2.0 protocol message.
Trace ID: 5dc9b749-95d6-47d9-b3fe-2419a4161600
Correlation ID: a720051b-196a-43b2-9ae2-bc44544bbd53
Timestamp: 2018-02-08 20:11:47Z
At z:\PowerShell\create-ms-teams.ps1:22 char:1
+ Connect-MicrosoftTeams -Credential $mycreds;
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : AuthenticationError: (:) [Connect-MicrosoftTeams], AdalServiceException
    + FullyQualifiedErrorId : Connect-MicrosoftTeams,Microsoft.Open.Teams.CommonLibrary.ConnectMicrosoftTeams

Connect-MicrosoftTeams :  Response status code does not indicate success: 400 (BadRequest).
At z:\PowerShell\create-ms-teams.ps1:22 char:1
+ Connect-MicrosoftTeams -Credential $mycreds;
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : AuthenticationError: (:) [Connect-MicrosoftTeams], HttpRequestException
    + FullyQualifiedErrorId : Connect-MicrosoftTeams,Microsoft.Open.Teams.CommonLibrary.ConnectMicrosoftTeams

Connect-MicrosoftTeams : {"error":"invalid_request","error_description":"AADSTS75005: The request is not a valid SAML 2.0 protocol message.\r\nTrace ID:
5dc9b749-95d6-47d9-b3fe-2419a4161600\r\nCorrelation ID: a720051b-196a-43b2-9ae2-bc44544bbd53\r\nTimestamp: 2018-02-08
20:11:47Z","error_codes":[75005],"timestamp":"2018-02-08
20:11:47Z","trace_id":"5dc9b749-95d6-47d9-b3fe-2419a4161600","correlation_id":"a720051b-196a-43b2-9ae2-bc44544bbd53"}
At z:\PowerShell\create-ms-teams.ps1:22 char:1
+ Connect-MicrosoftTeams -Credential $mycreds;
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : AuthenticationError: (:) [Connect-MicrosoftTeams], Exception
    + FullyQualifiedErrorId : Connect-MicrosoftTeams,Microsoft.Open.Teams.CommonLibrary.ConnectMicrosoftTeams

Connect-MicrosoftTeams : One or more errors occurred.: AADSTS75005: The request is not a valid SAML 2.0 protocol message.
Trace ID: 5dc9b749-95d6-47d9-b3fe-2419a4161600
Correlation ID: a720051b-196a-43b2-9ae2-bc44544bbd53
Timestamp: 2018-02-08 20:11:47Z
At z:\PowerShell\create-ms-teams.ps1:22 char:1
+ Connect-MicrosoftTeams -Credential $mycreds;
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Connect-MicrosoftTeams], AadAuthenticationFailedException
    + FullyQualifiedErrorId : Microsoft.Open.Teams.CommonLibrary.AadAuthenticationFailedException,Microsoft.Open.Teams.CommonLibrary.ConnectMicrosoftTeams

I am working on an automated process, so I need a way to connect to Teams without user interaction.

This looks like an error in your script rather than in the cmds itself.  Are there any special characters in your password that need to be escaped?

No, it just uses letters and numbers.

@robbert-vanandel  - I am not a SME in this area but one thing to troubleshoot would be to get credentials with:   $mycreds = Get-Credential    on your workstation then type in the pop-up box.. and see if that still gives the error

Also, just to capture for others that might stumble upon this discussion.. there is a really good blog post by Matt Soseman that is related, here: https://blogs.technet.microsoft.com/skypehybridguy/2017/11/07/microsoft-teams-powershell-support/

Hi, @kenwith , yes I've done that as well.  The blog post is what I had used in the beginning. The problem is that I need to be able to do this unattended, so having a pop up window that requires me to log in manually would not work.

@robbert-vanandel - try the below:
Instead of passing the username again:
Connect-MicrosoftTeams -AccountId<EMAIL_ADDRESS>#-Credential $mycreds;
Just pass your credentials ($mycreds) as below:
Connect-MicrosoftTeams $mycreds;
Let us know how it goes.
Cheers,
Yesh
On Thu, Feb 8, 2018 at 4:47 PM Ken Withee<EMAIL_ADDRESS>wrote:

@robbert-vanandel https://github.com/robbert-vanandel - I just tried
your script and it worked for me on a test tenant. I tried with a fake "
<EMAIL_ADDRESS>and got similar error. The only thing I can think is make
sure in the script it has the correct username/password that works when you
use the pop-up. Not sure what else to try. It might be worth opening a
support ticket so they can dedicate some resources to getting it figured
out. You can open a ticket on your tenant admin page under support. Keep us
posted what the solution is!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/office-docs-powershell/issues/147#issuecomment-364287731,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHz3MGUqAM8Ks-Lp91u12lrh_5b8jjB6ks5tS4eRgaJpZM4R-9n0
.

One suggestion is to use -Verbose on the call to Connect-MicrosoftTeams. If it's like other Azure cmdlets, it might show the specific web calls being made along with their parameters. I do not have access to Teams to test this theory.

IDP is outputting invalid SAML information. Needs to have SAML 2.0 vs. SAML 1.0 for the module to connect.

@SamCosby , sorry I don't totally follow.. could you expand on identity provider outputting invalid SAML? How would this be updated? This seems like a great issue for a blog or added content to the Notes in the cmdlet. Really great information to capture.

Also, not sure if same issue but added a link: https://github.com/MicrosoftDocs/office-docs-powershell/issues/156

Sure. I worked with the customer on this one. The IDP that they were using was only allowing the use of SAML1.0 when trying to auth via basic authentication. Which in turn, isn't expected to work because we expect either OAUTH2 (which is used when doing just connect-microsofteams), or SAML2.0.

Awesome, thank you! I added a Pull Request to get this info captured in notes. If anyone wants to adjust what I said please go ahead and submit updated pull request. Thanks all!
https://github.com/MicrosoftDocs/office-docs-powershell/pull/162

Sorry to resurrect this, but I'm configuring our IdP to try to fix this issue, and I'm finding some discrepancies.
@SamCosby mentions that Azure requires SAML 2.0.  This works as expected for connect-microsoftteams, as the pop-up window essentially acts a browser and uses WS-Fed.  All good.
The issue comes with anything that needs to use the STS.  Currently, the STS is configured for SAML 1.1 per the vendor (PingFederate), not the 2.0 mentioned above.
The STS Integration guide (https://www.microsoft.com/en-us/download/confirmation.aspx?id=41185) states that "The token is structured based on a SAML 1.1 token...", which I can confirm the IdP is putting out (namespace portion of a decoded assertion from a fiddler trace):
xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion
It seems that 1.1 should be the correct setting.  I realize the document I have is from 2016 and may be old, which leads to:

Is there a newer document to reference?
If I manage to change the token type to 2.0, what are the effects on apps / clients that currently work fine with the 1.1 type?  It's not a win if everyone's Outlook stops working.

Why is this closed? I am still having this issue. I haven't figured out a way to connect to Teams using the credential object. In my particular case I am trying to authenticate using Azure PowerAutomate.

Still running into this issue, anyone have a fix?

Im having this issue also - Azure PowerAutomate + connect-microsoftteams with a runas account or any other service account
Is there a special way to do this or can it be confirmed that it doesnt work and isnt going to at least


Make propagation.Setter usable for immutable data structures

What version of OpenCensus are you using?
0.12.2
Currently it's impossible to implement a io.opencensus.trace.propagation.TextFormat.Setter for immutable data structures (carrier).
Reproducer
import akka.http.scaladsl.model.headers.RawHeader
import akka.http.scaladsl.model.HttpRequest
import io.opencensus.trace.propagation.TextFormat.Setter

object AkkaHttpSetter extends Setter[HttpRequest] {

  override def put(carrier: HttpRequest, key: String, value: String): Unit = {
    // Due to the immutable nature of HttpRequest, the addHeader function returns a new HttpRequest
    // with the header set. The initial HttpRequest (instance in carrier) is *not* modified.
    carrier.addHeader(RawHeader(key, value))
    ()
  }
}

Suggestion
I suggest to change the put method of the Setter so it returns the new carrier, this way both mutable and immutable data types are able to use it.
    public abstract C put(C carrier, String key, String value);

Usually in this case I make the carrier type a builder. Is that not
possible in akka?
Returning the carrier will require some careful coding and still not work
for all things I bet..

AFAIK there is no builder for the HttpRequest in the scaladsl of Akka-Http. I just double checked and couldn't find one.
I managed to build up a List of HttpHeaders with the scala.collection.mutable.Builder, I'll the snippet here for further reference in case someone has the same question.
import akka.http.scaladsl.model.HttpHeader
import akka.http.scaladsl.model.headers.RawHeader
import io.opencensus.trace.{BlankSpan, Tracing}
import io.opencensus.trace.propagation.TextFormat.Setter

object MyApp extends App {
  import scala.collection.{immutable, mutable}

  type HttpHeaderBuilder =
    mutable.Builder[HttpHeader, immutable.Seq[HttpHeader]]

  object AkkaHttpSetter extends Setter[HttpHeaderBuilder] {
    override def put(carrier: HttpHeaderBuilder,
                     key: String,
                     value: String): Unit = {
      carrier += RawHeader(key, value)
    }
  }

  def headersBuilders: HttpHeaderBuilder =
    new mutable.Builder[HttpHeader, immutable.Seq[HttpHeader]] {
      private val b = mutable.ArrayBuffer.newBuilder[HttpHeader]

      override def +=(elem: HttpHeader): this.type = {
        b += elem
        this
      }

      override def clear(): Unit                       = b.clear()
      override def result(): immutable.Seq[HttpHeader] = b.result().toList
    }

  val format  = Tracing.getPropagationComponent.getB3Format
  val headers = headersBuilders
  format.inject(BlankSpan.INSTANCE.getContext, headers, AkkaHttpSetter)
  println(headers.result()) // List(X─B3─TraceId:<PHONE_NUMBER>0000000000000000000000, X─B3─SpanId:<PHONE_NUMBER>000000)
}

ahh very good. incidentally in brave, where this pattern originates from,
quite often the type of carrier is indeed a headers object, not a request.
Maybe we should revise the javadoc to mention this.


utf8 characters badly rendered in nvim (non-qt) on Windows

not sure if this is a neovim-talon or talon.nvim problem but on Windows I noticed that utf8 (?) characters are badly rendered in nvim 0.10.0 (non-qt) (release) (left) but render fine on nvim-qt 0.9.5 (release) (right)

I also confirmed the utf8 characters render badly on nvim 0.9.5 (non-qt) so definitely a problem with non-qt.

Despite what is described in https://github.com/equalsraf/neovim-qt?tab=readme-ov-file#windows, not all nvim released versions include nvim-qt afaict but it should be able to still use one for all nvim versions using https://github.com/equalsraf/neovim-qt/wiki/Windows-AppVeyor-Builds


Create rules and functionality for multiple records in an area to interact spatially for reporting (instead of linking records)

As an InvasivesBC user, I need to be able to enter an independent record (observation, treatment, biocontrol dispersal, etc) without having to choose historical records to link it to.  Then I need the system to be able to accurately overlay and do calculations so that when we extract data via metabase or other ways, it doesn't duplicate any areas where multiple observations occur, and it doesn't give you area post-treatment etc.
Current rule is that if the geometry is the same, you can add multiple species to a record, but if the geometry is different, we require users to create separate records, and use the copy paste function to save time rather than entering all the fields over again.  SMEs have mentioned it would be nice to put multiple shapes into one record - need to confirm this is not an option, as it could help with the back end spatial overlaying to reduce the number of records created at one time?

@CrystalChadburn  will draft out the "rules" that we need to solve with help from the SMEs.
@micheal-w-wells  please add details to this with the right techy words and checkboxes

Hey Jamie - for this ticket just worry about this:

[ ] Make a view in postgres that lists observation ids, the original activity geo, and (in a separate column) the geo the union geo it is a part of, and that union geo's id.
[ ] Take into account negative observations.  Chat before we start this one.

That will allow us to either group by activity / observation id, or group by the union geo id for reporting total by species etc later down the road, or to provide a featurecollection of just the union geos (without duplicates, grouped by union geo id).


Dismiss notifications for messages already read on other devices

What I do
I receive a new message. I read that message with https://vector.im and then look at my phone with the Vector Android App installed.
What I expect
The notification about the message I've just read should disappear when read on any client.
What currently happens
The notification stays there until I dismiss it manually.

Vifon : it should work, i will check later.
It might also require few seconds (or so) to let the server sends pushes. (the notifications are cleared with the push)

Do you mean the Android notification in the notification shade or the "unread" marker in the app itself? I mean the former, sorry for not clarifying.

Vifon,
both of them
1- the notification in the android application notifications (shared with any other notified applications)
This notification should disappear
2- the unread marker in the application should also be cleared at next launch (if not yet launched)  or refreshed (if the application is launched)

I've tested it a bit more and it seems both notifications disappear reliably only when Vector is the foreground application. I don't use Greenify or similar mechanisms on it, which could interfere with the push message. I think a few times it disappeared when I had my phone just unlocked (without Vector actively running) but I couldn't reliably reproduce it.
The unread marker works properly, only the Android notification has issues.
How can I gather meaningful logs about this behavior?

once you've got it, open the application and send a bug report (hamburger icon). The logs should help us to investigate your issue (if you tell me which message is concerned, it would be nice)

Ok, I've just sent the report with a brief description. The notification disappeared only when I opened the app to send the report.

I found one use case
0 - kill the application
1- got a notified message
2- read the message from another client
13:29
-> the push was stuck

Fixed with
https://github.com/vector-im/vector-android/commit/ea63ac3e217f52b416f61b03677840cd09139864


[silentMode]: Remove deprecated silentMode compatibility

Removing deprecated silentMode for version 3.2

Coverage increased (+1.8%) to 91.881% when pulling 9ef986c87202dac9f004763e04c067f8c9e71b4b on sanmibuh:silentMode into a074f93e10a0893fcd37bfdbf03351268eba4934 on j-easy:master.

Great thanks!
I'll keep this PR open for now and merge it just after v3.1 release.
You are ahead of time 😄

Hi @sanmibuh
The builder has been deprecated in v3.1 and will be removed in v3.2 ( see #126 ).
This PR is no more relevant, so I'm closing it.
Kr
Mahmoud


Fix missing return in VTObject::offset_all_children_with_id

The return value setting to true was obviously missing.
Describe your changes
Added setting of the ret value to true if child found.
How has this been tested?
In Kverenland's EcomDMG II the buttons starts to move 45" southeast when clicked and the output got filled with
[VT Server]: Client 129 change child location failed because the target object with ID 63505 isn't applicable
[VT Server]: Client 129 change child location failed because the target object with ID 62511 isn't applicable
[VT Server]: Client 129 change child location failed because the target object with ID 63505 isn't applicable

This commit fixes the erratic behavior.

I am not sure why this closed, I was just trying to rebase on the latest changes... sorry about that... can you re-push this branch's original changes but rebased onto main? @martonmiklos

I am not sure why this closed, I was just trying to rebase on the latest changes... sorry about that... can you re-push this branch's original changes but rebased onto main? @martonmiklos

Uh I got confused. Actually we got this merged previously. I must be messed up something locally and PR-ed again.


Adding a Person in a Wheelchair or with a Stroller in Carla

Can anyone help me figure out how to add a person in a wheelchair or with a stroller on the street? Is it possible to add this type of pedestrian in Carla? Thank you!

We have already added pedestrians blueprints in wheelchair in the UE4 version of CARLA.Would that work for you or you want to add your own asset?

Thank you very much! I noticed that you’ve already added pedestrian blueprints in wheelchairs . This might work well for my needs, thank you

Thank you very much! I noticed that you’ve already added pedestrian blueprints in wheelchairs in the UE4 version of CARLA. This might work well for my needs, thank you


Error logging uses wrong module

The usage of the log statements here leads to the logged module name being opendut_util::logging rather than the module name where the error was logged.
An example log statement:
[2024-02-06T14:01:15.087Z ERROR opendut_util::logging] Peer 'TestPeer' <20554d92-8e39-4331-83d3-ba71158360ce> could not be created, due to internal errors:
      An error occurred while creating peer <20554d92-8e39-4331-83d3-ba71158360ce>:
      Received status code indicating an error: HTTP status client error (405 Method Not Allowed) for url (https://netbird.opendut.local/api/groups)

This logging usage should either be implemented with a macro that captures the module name where the call happens or by using the newly stabilized inspect_err instead.

PR #78 will close this issue.


Can you make this one work with for firefox?

Hi. I have just moved to firefox because chrome eat too much CPU and Memory. That would be much appreciate if you can make the workflow work with firefox. Hope to hear from you soon. Thank you very much.

This workflow only works with chromium based browser.
And I'm not planning to create firefox browser workflow at this time.


Implementation of AU-A1ZBR2GW

Initial implementation of 2-gang dimmer switch AU-A1ZBR2GW, as per issue https://github.com/zigpy/zha-device-handlers/issues/795. Still to do:

choose suitable translation strings for the automation key on color temperature automation
prevent useless entities being created (presently one switch per endpoint)

Codecov Report

Merging #800 (1b58cdc) into dev (332798b) will increase coverage by 0.05%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##              dev     #800      +/-   ##
==========================================
+ Coverage   83.80%   83.85%   +0.05%
==========================================
  Files         181      182       +1
  Lines        4359     4374      +15
==========================================
+ Hits         3653     3668      +15
  Misses        706      706

Impacted Files
Coverage Δ

zhaquirks/aurora/aurora_dimmer.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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

Pull Request Test Coverage Report for Build 617459905

15 of 15 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.06%) to 83.859%

Totals

Change from base Build 611699233:
0.06%

Covered Lines:
3668

Relevant Lines:
4374

💛  - Coveralls

Is there a route forward for this one? I can't see a simple solution for the "color_up" and "color_down" strings without adding extra strings for translation. They could be derived from "dim_up" and down , plus some of the color commands, but only if some assumptions about word order are made.
In terms of preventing the creation of junk entities, it appears that this would require changes to both this project and zha itself (autodiscovery appears to be in https://github.com/home-assistant/core/blob/dev/homeassistant/components/zha/core/discovery.py).
Any advice on proposed routes forward gratefully received!

@Adminiuga do we need to add another flag like skip_configuration for this? the problem is that the device leverages reporting on input clusters instead of leveraging output clusters correctly. So, if we remove the input clusters on the replacement (to prevent useless entities from getting created) the output clusters don't go through binding and report configuration so the device will never work. What should we do here? We could add a flag to the output clusters to make them go through bind and configuration or we could use a flag to prevent entity discovery for the bogus input clusters... thoughts?

We could change the ep_attribute name for the server clusters? The same way we do it for Tuya? Alternative is to mask the vendor or model in zha discovery but I'm not really fond of this approach

Is anything else needed here or are we good to go?

The quirk works, I've been using it for the past month no problem. Beyond the issues mention in the OP (creation of junk entities, translation strings) the implementation itself works well.

in class WallSwitchOnOffCluster(EventableCluster, OnOff) class override ep_attribute = "not_on_off"

Implemented the suggested fix. I'm talking to aurora RE mixed up clusters, but no movement so far - just being bounced around. Will update if anything material comes of it (eg updated firmware etc)

For interest, Aurora finally got back to me: "Our development team is on part time furlough so any work is extremely slow at the moment.
We are looking at a way to support HomeAssistant but currently have no plans or ETA to do so.
Once we are ready to reveal any plans we will send out an email to all of our customers."


Don't send self-replies as webmentions

My POSSE setup syndicates short articles as threads on social media, and when I enable bridgy for those sites, it sends the entire thread as webmentions back to my original article.
It would be nice to ignore my account's replies to my own post when sending webmentions.

True! This annoys me too.
We've tried different approaches to this. First we ignored all of your own replies, which didn't work well because when users replied to other people's replies, they wanted those backfed. Then we ignored your replies to your own posts, which is better, but still misses when you reply twice in a row as part of an overall thread. We're currently trying the other extreme with Bluesky, backfeeding all of your replies, which is ok except for initial threads like this.
We could try to ignore all of the "initial thread," ie your original post and your chain of replies to it, and then backfeed all of your replies after someone else has replied. It's a lot of state to juggle bookkeeping for, though.

How about an option to omit all replies from your own account that occur within a given duration of the initial post? Since my syndication is automated, I'd set it for like 1 minute and be fine. No chance I reply within 1 minute of the initial thread. For people doing it manually, they could probably set it for 5 minutes or so and be fine.

Interesting idea! I've avoided user settings so far, though, and maybe more importantly, I'd prefer something deterministic here.


⚠ Bofrost.be has degraded performance

In e5e260b, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1699 ms

Resolved: Bofrost.be performance has improved in 2df92bb.


Contributor count broken

It seems that the contributor count for this repository is broken. The team responsible for this project has 5 members but it seems that only 4 contributors are displayed.
Steps to reproduce:

Visit https://github.com/mereckaj/PML-IDE/graphs/contributors

Only four contributors will be displayed, instead of the five that should be displayed.

Can confirm this bug is present on Firefox 45.0.1 on Windows 10, will confirm later on LMDE.


eyelid cilium (eyelash) terms

Please add:
abnormal eyelid cilium morphology
DEF: any structural anomaly of the hairs that grow at the edge of the upper or lower eyelid; eyelashes protect the eye from debris and are sensitive to touch, thus providing a warning that an object is near the eye (which is then closed reflexively)
SYN: abnormal eyelash morphology
SYN: abnormal eyelid cilia morphology
SYN: abnormal lash morphology
abnormal eyelid cilium number
DEF: anomaly in the number of the hairs that grow at the edge of the upper or lower eyelid
SYN: abnormal eyelash number
SYN: abnormal eyelid cilia number
SYN: abnormal lash number
decreased eyelid cilium number
DEF: reduction in the number of the hairs that grow at the edge of the upper or lower eyelid
SYN: decreased eyelash number
SYN: decreased eyelid cilia number
SYN: decreased lash number
From J:30747, J:13040
short eyelid cilia
DEF: decreased length of any of the hairs that grow at the edge of the upper or lower eyelid
SYN: decreased eyelash length
SYN: decreased eyelid cilium length
SYN: decreased eyelid cilia length
SYN: decreased lash length
From J:30747
Thanks
Anna

New terms added:
abnormal eyelid cilium morphology  MP:0013895
abnormal eyelid cilium number MP:0013896
decreased eyelid cilium number MP:0013897
short eyelid cilia MP:0013898


Gitter URL is invalid

The url https://gitter.im/danzajdband/hackdash does not exists on Gitter.im

@danzajdband I think you have to do this, because the project is in your account?

@montogeek try it now!
thanks for the report


feat: input-time: add opened property

The goldens look as expected. There are some height changes due to moving input-times around in order to reflect the same functionality in the tests (i.e., if the new tests were added below instead of above #dropdown then it would open down instead of up)


Stop videos from autoplaying on page load

Videos shouldn't autoplay by default IMO as it becomes quite annoying when revisiting the page or reloading the browser after a reset etc.
Since they don't autoplay anymore I also removed the muting by default.
let me know what you think @fmrico

Ok with this change!!
Thanks!!


Add cron tasks for Django management commands syncdatasource and housekeeping

Overview

The main goal of this PR is the creation of cron tasks in the workload container, that will run Django housekeeping and syncdatasource management commands.
For that purpose, two cron tasks will be created. This tasks will be invoked using pebble exec, that will use the environment variables from the main django project.
Besides that, a Juju action to createsuperuser has been added. This action will be deleted once it is included in the final Django 12 factor project.
Integration tests have been added to check that the syncdatasource works correctly updating a data source. Another integration test has been created to check that there are rq workers in NetBox.
Rationale

Following NetBox documentation, a housekeeping task has to be scheduled.
To achieve (a limited) functionality for reports and scripts in an HA environment with several instances, it is necessary that the reports/scripts are in all instances. One way of achieving this is to get them in a data source, with the check to autosync. Once the syncdatasources task runs, the reports/scripts will be in all instances.
Juju Events Changes

Module Changes

Library Changes

Checklist

[x] The charm style guide was applied
[x] The contributing guide was applied
[x] The changes are compliant with ISD054 - Manging Charm Complexity
[x] The documentation is generated using src-docs
[x] The documentation for charmhub is updated.
[x] The PR is tagged with appropriate label (urgent, trivial, complex)

Nice, the pebble exec looks much better.
Side note: I smiled when I saw the label "trivial" applied to a 355 line PR. I'd hate to see how many LoC a "complex" PR is. :-)

Nice, the pebble exec looks much better.
Side note: I smiled when I saw the label "trivial" applied to a 355 line PR. I'd hate to see how many LoC a "complex" PR is. :-)

Most of it is the integration tests code. But you are right, and just with the cron/exec it deserves complex, updated.


Provide a way to test if a database file needs repair before opening it

For large redb database files, the repair performed when opening a database that has not been shut down cleanly takes a long time (often more than 30 minutes for the ordinals index when running with --index-sats). We can't currently warn the user that a repair is necessary, so we often have users assuming ord hangs and then killing the process.
What would be the best way to see if mem.needs_repair() is true for a given database file before calling Database::new?

Oh hmm, interesting issue. I don't really want to expose needs_repair() since that's pretty low level functionality. Maybe some kind of callback on DatabaseBuilder like DatabaseBuilder::set_repair_callback(callback: impl Fn() -> bool) which would take a callback and allow the user to abort the repair (causing new to fail with a error). Although I'm a little reluctant to jump into adding that right away, since it seems like there might be other functionality people might want when getting a repair callback
As a quick hack you can just check the the recovery bit in the file yourself. Now that the format is stable, that won't change without a minor/major version bump. I do that in the tests. It's the 9th byte 2nd bit. https://github.com/cberner/redb/blob/d8be9580591aa063469df6a7faf243d17a5a59a6/src/tree_store/page_store/header.rs#L593-L597

Thanks for quick reply, that all makes sense. Will go with checking the bit for now.

Can you give the attached PR a try and see if that addresses your use case?


Implement the Blinn-Phong reflection model

Right now only the diffuse color is being used when rendering, at the end of the project we would like to have some sort of simple shading model that can be used to visualize the ocean. If we can try and use the Blinn-Phong model for this purpose, it would be awesome, since a huge chunk of frame-time is being spent on the ocean simulation (we don't have time for a reflection model that is more expensive).

Implemented in share/shader/lighting.glsl. Still need to create a suitable set of parameters for the sea diffuse and specular reflectivities, and the specular hardness exponent that needs to be applied. Might need to optimize the two subsequent loops somehow since they might be slowing the shader down a bit.


Add source links

Closes #550

Coverage decreased (-0.9%) to 83.687% when pulling 5f088ed46d9a13c86e739c5b31d66aeea7fdbd19 on eatonphil:source-links into 99888957cb9aa78e763526d2a981579c4f098b58 on linode:master.

Coverage decreased (-0.02%) to 84.861% when pulling ff1f0703a1d10c330605a9eacaca597c5d3fea3d on eatonphil:source-links into a6582f7f337e00f1cd41dc24680e095f0342a909 on linode:master.

Coverage decreased (-0.02%) to 84.861% when pulling ff1f0703a1d10c330605a9eacaca597c5d3fea3d on eatonphil:source-links into a6582f7f337e00f1cd41dc24680e095f0342a909 on linode:master.


Permission update

This should now use the ssh-key to authenticate and work around the branch protection rule.

Does not work- deleting


Correction for raw affiliation Canadian Rivers Institute, Fredericton, NB, Canada, E3B 5A3; School of Environment and Sustainability, University of Saskatchewan, Saskatoon, SK, Canada, S7N 5C8

Correction needed for raw affiliation Canadian Rivers Institute, Fredericton, NB, Canada, E3B 5A3; School of Environment and Sustainability, University of Saskatchewan, Saskatoon, SK, Canada, S7N 5C8
raw_affiliation_name: Canadian Rivers Institute, Fredericton, NB, Canada, E3B 5A3; School of Environment and Sustainability, University of Saskatchewan, Saskatoon, SK, Canada, S7N 5C8
new_rors: 010x8gc63;05nkf0n29
previous_rors: 010x8gc63
works_examples: W3035374088
contact: 96f5c8d7bcc1169187bc3130133af506:08c5533f @ ourresearch.org

This issue was accepted and ingested by the OpenAlex team on 2024-10-10. The new affiliations should be visible within the next 7 days.


add std.compiler.Version

I am hesitant to call this a fix for issue 7417, because I think there is still some merit to the idea as proposed, but this is a common-enough workaround that I feel it is an appropriate for inclusion in Phobos. The rationale both for and against this has been discussed to death already, and can be found in the issue as well as the many forum threads that have come up over the years.
I am unsure if std.compiler is the ideal module for this, but it doesn't seem like any other module is a better fit, and I don't think adding a new module just for this is justifiable.
Note that the example in the changelog entry and the example in the unittest differ - this is due to a limitation of version specifications. They are only permitted at module scope.

The rationale both for and against this has been discussed to death already

As far as I know, the 'official' position is still that version logic is restricted by the design. The standard library shouldn't endorse what the language is trying to avoid, that sends a mixed message.
In any case, this needs to be approved by @atilaneves
Personally I'm against this addition. The example in the changelog:
static if (Version.D_InlineAsm_X86 || Version.D_InlineAsm_X86_64)
{
    version = UseX86Assembly;
}

Can easily be expressed by:
version (D_InlineAsm_X86)
    version = UseX86Assembly;
version (D_InlineAsm_X86_64)
    version = UseX86Assembly;

Also, mixing static if and version doesn't work properly, and the changelog example should arguably be deprecated: Issue 7386

The rationale both for and against this has been discussed to death already

As far as I know, the 'official' position is still that version logic is restricted by design. The standard library shouldn't endorse what the language is trying to avoid, that sends a mixed message.

The linked issue has not been marked WONTFIX. It seems to me that this is very much unresolved.

In any case, this needs to be approved by @atilaneves
Personally I'm against this addition. The example in the changelog:
static if (Version.D_InlineAsm_X86 || Version.D_InlineAsm_X86_64)
{
    version = UseX86Assembly;
}

Can easily be expressed by:
version (D_InlineAsm_X86)
    version = UseX86Assembly;
version (D_InlineAsm_X86_64)
    version = UseX86Assembly;

DRY. Especially here, where a compiler will be unable to help you with a typo. While it is true that this PR doesn't solve that entirely, it can cut down on the number of error-prone version specifications and that is an improvement, IMO.

Also, mixing static if and version doesn't work properly, and the changelog example should arguably be deprecated: Issue 7386

I would personally argue for version specifications/conditions to be deprecated and removed entirely, as they require a valuable keyword (version), are redundant (static if) and dangerously error-prone (initial drafts of this PR had the wrong capitalization for D_InlineAsm_X86. very annoying). But I suspect that this would not be a popular move and pushing for it would not be a valuable use of my time.

The linked issue has not been marked WONTFIX. It seems to me that this is very much unresolved.

I can change that for you :slightly_smiling_face: although controversial issues tend to be reopened when that happens.

DRY

Has to do with redundant pieces of knowledge spread out over the project. It does not mean "factor out every common piece of source code you can", that results in an incomprehensible code golf submission. Otherwise I'd argue for support of version("D_InlineAsm_X86(_64)?".regex) and review this PR by saying this:
    static assert(Version.all);
    static assert(!Version.none);

Should become this:
    static assert(Version.all && !Version.none);

Because 'don't repeat static assert'.

I'll bring this up in the next DLF monthly meeting, but without new compelling arguments, I don't expect a different outcome. If you can demonstrate problems (other than it not looking nice) in existing projects that the current logic causes, you'll have a stronger case.

That's a made up scenario.

Version.linux || Version.OSX

Should probably be version(Posix), but can't tell since there's no context for this code

This PR merely implements a common partial solution that the community has already been using.

Can you give an example of a dub project effectively using this?

That's a made up scenario.

Okay. Version typos do happen, and can go undetected for a pretty long time.

Version.linux || Version.OSX

Should probably be version(Posix), but can't tell since there's no context for this code

Perhaps, but there is precedence in Phobos here.
https://github.com/dlang/phobos/blob/cf97c75385dda44cbc0d64fa73ec68286ebe5c89/std/math/algebraic.d#L598-L602

This PR merely implements a common partial solution that the community has already been using.

Can you give an example of a dub project effectively using this?

No. Github does not make such a search feasible. But I can provide multiple forum posts and issues where this code has been suggested.

Issue 7417, Comment 11anonymous4
Re: Version block "conditions" with logical operators (even andrei was in favour of this being in phobos, apparently!)
Re: version as an expression?
Re: version(number) is completely useless
Re: Neater "not version (...)" ?
Re: More operators inside is(...) expressions
Re: nice library workaround for lack of version boolean operations, would be nice to have in phobos

Okay. Version typos do happen, and can go undetected for a pretty long time.

That's a good example of DRY: the list of reserved version identifiers is duplicated between the compiler and spec, making it easy for them to be out of sync. It's not something that would be prevented by version algebra though, that only prevents inconsistent spelling of an identifier within 10 lines of code.

Perhaps, but there is precedence in Phobos here.

That's a good example. Consider the GenericPosixVersion was misspelled in the FreeBSD branch, and it wasn't spotted during code review. The CI that compiles FreeBSD would fail, because the version statement falls through to the last branch with static assert(0).

No. Github does not make such a search feasible. But I can provide multiple forum posts and issues where this code has been suggested.

That's a nice list! But just because people present it as a proof of concept, doesn't mean it has been used successfully and battle tested in production. I think that when push comes to shove, users still rather use version statements than import a template that's prone to trigger compiler bugs.
It's currently the norm that Phobos additions preferably first prove themselves successful as a dub package. For example, std.sumtype was developed and gained popularity on dub before its Phobos inclusion. Now, this PR's feature is a bit trivial for a dub package, but perhaps you can ask in the forum if anyone has successfully used a template like it.
Because here's the thing: Walter has decades of experience with #ifdef hell in C, and designed D's version system to try to avoid that. He does not have experience with "inconsistent version identifier spelling within 10 lines of code hell", so it probably takes a strong argument based on real world experience to change his mind. Not a hypothetical scenario designed to trigger the failure mode of the current way.

I don't think this merits inclusion in Phobos, especially as there's no reason anyone can't use this themselves right now. As @dkorpel said, I don't think the standard library should enable something that the language explicitly makes difficult. I understand that not everyone might agree on that stance, but the beauty is that solutions such as this one are possible anyway.

So, time to to change version() syntax ?
This behavior of version creates a lot of bloat in the users modules (and even on DMD/Phobos/DRuntime codebase) and this alternative solves that bloat, without doing a syntax breaking change.
The argument of "there's no reason anyone can't use this themselves right now" can be applied to the whole Phobos. And it ranges the simplest things as a fromStringz to std.windows.registry.
Do we really need Windows specific registry utility in a standard library? That's dubious and it drills down, in the end, to what people need and their general concerns.

This behavior of version creates a lot of bloat in the users modules (and even on DMD/Phobos/DRuntime codebase) and this alternative solves that bloat

Can you give examples of this?

the 'official' position is still that version logic is restricted by design

That's correct.

This PR is not approved.

This behavior of version creates a lot of bloat in the users modules (and even on DMD/Phobos/DRuntime codebase) and this alternative solves that bloat

Can you give examples of this?

As mentioned:
https://github.com/dlang/phobos/blob/cf97c75385dda44cbc0d64fa73ec68286ebe5c89/std/math/algebraic.d#L598-L602
https://github.com/dlang/phobos/blob/cf97c75385dda44cbc0d64fa73ec68286ebe5c89/std/math/hardware.d#L19-L38
And on druntime:
https://github.com/dlang/dmd/blob/1188adc84ff1777f4a0153a8a5d7729ab5866dce/druntime/src/object.d#L87-L105
https://github.com/dlang/dmd/blob/1188adc84ff1777f4a0153a8a5d7729ab5866dce/druntime/src/etc/linux/memoryerror.d#L17-L25
https://github.com/dlang/dmd/blob/1188adc84ff1777f4a0153a8a5d7729ab5866dce/druntime/src/core/vararg.d#L22-L45
https://github.com/dlang/dmd/blob/1188adc84ff1777f4a0153a8a5d7729ab5866dce/druntime/src/core/stdc/errno.d#L17-L40
https://github.com/dlang/dmd/blob/1188adc84ff1777f4a0153a8a5d7729ab5866dce/druntime/src/core/stdc/stdio.d#L18-L49
It's like everywhere.
At Weka, we have isVersion template, very similar to this: https://github.com/dlang-community/mecca/blob/master/src/mecca/lib/reflection.d#L565
PowerNex also have it https://github.com/PowerNex/PowerNex/blob/bcb6cf9e8ed9bb21f2ff9e3b388c80220915cb38/src/system/stl/stl/trait.d#LL46C1-L46C1
@CyberShadow ae library also uses it: https://github.com/CyberShadow/ae/blob/5d9728948d43110d3e07d028beca0734c954ad8f/sys/git.d#L693
@dkorpel your own code https://github.com/dkorpel/ctod/blob/3420551315d352c31100138270e564e2972f2fae/source/ctod/translate.d#L20-L24
raylib-d https://github.com/schveiguy/raylib-d/blob/30c97fa28777e7252c8c370a5f3799421329078a/source/raygui.d#L14
If you need some examples, just search for a few repos on github. I just did these simple searches: https://github.com/search?q=hasVersion+path%3A*.d&type=code and https://github.com/search?q=isVersion+path%3A*.d&type=code

I don't have a position on this particular change, but I do have a philosophical question.
What is the fundamental difference between version and static if, in that one allows using && and ||, and the other does not?
For that matter, what is the fundamental difference between version and regular if?
Why does the argument that complex boolean expressions make code hard to read not apply to static if and if?

Why does the argument that complex boolean expressions make code hard to read not apply to static if and if?

It does apply. "no code" > "straightforward code" > "code with many branches". However, complex conditions can be required because your code solves a complex problem. It's best to have good test coverage where all paths are taken in that case.
Version logic is different because it's almost always accidental complexity, and it's hard to test. When you have complex version logic, that sucks, but writing it as a concise one-liner is pure window dressing.

One thing that I've noticed is that several of the examples used in the version() specification are much more concisely written with static if.
Exhibit A:
version (ProfessionalEdition)
{
    version = FeatureA;
    version = FeatureB;
    version = FeatureC;
}
version (HomeEdition)
{
    version = FeatureA;
}
...
version (FeatureB)
{
    // implement Feature B ...
}

Could be:
enum FeatureA = Version.ProfessionalEdition || Version.HomeEdition;
enum FeatureB = Version.ProfessionalEdition;
enum FeatureC = Version.ProfessionalEdition;
...
static if (FeatureB)
{
    // implement Feature B ...
}

Exhibit B:
class Foo
{
    int a, b;

    version(full)
    {
        int extrafunctionality()
        {
            //...
            return 1;  // extra functionality is supported
        }
    }
    else // demo
    {
        int extrafunctionality()
        {
            return 0;  // extra functionality is not supported
        }
    }
}

Could be:
class Foo
{
    int a, b;
    int extrafunctionality()
    {
        static if (Version.full)
        {
            // ...
        }
        return Version.full;
    }
}

Exhibit C:
version(linux) {
  enum ExtraFunctionality = true;
} else version(OSX) {
  enum ExtraFunctionality = true;
} else {
  static assert(0, "system not accounted for");
}

Could be:
static if(Version.linux || Version.OSX) {
  enum ExtraFunctionality = true;
} else {
  static assert(0, "system not accounted for");
}

What do we gain by having version()? Even if you prefer the original examples, they are still reproducible with static if in place of version(). I can tell you what we lose out on by having version(): a valuable identifier. It's a keyword, so we cannot have variables named 'version'. Do you know how often I see version fields in serialized structures?
version() also has a consistency problem. Why are some predefined versions lowercase while the majority are uppercase (linux? Windows?)? Why are the underscores only sometimes used as word separators? The D compiler can't help us when we misspell these identifiers at all. There is no Error: undefined identifier Linux, did you mean linux?.
But that can't be done, because instead of the tri-state undefined/false/true you can achieve with typical booleans, we only have undefined/true. These are the things we were supposed to be leaving behind. The compiler can't help you if you misspell a version definition on the command line because of this.
Why are users forced to "avoid #ifdef hell" instead of discovering and choosing that path on their own? I know I wouldn't willingly choose it from looking at the examples provided. If there's a benefit to this, it should be demonstrated, not simply asserted. Show, don't tell. Not only am I unconvinced by the status quo here, I find myself actively resenting it due to the feature's shortcomings mentioned above.
Personally, I would rather see all predefined versions being made into simple namespaced boolean enums usable with a similar syntax as this PR. Version.nonexistent would be an error unless defined on the command line, Version.Windows would be true/false as appropriate.
The only reasonable course of action is clear. version() must be eradicated in its entirety. It is dangerous and redundant. It will not be missed.

"it's not supposed to look nice and concise"

That is kind of a no-argument to me. It's very workaround-ish to me and the reason for people to use it is maybe because they need it.
Plus, this is the level of workarounds I need to deal with:
version (A) version = A_;
else version (B) {}
else version (C) {}
else version = A_;

version (A_) version = AorB;
version (B)  version = AorB;

And no, this doesn't work:
version (A) {}
else version (B) {}
else version (C) {}
else version = A;

version (A) version = AorB;
version (B)  version = AorB;

Plus, this is the level of workarounds I need to deal with:

Is that code private? If you add back the context, and show how it would be improved by std.compiler.Version, it could be a stronger example in support of this PR.

Plus, this is the level of workarounds I need to deal with:

Is that code private? If you add back the context, and show how it would be improved by std.compiler.Version, it could be a stronger example in support of this PR.

It is private. I can try to rewrite it with Version., but I think this is rather a bug on version logic, preventing me to use it before assignment, even though it can be assigned via a compiler flag.
But, briefly, this is to be able to define a "default" version flag on the module, if no version flags are passed to the compiler.

we cannot have variables named 'version'

version() also has a consistency problem

version() must be eradicated in its entirety

Is the argument for this PR now based on paving the way to replacing the version system entirely? That's a big breaking change, and would require even stronger rationale.

But, briefly, this is to be able to define a "default" version flag on the module, if no version flags are passed to the compiler.

Heh, that's funny. I recently did something very similar: https://github.com/dlang/dmd/pull/15253
It would be nice to have a way to define a version flag as 'default' indeed, but that wouldn't require logical operators to be supported on version flags.

Why does the argument that complex boolean expressions make code hard to read not apply to static if and if?

It does apply<EMAIL_ADDRESS>Complex conditionals are a rich source of bugs.

Why are some predefined versions lowercase while the majority are uppercase (linux? Windows?)?

They were generally selected to match the way that C compilers commonly cased their predefined macros. I received some flak years ago for naming the Linux version linux as "denigrating" Linux. I had simply named it linux to match the gcc's use of it.

Since this PR discussion and my newsgroup post failed to find compelling examples to change the leadership's minds (https://github.com/dlang/phobos/pull/8750#issuecomment-1556729256), I don't think this is PR has a future.
We'll have to agree to disagree here unfortunately.

Since this PR discussion and my newsgroup post failed to find compelling examples to change the leadership's minds (#8750 (comment)), I don't think this is PR has a future.
We'll have to agree to disagree here unfortunately.

No proper justification for why it is not accepted, again. Another discussion to be added to the endless number of leadership's decisions with a biased opinion rather than logical pros and cons.
This, in particular, is advocating for bloated source code with an horrible way to make branching with version identifiers. In a perspective of a possible newcomer, I would look at the way we do these branching as a workaround, specially when it is "the official way" to do it.
I believe we are slowly killing Phobos by deferring such essential helpers to third-party libraries.

Another discussion to be added to the endless number of leadership's decisions with a biased opinion rather than logical pros and cons.

That's a very unfair summary

No proper justification for why it is not accepted

This PR should come with good justification why it should be accepted. With my inquiries I tried to help gather examples of real bugs caused by D's current version design that this PR prevents, or snippets of "problematic code before this PR vs. how it's solved after this PR", but didn't get any. All I got was:

examples that are constructed / stripped of all context
a bug that's related, but not actually solved by this PR (issue 15452)
definitions of the version template, without much usage of it
examples of 'bloat'. Concretely: version logic expressed in ~10 lines of code. I'm sorry, but here's where we differ on what 'problematic' is.

Most of the examples where referenced from official code, not just a random library that uses this that way, and for me, seeing this the official way to do it, is concerning to me.

examples of 'bloat'. Concretely: version logic expressed in ~10 lines of code. I'm sorry, but here's where we differ on what 'problematic' is.

Maybe I see the definition of problematic more broadly, because problematic code is not just code that produces buggy results. Bloated code means more code to read. There are approaches to this that can still be maintainable and very readable, with less code.
You might not see a problem on a language that would enforce you to not use logical operators in replacement to this idea, but I would. Imagine ifs with that approach:
Instead of having:
if ((A || B) && C)
    return 4;
return 5;

if (A)
    if (C)
        return 4;
if (B)
    if (C)
        return 4;
return 5;

I'm sure there would be more bugs if such a language was extensively used by a a large codebase.

Imagine ifs with that approach:

https://github.com/dlang/phobos/pull/8750#issuecomment-1557374575

I'm sure there would be more bugs if such a language was extensively used by a a large codebase.

Then where are the bugs caused by D being such a language with regards to version conditions?

There's many reasons for why you shouldn't do code duplication

This isn't code duplication. https://github.com/dlang/phobos/pull/8750#issuecomment-1544760912

Code duplication is universally considered a code smell

The paper you linked says the opposite. "there are contradictory results regarding the connection of cloning and faults"

e.g. getting a char wrong among a list of a few version defines can lead to a silent different behavior, for critical codebases can even lead to security vulnerabilities.

It leads to a compilation error, https://github.com/dlang/phobos/pull/8750#issuecomment-1546228474 (second paragraph)

And currently we have no way to reliably check them other than have a linter check after the semantic analysis in the compiler.

Noted. Do you want to discuss this somewhere else?


529 explain return path

@ShiriMoran please add the issue referred to this PR, and a short description of this PR.

@ShiriMoran please add the issue referred to this PR, and a short description of this PR

Resolve #529 - adds responsive details in explainability

@ShiriMoran please add the issue referred to this PR, and a short description of this PR

Resolve #529 - adds responsive details in explainability

If this issue should be closed with this PR, it should also be linked to this PR.


Exception when using setFirstMemory(AllocationStatus.DELAYED)

Hi,
by testing different memory options is stumbled upon another exception when using:
        CudaEnvironment.getInstance().getConfiguration()
                .setFirstMemory(AllocationStatus.DELAYED);

Additional information:
dl4j 0.7.1
backend: cuda 8.0
GTX 1080
Windows 10 64bit
Stacktrace:
Exception in thread "main" java.lang.IllegalStateException: Can't allocate memory on target [DELAYED]
	at org.nd4j.jita.handler.impl.CudaZeroHandler.alloc(CudaZeroHandler.java:325)
	at org.nd4j.jita.allocator.impl.AtomicAllocator.allocateMemory(AtomicAllocator.java:386)
	at org.nd4j.jita.allocator.impl.AtomicAllocator.allocateMemory(AtomicAllocator.java:343)
	at org.nd4j.linalg.jcublas.buffer.BaseCudaDataBuffer.<init>(BaseCudaDataBuffer.java:144)
	at org.nd4j.linalg.jcublas.buffer.BaseCudaDataBuffer.<init>(BaseCudaDataBuffer.java:229)
	at org.nd4j.linalg.jcublas.buffer.CudaFloatDataBuffer.<init>(CudaFloatDataBuffer.java:84)
	at org.nd4j.linalg.jcublas.buffer.factory.CudaDataBufferFactory.createFloat(CudaDataBufferFactory.java:311)
	at org.nd4j.linalg.factory.Nd4j.createBuffer(Nd4j.java:1346)
	at org.nd4j.linalg.factory.BaseNDArrayFactory.create(BaseNDArrayFactory.java:1959)
	at org.nd4j.linalg.factory.BaseNDArrayFactory.create(BaseNDArrayFactory.java:1954)
	at org.nd4j.linalg.factory.Nd4j.create(Nd4j.java:3186)
	at org.nd4j.linalg.factory.Nd4j.create(Nd4j.java:3013)
	at org.deeplearning4j.datasets.iterator.AbstractDataSetIterator.fillQueue(AbstractDataSetIterator.java:199)
	at org.deeplearning4j.datasets.iterator.AbstractDataSetIterator.<init>(AbstractDataSetIterator.java:43)
	at org.deeplearning4j.datasets.iterator.DoublesDataSetIterator.<init>(DoublesDataSetIterator.java:11)
	at com.simple.example.DoublesDataSetShuffleIterator.<init>(DoublesDataSetShuffleIterator.java:18)
	at com.simple.example.MainSimpleExampleExtern.training(MainSimpleExampleExtern.java:136)
	at com.simple.example.MainSimpleExampleExtern.main(MainSimpleExampleExtern.java:59)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)

Can you please share the code, which reproduces this?
DELAYED stuff originally was supposed for Spark, but later we've got better solution there, but it still shouldn't fail that way.

Just run the following example. Sorry, if it is looking quick and dirty (This discription is still too good for that), but it is my little class for testing around.
https://gist.github.com/mjakobus/eba09fd2f814ffc100b051bb22e88425

Thanks, will do
13 дек. 2016 г. 21:24 пользователь "mjakobus"<EMAIL_ADDRESS>написал:

Just run the following example. Sorry, if it is looking quick and dirty
(This discription is still too good for that), but it is my little class
for testing around.
https://gist.github.com/mjakobus/eba09fd2f814ffc100b051bb22e88425
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/deeplearning4j/nd4j/issues/1503#issuecomment-266819451,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALru_0PZ5wpwoShxYrwYpL6HzKyCMeF9ks5rHuLtgaJpZM4LMBij
.


[Bug] dbt docs fails to load on browser with javascript TypeError

Is this a new bug in dbt-core?

[X] I believe this is a new bug in dbt-core
[X] I have searched the existing issues, and I could not find an existing issue for this bug

Current Behavior
we are currently hosting the dbt docs generate output on s3 and viewing dbt docs as a static page via index.html. this worked great however after a seemingly benign pull request the index.html fails to render the data, stuck in "loading" state.
we have isolated the change to a single commit that compiles correctly with functioning models and source files.
able to replicate with the manifest.json locally attempting to load using dbt docs serve
Expected Behavior
webpage loads OR dbt project parsing highlights issue
Steps To Reproduce
I'm unsure how to reproduce this issue without proviuding our manifest.json file?
Relevant log output
stacktrace from chrome developer tools
#s3
(index):47 TypeError: p.startsWith is not a function
    at (index):41:81837
    at n ((index):41:29079)
    at xt ((index):41:5845)
    at Do ((index):41:38691)
    at Function.find ((index):41:29098)
    at (index):41:81790
    at st ((index):41:4751)
    at Function.la ((index):41:41030)
    at (index):41:80711
    at (index):47:95585 'Possibly unhandled rejection: {}'

#local
TypeError: p.startsWith is not a function
    m http://localhost:8080/:41
    n http://localhost:8080/:41
    xt http://localhost:8080/:41
    Do http://localhost:8080/:41
    Zt http://localhost:8080/:41
    loadProject http://localhost:8080/:41
    st http://localhost:8080/:41
    la http://localhost:8080/:41
    loadProject http://localhost:8080/:41
    d http://localhost:8080/:47
    d http://localhost:8080/:47
    $digest http://localhost:8080/:47
    $apply http://localhost:8080/:47
    x http://localhost:8080/:47
    A http://localhost:8080/:47
    onload http://localhost:8080/:47
Possibly unhandled rejection: {}

Environment
- OS:debian:12.5
- Python: 3.11.9
installed via python:3.11.9-slim-bookworm

- dbt:

dbt-adapters==1.3.1
dbt-common==1.4.0
dbt-core==1.8.3
dbt-extractor==0.5.1
dbt-semantic-interfaces==0.5.1
dbt-snowflake==1.8.3

Which database adapter are you using with dbt?
snowflake
Additional Context
No response

Thanks for reaching out @rudo-ro !
The error message you shared looks like it might be coming from here (introduced in https://github.com/dbt-labs/dbt-docs/pull/425).
What was in the commit that you isolated it to? Was it a related to a new or modified data test column, by any chance?
If you can provide that code that triggered it, that might help us replicate the issue.

thanks @dbeatty10
yes the code included snippets such as:
  - name: name_here
    description: ''
    data_tests:
      - unique:
          column_name: "x_id || y_id"
      - not_null:
          column_name:
            - x_id
            - y_id

I rebuilt the project without this commit and it's working.

Ah, I see what you are saying @rudo-ro.
This isn't the way I'd expect the unique and not_null data tests to be configured though. If you run your tests and then look at the relevant SQL in target/run/ you'll see it generates incorrect logic:
select ['x_id', 'y_id']
from analytics_dev.dbt_dbeatty.name_here
where ['x_id', 'y_id'] is null

Did you try something like this instead?
models:
  - name: name_here
    columns:
      - name: x_id
        data_tests:
          - not_null
          - unique
      - name: y_id
        data_tests:
          - not_null
          - unique

When I used the following example data, it worked the way I would expect:
models/name_here.sql
select 1 as x_id, 2 as y_id union all
select 1 as x_id, 2 as y_id union all
select null as x_id, null as y_id

dbt run -s name_here
dbt test
dbt docs generate
dbt docs serve

thank you @dbeatty10 !
okay this is working!
I wonder if some kind of parsing warning enhancement would be helpful here for future users?

I wonder if some kind of parsing warning enhancement would be helpful here for future users?

Good idea about doing some kind of warning if dbt can detect that something is definitely off 💡
In this case, we've chosen for dbt to be very open-ended and allow strings, lists and dictionaries to be configured underneath data_tests: because users are free to create their own custom data tests as well. So I don't see a good way for us to do that kind of detection.
I think the code example that added confusion in your case was this one: https://docs.getdbt.com/reference/resource-properties/data-tests#test-an-expression
So I've opened this documentation issue to see if we can update it to be more clear: https://github.com/dbt-labs/docs.getdbt.com/issues/6436
Since we got to the bottom of things, I'm going to close this issue in favor of updating our docs.


(litmus-docs) broken link in getting started page

What happened:
There is a broken link in getting started page of litmus docs
How to reproduce it (as minimally and precisely as possible):
Go to https://docs.litmuschaos.io/docs/getstarted/
navigate to example section
click on example link
Anything else we need to know?:
The link should be https://docs.litmuschaos.io/docs/example/

can I take this one ?

This is fixed in the latest docs version.


New workflow submission - Load generation using step functions

Issue #, if available:
Description of changes:
This project creates a serverless load generator using AWS Step Function distributed map. This pattern generates load for an AWS Lambda function, however this can be extended to load test other workloads like HTTP endpoints, APIs or other services that AWS Step Functions support.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

https://serverlessland.com/workflows/step-functions-load-testing


What is the maximum number of chats/channels that can be added to a client?

Is there a limit?  I could not find it anywhere in the documentation.

A user can be a member of at most 500 supergroups/channels simultaneously, if you meant that.

thanks


Added a bunch of utils, torch scaler, torch fbanks features, lightning training for SED etc.

Still WIP, probably in conflict with https://github.com/DCASE-REPO/DESED_task/pull/5 .
We have to decide what to merge first and then "harmonize" everything.

Added torch datasets here for synth, val etc https://github.com/DCASE-REPO/DESED_task/blob/sam-lightning/desed/dataio/datasets.py
Better sampler class (my implementation from speechbrain):  https://github.com/DCASE-REPO/DESED_task/blob/sam-lightning/desed/dataio/sampler.py
on the fly gaussian noise and mixup augmentation with gpu https://github.com/DCASE-REPO/DESED_task/blob/sam-lightning/desed/gpu_augmentations.py
Torch scaler with more flexible arguments, torch scheduler, and modified ManyHotEncoder to take in account directly in that class for pooling performed in the DNN model.
added requirements + linters.
TODO adding training loop once tested fully tonight.

Merged changes from @RonFrancesca, addressed some issues in the @turpaultn  pointed out. Removed some warnings.
I have yet to add weak labeled split in train_sed.py. I will copy the code you used which split the DataFrame.

Merged in #9


spo theme list/remove/set

Addressing issues - #330 #331 #332 #340

Coverage remained the same at 100.0% when pulling c9d3c218a96cba15e440c3ba97254d7b189746b2 on rjesh-git:rjesh-theme into 42e0d29440fb857478129fdbfeddc4de7b9d4a9d on SharePoint:dev.

Nice @rjesh-git! I will have a look at it shortly!

Merged manually with a couple of changes


Curve driven reflection attenuation incorrect for logarithmic fall off

System Information

Steam Audio version: 4.5.3
Unity version: 2022.3.21f1
Operating System and version:Windows 11

Issue Description
Incorrect falloff for realtime reflections for SteamAudioSource when using curve logarithmic falloff
Steps To Reproduce
Steps to reproduce the behavior:

Add audio source with logarithmic fall off
Add steam audio source with Curve driven attenuation, enable Reflections & enable Use Distance Curve For Reflections.
Odd behaviour of audio reflections in scene, especially near end bounds of audio fall off (you briefly hear the reflection audio increase in volume as you cross the bounds)

The cause I believe is that the EvaluateDistanceCurve has the follwing code for Logarithmic curve
                  case AudioRolloffMode.Logarithmic:
                    if (distance < rMin)
                        return 1.0f;
                    else if (distance < rMax)
                        return 0.0f;
                    else
                        return rMin / distance;

I think at the very least it should be like the linear mapping maybe?
                  case AudioRolloffMode.Logarithmic:
                    if (distance < rMin)
                        return 1.0f;
                    else if (distance > rMax)
                        return 0.0f;
                    else
                        return (rMax - distance) / (rMax - rMin);

or perhaps mapping the actual log curve.
The linear and custom falloff seems ok.

I do note that both the linear and the custom curves with realtime reflections (and logarithimic if you apply the above change) are MUCH louder (i assume as the full reflections lengths are being taken into account unlike the values below rMin) so much so that I have to reduce the recflection mix to 0.1 otherwise i get distortion.


How to Use Multi-ID

Hello,
I recently came across the Multi-ID feature mentioned in the documentation, but I'm having trouble finding clear examples of how to use it. Specifically, I'm interested in combining images of different individuals, such as uploading two separate photos and generating a composite image.
For instance, I'd like to upload photos of two celebrities, Yang Mi and Taylor Swift, and create a merged image of them. However, I haven't found any examples in the code or on the Hugging Face platform that demonstrate how to achieve this.
Could you please provide some guidance or instructions on how to use the Multi-ID feature for this purpose? Any example code or detailed steps would be greatly appreciated.
Thank you for your assistance.

We don't have a specific plan to release this part of codes by now, but we do encourage the community to implement and PR.

Well. Since the answer to having multiple input images is suggested here and works:
https://github.com/InstantID/InstantID/issues/56#issuecomment-1908653153

Not sure if its already there, but multiple reference images? I could not find a way to select more than one image in the sample code provided. Topic #33 mentioned use of multiple reference images for better results.

I'm no expert but this should work image = pipe( ... image_embeds=(face_emb1 + face_emb2 + face_emb3 + face_emb4)/4, ...)

It seems to also work for adding different pictures into the same calculation. Did some quick testing and it seems to be the way to go.
Load the different pictures, either many from only one or multiple people and get a combined "face".
If you have gotten the sample code up and running, you got something like
face_emb = face_info['embedding']
change it to
face_emb = (face_info1['embedding'] + face_info2['embedding']) / 2
or
face_emb = (face_info1['embedding'] + face_info2['embedding'] + face_info3['embedding']) / 3
etc.
I made a function for that taking a folder of face images:
face_embeds = helpers.getAverageFaceEmb(face_folder)
So get 1 face_info object for each image. Add and divide. I myself have not quite read and understood the concepts, but seems to be some math vectors or such that defines what a face looks like. So pure math to add the definition of the faces.

We don't have a specific plan to release this part of codes by now, but we do encourage the community to implement and PR.

Is there a reason you are being vague about it? What do you gain by not releasing the code that you demonstrated in your paper?

We don't have a specific plan to release this part of codes by now, but we do encourage the community to implement and PR.

Is there a reason you are being vague about it? What do you gain by not releasing the code that you demonstrated in your paper?

maybe its name is not OpenAID

Well. Since the answer to having multiple input images is suggested here and works: #56 (comment)

Not sure if its already there, but multiple reference images? I could not find a way to select more than one image in the sample code provided. Topic #33 mentioned use of multiple reference images for better results.

I'm no expert but this should work image = pipe( ... image_embeds=(face_emb1 + face_emb2 + face_emb3 + face_emb4)/4, ...)

It seems to also work for adding different pictures into the same calculation. Did some quick testing and it seems to be the way to go.
Load the different pictures, either many from only one or multiple people and get a combined "face". If you have gotten the sample code up and running, you got something like
face_emb = face_info['embedding']  change it to face_emb = (face_info1['embedding'] + face_info2['embedding']) / 2 or face_emb = (face_info1['embedding'] + face_info2['embedding'] + face_info3['embedding']) / 3 etc.
I made a function for that taking a folder of face images: face_embeds = helpers.getAverageFaceEmb(face_folder)
So get 1 face_info object for each image. Add and divide. I myself have not quite read and understood the concepts, but seems to be some math vectors or such that defines what a face looks like. So pure math to add the definition of the faces.

@zewolf5 can we use different weight to each image?

We don't have a specific plan to release this part of codes by now, but we do encourage the community to implement and PR.

In your original demo on hf you had it implemented. Why was it removed?

It's possible with attention masking

(this is done in comfyui)

https://github.com/cubiq/ComfyUI_InstantID

It's possible with attention masking

(this is done in comfyui)

https://github.com/cubiq/ComfyUI_InstantID

Can you please share the workflow you used to do this?

@Enzzer the workflow is in the repository

@cubiq Thanks for sharing the workflow!
I tried using it as it is (other than using my face and pose images) but I'm not getting the same results as you.
I'm getting both faces as the last input face image, seems like the first face is lost in the conditioning chain.
Any idea why?

you probably just need to update the extension

@cubiq I tried updating both ComfyUI and your extension but I'm still getting the same face twice.
Can you share your input images so I can test with them?

FWIW, also getting the same result as @Enzzer where both images are merged into one face. @Enzzer did you find a solution by any chance?

the latest version, with the provided workflow works very well.

Yes confirmed, I used the reference pose image from the repository with two custom portrait photo's and results are now a lot better.  Thanks for the update 👍

hey @toonverbeek can you share a workflow on how you combined pose with multi ID? How did you achieve this?


Update tasks documentation

Fixes #451 and improves our example tasks documentation.

/hold

/hold cancel

Thanks for the review Kevin, we can go ahead merge this.
/hold cancel


Execute adding column comments/constraints as a single query

Currently, if I provide column comments or NOT NULL constraints for 100 columns in a model, dbt-databricks adapter ends up running 200 separate queries resulting in significantly long total model run time. Ideally, all comments should be added via single ALTER query and constraints should be added via second ALTER query.
This will benefit model run time.
Please see attached log to see how individual SQL queries added to the overall model runtime. Table creation/data load takes less than 30 seconds but column comments and NOT NULL constraints are added to one column per SQL query and takes ~7 mins to complete.
debug_run_86601.log

I'm working on this as we speak.  There is no bulk alter for column comments, but I'm reshaping materializations to set comments at create time.  This means separating create and insert of data (because you can't set comments with 'create table as select' :), but given how much users have complained about comment performance, I expect it will be a net win.

Fwiw - users who find their say hourly runs doing persist docs on columns taking too long (cause every single run has those alter table ... change column ddls) - can try to move to perhaps a once daily / once weekly run-op that manually adds those comments. Something like https://github.com/jeremyyeo/the-hitchhikers-guide-to-dbt/tree/main/manually-persisting-docs


Support union types when getting value

☝

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

closing in favor of: https://github.com/square/pjson/pull/31


Validators

Add the ability to validate entire ADTs, similar to Ecto models. Validation of individual fields should be left to #2. This feature is meant to enforce structure among fields.
defdata AcuteTriangle, validate: acute do
  angle1: float
  angle2: float
end

defp acute(%AcuteTriangle{angle1: angle1, angle2: angle2}) do: abs(angle1 - angle2) < 90.0

where does the macro defadt exist. I tried import Algae and Use Witchcraft as well. No luck

Hey @hariroshan 👋
This Issue is from the earliest days of the project, and defadt has since been renamed to defdata, and the syntax changed quite a lot as well. I'll update the text to reflect this. Thanks for pointing it out :)

Commented about this in  https://github.com/expede/algae/issues/2#issuecomment-469832588


flash mode not working

Chromium 45.0.2428.0 333474
YouTubeCenter 525
Change user-agent string also not working. Jumps in html5 mode.
On 45.0.2409.0 working normally.

Upd. npapi support has been removed. ))

Flash still works for me.
Firefox 38.0.1 / YTC Dev build 525

@TetraSky That's because you are using Firefox, not Chrome. Latest builds of Chrome no longer have NPAPI enabled and it can be temporarily enabled through a flag in Chrome settings, but that will be removed sooner or later.
@your4ox See above comment, you can't use Flash Player in Chrome anymore. There is a flag for enabling NPAPI through chrome://flags, but I highly recommend you to use the HTML5 player. If you still want Flash Player, use another browser.

You can use PPAPI flash instead.

@ErdeFB The PPAPI flash player is not very good and there are some websites that simply don't register that it exists.


Consistent crash on startup

crash-2024-07-10_13.43.11-client.txt

yes, this modpack do only one thing : crashing.

Also getting crash on startup....with same reason


Missing S3 permission on documentation

Report
When setting up a iam policy to be able to connect DVC to AWS S3, in the current documentation it says that it only needs:

s3:ListBucket
s3:GetObject
s3:PutObject
s3:DeleteObject

But when testing this approach I've received the error:
Run dvc pull
ERROR: unexpected error - Forbidden: An error occurred (403) when calling the HeadObject operation: Forbidden

Having any troubles? Hit us up at https://dvc.org/support, we are always happy to help!
Error: Process completed with exit code 255.

My mistake here on setting up permissions on AWS :)


Replacing NearestUpsample layer

Hello, in Section 3.4 of the paper, while describing the KPFCNN architecture, it is mentioned that "It is possible to replace the nearest upsampling operation by a KPConv, in the same way as the strided KPConv, ".
What changes must be made to replace the upsample layer with KPConv? How may the layer indices be used to perform upsampling in the case of the KPConv operation?
Thank you

Hi @deeptibhegde,
At the time of my first experiment for the paper, I was working with Tensorflow. I implemented upsampling convolution in the original TensorFlow repo:
https://github.com/HuguesTHOMAS/KPConv/blob/16bfbb96ac9af48a3c829d1f8123152d35b63862/models/network_blocks.py#L862-L884
I did not implement them in Pytorch for a simple reason. They add no value to the output in any of the tasks I worked on so far. I tried them extensively and they never offered a boost in performance. This is why I only use nearest upsampling now in this Pytorch repo.
If you want to try them, you should easily be able to write your own ConvolutionUpsampleBlock by looking at the
https://github.com/HuguesTHOMAS/KPConv-PyTorch/blob/73e444d486cd6cb56122c3dd410e51c734064cfe/models/blocks.py#L664-L679
and the
https://github.com/HuguesTHOMAS/KPConv-PyTorch/blob/73e444d486cd6cb56122c3dd410e51c734064cfe/models/blocks.py#L506-L560
Instead of:
q_pts = batch.points[self.layer_ind + 1]
s_pts = batch.points[self.layer_ind]
neighb_inds = batch.pools[self.layer_ind]

You would have something like
q_pts = batch.points[self.layer_ind - 1]
s_pts = batch.points[self.layer_ind]
neighb_inds = batch.upsamples[self.layer_ind - 1]

And you can define the features in_dim, out_dim as you like. If you try this and have issues/bugs, don't hesitate to post it here and I'll try to help.
Best,
Hugues


document when launch templates are created

We don't currently delete launch templates automatically. One is created every time I create a provisioner when I don’t specify the node.k8s.aws/launch-tamplate-id.  It's a little more complex than 1 per provisioner. There's a command in the getting started guide to clean them up.
would it be possible to clean these up automatically?

related to #587


V0.6.1 will not open

Hi I am getting the error when trying to open the newest verison V0.6.1
Error: ImportError: file
C:/Users/(name)/Documents/maya/scripts\dwpicker\updatechecker.py line 3: No module named request
I got someone else to test this and they're also getting this error. Could this be an issue with the newest version?
Thanks again for the continued updates :)

Hello,
I just fixed it in the latest commit (was only working with Maya versions using python 3).