redshift: 'vidmode' option disappeared

Describe the bug
Since gtk2 switched from mesa to libGL in  cd65dfa14cd2b0e665dd37595ded55b23f1e52cd, redshift -m list no longer lists vidmode as an option.
I guess we don't use it anymore? I used it to be able to (manually) adjust the brightness of my display independently of redshift (autmatically) adjusting the color balance.

never mind I guess

never mind I guess

What do you mean?
Arch Linux's redshift supports vidmode, why doesn't NixOS's?

never mind I guess

What do you mean?

I meant that I no longer felt strongly about this issue, and since it was 'marked as stale due to inactivity', decided to close my issue.

Thanks. I'll reopen this issue because I would like to fix this problem :)
https://github.com/NixOS/nixpkgs/pull/322352

Fixed in https://github.com/NixOS/nixpkgs/pull/322352 (not sure why this issue wasn't auto-closed), thank you @Aleksanaa.

Fixed in #322352 , thank you @Aleksanaa.

awesome

(not sure why this issue wasn't auto-closed)

(I think GitHub recognizes "Fixes #xyz" as closing the issue, but sees "Fixes issues #xyz" as a 'regular' reference)


Can you provide the data import and test code on the Florence dataset?

I did not find the data import and test code on the FLorence dataset , could you please provide a copy?
Thank you very much for sharing. :)

I'm sorry the codes related to Florence are not organized into this repo. A very early version of data generating method is in https://github.com/reshow/SDRN/blob/master/renderMICC.py.

I'm sorry the codes related to Florence are not organized into this repo. A very early version of data generating method is in https://github.com/reshow/SDRN/blob/master/renderMICC.py.

Many thanks. 😁


[Update Request]: Tailscale 1.38.2

What type of update are you requesting?
A new version of an existing package
Current Package Identifier
Tailscale.tailscale
Package Version
1.38.2
Please describe the changes you would like to see
Azure pipeline for existing PR is failing #100336
Version 1.38.2 is now available
Download Page URL: https://pkgs.tailscale.com/stable/tailscale-setup-1.38.2.exe

This has been done in https://github.com/microsoft/winget-pkgs/pull/100336

Close with reason: Resolved in PR 100336;


Extend in_span and InSpan to in_local_span

More optimized?

Local span is not Send which will make the Future not able to spawn into a multi-threaded runtime. So it may be not usable in the real world.


feat: Look at env.var to guess dist version to use

To facilitate the creation of reusable packages in pipelines, I am looking to replace the use of multiple .binenv.lock files  to define binary versions for environment variables.
As an example, to manage Kubernetes clusters of very different versions it is necessary to use different versions of tools such as kubectl, helm or kapp. By being able to define this through an environment variable, it is possible to create parameterized pipelines jobs in an easier way.
I look forward to reading comments on the proposed change.
Cheers

Thanks for the proposal @semoac . I am looking into it.
Since you're the second person to ask for this, I guess there is a use case here.
If you could document this in the README, that would be awesome.

Thank you for reviewing this proposal.

Thanks a lot @semoac :pray: .
I will release this asap.


ffq

ERROR 404 Client Error:  for url: https://www.ebi.ac.uk/ena/browser/api/xml/SRR17651862/

Hi! I'm facing the same error now. Have you found out to fix it?

Hi! I'm facing the same error now. Have you found out to fix it?
I recognize it as a latency issue for data release, just wait a while.

I have the same using the example in the front page
ffq SRR9990627
[2024-02-29 18:26:12,070]    INFO Parsing run SRR9990627
[2024-02-29 18:26:13,210]   ERROR 404 Client Error:  for url: https://www.ebi.ac.uk/ena/browser/api/xml/SRR9990627/
[2024-02-29 18:26:13,210]   ERROR Provided accession is invalid
usage: ffq [-h] [-o OUT] [-l LEVEL] [--ftp] [--aws] [--gcp] [--ncbi] [--split]
           [--verbose] [--version]
           IDs [IDs ...]
ffq: error: For possible failure modes, please see https://github.com/pachterlab/ffq#failure-modes

Hi! I'm facing the same error now. Have you found out to fix it?
I recognize it as a latency issue for data release, just wait a while.

Ok, thanks! I'll wait a while and see how it goes.


probs_seq[i].size() not equal to vocabulary.size()

I have double checked the size, read the source code of ctc_beam_decoder.cpp and I finally find out why this occur.
My modeling units are constructed by English word instead of English alphabet. And the python code concatenates the vocabulary as one long string(''.join(vocab)), and passes it to cpp code(const char* labels).
So if the vocabulary is ["Hello", "World"], actually it becomes ["H", "e", "l", "l", "o", "W", "o", "r", "l", "d"]. Is there any solution for different modeling units?

Hey, i have the same situation. did you fix the problem?


test(storage): use StatusIs in google/cloud/storage tests

This change is

definitely not a good PR to forget to run clang-tidy on ;)  I'll push fixes asap


Scrolling paginator on mobile + take full screen height

If there are too many slides that overflow the mobile ToC, make the paginator scrollable just like the normal paginator behavior. Find and port this functionality over. In addition, I think it might make sense to have the mobile paginator take up the full screen height.

Hey team! Please add your planning poker estimate with ZenHub @RyanCoulsonCA @spencerwahl @yileifeng


[Suggestion]Support custom row or height of XTextarea

It will be convenient for the complex editing or the full screen editor.

I wonder if row and height are both needed?

@airyland Can't be better!


git_calendar/yaml2ics: Allow include to include from a url ICS

Allows to include from a remote ICS file
Remote YAML is harder since it requires being able to include other
files (which I am not doing yet)

Sorry I saw this one after #11 and am now confused how the two PRs relate. @tpfau ?

This exacly how it was intended. I wanted my PR to be merged with Richards branch and will now merge Richards branch. :smile:


Address Bar after using external Link.

Our wrapped app runs without address bar. We have links to external sites. Does open with the address bar (like they should), but every other time, when we close the external site, the address bar opens up in our app. It works perfectly if we install die app as PWA. It's a Angular App and we open the link with nativeElement.click().

Hey Bruno, the address bar behaviour is implemented by the browser. The application created by Bubblewrap is not involved anymore at this point. Assuming this is Chrome, the best approach is filing a bug on https://bugs.chromium.org/p/chromium/issues/list and setting the UI>Browser>Mobile>TrustedWebActivities component.

Closing as unfeasible, as this seems like an issue in the browser, not Bubblewrap.


fix: move filechecksum computation to the clients

--> Moves the file checksum computation to the clients, this will ensure that the tag exists when the enforcer is run as a container.
--> Fixes https://github.com/aporeto-inc/aporeto/issues/2018

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "888",
    "commit-sha": "11133d3fdcfbc687b067e1e68660ce85121c1aa1"
  },
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1423",
    "commit-sha": "2272bb1530e77ab9e50a8a1e36eb33f49ecb8d0f"
  }
]


Question: how to handle immersive mode apps?

In the built in dialer, in case you are in an immersive app (playing a game or watching a video), and someone calls you, you get a notification instead of a full screen Activity asking you what to do.
Is it possible to handle it too, using the new API  ?
Maybe even give the user a choice, of whether to show it as notification or a full screen Activity ?

OK since I can't find the API for this, I assume it doesn't exist, so I've requested it here:
https://issuetracker.google.com/issues/110862206

I think that's a very different part of Android API, I think Notification.Builder.setFullScreenIntent() is what you're after? You can check out the notification branch here for an example.

But that would still not be good, because you don't know when to show it.
Somehow, the notification of a phone call appears when the device is in immersive mode, and in full screen when its screen is turned off.
This sample shows only the part of full screen, but it will still be shown full screen no matter what.

Did you try to run it?

Run the sample? Yes.

When I run it on an emulator with Oreo, the full screen activity is shown when the phone is locked or the screen turned off. When the phone is unlocked, only a heads up notification is shown.
You said:

it will still be shown full screen no matter what

but that is not what is happening in my case.
When you ran the sample, it worked differently from what I described above?

OK, I've checked again (tested on Android 8.1), and here are the various scenarios, on a real device:

for outgoing call, shows fine in full screen. Makes sense. Rest of the cases below are for incoming calls.

unlocked  - shows fine in full screen. Makes sense.

unlocked+immersive mode (for example on YouTube) - still shows full screen.

locked, screen turned on/off, or screen turned off with any type of locking (even without) : on the current sample, there is a bug that you have to first unlock the lock screen, and only then see the full screen UI. This can easily be fixed, by using mechanism that's used for alarm clock apps (disabling keyguard etc...). If you wish I can show you. Since it's Android 8.0 and above, maybe I don't even need all the code that fix it, but only a small part of it.

In all of the above, there is no notification from the app or even from the OS, about the phone call.

BTW, since replacing the during-call-UI is only from Android O, I think you should change the minSdkVersion to be 26 and not 23

Here, attached a fixed project (fixed for #4 on my list of scenarios) .
You've also forgotten to add addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) to the Intent of CallActivity, which cause a crash on Android P.
simple-phone.zip
Tested to work fine even on Android P DP4 (beta 3) on Pixel 2.

Let's rewind a bit. Were you testing that with the master branch, or the notification branch?

Oh sorry I missed the part of the notification.
Why did you make a branch for it?
Could simply add a preference or something...
Now I've tested it.
Seems it shows a notification when the screen is unlocked, and full screen when screen is turned off, just like on the normal UI.
However, for outgoing call, it still shows a notification, and it shows "null" as the caller, and says to "tap to answer call" even though I'm the one who initiated the call...
Anyway, back to the original question: is it possible to handle immersive mode apps differently?

Also, thanks to your app, I think I've found a bug on the OS :
https://issuetracker.google.com/issues/111134149

You've also forgotten to add addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) to the Intent of CallActivity, which cause a crash on Android P.

Thanks, it is so weird that this does not cause a crash on O, but does on P and M. I've added the flag now.

BTW, since replacing the during-call-UI is only from Android O, I think you should change the minSdkVersion to be 26 and not 23
This branch also has minSdk 23 even though it's not supported there.

I have no idea what you are talking about. What method call, or class used by this sample app require API 26? I just tested it on API 23 without issues.

Why did you make a branch for it?

For one thing, because this repo is not aiming to implement a fully functional phone app. As stated in the readme, it's the bare minimum you need to have for Android to recognize you as a Phone app.
Also, like you mentioned, I didn't care to cover all the cases like they should be on that branch. That should be no surprise, there's a lot this app does not cover.

Anyway, back to the original question: is it possible to handle immersive mode apps differently?

Handle incoming calls when in immersive mode differently than the notification branch already does? In what way?

It's not weird. It was always supposed to be this way, and they had a bug on some versions of not enforcing it :
https://developer.android.com/preview/behavior-changes#fant-required
About API 23 vs 26, you are right. I was sure this whole API of changing the UI was newer, but it's actually from API 23 :
https://developer.android.com/reference/android/telecom/InCallService
https://developer.android.com/reference/android/telecom/TelecomManager#ACTION_CHANGE_DEFAULT_DIALER
https://developer.android.com/reference/android/telecom/TelecomManager#METADATA_IN_CALL_SERVICE_UI
Why did I think about 26 ... Odd.
About the bare minimum, I think it's important to show both ways in the same sample. It's still quite minimum. If you wanted, you could have put 2 samples in the same project, instead.
When you put it in a branch, it's much more hidden... It's like you plan some time to merge them...
"Handle incoming calls when in immersive mode differently than the notification branch already does? In what way?"
I don't understand the question. My question was if it's possible to do something else in case the user is in immersive app. Maybe I could avoid showing a notification on top of his game, so that he won't accidentally click on the notification when he tried to click on something on the game (happened to me a lot) .

Maybe I could avoid showing a notification on top of his game, so that he won't accidentally click on the notification when he tried to click on something on the game (happened to me a lot).

I understand the heads up notification as being the less interruptive way (compared to switching apps) of letting people know about high priority things.
If there was nothing at all popping up on the screen, how would the user take the call?
In any case, I don't think the android.telecom APIs have anything interesting to you in this regard.

Switching apps give the game a change to pause. Having the notification doesn't. Instead, if the user is about the touch there, it leads to accidental touches (answer or end call).
"If there was nothing at all popping up on the screen, how would the user take the call?"
Hearing the ringtone should be enough.
If it's on silence, he can choose what to do on this case (whether to see full screen or something else).
I really hate dialogs popping out of nowhere, making accidental choices. This is no different than those.
Imagine an app would have shown you such a notification asking you to see an ad, in the middle of a game, and you clicked it because you were about to tap there. Wouldn't it really annoy you?

An incoming call is not an ad.

It was an example of making you do something you didn't intend on doing, by interrupting what you are doing with on top UI, when you aren't prepared for it.
An improper time and position of an ad is the same as here.
There are even guidelines of when and how it's recommended to show them.

OK made a request:
https://issuetracker.google.com/issues/111154123


encoding/pem:  Decode documentation misleading

What is the URL of the page with the issue?
https://pkg.go.dev/encoding/pem
What is your user agent?
Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0
Screenshot

What did you do?
Used pem.Decode() as described.
What did you expect to see?
To have it "Decode will find the next PEM formatted block (certificate, private key etc) in the input. It returns that block and the remainder of the input."
What did you see instead?
It only found PEM formatted blocks when preceded by a newline, with no characters on the line before the "-----BEGIN" nor on the line after the end's "-----". It wasn't clear until I read the code that it was line by line with these restrictions. The docs made it sound like it looked for the PEM blocks using bytes.Index(bytestream, "-----BEGIN") and like (what I ended up using locally).
IMO the documentation is misleading here and should be fixed.
Thanks!

CC @FiloSottile


Wrong Gradle 7.2 documentation for version conflict resolution when only ranges involved

Project depends on a and b.
a depends on leaf with a version range [2,6]
b depends on leaf with a version range [4,8]

Expected Behavior
According to Gradle 7.2 documentation version 8 for leaf should be choosen.
"If there are only ranges, the highest existing version of the range with the highest upper bound will be selected"
(https://docs.gradle.org/7.2/userguide/dependency_resolution.html#sub:resolution-strategy)
Current Behavior
Version 6 choosen.
Current behavior test - "chooses highest version that is included in both ranges" (https://github.com/gradle/gradle/blob/v7.2.0/subprojects/dependency-management/src/integTest/groovy/org/gradle/integtests/resolve/VersionConflictResolutionIntegrationTest.groovy)
Context
I think that documentation should be fixed according to current behavior.

Hi @tnikulin
Thanks for this, you are correct about this, and thanks for the legwork!
Indeed, the selection depends on whenever all the ranges intersect, or not:

If they do, the intersections' max is going to be the version - this is reasonable, as there is a solution to select a version which satisfies all the constraints. Test
If there isn't, then Gradle's default max version selection kicks in, and selects the max ranges. Test

We are going to put this into the docs, as this detail was left out.


Added converters argument to some optimization algorithms

Summary
Added converters argument to GroverOptimizer, RecursiveMinimumEigenOptimizer, andMinimumEigenOptimizer to specify quadratic program converters to be used.
Details and comments
By adding converters argument, user can specify quadratic program converters to be used. This functionality allows users to use their own defined converters in optimization algorithms.

In #1266 it has been seen that the penalty parameter for the minimum_eigen_optimizer is not used/applied at all (I think it should have been set to the default internal qubo convertor that was constructed but was not). Anton figured since this was updating the converters it would be a better place to fix this issue - the referenced PR has some more discussion but I think the above captures the essence.

I checked #1266. I put the penalty parameter in MinimumEigenOptimizer to pass to the ProblemToQubo, but apparently, I just put the penalty parameter and forgot to pass it to the ProblemToQubo.
Anyway, I don't think that we  need to add getters/setters of penalty for MnimumEigenOptimizer. The penalty parameter is just for the ProblemToQubo. If the user wants to change the penalty value, he/she can do like algorithm.converter.penalty_factor = <new value> and can explicity set the properly of converters.

In regards of the penalty setter do you want to comment in the other PR that the penalty one should be removed if this is what you think is best.
I will note though your example of algorithm.converter.penalty_factor I did not see any converter property on the algorithm to retrieve this. And it practice convertors can be a single one or a list, and not all converters support penalty so its a bit more complex. The setter that was in the other PR I would have though more dealt with the default QP2Qubo convertor that gets created - maybe the default will always be on autoconvert. Certainly there is still the penalty param in the constructor of mininum_eigen_optimizer that is never used - something that should be taken care of however you want to handle penalty.

Sure, I will comment in the other PR and pass the penalty to the default QuadraticProgramToQubo.
algorithm.converter.penalty_factor is just an example. What I wanted to mention was users can explicitly set the parameters of the converters. Since we are changing to allow users' own defined converters, making setter/getter for converters in algorithm classes is complex.

In the GroverOptimizer I noticed this
# TODO: Utilize Grover's incremental feature - requires changes to Grover.

given that Grover has been updated did that accommodate whatever changes were required by that TODO? Maybe since that is not really related to this PR it should be updated as part of a separate PR to ensure that that changes to Grover, that has been done for this release, meet the needs there.

hmm, if we use the sample_from_iterations option of Grover, it might be possible to replace the process below #TODO. I didn't write that TODO so I'm not sure. Let me ask Julien.
By the way, I'm planning to make a new PR for the minor fix of Grover (e.g. I forgot to update some docstrings). I'll update this TODO thing in that PR.


Simplify R2R helper emission and completing the helper table

Initially I was adding R2R helpers one by one as I hit them in
testing. Now we start switching over to larger-scale testing, I have
made two simple changes to the R2R node factory:

As each of the helpers is a straightforward constant mapping,
I removed the individual three-line methods and I added the mapping
directly in the switch in ExternSymbol.

I have sorted the list by ILCompiler.ReadyToRunHelper and I added
all helpers with R2R equivalents.

Thanks
Tomas

Combined with the EH change, the synthetic token change and one more small change regarding methods on constrained types I'm down to 1062 errors in /CoreCLR All i.e. approximately 54% pass rate.


List of all hooks

Hi all!
Is there a list of all defined hooks? I can't find anything. Is there an event that is hooked after a user has successfully authenticated?
Many thanks and best regards!

Very useful documentation, +1

documentation at it's best
+1

I just came across the same question, currently I would like to automatically set the Signature if a user logs in for the first time. So having a hook in a way to call my script would be awesome. Could not find anything in the docs.


init() got an unexpected keyword argument 'previousSystemTags' (TypeError)

When creating the ALBIngressStack, the following error was reported and encountered three times. I don't know what triggered it.

This is fixed, in both our Kubesphere stack an in the main EKS QS. I am pushing updates through.

Update was pushed in PR #44


TaxonomyPicker onLoad validation

Q
A

Bug fix?
[X ]

New feature?
[ ]

New sample?
[ ]

Related issues?
fixes 602, partially #Y, mentioned in #Z

What's in this Pull Request?
Taxonomy Picker is validated onload
Current Version

Fix Version

Thank you @geltapatio for the fix.
I've made some changes and manually merged the PR to dev branch.
The functionality will be available in the next release.
Please, test it in beta version.


Add PLL strategy for fractional clock

The fractional divisor allows setting of precise clocks during runtime using the rcc_pllxfracr register. It needs to be enabled during startup. I purpose adding two new PLL strategies that enable the fractional divisor. One for just below and just above a target value. (e.g. for audio I want a clock that is as close to possible as 48 KHz * 256 without going under).
I think the existing iterative strategy could be used to set the base clock and then tweak the rcc_pllxfracr from there.
PllConfigStrategy::FractionalGreaterThan
PllConfigStrategy::FractionalLessThan

Sound like a reasonable plan to me. Since the existing PLL strategies set frequencies that are less than or equal to specified, a "less than or equal to" strategy could just be: PllConfigStrategy::Fractional for consistency.


Openengsb 2281/delete command

I've implemented a command to delete services,

otherwise it looks fine


ERROR :service endpoint with name databox-arbiter already exists

When reinstalling an app/driver, or restarting with saved containers, after merging #50 and #54 we get the following error.
Error: (HTTP code 500) server error - service endpoint with name databox-arbiter already exists

A bit of digging yields this: https://github.com/docker/docker/issues/20398. It seems that this happens either when trying to connect arbiter to a network it is already connected to, or if it's removed before restart, then some sort of bug where it needs to be explicitly disconnected first.
A workaround may be to try and disconnect a container before reconnecting it, or inspecting and seeing if it's connected, but maybe it's an issue where we try to connect it twice so perhaps network inspect and arbiter container inspect networks might unearth what's going wrong?

It may have been the first case after all, due to a bug in dockerode that @sevenEng hunted dow! https://github.com/apocas/dockerode/pull/349

I think this bug is actually secretly two bugs in one. The first caused by above, the second due to network naming. I have a strong hunch that for some reason you can't have a network be named the same as a container. The places where it fails for me coincide with store names. I.e. databox-driver-databox-store as that dirver's store's name, collides with the network between that driver and store.
I think I'm very close to cracking #56, but this is holding me back. Will investigate and report back.

Never mind that; I found out what the problem is. Exactly what I said in my first post:

C1 wants to connect to C2, and network C1-C2 is made
C2 wants to connect to C1, and finds that C1-C2 exists, so it tries to take that and turn it into C1-C2-C1-C2
Hostname collision doesn't let it

https://github.com/me-box/databox/blob/master/src/container-manager.js#L323
PR incoming.


Revert "Show item in folder instead of open"

Reverts keybase/client#3669

@keybase/react-hackers lets not push code w/o thumbs

:thumbsup: fixes https://keybase.atlassian.net/browse/DESKTOP-1591

Yeah I essentially took the "yes, let's try this" from chris as a thumbs... (it was a changing a single method name from openItem to showItemInFolder)


Flake8 does not pass on tox -e flake8

Ran flake8 on master today and got following issues:
$ tox -e flake8
flake8 installed: entrypoints==0.3,flake8==3.7.7,mccabe==0.6.1,pycodestyle==2.5.0,pyflakes==2.1.1,python-semantic-release==4.1.1
flake8 run-test-pre: PYTHONHASHSEED='3454641464'
flake8 run-test: commands[0] | flake8
./semantic_release/__init__.py:7:1: F401 '.errors.ImproperConfigurationError' imported but unused
./semantic_release/__init__.py:7:1: F401 '.errors.SemanticReleaseBaseError' imported but unused

Master is green now ✌


Update stable version in repo from 0.0.0 to 1.0.0

Think about adding version 1.0.0 to stable repository.
Version: stable=0.0.0 (0 days old) => latest=1.0.0 (30 days old)
Installs: stable=0 (0%), latest=117 (26.12%), total=448
Click to use developer portal
Click to edit
Do not close this issue manually as a new issue will be created if condition for update still exists.
Please drop a comment if any reason exists which blocks updating to version 1.0.0 at this time.
Note: This is an automatically generated message and not personally authored by bluefox!
@mcm1957 for evidence

Adapter does not look stable yet

This issue seems to be outdated.
This issue suggests to update the stable version of this adapter to 1.0.0 but the current stable version is already 1.0.0.
So this issue should be closed.
@mcm1957 for evidence


confusion matrix

How to print the confusion matrix?

Hello.
I have not added the confusion matrix plot yet to the library.

could you please add it as it will help me in my research?
thanks a lot.

I will try to do this as soon as possible.

Please. Me too I really need it, for research purposes. Thank you a lot

Carrying it over to #132


implementing higher level datastructures

impressions while implementing a higher level ssb structure for bittodo - a cryptographically secure decentralized todo list app.

init message + updates. I made the updates all point back to the head object with a link name the same as the type. (standardize this?)

Updates link to the message(s) which are the head of the structure. I think will be important to know the causal relations in the data. Another user may be looking at a slightly different version of the data to you.

I just made a thing where the json objects merge. (later keys overwrite earlier keys) to delete you'd just set that key to null. This will be easy except for arrays. we might need a way to remove links? Or use a sort key with between and treat every array as a set.

All the updates to a message are passed to a reduce function. This could be anything really. It should just be a function that takes the init + updates. This needs to do validation, etc, you might want to do merges etc. maybe this could be a collection of functions, validate authorize etc merge etc?
I think we'll possibly end up storing the output of this function?

storing it would make sense for cases when individual objects are to be retrived... like a todo list.
rebuilding it would make more sense when it gets larger and larger like for discussion threading.

or maybe you could deal with the distinction between the expanding thread / updated object by aggregating and indexing a summary... which could be easy to query and mutable...
So a discussion thread could map to a small object which contained the number of replies, and time of last reply... which could be queried for notifications. but then the discussion app would pull all the messages again, and render them as a large object.

I've identified the same patterns in my own projects. Lets keep adding any others we find to this thread.
I think 1 and 2 should be standard, at least as conventions.
Let's keep experimenting with 3 and 4 and try building some libraries.

:+1:

Am thinking maybe that instead of having pointers back to the initial message, a document could just have a uuid. This would be slightly easier to manage from the database, because we'd just pull all the messages with that uuid, instead of doing one query then another. On the other hand, sometimes there is really important stuff in the first message, and requiring other messages to point at it ensures there is no ambiguity about which message was first.

hmm, but then there are other cases where you don't need an initial message. say you want to star something - you don't actually need to know who got their first, just what they are staring...

for indexing, you might do that via ext links, something like { ext: '231...ac4.uuid', rel: 'stars' }


doesn't work with .nvmrc

My Environment

[x] Windows 7 or below (not truly supported due to EOL)
[ ] Windows 8
[ ] Windows 8.1
[ ] Windows 10
[ ] Windows 10 IoT Core
[ ] Windows Server 2012
[ ] Windows Server 2012 R2
[ ] Windows Server 2016
[ ] My Windows installation is non-English.

I have already...

[x] read the README to be aware of npm gotchas & antivirus issues.
[x] reviewed the wiki to make sure my issue hasn't already been resolved.
[x] verified I'm using an account with administrative privileges.
[x] searched the issues (open and closed) to make sure this isn't a duplicate.
[x] made sure this isn't a question about how to use NVM for Windows, since gitter is used for questions and comments.

My issue is related to (check only those which apply):

[ ] settings.txt
[ ] proxy support
[ ] 32 or 64 bit support

Expected Behavior
Same result as nvm use 4.4.4
Actual Behavior
Output: node v (64-bit) is not installed.
Steps to reproduce the problem:
created an .nvmrc file with 4.4.4 as the node version.
go to command line and run nvm use in the same folder as the file.

.nvmrc has never been supported. That's a feature specific to nvm, not NVM for Windows.

@coreybutler I am from the Disaster Accountability Project and we have some developers who use windows and can't take advantage of the .nvmrc. We are starting to adopt nvm-windows for our volunteer web developers and I'd like you reconsider supporting .nvmrc. This is the site we use .nvmrc on.

@inunotaisho26 - Fundamentally, this project is focused on preparing Node as if it were installed the same way Node would be installed without a version manager. .nvmrc starts to get into specific environment management issues, which drastically increases the scope of the project. I see "environment management" being a fundamentally different problem than "version management". We've discussed these these different use cases in the the version management working group.
While this feature has been requested before, it is not something I have enough spare time to support. Due to the number of people who request general environment management solutions (beyond just .nvmrc), I am experimenting with ideas for a commercial environment management app to streamline these processes. The time requirements for supporting the community's large wish-list will require funding or sponsorship, so I'll probably lean on the infrastructure I've already built for Fenix. The catch: no ETA.
That said, see the roadmap. The "free" solution I've proposed is a hook system, similar to git's pre-commit, post-push, etc. This would allow developers to create their own scripts conducive for their own unique environments. Think of actions like post-install, pre-use, pre-execute, etc. This would enable users to write a hook script that looks for a .nvmrc file and switch the version on the fly.

@coreybutler So basically two different approaches to installing multiple versions of node right?

Sort of. There are two different philosophies, but they're more about using Node than installing it.
Philosophy 1: Native Use (Direct Process)
Node itself does not support .nvmrc. It just installs its own executable and npm. It's used by directly running node.exe.
Philosophy 2: Augmented Use (Subprocess)
.nvmrc is a convention introduced by the original nvm project. Instead of calling node.exe directly, it uses a shim. The shim is responsible for configuring a pseudo-environment before passing commands to the node executable (i.e.. node is a subprocess of the shim). This is where the .nvmrc logic is processed. The catch, especially on Windows, is that node runs in the context of the shim, instead of the context of the user. This has a number of effects/challenges, such as not always passing appropriate credentials to the node subprocess (mostly around elevated permissions), slightly different environment variables, not always recognizing hard drive partitions (like a D:\ drive), and (in some cases) misrepesenting file paths (i.e. __dirname behaves unexpectedly) etc. These issues can be worked around, but they're compoinded when considering enterprise environment (Active Directory deployments, restricted desktops, SAN drives, etc).
General version management requires some level of shimming in order to prevent actually uninstalling/reinstalling node every time you need to switch a version (which would take forever). NVM4W aligns with the first approach by using symlinks to shim the installation directory, as opposed to option 2, which shims the executable. As a result, you're always running the node.exe executable directly, instead of running it as a subprocess..

Small bump to this issue. Just ran into it.
It can't seriously be that hard. Here's what to do if a version is not supplied to nvm use:

Take version from .nvmrc
Is this version installed? If not -> install it
Is this version currently in use? If not -> use it.
Done

In other words, without version number specified, nvm use is a combination of nvm install < .nvmrc and nvm use < .nvmrc.
There's not much more to it.

Small bump to this issue. Just ran into it.
It can't seriously be that hard. Here's what to do if a version is not supplied to nvm use:
1. Take version from .nvmrc

2. Is this version installed? If not -> install it

3. Is this version currently in use? If not -> use it.

4. Done

In other words, without version number specified, nvm use is a combination of nvm install < .nvmrc and nvm use < .nvmrc (pseudo command - won't actually work right now).
There's not much more to it.

I'm glad I'm not the only one having this issue...
Thinking of switching back to linux for developing :/

@thany @jeromemeichelbeck Feel free to fork the project and add this functionality yourself.

I simply run nvm use cat .nvmrc under windows. (Note that cat .nvmrc should be using tick symbol and this markdown editor is assuming it as code.)


building for production

This patch is an alternative approach from pulls/#1 (but not necessarily exclusive) to solve react-starter-hmr/issues/3.
It adds a production.js to the package root so that end-users can require('ud/production') in their production builds. I've added notes for how to do this with browserify, but as a separate commit in case you want to cherry-pick around it. For example, with this patch, end-users can do:
browserify -r ud/production:ud main.js > bundle.js

in their production, non-dev builds where the heft of hot module hooks are unwanted.

:+1: for this.
ud is great for development but I'm a bit hesitated to include it in production code.
We can use config to swap it out with this PR.

This has some issues:
production.js exposes plain commonjs exports instead of babel's transpiled exports. Babel transpiles exports to look about the same, but adds the following to the top:
Object.defineProperty(exports, '__esModule', {
  value: true
});

Without this, import ud from 'ud'; will work when production.js is used but not otherwise.
production.js doesn't expose the markReloadable function. That function is undocumented and probably should be made private in a major update, but production.js should give the same API as regular ud so that applications can't break when production.js is substituted in.
There's no tests for production.js. There are tests for ud already that check that it works correctly when hot module replacement isn't enabled (module.hot is undefined). Those tests should be made to run on production.js too. (I admit I'm being a little sensitive to differences between dev and production.  Fun story: The original version of ud.defn used function names as the key values. Worked fine in dev, but then I had a lot of fun when I'd completely forgotten that the production minifier used in a project stripped names off of all function expressions.)
If there's still demand for this (#1 was merged) then I can do these.

Thanks for the info.
This PR is different from #1 in the sense that I would like to use the same code for production build.
Maybe a switch on NODE_ENV by users would work (despite the noise), but I think library/toolchain support is better.

Implemented in v3.1.0 as ud/noop


After adding 1st tag remove the focus from the input box.

Currently, when we add a tag from the suggestion list the focus still remains in that input box but it's hard to open again the suggestion list I have to focus outside then again focus inside the input box then it shows the suggestion box. Or it's better to remove focus from that input tag after adding the first tag as I tried using loadonAddRemove but it's irritating as after adding the first tag it will always open suggestion box & also when removing the tag

When I add a tag from suggestion list, suggestion list stays open for me. Although, when I remove a tag, suggestion list gets closed and focus remains in the input and then it doesn't open until I click outside.
Let me know if this is your problem. It would be even better if you can provide a plunker demonstrating your problem. I have a solution for this. Will see if others are also interested to solve this.

@mbenford After removing a tag, the suggestion list gets closed. So, If I want to add a tag after removing one I have to click outside first and then again at the input element to open the suggestion list.
I think It would be better for usability to keep the suggestion list open until someone clicks outside so that it's easy to add or remove tags. I have a fix for this and I would be happy to raise a PR if you agree. Thanks!!!


Alternative Text and Text/Label for swatches

Firts of all: Hello and thank you for your amazing work.
How can I show names of colors under it, i have my own colors in a nested arrays.
Thanks in advance.

Ok, no need for rush and thanks for your quick answer :)

I also need this feature. Would be so great. Thanks

@saintplay That would be great :+1:

Hola Diego,
muchas gracias por tu trabajo :)
Looking forward to you accessibility solution

Vue Swatches 2 is finally out, it have better support for accessibility.
You can check it here https://github.com/saintplay/vue-swatches/releases/tag/v2.0.0


Errors from React frontend

Hi,
can we use serper or bing search ?
also can we tell the search agent minimum retrieved content count to increase details ?
I am getting these errors always and the final summary cant be generated :

ERROR:mindsearch.agent.mindsearch_agent:Error in model_stream_thread: 'content'
Traceback (most recent call last):
File "/home/bc/Projects/ODS/MindSearch/mindsearch/agent/mindsearch_agent.py", line 148, in model_stream_thread
for answer in agent.stream_chat(
File "/home/bc/Projects/ODS/MindSearch/mindsearch/agent/mindsearch_agent.py", line 46, in stream_chat
for agent_return in super().stream_chat(message,
File "/home/bc/Projects/ODS/MindSearch/venvMindSearch/lib/python3.10/site-packages/lagent/agents/internlm2_agent.py", line 303, in stream_chat
for model_state, res, _ in self._llm.stream_chat(prompt, **kwargs):
File "/home/bc/Projects/ODS/MindSearch/venvMindSearch/lib/python3.10/site-packages/lagent/llms/openai.py", line 151, in stream_chat
for text in self._stream_chat(messages, **gen_params):
File "/home/bc/Projects/ODS/MindSearch/venvMindSearch/lib/python3.10/site-packages/lagent/llms/openai.py", line 288, in streaming
yield choice['delta']['content']
KeyError: 'content'

INFO:httpx:HTTP Request: POST https://duckduckgo.com "HTTP/2 200 OK"
response = await connection.handle_async_request(

File "/home/bc/Projects/ODS/MindSearch/venvMindSearch/lib/python3.10/site-packages/httpcore/_async/connection.py", line 99, in handle_async_request
raise exc
File "/home/bc/Projects/ODS/MindSearch/venvMindSearch/lib/python3.10/site-packages/httpcore/_async/connection.py", line 76, in handle_async_request
stream = await self._connect(request)
File "/home/bc/Projects/ODS/MindSearch/venvMindSearch/lib/python3.10/site-packages/httpcore/_async/connection.py", line 154, in _connect
stream = await stream.start_tls(**kwargs)
File "/home/bc/Projects/ODS/MindSearch/venvMindSearch/lib/python3.10/site-packages/httpcore/_backends/anyio.py", line 68, in start_tls
with map_exceptions(exc_map):
File "/usr/lib/python3.10/contextlib.py", line 153, in exit
self.gen.throw(typ, value, traceback)
File "/home/bc/Projects/ODS/MindSearch/venvMindSearch/lib/python3.10/site-packages/httpcore/_exceptions.py", line 14, in map_exceptions
raise to_exc(exc) from exc
httpcore.ConnectTimeout
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/bc/Projects/ODS/MindSearch/venvMindSearch/lib/python3.10/site-packages/duckduckgo_search/duckduckgo_search_async.py", line 117, in _aget_url
resp = await self._aclient.request(method, url, content=content, data=data, params=params)
File "/home/bc/Projects/ODS/MindSearch/venvMindSearch/lib/python3.10/site-packages/httpx/_client.py", line 1574, in request
return await self.send(request, auth=auth, follow_redirects=follow_redirects)
File "/home/bc/Projects/ODS/MindSearch/venvMindSearch/lib/python3.10/site-packages/httpx/_client.py", line 1661, in send
response = await self._send_handling_auth(
File "/home/bc/Projects/ODS/MindSearch/venvMindSearch/lib/python3.10/site-packages/httpx/_client.py", line 1689, in _send_handling_auth
response = await self._send_handling_redirects(
File "/home/bc/Projects/ODS/MindSearch/venvMindSearch/lib/python3.10/site-packages/httpx/_client.py", line 1726, in _send_handling_redirects
response = await self._send_single_request(request)
File "/home/bc/Projects/ODS/MindSearch/venvMindSearch/lib/python3.10/site-packages/httpx/_client.py", line 1763, in _send_single_request
response = await transport.handle_async_request(request)
File "/home/bc/Projects/ODS/MindSearch/venvMindSearch/lib/python3.10/site-packages/httpx/_transports/default.py", line 372, in handle_async_request
with map_httpcore_exceptions():
File "/usr/lib/python3.10/contextlib.py", line 153, in exit
self.gen.throw(typ, value, traceback)
s
raise mapped_exc(message) from exc
httpx.ConnectTimeout
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/bc/Projects/ODS/MindSearch/venvMindSearch/lib/python3.10/site-packages/lagent/actions/bing_browser.py", line 62, in search
response = self._call_ddgs(
File "/home/bc/Projects/ODS/MindSearch/venvMindSearch/lib/python3.10/site-packages/lagent/actions/bing_browser.py", line 77, in _call_ddgs
response = ddgs.text(query.strip("'"), max_results=10)
File "/home/bc/Projects/ODS/MindSearch/venvMindSearch/lib/python3.10/site-packages/duckduckgo_search/duckduckgo_search.py", line 57, in text
return self._run_async_in_thread(super().text(*args, **kwargs))
File "/home/bc/Projects/ODS/MindSearch/venvMindSearch/lib/python3.10/site-packages/duckduckgo_search/duckduckgo_search.py", line 53, in _run_async_in_thread
result = future.result()
File "/usr/lib/python3.10/concurrent/futures/_base.py", line 458, in result
return self.__get_result()
File "/usr/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result
raise self._exception
File "/home/bc/Projects/ODS/MindSearch/venvMindSearch/lib/python3.10/site-packages/duckduckgo_search/duckduckgo_search_async.py", line 171, in text
results = await self._text_api(keywords, region, safesearch, timelimit, max_results)
File "/home/bc/Projects/ODS/MindSearch/venvMindSearch/lib/python3.10/site-packages/duckduckgo_search/duckduckgo_search_async.py", line 262, in _text_api
raise e
File "/home/bc/Projects/ODS/MindSearch/venvMindSearch/lib/python3.10/site-packages/duckduckgo_search/duckduckgo_search_async.py", line 257, in _text_api
await asyncio.gather(*tasks)
File "/home/bc/Projects/ODS/MindSearch/venvMindSearch/lib/python3.10/site-packages/duckduckgo_search/duckduckgo_search_async.py", line 233, in _text_api_page
resp_content = await self._aget_url("GET", "https://links.duckduckgo.com/d.js", params=payload)
File "/home/bc/Projects/ODS/MindSearch/venvMindSearch/lib/python3.10/site-packages/duckduckgo_search/duckduckgo_search_async.py", line 120, in _aget_url
raise TimeoutException(f"{url} {type(ex).name}: {ex}") from ex
duckduckgo_search.exceptions.TimeoutException: https://links.duckduckgo.com/d.js ConnectTimeout:
INFO:httpx:HTTP Request: POST https://duckduckgo.com "HTTP/2 200 OK"
INFO:httpx:HTTP Request: GET https://links.duckduckgo.com/d.js?q=Türkiye Instagram yasağı 2024 Ağustos hükümet açıklamaları&kl=wt-wt&l=wt-wt&p=&s=0&df=&vqd=4-85185288614281050648711568312041807720&ex=-1 "HTTP/2 200 OK"

ERROR:mindsearch.agent.mindsearch_agent:Error in model_stream_thread: 'content'
Traceback (most recent call last):
File "/home/bc/Projects/ODS/MindSearch/mindsearch/agent/mindsearch_agent.py", line 148, in model_stream_thread
for answer in agent.stream_chat(
File "/home/bc/Projects/ODS/MindSearch/mindsearch/agent/mindsearch_agent.py", line 46, in stream_chat
for agent_return in super().stream_chat(message,
File "/home/bc/Projects/ODS/MindSearch/venvMindSearch/lib/python3.10/site-packages/lagent/agents/internlm2_agent.py", line 303, in stream_chat
for model_state, res, _ in self._llm.stream_chat(prompt, **kwargs):
File "/home/bc/Projects/ODS/MindSearch/venvMindSearch/lib/python3.10/site-packages/lagent/llms/openai.py", line 151, in stream_chat
for text in self._stream_chat(messages, **gen_params):
File "/home/bc/Projects/ODS/MindSearch/venvMindSearch/lib/python3.10/site-packages/lagent/llms/openai.py", line 288, in streaming
yield choice['delta']['content']
KeyError: 'content'

Add the response node
graph.add_response_node(node_name="response", node_content=response_content)
graph.node("response")
ERROR:mindsearch.agent.mindsearch_agent:Error executing code: WebSearchGraph.add_response_node() got an unexpected keyword argument 'node_content'
Traceback (most recent call last):
  File "/home/bc/Projects/ODS/MindSearch/mindsearch/agent/mindsearch_agent.py", line 360, in run_command
    exec(cmd, globals(), self.local_dict)
  File "<string>", line 16, in <module>
TypeError: WebSearchGraph.add_response_node() got an unexpected keyword argument 'node_content'
Exception in thread Thread-19 (run_command):
Traceback (most recent call last):
  File "/usr/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.10/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "/home/bc/Projects/ODS/MindSearch/mindsearch/agent/mindsearch_agent.py", line 360, in run_command
    exec(cmd, globals(), self.local_dict)
  File "<string>", line 16, in <module>
TypeError: WebSearchGraph.add_response_node() got an unexpected keyword argument 'node_content'
ERROR:root:Exception in sync_generator_wrapper: 'content'
Traceback (most recent call last):
  File "/home/bc/Projects/ODS/MindSearch/mindsearch/app.py", line 69, in sync_generator_wrapper
    for response in agent.stream_chat(inputs):
  File "/home/bc/Projects/ODS/MindSearch/mindsearch/agent/mindsearch_agent.py", line 214, in stream_chat
    for model_state, response, _ in self.llm.stream_chat(
  File "/home/bc/Projects/ODS/MindSearch/venvMindSearch/lib/python3.10/site-packages/lagent/llms/openai.py", line 151, in stream_chat
    for text in self._stream_chat(messages, **gen_params):
  File "/home/bc/Projects/ODS/MindSearch/venvMindSearch/lib/python3.10/site-packages/lagent/llms/openai.py", line 288, in streaming
    yield choice['delta']['content']
KeyError: 'content'

You can switch search engines using searcher_type (such as BingSearch) and control the number of articles retrieved for each query with topk. Check this.
The core reason why the final response was not generated was that the code was written incorrectly, i.e. TypeError: WebSearchGraph.add_response_node() got an unexpected keyword argument 'node_content'. You may need to optimize the fewshot so that it follows the response protocol.


Improved types & new tenantDomain option

This pull request adds many missing fields to types and also allows for the addition of a x-elfsquad-domain header by setting the tenantDomain option.

@johannesheesterman You're very welcome, thanks for the review!


Do not prefix bin/composer with bin/php

Deployer version: v7.0

When using to deploy to a shared host that already has composer installed, I'm getting strange output from deploy:vendors.  Using -vvv I found what command it is trying to run in order to build the vendor folder but when running the command on the host directly it returns this:
$ /usr/local/bin/php /usr/local/bin/composer install --verbose --prefer-dist --no-progress --no-interaction --no-dev --optimize-autoloader

PHP_BIN=${PHP_BIN:-php-recommended}
exec /usr/local/bin/$PHP_BIN -d memory_limit=4096M /usr/local/bin/composer.phar "$@"

It's odd that it just outputs this as the result of the command
PHP_BIN=${PHP_BIN:-php-recommended}
exec /usr/local/bin/$PHP_BIN -d memory_limit=4096M /usr/local/bin/composer.phar "$@"

Not sure the reason composer would be prefixed by the php executable when its not using the composer.phar
https://github.com/deployphp/deployer/blob/d5c95324af8b70a0f20eae835947f9faed900a13/recipe/deploy/vendors.php#L16
Running the composer command without the php prefix works just fine.
I realize that I can redefine 'bin/composer' but something seems off to have to do that on a server with composer already accessible and in the path

Seems like some sort of alias the host is using in order to run php command on the currently selected php version

It indeed does seem like the host specific wrapper though not sure why it doesn't execute when prefixed by php
$ cat /usr/local/bin/composer
#!/bin/sh

PHP_BIN=${PHP_BIN:-php-recommended}
exec /usr/local/bin/$PHP_BIN -d memory_limit=4096M /usr/local/bin/composer.phar "$@"

Fixed.

45e4708aad31931805e37387ccb7940cae9c9149


Regarding the possibility of reactivating an activated Windows system

The function that determines whether Windows is activated or not is not called.

The newest release has fixed the bug，as well as adds some new features.
Thanks for your feedback, and Anawaert will continue to improve the quality of  our softwares!


remove unused code of aggr

the batch_finalize of aggregator is not override
the interface is
void batch_finalize(FunctionContext* ctx, size_t chunk_size, const Buffer<AggDataPtr>& agg_states,
                        size_t state_offset, Column* to) const

but the implement is
void batch_finalize(size_t chunk_size, const Buffer<AggDataPtr>& agg_states, size_t state_offsets,
                        Column* to) const

override the batch_finalize has no improve on performance

run all


With "Show extensions for known file types" disabled, when renaming a file you need to type its extension or it will be unformatted

Thanks for your feedback. We're having trouble understanding what you're requesting and need additional information to investigate this item. Please re-open when you've filled out the issue template to the best of your ability.

With "Show extensions for known file types" Enabled

With "Show extensions for known file types" Disabled

when renaming it is necessary to write its extension at the end or the file will be left without a format

@duke7553 Can you re-open it please? I already changed the title to better understand the issue

@yaichenbaum I mention you in case you have not read this bug

@XPoppyX No need to nag. We can't get to every open issue.

This issue should be resolved with #2163.


Add fallback user story fetching logic

Fixes #179
When logic in #173 causes no story to be found, story["playStory"] will be false and the following logic will be used to find a story:

Filter by:

assessment is published
assessment story is not nil
assessment open_at is before now and close_at is after now
NO submission status filtering

Sort by:

Assessment close_at, descending
Assessment type (path>mission>sidequest>contest) for assessments that close at the same time

insert(:assessment) will use one of the following values as its story field to facilitate front-end testing:
contest-7.1
mission-19
mission-1
mission-7
sidequest-2.1
sidequest-9.1

@ningyuansg Note that the story field may be {story: null, playStory: false} in the event that both methods fail to find a qualifying story. At the moment, the only time I see this happening is at the start of semester before any assessment is open.

Pull Request Test Coverage Report for Build 1199

17 of 17 (100.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.004%) to 99.812%

Totals

Change from base Build 1196:
0.004%

Covered Lines:
531

Relevant Lines:
532

💛  - Coveralls

@indocomsoft Fixed business logic and updated tests. Please review again.
@ningyuansg I renamed allAttempted to playStory with reversed values from before i.e. story belongs to not_attempted assessment -> playStory: true and vice versa for clarity


Browser based/WebAssembly version Fast-Quadric-Mesh-Simplification

:clap::clap:Many thanks to @sp4cerat for creating this repository, we fork & compile a WebAssembly version together with a minimalistic website, for the hope that this tool can be used by a more general public.
It is published at our github.io https://myminifactory.github.io/Fast-Quadric-Mesh-Simplification/
Don't hesitate to contact me if you have any suggestions and comments!

Hi @ynotstartups, rolled it into a three.js example Added support for texcoords, see #9

Hello
Where can I find the emscripten and wasm file (and three-decimate.js source) on this repo ?
Thank you !


Feature/function support

Hi, great! ... can you put the to-eyr back. I just recently started experimenting with compiling Rye to Eyr which is this code (still work in progress) and I don't want it removed :)

For golangci-lint check to pass you can run bin/golangci-lint run and fix what it reports (some unreachable return).

Hi, great! ... can you put the to-eyr back. I just recently started experimenting with compiling Rye to Eyr which is this code (still work in progress) and I don't want it removed :)

How do you feel about moving it to it's own file for the time being, since an interpreter can look rather different from a compiler?

Yes, good idea. Will you move it to it's own file of should I?

I can do the movement later today


import deflate fails immediately on MacOS

I first noticed this in CI:
____________________________ test_file_header[True] ____________________________

use_deflate = True

    @pytest.mark.parametrize("use_deflate", [False, True])
    def test_file_header(use_deflate):
        if use_deflate:
>           pytest.importorskip("deflate")
E           pytest.PytestDeprecationWarning:
E           Module 'deflate' was found, but when imported by pytest it raised:
E               ImportError("dlopen(/Users/runner/miniconda3/envs/test/lib/python3.9/site-packages/deflate.cpython-39-darwin.so, 0x0002): symbol not found in flat namespace '_libdeflate_arm_cpu_features'")
E           In pytest 9.1 this warning will become an error by default.
E           You can fix the underlying problem, or alternatively overwrite this behavior and silence this warning by passing exc_type=ImportError explicitly.
E           See https://docs.pytest.org/en/stable/deprecations.html#pytest-importorskip-default-behavior-regarding-importerror

(perhaps because GitHub just upgraded to ARM/M1/M2 Macs), but I also see it on a (M2) Mac laptop:
>>> import deflate
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: dlopen(/Users/jpivarski/mambaforge/lib/python3.10/site-packages/deflate.cpython-310-darwin.so, 0x0002): symbol not found in flat namespace '_libdeflate_arm_cpu_features'

This is deflate 0.6.0, freshly installed from PyPI.
My version of libdeflate is 1.17, installed through conda. (Overall, it's a conda environment, with deflate being the only package installed by pip within that environment.)

FYI, macos-latest is being moved from macos-12 (Intel) to macos-14 (ARM). The best way to handle this in cibuildwheel is probably to have both a macos-13 (Intel) and a macos-14 job, and remove the explicit ARCH setting, removing the need to cross compile at all.
Do you have any CPython code in the library? If not, you should make a generic wheel, not a CPython specific one, that will work on all Pythons and won't require rereleasing every time there's a new CPython release.

Also, I notice there's a CMakeLists in the library you are wrapping, I'd highly recommend looking at scikit-build-core.

Yikes, thanks for the report. And thanks for the tips @henryiii. I do have C code wrapping libdeflate, so I don't think a generic wheel is an option? I'm also not terribly keen on learning (and keeping up with) a new build system at the moment. I will have a look at getting this fixed ASAP though.

https://github.com/dcwatson/deflate/blob/d32c41307d9a0bcdb60ab1fd675e609a6c9c42dd/deflate.c#L3C1-L3C20
Ahh, yes. Though might be worth checking the Stable ABI out.

Splitting the macos runners for cibuildwheel seems to do the trick. At least installing the wheel it built on my M3 doesn't fail 😄 I yanked 0.6.0 and uploaded 0.6.1 to PyPI - please let me know if you have any more trouble with it. And thanks again to both of you.

FYI, this was the bug:
https://github.com/dcwatson/deflate/blob/87272e9dfc76ec776611d32cc6855ccccf846d4f/setup.py#L44
That's going to get the wrong file when cross compiling.

FYI, I played with the stable ABI (using #43 as a base, since I know how to do that), and it looks like PyBuffer is used, which requires Python 3.11 as the lowest Stable ABI version (fine), but then I hit _PyBytes_Resize, which is not part of the stable ABI. (In fact, given it starts with an underscore, it's not part of the normal ABI either). Is it possible to avoid that private function?

Thanks for the quick fix! I've reverted Uproot to include it in all tests (scikit-hep/uproot5#1206).

It looks like it's still not working for Python 3.8 (only):
=================================== FAILURES ===================================
____________________________ test_file_header[True] ____________________________

use_deflate = True

    @pytest.mark.parametrize("use_deflate", [False, True])
    def test_file_header(use_deflate):
        if use_deflate:
>           pytest.importorskip("deflate")
E           pytest.PytestDeprecationWarning:
E           Module 'deflate' was found, but when imported by pytest it raised:
E               ImportError("dlopen(/Users/runner/miniconda3/envs/test/lib/python3.8/site-packages/deflate.cpython-38-darwin.so, 0x0002): symbol not found in flat namespace '_libdeflate_arm_cpu_features'")
E           In pytest 9.1 this warning will become an error by default.
E           You can fix the underlying problem, or alternatively overwrite this behavior and silence this warning by passing exc_type=ImportError explicitly.
E           See https://docs.pytest.org/en/stable/deprecations.html#pytest-importorskip-default-behavior-regarding-importerror

use_deflate = True

tests/test_0008_start_interpretation.py:53: PytestDeprecationWarning

This test has deflate 0.6.1 installed:
2024-05-07T12:41:35.8221780Z Downloading deflate-0.6.1-cp38-cp38-macosx_11_0_arm64.whl (43 kB)
2024-05-07T12:41:35.8324180Z    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 43.4/43.4 kB 4.3 MB/s eta 0:00:00

Python 3.8 is tricky, as it just barely supported ARM. In cibuildwheel, we use the Intel version due to the final and only Universal release not being compiled in a compatible manor. But I think that's causing the code linked above to be incorrect.
Scikit-build-core would have handled this correctly, by the way - the issues is due to hacking this into setuptools. :)

You can check ARCHFLAGS or _PYTHON_HOST_PLATFORM; those will tell you what you are compiling for. Or just switch to scikit-build-core, which handles all this sort of stuff for you.
FYI, it's actually correct to include x86 & arm sources always, they are protected internally. That's what the upstream library does: https://github.com/ebiggers/libdeflate/blob/275aa5141db6eda3587214e0f1d3a134768f557d/CMakeLists.txt#L99-L106
FYI, cibuildwheel can't test 3.8 wheels on AS due to using a Python binary that doesn't support Apple Silicon, so it can't catch issues with 3.8.

I know this was pulled, but:
* Use only [stable Python API](https://docs.python.org/3/c-api/stable.html)
    * _Note that this can't actually be enabled until Python 3.11 is the minimum
      supported version._

That's not correct. If you set cp311, then the stable ABI will be built on 3.11, and used on 3.12 and 3.13b1, but 3.8-3.10 will have traditional wheels. Scikit-build-core and cibuildwheel will do this for you.


Update README: The sentence "up to 160 million operations per second"

It would have made more sense to compare it with RocksDB, LevelDB or similar on same environment and configurations. Putting out plain numbers sets no context, just to quote an example, MySQL Cluster has been benched at 200m ops/s (where operations are part of 2PC transactions!). And that in 2015! https://www.mysql.com/why-mysql/benchmarks/mysql-cluster/

That's on 32 data nodes, vs this one CPU I believe?

The FASTER paper shows numbers for FASTER, RocksDB, etc. on the same hardware. If the paper isn't already linked from the README, it might be good to link it.

Would be really nice if you can put in a benchmark wiki with table upfront so people don't have to digg in. I went through paper and found the benchmarks.


The validate cannot find unknow fields

Hey, I found the validate function cannot find unknow fields.
eg
schema
{
  "type": "object",
  "properties": {
      "person": {
         "name": "string"
      }
  }
}

data
{
  "person": {
     "name": "abc",
     "other": "abc"
  }
}

In this case, the Validate function cannot give any error or warnning message. you can try this one line
https://json-schema-validator.herokuapp.com/

https://stackoverflow.com/questions/32044761/json-schema-with-unknown-property-names
we can use additionalProperties: false to solve this problem, thx


Fix Data Table - 508 issue (TEST ONLY)

Required Fix

[ ] RF-3b
[ ] RF-5b
[ ] RF-8

Context
Development work will be completed in Align Data Tables to USWDS #1361. This ticket is for 508 testing only
See EPA CAMD Accessibility Report  for how to fix and additional details

Issue #
Issue Description

RF-3b
ARIA is only needed when native html tags are not used. The data table in the Data Preview has both native html tags and aria roles, the aria roles can be removed:

RF-5b
The sortable table can only be accessed by a mouse, a keyboard user is unable to tab to and activate the controls.

RF-8
When tabbing through the page, the focus does not follow a logical order which may confuse users. This issue is a violation of Section 508 and WCAG 2.0 Success Criterion 2.4.3

EPA Monitoring Plans Accessibility Report Additional.docx

Adding audit report for most recent 508 review, the table now has 3 outstanding issues,
RF 3: The sortable table does not have a programatic indicator to tell a screen reader when a column is sorted in ascending or descending order.
RF-7: The data tables in the application lack a programatic name:
RF-8: There are multiple tags with the same id when data tables are used on a page. For example:
6RmV1OFmK3-undefined
5
7


Update README file

For gods sake fix this!!

Make sure the file always includes the following elements:
Titles and internal titles
Introduction - the project's aim
Technologies
Launch

Consider also using additional elements such as:
Table of contents
Illustrations
Scope of functionalities
Examples of use
Project status
Sources
Other information

Done.  README updated for now.


Prepare for other types of virtuall workspaces

Summary
Prepare for other types of virtuall workspaces by moving an openapiv2 special case out of the rootapiserver.
This PR is based on PR #1024 to which the 2 first commits belongs, so that only the last commit is really part of this PR.
Related issue(s)
The changes in this PR were part of the work initially done in the context of PR #724 (issue  #487)

Lgtm when https://github.com/kcp-dev/kcp/pull/1024/files is addressed.


Ensure page feedback works under GA4

It seems that the Falco website has custom page-feedback code. That code will need to be updated to work with GA4.

Old description
(The following old issue text isn't relevant. Keeping it for reference.)
If you'd like to make it easy to see page-feedback events under GA4, you'll need to setup an event-modificaiton rule. For details, see:

https://github.com/google/docsy/issues/1302#issuecomment-1301550895

You can also track that issue for the status of a proper fix in Docsy.
/cc @caniszczyk @nate-double-u
/kind cleanup

@chalin we do want to have the page-feedback events after the migration. Could you please help us to set up the event-modification rule? Thank you!

I've created the necessary event-modificaiton rule:

But it isn't processing events. I'll investigate shortly.

/assign

After deleting the previously added event-modification rule, I've confirmed (using https://tagassistant.google.com), that page_helpful  events are being received by the CNCF GA4 data stream:

Details
G-D5DEHT7DJ1

Page Location
dl
https://falco.org/about/

...
...
...

Page Referrer
dr
https://falco.org/

Page Title
dt
What is Falco? | Falco

Event Name
en
page_helpful

System Property
_ee
1

Event Parameter
ep.event_category
Helpful

Event Parameter
ep.event_label
/about/

Numeric Event Parameter
epn.value
1


Select, Menu, and other menu-related components causes Chrome and similar Chromium Browsers to crash (Chrome 121.0.6153.0 and above)

What is affected?
Component
Description
More recent builds of Chromium Browser(s) immediately crash when interacting with menu-related Material Compoents
https://github.com/material-components/material-web/assets/1223224/38687ad2-a895-4547-ba66-c4d9f1f3f5fb
Version of @material/web tested: 1.0.1
Reproduction
Steps to reproduce:

Use Chrome version 121.0.6153.0 and above
Attempt to open a menu/pop-over Material component on a

Expected outcome
Menu opens
Current unexpected behavior
Browser crashes
https://github.com/material-components/material-web/assets/1223224/79e5cc9a-b11e-436e-89ee-1e8ff82d931b
Workaround
I have not found a workaround
Is this a regression?
Yes. This used to work, but now it doesn't.
Affected versions
Latest version of @material/web
Browser/OS/Node environment
Google Chrome
121.0.6153.0 (Official Build) canary (x86_64)
Revision
a5c13a277c5fb54744df20f5422eec52a573e632-refs/branch-heads/6153@{#1}
OS
macOS Version 14.1.1 (Build 23B81)

hmm i can't get it to repro on Chrome Beta which is 121 but I can get it to repro on Canary which is 122

Narrowed it down to chrome canary running into issues running the open animation itself which uses the native Web Animations API. I can't seem to debug what's going on because it just fails between starting it and it ending.  Will try to generate a minimal repro to file on Chromium

It specifically is the surface height animation causing the crash, but I cannot make a minimal repro of the issue so far. Here's what I have so far:
https://lit.dev/playground/#gist=2efe56a4ba5e241dad3c7883509ebd48
Will have to continue investigation especially if this issue moves from Canary (122) into Beta (121)

Honestly I think Canary has all sorts of other issues. See this is the surface element and it's inline style= which should be wrong here:

Yet the calculate styles are:

This is how it should look in stable:

Chrome 121 landed on stable.
Menu and select crash the browser.
tested with @material/web/@nightly.

Workaround for now: set quick=true for all menu and select components to avoid animation on open and close.

@christophe-g what version of Chrome and OS does it crash on?
Chrome 121.0.6167.85 on Mac OS 14.2.1 doesn't crash when I interact with the menus on https://material-web.dev/components/menu/stories/, nor does it crash with the latest version internally.

@asyncLiz - it is kind of good news that not all 121 version  crash ; )

Browser : Version 121.0.6167.85 (Official Build) (64-bit)
OS: Linux Mint 21.2 Cinnamon

Result of clicking first button of https://material-web.dev/components/menu/stories/ :

Nothing in the console.
Opening a menu from https://material-web.dev/components/menu/:

Doing some further tests on Lambdatest.com and failing to reproduce the crash:

Windows 11 Chrome Version 121.0.6167.8: ok
Windows 10 Chrome Version 121.0.6167.8: ok
MacOS Sonoma Chrome Version 121.0.6167.8: ok

Chrome 121.0.6167.85 works on my corp Linux station. Are you able to test other Linux distros?
You may also check if chrome://flags/ has experimental web features enabled. If so, try disabling that flag, restarting, and see if it still crashes.

chrome://flags/ has experimental web features enabled.

Oh - I would never have thought about this. You found the culprit !
Restarted without flag, WAI. Thank you.

This is an important bug to file in chromium, I believe they're working on popover stuff right now.
@e111077 pinging this on your radar since I think you're looking at some popover anchor stuff rn

I ran across a VERY similar issue and I thought I narrowed it down to any Custom Element that I had that was still set to display: inline would crash upon inspection of the element in the browser. This was also true for slotted elements like  tags (default inline). I wonder if they are related @asyncLiz

Chrome 121 is a bit old now, is this still happening on the latest versions of Chromium @Darrenbydesign?

Chrome 121 is a bit old now, is this still happening on the latest versions of Chromium @Darrenbydesign?

I believe so Liz, as of yesterday on my with machine this issue still occurred. I've tried to report a bug about it but I'm not sure where to check on that status


Conbee II is not recognized by synology

Hi, I tried to switch from marthoc/deconz to deconzcommunity/deconz on my Synology. Unfortunately, the Conbee II is not recognized.
failed to reconnect to network try=1
My old command was:
docker run -d --network mac0 --ip xxx --mac-address yyy -e DEBUG_OTAU=1 -e DECONZ_VNC_MODE=1 -e DECONZ_VNC_PASSWORD=zzz -v /volume1/docker/deconz/otau:/root/otau -v /etc/localtime:/etc/localtime:ro -v /volume1/docker/deconz:/root/.local/share/dresden-elektronik/deCONZ -v /dev:/dev --name deconz --restart always --privileged --device=/dev/ttyACM0 marthoc/deconz
my new command is:
docker run -d --network mac0 --ip xxx --mac-address yyy -e DEBUG_OTAU=1 -e DECONZ_VNC_MODE=1 -e DECONZ_VNC_PASSWORD=zzz -v /volume1/docker/deconz/otau:/root/otau -v /etc/localtime:/etc/localtime:ro -v /volume1/docker/deconz:/opt/deCONZ -v /dev:/dev --name deconz--restart always --privileged --device=/dev/ttyACM0 deconzcommunity/deconz
I switched respo and destination path of the config-folder. Everything looks good, but it seems not to connect to the Conbee... When I switch back to marthoc/deconz, everything works well, again.
Any tipps what to do?
Thanks!
Michael

Ah, I think adding
-e DECONZ_DEVICE=/dev/ttyACM0
fixed it!


Seminar title and abstract

@daccordeon to get @MatthewJA feedback by Friday 5pm.

Blobmatch: Machine learning for cross-identification of radio galaxy surveys
Success in cross-identification of radio galaxy surveys is determining the real, physical objects that we're looking at. The naivest measure of two sources (or blobs) being a match for an actual object is their separation on the sky. Using this separation, we train a logistic regression predictor on the TGSS and NVSS radio galaxy surveys to partition a patch of the sky into objects. Although this predictor successfully learns the importance of the separation, the naive partitioning fails to convincingly identify objects in the sky.
Happy to send this in for seminar, abstract will likely change for report proper

I suggest you say "radio-radio cross-identification" rather than just "cross-identification", as there is also e.g. radio-IR cross-identification
Technically not everything in NVSS/TGSS is a "radio galaxy", just a "radio object"
It would be good to add a quick line motivating the problem, i.e. why is radio-radio cross-identification hard/what kind of objects can't be cross-identified naïvely?
Logistic regression doesn't partition, it just classifies. Be sure to not conflate the classifier with the partitioning: partitioning in this case is a decision you make based on the classifier.
What is "the naive partitioning"? It's unclear from the abstract.
Good conclusion that the partitioning is unsuccessful. Note that this might not have anything to do with your classifier!

HTH

Blobmatch: Machine learning for cross-identification of radio galaxy surveys
Success in radio-radio cross-identification of radio object surveys is determining the real, physical objects that we're looking at. The naivest measure of two sources (or blobs) being a match for an actual object is their separation on the sky. Using this separation, we train a logistic regression classifier on the TGSS and NVSS radio object surveys. Then use its predictions to partition a patch of the sky into objects, by transitively grouping any chain of predicted matches. Although the classifier successfully learns the importance of separation, we find that the naive partitioning fails to convincingly identify objects in the sky.
Let me know, and I will send it off to Bonilla.

You can just say "radio surveys"
Rest sounds good!

Sent to Bonilla:
Blobmatch: Machine learning for cross-identification of radio surveys
Success in radio-radio survey cross-identification is determining the real, physical objects that we're looking at. The naivest measure of two sources (or blobs) being a match for an actual object is their separation on the sky. Using this separation, we train a logistic regression classifier on the TGSS and NVSS radio surveys. Then use its predictions to partition a patch of the sky into objects, by transitively grouping any chain of predicted matches. Although the classifier successfully learns the importance of separation, we find that the naive partitioning fails to convincingly identify objects in the sky.