Cast DictConfig -> dict in instantiate

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

Project coverage is 69.79%. Comparing base (ec21546) to head (815fddf).
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1450      +/-   ##
==========================================
- Coverage   70.01%   69.79%   -0.23%
==========================================
  Files         268      271       +3
  Lines       12937    13052     +115
==========================================
+ Hits         9058     9109      +51
- Misses       3879     3943      +64

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


massdns functionality fix

Check the way subfinder uses host file in the docker cmd, can be used for resolved-domains.txt as well I guess

: 'Run MassDNS on the given domains'
runMassDNS()
{
	echo -e "[$GREEN+$RESET] Starting MassDNS now!"

	#This doesn't work yet because I need to find a way to get the resolved-domains.txt from the host to docker.
	docker run -it massdns -r lists/resolvers.txt -t A -o S -w resolved-domains.txt > $ROOT/$1/massdns.txt

	echo -e "[$GREEN+$RESET] Done!"
}

massdns still doesn't seem to work, might be due to the changes in v1.0.0


Peer communication

I believe KVS currently supports MASTER and VIEWER roles whereby a MASTER can communicate with all VIEWERS however a VIEWER can only communicate with a MASTER and not with other VIEWERS.
I'm looking for a way that supports all peers communicating with each other e.g a stream with 3+ users communicating via webcams. Is this currently a possibility with KVS?

Same doubt

Full mesh is not currently supported. This is one of the features that people ask for and we will prioritize it accordingly.
I am resolving this issue. Will update as soon as we roll something out

Is full mesh currently supported?


Ensure FPS/CUR selected idxs are unique in the case of zero-score

Attempting to fix #206
Hello!
I have encountered the issue raised by Alex in the above issue, whilst working with the equisolve wrapper for TensorMap-based sample/feature selection (i.e. in https://github.com/lab-cosmo/equisolve/blob/main/src/equisolve/numpy/sample_selection.py and co).
I have adapted Alex's example into a few unit tests for both FPS and CUR sample/feature selection, and attempted to fix it. However, there is something I'm not understanding. While the FPS tests now pass, there are a couple of (different) CUR ones that do not.
With this PR I was hoping to get some feedback/help from the skmatter dev team on this. Thanks! :)
Contributor (creator of PR) checklist

[x] Tests updated (for new features and bugfixes)?
[ ] ~Documentation updated (for new features)?~
[x] Issue referenced (for PRs that solve an issue)?

For Reviewer

[ ] CHANGELOG updated if important change?

📚 Documentation preview 📚: https://scikit-matter--224.org.readthedocs.build/en/224/

Are you still looking for feedback on this? Good measure to tag one of us for input.

Hey! This isn't something I'm actively working on at the moment, but I'll be sure to ping you for feedback when I / we get back round to it :)

I had the problem that CUR sample selection would give duplicate selected indices, for example X.selected_idx_ ==
[<PHONE_NUMBER>  253 1000  480  183  486  303  977   43  366  734  243  363   88  859  440  798  398  709  263  796
383  214  654  854  508  865  384  413  643  413  643  413  643  413  643  413  643  413  643  413  643  413  643
413  643  413  643  413  643  413  643  413  643  413  643  413  643  413  643  413  643  413  643  413  643  413
643  413  643  413  643  413  643  413  643  413  643  413  643  413  643  413  643  413  643  413  643  413  643
413  643  413  643  413  643  413  643]
I cannot comment on the validity of the code, but this branch solves this problem to instead give unique predictions like this, X.selected_idx_ ==
[<PHONE_NUMBER>  253 1000  480  183  486  303  977   43  366  734  243  363   88  859  440  798  398  709  263  796
383  214  654  854  508  865  384  413  643  216  555  408  564  892  716  673   99  107  386  137   55    1  499
368  390  359  218  237  130  530  661  439  311  318  542  669  830  268  208  215  903  418  855  994  664  631
879  199  306  869<PHONE_NUMBER>  123<PHONE_NUMBER>  608  519  351  389    5  652  553  257  934   24 1455  270
825  744 1114  470<PHONE_NUMBER>   15]


Update fi.coffee

Coverage remained the same at 56.909% when pulling 90a75095e02d8bc3aa6bcb97b5f0621d7e15680e on VilkkuV:patch-2 into 0c90f63713a146989db01ed57f38b6ce08947478 on codecombat:master.

Hello. Thank you for the translation. Merged.


Redesign Parts View

As User,
I want to have a intuitive UI in the Parts View,
so that I can accomplish work processes faster.
Hints / Details

Miro UI Concept Board : LINK

Remove View Selector (AsPlanned/AsBuilt)
Instead add Icons like in Concept to make one of the sides 100% width
Add Owner Selector above table (filterable)
Sync table settings with user settings
Redesign Actions (Icon + tooltip)
Reposition X Parts selected label
Add owner column
• DISCUSSION NEEDED: BE Api should merge and provide that info?
Add Connected to DataSpace Icon
Add Severity Icon
• DISCUSSION NEEDED: Concept on how to receive that information, BE should provide that info
DISCUSSION NEEDED: Red Row Highlighting could be whether used for error in part state or like in concept for Life threatening severity. How do we want to implement that?

Acceptance Criteria

Parts View is adjusted to concept

Out of Scope

...

I copied the ticket as the original tickets were deleted due to a spam account.
Orginal Ticket: https://github.com/eclipse-tractusx/traceability-foss/issues/628


Implements request body validation inside HmacAuth

Summary
Adding functionality to validate request body in hmac-auth. This is optional and can be configured when enabling the Hmac-Auth plugin for an API.
Full changelog
Currently, Hmac-Auth plugin allows validation of only request headers. There are requirements in real life projects when the validity of request body is also to be verified. To solve this problem I have introduced the usage of digest header. This digest header will contain the Base64 encoded Sha256 hash of the request body.
If an API has hmac-auth plugin enabled and validate-request-body config is enabled then for every request of this API received at KONG, Hmac-Auth plugin will also validate the integrity of request body, needless to say, this check will be performed only if request contains any body
If this config( validate-request-body) is enabled on an API then every request must contain digest header inside hmac-headers parameter.
Tests added

should pass with GET when body validation enabled
should pass with POST when body validation is enabled and digest header present
should not pass with POST when body validation enabled and digest header missing
should not pass with POST when body validation enabled and digest header missing from hmac-headers
should not pass with POST when body validation enabled and postBody is tampered
should not pass with POST when body validation enabled and digest header is tampered

This will fail in some tests as those depends on changes in PR: https://github.com/Mashape/kong/pull/2418
So those tests will pass once PR #2418 will be merged into this

@vaibhavatul47 please address the linting error and test failures: https://travis-ci.org/Mashape/kong/builds/223708709

@vaibhavatul47 there is still a failure in the test:
 Plugin: hmac-auth (access) HMAC Authentication should not pass with POST when body validation enabled and digest header missing from hmac-headers
Mind taking a look?

@p0pr0ck5 This is expected behaviour as of now. Please also have a look at this comment on #2418

Hi @p0pr0ck5, I was busy in personal work so couldn't finish this sooner.
I have made required changes for this PR, i.e. I have removed failed tests from this PR. I would add them in #2418 once this PR is merged.

@p0pr0ck5 and @shashiranjan84 will review this, as it is in need of a few improvements :) We will also need a documentation PR on getkong.org :) Thanks!

LGTM, @vaibhavatul47 would you be able to adjust your commit message based on https://github.com/Mashape/kong/blob/master/CONTRIBUTING.md#commit-message-format? @shashiranjan84 any thoughts here?

@vaibhavatul47 @p0pr0ck5 overall LGTM, I'll format it to latest code style before merge.

@p0pr0ck5 I've updated commit message.

@shashiranjan84 if validate_request_body is enabled then forcing client to send digest header is important. If this is not mandated then someone who can change request body would also delete digest header and then this corrupted request would be validated by plugin as it didn't contain any digest header.

Closing this PR in favor of #2613.

#2613 was merged, thank you @vaibhavatul47 for your contribution!


refactor: simplify the code

It seems strange to write assignment in the if statement, and to use the let token instead of const to define a variable that you will never change. I just started reading the source code of this project recently, so I tried to simplify the code to make some refinements on the entry file.

It seems strange to write assignment in the if statement, and to use the let token instead of const to define a variable that you will never change. I just started reading the source code of this project recently, so I tried to simplify the code to make some refinements on the entry file.
好家伙，您就是葫芦娃中的水娃吧

好家伙，您就是葫芦娃中的水娃吧
But I just thought the readability is also part of the enhancement right? 😂


Milestones

I just started testing your Gantt solution. I like the professional, slick look.
A first thing I tried is start date = end date. In this case the task doesn't get displayed, see example with "developing":

I would suggest to add a special type called "Milestone" for such tasks. It is usually represented as a diamond shape in Gantts.

Hi @PathToSharePoint,
Thanks for your feedback.
I agree with you and I have a plan about tasks with very small duration. Maybe I should represent them as a box, without end and start time controls.
Milestone is also possible to do.

Thanks for looking into this!
I think the point of the usual diamond is to avoid confusion with short tasks, especially in monthly views. btw that brings up an interesting question (more a matter of convention): when a task starts and ends on the same day, does the duration count as one day or zero?
Another minor point, I would expect the tooltip to switch to the left of the bar for the latest tasks.

Diamond shape is for milestone only. Other solutions use rectangle shape as well

Yes. It's nice to have hour duration for diurnal task
I don't understand left tooltip concept

Sorry I should have included a screenshot. See how the tooltip gets cut off, I would expect it to automatically reposition on the other side of the bar where there is more room. The same way you auto-position above or below.

Hi @PathToSharePoint,
I'm working on your task however I don`t have enough time until Christmas. FYI

Thanks for the update @MaTeMaTuK . I am looking forward to testing the next version!

Hi @PathToSharePoint,
Please check the new release

Thanks for the update, I'll give it a try. The live demo looks great!


Fix Bad Redirection on Posting New Articles

Both blog and news shows redirect error after posting.
Supposed to redirect to index page.

Fixed.
https://github.com/PHCNetworks/phc-press/commit/ff6bf584eed2962855a9cffefd83e93ffca58e2b


fix ser/de

Went into the nim code to find the true definitions for services + corrected invalid serialization and deserialization.


Path: Routing: travel times adjusted on congestion: steps

Step 1: analyze STM data to get an average ratio of congestion on each segment (like on average, between 6 and 9 AM, the speed should be reduce to 0.6 of the free-flow speed)
Step 2: change the speed reduction ratio by highway type (from OSM): so we will ge a reduction ratio for residential, tertiary, secondary, primary, trunk, etc. + number of lanes
Step 3:  Get POIs data from osm and weight speed reduction ratios (one local total POIs weight and one regional, for the effect of downtown and regional density on congestion). Adjust each segment congestion ratio according to the total regional + local POIs weight
Step 4: Deal with motorways and regional trunks. How to adjust their segments speeds? To be discussed

Random notes from a conversation on the topic, to not forget, but still far from a solution:

Investigate the osrm traffic csv format to get inspiration for the required data type, to save the times per segment.
Using the csv in osrm is not the right way to deal with this, as we would need many instances of osrm for different periods of the day and different segments, may have different periods. Use osrm for the free-flow data, then use our own engine (that we'll develop/determine to solve this issue) to retrieve the times for each segment of a trip.
Use map matching on the transit nodes to get the osm node id data of the segment.
To get the osm nodes crossed by a segment, use the right query properties for the osrm data. See the documentation for the exact query to add, but it can be returned (https://project-osrm.org/docs/v5.24.0/api/#annotation-object)
Ideally, congestion data can come from many sources: taxi, historical gps bus, previous gtfs data, csv. When generating schedules, one could select the sources to use.

Following some discussion, a way to implement this, with the idea of giving eventually a full flexibility to the user, would be to add the concept of the congestion profiles in Transition.
The profile would be sent as parameter when generating a schedule/trip and will return the speed? segment? start/end time? (TBD exactly).
The profile can thus implement any approach to calculate the time a segment takes at the requested time.
A first implementation of the profile could be to have periods of time, with speed ratio (wrt flee flow) for each period. These could be configurable by the user, the user could add their own profiles. For a first implementation, there could be a default profile for all, or it can be configurable per agency/line/path.
A second implementation of the profile could account for the geographic location of the requested segment, ie downtown congestion is not the same as far away suburb.
A third implementation could use speeds per segments, provided by the users.
etc, etc.
This functionality can be implemented incrementally, anything being better than free flow!

Just some tests I made this morning:
Here are some congestion ratios for large and medium-size cities in Quebec and in the world:
Each are calculated using historical travel times using Google Maps Direction, with a typical route from suburb to downtown, in free-flow (departure at 1:30 AM) and at peak morning hour (departure between 7:30 and 8:30, taking the worst one between those hours). The ratio show is the worst possible given by google:
New York: 3.0 x free flow
Paris: 3.0 x free flow
London: 3.0 x free flow
Montreal: 3.0 x free flow
Tokyo: 3.0 x free flow
Zurich: 2.0 x free flow
Sherbrooke: 2.0 x free flow
Trois-Rivières: 2.0 x free flow
Quebec City: 2.0 x free flow

So the curve of travel time ratio would likely follow a dual peak profile function, with max at 3 x free flow and minimum at 1.0 x free flow during the night. Now we need to find a way to estimate density of the urban area, so we can choose between a peak at 1.0 (rural cities) or 3.0 (large metropolis)


Embeded youtube video not working with ios

Embedded youtube player not working with ios but working with android.

Please, can you edit your issue following the provided template and provide adittional information of what is not working, source code and/or screenshots. Thanks!

Thanks alot it works with ios when i add this tag in config.xml

Embedded youtube player not working with ios.
I paste my code here
<iframe width="100%" height="200" [src]="videoUrl | youtube" frameborder="0" allowfullscreen></iframe>
I made pipe for it
import { DomSanitizer } from '@angular/platform-browser';

@Pipe({
	name: 'youtube',
})
export class YoutubePipe implements PipeTransform {

	constructor(private dom: DomSanitizer) {

	}

	transform(value: string, ...args) {
		return this.dom.bypassSecurityTrustResourceUrl(value);
	}
}```

And i added following to config,xml
```<allow-navigation href="*://*.youtube.com/*" />```

But on ios, it display only blank area


Properties setting incorrectly

I've had this issue with the latest beta's:
window.GetProperty("bla", "string") // open properties & change string to text: sets: true
window.GetProperty("bla1", true) // open properties & change true to false: sets: 0
window.GetProperty("bla2", false) // open properties & change false to true: sets: -1

Thanks for the bug report! Should be fixed now (once the new build is ready).

Thanks for the fix. But there seems to be a minor issue with trailing zeroes being added to numbers entered with a decimal point. If it's intended new behaviour then it doesn't really matter...
window.GetProperty("0.8",0.8) // Sets: 0.8000000000000000 // previously would be set as 0.8
window.SetProperty("0.9",0.9) // Sets: 0.9000000000000000 // previously would be set as 0.9
window.GetProperty("1",1) // Sets: 1 OK
window.SetProperty("1.2",1.2) // Sets: 1.200000000000000 // previously would be set as 1.2

It's not really a bug, but yea, it looks nicer without trailing zeroes - I'll see what can be done about it.

Rectified in https://github.com/TheQwertiest/foo_spider_monkey_panel/commit/8aba0a207dd42347b47b74b6f037993e04890366

Thanks. Unfortunately I wasn't able to test the fix, as it crashes when trying to open properties.
Fresh portable install + 1 SMP panel.
Enter:
window.GetProperty("0.8", 0.8);

Close configure and try & open properties.
Crashes:
Properties crash.zip

Fixed crash in https://github.com/TheQwertiest/foo_spider_monkey_panel/commit/d1b1a909932121191ef37e539c461c8c4e62fd2d .
Will fix the trailing zeroes later.


do we need train and test the code with same wrapper?

i have model which is trained using torch directly now , i have written prediction class in torch which i want to call using python (pytorchhelpers) , but i got below error
PANIC: unprotected error in call to Lua API (/home/tiru/torch/install/share/lua/5.1/torch/File.lua:343: unknown Torch class <torch.CudaTensor>)

It looks like it cannot find torch.CudaTensor class/file for some reason. You might need to hack around with the LUA_CPATH and similar.


[New Port Request] Dawn, a WebGPU implementation

Library name
Dawn
Library description
WebGPU implementation from Google
Source repository URL
https://dawn.googlesource.com/dawn
Project homepage (if different from the source repository)
No response
Anything else that is useful to know when adding (such as optional features the library may have that should be included)
No response

Earlier discussion: #22948.

Ping


Testing of extraction done in OPENED

Given a module to be extracted, put in prints/capture the input and output packets when running the module as part of larger monolith. Craft similar packet in scapy and run through extracted module to show equivalence.

Network Function Test harness
Goal
Given a specific function,

Write a scapy function to generate the same input packet
Pass the crafted packet in previous step, to input of extracted function
Print the output packet inside extracted function
Compare the outputs of original and extracted functions
Use bpftool-prog to pass the same input to the extracted module and then check the generated output.
Use l3afd to load the module and run the same test as above.
Report success/failure depending on whether the outputs match.


XFAIL projects for Collection.subscript(_:) change

rdar://81180448
Most of these appear to be transitively failing due to swift-nio.
The bug in swift-nio has been fixed but it is waiting for a minor version bump at this time.

@swift-ci test

@swift-ci test

@swift-ci test

@shahmishal Unsure when the swift-nio fix will make it into a tagged version, so please merge this if it's okay.

Swift NIO has tagged a new version including https://github.com/apple/swift-nio/pull/1925: https://github.com/apple/swift-nio/releases/tag/2.31.1
I will make another PR that tries to only update swift-nio, and hopefully all the dependent projects will pick up this new patched version.


Replaces the word fungible with an easier to read synonym like exchangeable on expose-intro.html

While I was reading Using a Service to expose your app I stumbled upon the word "fungible". Its meaning wasn't clear enough for me and stopped my learning process. I'm not sure whether it's a common word but it seems it can be a synonym of "exchangeable", a word I feel is easier to comprehend.

/assign @steveperry-53

/lgtm
/approve


Sd 766 telefonistka get nil pointer dereference when it tries to diff a new application

Description
Please provide a meaningful description of what this change will do, or is for. Bonus points for including links to related issues, other PRs, or technical references.
Note that by not including a description, you are asking reviewers to do extra work to understand the context of this change, which may lead to your PR taking much longer to review, or result in it not being reviewed at all.
Type of Change

[x] Bug Fix
[ ] 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

If findArgocdAppByManifestPathAnnotation reaches the end of the function it returns nil,nil.
The log message at the end of that function is the source of the observed No ArgoCD application found with manifest-generate-paths annotation that matches workspace/cloud-tools/logging/fluentd-pubsub(looked at repo https://github.com/commercetools/k8s-gitops, checked 192 apps)" message on line 6 in the stack trace output.
The foundApp is used here which, at this point in the code execution, would have returned nil.
I added an additional condition to check if the found app is nil which will result in retuning the error finding the argo app error.


using existing FixedPoint2 for popup message, instead of raw float

Passing in existing reference to FixedPoint2 object to DrawFromBlood method so it can be used in popup message. This fixes the precision issue when target has less than 1u blood.

This fixes bug:
https://github.com/space-wizards/space-station-14/issues/9796

Put Fixes #9796 in the description and it'll auto close the issue when this is merged.
https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue

Fixes #9796


get donation to giveth with donation box analytics

related to: https://github.com/Giveth/analytics-dashboard/issues/15

Summary by CodeRabbit

New Features

Introduced useDonationBox and relevantDonationTxHash fields to the donation system for enhanced tracking and categorization.

Bug Fixes

Improved validation rules for donation queries, ensuring accurate data input.

Tests

Added comprehensive test cases to validate new donation metrics and relevant donation retrieval functionalities.

Chores

Implemented database migrations to support new donation fields and backup functionalities.

Thanks @ae2079 LGTM Do these things
* Merge staging to your branch and resolve conflict

* Make sure all test cases pass

* [Optional] If it's not too hard for you you can run these migrations on your local system (with dump of staging DB that I can send a dump to you if you want to) and see if the migration of filling existing donations works properly or not

I already tested migrations locally and will do two other points you mentioned.
thanks @mohammadranjbarz


UI broken in home page

The UI shows up fine in Chrome but does not render well in Safari. Didn't check on Firefox.

The view depends on the font size set by the user in his browser preferences. So the view changes according to font size even on the same browser.
This is the view in Chrome when font size = small

And the view changes to this (the broken view) when font size = medium

@rathorevaibhav Please have a look and share your thoughts.


Possible incorrect computer tag for mobile user-agent

useragent version:

v0.0.71

Current Behavior:

  {
    "Tags":[
      "Safari 17.4 on macOS",
      "\u003cnil\u003e",
      "Safari 17.4",
      "Safari",
      "safari",
      "17.4",
      "17.4.1",
      "macOS",
      "macos",
      "browser",
      "web-browser",
      "computer",
      "WebKit"
    ],
    "Raw":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4.1 Mobile/15E148 Safari/604.1"
  },

As we can see this UA contains a Mobile keyword, but there is no mobile in the Tags field. And perhaps should remove the computer tag as it's not a Desktop user-agent?
Expected Behavior:

With at least mobile tag included and computer tag removed. (?)
Steps To Reproduce:

Check in the JSON data.

Closing this. Reason: https://github.com/projectdiscovery/useragent/issues/191#issuecomment-2382645737


[FLINK-10187][table] Fix LogicalUnnestRule to match correlate->...->project->uncollect cor…

What is the purpose of the change
Fix LogicalUnnestRule to also match correlate->...->project->uncollect correctly after upgrading to use Calcite 1.17
Brief change log
(for example:)

Remove SqlToRelConverter copy in Flink repo
Fix LogicalUnnestRule to also match  correlate->...->project->uncollect correctly

Verifying this change
This change is already covered by existing tests
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): ( no)
The public API, i.e., is any changed class annotated with @Public(Evolving): ( no)
The serializers: ( no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (no)
The S3 file system connector: ( no)

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (not applicable)

Thanks for the PR @suez1224!
Merging


kernel 4.14

hi,
its not an issue, but i had to modify
https://github.com/PacktPublishing/Linux-Device-Drivers-Development/blob/master/Chapter03/std-timer.c
if i wanted to compile :
they change the API for the timer
the callback function, line 8  is now :
void    my_timer_callback(struct timer_list * list) ;
and the init is now :
static int __init my_init( void )
{
    int retval;
    pr_info("Timer module loaded\n");

    timer_setup(&my_timer, my_timer_callback, 0);
    pr_info( "Setup timer to fire in 300ms (%ld)\n", jiffies );

    retval = mod_timer( &my_timer, jiffies + msecs_to_jiffies(300) );
    if (retval)
        pr_info("Timer firing failed\n");

    return 0;
}

I don't know if you want to keep your code updated with the new kernel version or not :)

For reference for anybody else, see the LWN article here: https://old.lwn.net/Articles/735887/

Thank you for the fix!


Scala 2.12.1 support?

With 2.12 scala.concurrent.util.Unsafe is removed impacting this project. Are you planning to update accordingly?  I'm curious about your thoughts on how to go about it. Thanks

I'm happy to help, and would appreciate any guidance in what you think may be promising.

@dmrolfs Thanks for the issue. Scala 2.12.x support is definitely needed! Frankly I didn't investigate the topic yet to propose anything.

@alexandrnikitin I've added Scala 2.12 support in #31 . Could you review it please?

@fediq Thank you for your time!
I published v0.10.0 with Scala 2.12 support

Closed via #31


Added xss for search comapny input

Added xss for search-company method.

Approved by Adisesh via Slack so I'm merging


Add a Gitter chat badge to README.md

lookout/whoas now has a Chat Room on Gitter
@GiriDandu has just created a chat room. You can visit it here: https://gitter.im/lookout/whoas.
This pull-request adds this badge to your README.md:

If my aim is a little off, please let me know.
Happy chatting.
PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

We're going to stick to using the lookout/deploydb room for now


python like string escape implemented

What is the rationale behind this change?

extends Node

## without escaping new line
var summary= """Summary about how this does a thing.
More information on it doing that thing.
This is injected straight into the XML, i.e. you can use Godot's XML doc features:
Now I'm referencing a Godot class: [Node].
Default implementation can be found in [method MyNode._override_me].
Here's an example of how you should override it...
[codeblock]
extends MyNode
@override # indented @-signs don't impact outer annotation
func _override_me() -> int:
	return 1
[/codeblock]
"""

## with escaping new line
var summary= """\
Summary about how this does a thing.
More information on it doing that thing.
This is injected straight into the XML, i.e. you can use Godot's XML doc features:
Now I'm referencing a Godot class: [Node].
Default implementation can be found in [method MyNode._override_me].
Here's an example of how you should override it...
[codeblock]
extends MyNode
@override # indented @-signs don't impact outer annotation
func _override_me() -> int:
	return 1
[/codeblock]
"""

escaping new line may looks better, and in "x\y" the \ not escaping are just inspired from python.

Ah right. I did not notice that there are two changes, one for newlines, the other for invalid sequences.
While I agree that allowing one to escape newlines in strings is probably a good idea, I'm not sure about allowing invalid sequences without at least a warning. Otherwise, one is left to wonder why "C:\Users\yadayada\hello_world.txt" works but not "C:\Users\yadayada\test.txt" when opening a file under windows.

Yeah its good idea not to allow invalid escapes. Ill remove it.

Thanks!


RF-Update1

This update contains information about use of Azure Shared Disk on ASCS and Standard Loadbalancer Outbound Internet Connectivity

#sign-off

@doodlemania2: I'm sorry - only the author of this article, @, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.


yelp data set

one question regarding yelp,
from which year is this dataset? and where it from exactly
thanks!

there is a paper... have not seen it


IDSEQ-1398: Ensure required metadata fields (and host defaults) are associated with all host genomes

Description
In IDSEQ-1398, a user was unable to upload because their host (bat) did not have required field collection_location_v2. This adds model validation and a callback to ensure this can't happen again.
In addition, I will run the following script in prod to update existing hosts.
  MetadataField.where(is_required: 1).each do |mf|
    mf.update_host_genomes!
    mf.save!
  end

  MetadataField.where(default_for_new_host_genome: 1).each do |mf|
    mf.update_host_genomes!
    mf.save!
  end

Notes

This also raises the question of whether we should update existing projects on adding a required field

Tests

try creating a required field with no default_for_new_host_genome
try updating to a required field with no default_for_new_host_genome
try creating a new field that is required, see hosts update

I still think that if we add a new metadata field that is default for new host genomes, it should be added for old ones too (not just for required ones).

I'd like to get @MarkAZhang 's input on that question. The same point applies to projects also, by the way.

The same point applies to projects also, by the way.

Not exactly the same. The association of metadata fields to projects is supposed to be fluid. You can add custom fields and remove custom ones.
On the other hand, the default fields for host genomes are to indicate what fields you immediately add to a project when you first create it. That's why you must add any new default field created to existing host genomes.

Thank you for tackling this. Unless I'm missing something, I think you need to reduce the number of scenarios in which update_host_genomes is triggered, as per my in-line comment. To match your description, it should only be triggered when a required field is added, which can only be caused through manual action of an admin member of the development team.
I also echo Tiago's comment about default metadata fields for old host genomes. His request is in fact the definition & acceptance criterion for task https://jira.czi.team/browse/IDSEQ-1398

His request is in fact the definition & acceptance criterion for task https://jira.czi.team/browse/IDSEQ-1398

Sorry, I'm not seeing that in the acceptance criteria of the task. I was going by

Jonathan Sheu Assigned to you to get clarity on what we should do here.
My opinion: default fields should be loaded in real time, i.e. when we need the metadata fields for a particular host genome we load all associated fields + all fields marked as default (as opposed to having to create/delete associations when we add/remove a default field).

If the question has been already been decided before I arrived, I'm happy to go with that.

On the other hand, the default fields for host genomes are to indicate what fields you immediately add to a project when you first create it. That's why you must add any new default field created to existing host genomes.

When a project is created, all fields marked as is_default are added to the project. It shouldn't depend on any host genome. Projects and host genomes shouldn't rely on each other for any defaults related to metadata fields. A sample takes the intersection of its project and host genome's metadata fields (which are independent) when determining what fields are valid for itself.
I do think it makes sense for us to update past projects as well as host genomes when new default fields are added. There is a slight downside that we are modifying past projects (example of a possible downside: the user was very diligent in uploading complete metadata based on the schema at the time, but now we are adding additional fields so they are missing metadata), but the intention was that required and default fields should change infrequently.
I think retroactively adding default fields will reduce the likelihood of a certain class of bugs. For example, we make a new default metadata field and we make some UI assuming that this field is present. A bug might occur if the user views a past sample  that doesn't have this default field.
So yes, I would support doing this not just for required fields, but for default fields as well.
Note that when a host genome is created, it adds all metadata fields that are default_for_new_host_genome, where when a project is created, it adds all metadata fields that are is_default.
The reason why there is this distinction is that there are some metadata fields, such as is_blood_fed which are default fields, but specific to certain host genomes (mosquitoes). We do want is_blood_fed added to new projects, so that mosquito samples within these projects get the field, but we don't want is_blood_fed added to new host genomes, so default_for_new_host_genome is false. default_for_new_host_genome is true for fields like collection_location that should apply to all new host genomes.

To summarize the proposed changes, when a new metadata field is created, if it has default_for_new_host_genome, add it to all past host genomes. If it has is_default, add it to all past projects.
Separately, there is an implicit assumption that if it is_required, then it will also be both default_for_new_host_genome and is_default. I don't know if there is validation for this, and it would be good to add it in metadata field.

My opinion: default fields should be loaded in real time, i.e. when we need the metadata fields for a particular host genome we load all associated fields + all fields marked as default (as opposed to having to create/delete associations when we add/remove a default field).

I think Tiago is talking about not storing default fields on the host genome via the many-to-many relationship, but instead just loading them ad-hoc whenever we need them. (i.e. changing the current implementation)
I'm a little against this because 1) if we remove default_for_new_host_genome from a metadata field, then it gets implicitly deleted from all the host genomes, causing metadata to possibly stop being shown in the UI and 2) now you have to remember to also load the default fields when you're writing code, which can increase the chance of developer error (especially as we've already invested in the existing solution).

Thanks for all the thoughts @MarkAZhang !
I'm still working on making the unit tests pass for now. It looks like duplicate fields are getting added somehow because of the callback.

@MarkAZhang, about this:

Separately, there is an implicit assumption that if it is_required, then it will also be both default_for_new_host_genome and is_default. I don't know if there is validation for this, and it would be good to add it in metadata field.

is_required and default_for_new_host_genome assumption should be covered in https://github.com/chanzuckerberg/idseq-web/pull/3148/files#diff-30474228c4745c95ef6519536e46e8d6R129 .
default_for_new_host_genome and is_default seems questionable. Should every default field for a a host also be a default a field for all projects?

Sorry, I'm not seeing that in the acceptance criteria of the task. I was going by

Based on the title of the task, "Default metadata fields should be automatically added to old host genomes" :)

Hi reviewers, here is a linear summary up of the PR discussions up to this point with follow up questions.
There is consensus that fields that are default for new hosts should also be added to old hosts.
I will add that logic and corresponding tests now.
A follow-up set of questions is

whether we should change the name of the field default_for_new_host_genome to default_for_host_genome?
where to update the internal documentation? I know there is a quip doc and the code docs.
is there any update needed to external documentation? Anything about metadata fields being frozen that would no longer be true?

Further, Mark supports the change to make fields that are default for new projects to also be default for old projects.

I think retroactively adding default fields will reduce the likelihood of a certain class of bugs. For example, we make a new default metadata field and we make some UI assuming that this field is present

...possible downside: the user was very diligent in uploading complete metadata based on the schema at the time, but now we are adding additional fields so they are missing metadata

While I think these are both good points, I think on balance it's not worth the time and risk of disruption to make this change now.
Any thoughts @tfrcarvalho , @cdebourcy ?
Further, Tiago recommends not storing default fields on the host genome via the many-to-many relationship which removes the need to synchronize via callbacks.

default fields should be loaded in real time, i.e. when we need the metadata fields for a particular host genome we load all associated fields + all fields marked as default (as opposed to having to create/delete associations when we add/remove a default field).

Mark is slightly against it:

if we remove default_for_new_host_genome from a metadata field, then it gets implicitly deleted from all the host genomes, causing metadata to possibly stop being shown in the UI and
now you have to remember to also load the default fields when you're writing code, which can increase the chance of developer error (especially as we've already invested in the existing solution).

I'm also against it for those reasons. Any thoughts @tfrcarvalho , @cdebourcy ?

I'm also against it for those reasons. Any thoughts @tfrcarvalho , @cdebourcy ?

Thank you for this great summary and analysis. I vote for doing the minimal change that fixes the bug reported in IDSEQ-1398 (i.e. for not expanding the scope to a refactor).

Definitely, great way to summarize @gregdingle !
Regarding @MarkAZhang points, they are valid from the sense of changing existing code.
How i would envision it, would be changing the current metadata_fields into a custom_metadata_fields and adding model method `metadata_fields that merges custom metadata_fields with the default ones. The clients of current metadata_fields attribute would not have to change.
Having said that, it is true that it is more work (not much more but more). So @gregdingle, I will let you decide how to proceed.

I prefer to keep things as-is, although I readily admit that I prefer we had started with the system that @tfrcarvalho described, given where we have ended up.

Ping. @MarkAZhang @tfrcarvalho . Could I get a final review here?

@MarkAZhang ready for review again.


Trailing space on row creates extra cell

The extra cell then upsets everything else.

Two trailing spaces will still bork this. Validation between each conversion is the real solution here.


Missing Diaper Drive

On 4/30/20, I added a new Diaper Drive (XPO - 1268 diapers) and backdated it 4/28/20 since that is the day we received the diapers.  The drive shows up but doesn't have a donation associated with it.  I am not sure now if the diapers are in inventory.  I wonder if this is related to backdating or just a glitch.

@armahillo let's discuss this - I think it's not so much a bug as it is a confusing UI/language.


Fixture id updates for existing TestScripts

This PR updates the remaining TestScripts that were not following our new fixture id approach. Such TestScripts are:

measure-col

$collect-data (brake crucible:execute[<base stu3 url>,stu3,col-collect-data])
$data-requirements (brake crucible:execute[<base stu3 url>,stu3,col-data-requirements])
$submit-data (brake crucible:execute[<base stu3 url>,stu3,testscript-example-submit-data])
$evaluate-measure (multiserver) (brake crucible:execute_multiserver[<base stu3 url1>, <base stu3 url2>,stu3,clinical-reasoning-c21-ccs-individual-multisystem-json])

measure-vte-1-FHIR

$data-requirements (brake crucible:execute[<base stu3 url>,stu3,vte-data-requirements])
$evaluate-measure (brake crucible:execute[<base stu3 url>,stu3,vte-evaluate-measure])

The rest of the TestScripts either already had this approach implemented, or were made by someone other than us (MRP $data-requirements and $submit-data).
There are a few things that can be tested to verify that the approach is working for all the TestScripts:

Ensure that all parts of the TestScripts pass
Ensure that there are no resources with the MitreTestScript- id prefix on the server after the TestScript passes
Ensure that even if we comment out the teardown section, run the test script, uncomment out the teardown section, and run it again, it passes without getting that 409 Conflict error we have seen in the past.

@okeefm Good catch. Just pushed the update.


fix: correct implementation for multi-arch images

Migration of
https://github.com/SwissDataScienceCenter/renku-data-services/pull/526
This should fix the image tests we see failing in other prs.
/deploy

You can access the deployment of this PR at https://renku-ci-nb-1998.dev.renku.ch


Enable zend assertions by default

The Problem/Issue/Bug:
Since ddev is a development toolkit item, it would make sense to enable zend assertions by default. It was disabled.
How this PR Solves The Problem:
This enables zend assertions.
Manual Testing Instructions:
From the php manual:
// Make an assertion that should fail
assert('2 < 1');
assert('2 < 1', 'Two is less than one');

Automated Testing Overview:

I don't think testing is needed. We're just enabling something built-in to PHP.
Related Issue Link(s):
Release/Deployment notes:

PHP asserts are now enabled by default. If this is not desired, see how to override PHP directives in https://ddev.readthedocs.io/en/stable/users/extend/customization-extendibility/#providing-custom-php-configuration-phpini and set zend.assertions to 0 or -1 as desired.

The difference between setting to zero (0) and one (1).
Zero, you have to look at error logs and you'll see things like:
AssertionError: assert($node->bundle() === 'foo') in assert() (line 70 of  /var/www/html/web/modules/custom/example_module/src/Plugin/Block/RecentArticlesBlock.php) #0 /var/www/html/

One, you get a WSOD and (if you've enabled verbose error logging in Drupal), a stack trace with something like:
The website encountered an unexpected error. Please try again later.
AssertionError: assert($node->bundle() === 'foo') in assert() (line 70 of  /var/www/html/web/modules/custom/example_module/src/Plugin/Block/RecentArticlesBlock.php) #0 /var/www/html/

We should consider not enabling this in the production (casual webhosting) version of the settings.

We should consider not enabling this in the production (casual webhosting) version of the settings.

Does that mean we need to move these tweaks into the ddev-webserver-dev-base-files directory instead of the base?

We need to copy the unmodified files into ddev-webserver-prod-files/etc/

What if we added an assertions.ini into mods-enabled under ddev-webserver-dev-base-files? That would copy the config into all the dev sites, similar to xdebug.ini? Except it is always enabled.

Not sure how that would work with overrides. Maybe not very well.

Another way to handle it would be to turn on assertions by editing the ini file during startup on the dev version.

Another way to handle it would be to turn on assertions by editing the ini file during startup on the dev version.

Where would I make this change? It might like it better.

https://github.com/drud/ddev/blob/master/containers/ddev-webserver/ddev-webserver-base-scripts/start.sh
And there is a separate one for prod, so it wouldn't affect prod.

This seems like it would be an easier mechanism. Waiting on feedback. I opted not to add a enable/disable script for this, since (again) this is dev tooling and we should be fixing, not hiding, assertions.

Please rebase when you get back to this. I've been fixing upstream dependency failures that have been breaking tests.

Should the "module" be named something more localized than "assertion"? Maybe "ddev_assertions" or something?

Should the "module" be named something more localized than "assertion"? Maybe "ddev_assertions" or something?

That's simply a copy/pasta from the default php.ini already bundled with the project. Let me add a comment and rebase things

I added to the version.go and pushed the image.

Rebased.

I tested this manually and it seems to work fine. I tested the ddev-webserver and ddev-webserver-prod. In use-hardened-images mode the assertions were ignored. with use_hardened_images: false, it showed the assertion failures.


chore(test): add api auto subscribe test script

Auto sub or subscriptions ?

1 need PUT auto sub [] and test client connect, client's subscriptions should be [];
2 use default value
{
"topic": "abc",
"qos": 0
}

no nl or other param


Please add a license file and a readme.md

I'd like to add this to awesome-zsh-plugins, but I prefer to add plugins with a readme that documents how to use them.
Also, please add a license file, some people won't use any code that doesn't have an open source license. If you don't have one in mind, https://choosealicense.com is a good resource to help you select an appropriate one.
Thanks!

I planned to do it but I'm too busy right now. I'll do it as soon as I can!

NP. Either comment on this issue once it's done and I'll add it or make a PR directly on https://github.com/unixorn/awesome-zsh-plugins.
Thanks

It's done!


Audio Transport now species: 'transformer2'

(the 2 is for 2 audio inputs, not a ++)
This implements option 1 in: https://github.com/flucoma/flucoma-sc/issues/64

sorry @weefuzzy, i thought i had requested you a few days ago, but it seems i had not.


grpc-json-transcoder: fix test flake

Envoy will reset the stream when issuing a local reply, which seems to
cause the test client to segfault when sending the body (since the local
reply is triggered during headers). This avoids sending a body in the
case where we expect a local reply during headers.
Signed-off-by: Snow Pettersen<EMAIL_ADDRESS>Risk Level: Low
Testing: Ran the test >100 times, no failures with dbg and/or asan
Docs Changes: n/a
Release Notes: n/a
Platform Specific Features: n/a

/retest


Rest.post function submits raw string requests

Hi I found an issue with Rest.post submitting requests with raw strings yet the header is "application/json".
My user case is I need to submit a URL to a REST service. Using Rest's post function creates a request with a raw string body. The REST service's JSON parser rightly thinks the URL is a JSON object due to the colon after http.

I've created a fix and submitted in PR #155.

i wouldn't want to stringify a body x=x. that'll be then 0=h&1=%3D&2=h

@doktordirk Do you mean when stringifying form data?

more like stringifying allready stringified data. you stringify just everything there. a user might do
rest.post(url, 'x=y'), so the body is stringified already

I see. My original problem is I expected the aurelia-api to send valid JSON as it works out to append the "content-type:application\json" header for a raw string. Shouldn't it send "text\plain" or parse the string in to JSON?

we cannot cover all options. hence, we use 'sensible' defaults and most rest apis use JSONs. hence, the default content-type is application/json and objects get json.stringified.
for all other options, one would need to set the content-type oneself (see docs) and submit an appropriately transformed body

I don't understand the use case. @doktordirk do you?

not really. the PR JSON.stringify when the body isn.t an Object which makes no sense

@alxwest What are you trying to accomplish? Maybe we can help. I don't understand the question entirely.

I 'm sending a string value to a REST api that only supports valid JSON. Using the following code.
 this.apiEndpoint.post('api/values', 'somevalue');
Aurelia-api submits the request below.
POST example.com/api/values HTTP/1.1
...
content-type: application/json

somevalue

The body is not valid JSON but the following request is
POST example.com/api/values HTTP/1.1
...
content-type: application/json

"somevalue"

I assumed that aurelia-api would send valid JSON if it composed the request to use content-type application/json.

@alxwest how would it make a json from just a string? what's the key what's the value. minimum would be like
this.apiEndpoint.post('api/values', {'key':'value'})

@doktordirk Normally a string surrounded in quotes is parsed as a primitive string by most JSON parsers (that aren't set to strict).

@alxwest Normally a string surrounded by quotes is a string, where it contains quotes as a string. JSON is a string, without additional quotes surrounding it.

Also, a "word" as a string is not valid json.

so i case you need that, you'll need to use your own fork or change the Rest.prototype.request in your app to your liking


Implement Vue 2 support for v2.

Vue 2 support is still possible with some very very minor changes.
Are you open to supporting both?
I'd be happy to open a PR. This might see the folder structure change slightly to support both versions of Vue gracefully.

@hrynko - Rough proposal before I spend any time there. See detail and let me know your thoughts?
Workspaces set up in the repo
Vue 2 in workspace will sit in
@vue-pdf-embed/vue2
And consumed when published to npm via vue-pdf-embed/vue2/*
Vue 3 is consumed as normal under: vue-pdf-embed/*
proposed folder change:

packages/

core

@vue-pdf-embed/core
current project and associated ts / .vue
The ONLY minor change to the vue implementation is to switch out toValue to unref
Types - Look at adding a checked inMaybeRef (doesn't exist for vue 2).

vue2

@vue-pdf-embed/vue2
package.json

Will hold different Vue deps (vue 2) and vite build deps
will build output into packages/vue2/dist OR workspace root /dist/vue2 TBC

Friendly bump of that proposal @hrynko - thoughts?

to fix your trouble check this solution click
maybe this will solve your problem.

Hi @gkweb,
Thanks for describing your suggestion. This approach is quite similar to what we used in v1, which, unfortunately, brought maintenance challenges over time. For now, I’m more inclined to refine v1 rather than returning to that structure.
I appreciate your input — it’s always helpful to get fresh perspectives!


Refactor schema graph constructor (Work in progress).

Since we want to be able to construct SchemaGraphs multiple different types of databases, we must change the OrientDB specific constructor. To that end, I created the get_orientdb_schema_graph function and refactored the SchemaGraph constructor.
I will integrate other refactor-schema-graph PRs before merging this branch. This pull request is only to show a high level overview and get some preliminary feedback. Most of this PR is just copy paste. I've tried to include comments for when I made a particular design decision.

Coverage increased (+0.09%) to 93.856% when pulling 2cb4f15b0fba6ba8c75d2227bfa97cf577e5ca28 on refactor-schema-graph-constructor into ab3b9194e56ad69fae11176d382f3824d63d1c50 on refactor-schema-graph.


[WIP] Disabling animations when Visual is hidden

a benchmark would be great when this PR is finished so we know how much impact it would have :-)

This should bring a big improvement if you check your application doing nothing (i.e. you have a control with animation hidden so effectively nothing is visibly changing). Check your DWM.EXE process GPU usage (it should be fairly high on Windows). Also, check the rendering graph. It will render 60fps. i.e. the GPU work is as high as if the control is visible. A common use case is a hidden progress bar in indeterminate mode.


[Windows] Local database lock file gets into borked state

We've now had two instances where users running on Windows encountered a situation that seriously blocked their ability to continue developing. Other than being on Windows and using a slightly old (same dependency versions as my poll app) version of the template template.
The user was able to develop initially with the project, but at some point it became impossible to move forward. The following error is presented in the console.

Having encountered this error before (with @zolga on her Windows computer), it's very difficult to fix. I could not identify the process that was allegedly writing to the file, such as a duplicate server. After trying a ton of different solutions, we eventually resorted to a restart which may have helped but did not fix the problem in its own right. In Olgas case, we eventually identified that there was a package version mismatch that had occurred during a manual upgrade.
This is not  the case with the user who encountered the error today. The user sent me his non-working project and I am able to run it both on OSX and Linux without issue. His dependencies are not mis-aligned, they are at the exact versions used by my poll app.  A restart did not fix the issue.

This is no confirmation, but the DB architecture changed significantly in local-proxy 0.2.0 - need to watch if bug ever reproduces after.

@rylandg please reproduce or close


clarify that this is a choice, not two steps to follow

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


Bad darks on 20240918, 20240919, 20240920

There are several peculiar darks on 20240918-20240920.  This is doubtless related to power cycling those CCDs as part of replacing the collimators, but the darks look exceptionally bad---more than I remember being typical for VCCD cycling issues.
20240918 - r2 is a mess.  Note this device came back with new extremely hot pixels leading to bad columns, so this is perhaps not a surprise, but the dark more broadly also says that something bad happened to this device.   1 bright + some backup.
20240919 - r2 still recovering, r6 bad.  8 bright + some backup.
20240920 - r3 dark is bad.  3 bright + some backup.
These darks evolve from the evening to morning darks and so are instability-like problems we can't solve with a different dark; I don't think it's beneficial to try reprocessing with a different dark.  We should decide if we want to mark data bad on these nights.
I would ordinarily recommend throwing out r2 on 20240918 and r6 on 20240919 since they look really bad.  In all cases the sky redshifts and tileqa look fine to me, though; the bright targets are really helping.  But there will clearly be a lot of bad signal on those petals on those nights, and you can see it in the sky fibers on science exposures.  On 20240920, the signal in the darks is ~10x lower and it's harder to pick out of the sky sframes so my inclination would be to ignore it.
I will mark all of these nights as unsure pending the resolution of this issue.
20240918:

20240919:

20240920:

Let's go ahead and mark r2 bad on the 18th and r6 bad on the 19th, and ignore the 20th.  Then reprocess and we'll reQA.

@schlafly
re-processing of 20240918 and 20240919 is complete; nightqa updated. Please feel free to close the ticket.

I ve not carefully followed this ticket, but one remark:
I see that some tiles (listed below), observed on 20240918-19, have been observed on later nights.
I guess we d want to also re-process those (note that I consider here all exposures from 20240918-19; maybe we could exclude the (backup) ones which have EFFTIME_SPEC=0, as they shouldn t affect the later reduction; but, in doubt, it doesn t hurt to rerun few extra backup tiles).
e = Table.read("/global/cfs/cdirs/desi/spectro/redux/daily/exposures-daily.csv")
sel = (e["NIGHT"] == 20240918) | (e["NIGHT"] == 20240919)
tileids = np.unique(e["TILEID"][sel])
sel = (e["NIGHT"] >= 20240920) & (np.in1d(e["TILEID"], tileids))
e[sel]["NIGHT","EXPID","TILEID","EFFTIME_SPEC"]

returns:
 NIGHT   EXPID  TILEID EFFTIME_SPEC
-------- ------ ------ ------------
20240920 254153  27092        184.3
20240920 254154  27094         85.0
20240920 254155  27093        231.3
20240920 254157  42050         52.9
20240920 254158  41325         31.4
20240920 254159  41323         37.1
20240920 254160  41302         44.8
20240921 254373  40610         26.7
20240922 254582  40610         36.0

and on the safe side: those three bright tiles have QA="unsure", so they should not be a problem for a mtl update.
t = Table.read("/global/cfs/cdirs/desi/survey/ops/surveyops/trunk/ops/tiles-specstatus.ecsv")
t[np.in1d(t["TILEID"], [27092, 27093, 27094])]["TILEID", "EFFTIME_SPEC", "LASTNIGHT", "QA", "USER", "QANIGHT"]

returns:
TILEID EFFTIME_SPEC LASTNIGHT   QA     USER   QANIGHT
------ ------------ --------- ------ -------- --------
 27092        293.5  20240920 unsure schlafly 20240920
 27093        305.5  20240920 unsure schlafly 20240920
 27094        261.9  20240920 unsure schlafly 20240920

Thanks @araichoor. I missed this part. I have now re-processed all these tiles and updated the tsnr and nightqafor these nights as well.

thanks @abhi0395!

@SGontcho , can you reQA these?  Thanks!

I've re-marked 6 of the outstanding tiles correctly as good or none:
27092, 27093, 27094: good
27435, 27438, 27802: none
and committed the tiles-specstatus file. So, we're only waiting on 26377 before we can close out this ticket.

Luckily it was just a job timeout issue. I was able to push tile 26377 across the finish line. I've also rerun tsnr and nightqa.

Confirming that the final tile affected by bad darks (26377 on 20240919 with bad r6) has r6 purged and successful QA. Closing the issue.


fix dotnet nuget locals example in package restore troubleshooting

Fixes: https://github.com/NuGet/docs.microsoft.com-nuget/issues/2055

Docs Build status updates of commit 76f47c3:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/consume-packages/Package-restore-troubleshooting.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


(team) Unable to initialize the TF executable. Please verify the installation of Java and ensure it is in the PATH. (Error occurred during initialization of VM Could not reserve enough space for 2097152KB object heap)

VSCode Version: Code 1.15.1 (41abd21afdf7424c89319ee7cb0445cc6f376959, 2017-08-16T18:07:25.676Z)
OS Version: Windows_NT x64 10.0.16278
Extensions:

Extension
Author (truncated)
Version

team
ms-
1.122.0

gitflow
vec
1.1.1

Steps to Reproduce:

Reproduces without extensions: Yes/No

Please provide enough details for us to understand and repro the issue.

Installed TFVC Extension. Tried to do Team: sign in. Java is installed and in the path. Path is configured for local TEE.

Ok, please open an issue on their repo: https://github.com/Microsoft/vsts-vscode


Add support for Django 1.10 style middlware via MiddlewareMixin

See https://docs.djangoproject.com/en/1.10/topics/http/middleware/#upgrading-pre-django-1-10-style-middleware
Catch import error for Django versions < 1.10
Inspired by https://github.com/zestedesavoir/django-cors-middleware/pull/25/files
Update docs to use MIDDLEWARE instead of MIDDLEWARE_CLASSES for Django >= 1.10

Looks good. I haven't run it, but I don't see any reason why it won't work, the middleware is pretty simple, so using the mixin is the right way to do it.

Django 1.10 users still have the option to use the deprecated MIDDLEWARE_CLASSES - both the old and new style middleware should be supplied.

@tommikaikkonen: This middleware implements both styles in the same class, so it meets your requirement. It uses MiddlewareMixin, which Django uses itself, so that it can provide both interfaces easily.

Ah, didn't realize that - thanks for the clarification.

@ryanhiebert Running it on our staging setup with HireFire currently— trying to figure out a good way to test this for both >=1.10 and <1.10 targets— let me know if you have any suggestions!

Just uninstalling Django 1.10 and installing Django 1.9 should do that, just see if it works. The bigger thing that I want to confirm is that it works, on 1.10+, for both the MIDDLEWARE and MIDDLEWARE_CLASSES settings, depending on what a project is using.

@ryanhiebert Sorry for the delay over the weekend— currently traveling and just got decent internet. I tested that our HireFire setup (Django with CeleryProcs on Heroku) works with this installed. Locally, I tested both MIDDLEWARE and MIDDLEWARE_CLASSES in Django 1.10 and MIDDLEWARE_CLASSES in Django 1.9, verifying that the Hirefire middleware is loaded correctly by unsetting HIREFIRE_PROCS to see if it raises an exception:
django.core.exceptions.ImproperlyConfigured: The HireFire Django middleware requires at least one proc defined in the HIREFIRE_PROCS setting.

Django 1.10.1
When only MIDDLEWARE is set:
# settings.py
MIDDLEWARE = (
    ''hirefire.contrib.django.middleware.HireFireMiddleware',
    ...
)

HIREFIRE_PROCS = [
    'myproject.procs.WorkerProc',
    ...
]

Django will show the following warning:
WARNINGS:
?: (1_10.W001) The MIDDLEWARE_CLASSES setting is deprecated in Django 1.10 and the MIDDLEWARE setting takes precedence. Since you've set MIDDLEWARE, the value of MIDDLEWARE_CLASSES is ignored.

When only MIDDLEWARE_CLASSES is set, no such warning appears and the HireFire middleware is loaded correctly.
# settings.py
MIDDLEWARE_CLASSES = (
    'hirefire.contrib.django.middleware.HireFireMiddleware',
    ...
)

# HIREFIRE_PROCS not set

# Will raise an ImproperlyConfigured exception for HIREFIRE_PROCS, which shows out middleware was loaded

If both are set, MIDDLEWARE takes precedence and MIDDLEWARE_CLASSES is ignored and it works correctly:
# settings.py

MIDDLEWARE = (
     'hirefire.contrib.django.middleware.HireFireMiddleware',
)

MIDDLEWARE_CLASSES = (
   # HireFireMiddleware not included
    ...
)
# HIREFIRE_PROCS not set

# Will raise an ImproperlyConfigured exception for HIREFIRE_PROCS, which shows out middleware was loaded

Django 1.9.4
Django 1.9.4 ignores MIDDLEWARE and only looks at MIDDLEWARE_CLASSES, and the Hirefire middleware works properly, again as confirmed by it raising the ImproperlyConfigured error:
MIDDLEWARE = (
)

MIDDLEWARE_CLASSES = (
    'hirefire.contrib.django.middleware.HireFireMiddleware',
    ...
)

# HIREFIRE_PROCS not set

# Will raise an ImproperlyConfigured exception for HIREFIRE_PROCS, which shows out middleware was loaded

It sounds like you've confirmed that it works correctly, awesome! I have one question: you said that when only MIDDLEWARE was used, it gave a warning, but didn't mention any such warning when both MIDDLEWARE_CLASSES and MIDDLEWARE were being used. That's intended to be the other way around, where the warning is only given if both MIDDLEWARE and MIDDLEWARE_CLASSES are expected.
If that's really the behavior you're seeing, I don't see it as a bug in this work, but it's not what I expected to see, and points to some possible confusion that I'd like to get cleared up.

@ryanhiebert
Did some more testing with this— I screwed up the test with both of them set. We have slightly more complex settings (with settings/base.py, settings/local.py, settings/staging.pyandsettings/production.py). With both MIDDLEWAREandMIDDLEWARE_CLASSESset, the warning is definitely raised. However, when justMIDDLEWARE` was set, it still gave the warning, which I found interesting, so I did some more diging.
The specific check in Django looks at:
if settings.MIDDLEWARE is not None and settings.MIDDLEWARE_CLASSES != global_settings.MIDDLEWARE_CLASSES:

It turns out locally, I had django-debug-toolbar installed, which was adding debug_toolbar.middleware.DebugToolbarMiddleware to settings.MIDDLEWARE_CLASSES even if it wasn't set, causing it to defer to global_settings.MIDDLEWARE_CLASSES
In [1]: from django.conf import global_settings, settings

In [2]: settings.MIDDLEWARE_CLASSES
Out[2]:
[u'debug_toolbar.middleware.DebugToolbarMiddleware',
 u'django.middleware.common.CommonMiddleware',
 u'django.middleware.csrf.CsrfViewMiddleware']

In [3]: global_settings.MIDDLEWARE_CLASSES
Out[3]:
[u'django.middleware.common.CommonMiddleware',
 u'django.middleware.csrf.CsrfViewMiddleware']

Once I commented that out of installed apps locally, it works as expected and does not raise the warning if only MIDDLEWARE is set:
In [1]: from django.conf import global_settings, settings

In [2]: global_settings.MIDDLEWARE_CLASSES
Out[2]:
[u'django.middleware.common.CommonMiddleware',
 u'django.middleware.csrf.CsrfViewMiddleware']

In [3]: settings.MIDDLEWARE_CLASSES
Out[3]:
[u'django.middleware.common.CommonMiddleware',
 u'django.middleware.csrf.CsrfViewMiddleware']

Awesome, thank you for resolving that.
@jezdez, this looks good to me.

Looks like the above issue with django-debug-toolbar was also documented here and resolved/merged 14 days ago

Ping @jezdez @ryanhiebert Let me know if there's anything else I can do to help get this merged in! Thanks!

@jezdez mentioned adding me as a maintainer, but that hasn't happened yet, so I can't merge this myself. We'll have to wait on @jezdez to have some time.

@ryanhiebert Oddly I thought I already invited you, apologies for the delay!

@jezdez: Thanks! How do you prefer to merge, with a merge commit, or squash? How would you like releases to work?


Unable to use plugin on MusicBrainz Picard

I'm unable to add the API key from APIseeds to the Picard.
The documentation for Picard indicated that upon installing a plugin I should be able to find some sort of options to interact with the settings of an API(including adding API keys). This, however, wasn't possible with your plugin.
Any help as to how to use the plugin on Picard would be helpful. @avalloneandrea

In order to set your API key you should (a) open the Preferences pane, (b) expand the Plugins item by clicking the arrow you can see before the text, and finally (c) select the Apiseeds Lyrics item.

Windows user here, after installation the plugin gets automatically deactivated.
Reactivating the plugin does nothing and there is no sign of the drop-down arrow even when I reactivate the plugin.

I've just made a fresh install of Picard on a PC with Windows, and I've installed the plugin flawlessly. Have you tried uninstalling and reinstalling Picard? If it doesn't work, then (a) uninstall the plugin, (b) open the log (Help > Show error/debug log), (c) set the verbosity to debug, (d) reinstall the plugin, and (e) share what the log says.


Replace global enums with Execution Policies

In the C++ library there are overloads to the functions with execution policies.
template<class ExecutionPolicy, class RandomIt, class Compare>
void sort(ExecutionPolicy&& policy, RandomIt first, RandomIt last, Compare comp);

These policies essentially are similar to the access_mode, memory_mode, and quantify_mode global enums. We should adopt this style. To this end, we should create an exec_policy class in the public adiar:: namespace which defines the enum settings and allows one (with operator overloading) to combine them.
Then we would have something that looks as follows.
bdd f = bdd_exists(exec_policy::access::Internal & exec_policy::quant::Nested,
                   f,
                   vars.begin(), vars.end());

The only thing this denies the end user to do, is to use the operator overloading ^, &, ... with a non-default policy. Yet, these policies are only really to be used as part of our research and not by the end user. So, restricting the end user in that way might be fine.

The exec_policy class can maybe take inspiration from the tpie::flags class. But, this might not be useful since we do not just care binary flags for different options, but rather multiple values per "option". Yet, immediately packing everything into a single 64-bit integer might just be classified as preemptive optimisation.

I'll move it to v3.0 - primarily due to the fact, that the primary benefits of this change (even if added as part of v2.0) is ensuring thread safety.


Remove JavaScript Injection.

I checked one more thing was encoding. What do you say like which method you prefer?


Removes feg-related charms

Description
Removes veg-related charms.
Checklist

[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[ ] I have made corresponding changes to the documentation.
[ ] I have added tests that validate the behaviour of the software.
[ ] I validated that new and existing unit tests pass locally with my changes.
[ ] Any dependent changes have been merged and published in downstream modules.
[ ] I have bumped the version of any required library.

Do we want to remove these charms from edge too?

Do we want to remove these charms from edge too?

I think we do. There's no plan to tackle feg any time soon, and for doing changes in which you have to grep globally across the repo they are a bit of a pain. Besides, we can always bring those back if something happens and we want to go ahead with feg.


Replace transpose and permutedims with adjoints to avoid copying data every time

User worried about optimal performance will not be able to get it with a column-oriented tabular format in any event, as MultivariateStats likes observations as columns (and by definition, observations in tables are rows). Assuming the user starts with a matrix, X, they can always avoid a copy under the current proposal by wrapping Tables.table(X'), assuming columns are observations. If rows are observations, there is no way to get efficiency (even using MultivariateStats directly) and the user can manually permute the dimensions before wrapping the adjoint of the result  for use by the MLJ wrapped model. (If memory is not an issue, I presume this is generally faster than just wrapping X directly.)
See also this note in the manual.
TODO:

[x]  LDA and Bayesian LDA (needs https://github.com/JuliaStats/MultivariateStats.jl/issues/192)
[x] All other models with transpose

Noticed that unfortunately MultivariateStats' MulticlassLDA does not support adjoints, but I've made a request.

Resolved by #51


countBy

https://lodash.com/docs/4.17.15#countBy

implemented by https://github.com/shogo82148/hi/pull/175


Add Asynchronous Parsing

There are opportunities to improve the speed of the parser and generator by taking advantage of modern JavaScript techniques

Support Asynchronous parsing of EDI
Add generator function for building EDI strings

Closing, as work will eventually continue in the JS-EDI project.


[Feature request] fill shapes

Today it seems that shapes are only for cutting and inline images only for engraving.
One workaround is to use inkscape to export a rasterized image and import it in the document with matching positions.
It would be great to have this as an option, even if requiring inkscape as a dependency.

Yes, I do it using svg2gcode directly by working the original SVG to contain "double information" (for the outline and for the "_image" rendering).
This could also be done incrementally:

making the feature using inkscape command line (so this feature would have additional dependency)
(optionally) reworking it until similar  can be made with built-in code - but is it really worth it ? Most people will have inkscape I guess (or can install it) if they really want this feature ;)

I am not sure I follow. You can combine the gcode files, the _image and non image one to one gcode file and print that in one go.
Why (and how) would you want to combine .svg files?
What I meant was to make one .svg document (via Inkscape for example) containing the outline and the image and write that out as a .png (one image containing all info). This png file can be printed directly via image2gcode. (It can of course be imported by Inkscape and printed via svg2gcode, but why would you? image2gcode used the same engine as svg2gcode.)

The answer is simple: to avoid extra manual steps.
If I understand the method using svg2gcode and image2gcode  (both using svgToGcode or something) I see a problem, beside two commands (+ edition to make it one gcode, indeed an option can be interesting for images, I use low power for borders) : the image2gcode will not have any offset, while the original svg drawing could be misaligned / needs to be aligned perfectly in the editor.
With the 2nd part, I understood you just use image2gcode, but here I use a low power "cut" for a nice finish of the outlines...

Today it seems that shapes are only for cutting and inline images only for engraving.
One workaround is to use inkscape to export a rasterized image and import it in the document with matching positions.
It would be great to have this as an option, even if requiring inkscape as a dependency.

I have a few ideas how to get shapes (paths) to fill and have stroke. Currently fill and stroke info is not added to the curve objects that represent paths. Also all path are lumped together which makes it difficult to apply specific properties. So the code has to be updated for that. Rendering 'stroke' comes down to shifting lines around the centreline (line part) at a multiple of 'pixelsize' (until half stroke width is reached); rendering 'fill' is similar to rendering 'stroke' until the center of the path is reached. Of course 'fill' and 'stroke' use the color set for it.
Color patterns and stripes etc, will take additional steps to implement.

I stumbled upon https://github.com/pjpscriv/py-svg2gcode/ - it could be good maybe to share efforts ?
Unrelated to this topic (it would be great to reach you on discord or similar for off-topic discussions btw), I worked on an halftone converter recently and start to be happy with the result while keeping a low code complexity. I'll make some engraving tests first (I couldn't use it a lot recently) but if I can conclude with something really good, would you be interested in a pull request ? I couldn't find a simple tool to do it, so I think it can be a great addition (behind an optional cmdline flag).
For this to work, I would need to work on a surface which have the "optimal dpi" (given the provided pixelsize) - if you can advice about it you are very welcome to do so ;)

I stumbled upon https://github.com/pjpscriv/py-svg2gcode/ - it could be good maybe to share efforts ?

Interesting, a bezier conversion (svg2gcode uses line segments, from a path conversion done by Inkscape), but I think line width is not included. I'll do some tests.

Unrelated to this topic (it would be great to reach you on discord or similar for off-topic discussions btw), I worked on an halftone converter recently and start to be happy with the result while keeping a low code complexity. I'll make some engraving tests first (I couldn't use it a lot recently) but if I can conclude with something really good, would you be interested in a pull request ? I couldn't find a simple tool to do it, so I think it can be a great addition (behind an optional cmdline flag).
For this to work, I would need to work on a surface which have the "optimal dpi" (given the provided pixelsize) - if you can advice about it you are very welcome to do so ;)

Build in halftoning is a good idea, because it should be done on the image right before it is converted (no resizing after this). Option --showimage (of svg2gcode) can show this halftone conversion (it already shows image resize) right before a direct pixel translation to the gcode image. This makes the halftone effect visible as is and the conversion predictable.
So the right dpi is determined by the pixelsize and the image is resized accordingly by svg2gcode, directly after this step halftone conversion takes place (the image keeps its pixerate) after which conversion to gcode takes place.

Halftone directly in inkscape ? I made this https://github.com/fdev31/firedot which works really good with image2gcode !

Halftone directly in inkscape ? I made this https://github.com/fdev31/firedot which works really good with image2gcode !

That looks really good! Nice work.

Added evenodd fill.


[Fix][UI Next][V1.0.0-Alpha] Home white screen bug

close #9160

Codecov Report

Merging #9161 (e95a38f) into dev (0868a81) will decrease coverage by 0.00%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                dev    #9161      +/-   ##
============================================
- Coverage     40.28%   40.28%   -0.01%
+ Complexity     4367     4366       -1
============================================
  Files           808      808
  Lines         32569    32569
  Branches       3650     3650
============================================
- Hits          13122    13119       -3
- Misses        18218    18220       +2
- Partials       1229     1230       +1

Impacted Files
Coverage Δ

...e/dolphinscheduler/remote/NettyRemotingClient.java
50.70% <0.00%> (-2.82%)
:arrow_down:

...er/master/dispatch/host/assign/RandomSelector.java
83.33% <0.00%> (+5.55%)
:arrow_up:

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 0868a81...e95a38f. Read the comment docs.


Update zsh config

Description

Plugin laravel5 not found in zsh plugin list.
The executable command for the composer package could not be found. For example 'laravel new xxx'. The zsh composer plugin solves this problem.## If Composer not found, try to add known directories to $PATH
if (( ! $+commands[composer] )); then
  [[ -d "$HOME/.composer/vendor/bin" ]] && export PATH="$PATH:$HOME/.composer/vendor/bin"
  [[ -d "$HOME/.config/composer/vendor/bin" ]] && export PATH="$PATH:$HOME/.config/composer/vendor/bin"

  # If still not found, don't do the rest of the script
  (( $+commands[composer] )) || return 0
fi

Motivation and Context
worksapce zsh
Types of Changes

[X] Bug fix (non-breaking change which fixes an issue).
[ ] New feature (non-breaking change which adds functionality).
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected).

Definition of Done Checklist:

[X] I've read the Contribution Guide.
[ ] I've updated the documentation. (refer to this for how to do so).

Name
Description

composer
PHP dependency manager https://getcomposer.org

laravel
PHP deployment tool artisan completion https://laravel.com/docs/master/artisan

phing
Ant-like build system for PHP https://phing.info

symfony
PHP webframework https://symfony.com

symfony2
PHP webframework https://symfony.com

yii
PHP webframework https://yiiframework.com

yii2
PHP webframework https://yiiframework.com


chore(deps): update module github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod to v1.0.1070 (master)

This PR contains the following updates:

Package
Type
Update
Change

github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod
require
patch
v1.0.1069 -> v1.0.1070

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

⚠ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

any of the package files in this branch needs updating, or
the branch becomes conflicted, or
you click the rebase/retry checkbox if found above, or
you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:
File name: go.sum
Command failed: go get -d -t ./...
go: -d flag is deprecated. -d=true is a no-op
verifying<EMAIL_ADDRESS>checksum mismatch
	downloaded: h1:Y0RJ/Y5g5wJpkTisOtqwDSo4HwhGmLB4VQSw2sQJLHk=
	go.sum:     h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk=

SECURITY ERROR
This download does NOT match an earlier download recorded in go.sum.
The bits may have been replaced on the origin server, or an attacker may
have intercepted the download attempt.

For more information, see 'go help module-auth'.


Rename .devcontainers for CUDA 12.5

Follow up to PR: https://github.com/rapidsai/cuvs/pull/219
Partially addresses issue: https://github.com/rapidsai/build-planning/issues/73
Renames the .devcontainers for CUDA 12.5
cc @KyleFromNVIDIA @jameslamb @trxcllnt (for awareness)

/merge

There was a Rust build that failed. AFAICT it is unrelated. So have restarted the failed job
All other jobs (notably devcontainers) passed

Looks like the Rust test failed again on CI. Including details below:
failures:

---- brute_force::tests::test_l2 stdout ----
dataset [[0.81097364, 0.4042542, 0.1732477, 0.11109972, 0.7711954, 0.5231792, 0.7675905, 0.8451828],
 [0.8508154, 0.2352401, 0.87389743, 0.5255909, 0.6969732, 0.96480215, 0.46322083, 0.8775146],
 [0.6242082, 0.27940488, 0.43163383, 0.21844089, 0.94825625, 0.99305546, 0.47377062, 0.28023505],
 [0.19831514, 0.77183366, 0.9391105, 0.53092694, 0.232113, 0.09186947, 0.78148425, 0.06250918],
 [0.53566515, 0.16259205, 0.24534285, 0.31741905, 0.99039245, 0.7230853, 0.8637171, 0.096060276],
 [0.3678999, 0.7001929, 0.19835556, 0.9501139, 0.99442196, 0.9459655, 0.10938239, 0.047341585],
 [0.4681635, 0.7047337, 0.35572946, 0.71434844, 0.2488432, 0.15541363, 0.41937304, 0.9687784],
 [0.7060921, 0.23219562, 0.40222728, 0.80279124, 0.6736349, 0.78186476, 0.3835566, 0.11797321],
 [0.020785451, 0.94376266, 0.7444314, 0.12845302, 0.45288575, 0.5948745, 0.89268374, 0.34766328],
 [0.8805791, 0.043615222, 0.6283814, 0.16936636, 0.9136716, 0.6679013, 0.8216481, 0.8595545],
 [0.31544054, 0.1495012, 0.58272576, 0.123707056, 0.98622954, 0.5793232, 0.44868243, 0.90158916],
 [0.8883631, 0.91730726, 0.52942824, 0.1320808, 0.19436598, 0.15016079, 0.82995546, 0.9265454],
 [0.65156007, 0.6887785, 0.064676285, 0.8062316, 0.20832741, 0.28438735, 0.16018808, 0.25138187],
 [0.010611773, 0.15702486, 0.7581855, 0.98612225, 0.75618684, 0.3032421, 0.51268864, 0.842196],
 [0.27638948, 0.091582775, 0.101504445, 0.9958576, 0.07357526, 0.78690946, 0.30835187, 0.8245758],
 [0.2275697, 0.82574964, 0.28654695, 0.49835622, 0.29554522, 0.67181885, 0.78702605, 0.30084538]], shape=[16, 8], strides=[8, 1], layout=Cc (0x5), const ndim=2
queries! [[0.81097364, 0.4042542, 0.1732477, 0.11109972, 0.7711954, 0.5231792, 0.7675905, 0.8451828],
 [0.8508154, 0.2352401, 0.87389743, 0.5255909, 0.6969732, 0.96480215, 0.46322083, 0.8775146],
 [0.6242082, 0.27940488, 0.43163383, 0.21844089, 0.94825625, 0.99305546, 0.47377062, 0.28023505],
 [0.19831514, 0.77183366, 0.9391105, 0.53092694, 0.232113, 0.09186947, 0.78148425, 0.06250918]], shape=[4, 8], strides=[8, 1], layout=Cc (0x5), const ndim=2
distances [[4.801714, 5.3481693, 5.5112553, 5.521906],
 [5.9866557, 6.5331116, 6.696197, 6.706847],
 [4.656335, 5.2027903, 5.365876, 5.376527],
 [4.242078, 4.788533, 4.951619, 4.96227]], shape=[4, 4], strides=[4, 1], layout=Cc (0x5), const ndim=2
neighbors [[12, 15, 3, 14],
 [12, 15, 3, 14],
 [12, 15, 3, 14],
 [12, 15, 3, 14]], shape=[4, 4], strides=[4, 1], layout=Cc (0x5), const ndim=2
thread 'brute_force::tests::test_l2' panicked at cuvs/src/brute_force.rs:164:9:
assertion `left == right` failed
  left: 12
 right: 0
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

failures:
    brute_force::tests::test_l2

test result: FAILED. 13 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.63s


make possible to extend class dynamicly via namespace or interface

Search Terms
static, methods, class, dynamically,
Suggestion
It would be really nice to be able to extend class types via namespace or interface, without creating a new class:
class newClass extends oldClass - not like this
declare module './oldClass' {
  interface oldClass {
    map(value: string): string;
    static map(value: string): string;
  }
}

declare module './oldClass' {
  namespace oldClass {
    static function map(value: string): string;
    function map(value: string): string;
  }
}

Use Cases
extending classes like this can make creating and adding plugins much easier. You don't need to take another class to add one function. (it becomes problematic when you want to add more than 1 plugin)
Examples
declare module './oldClass' {
  interface oldClass {
    map(value: string): string;
    static map(value: string): string;
  }
}

oldClass.map = function(f) {
  return f;
};

oldClass.prototype.map = function(f) {
  return f;
};

Current solution
declare module './oldClass' {
  namespace oldClass { // allows adding static methods
    function map(value: string): string;
  }
  interface oldClass { // allows adding methods to prototype
    map(value: string): string;
  }
}

oldClass.map = function(f) {
  return f;
};

oldClass.prototype.map = function(f) {
  return f;
};

Checklist
My suggestion meets these guidelines:

[ x ] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[ x ] This wouldn't change the runtime behavior of existing JavaScript code
[ x ] This could be implemented without emitting different JS based on the types of the expressions
[ x ] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
[ x ] This feature would agree with the rest of TypeScript's Design Goals.

Although it might look like a duplicate (and some parts are duplicating) - there is no actual solution for extending static methods of a class, and this issue proves, that some workaround is actually ridiculous.

I can't tell what you're trying to do or what the deficits of the current options are. It's a bit confusing because extends means both "inherit" and "augment" and it's not clear which you mean

@RyanCavanaugh sorry for making it unclear.
I want to add new methods (normal and static ones) to a class, but I don't want to use extends.
So this is what I want to do:
oldClass.prototype.myNewMethod = someFunction
oldClass.myNewStaticMethod = someFunction

What I don't want to:
class newClass extends oldClass {
   myNewMethod(){}
   static myNewStaticMethod(){}
}

I just wonder if there is some easy way to add new methods to existing class and adding theirs declarations in Typescript (since for now I'm using both namespace and interface to handle it)

I ran into something similar with dayjs plugins.
import dayjs from 'dayjs'
import utc from 'dayjs/plugin/utc' // dependent on utc plugin
const timezone = require('dayjs/plugin/timezone')
dayjs.extend(utc)

// Maybe there is a more ergonomic way to do this?
const withTz = (dayjs.extend(timezone) as unknown) as dayjs.Dayjs & {
  tz: ((tz: string) => typeof dayjs) & { guess: () => string }
}

const offset = dayjs().utcOffset()
console.log(withTz.tz.guess(), offset)

For libraries that do namespace(?) extension like jQuery used to, it's pretty painful setting up typings. You either get all the plugin types, or none of them.
https://stackoverflow.com/a/23225358/1924257 points out the need for a new class to extend an existing and third party interface.

The answer here is "declaration merging"


French: "Cette page existe aussi dans les langues suivantes"

Pages such as CC BY's are offered in several languages. In French, the language chooser has the following label:

Cette page existe aussi dans les langues suivantes

This label is followed by the option "français", which is in fact the default value. This looks strange (in English, this would read "This page is also available in the following languages").
The English version is:

This page is available in the following languages

...which would translate to French as simply:

Cette page existe dans les langues suivantes

Our translations are crowdsourced via https://www.transifex.com/creativecommons/public/. I've updated this particular translation according to your suggestion (thank you!) and it should sync with the website in the next day automatically.
If you have the time, I'd encourage you to directly contribute to French translations via Transifex :)

Looks like the translation has synced: https://github.com/creativecommons/cc.i18n/commit/5af479a2fb707e6bd017f228550379d9c0a2ce9d. Closing this issue.

Thank you kgodey, that did fix the issue. However, a space should be kept before each colon in French.


Search page expenses showing Personal in To field and "not found" message when opening

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: v9.0.1-12
Reproducible in staging?: y
Reproducible in production?:
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @shawnborton
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1719219088507519
Action Performed:

Open app
Click search
verify the TO field
Open the expense

Expected Result:
Personal shouldn't be displayed and clicking on it should show the expense
Actual Result:
Hmm not there page appears
Workaround:
unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos

https://github.com/Expensify/App/assets/38435837/cb8fbf2b-b662-4ea2-b087-9d96096d9470

View all open jobs on GitHub

I think we can close this one. These were old test expenses. We already have another issue to work on the deleted/moved transactions.

Makes sense to me.


DeckGL (Scripting) 5.3 doesn't fire onHover event for last frame

In DeckGL (Scripting) v5.2, when listening to the onhover event on a pickable IconLayer, an event is fired when leaving the icon with picked: false, and index: -1
In 5.3 (Scripting), this is no longer the case.
In my gist linked below, (once you populate mapbox details) in deck5.2.html the popup appears and disappears. This isn't the case in deck5.3.html which uses the exact same code
Actual Result
Popup gets frozen
Expected Result
Popup gets removed
Reproduce Steps
Populate an IconLayer with data and set to pickable: true, register an event handler and listen to picked and index with the callback.
Gist with reproduction
Codepen that can be forked with mapbox details and changed deckgl version in head

@ibgreen @georgios-uber this may be related to the deep picking refactor

Follow up:
https://github.com/uber/deck.gl/blob/master/modules/core/src/lib/pick-layers.js#L95
break prevents empty picking results from triggering hover events.

@Pessimistress Thanks, should be straightforward from here on. Assigning to @georgios-uber and myself.

When will this be fixed? This is blocking kepler.gl upgrading to deck.gl v5. :)

When will this be fixed?

Ambition is to get this fixed today and get a 5.3 patch release out this week.

Working on this... Will be done by today EOD.

@SinZ163 @heshan0131 When I run the layer browser example I cannot reproduce the issue.

OK, looks like onLayerHover of <DeckGL /> is working fine.
Only onHover of layer is broken.

Fixed.


[WIP] Address source code analysis suggestions

Fixes #2109 after running "Code Analysis" in IntelliJ IDEA

build

I am a little nervous about a few changes where we make bigger structural changes (like switching over to withResources or other places where the changes are not obvious to me what is happening or why it was changed changed). The problem for me is that there is just so much in terms of changes in here that I am sure I am missing looking deeply at some of the areas that I should.

I'll split the PR up into more review-able units.

Closing in favor of the smaller sub-PRs:

#2222
#2206
#2192
#2210
#2172
#2168


use e2 instances in GCE creation scripts

Update GCE VM creating script with the desired machine type (e2 is more efficient than n1). This doesn't affect existing VMs, but prevents folks from creating new n1 instances by accident in the future.

The scripts I updated actually don't run on the CI at all, so test failures are definitely unrelated.
Merging.