docs($resource): add status param to transformResponse

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Docs update
Please check if the PR fulfills these requirements

[X] The commit message follows our guidelines: https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#commit-message-format
[X] Tests for the changes have been added (for bug fixes / features)
[X] Docs have been added / updated (for bug fixes / features)

Other information:
Added status param to transformResponse to keep inline with https://github.com/angular/angular.js/commit/1b740974f5eb373bed04071d51f908ced7c5a8e5

Thx :+1:


messages: Support passing stream ID for stream operator.

Both backend and frontend migrations are done. Next thing left is to update the docs and then I think we can close issue #9474.
Testing Plan:

Unit Tests
Make sure stream ID is sent using devtools.

(Potential) Followups:

Docs
Node tests for the frontend handle_user_ids_supported_operators
Add mypy types for narrow i.e. which operator should have which types since currently I think we type annotate it as Dict[str, Any] where maybe we could type annotate it in a way mypy knows that if operand is say stream it should be str or int.

Add mypy types for narrow i.e. which operator should have which types since currently I think we type annotate it as Dict[str, Any] where maybe we could type annotate it in a way mypy knows that if operand is say stream it should be str or int.

This would be a cool thing to do with TypedDict down the line; probably a good follow-up issue.

This is great.  Merged after some small changes:
diff --git a/static/js/message_fetch.js b/static/js/message_fetch.js
index b3516e7490..e627927bd5 100644
--- a/static/js/message_fetch.js
+++ b/static/js/message_fetch.js
@@ -132,6 +132,7 @@ function handle_operators_supporting_id_based_api(data) {
                 return filter;
             }

+            // The other operands supporting object IDs all work with user objects.
             var person = people.get_by_email(filter.operand);
             if (person !== undefined) {
                 filter.operand = person.user_id;
diff --git a/zerver/views/messages.py b/zerver/views/messages.py
index 093b626270..743daca3f3 100644
--- a/zerver/views/messages.py
+++ b/zerver/views/messages.py
@@ -570,11 +570,9 @@ def ok_to_include_history(narrow: OptionalNarrowListT, user_profile: UserProfile
             if term['operator'] == "stream" and not term.get('negated', False):
                 operand = term['operand']  # type: Union[str, int]
                 if isinstance(operand, str):
-                    if can_access_stream_history_by_name(user_profile, operand):
-                        include_history = True
+                    include_history = can_access_stream_history_by_name(user_profile, operand)
                 else:
-                    if can_access_stream_history_by_id(user_profile, operand):
-                        include_history = True
+                    include_history = can_access_stream_history_by_id(user_profile, operand)
         # Disable historical messages if the user is narrowing on anything
         # that's a property on the UserMessage table.  There cannot be
         # historical messages in these cases anyway.

Thanks @priyank-p!
I think we should still migrate the group-pm-with narrow operators before declaring victory on the non-documentation part of the project.  I imagine that should be pretty quick.
Of the follow-ups, I think handle_user_ids_supported_operators is probably the highest value.  I'm not sure whether there's a reasonable effort way to do a TypedDict for the narrow operators, and it's probably not that high-value, just because we don't pass around those objects to that many places.
Again, huge thanks for doing this migration!

I think we finished migration group-pm-with in #12797 already or did you mean something else about it?

Hmm, I guess you're right; not sure why I thought we hadn't done group-pm-with already.
Should we open an issue for the handle_user_ids_supported_operators follow-up?


Discord invite update

Updated to active Discord invites in docs and README

No action required. Fix has been contributed already here: https://github.com/chain-ml/council/pull/57


Add depth data processing for iOS (TrueDepth and dual camera)

What

This PR adds a AVCaptureDepthDataOutput which enables the depth data to be passed to frame processor plugins.
It will also introduce a new prop enableDepthData to select whether depth data should be included when using one of the depth enabled cameras e.g. builtInDualCamera or builtInTrueDepth

Changes

Adds a AVCaptureDepthDataOutput
Adds a AVCaptureDataOutputSynchronizer to sync up the video and depth data
Adds the corresponding delegate class for the synchronizer and handles the processing in the method dataOutputSynchronizer rather than captureOutput as it is not a single output
Adds a depth property of type CVPixelBuffer? to the Frame class

Tested on

iPhone 13 Pro, 15.1.1

I've edited a bunch of stuff just to test out the depth data in frame processors that I'll remove in a new commit as well as linting + formatting btw. Not ready to merge yet 😅

Shouldn't depth also be a Frame?
So the TypeScript type should look like this:
// Already existing Frame type
type Frame = {
  width: number
  height: number
  ...
  depth: Omit<Frame, 'depth'>
}

no? Because the depth frame can actually have a different width/height than the RGB/YUV frame.

Yeah it will need to be its own frame with depth as a property of that. I haven't updated that end of it yet - purely checking if the depth buffer comes through on the frame processor at the minute, but will need to add that as a property of it.

The last commit just adds depthDataFormat as a prop now for the Camera component so that the user can specify which format they want given they have selected a format that contains their desired depth data format.
Also the depth can be toggled on/off with enableDepthData which simply switches it to just configure the video output as before.

Took a stab at it and seems to all be working - omitted isValid and close() from the depth frame too as these only make sense in the CMSampleBuffer context, but the depth is just the raw CVPixelBuffer.
I think the last thing to look at is just making sure the AVCaptureOutputSynchronizer is properly syncing the video and depth outputs. Once this is good we can do some tests in a frame processor just to check its getting a stable depth value (at least from pixel to pixel, if not absolute physical accuracy in meters) and then I think its about there 😃  If there's anything else you spot that I've missed or we want to pass into the frame processor callback let me know

This PR is amazing work, but unfortunately got a ton of conflicts because of V3.
Let's keep this open for reference if I implement depth at some point. The synchronizer is amazing!
I wonder if this is possible on Android at all?


Replace harcoded year in check_sources script by current year

The script check_sources.py has the current year (2020) hardcoded checking for copyrights. We can use datetime to create the regex dinamically.

While this is a good idea, it also means that checking out a specific commit may not pass the checks depending on when you check it out. While it's not too comfortable to have to update this once a year, the ability to verify a commit only based on itself and not relying on external state like the date is a valuable goal IMHO.
Sorry, but I'm not going to merge this :/

Ah OK, it's part of the release process... don't worry.


Make all user data available

Hi Cedric,
Excellent work with the vue-gapi plugin! I have made a few improvements that I hope you will merge into your version. I have also created an example application, see https://github.com/nidkil/vue-gapi-example, that demonstrates all vue-gapi functionality including the changes I have made.
This pull request makes all user data available.
Regards, nidkil

Cedric, no problem to create tests. It seems the test directory is missing from GitHub. When I create the directory myself and a spec file and execute 'npm run test' linting is failing and mocha and karma don't seem to be configured. Do you have a working example?


[Firewall] bump to 0.4.0

https://github.com/Azure/azure-cli-extensions/pull/1795
https://github.com/Azure/azure-cli/issues/13638

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your PR is merged into master branch, a new PR will be created to update src/index.json automatically.
The precondition is to put your code inside this repo and upgrade the version in the PR but do not modify src/index.json.

Firewall

/azp run


treewide: *Flags convert to list from str & lib.optional -> lib.optionals

Description of changes

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

I'd appreciate some detailed description of the changes including their motivation, preferably in the PR description as well as in the commit messages.

Is this change a potentially breaking one? ("API" wise, ignoring mistakes in execution)


Gdxdsd 5794 dependabot alerts google api

Ran test outlined in https://apps.itsm.gov.bc.ca/jira/browse/GDXDSD-5926
Report generates happily.


:bird: Feature (coroutines): Support yielding autoDisposing disposers (like Go defer)

Since we don't have using blocks in JavaScript, we don't currently have a good way to use disposers in generators.
Proposal: add support for yielding AutoDisposers:
Assuming getConnection returns a bluebird disposer:
Promise.coroutine(function* () {
  var connection = yield getConnection(options).autoDispose();
  // connection is usable here, and will dispose after coroutine completes
});

This would act like Go's defer:
func DoSomething() err error {
    connection, err := db.Connect(options)
    if err != nil {
        return
    }
    defer connection.Close()
    // connection is usable here, and will close after function returns automatically.
}

Some thoughts:

Its nice for autoDispose to be explicit, otherwise its not clear that you can't save the connection elsewhere and use it later

This is "safer" than Go's defer, because you can forget to add defer conn.Close() in Go and the connection will stay open :)

On the other hand defer connection.Close() makes it more clear what happens, not sure if autoDispose() is that clear? Defer is also more generic - you could schedule any sort of cleanup with it. If Promise.coroutine was imported like so:
var co = require('bluebird').coroutine;

SomeClass.prototype.someMethod = co(function* () {
  this.context.push(item);
  yield co.defer(_ => this.context.pop(item))
  // now you can do things with a `this.context` that contains the item
  // and not worry about forgetting `pop()` in case of problems.
}

Re last point, would something like:
Promise.coroutine(function* () {
  var connection = yield getConnectionDisposer(options).defer(conn => conn.close());
  // connection is usable here, and will dispose after coroutine completes
});

make sense?

co.defer seems better but we need new name since defer might have something to do with deferreds

@grabbou oh, nice and clean :) however I'm assuming getConnectinDisposer returns a bluebird disposer http://bluebirdjs.com/docs/api/disposer.html which already knows how the connection should be closed.
We probably want to support existing disposers

@petkaantonov Well, deferreds are deprecated anyway, right? And if its attached to Promise.coroutine its clearer that its a different sort of defer.

Oh, you guys are quick! Actually decided to write on Twitter because I wasn't entirely sure about that idea yet.
Just for the reference, what I suggested was:
var connection = yield getConnectionDisposer(options).defer(conn => conn.close());

@petkaantonov another interesting idea would be to allow yielding deferred functions at any point inside a go coroutine by wrapping the function with co.defer

Currently it will look like this for new code:
import { coroutine as co } from "bluebird";

co(function copy* (srcPath, dstPath) {
    var src = yield fs.openAsync(srcPath);
    co.defer(_ => fs.closeAsync(src));
    var dst = yield fs.openAsync(dstPath);
    co.defer(_ => fs.closeAsync(dst));

    // File copy stuff that is not related but I wrote for fun
    const buffer = new Buffer(8092);
    let bytesRead, bytesWritten, totalBytesWritten;
    let totalBytesRead = 0;
    while (bytesRead = yield fs.readAsync(src, buffer, 0, buffer.length, totalBytesRead)) {
        bytesWritten = totalBytesWritten = 0;
        while (totalBytesWritten < bytesRead) {
            bytesWritten = yield fs.writeAsync(dst, buffer, totalBytesWritten,
                                                            bytesRead - totalBytesWritten,
                                                            totalBytesRead + totalBytesWritten);
            totalBytesWritten += bytesWritten;
        }

        totalBytesRead += bytesRead;
    }
});

And if youre already using disposers, they will have autoDisposer method that can be called inside coroutines:
import { coroutine as co } from "bluebird";

function openFileAsync(path) {
    return fs.openAsync(path).disposer(function(fd) {
        return fs.closeAsync(fd);
    });
}

co(function copy* (srcPath, dstPath) {
    var src = yield openFileAsync(srcPath).autoDispose();
    var dst = yield openFileAsync(dstPath).autoDispose();
});

Also: after coroutine completes (error, success, cancellation), the registered cleanup handlers are called in reverse order serially.

What should happen if a co.defer throws?

On another topic - can we export .coroutine as Promise.co for convenience :P ?

we should crash.. destructors must not throw

Is this currently work in progress or a plan for the distant future?
I'm still early in a new project, trying to decide how I'll structure it. It looks like for now I'll be going for coroutines but like I used to do in C, I'll clean up resources in the context in which they were obtained:
var doSomeDbStuff = Promise.coroutine(function *() {
  var conn = yield getFromPool();
  ...
  freeConnection(conn);
  return;
});

If I understand correctly what's being proposed here, with this addition my getFromPool() could return a Disposer for its Promise and Bluebird's coroutine handling would take care of calling the disposer method when the user coroutine itself returns? That sounds not only cleaner, but also safer.
function getFromPool() {
  return (new Promise(function(resolve, reject) {
    // Acquire 'conn'
    return resolve(conn);
  })).disposer(function(conn) {
    conn.release();
  });
}

var doSomeDbStuff = Promise.coroutine(function *() {
  var conn = yield getFromPool();
  ...
  return;
});

If I understood this right, sounds like it might be worth waiting for. :)

Yes thats what the feature is going to be :) There will also be co.defer(_ => finallyBlockCode)
Its just that I haven't had the time to finish the code. I'll try and finish it up in the next few days.
One thing that might be different is that the code will be:
var doSomeDbStuff = Promise.coroutine(function *() {
  var conn = yield getFromPool().autoDispose();
  ...
  return;  // 'conn' would be released around here
});

Otherwise, its not quite clear that you can't keep the reference to the connection after the coroutine completes.

Very nice. :) Meanwhile I learned how to use disposers in an overall coroutine-centric design based on the withTransaction(fn) example. (Coroutines being themselves promises was the key.) It'll be easy to refactor from using those wrappers into yield xxx().autoDispose() in due time, and allows me to use yields for everything not needing disposal.

@spion still pursuing this?

Yes. I'll try to finish it this week. Sorry for the long delay.

By the way, concerning @benjamingr's suggestion:

On another topic - can we export .coroutine as Promise.co for convenience :P ?

Promise.coroutine() is same as co's co.wrap(). With co, co() creates a coroutine and executes it immediately; Promise.coroutine() just returns a coroutine function ready to be called.


Also the error on the bottom. I don't know how to get rid of it, it doesn't affect gameplay in any way, but it pops out every time I open a new KC3 Kai Interface.

It has been reported in #474 and has been solved

What about the bottom error? Is it a part of the issue?

Also DD can you add my Himueta Profile to contribution page? Its the same username is my GitHub account.

the yellow warning in the console cannot be avoided. it is not harmful though. My advice is to close that box by pressing the button between the :warning: 1 and the cog icon
will add your himeuta link


Descriptions missing from Name page in Admin mode

Ex: For https://mushroomobserver.org/names/63714
Compare non-admin view

with
Admin view:

Could this be related to the fact that the Descriptions shown in non-admin mode have no content?

Bizarre!  Admin mode has fewer privileges!
On Sat, Apr 8, 2023 at 11:55 AM Joseph D. Cohen @.***>
wrote:

Could this be related to the fact that the Descriptions shown in non-admin
mode have no content?
—
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/issues/1457#issuecomment-1500919875,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAYTNNO6XMGKJBUHYNXPNTTXAGC53ANCNFSM6AAAAAAWXQ465A
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Note: I've been slowly de-escalating privileges for admins, as I go through the code.
/jk

Ok. Here's a clue, maybe you guys can help.
The array of links is generated by this method. It seems admin may not qualify as a reviewer? - we need an alternative conditional in_admin_mode? here.
# descriptions_helper.rb
  # Show list of name/location descriptions.
  def list_descriptions(object:, fake_default: false)
    user = User.current
    # Filter out empty descriptions (unless it's public or one you own).
    list = object.descriptions.includes(:user).select do |desc|
      desc.notes? || (desc.user == user) ||
        reviewer? || (desc.source_type == :public) # || in_admin_mode?
    end

    list = sort_description_list(object, list)

    make_list_links(list, fake_default)
  end

Looks like someone explicitly excluded admins.  Weird.  Maybe it was a
testing thing and just never got reinstated?
On Sat, Apr 8, 2023 at 7:43 PM andrew nimmo @.***>
wrote:

Ok. Here's a clue, maybe you guys can help.
The array of links is generated by this method. It seems admin may not
qualify as a reviewer? - we need an alternative conditional in_admin_mode?
here.
descriptions_helper.rb
Show list of name/location descriptions.
def list_descriptions(object:, fake_default: false)
user = User.current
# Filter out empty descriptions (unless it's public or one you own).
list = object.descriptions.includes(:user).select do |desc|
desc.notes? || (desc.user == user) ||
reviewer? || (desc.source_type == :public) # || in_admin_mode?
end
list = sort_description_list(object, list)

make_list_links(list, fake_default)

end
—
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/issues/1457#issuecomment-1500998793,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAYTNNJRIA6B7PJN2ZCJSHDXAHZ3FANCNFSM6AAAAAAWXQ465A
.
You are receiving this because you commented.Message ID:
@.***>

@pellaea I just added that commented out || in_admin_mode? to show where i'd put it

Ha!  Got it.
On Sat, Apr 8, 2023 at 7:59 PM andrew nimmo @.***>
wrote:

@pellaea https://github.com/pellaea I just added that commented out ||
in_admin_mode? to show where i'd put it
—
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/issues/1457#issuecomment-1501000680,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAYTNNORILWHUKK6IVPBSKTXAH3V5ANCNFSM6AAAAAAWXQ465A
.
You are receiving this because you were mentioned.Message ID:
@.***>


Site: links point to incorrect docs locations

About
On Beemo's subscribe page. the highlighted documentation links point to the incorrect places without their nesting categories in the url and don't work. Unsure if this was known so wanted to open an issue to make sure.
Suggested Fix
Change beemo.gg/subscribe links to have their nesting categories, eg.
docs.beemo.gg/honey -> docs.beemo.gg/utility/honey

What if we just un-nest the links? I feel as though Beemo has a small enough utility set to warrant them being individualized 👀

It all goes down to how you want the pages structured, I think both ways will look clean

As part of the new website design the links have been updated to link to the correct pages. IMO the nesting is fine as-is, especially once we (finally) add some more documentaion for stuff.


Add a few documentation pointers back to Ondatra.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1347

Relevant Lines:
2947

💛  - Coveralls


Added trip date and distance to Packheader component

First off, I want to apologize for the unsolicited PR. 😅
I realized that the trip date and distance are not shown on the public facing pack page so I thought it would be neat to add that information and here we are:

The date(s) only show if they're set and the distance only shows if it's higher than 0.
I tried matching the style of the site but if you want changes done to this, let me know and I will see what I can do. 🙏
Obviously it's also okay to close the PR if that's not something you'd want on that page. 👍
Note: This PR adds the date-fns package, as well as updates the lucide-react package to the latest version.

@eightfivezero I've added the user data to the response. Sync with main and you'll see the new response types and props passed to PackHeader.
Thanks again for adding this!
https://github.com/Packstack-Tech/public/pull/2


GraalJS breaks when a security manager is installed

The enclosed Java program, used to run a script, fails when run using Graalvm but not when using Nashorn with the following stacktrace:
graaldir/bin/java Test1 test1.js
class com.oracle.truffle.js.scriptengine.GraalJSScriptEngine
Exception in thread "main" java.security.AccessControlException: access denied ("java.util.PropertyPermission" "org.graalvm.nativeimage.imagecode" "read")
at java.base/java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)
at java.base/java.security.AccessController.checkPermission(AccessController.java:897)
at java.base/java.lang.SecurityManager.checkPermission(SecurityManager.java:322)
at java.base/java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:1066)
at java.base/java.lang.System.getProperty(System.java:814)
at org.graalvm.sdk/org.graalvm.nativeimage.ImageInfo.inImageRuntimeCode(ImageInfo.java:132)
...
To run, remove the '.txt' suffixes in the file names and then
javac Test1.java

java Test1 test1.js
The program will run as expected using openjdk.  For Graal, I used graalvm-ce-java11-20.1.0.
I would surmise a custom security policy is needed given the stack trace, but I cannot find documentation indicating what to use.  When the statement installing a security manager is removed, GraalJS and Nashorn behave identically.  Given a script that does little more than
write some text to stdout, however, one would expect this to be covered by a default security policy.
Test1.java.txt
test1.js.txt

Hi @BillZaumen
thanks for your question.
The Truffle Language Implementation Framework, which Graal.js is implemented upon, does currently not support the SecurityManager, at least not with a default security policy. It is possible to set up a fitting policy to make it work (tools like http://pro-grade.sourceforge.net/policy-file-generator.html might be able to help you). I don't think there is documentation from our side on that yet (right, @chumer ?) We strive to provide better security by default than Nashorn did, so that limits our options here (also, the current SecurityManager does not cover more recent security problems adequately https://mail.openjdk.java.net/pipermail/vuln-announce/2019-July/000002.html).
Another problem is that GraalVM's native-image tool does not support SecurityManager (see https://github.com/oracle/graal/blob/master/substratevm/LIMITATIONS.md#security-manager). This should not affect you in your setup, but I see org.graalvm.nativeimage.imagecode to be among the culprits - that's something we need to investigate.
Best,
Christian

Thanks for your reply.
Just to add more information, I have a program that loads various Java
class libraries, sets up access to specific files or directories,
installs a security manager, and then runs a script. The security
manager's main function is to prevent inadvertent data loss due to
programming errors when programmers collaborating with each other
share scripts.  The program makes use of a Java class I wrote named
DirectoryAccessor.  An instance can be created before the security
manager is installed, but not afterwards unless a specific permission
is granted.  After the security manager is installed, the script
can open or close the files in a specific directory and in its
subdirectories, not in other directories.
Without a security manager, an error could easily occur
if someone blindly copied a coding example such as the
following (Java, in this case using a coding example for
some animation software):
 animation.initFrames(25*secs, "tmp/img-", "png");
 animation.scheduleFrames(0, 25 * secs);
 File dir = new File("tmp");
 dir.mkdirs();
 for (File file:dir.listFiles()) {
      file.delete();
 }
 animation.run();

This will create a large number of files in the tmp directory with
names such as img-0001.png, img-0002.png, etc.  A test will work just
fine but if someone gets two scripts based on this example, each using
a directory named "tmp", files could be overwritten by accident. The
use of a directory accessor prevents directory names such as "tmp" from
being hard-wired into the script: if someone does, you just get a
security exception so the person writing the script finds out
immediately - before it is given to someone else.
Regards,

Bill

Hi @BillZaumen
We have investigated SecurityManagers a bit more closely lately. The Truffle language implementation framework and the languages based on it like Graal.js typically need something close to "all permissions" to be executed.
Based on our findings, we have improved our Security Manager support. This did not make it to 20.2 though, it will be in 20.3 and already is in the nightly builds of GraalVM CE. With the latest changes we made sure that all the relevant permissions are given in our code. You still need to make sure that your user application has the relevant permissions - you can use the tool quote above for that; a default SecurityManager most certainly will not be good enough for that.
Best,
Christian


song_position wont show

the song_position is always at 0:00

What application are you using to play media? It may be due to the app not reporting to the windows API correctly.

What application are you using to play media? It may be due to the app not reporting to the windows API correctly.
Groove-Music on windows 10

for applications where it throws out the initial timestamp and doesn't update it, I think I'll be adding some logic to try and make VRCNowPlaying guess the correct timestamp soon!

Oh my I saw the comment as it was posted that's the first time it happens to me


Strategy.proceedWithAttributes doesn't check userkey

Problem
We are trying to enable specific features for selected users based on their ID in our database. I thought it is something that must be done using userkey value, but client library doesn't check userkey value when evaluating strategies:
https://github.com/featurehub-io/featurehub-go-sdk/blob/c7c1fec97ff5c23e947dd596257bde63faa45d56/pkg/models/strategies.go#L105-L176
However admin pages allow using userkey value so it seems like it must work:

Possible workarounds
Now it's possible to set custom value and use it in strategies. However, it isn't clear why we need userkey value if it's not used.
Solution
Add a branch to the switch statement and check the userkey value.
Reason
From my point of view the ability to use userkey in a strategy means that the strategy will be used for specific users just like it works with other available parameters. However, it doesn't work like expected.

Hey @iskorotkov thanks for raising this! I'll chat to some of the other SDK devs about how this logic is supposed to work, and see if I can get a new version in place for you to try out.

@iskorotkov OK this has been merged and hopefully does what you want. I've tagged a new release so please give it a go and let us know if you still have issues!


Added some domain return status constants

What?
Added constants for active and cancelled domain states.
Why?
In order to properly process the status of a domain it would be great to have some constants available for that. The problem is that Godaddy's API has a gazillion of return code here[0]. Not sure if it makes sense to include them all as this will bloat the code base dramatically.
[0] https://developer.godaddy.com/doc/endpoint/domains#/v1/list

Thank you! Is there more that needs to be done you think? I appreciate your interest!

Well I just needed ACTIVE and CANCELLED for my tests, as you can't loop over Records for cancelled domains. There might be more to come - but as I pointed out in the PR - there are a million status types 🙈 Ideally you want to generate the API client from an openapi-spec. 🤔 Not sure what the best approach here would be.
Thanks for your great work!


ValueError in AbstractSuStaIn

Hi all,
Thanks for your help with my past issue!
I'm now encountering a new error within the AbstractSuStaIn package that seems to relate to the staging portion of the algorithm:

Error Traceback
MCMC Iteration: 100%|██████████| 10000/10000 [00:24<00:00, 414.37it/s] MCMC Iteration: 100%|██████████| 10000/10000 [00:23<00:00, 422.43it/s] MCMC Iteration: 100%|██████████| 10000/10000 [00:30<00:00, 325.00it/s] MCMC Iteration: 100%|██████████| 1000/1000 [00:02<00:00, 462.84it/s]   [pysustain package location]/lib/python3.10/site-packages/pySuStaIn/AbstractSustain.py:556: RuntimeWarning: invalid value encountered in divide    total_prob_subtype_norm         = total_prob_subtype        /  np.tile(np.sum(total_prob_subtype, 1).reshape(len(total_prob_subtype), 1),        (1, N_S))   [pysustain package location]/lib/python3.10/site-packages/pySuStaIn/AbstractSustain.py:557: RuntimeWarning: invalid value encountered in divide     total_prob_stage_norm           = total_prob_stage          / np.tile(np.sum(total_prob_stage, 1).reshape(len(total_prob_stage), 1),          (1, nStages + 1)) #removed total_prob_subtype   [pysustain package location]/lib/python3.10/site-packages/pySuStaIn/AbstractSustain.py:560: RuntimeWarning: invalid value encountered in divide    total_prob_subtype_stage_norm   = total_prob_subtype_stage /  np.tile(np.sum(np.sum(total_prob_subtype_stage, 1, keepdims=True), 2).reshape(nSamples, 1, 1),(1, nStages + 1, N_S))   Traceback (most recent call last):     File "[notebook].py", line 475, in <module>       prob_subtype_stage  = sustain_input.run_sustain_algorithm()     File "[pysustain package location]/lib/python3.10/site-packages/pySuStaIn/AbstractSustain.py", line 186, in run_sustain_algorithm       prob_subtype_stage               = self.subtype_and_stage_individuals(self.__sustainData, samples_sequence, samples_f, N_samples) #self.subtype_and_stage_individuals(self.__data, samples_sequence, samples_f, N_samples)     File "[pysustain package location]/lib/python3.10/site-packages/pySuStaIn/AbstractSustain.py", line 590, in subtype_and_stage_individuals       this_prob_stage                 = np.squeeze(prob_subtype_stage[i, :, int(ml_subtype[i])])   ValueError: cannot convert float NaN to integer

This error is happening both locally and on a remote computing cluster. I've already added in an assert that none of the data going into SuStaIn contains NaNs, and ensured that my Z_vals are all integers (I am using Zscore SuStaIn). Do you have any ideas of what may be causing this issue or how to solve it?
As a related question, my research group and I are wondering why negative z-scores are not allowed in SuStaIn, and best practices handle them. We are currently shifting the z-score distribution to the right to ensure all values are > 0, but this means that we are losing the interpretability of z = 0, etc. Do you have any advice?
Thank you!

Advice: only look at positive z-scores and don't shift your data as you've described. Negative Z scores are not of interest to disease progression because they are on the "normal" end of biomarker measurements.
That error is a new one for me. I'll take a guess. It looks like some data cannot be assigned to a ml_subtype (hence NaN). I suspect that it's related to the weird things you've done with your data (shifting z-scores to the right). By including lots of not-abnormal measurements centred around the normal average (z=0), you might be trying to force an unidentifiable multiple-cluster solution. Perhaps a cluster that is essentially noise could result in NaN values for ml_subtype. For sure your resulting subtypes and stages would make little if any sense.

Hi Neil,
Thank you — we have a significant proportion of our data that have negative z-scores (between 20% and 80% depending on biomarker). My understanding of z-scores from a purely mathematical sense is that only z-scores of 0 are "normal", and any other score indicates abnormality. Could you elaborate more to help me understand how negative z-scores are considered "normal" for this application, and do you have any suggestions to minimize data loss since we have so much negative data?
Thank you for your suggestion, I've tried running the notebook again without the z-score shift and setting all negative zscores to be = 0. I had done this in a previous notebook that ran without issue. The error unfortunately persists.
Thanks again!

It's explained in the methods section of original SuStaIn paper. And the tutorial notebooks in this repo.
In brief:

z-scores in SuStaIn are calculated relative to a sample of "controls", and must be constructed such that z>0 is the abnormal direction (multiply by -1 if necessary). z<0 is the "normal" direction, by definition in the code.
You shouldn't be modifying your data artificially, such as by setting negative z-scores to zero!
You should be choosing SuStaIn hyperparameters carefully. In this case, choosing only positive z-score events: e.g., the Z_vals parameters in the tutorial notebook.

Hi Neil, thank you!
Yes, I've read the paper(s) and the tutorials extensively but still need the clarification so thank you for your comment. I understand that z>0 is defined as the abnormal direction, however we still mathematically end up with some z-scores that are negative (which are strictly necessary, e.g. if the control mean and standard deviation are 0 and 1 respectively, as in "Preparing Data for SuStaIn") so I am trying to understand how to best handle those. For context, we are following a previous paper that included their cognitively normal/control population in the Sustain input, which is why we are not excluding patients within the control distribution.
If the distribution shouldn't be shifted nor the negative values zeroed out or removed, I am not sure what other options there are. My understanding from the literature was that SuStaIn could not accept negative inputs, but does your last point imply that data can be negative, as long as Z_vals are strictly positive? I had been looking into this independently and saw in Zscore Sustain line 69 that it specifically states that the z-scores need to be positive. Apologies if I am misinterpreting and thank you for taking the time to explain.
The same ValueError still occurs after removing the z-score shift as suggested, and when running with only positive values (negative scores zeroed, which led to complete runs in previous versions of the notebook, though I agree with your point about artificially modifying). I also ran without zeroing out negative z-scores as per my interpretation of your comment (so there were negative scores within data), with the same error. The issue is not resolved. Do you have any other suggestions?
Thank you for your help!

Correct — it's the direction of abnormality that needs to be positive, not the values. Of course the data (both from patients and controls) will contain negative values after z-scoring. Apologies on behalf of the developers, but — unless I'm mistaken — the comment in line 69 of ZscoreSustain.py is poorly worded and should mean that the direction of abnormality needs to be positive.
I'm almost certain that the hyperparameter event thresholds in Z_Vals all need to be positive. Even if not (but I've never tested the code with negative z-score events), negative event thresholds make no sense as this would be in the opposite direction to disease progression. Why would anyone care if a disease subtype has an early event that amounts to biomarker abnormality that is more normal than the average non-diseased control?
In that spirit, it feels pertinent to state that clustering is not a magical weapon. The user needs to carefully consider the input data and the model. For example, sensible feature selection would exclude features that amount to noise for a given hyperparameter configuration. And hyperparameter configuration needs to respect the available disease signal in your input features. I have a paper in preparation about this.

For context, we are following a previous paper that included their cognitively normal/control population in the Sustain input, which is why we are not excluding patients within the control distribution.

I presume "patients within the controls distribution" means patients with normal-looking measurements. Of course some patients will have measurements well within normal limits, e.g., z<1. Such a biomarker might end up at the end of a data-driven sequence, but it certainly can be included in the model if desired.
And it's fine for the user to include whichever samples they like when training a data-driven model (including measurements from controls), but the model will have to be interpreted with that in mind. If controls will never develop the disease (as is usually, but not always the case), then there's a strong argument for excluding them from the training set.
In my opinion pySuStaIn is not the primary source of your issue. A little forethought is needed in terms of data science / machine learning good practice, e.g., feature selection and hyperparameter tuning as mentioned above. If you don't have a data scientist or statistician on your team, I suggest finding one or two.

Hi Neil,
Thank you for taking the time to respond, and for clarifying the positive z-scores comment from the code. We had been struggling to find a reason why the data could not contain negative scores and confirming that it can is very helpful. I apologize if there was ambiguity in my previous comment, I had never been using nor confused about negative Z_vals, and I understand their interpretation and why they must be positive.
I appreciate your comments and feedback and will be discussing the issues you raised with my group. We would appreciate if a second look could be taken at the error, or the issue could be re-opened, as we have ensured the input follows the required constraints as outlined in the literature (and as clarified by you, thank you), and we are still unable to run to completion of the 0 subtype/1 cluster problem due to this ValueError (despite having previous success). It routinely fails with the ValueError on the fourth set of MCMC iterations, no matter how many start points and MCMC iterations are used (tested 10 SPs & 1e3 MCMC iters; 15 SPs & 1e4 MCMCs; and 25 SPs and 1e6 MCMCs).
During this testing, I noticed a strange behaviour: despite using a new console/clearing all variables/restarting Spyder between each test, instead of having the same number of MCMC iterations in each set as expected, when setting N_iterations_MCMC = int(1e6) the first three sets of MCMC iterations had 1e4 iterations and the fourth had 1e6, i.e.:
MCMC Iteration:   0%|          | 0/10000 [00:00<?, ?it/s]   MCMC Iteration:   0%|          | 0/10000 [00:00<?, ?it/s]   MCMC Iteration:   0%|          | 0/10000 [00:00<?, ?it/s]   MCMC Iteration:   0%|          | 0/1000000 [00:00<?, ?it/s]   [... ValueError: cannot convert float NaN to integer]
(The Spyder console does not show the tqdm updates to the MCMC iters, so it only shows 0%, that is not the issue). So, there are two issues/behaviours occurring at the fourth set. I'd be happy to open a new issue for this MCMC iterations behaviour if that would be helpful. The model is not loading in from any previous solutions.
Thank you!

Give a debugging tool a go. If that doesn't help you to isolate the source of the NaN, then I'm happy to reopen the issue.
But we probably can't help much on this end (having not seen this error before), unless you provide a minimal working example that reproduces the error. In this case, a MWE probably requires the data, or synthetic data that closely resembles the real data (and reproduces the error, of course).

@katrinaCode Hello - I am currently having a similar issue did you ever find a workaround?

Hi @Tonnar, yes! @KangMSPeter from my lab created this fix that has worked for both of us:

add 1e-250 in the denominator of the total_prob_subtype_norm calculation to prevent dividing by 0 on line 556 in the subtype_and_stage_individuals function in AbstractSuStaIn, like so:

total_prob_subtype_norm         = total_prob_subtype        / ((np.tile(np.sum(total_prob_subtype, 1).reshape(len(total_prob_subtype), 1),        (1, N_S))) + 1e-250)

Then, replace the try/if-else statements from lines 578 to 588 in the subtype_and_stage_individuals function in AbstractSuStaIn with this:

try:
    ml_subtype[i]           = this_subtype
except:
    ml_subtype[i]           = this_subtype[0][0]
if this_prob_subtype.size == 1:
    if this_prob_subtype == 1:
        prob_ml_subtype[i]  = 1
    else:
        prob_ml_subtype[i]  = this_prob_subtype
else:
    try:
        prob_ml_subtype[i]  = this_prob_subtype[this_subtype]
    except:
        prob_ml_subtype[i]  = this_prob_subtype[this_subtype[0][0]]

I hope this helps!

@katrinaCode Thank you so much for your response! This looks like it will help a ton!


Python snippet for list comprehension

Create a snippet to show the use of list comprehension in Python

hello,  could you assign me?


Run npm audit fix to resolve 5 vulnerabilities (3 moderate, 2 high)

Some of my dependency scans were flagging some high vulnerabilities in this library
$ npm audit
# npm audit report

json-schema  <0.4.0
Severity: moderate
json-schema is vulnerable to Prototype Pollution - https://github.com/advisories/GHSA-896r-f27r-55mw
fix available via `npm audit fix`
node_modules/json-schema
  jsprim  0.3.0 - 1.4.1 || 2.0.0 - 2.0.1
  Depends on vulnerable versions of json-schema
  node_modules/jsprim

minimist  <=1.2.5
Severity: high
Prototype Pollution in minimist - https://github.com/advisories/GHSA-xvch-5gv4-984h
fix available via `npm audit fix`
node_modules/minimist

normalize-url  4.3.0 - 4.5.0
Severity: high
ReDoS in normalize-url - https://github.com/advisories/GHSA-px4h-xg32-q955
fix available via `npm audit fix`
node_modules/normalize-url

nth-check  <2.0.1
Severity: moderate
Inefficient Regular Expression Complexity in nth-check - https://github.com/advisories/GHSA-rp65-9cf3-cjxr
fix available via `npm audit fix`
node_modules/nth-check

5 vulnerabilities (3 moderate, 2 high)

To address all issues, run:
  npm audit fix

$ npm audit fix

@mikejarrett Thank you for flagging this. Anything from dep-scan since the changes look like from indirect dependencies? Also, generally, I'm not too fond of patching the lock file directly without updating the direct dependencies.


samd51 usb interrupt has been broken up/renamed in newer pacs, breaking examples

Nevermind, my checkout was old.


Allow quick pick items to always be visible and sticky

Based on internal discussions, would like to have an option in the Quick Pick item API to allow certain items to be grouped together and separated by a border. Additionally, when there are long entries in the list, it would be great to have this group always visible like below (see items at the bottom of the quick pick):

And when filtering the list, it would filter as it normally does:

cc @luabud

And when filtering the list, it would filter as it normally does:

It's interesting, I expected the opposite from the sticky items. There would only be one or two of them so they really are just "extra actions I always want to see" while the non-sticky bit is the "true list I'm filtering through"

I can see that. How would you navigate to those actions via keyboard though if the list is long? You'd have to go through each item in the list or go through the tab stops, which feels like a bit of a hack for something the quick pick already supports. I just imagined it would be faster to type a few characters + enter.

Yeah I think that makes sense. Right now we have a concept of separators in Core... I think supporting separators in the API is a prereq of this work because ideally we can use separators to determine where the sticky starts (aka the last separator would denote stickiness).

This might be solved via https://github.com/microsoft/vscode/issues/149057 with having section headers and actions

I can help test this, is there an option that we can specify within the QuickPickItem object?

This was closed on accident


Highlighting breaks with qualified identifiers in a type definition

Description:
$title.
Steps to reproduce:
import ballerina/time;

type Type int|time:TimeZone|time:Error;

Note the module prefixes in the two qualified identifiers.
Affected Versions:
2201.0.0-rc1

time is picked up as a storage.type from the textMate grammar. But, it's overridden by semantic highlighting in the light+ theme.


Allow setting argoCD revision to PR git SHA

Description

New function SetArgoCDAppRevision sets ArgoCD application Target Revsion, note: It doesn't trigger a sync by itself , and it doesn't enable/disable autosync.
Create a new configuration to control which ArgoCD apps are allowed to sync to non main branch by Telefonistka
User triggers  the SetArgoCDAppRevision function by checking a checkbox in the ArgoCD diff comment (the comment is displayed only for relevant apps), the choose revision is the PR current git SHA(=next commit in PR will not be synced without an additional checking of a checkbox).
On PR merge SetArgoCDAppRevision is used a gain to revert app to point to HEAD
generateListOfChangedComponentPaths function now includes the logic for promotion and "regular" PRs (for DRYness)
Refactor createArgoCdClient to create all needed clients (we need to cache those outside the stack )
add analyzeCommentUpdateCheckBox function to support generic triggering of actions from checkbox

Type of Change

[ ] Bug Fix
[x] New Feature
[ ] Breaking Change
[ ] Refactor
[ ] Documentation
[ ] Other (please describe)

Checklist

[ ] I have read the contributing guidelines
[ ] Existing issues have been referenced (where applicable)
[ ] I have verified this change is not present in other open pull requests
[ ] Functionality is documented
[ ] All code style checks pass
[ ] New code contribution is covered by automated tests
[ ] All new and existing tests pass

/publish

/publish

/publish

/publish

/publish

/publish

/publish

/publish

/publish

/publish

/publish

/publish

/publish

/publish

/publish

/publish

/publish

/publish

/publish

/publish


Markdown parsing in 'Dynamic Pages' section

Markdown parsing mentioned in Dynamic Pages but not implemented. Is intentional as an exercise or missing?

Good catch. That was something that I had planned but never got around to writing more chapters...

I took a crack at it here:  https://github.com/philsown/noframework/commit/194c082ce5dd413404cba3c72a502c36e375e011


[WIP]TruncatedSVD/PCA

Closes #22

Gist showing some comparisons on PCA: https://gist.github.com/dced18b10aa28cba434771a37a3576f7
Dask is slower on small datasets (1,000 x 500), but quite a bit faster on multi-GB datasets. For 1 100,000 x 5,000 array of doubles (4GB), dask took 11s vs. 35s for scikit-learn, using the 'randomized' solvers (svd_compressed for dask, Halko et. al for scikit-learn).
Merging.

Nice results.  Do the two methods have the same accuracy?
cc @ogrisel @marianotepper

Do the two methods have the same accuracy?

Scikit-learn's solvers seem to have a higher degree of precision. In most of the tests, I needed to adjust the tolerence from something like 1e-5 to 1e-3.
I wish I had kept better notes on the patches I made to the scikit-learn test suite as I was going through. I have another branch that redid everything in a more careful way, but it was taking a while to re-do everything. https://github.com/TomAugspurger/dask-ml/commit/07bfcb2e5ed82a9e9f63bf840d6025bb176f71af shows what the required differences for accuracy were like. The other commits in that branch do things like remove arpacak-specific solvers, remove tests where n_samples > n_features, which the tsqr algorithm doesn't like.


Sigmoid support

Is sigmoid a supported operation? I thought it was, but when looking in coral website I didn't actually see it here

Nevermind, I over looked and it was there (by the name Logistic)


feat-req: A guide on how to add in better fenced code block output support

In the Astro Docs there is a cool fenced code block that has GitHub style git line adds. I have tried to have a look around to see what config I would need to change but I am not too sure.

At the time of writing this, shiki transformers integration with Astro doesn't work as expected.
I opened an issue on shiki repo and will get back to you after some updates.


How to magnify the human voice part in recording while playing music by the same phone

Hi, @kailash09dabhi
Thanks for this great lib!
I'm using it to record an audio like karaoke. Most of it works fine, except that the music part is too louder than the human part.
(When I record the singing, I use the phone to play music at the same time).
Thanks for your time! :)

This is actually a different topic and this library will not cover that as the main functionality is to record the sound and not magnifying or something.

Closed due to no activity


Support for OpenBSD

This depends on #74.


ferry_flutter: Add error builder to Operation widget

Let developers to handle errors.

@janosroden thanks for your interest in contributing.
Error handling may be handled differently by each application. Simply displaying the errors to users is not always a good idea. Furthermore, developers may want to display errors in different ways (e.g. a dialog). Ferry shouldn't be opinionated about if or how errors are displayed.
If you want to achieve what you've implemented in your PR, you can do so easily by writing a wrapper widget around the existing Operation widget.

@smkhalsa The existing Operation widget doesn't allow to handle stream errors (like in #114).
This pr provides a default builder which can be overwritten in application level and also provides error builder which can be specified for the particular Operation.
So I agree, ferry doesn't have to define how to handle errors but this pr just provides a way to handle errors with a default solution.
If you still think this is overkill then we still can choose to don't call the default handler. That would be a backward compatible change. What do you think?

@smkhalsa The existing Operation widget doesn't allow to handle stream errors (like in #114).

This is a fair point, although I'm not convinced that internal TypedLink errors should be handled at the Widget level.
Ferry already has an ErrorTypedLink, although it's not included in the default client TypedLink chain. It's currently untested, but we could look at adding it.
Anything related to displaying errors, however, can be handled as a simple wrapper around the existing widget

If I understand correctly ErrorTypedLink can help to catch errors before the stream is created but 'runtime' errors are not its responsibility. However it seems useful, thanks for the hint.
The motivation of this PR was that when I tried the library I found the Operation widget, started using and I got null response in the builder (due to an unhandled custom scalar). Then I looked into the code how to access to the original snapshot.error. I had to copy because snapshot.error is simply ignored. Even the stream is created by the widget so no way to pass a stream which is already prepared with onError.
I'd be happy with the 'simple wrapper' you mentioned but I think it would be useful to access to all errors. Otherwise the builders will look like if (response == null) return Text('Something went wrong'); :)
I can imagine a link which converts stream errors to OperationResponse with link exception.
At least do you agree to don't hide the stream error?

Error handling has been admittedly lacking until now. We've discussed in the past how to handle Stream error events (i.e. whether to catch them or let the user catch them), and we decided to let the user catch them.
However, as you mentioned, this has led to some unexpected behavior caused by silently failing TypedLinks. With our TypedLink architecture, it makes sense to add some reasonable error handling defaults to the default Client TypedLink.
I've updated the ErrorTypedLink to catch Stream error events and convert them into OperationResponses and have included ErrorTypedLink in the default Client TypedLink chain.
I've also adjusted ferry_flutter to include errors from the StreamBuilder (although there shouldn't be any in the default Client due to the above). This is a breaking change since it changes the signature of the builder callback.
Please take a look at the PR and let me know if it resolves all issues in your use case.


Event Schema and routes

Description
Create event schema for storing event data in MongoDB with mongoose and relevant API routes for basic CRUD (Create-Read-Update-Delete) operations. Event data should have a title, a short description, a long description, an image path, event date, Google Calendar link and Google maps link.
Concerning Folder
https://github.com/houseofgeeks/hg/tree/back-end/backend/models
https://github.com/houseofgeeks/hg/tree/back-end/backend/routes
Screenshots/testimonials

NA

Working!

Closing against #50


WIP: Add a DeviseTokenAuth authenticator/authorizer

This WIP PR adds a new Authenticator and Authorizer for use with the Ruby gem devise_token_auth.
It is an extraction from working code at eCraft.
Checklist

[x] Write API documentation, introducing devise_token_auth
[ ] Write tests
[x] DeviseAuthenticator - accommodate #1118
[ ] Accommodate the Mixin, presented as a new file addon/mixins/devise-token-auth-data-adapter-mixin.js here
[ ] ajaxOptions to be compatible with ember-network/fetch

Questions

Can we deprecate the Devise authenticator, authorizer? The proposed backend patch which comes linked in  the DeviseAuthorizer API docs is from 2013.
the devise_token_auth gem has a setting for using Legacy-style Devise (non-Bearer Token authentication) README link to section where this is explained - I should investigate that to see if that could be a way to get the Devise parts EmberSimpleAuth to have a backend done

Hi, I was planning to add the support for DTA to this package. Since you already started it, what about co-operating on this integration ?
So, where should we start / continue ?

@olleolleolle Ping ?

@ValentinTrinque If you want to "investigate that to see if that could be a way to get the Devise parts EmberSimpleAuth to have a backend done" to see whether it's possible to not do all of this?

@olleolleolle So what you want me to do is, to see if it's possible to integrate devise_token_auth using Devise legacy support ?

@ValentinTrinque The value would be: create a documented workaround for those that want to keep using Devise.
DeviseTokenAuth users still need something like this authenticator/authorizer.
It also needs tests - investigate what the other authenticator/authorizer adapters have.

@olleolleolle Ok so, you mean integrate Devise-legacy through DTA instead of the current Devise implementation. And then continue the integration of DTA and its different adapters right ?

The travis build is failing, with no visible error message. Can you explain this?

The test failures are about cookieExpirationTime, perhaps I've missed setting something.

closing - lots left to be done but no progress. Thanks for the effort though, @olleolleolle!


docs: update issue form templates

add checklist with proper validation format
Related Issue
Closes: #393
Describe the changes you've made
- type: checkboxes
    id: terms
    attributes:
      label: Checklist
      description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/WebXDAO/.github/blob/main/CODE_OF_CONDUCT.md)
      options:
        - label: "I have read the [Contributing Guidelines](https://github.com/WebXDAO/WebXDAO.github.io/blob/main/CONTRIBUTING.md)"
          required: true
        - label: "I have checked the existing [issues](https://github.com/WebXDAO/WebXDAO.github.io/issues)"
          required: true
        - label: "I am willing to work on this issue (optional)"
          required: false
        - label: "I am a GSSoC'23 contributor"
          required: false

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Code style update (formatting, local variables)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] Documentation update.
[ ] This change requires a documentation update

How Has This Been Tested?

There is no error with the file.

Checklist

[x] My code follows the guidelines of this project.
[x] I have performed a self-review of my own code.
[ ] I have commented on my code, particularly wherever it was hard to understand.
[ ] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.
[ ] I have added tests that prove my fix is effective or that my feature works.
[ ] Any dependent changes have been merged and published in downstream modules.

Screenshots (if applicable)

Original
Updated

Code of Conduct

[x] I agree to follow this project's Code of Conduct

Kindly add appropriate labels for GSSoC to both the issues and the pull request :)

@vinzvinci
Please add an appropriate label: There are three labels (levels) to consider for PRs under GSSoC'23, and without them, it would be very difficult to create the accurate final leaderboard with properly allocated points.


Bug(transloco-scoped-libs):

Is there an existing issue for this?

[X] I have searched the existing issues

Which Transloco package(s) are the source of the bug?
Scoped Libs
Is this a regression?
Yes
Current behavior
the version 5.x of transloco-scoped-libs cli does not copy any file to the output folder.
Expected behavior
the previous version (3.x) of transloco-scoped-libs does not have any issue copying the translation files to the ouput folder with the exact same configuration (see below).
Please provide a link to a minimal reproduction of the bug, if you won't provide a link the issue won't be handled.
N/A
Transloco Config
module.exports = {
  rootTranslationsPath: './apps/logistics-webshop-frontend/src/assets/i18n',
  defaultLang: 'en',
  langs: ['en', 'fr', 'nl'],
  scopedLibs: ['@equans/components', './libs/core'],
};

Please provide the environment you discovered this bug in
Transloco: 5.x
Angular: 16.2
Node: 18.17.0
Package Manager: yarn
OS: Windows 10 (x64)

Browser
No response
Additional context
after some investigation, it appears that you have updated the "glob" dependency to v10 (from v7).
also, the problem does not seem to happen on linux (didn't test it on macos).
I would like to make a pull request for this bug
No

I have the same exact bug on the same platform, it's not working on windows, but working in linux and macos, for the same project. With previous version of transloco scoped libs it was working before.
Also I remarked it create the directories at the destination, but they are empty


Is one subscription supporting multiple receivers?

[Enter feedback here]
Is one subscription supporting multiple receivers?

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

ID: 97523a2e-acab-748f-5530-ded63b6eb6b9
Version Independent ID: 614584c2-594d-f41c-6b46-201cbf2613ce
Content: Azure Service Bus messaging - queues, topics, and subscriptions - Azure Service Bus
Content Source: articles/service-bus-messaging/service-bus-queues-topics-subscriptions.md
Service: service-bus-messaging
GitHub Login: @spelluru
Microsoft Alias: spelluru

@JudyGao007
Thanks for your feedback! We will investigate and update as appropriate.

Hello @JudyGao007 - Yes, adding/removing receivers (of a Queue of Subscription) will help guide the receive rate, the following section in the performance best practice doc has more info: Queue with a large number of receivers

Since we didn't determine any faulty steps/changes to this doc upon reviewing your feedback, we will now proceed to close this thread for now. If there are further questions regarding this matter, please open a new post on the MS Q&A channel and we will gladly continue the discussion.


(feat) Edit Patient

Fixes #1765

Implement Edit Patient functionality
Refactor New Patient and View Patient so that New, Edit and View Patient functions all use the same GeneralInformation form.
Changed behavior of isEditable prop in input components to make it false by default, as this seems to make more sense for boolean
Moved createPatient into patient slice instead of patients

Right now the tests should all pass but I still need to add the tests for Edit Patient and improve some other tests. I think I also need to add error handling back into the new form since I lost it when I deleted NewPatientForm.

Made the requested UI changes.
Brought some of the tests from NewPatientForm.test.tsx back into GeneralInformation.test.tsx though probably still need more.
Fixed other tests.
Fixed the logic to display spinner in EditPatient and ViewPatient
Added error handling and test for error handling back in.

Still need to add tests for the new route in HospitalRun component, and the actual tests for EditPatient.

Added tests for EditPatient component and the patients/edit route, still having some test failures and not exactly sure why. Also couldn't figure out how to mock useParams (see the commented out test in EditPatient.test.tsx)

Oh, forgot the icon, we'll need to add a pencil icon in components.

@MatthewDorner this afternoon we fixed an annoying bug with husky/lint. Could you Resolve conflicts and errors? thank you!

Fixed merge conflicts
Moved buttons out of GeneralInformation form and into the parent forms (NewPatient, EditPatient, ViewPatient)
Fixed some tests

Tests passing now. Looks like I should add some more tests, although I was thinking of going through the tests more thoroughly after this gets merged anyway.

@MatthewDorner Great PR!

LGTM


Running on macOS 11: JUCE Assertion failure in juce_mac_SystemStats.mm:117

On macOS Big Sur the program throws an exception at juce_mac_SystemStats.mm#L117. Is it possible to update the build/dependency to run on macOS 11+ as well?

Use JUCE develop branch.


cancel event is swallowed

pickr emits a cancel event when clicking the cancel button.
Sadly this isn't handled/proxied by ember-pickr.
I think it would be great to allow consumers to do something on cancel.
Oops seems like cancel and clear were added 22hrs ago in a release:
https://github.com/Simonwep/pickr/releases/tag/1.2.3
I'll create a PR to add support for these

haha, I was about to comment that after seeing the email notification 😆 Thanks for the quick PR though!


Add deployBlocker action

Details
Adds a deploy blocker action as described in the issue: https://github.com/Expensify/Expensify/issues/156481. It will listen for the DeployBlockerCash label then add it to the open staging deploy issue.
Fixed Issues
Fixes https://github.com/Expensify/Expensify/issues/156481
Tests

Merge this PR
Apply the DeployBlockerCash label to this PR
Verify it's added to the deploy blocker list here: https://github.com/Expensify/Expensify.cash/issues/1732
Add a DeployBlockerCash to an issue
Verify it's added to the deploy blocker list here: https://github.com/Expensify/Expensify.cash/issues/1732

@roryabraham looks like this was merged without passing tests. Please add a note explaining why this was done or remove the Emergency label if this is not an emergency.

Trying to prevent version workflows from failing.

Nice, it worked 🎉  https://github.com/Expensify/Expensify.cash/runs/2099890339?check_suite_focus=true


Allow changing of statuses of existing services

We ran into a problem where we were trying to change the status of service after it had been added to lair. This little bit of code needs to be moved.
Also in this PR, is a go.mod and go.sum that work go 1.11 and probably go 1.12.

sorry @brimstone im no longer involved in the project

@tomsteele thanks so much for the response.
@djkottmann are you still involved with the project or can you point me to someone who is?


summary with an empty summarised result

I'm seeing results in the summary even if I pass an empty summarised result
OmopViewer::exportStaticApp(
  result = omopgenerics::emptySummarisedResult(),
  directory = here::here(),
  summary = TRUE)

this seems to only happen if overwriting an existing app - if I delete the previous app manually, the new one works as expected


Empty ManifestSections should not render in L2 display

In our L2 provenance display, manifest sections will still render even if the underlying manifest does not contain relevant data:

We should hide sections that don't have any data to display.

@adobe export issue to Jira project CAI


Summarize checks statuses ?

Is there any way to export a periodically report of checks' statuses?
Let's say I'd like to create some email template every week that sums up:
216 Warnings
47 Errors
2 Criticals
Any idea how to start go for it?
Thanks!

When the email goes out, is it just checking what's currently in warning/error/critical?
If so, you could create an external script that uses the api to do this easily.


Mnd 10895/hosted transaction signing

https://github.com/TransmitSecurity/ciam-expressjs-vanilla-samples/assets/116498434/8bbcae5b-db01-4a4b-b108-dc0dec53007e

Few comments.
Also, the flow is a bit hard to understand. Do you think it will simplify things if we:

Have 3 pages (register, login, home)
After registration or login the user is redirected to the home page and we display the response
Only in the home page the user can issue a transaction and once complete he'll be redirected to the home page again

WDYT?

Registration doesn't authenticates the user, and has a different response. cant redirect to home page.
Transaction can be performed without being authenticated. The transaction itself is and authentication operation, just with approval data.

Got it!
So it's just weird that in the registration complete page there's no followup action and you need to click the top left logo to go back to the login page.
Perhaps add a Login button that will take you back to the login page.


Allow passing in an existing Key Vault instance

🛠 Description
Allow reusing a Key Vault instance in hubs
📋 Checklist

🔬 How did you test this change?

[ ] 🤏 Lint tests
[ ] 🤞 PS -WhatIf / az validate
[x] 👍 Manually deployed + verified
[ ] 💪 Unit tests
[ ] 🙌 Integration tests

🙋♀ Do any of the following that apply?

[ ] 🚨 This is a breaking change.
[ ] 🤏 The change is less than 20 lines of code.

📑 Did you update docs/changelog.md?

[x] ✅ Yes (required for dev PRs)
[ ] ➡ Will cover in a future PR (feature branch PRs only)
[ ] ❎ Not needed (small/internal change)

📖 Did you update documentation?

[x] ✅ Public docs in docs (required for dev)
[ ] ✅ Internal dev docs in src (required for dev)
[ ] ➡ Will cover in a future PR (feature branch PRs only)
[ ] ❎ Not needed (small/internal change)

Can we include additional parameter to refer a Key/secret/certificate from the Key Vault ?


Remove duplicate config in conf/kubernetes.conf

Follow up for #534
Fix #583
Signed-off-by: Takuro Ashie<EMAIL_ADDRESS>

I'll bump up the image revision in this PR, then merge it.

Fix #583

Sorry it's #584, not #583


Extend  to set an aria-current attribute for active links, instead of an active class

What problem does this feature solve?
This feature enables developers to mark up the active router link in an accessible manner for users of assistive technologies.
What does the proposed API look like?
Similar to the active-class property on <router-link> introduce an aria-current string property, defaulting to a null value. When set, use the aria-current DOM attribute in addition to the active class.
Criteria for whether the DOM attribute should be set are the same  as for active-class. The attribute should be set on the DOM node itself -- or instead on the special nested <a> element that router-link can upgrade, should one exist.
The DOM attribute's value should be taken from the aria-current router-link property. Optionally, this could be validated against the list of valid options as per the ARIA 1.1 specification and console warnings could be provided on attempts to set invalid values.

I need a bit more help to know what is the right approach here. Is it just setting aria-current="page" along with the class? I based myself reading this article

That's pretty much it, yes.
The only nuance here is that there's more choices than just aria-current="page" and depending on what the router-link represent something like aria-current="step" might be a better fit. (E.g. wizard steps in a purchase process?)
Hence the ability to configure the value of the attribute is needed.

Hello there!
I just happened to have the same issue as I wanted to manage the aria-current attribute on certain links.
Any update on this improvement? I'm glad to help and do a PR if you want.
The first step would be to have the possibility to add the aria-current attribute to a user defined value but in the end I think that it would be better to leave the possibility to add any kind of attribute based on the active and exact data (that should be made available in the routerLink component). That means that the user will have to extend the default component maybe?
Happy to discuss the matter and give a hand 😃

Thats great news! Now I can't wait for the next version :P
My obvious question, and sorry for asking this: do you have an idea of the time frame for the next iteration?
Thanks for the reply

Unfortunately not. I don't even know how much time I will have to work on it 😅

Haha
Take care and thanks for all the work done so far!

This is interfering with my ability to manually set aria-current via my own logic. Is there a way to override this so vue stops stripping away aria-current when I don't want it to?

Use the v slot api to have full control over all the attributes and events

It would be nice if there were some router instance properties to customise this behaviour, sort of like we can do with the active classes. For example in a current app I am building I want a certain aria-current value for exact matches, and a different aria-current value for non exact matches


TypeError

Addon not working 🙁
Getting TypeError - can concatenate only str (not “NonType”) to str

In setup epg?

Try 2.0.20 and also include the steps how to get this error

Try 2.0.20 and also include the steps how to get this error

In 2.0.20 also it showing error. Even the steps u gave its not working. One channel is showing digishala named. When opening it shows type error

TypeError Comes when any main categories is selected as Language, Genere etc.. No channel list is displayed
I have added channels in Kodi favorites.. trying to run from there gives HTTP error

Just these 2 channels are showing & when it played error is showing

Just these 2 channels are showing & when it played error is showing

Yes same issue occurring for me aswell..

Use 2.0.21

Works fine now. Thank you very much🙏🏻


_table-row.scss .table-hover  effect at .table-dark thead issue

Hello there,
I found a possible missing tag in line 19 of the file _table-row.scss
.table-#{$state} {

Maybe it should be replaced with
.table-#{$state} tbody {

best regards

Thanks for your prompt reply, this is my first time to submit an error report，sorry for breaking the rules :)
Now I will re-report this issue according to your instructions
Testing environment

MacOS10.13:
Chrome 65.0
Safari 11.1

Win7:
IE11

Boostrap 4.0.0

jsbin test link
https://jsbin.com/deduyoj/edit?html,output
When mouse hover on TEHAD area , it also changed the background color
I think this doesn't meet the rules

// Hover states for .table-hover
// Note: this is not available for cells or rows within thead or tfoot.

My solution is to add the TBODY tag to line 19 of the file mixins/_table_row.css, like this
    .table-#{$state} tbody {

@mdo Issue is closed. My reply may not have caught your attention. Please take a moment to check, thanks


Fix bug for AggregateMetrics rule in Recommendation Engine

Description
Currently AggregateMetric rule looks at selection columns and all of them have to be metric and inside a SUM function. It misses the fact that for group-by queries, groupby columns appear in selection with no function and that's a valid case for which AggergateMetrics can be turned on. This PR checks that scenario and acts accordingly.
Testing Done

unit test
integration test

Codecov Report

Merging #7053 (91ca4b0) into master (01f206b) will decrease coverage by 7.96%.
The diff coverage is 90.90%.

@@             Coverage Diff              @@
##             master    #7053      +/-   ##
============================================
- Coverage     73.41%   65.44%   -7.97%
  Complexity       12       12
============================================
  Files          1454     1454
  Lines         72127    72136       +9
  Branches      10448    10451       +3
============================================
- Hits          52951    47209    -5742
- Misses        15637    21520    +5883
+ Partials       3539     3407     -132

Flag
Coverage Δ

integration
?

unittests
65.44% <90.90%> (+0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...r/recommender/rules/impl/AggregateMetricsRule.java
97.14% <90.90%> (-2.86%)
:arrow_down:

...a/org/apache/pinot/minion/metrics/MinionMeter.java
0.00% <0.00%> (-100.00%)
:arrow_down:

.../apache/pinot/common/metrics/BrokerQueryPhase.java
0.00% <0.00%> (-100.00%)
:arrow_down:

.../apache/pinot/minion/metrics/MinionQueryPhase.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...pache/pinot/common/utils/grpc/GrpcQueryClient.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...pinot/minion/exception/TaskCancelledException.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...t/core/startree/plan/StarTreeDocIdSetPlanNode.java
0.00% <0.00%> (-100.00%)
:arrow_down:

.../core/startree/plan/StarTreeTransformPlanNode.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...core/startree/plan/StarTreeProjectionPlanNode.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...t/minion/executor/MinionTaskZkMetadataManager.java
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 339 more

Continue to review full report at Codecov.

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


[REQUEST] Enable flush method from dynamoDB cache

Discussed in https://github.com/laravel/framework/discussions/37855

Originally posted by didix16 June 29, 2021
Hi everyone,
I'm using Laravel Vapor for a serverless project and also I'm using DynamoDB as a caching system. I just realized that flush method is throwing and Exception:
/**
     * Remove all items from the cache.
     *
     * @return bool
     *
     * @throws \RuntimeException
     */
    public function flush()
    {
        throw new RuntimeException('DynamoDb does not support flushing an entire table. Please create a new table.');
    }

I don't understand why because it can be implemented by using the DynamoDbClient::scan method and then delete all items looping through them or just deleting the table and recreating it again.
Here is my approach:

 // @method \Aws\Result scan(array $args = []) <== This is from DynamoDBClient class
/**
     * Remove all items from the cache.
     *
     * @return bool
     */
    public function flush()
    {
        // This returns the entire items list on dynamoDB table
        $items = $this->dynamo->scan([
            'TableName' => $this->table,
            ...what ever the options this API call needs ....
        ]);
        $result = true;

        // I dont know how the scan method result  and item structure are but suppose it has a getKey() method to get the key....
        foreach($items as $item){
           $result =  $this->forget($item->getKey()) && $result;
        }
        // if all items could be deleted then flush will return true, else false.
        return $result;
    }

So what do you think? Hope could be implemented.
Thanks in advance.

Wouldn't just increase your DynamoDB cost? https://aws.amazon.com/dynamodb/pricing/

Then maybe the best approach would be deleting the entire table and recreating it, making in total amount of 2 requests, one for deleting the table and another one for creating it again

Heya, thanks for submitting this.
This seems like a feature request or an improvement so I'm moving this to the ideas repository instead. It's best to post these in the ideas repository in the future to get support for your idea. After that you may send a PR to the framework. Please only use the laravel/framework issue tracker to report bugs and issues with the framework.
Thanks!


Python/Core: Error parsing http status code - 401 converted to UNKNOWN: Stream removed

What version of gRPC and what language are you using?
gRPC v1.56.2
Python
What operating system (Linux, Windows,...) and version?
Mac (client)
Linux (server)
What runtime / compiler are you using (e.g. python version or version of gcc)
Python 3.10
What did you do?
Please provide either 1) A unit test for reproducing the bug or 2) Specific steps for us to follow to reproduce the bug. If there’s not enough information to debug the problem, gRPC team may close the issue at their discretion. You’re welcome to re-open the issue once you have a reproduction.
#31657 (closed as fixed in v1.51.3) appears to have resurfaced for versions ==v1.53.1 and >=v1.54.2. We first noticed it while running v1.56.2.
Our particular issue is reproducible by running a gRPC service behind an NGINX reverse proxy with subrequest authentication enabled. When the auth endpoint returns a 401, the client errors with UNKNOWN: Stream removed instead of translating the http error to the gRPC code: UNAUTHENTICATED (16). A complete, minimal reproducible example is available here: https://github.com/jeevb/grpc-regression-mre
What did you expect to see?
From gRPC v1.51.3:
E0728 20:36:16.829609000<PHONE_NUMBER> hpack_parser.cc:1218]              Error parsing metadata: error=invalid value key=content-type value=text/html
Traceback (most recent call last):
  File "/Users/jeev/Workspace/repos/personal/grpc-regression-mre/echo/client.py", line 27, in <module>
    main()
  File "/Users/jeev/Workspace/repos/personal/grpc-regression-mre/echo/client.py", line 22, in main
    response = stub.Echo(request)
  File "/Users/jeev/Workspace/repos/personal/grpc-regression-mre/echo/.venv/lib/python3.10/site-packages/grpc/_channel.py", line 946, in __call__
    return _end_unary_response_blocking(state, call, False, None)
  File "/Users/jeev/Workspace/repos/personal/grpc-regression-mre/echo/.venv/lib/python3.10/site-packages/grpc/_channel.py", line 849, in _end_unary_response_blocking
    raise _InactiveRpcError(state)
grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
  status = StatusCode.UNAUTHENTICATED
  details = "Received http2 header with status: 401"
  debug_error_string = "UNKNOWN:Error received from peer ipv6:%5B::1%5D:8443 {created_time:"2023-07-28T20:36:16.829747-07:00", grpc_status:16, grpc_message:"Received http2 header with status: 401"}"

What did you see instead?
From gRPC v1.56.2:
E0728 19:54:05.103107000<PHONE_NUMBER> hpack_parser.cc:991]               Error parsing 'content-type' metadata: invalid value
Traceback (most recent call last):
  File "/Users/jeev/Workspace/repos/personal/grpc-regression-mre/echo/client.py", line 27, in <module>
    main()
  File "/Users/jeev/Workspace/repos/personal/grpc-regression-mre/echo/client.py", line 22, in main
    response = stub.Echo(request)
  File "/Users/jeev/Workspace/repos/personal/grpc-regression-mre/echo/.venv/lib/python3.10/site-packages/grpc/_channel.py", line 1030, in __call__
    return _end_unary_response_blocking(state, call, False, None)
  File "/Users/jeev/Workspace/repos/personal/grpc-regression-mre/echo/.venv/lib/python3.10/site-packages/grpc/_channel.py", line 910, in _end_unary_response_blocking
    raise _InactiveRpcError(state)  # pytype: disable=not-instantiable
grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
    status = StatusCode.UNKNOWN
    details = "Stream removed"
    debug_error_string = "UNKNOWN:Error received from peer  {grpc_message:"Stream removed", grpc_status:2, created_time:"2023-07-28T19:54:05.10316-07:00"}"

Complete log
Make sure you include information that can help us debug (full error message, exception listing, stack trace, logs).
See TROUBLESHOOTING.md for how to diagnose problems better.
Anything else we should know about your project / environment?
A complete, minimal reproducible example is available here: https://github.com/jeevb/grpc-regression-mre

@yashykt Can you please take a look? This seems to be contradict with the spec. I think we'll need a test this time.
@jeevb Can you please turn on http logging with this env vars: GRPC_VERBOSITY=debug GRPC_TRACE=all,-timer,-timer_check. We want to ensure the grpc-status header was not present in the response, if it is, then this behavior is correct.

@yashykt Can you please take a look? This seems to be contradict with the spec. I think we'll need a test this time.
@jeevb Can you please turn on http logging with this env vars: GRPC_VERBOSITY=debug GRPC_TRACE=all,-timer,-timer_check. We want to ensure the grpc-status header was not present in the response, if it is, then this behavior is correct.

Updated the gist with the log.

@XuanWang-Amos @yashykt: We’re y’all able to reproduce the issue?

that's unfortunate. Were you perhaps able to pinpoint which PR introduced the regression?

Yes, I believe the regression was introduced here:
https://github.com/grpc/grpc/compare/v1.53.0...v1.53.1 (#33021)
https://github.com/grpc/grpc/compare/v1.54.1...v1.54.2 (#33020)

Do you have any advice for people concerned about the "Excessive Iteration" vulnerability discovered in older versions of grpcio who are also concerned about this bug? It would appear that the recommended versions also suffer from this bug.
More info here: Snyk, Google, CVE

@ctiller do you have an immediate suspect of what's going on here? If not, I can spend some time creating a repro for this over the weekend?

@yashykt the repo that jeev attached should work pretty well and is pretty minimal.  do you think you could try that first?  if it doesn't work for you could you ping @jeevb and i here please?
thank you for your attention on this btw

ok, @ctiller pointed out that it is not the parsing of the http status code - 401 that is problematic. It is the content-type value that is causing parsing errors.
If you look at the logs -
E0728 20:36:16.829609000<PHONE_NUMBER> hpack_parser.cc:1218]              Error parsing metadata: error=invalid value key=content-type value=text/html

The value of content-type key received is text/html which is failing parsing

The spec is unclear on what the behavior of the client should be but yeah I think we should revert back to not failing on the client side if the content-type is not application/grpc

yeah that's the root issue i feel... the auth endpoint it ends up hitting is http based, not grpc.  i think it makes sense to resolve back to the former statuscode.unauthenticated.  is that doable?

oh - jeev pointed out the me that i missed @XuanWang-Amos's comment... the 401 translation to statuscode.unauthenticated is part of the spec, so totally feels kosher to do.

Yes a 401 should be translated to unauthenticated, but like Yash mentioned, we're failing to parse because the content type is text/html.
I think one way to fix it is to change the NGINX configuration so it sends back response using context-type as application/grpc instead of text/html.

Sadly, just found this: https://github.com/kubernetes/ingress-nginx/issues/3241. FWIW though, this works correctly on a Golang client - we're only seeing this issue with the Python client.

Can confirm that this rescues the situation, but looks like there has to be a better solution.

Glad to hear there is a fix, I'm closing this issue now, feel free to re-open or create a new one if anyone still needs help.

Could we please re-open this issue @XuanWang-Amos?
I'm working on the same project @jeevb and @wild-endeavor, with whom you discussed the issue above, are working on.
Shorty after we merged a fix in our python client library which added metadata = [("accept", "application/grpc")] to the call details (which fixes the issue discussed above for the nginx ingress), we merged an integration with the GCE Ingress/GCP Identity Aware Proxy (IAP).
We discovered that for unauthenticated requests, IAP returns content type text/html, even if the call contains the ("accept", "application/grpc") header (see here).
For some grpcio versions, the call is still ultimately successful after refreshing credentials, we only see the warning:
E1208 16:37:04.492457000<PHONE_NUMBER> hpack_parser.cc:853]               Error parsing metadata: error=invalid value key=content-type value=text/html; charset=UTF-8

For newer grpcio versions, the call completely fails with:
...
E1208 16:37:57.673192000<PHONE_NUMBER> hpack_parser.cc:999]               Error parsing 'content-type' metadata: invalid value
...
    raise _InactiveRpcError(state)  # pytype: disable=not-instantiable
grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
	status = StatusCode.UNKNOWN
	details = "Stream removed"
	debug_error_string = "UNKNOWN:Error received from peer  {grpc_message:"Stream removed", grpc_status:2, created_time:"2023-12-08T16:36:24.576706+01:00"}"

For these versions it works (with warning)/doesn't work:
* `1.53.0` works
* `1.53.1` works
* `1.53.2` works
* `1.54.0` works
* `1.54.2` works
* `1.54.3` works
* `1.55.3` doesn't work (prior `1.55` versions have been yanked)
* `1.56.0` works
* `1.56.2` doesn't work
* `1.57.0` doesn't work
* `1.58.0` doesn't work
* `1.59.0` doesn't work

Since IAP is a managed google service which doesn't allow any server side configuration as experimented with by @jeevb here, it would be good if this could be caught by the python client, especially since e.g. the go client doesn't have this issue.
Thanks!

Reopening since the issue still exist.
Hi @ctiller, @yashykt, like @fg91 mentioned above, looks like it's not enough for client to fix it. Can we revert the changes in core?

In this issue https://github.com/grpc/grpc/issues/35323 (which was closed as duplicate in favor of reopening this one) I provided example client code and debug logs for two different grpcio versions (one where we see the issue, one where we don't).
The logs show that for e.g. grpcio==1.60.0 the rpc to a minimal greeter service behind Google Identity Aware Proxy ultimately fails even though the refreshing of the credentials works and the server responds with the correct "Hi Client" data.

I believe this is caused by having a package name with only one part in the path. If you update the greeter service to have a package of google.helloworld and regenerate the stubs all will be fine, I think

I believe this is caused by having a package name with only one part in the path. If you update the greeter service to have a package of google.helloworld and regenerate the stubs all will be fine, I think

I think this is not correct as the original service with which we see this problem does have a package name in the path, for instance flyteidl.service.DataProxyService. (Did I understand you correctly?)
I'm rather sure that the problem is that the python client as opposed to e.g. the go client started to fail from version 1.55.3 onwards when the server responds with content type text/html instead of application/grpc.

Hi there, any updates on the issue? I've been hitting this error while using aiplatform.gapic.PredictionServiceClient

Thank you for tackling this in https://github.com/grpc/grpc/pull/35824 @yashykt !

No worries :)

I'll also see if I can get the Cloud IAP team to get this fixed on their side.

I'll also see if I can get the Cloud IAP team to get this fixed on their side.

Thank you, that would be nice 🙏

I can confirm that the new rc version works:
~ pip install grpcio==1.60.0
~ python test_iap.py
...
~ echo $?
1
~ pip install grpcio==1.62.0rc1
~ python test_iap.py
...
~ echo $?
0

Thanks for fixing this 🙏

It tormented me for three days .
grpc.core for dotnet is death standing .
can we release a new version to NuGet, as it has been paused since 2023-01-11?cant fix bug now.
https://www.nuget.org/packages/Grpc


LineSearchWarning:

Hi!
First of all I wanted to thank you for your project. I've found it very interesting.
I'm trying to reproduce your code on my Google Colab but  i've got this warning :
LineSearchWarning: The line search algorithm did not converge
warn('The line search algorithm did not converge', LineSearchWarning)
It happens with every classifier except for XGB.
Do you have any suggestion on how to solve it? Thank you in advance.

Hi!
Thanks for raising this issue!
I've gone through my work and I've got this warning only with the Logistic Regression model (it doesn't happen with Random Forest, XGB, SVM, or MLP) in the fixed speech settings. I've tried to increase the number of iterations, but I've still got the same warning. I would explain this warning by the fact that Logistic Regression models are quite basic and are not appropriate for the classification task we study.
I am surprised that you have this warning for other models though. Have you tried to increase the number of iterations?


Live reload breaks debugging session in elixirLS debugger

I know that this most likely not be planned but there are repeated bugs and support requests related to that issue.
https://github.com/elixir-lsp/elixir-ls/issues/797
https://github.com/elixir-lsp/elixir-ls/issues/798
There are 2 problems when phoenix is run under elixirLS debugger

The code reloader (https://github.com/phoenixframework/phoenix/blob/master/lib/phoenix/code_reloader/server.ex) is purging and reloading modules on the fly with no regard for the ongoing debug session. The reloaded modules are not properly interpreted via erlang debugger.
It is messing with IO interception. Debug Adapter Protocol has strict requirements on stdout IO. All standard IO needs to be sent as JSONRPC protocol messages.

This is tricky because I can’t come with good suggestions to address this. At best we could block the code reloader but I am not sure that would help either.

@lukaszsamson if you can reproduce it we should do a pairing session :)

Is there any update to this issue or other workarounds? This makes the dev experience while debugging (I'm basically always debugging) pretty painful.

No. To address it either phoenix should check if modules are interpreted and call :int.ni after it recompiles or emit some event that the debug adapter can listen for and reinterpret. Probably breakpoints also need to be reset after that. A workaround could be to periodically reinterpret all modules in the VM that match launch config settings.

My impression is that everyone in the Phoenix development community has given up on using a debugger and just use IO.inspect. Coming from a Java background where everyone used a debugger, I struggled for quite a while trying to get debugging working with Phoenix and ElixirLS and finally gave up and gave in to using IO.inspect. It's a shame I think. A lot of people would be very happy to be able to use the ElixirLS debugger with Phoenix.

Ya this is a shame. I have been trying to audit phoenix and see if I should propose we switch to it for some things at the company I work for, but this is a hard blocker. I really love this ecosystem but being unable to use the tools like we're accustomed and requiring console logging is a non-starter.
That being said, thank you all that have worked on these projects and gotten things this far. Hopefully this gets fixed in the future, and then I'll revisit.

I did a post for this on the forum. Let's see if anyone responds.
https://elixirforum.com/t/source-level-debugging-for-phoenix-and-phoenix-liveview-apps/65400


Variable substitution in Ruffus decorator?

Hi,
Is it possible to perform variable substitution in the Ruffus header - I would like to set the input and output directories based on the .yml file (so that they are not local paths from the cwd).
e.g.
@transform(PARAMS["directory_input"] + "/*/matrix.mtx.gz",
           regex(PARAMS["directory_input"] + r"/(\d{2}_B\d{1})/matrix.mtx.gz"),
           PARAMS["directory_output"] + r"/results/Robjects/\1_seurat_singlet.rds")
def hto_demux(infile, outfile):
    '''Run HTO demux script for individual samples'''

This seems to work but I'm not sure if it is the best way do to it?
Best,
Lucy

Hi, yes, this should work.Parameters for inputs/outputs in ruffus are just strings (or list of strings) that can be composed any which way.
Not having tested it, but you can probably simplify a little:
@transform(PARAMS["directory_input"] + "/*/matrix.mtx.gz",
           regex(r"/(\d{2}_B\d{1})/matrix.mtx.gz"),
           PARAMS["directory_output"] + r"/results/Robjects/\1_seurat_singlet.rds")
def hto_demux(infile, outfile):
    '''Run HTO demux script for individual samples'''

Thanks @AndreasHeger. Do you see any way to simplify the following?
@subdivide(tcr_by_donor,
           regex(PARAMS["working_dir"] +
           r"/results/TCR/(\w+-?\d+)_MAIT_paired_chains.txt"),
           [PARAMS["working_dir"] + r"/results/TCR/tmp/MAIT_\1_nt.tmp",
           PARAMS["working_dir"] + r"/results/TCR/tmp/MAIT_\1_alpha_nt.tmp",
           PARAMS["working_dir"] + r"/results/TCR/tmp/MAIT_\1_beta_nt.tmp"])


Unable to cancel flagging process

To reproduce:

Login to the app.
Go to Explore > Flag.
Observe the warning message.
Tap OK, Thank you..
Tap Flag a User.
Search for and tap a user.
Observe the warning message.
Tap Back.

Current behavior
Observe no action happen in the app.
Expected behavior
User is expected to be able to go back.
Platform & App Version

iOS (likely both)
2.7.0

Test Case 1

Login to the app.
Go to Explore > Flag.
Observe the warning message.
Tap OK, Thank you..
Tap Flag a User.
Search for and tap a user.
Observe the warning message.
Tap Back.
Observe the search screen.


Write docs for layout.py

As a starting point, it would be good for docs to help with issues like #138.