CHECK_THROWS() with exceptions on construction?

Suppose this:
TEST_CASE("Blah")
{
    CHECK_THROWS(MyClass mc("foo"))
    CHECK(mc.Stuff() == "Stuff")
}

I can't use mc because it's out of scope. I need a way to check construction of an object for throws. How do I do this with this test framework?

@rcdailey That's not really possible in C++, regardless of the testing framework. If a constructor throws an exception then the object basically doesn't exist. Even if you could put CHECK() in the same scope as mc, it would never be reached because exception handling would take over.
Useful article by Herb Sutter which explains this better than I could: http://herbsutter.com/2008/07/25/constructor-exceptions-in-c-c-and-java

I understand how exceptions work, what I'm specifically wanting to check is whether or not something throws, but if it doesn't, it should continue to execute the other CHECK assertions. My example is pretty poor, but basically if you swap out the first assertion for CHECK_NOTHROW it makes more sense.
The test framework should allow me to verify NO exceptions are thrown and continue to execute assertions based on the defined variable. But there is no mechanism right now for that. We'd basically need something like this:
BEGIN_CHECK_NOTHROW();
MyClass mc("foo");
END_CHECK_NOTHROW();
CHECK(mc.Stuff() == "Stuff");

Right now I'm having to work around this by constructing two objects:
CHECK_NOTHROW(MyClass{"foo"});
MyClass mc{"foo"};
CHECK(mc.Stuff() == "Stuff");

@rcdailey What about:
std::unique_ptr<MyClass> mc;
CHECK_NOTHROW(mc.reset(new MyClass{"foo"}));
CHECK(mc->Stuff() == "Stuff");

@kirbyfan64 Nice, but might throw std::bad_alloc or a derivative thereof

@nabijaczleweli Ok then...how about something like:
char storage[sizeof(MyClass)] alignas(MyClass);
MyClass* mc = &storage;
CHECK_NOTHROW(new (mc) MyClass);
CHECK(mc->Stuff() == "Stuff");

Really, though, I doubt you'd need to worry about throwing std::bad_alloc in this case. I mean, strings and all allocate memory anyway, so it's just as likely they'll throw that error.

That's horrible and unintuitive. Not a valid solution as far as I'm
concerned.
On Mon, Nov 9, 2015, 5:48 PM Ryan Gonzalez<EMAIL_ADDRESS>wrote:

@nabijaczleweli https://github.com/nabijaczleweli Ok then...how about
something like:
char storage[sizeof(MyClass)] alignas(MyClass);
MyClass* mc = &storage;CHECK_NOTHROW(new (mc) MyClass);
CHECK(mc->Stuff() == "Stuff");
Really, though, I doubt you'd need to worry about throwing std::bad_alloc
in this case. I mean, strings and all allocate memory anyway, so it's just
as likely they'll throw that error.
—
Reply to this email directly or view it on GitHub
https://github.com/philsquared/Catch/issues/536#issuecomment-155235834.

@rcdailey Not even the first one? That's the best it's going to get. This is a C++ thing, not Catch.
There are benefits to manual memory control. This is not one of them! ;)

A macro based try catch is better for this as I suggested in my earlier example

@rcdailey Issue there is that standard C++ gives NO way of trapping an exception without opening a new scope.

First off - do you want to check for throwing or not-throwing (you started with the former then went on to talk about the latter)? This is important as the reasoning is different in each case.
If you want to check that the constructor throws, as your first example showed, then why do you need to do anything else with the object once constructed? The test would have already failed by the point. I see you are using CHECK instead of REQUIRE so the execution would continue - but that capability is intended for catching multiple orthogonal properties (e.g. several fields on a returned object). Here you're testing an invalid object.
If you want to check that the constructor doesn't throw then you have a few options. The simplest is to not use an assertion at all! Catch will still catch the exception thrown, translate it for reporting purposes, and mark the test as failed. The only downside is that you don't get the exact file/ line reported or the failing expression captured. But it's not bad for no effort and is usually the trade-off I make.
The second option has already been proposed: just use heap allocation. If you're worried about bad_alloc, as @nabijaczleweli suggested, I believe you are over-thinking it.
There is a third option, which is to move the code that uses the object off into another function. Either construct the object in the function too, or construct it at the call site and pass it in by const-ref. E.g.:
struct TestClass {
    int m_seven;

    TestClass( int seven, bool shouldThrow ) : m_seven( seven ) {
        if( shouldThrow )
            throw std::domain_error( "you asked for it!" );
    }
};

void verifySeven( TestClass const& obj) {
    REQUIRE( obj.m_seven == 7 );
}

TEST_CASE( "Constructors can be exception checked" ) {

    CHECK_NOTHROW( verifySeven( TestClass( 7, false ) ) );
    CHECK_THROWS( verifySeven( TestClass( 7, true ) ) );
}

The shortcoming of this, as written, is that if something in the function throws it would also be caught by the top level assertion (either as a false positive or a false negative). This could be addressed by using CHECK_THROWS_AS to test for a specific exception type or CHECK_THROWS_WITH to test the exception message. Either way this is spiritually the same as your split-macro proposal - but without the need for any additional syntax in Catch (note that your BEGIN/END aren't quite right as they'd have to expand to include try{ and }catch - thus creating a scope - so you'd have to move the other checks inside.

Again my first example was wrong, I apologize. My intention was to check that it doesn't throw. Basically I wanted to handle the case where if it throws, it stops. Otherwise, execution and further tests continue.
However (probably because it was Monday?), I had confused myself about this whole thing. I had forgotten that execution won't stop if it throws, so thank you for that.
What I've done is split my code into 2 test cases:
TEST_CASE("Throws Exception")
{
    CHECK_THROWS(TestClass{"Invalid Value"});
}

TEST_CASE("No Throwing; normal flow")
{
    TestClass tc{"Valid Value"};
    CHECK(tc.Stuff() == "Stuff");
}

This makes more sense and we track the 2 scenarios separately.
I don't want to use the heap because IMHO, especially for test driven development, the test should also represent how objects are meant to be used. This object specifically doesn't need to be on the heap. Many people write tests before writing their class interfaces, and it doesn't make sense to "hack" the test by using the heap for objects when it isn't necessary.
I feel the solution I'm using now makes more sense from a test-case perspective, so I'll go ahead with that.

@kirbyfan64 Nice one (the aligned storage method)

All that talk of heap allocations and now I'm going to Garbage Collect this issue ;-)
It looks like it was resolved to @rcdailey's satisfaction - and that was a year ago.
But if you feel there was any more to discuss please feel free to re-open or raise a new issue.


[8.x] Always attempt to gracefully exit queue:worker

This completes the implementation of https://github.com/laravel/framework/pull/32889 with some additional end-to-end test coverage to run a complete php artisan queue:work command.
This may fix https://github.com/laravel/telescope/issues/577 since a 'terminating' hook is registered in Laravel\Telescope\ListensForStorageOpportunities@storeEntriesBeforeTermination() to save Telescope entries. Job event listeners should cover entries being saved but I think the below cases may leave gaps when Telescope storage is skipped.
App::terminating() callbacks don't get called in some cases when queue:worker is shutdown:

memory limit exceeded
php artisan queue:restart has been called
the database connection is lost
--stop-when-empty option is enabled
on SIGTERM interruption

Instead of immediately calling exit(), bubble a PHP script exit code up to WorkCommand@handle(). Gracefully exiting allows Laravel's application state to be cleaned up.

SIGALRM interruptions still call exit() (and won't invoke App::terminating()) since it's run asynchronously and doesn't allow the current job to complete.
I'm not sure why WorkCommand@runWorker() was annotated @return array since the call stack would always return null.

Ping @fideloper

Looks good here! I'm happy to close out my PR for this ✅

Thanks @derekmd!


chore(example): created example to add rules in security groups

Description
Addition of example to add rules to the kube- and kube- security groups.
Types of changes in this PR
No release required

[x] Examples or tests (addition or updates of examples or tests)
[ ] Documentation update
[ ] CI-related update (pipeline, etc.)
[ ] Other changes that don't affect Terraform code

Release required

[ ] Bug fix (patch release (x.x.X): Change that fixes an issue and is compatible with earlier versions)
[ ] New feature (minor release (x.X.x): Change that adds functionality and is compatible with earlier versions)
[ ] Breaking change (major release (X.x.x): Change that is likely incompatible with previous versions)

Release notes content
Created a new example to add rules to the kube-<vpc-id> and kube-<cluster-id> security groups
Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

Merge actions for mergers

Merge by using "Squash and merge".

Use a relevant conventional commit message that is based on the PR contents and any release notes provided by the PR author.
The commit message determines whether a new version of the module is needed, and if so, which semver increment to use (major, minor, or patch).

Results of the example executed locally attached below and also added to other_tests.go:
Test1RunAddRulesToSGExample.log

@jojustin Why did we create a release? There was no module code updated here. Just an example and test

Talked to Conall.  Examples need not have a release.


Block Launcher

So it seems like most mods using block launcher is very interesting, but I have an ios device and I want to play this on mcpe ios.  Can you please make an ios version of this?  Thxs if u can help :)

I don't think an IOS version is going to be made

Well I only have an ios device and is there a way it can be converted to ios?

Don't think so


Incompatiblility with v11

Hi. Great module. Thanks!
In Foundry v11 doesn't seem to work, looks like an issue with the new PIXI.

+1 to have this nice module updated to v11 if possible! :)

+1

+1

+1

+1

@pplans do you plan on still maintaining this? I might have interest in forking if not.

have a working version. There are some console warnings about a sound file. I will try to resolve that but should be able to put out a PR to get this module fixed!

Fabulous.  Well,done.
Kind regards,Wayne
On Friday, September 1, 2023, 7:29 pm, CodaBool @.***> wrote:
have a working version. There are some console warnings about a sound file. I will try to resolve that but should be able to put out a PR to get this module fixed!
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>

hi guys, yeah I plan to do so but have had troubles working on two parallel versions on my computer before and have no much time to digg it through. Am currently based on the stable version (10) until next release, you can make a PR I'll review it

Also, the sound file is an issue with the current state of the Foundry sound API which is kinda bad. I can't remember the details right now but it involved non cached memory for the sound boards, so each time you wanna play a sound it will try to load it. This process takes time and doesn't suit the sound for the motion tracker who needs high trigger precision

I have an implementation with AudioHelper, should have a PR out by end of today. We can discuss things once I have that made.

PR 🐱

PR is being reviewed, sorry for the delays, been sick & still at work :')

How can I install a working v11 version?

best to just wait for the PR to get merged
...but if you are feeling impatient the extra bug testing might be useful.

commands written assuming you have git installed and rm

install the v10 module
go to modules folder on your server for me this is .../Data/modules/
delete the motion_tracker folder
clone my fork git clone https://github.com/CodaBool/motion_tracker.git
make sure you have the module enabled and restart your server.
:sunglasses: should be using a v11 working version

if you run into any issues with the v11 version it'd be useful to know on that pr I opened.

Hi guys, the v11 migration should be online, thanks CodaBool for his efforts. Please let me know if we can close the issue

On a quick check the audio volume controls and the checkbox to ignore PCs don't seem to work. Other than that, it's great to have this module back!

Awesome, glad it's mostly working. I know why both those bugs are happening. Those should be straightforward fixes. I could probably put out a PR before the end of the month for those.

ok so am closing this issue then, we can make a second for the checkbox


v4.2.1

Codecov Report

Merging #146 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master   #146   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           5      5
  Lines          68     68
  Branches       13     13
=====================================
  Hits           68     68

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 8c712ca...bcb5ca6. Read the comment docs.


Construction of GTOs from exponents and coefficients in PySCF

Hi everyone,
as part of a private project I am currently trying to reconstruct the gto.eval_ao function. That requires me to manually build the GTOs associated with the respective basis sets. When I construct the GTOs according the formula stated here, they don't Match the ones provided from PySCF. Is PySCF using another formula under the hood?
Thank you!

Do you mean the GTOs in Cartesian coordinates do not match the ones provided from PySCF?

Except s and p functions, the Cartesian GTO is not normalized in pyscf. It might be the source of difference. Do you find the difference is a ratio such as sqrt(4*pi/5) , sqrt(4*pi/15) , or other factors in https://en.wikipedia.org/wiki/Table_of_spherical_harmonics#Real_spherical_harmonics ? The eval_gto function does not include these factors. Actually, so are the integrals provided by the mol.intor('intxxx_cart') functions.

Hi @neutronengas , thanks for your question. Has it been answered?


Adjust the battery types in Zooz ZSE42 and ZSE44

Checklist

[X] I have filled out the template to the best of my ability.
[X] This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
[X] This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.
The update in #1228 accidentally modified the wrong device. I added in a new ZSE44 (2.0 with 800 Series Z-Wave) to HA today and the hardware retains the CR2450 as in the previous library regardless of hardware revision.
Describe the solution you'd like

model ZSE44 should retain the original "battery_type": "CR2450"
model ZSE42 should swap to "battery_type": "MANUAL" per the discussion on multiple batteries for the same model under #1228

Describe alternatives you've considered
I can manually set the battery type for the ZSE44.
Additional context
ZSE42 with different batteries: https://www.support.getzooz.com/kb/article/1630-what-s-the-difference-between-the-zse42-700-series-and-the-zse42-800lr-800-series/
ZSE44: https://www.support.getzooz.com/kb/article/912-zse44-temperature-humidity-xs-sensor-change-log/

Thanks for the clarification, this has now been changed.


CreatePost Componen

UX/ UI
CreatePost componen need to have
Input
-title
-content
-import file

privecy select
submit

@salam-github  please can you draw some this componen for me befor monday.
"if you have time you can create it too."

you can see this file in my branch frontend/ui/create_post.dio

you need to

to open file

semi-private system need to add

can we close it ?


Adding check for the raw calculation to see if lammps has exited with an error

Adding check for the raw calculation to see if lammps has exited with an error. Addresses #87

Hi @sphuber! No there is no test for this, so I'll add one for both parsers.

@sphuber tests added. If you agree I'll merge this one.


OSD Scale for volume issues

Before opening the issue, have you...?

[X] Searched for existing issues
[X] Looked through the wiki
[X] Updated MonitorControl to the latest version (if applicable)

Describe the bug
osd scale for volume control doesnt work. i tried on sonoma as well as os 15.
Steps to reproduce
turn on osd scale and try
Expected behavior
its should work like brightness osd scale. increase brightness by bits
Anything else?

https://github.com/MonitorControl/MonitorControl/assets/121214849/9ca24488-18fc-4c62-b769-1a9574678f61
Environment Information (please complete the following information)
- macOS version: Version 15.0 Beta (24A5264n)
- Mac model: MacBook Pro,2021 Apple M1 Pro
- MonitorControl version: 4.3.0 beta
- Monitor(s):0
- Apple Silicon/M1 (yes or no): yes

Hi there - this setting only affects external displays with DDC volume control - does not affect the other audio devices, like the built-in speaker or other sound outputs.


Source maps improvements

Once this is merged https://github.com/stefanpenner/broccoli-stew/pull/68
and new version of broccoli-stew is released, map should be able to
update source maps out of the box.

i think these still result in broken maps ;(


Tyring to remove a disabled log point with log message, suggests disabling it again

VSCode Version: 1.24.0-insider
OS Version: Wİndows 10

Steps to Reproduce:

Add a log point with a message
Then click logpoint icon, it will warn you about considering disabling instead of removing
Accept disable
Then disabled log point icon again.
Now same warning popup will be shown and it will again suggest disabling logpoint although it is already disabled

Does this issue occur when all extensions are disabled?: Yes/No
Yes

https://github.com/Microsoft/vscode/issues/50569


the inference speed

I  test the running speed under dataset evaluate，no run carla. My GPU is nvidia M40.
The inference  speed is only 6-7fps / s.
so why the inference speed is so slowly?  and what your speed under dataset evaluate and  Evaluation use carla?

Can you describe more about how you are evaluating without running Carla.
For evaluation using CARLA, it took 12-16 hours on town05_long_routes on a GTX 1080 Ti. The evaluation speed also depends on how many evaluations you are running per gpu.

Can you describe more about how you are evaluating without running Carla.
For evaluation using CARLA, it took 12-16 hours on town05_long_routes on a GTX 1080 Ti. The evaluation speed also depends on how many evaluations you are running per gpu.

Hi, @ap229997
have you tried to split the evaluation routes and evaluate on different Carla severs at the same time? Cause I think the evaluation takes a long time.

Yes, you could surely do that if you have access to resources.

Yes, you could surely do that if you have access to resources.

Thanks! Only need to pay attention to the sever PORT and TM_PORT.

Can you describe more about how you are evaluating without running Carla.
For evaluation using CARLA, it took 12-16 hours on town05_long_routes on a GTX 1080 Ti. The evaluation speed also depends on how many evaluations you are running per gpu.

Hi, @ap229997 have you tried to split the evaluation routes and evaluate on different Carla severs at the same time? Cause I think the evaluation takes a long time.

This is how we evaluated the routes in the extended paper. CARLA evaluation scales almost linearly with GPU as you can run each route on it's own GPU.

Hi, @Kait0 .Do you know to run CARLA sever on the specified GPU?

We used:
SDL_VIDEODRIVER=offscreen SDL_HINT_CUDA_DEVICE={gpu_number} path/to/CarlaUE4.sh --world-port={some instance specific port} -opengl
(OpenGL needed if CARLA version is 0.9.10.)
Otherwise check the CARLA docs https://carla.readthedocs.io/en/latest/adv_rendering_options/#off-screen-mode

We used: SDL_VIDEODRIVER=offscreen SDL_HINT_CUDA_DEVICE={gpu_number} path/to/CarlaUE4.sh --world-port={some instance specific port} -opengl (OpenGL needed if CARLA version is 0.9.10.) Otherwise check the CARLA docs https://carla.readthedocs.io/en/latest/adv_rendering_options/#off-screen-mode

Thanks! It works for me! btw, run on specified GPU only support offscreen?

Don't really know why one would want to run CARLA on multiple GPUs without off screen. I guess you would have multiple spectator cameras, but at that point you probably rather record data on your hard drive. Note that CARLA still renders everything properly in off screen mode. You just don't see it on a monitor.


Test new builder deployments

In order to create new tasks, ML models are being deployed twice: the first time on a server, to run heavy batch evaluation on the scoring datasets, and the second time on lambda, to get them 'in the loop' according to the create and validate sample use case. We are testing alternatives to make this process as easy and straightforward as possible for new task owners.

[ ] Light model deployment
[ ] Heavy evaluation

[ ] Checking the behavior of the model in the loop when creating a new sample


Implementing Iterative Binary Search in CPP

💥 Proposal
Implementing Iterative Binary Search in CPP.
Have you read the Contributing Guidelines on Pull Requests?
Yes

/assign


⚠ Bofrost.fr has degraded performance

In 94aa196, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1328 ms

Resolved: Bofrost.fr performance has improved in 27f35c3.


better documentation of the copyright/license situation of the test files

Hi, I started to work on a Debian package of this project, and needed to track down the copyright/licenses of the test files.
I thought that this can maybe be useful for someone else also.
One question regarding the file tests/sample-workflows/pwn-requests.yml, this seems to come from a blog post and don't have any license information as far as I can tell, would you argue that it is some form of fair use?

Thanks @alexanderkjall, I greatly appreciate it!
Re: the pwn requests example: yeah, I believe that's fair use via the GitHub blog.


refactor: change http_latency_high threshold to configurable

What this PR does / why we need it

Jira ID
DT-3225

Notes for your reviewers

I think this is either a feat or a fix instead of a refactor, I'll let @jaredallard decide which is more applicable here.

I think this is either a feat or a fix instead of a refactor, I'll let @jaredallard decide which is more applicable here.

I'd say feat, personally!

Nit: I'm not a fan of putting the Jira issue in the semantic commit scope section. I would instead put the scope as the part of the repo or part of the code you're changing, and put the Jira ticket at the end, which would make the PR summary look like this:
feat(monitoring): change http_latency_high threshold to configurable (DT-3225)


Using massive.js to import from pg_dump

I understand that that this is not its primary purpose, but can MassiveJS be used to simply "execute" SQL files, essentially as a replacement for psql?
I currently have a 100MB+ .sql file generated by pg_dump, which needs to be imported into postgresql. Today I do this via a bash script invoking psql, but it would make my architecture much cleaner if I could do it in Javascript.

Yes. if you mean "can I execute the output from a pg_dump as a SQL script, certainly.  In fact, if you take a look in the test/helpers/index file HERE you will see that our tests load up a file named schema in the scriptsDir and then execute it as a JS function. While the schema file is not output from pg_dump, you will see an example of using a script file to create tables and load data.
Note, however, that you need to engage in some trickery if you want to execute the actual database create bits. To do that, you have to connect initially to another database on the Postgres instance (the postgres database works), then execute the database creation stuff, and then connect to the newly created db and run your table/object creates, and populate with data.
I had something like that put together at some point, but the details are lost on my at the moment. Wasn't horribly difficult to do, but did have to experiment a little.
If you are asking whether you can execute psql commands, not directly, but you could experiment with adding some code to your application to do so - again, I don't think that's overly difficult, it's just not part of MassiveJs at the moment (although I think it might be a handy addition to v3!)
See HERE for a quick example. I have not tried this myself, but psql is, in fact, a command-line binary, so...

While this will work, I need to throw some caution here. psql is very capable and if you need to execute it from JS I would push you to experiment with System.cmd and pipe a command out to the shell.
100Mb is quite large and will probably slow your entire app down as Massive will read that file and load it into memory... and that's your app memory... which could cause some problems depending on your environment.

Thanks @xivSolutions and @robconery for your suggestions. Because I'll need this to function perfectly as part of production deploy, I decided I'd better stick with binary psql. The reason I had hoped to avoid that option was that there doesn't appear to be a way to get it without the entire postgresql install.


TemplateDoesNotExist at /docs/    rest_framework_swagger/index.html

When I run python manage.py runserver,and access to /doc in the browser, the error occurred.
TemplateDoesNotExist at /docs/
rest_framework_swagger/index.html

I am getting the same error: though I tried the solution you provided above, but nothing changed, still error is same: TemplateDoesNotExist at /docs/ rest_framework_swagger/index.html
I am using:
django==1.10
django-rest-swagger==2.1.2
djangorestframework==3.6.2
I even tried re installing all the packages in new virtual environment as well, any suggestions please @marcgibbons

I have found the problem, as I was integrating it into my existing code in which settings.py did not have following parameters:
TEMPLATES = [     {         'BACKEND': 'django.template.backends.django.DjangoTemplates',         'DIRS': [],         'APP_DIRS': True,         'OPTIONS': {             'context_processors': [                 'django.template.context_processors.debug',                 'django.template.context_processors.request',                 'django.contrib.auth.context_processors.auth',                 'django.contrib.messages.context_processors.messages',             ],         },     }, ]
Now adding this , swagger is working fine!

Go To the installed app and import 'def_yasg it will work =[
.......--
'drf_yasg',
]

you must add 'rest_framework_swagger' to INSTALLED_APPS in Django settings.

I am also getting same error. Have tried all mentioned, but still getting same error


Integrate documentation.js

This is so nice! Looks like a huge PR, but is actually much less code now since the theme is no longer inlined. I was able to remove almost all JSDoc comments (except for the examples) in favor of flow types, and documentation understood everything perfectly! 😱 So super cool!
This is what it looks like right now, which to be honest I quite like!

Whatcha think @bhough?
Ref: #31

@mxstbr this looks great! Looks like it will need #38 to pass CI, with that and conflict resolution let's merge it ASAP.

Current coverage is 100% (diff: 100%)

Merging #37 into master will not change coverage

@@           master   #37   diff @@
===================================
  Files           7     7
  Lines          12    12
  Methods         0     0
  Messages        0     0
  Branches        0     0
===================================
  Hits           12    12
  Misses          0     0
  Partials        0     0

Powered by Codecov. Last update 9f2fb5b...9f96b84

Let's 🚢 this first thing @bhough! Can you review & merge?


Typo in example

I believe there is a typo in the first python example block. "blob_service_client_instance" is defined but then appears as "blob_service_client" in the next step.

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

ID: 2f45a6b5-0fea-7fbb-5d4d-37e0e2583fd7
Version Independent ID: 7be6f792-09f8-c22f-86b6-d0f690e9b3a4
Content: Explore data in Azure Blob Storage with pandas - Team Data Science Process
Content Source: articles/machine-learning/team-data-science-process/explore-data-blob.md
Service: machine-learning
Sub-service: team-data-science-process
GitHub Login: @marktab
Microsoft Alias: tdsp

Thanks @mwestergaard -- this typo will be fixed in the next update

@GiftA-MSFT the issue has been fixed, please close


Regex to filter classes/files to migrate

The tool gets as input a project root and tries to migrate all the test files at once. There are cases where one just wants to migrate a single file or a sub-directory, but it still needs to provide as root a big multi module project, in order to let type inference pick up all the classes available in the classpath. We should add a CLI flag to filter on the input files and/or input classes. e.g.
assertj-migrator /project/root --class-filter "io.slinkydeveloper.*"

and/or
assertj-migrator /project/root --file-filter "*io/slinkydeveloper*"

Hi @slinkydeveloper!
Can I work on this?

@mslowiak sure go ahead!


Cleaning returns instance instead of pure object

When I run schemaInstance.clean() with object of some class. I receive object of that class again. Problem is, that when the class adds some properties, they are in "cleaned" object again. So the object is polluted by the properties. Is this behavior expected and wanted or is it a bug? Can it be somehow prevented? For example by some option of clean()? Thanks

@mariusrak Clean is mostly intended / tested for simple objects. Have you tried setting mutate: true option (assuming that mutating the original instance would be okay)?
If you think it should be fixed, you'll need to post some simple reproduction code to better show the exact problem.

Since mutate is set to false, the object should be copied. Hence, I'd expect that it would copy only data and not instantiate same class.

Closing since there is no reproduction to look at


Fix drupal core issues link

The Problem/Issue/Bug
Link bug to drupal core issue queue
How this PR Solves The Problem
fixes the link
Manual Testing Instructions
click the link
Related Issue Link(s)
Release/Deployment notes

Thank you for the fix @joelpittet !
@mradcliffe can you update the VScode extension?

Do you want a new version too, @shaal?
If so, then we would update the package.json version in the extension directory.
Then yarn install, yarn package and yarn publish --packagePath drupalpod-ext-VERSION.vsix given the token.

Or the GitHub action should do it too with npm run ovsx publish -p ${{ secrets.OVSX_TOKEN }}.


Bungeecord Support

I have 5 servers so It would be nice to have Bungeecord support so I could configure it once globally versus on all of my spigot servers.

@doitliketyler: What exactly do you mean for BungeeCord support? Do you just mean to make it run on all of the servers globally versus setting it up on each individual server?

Yes, thats exactly it

I'm assigning this issue as wontfix. The request would consist of this being an entirely new plugin written in the BungeeCord API. While it may be something I try pursuing in the future, for now, it is out of the scope of this plugin.
Hopefully I'll have some time to dig into the BungeeCord API soon.


nextdns-gui: Add version 2.0.1

Incompatible with scoop philosophy. It needs tap driver installation and windows service running. All of this is done by installer, and when you extract it user needs to handle it on their own, which is unacceptable. Running this installer is unacceptable too.
Try non-portable bucket

Incompatible with scoop philosophy. It needs tap driver installation and windows service running. All of this is done by installer, and when you extract it user needs to handle it on their own, which is unacceptable. Running this installer is unacceptable too.
Try non-portable bucket


Refactored powerboard.py module:

made more generic way to reuse this module for any kind of powerboard with SNMP.
removed hard-coded OIDs and added possibility to define OIDs related to powerboard in the config files.

Signed-off-by: Orest Kreminskyi<EMAIL_ADDRESS>

This change is

@rbbratta @esmacgil @seungweonpark @lijenni
Could you please review powerboard changes?

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

taf/testlib/powerboard.py, line 39 at r1 (raw file):

        self.pw_action_oid = config.get("pw_action_oid", "")
        self.pw_on_cmd = config.get("pw_on_cmd", "1")
        self.pw_off_cmd = config.get("pw_off_cmd", "0")

can we convert to str() here?  or why do we convert to str() down in power_status_map

Comments from Reviewable

Review status: 0 of 3 files reviewed at latest revision, 1 unresolved discussion.

taf/testlib/powerboard.py, line 50 at r1 (raw file):

    def power_off(self):
        """Perform power Off of device"""
        port_action_oid = tuple([int(x) for x in self.pw_action_oid.split('.') + [self.pw_port]])

should we pre-split the oids?  do we need them as strings?

Comments from Reviewable

Reviewed 2 of 3 files at r1.
Review status: 2 of 3 files reviewed at latest revision, 2 unresolved discussions.

taf/testlib/switch_general.py, line 609 at r1 (raw file):

        """
        self.class_logger.info("Starting Real switch device %s(%s) ..." % (self.name, self.ipaddr))
        if self.pwboard:

do we still need to handle the case when pwboard is not defined in config?

Comments from Reviewable

Review status: 2 of 3 files reviewed at latest revision, 3 unresolved discussions.

taf/testlib/powerboard.py, line 39 at r1 (raw file):

convert to str() down in power_st
yes. we can do it here. Done

taf/testlib/powerboard.py, line 50 at r1 (raw file):
Previously, rbbratta (Ross Brattain) wrote…
should we pre-split the oids?  do we need them as strings?

It is more user intuitive for strings rather than list of integers/strings or tuple of integer/strings. That's why I used strings.

taf/testlib/switch_general.py, line 609 at r1 (raw file):
Previously, rbbratta (Ross Brattain) wrote…
do we still need to handle the case when pwboard is not defined in config?

Actually no. Pwboard handling was removed in initial pull request. I suppose you've missed these changes in R1 revision.

Comments from Reviewable

Addressed comments.

Reviewed 1 of 1 files at r2.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Added avarage

Added .average

Codecov Report

Merging #1 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master     #1   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           2      4    +2
  Lines          18     27    +9
  Branches        4      4
=====================================
+ Hits           18     27    +9

Impacted Files
Coverage Δ

src/functions/average.ts
100% <100%> (ø)

src/functions/index.ts
100% <100%> (ø)

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 efd749f...bee5082. Read the comment docs.


Adding a test to report terminations for multiple keeps at once

Refs #446
Adding the functionality to report termination of multiple keeps with one call. This should save transactions cost.

I think this code and function receiveRewards(bytes32[] memory keepIdentifiers) public should live in keep-core's Rewards contract, heh.

Yes, agree, but also just an idea to leave batch processing tests for ecdsa as is here.
Solidity code was moved in this PR https://github.com/keep-network/keep-core/pull/2146 + some additional general tests.

The test looks very good, I'll wait for https://github.com/keep-network/keep-core/pull/2146 to be merged first and then will merge this one.

@dimpar Having https://github.com/keep-network/keep-core/pull/2146 merged, I updated the dependency to keep-core and merged master. Can you please look at my changes?

Don't we want to update package.json to 1.3.1-pre.4? Or is the plan to update it later upon deployment of the actual release?

package.json already points to the most recent -pre: "@keep-network/keep-core": ">1.3.1-pre <1.3.1-rc",

Ah, I didn't pull the latest, now I see. Yes, looks good.


Removal not working after being persisted

Describe the bug
I've tried out the example and it seems that if you save either the "toy" or "pet", their removal no longer works.
To Reproduce
Steps to reproduce the behavior:

Start the example
Add an owner, two pets and two toys
Save it
Go back to edit, and try to delete either a toy or a pet
See that clicking the "X" does

Expected behavior
Being able to delete either toy or pet once it is persisted.
Library and language versions:

main branch

Additional context
I've not been able to reproduce the issue on 5566acdea0921459f7cb7be5561361ab57fbbf62.
My theory is that it relates to the new to_form in Phoenix 1.7

Reference: https://github.com/phoenixframework/phoenix_html/issues/418

Thanks for the report! I forgot to normalize the value for the deleted? flag. Fixed on the main branch.

Sorry, I was too fast...

Alright, in addition to the normalization, I used the input component from Phoenix 1.7 to render the hidden input for the delete flag. However, the value of that flag is true, which would result in value={true}, which is not the same as value="true". Should be fixed now.

Thank you for the quick fix and the library 😃


unix sockets probably broken for requests 2.12.2

http+unix URIs will no longer have URL preparation applied, including - but not limited to - converting the params dict into query parameters
see https://github.com/kennethreitz/requests/issues/3734

can you explain what the problem is? what is the fix?


can we use Shared preference data when my app is in killed state ?

I have a problem in my chat messaging app that i have to store token in shared preference and when message notification arrives I am able to reply the message using api without open the app so regarding this can I store token data in this and without open the app I am able to use it?

Hi @MishraVaibhav1999,
This issue doesn't seem to describe a bug or a feature request. Please see https://flutter.dev/community for resources and places where you can ask questions like this.
You may also get some help if you post it on Stack Overflow and if you need help with your code, please see https://www.reddit.com/r/flutterhelp/
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you


libsvm data format

Hi. I have data set with libsvm format where feaid is uint64.  Can you give me an example of how to fetch this data to tensorflow model?  eg. sparse logistic regression. Thanks.
label feaid:value feaid:value ...

Sorry for the late reply. Support libsvm data format is the great feature and we will try to implement that soon. Thanks for reporting.


Allow an environment variable to configure the GitHub API base url.

Adds support for GitHub Enterprise.
Matches create-pull-request and resolves https://github.com/peter-evans/enable-pull-request-automerge/issues/147

Thank you!


the config to vue-cli2.0 is not working

// package.json
"dependencies": {
...
"vue": "^2.5.2"
},
"devDependencies": {
"sass-resources-loader": "^1.3.5",
"webpack": "^3.6.0"
}
// build/utils.js
return {
...
scss: generateLoaders('sass').concat({
loader:'sass-resources-loader',
options:{
resources: path.resolve(__dirname, '../src/assets/css/_colors.scss')
}
}),
...
}
there is error report:
Module build failed:
border-top: 1px solid $border-color--light;
^
Undefined variable: "$border-color--light".
thanks for your valuable time.

@icemirror any update?

mark, having same problem with vue cli 2.0 don't know how to config in chainWebpack

I don't use Vue. I'm open to PRs to fix this.


Update Wordpress

Description of your issue
I want to update my wordpress in heroku to 4.8.3 but it can't automatically update, thanks btw I can have wordpress in heroku now, great job!
Steps to Reproduce
open the wordpress dashboard
Other Information
Git Commit/Version:
master

The wiki has an example on how to update wordpress ->
https://github.com/PhilippHeuer/wordpress-heroku/wiki/WordPress---Update
You can't update it over the dashboard since you can't write to the filesystem - therefore you have to redeploy it.
This only works if you used the Deployment - Heroku - Manual Method from https://github.com/PhilippHeuer/wordpress-heroku/wiki/Deployment to deploy your wordpress instance.


Complete Documentation for tagetitlescreen

Need to complete documentation for tagetitlescreen

Added detailed information on class variables for TitleScreen() class

Renamed tagetitlescreen to tagesplash. Documentation is up to date with current code.


Add Nong Song:

Song Name
Christmas kids
Artist Name
Roar
Source
Youtube
Youtube Link
https://www.youtube.com/watch?v=9o0pXI5jkyg
Direct File Link
https://www.mediafire.com/file/csglus02prp63j7/Roar_-_Christmas_Kids_%2528Lyrics%2529.mp3/file
Song ID
745169
Start Offset [ms]
No response
Extra
No response

reject
popular songs (if used in rated levles) are too inconvenient to be replaced by smth unrelated and are therefore usually rejected.
Note that you can still use the song yourself, but it won't be public


"Infeasible LNS solution" on CP-SAT model

What version of OR-Tools and what language are you using?
Version: main (9.9.3883) and 9.8.3309
Language: Python
Which solver are you using (e.g. CP-SAT, Routing Solver, GLOP, BOP, Gurobi)
CP-SAT
What operating system (Linux, Windows, ...) and version?
Linux, Fedora 39
What did you do?
I am running a simulation that sequentially creates scheduling models and calls the solve function.
I have been running the same script simultaneously on 18 older Intel i7-4765T CPUs for a week without an error, but when I run the same script on any of two AMD Ryzen 9 7950X3D CPUs, after thousands of times of successfully solving the models, the script crashes eventually (after a few hours) with the error message: "Infeasible LNS solution".
model.pd.txt

Which parameters do you use ?
How many cores both you machines have ? (the old and the new one)

You can see the models code here:
And here is the full error message (from other model values though):
Infeasible LNS solution! graph_dec_lns (d=0.87 s=229 t=0.10 p=0.67 stall=12 h=folio_rnd) solved with params max_time_in_seconds: 2
log_search_progress: false
max_deterministic_time: 0.1
search_branching: PORTFOLIO_SEARCH
cp_model_presolve: true
stop_after_first_solution: false
search_random_variable_pool_size: 5
cp_model_probing_level: 0
symmetry_level: 0
solution_pool_size: 1
num_workers: 32
find_big_linear_overlap: false

*** Check failure stack trace: ***

The failing CPUs have 32 cores, the working ones have 8 cores.

OK, I can reproduce it.
In 9.9, I have made it so that the error message is printed out, but the solve does not stop.

I noticed that I also get the problem when I use another model without intervals.

I have not yet debugged the error.
Laurent Perron | Operations Research | @.*** | (33) 1 42 68 53
00
Le ven. 23 févr. 2024 à 16:26, Michel Kunkler @.***> a
écrit :

I noticed that I also get the problem when I use another model without
intervals.
—
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/4099#issuecomment-1961532049,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUPL3OQKJKDW6SM6BMFDVDYVCYMBAVCNFSM6AAAAABDVTMMXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRRGUZTEMBUHE
.
You are receiving this because you were assigned.Message ID:
@.***>


doc: allow up to breathe 4.28.x

It looks like latest release (4.29.0) breaks docs build.

https://github.com/michaeljones/breathe/issues/673


Fixes nullptr segfault when building without GUI support.

I should note that gui::Gui::get() would be safer if it was
wrapped in std::optional<>...

@maliberty I don't have merge access, so you'll need to hit the button.


Sealer fails when run on AliOS at the second time.

What happened:

There is no idempotent judgment here. The docker0 bridge device will be successfully added in the first run, but the bridge will not be cleaned up when the cluster is cleaned up, which will lead to the following error when installing again:
这里没有做幂等判断，第一次运行会成功添加docker0网桥设备，但是清理集群时不会清理该网桥，这就导致再次安装时，hui会出现如下错误：

What you expected to happen:
How to reproduce it (as minimally and precisely as possible):

Anything else we need to know?:
Environment:

sealer version (use sealer version):
Cloud provider or hardware configuration:
OS (e.g: cat /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

@Stevent-fei fix this bug for sealer and ack-d.

https://github.com/sealerio/basefs/blob/2c7490bfe47563c27fc2ae6cddb0e4a114dcc8c3/context/docker/rootfs/scripts/docker.sh#L64 @Stevent-fei
determine whether it exists when adding docker0 bridge, ip link show docker0
and remove the docker0 bridge in the clean script when it exists.


made compact transient command retry when calling compact throws an e…

…xception

The diff is very small when looking at and ignoring white space


Use different webhook msg for ambient mode

Please provide a description of this PR:
Fixes #50687

@craigbox

We could also generally say "Set as the default for cluster-wide operations"

The ambient profile has been installed successfully, enjoy Istio without sidecars!

You're really leaning into the cutesy lately there Lin :)

The ambient profile has been installed successfully, enjoy Istio without sidecars!

You're really leaning into the cutesy lately there Lin :)

Mainly to emphasize the message without sidecars :)

Sorry for the delay, I had some days off.

We could also generally say "Set as the default for cluster-wide operations"

I like the idea of making the msg more general. Updated to "Made this installation the default for cluster-wide operations.".
I have also added a post-install msg specific to ambient based on @linsun proposal.


[FEAT] Interaction term between two correlated comparisons

Is your proposal related to a problem?
Terms with independent comparisons, e.g. Postcode and City can be very correlated, so two independent comparisons for postcode & city will lead to overestimating match score when both match, or underestimating it when only one matches.
Describe the solution you'd like
Some mechanism to score the interaction between two comparisons (usually negatively, like in term frequency).
Describe alternatives you've considered
So far I have put city as a lower comparison level to postcode, but I expect this problem of correlated comparisons to be more general.
Ordering of levels is also very sensitive to the precision of postcodes (e.g. UK postcode vs 5 digit US zip code). So an interaction would make the model less "hand-tuned" due to manual ordering of levels.
Additional context
Creating an interaction term is a common mechanism in dealing with correlation in Machine Learning, e.g.
if x1 and x2 are correlated, you can add a term x1*x2 in your model, e.g. y = a*x1+b*x2+c*x1*x2+d

@RobinL's solution is equivalent to method 1 in S4 of the appendix of the fastLink paper, and works great for some use-cases, but doesn't allow e.g. specifying c1 * c2 and c2 * c3 without c1 * c2 * c3. For that, the second method in that appendix based on log-linear models is the solution, and there is a discussion of adding it to Splink here: https://github.com/moj-analytical-services/splink/discussions/1310

Thank you for the response around using AND, I think I can incorporate it. However, one complexity that usually comes in practice is that comparisons usually have more than one comparison level.
For example:
postcode_comparison = [exact_match, area_match, sector_match]
address_comparison = [exact_match, street_name_match, jaro_winkler_match]
location_comparison = ???

I would need to make 9 levels (3 * 3) with AND, plus the other 3 + 3 levels, to define a location_comparison (so 3*3 + 3 + 3 levels in total). The challenging thing then is to find what is the right order for these 15 comparison levels, since ordering has a very significant effect. In my case, I actually have more that 3 levels, more like 6-8.
Have you found yourself in this combinatorial explosion and then further ordering problem?

Yeah - you're right to highlight these challenges.  It's typically best to try and order in terms of 'better matches higher' - start with the most precise matches and work your way down.  Although I appreciate it's not always obvious in practice; you may need some trial and error.
I agree that the combinatorial explosion problem is real, but on a large dataset having (say) 9 comparison levels is totally fine.  Ultimately, each one corresponds to two parameters to estimate, so 18 parameters is not very many at all (compared to, say, other ML approaches which can have thousands).
In our production models we tend to have between about 2 and 10 comparison levels per comparison


wish: non-zero exit code if any checks are failed

(useful for continuous integration purposes)

I don't like this idea because of the number of false positives that the checks can give. This may be a good idea some time in the future, but it isn't right now.

I don't like this idea because of the number of false positives that the checks can give

If anyone don't trusts dscanner he/she just not uses its exit code...

I don't trust it and I wrote it.

I don't trust it and I wrote it.

...and you just should do not use Dscanner exit code...
If code written by small pieces (commits) and CI used it is very simple to understand where is problem if error code is catched.

Closing when 0.2.0 is tagged.


Fix withdraw tokens btn

The button should be disabled when there are no tokens to withdraw.

Available to Withdraw label  bug
Bug:

Fix:

I might be wrong but it looks like something is wrong with values of Withdraw Unlocked Tokens section when relogging into another account without refreshing. When I log in to my account1 with Metamask this is what i see:

which is correct. Then i log in to another Metamask account which I will call account2 (without refreshing), i go to another page just to make sure i relogged to another account (in this case i go to Operations page so i can see the values of Beneficiary and Authorizer changed) then go back to the Delegations -> Granted Tokens and i see the same values as on the screen above in Withdraw Unlocked Tokens, which are wrong. When i refresh the page and log in on account 2 again then the values are correct:

I don't think this is correct behaviour (and i'm not sure if it's related to this PR) but it will probably need more investigation. Thoughts?

I might be wrong but it looks like something is wrong with values of Withdraw Unlocked Tokens section when relogging into another account without refreshing. When I log in to my account1 with Metamask this is what i see:

which is correct. Then i log in to another Metamask account which I will call account2 (without refreshing), i go to another page just to make sure i relogged to another account (in this case i go to Operations page so i can see the values of Beneficiary and Authorizer changed) then go back to the Delegations -> Granted Tokens and i see the same values as on the screen above in Withdraw Unlocked Tokens, which are wrong. When i refresh the page and log in on account 2 again then the values are correct:

I don't think this is correct behaviour (and i'm not sure if it's related to this PR) but it will probably need more investigation. Thoughts?

I'll open a PR that refreshes the app on accountsChanged event in a moment.


Add support for UI specified environment variables to application module

We need to support environment variables specified in the UI.  This PR gets us there by adding capability for all of our app templates to have a top-level envs field that is a list of objects with name and value string fields.
This will merge the params envs (from the UI) with the app config envs (from massdriver.yaml).  If we like this, it might be a good idea to turn the envs block into a type so its very easy to add properly to any app template.
My thinking here is that all applications need to support the capability for users to specify environment variables (K8s, serverless containers and functions, VMs, etc) so its best to solve it for all of them at once.

It was my impression that we wanted to move away from having an array of envs. That if the user wanted an env, they would define a param per env. Then in the app block, specify any envs from the params.

I don't think we should burden users with having to learn JSON Schema and/or jq in order to do something as simple as setting an environment variable.

Closing this in favor of https://github.com/massdriver-cloud/terraform-modules/pull/49


[Archetype builder] Never use the representative as the archetype anchor

The "representative" potential archetype chosen by the archetype
builder is essentially chosen at random, because this is a union-find
data structure. Therefore, it should never be used as the "archetype
anchor", which is the canonical representative of an equivalence class
that affects both semantics and ABI.
Decouple the computation of the archetype anchor from the
representative, and verify that the chosen archetype anchor no worse
than all other choices.

@swift-ci please smoke test and merge

This appears to have broken the Foundation corelibs build. Speculatively reverting...


After creating 2 tags with the same list of items, EMI will only show one of them when you view the recipe that contains them.

1.Introduction

Recently I've been experimenting with adding missing recipes to the ExtraDelight using Kubejs.

However, when I added two tags missing from the recipe to mutton and mutton chops, I found that the EMI recipe showed only one of the tags. (1.#forge:mutton/ribs 2.#forge:goat/stew)

It appears that one of the tags overrides the other's EMI recipe display.

After I removed one of the tags (forge:goat/stew), it was like this...

Perhaps because they contain the same list of items? O.o

By the way, Minecraft is version 1.19.2, Forge version 43.38, and EMI version 1.1.6+.

This is intentional, EMI cannot display the underlying tag because the network protocol erases it and only sends a list of items. EMI assumes a tag based on contents, and because having tags with identical contents are not distinguishable, it will pick one based on a handful of heuristics to use.


Regression in artifact resolution "1.0.0-M15" -> "1.0.0-RC1"

Upgrading coursier to "1.0.0-RC1" somehow makes an artifact be not resolvable. Here is the output I get for the newer version:
> reload
[info] Loading global plugins from /home/vasya/.sbt/0.13/plugins
[info] Loading project definition from /home/vasya/data/dev/luka/robot/project
[info] Set current project to default-0e67b7 (in build file:/home/vasya/data/dev/luka/robot/)
> update
[trace] Stack trace suppressed: run last robot/*:update for the full output.
[trace] Stack trace suppressed: run last robotBase/*:update for the full output.
[trace] Stack trace suppressed: run last robotBrickEngine/*:update for the full output.
[error] (robot/*:update) coursier.ResolutionException: 1 not found
[error]   https://repo1.maven.org/maven2/com/github/salat/salat_2.11/1.10.0/salat_2.11-1.10.0.jar
[error] (robotBase/*:update) coursier.ResolutionException: 1 not found
[error]   https://repo1.maven.org/maven2/com/github/salat/salat_2.11/1.10.0/salat_2.11-1.10.0.jar
[error] (robotBrickEngine/*:update) coursier.ResolutionException: 1 not found
[error]   https://repo1.maven.org/maven2/com/github/salat/salat_2.11/1.10.0/salat_2.11-1.10.0.jar
[error] Total time: 2 s, completed Apr 12, 2017 11:10:24 AM

And here is the output for the old one:
> reload
[info] Loading global plugins from /home/vasya/.sbt/0.13/plugins
[info] Updating {file:/home/vasya/.sbt/0.13/plugins/}global-plugins...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Loading project definition from /home/vasya/data/dev/luka/robot/project
[info] Set current project to default-0e67b7 (in build file:/home/vasya/data/dev/luka/robot/)
> update
[success] Total time: 3 s, completed Apr 12, 2017 11:11:21 AM

I can't share the full *.sbt file since it's not free software or open-source. I can post relevant details though, I think.
sbt.version=0.13.13
openjdk version "1.8.0_121"

EDIT: the problem is 100% reproducible. sbt clean and manual cleaning of all target/ directories does not help.

the problem is 100% reproducible. sbt clean and manual cleaning of all target/ directories does not help.

It looks like a bad interaction between shortcuts that the cache takes to avoid unnecessary network requests, and the use of directory listings in the latest version of coursier... I'll try to address that in the next version.
If this is indeed the problem, wiping your ~/.coursier/cache/v1/https/repo1.maven.org/maven2/com/github/salat/salat_2.11/1.10.0/ should fix that.

@alexarchambault indeed, the issue gets fixed if I delete the relevant directory.


Autocomplete based on open files

Adding auto-complete based on open files is very important future
It improves and speeds up workflow in any language
I think this option should exist in VSCode.
VSCode team: We are closing this because there is an extension
Me: No! Take a look ⬇
There is ONLY one extension on the market that doesn't work well.
Support has not fixed bugs, nothing is happening there.
To be honest, I don't see a chance to develop this plugin
So what do you think? 🤔
Currently only works in the current file:

This is a duplicate. Unfortunately, I don't recall the exact issue number nor its title :flushed: Anyways, searching for issues with the same labels will likely help you :point_right:
https://github.com/microsoft/vscode/issues?utf8=✓&q=is%3Aopen+label%3Afeature-request+label%3Asuggest


The header "Delete Account" in the Delete Account modal "A" is capitalized

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

Action Performed:

Go to the Sittings > Payments
Select a payment method to delete

Expected Result:
The header in the Delete Account modal "A" should be in small letters, as the header in the "Delete workspace" modal "w" is in small letters and same in "Delete comment" modal
Actual Result:
The header "Delete Account" in the Delete Account modal "A" is capitalized
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

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

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.2.97-2
Reproducible in staging?: y
Reproducible in production?: y
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
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/43996225/230751047-fb217536-dc4d-4862-a0b8-2429d6feb847.mp4

Expensify/Expensify Issue URL:
Issue reported by: @ayazhussain79
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1680972128646799
View all open jobs on GitHub

Triggered auto assignment to @mallenexpensify (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

Checking internally https://expensify.slack.com/archives/C01SKUP7QR0/p1681138816549989

I think we should take care of this in https://github.com/Expensify/App/issues/17239#issuecomment-1503843025 and basically just address all the cases of capitalization.  Seems to be a few issues for incorrect capitalization through the app

Closing as a dupe for https://github.com/Expensify/App/issues/17239

@ayazhussain79 you're listed as the reporting contributor on the other issue so you'll get compensated there once the associated PR hits production (+ 7 days)


Lifetime of input (key) to HashMap::get() gets entanged w/ that of its output (value)

This issue I filed against std also applies to hashbrown::HashMap. You can use the exact same code in there, replacing the HashMap use line and reproduce the issue. The problem is likely that lifetimes are not specified for HashMap::get arguments so rustc thinks the passed key's lifetime is somehow associated with that of self.
If that's the correct diagnoses, I'll hopefully provide a PR for both hashbrown and std soon.

This feels like a compiler bug to me: the get function definition should return a value with the same lifetime as &self.

This feels like a compiler bug to me: the get function definition should return a value with the same lifetime as &self.

It's very much possible. I did a bit of research but no matter what lifetimes I assign to all the functions in the chain, it doesn't help. :shrug:


Am I missing something? Auto publish on deploy vs netlify deploy

- Do you want to request a feature or report a bug?
Perhaps both.
- What is the current behavior?
Unexpected.
I have to do netlify deploy --prod --functions functions for it to work the same as it does locally.
- If the current behavior is a bug, please provide the steps to reproduce.
Create some Netlify Functions locally with netlify dev, access them: it works.
Push a repo with Netlify Functions. Try to access the functions: Page not found.
- What is the expected behavior?
For it to just work, same as it does locally.
- Please mention your node.js, and operating system version.
node -v: v10.19.0
uname -r: 5.5.8-arch1-1
I've tried to find a way for the auto publish to use the same stuff as the functions does locally, but I cannot find anything.

Right. Nice.
I first tried to add:
...
[context.production]
    command = "netlify deploy --prod"
...

to my netlify.toml
and that didn't work.

I then tried changing the config to
[build]
    ...
    command = ""
...

to no avail.

Then I remembered that I read somewhere that you could set the build command to #, for some reason.
Perhaps that reason was similar to my reason (no actual static content, just Netlify Functions).
So changed it to
[build]
    ...
    command = "#"
...

and ta-da - my functions were deployed as expected :tada:


Catch panics and handle errors in sync subcommand

The sync subcommand should start a process that runs forever. A panic or error somewhere in the harvesting code should never lead to the process stopping. As such we need to catch such things fairly high in the call stack.

Why not just die and restart? Wouldn't that be far simpler?

Who would be responsible for restarting it? systemctl? If that's easy to do, I'm fine with doing it that way. On the other hand, catching those panic/errors is also not a lot of work and makes Tobira more robust even in the absence of an external thing restarting Tobira.

After some experience with this, I also don't think Tobira should restart itself automatically. Makes the Tobira code more involved.  And one should really only run that as a service so there is always something else that can restart Tobira. So... closing.


Improve Hero examples

I think it would be a good example for the audience if this were a separate stateless widget. It's more efficient that way, and helps with segmentation of the code.

Context: https://github.com/flutter/flutter/pull/102650#discussion_r865046798
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[ ] I listed at least one issue that this PR fixes in the description above.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] I added new tests to check the change I am making, or this PR is test-exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@gspencergoog
If this looks good, I could request test exemption

Yes, this looks like a candidate for a test exemption. (refactor with no change in functionality)

test-exempt: code refactor with no semantic change


Implement an interface for all errors, so they can be redefined by callers

Currently we return some error messages to end users, like

"flag provided but not defined"
"required flag not set"

But do not provide a way for people to re-define those error messages. We should implement some public interfaces for our errors, and provide documentation on how to implement custom error messages.
Related issues / PRs

https://github.com/urfave/cli/issues/852
https://github.com/urfave/cli/pull/656

I'd really like to work on this, but I'll probably need some guidance.

That's fine! We can collaborate a bit, I need to do some learning here too 👩🎓

Here's the best post I could find about error interfaces https://dave.cheney.net/2016/04/27/dont-just-check-errors-handle-them-gracefully
Here's a PR where I added an interface that essentially what I describe in the title https://github.com/urfave/cli/pull/819/, requiredFlagsErr.
The idea is that you would set Flag.RequiredFlagsErr (capital R now ^^) on a flag, and that interface would get called if there was an error with that flag. Feel free to ignore any complexities with your initial implementation, like the error message when there are errors with multiple flags.

Awesome! Thanks for the info. Starting on it now.

Quick question when you get a chance. Now that the flag_generated.go file is generated with flag-gen instead of the python script, what's the process for incorporating the necessary struct field and function for RequiredFlagsErr? Thanks.

I reviewed that code but I don't specifically know what to point you to. You could ask @asahasrabuddhe, but it may be easier for both if ya'll if you dive into the code and explore it a bit. Or looking at the PR https://github.com/urfave/cli/pull/836

Yeah I spent several hours getting to know the codebase by investigating
this question. Don't worry, I don't reach out for things like this unless I
absolutely can't figure it out. I'll take another look at the PR you
mentioned and contact @asahasrabuddhe if necessary. Thanks!
On Mon, Aug 19, 2019, 5:06 PM lynncyrin<EMAIL_ADDRESS>wrote:

I reviewed that code but I don't specifically know what to point you to.
You could ask @asahasrabuddhe https://github.com/asahasrabuddhe, but it
may be easier for both if ya'll if you dive into the code and explore it a
bit. Or looking at the PR #836 https://github.com/urfave/cli/pull/836
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/urfave/cli/issues/853?email_source=notifications&email_token=AGEPUNEQSTYQZWC47UCDLPTQFMDODA5CNFSM4IK2QG52YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4UJOSA#issuecomment-522753864,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGEPUNGBD4WSVDA4ZSQHMV3QFMDODANCNFSM4IK2QG5Q
.

Also for context, I just made this issue => https://github.com/urfave/cli/issues/870

Ok cool. I'll just bypass the generation for now.

Dropping this into the status: in review bucket, @urfave/cli please add a 👍 or 👎 to the top post if you're in favor or against this feature being added!
(I'm counting the existing PR by @anberns as an exception here)

Closing this pending more buy in from maintainers


peerDependencies with jQuery 3.4

jQuery Validation should also work with the latest jQuery version 3.4, right?
Can we lift the peerDependencies to that version?
NPM audit throws an error because jQuery had some vulnerability prior to that version.
"peerDependencies": {
	"jquery": "^1.7 || ^2.0 || ^3.4"
},

this has been done in this pull: https://github.com/jquery-validation/jquery-validation/pull/2248
This updated code still hasn't been published to the NPM public version so until that's done we'll all keep seeing that error

Oh man. This project doesn't look that active. But thanks for the pull-request.
I solved it in the meanwhile with this addition in my package.json:
"resolutions": {
    "jquery-validation/jquery": "3.4"
}

fixed with #2248

I just published jquery-validateion 1.19.1 to npm.
most important change is that jquery is now defined as a peer dependency, so we dont get into your way. see https://github.com/jquery-validation/jquery-validation/pull/2248
sorry this took us so long. jq-validation is not top priority atm


[feature] Concept to create own integration artifacts & services

Is your feature request related to a problem? Please describe.
A less experienced (in DigiWF context) user should be able to create fast a new integration artifact or other microservice. All necessary functionality should be provided in a easy to use manner.
Describe the solution you'd like
Implement a set of Spring-Boot-Starters to enable developers to craft their own customized integration artifacts in no time.

Describe alternatives you've considered
Everybody codes everything on his own.

@dominikhorn93 @boal

@xdoo I think it makes sense to separte the different APIs in different starters (xxx-starter-rest, xxx-starter-event)
In my opinion, however, we don't need an event-producer or consumer base starter. We have already abstracted that via Spring Cloud Stream.

@dominikhorn93 this ticket is not about tailoring starters. The picture is only an example to show my thoughts. I want a bunch of suitable (the definition of suitable is up to the dev) bricks, that a less experienced user can put together to a running service in no time.
I want something like that :joy::

@dominikhorn93 Isn't this about documentation? How do we cut integrations (Core vs. Starter vs. Service) and how are the starters used?
In my opinion, one can already create integrations relatively quickly (Oce-Cosmos), but you have to know how to start.
Maybe we have to refactore some of the integrations to meet that agreement.


Feature: Ability to change which branch config.yml is grabbed from

Is your feature request related to a problem? Please describe.
When doing development work, there is the problem that NetlifyCMS grabs the config.yml file from the production branch instead of the dev branch. This makes development for the config really hard, as I have to work on the production branch which is meant to be used for the production version of the website.
Describe the solution you'd like
It would be great if CMS grabbed the current branch from the netlify branch deploy. Currently i have netlify make a branch deploy to dev.example.com and a production deploy to example.com. If netlify CMS talked to netlify about what branch it was on, and then grabbed the corresponding config.yml file from the repo this would be much easier.
Another solution may be to have a <meta> tag you can add to the index.html to tell netlify CMS what branch to get the config file from?
Describe alternatives you've considered
I have considered having another repo for development, but this just adds another layer of difficulty.
Additional context
May be related to #770

With the setup you're describing, dev.example.com would get dev.example.com/admin/config.yml and example.com would get example.com/admin/config.yml. Are you referring to local development?

@erquhart kind of both, maybe prioritizing the kind you were describing? I am able to git commit+pull pretty often, so local development may not be so important

What I’m describing is how it currently works. If you’re deploying your branches, you’ll get whatever config.yml was in the deployed branch.
Sent with GitHawk

That's weird. For me I always get the same config, on dev and production

I guess I'm not tracking here. In the title you reference "the branch config.yml is grabbed from" - config.yml is just a file like any other file. If your dev site is being deployed from your dev branch, the config.yml from the dev branch is the one that will be used.

Yea, for me i always get the same config.yml. I'll make a new site now, just to test how it works, and to see if there is a bug on my end

Seems the problem was that i hadn't configured stuff properly. Closing now


I can not push 8g model to Ollama

What is the issue?
using

ollama push me/mymodel

im getting upload rate like this

39 MB/8.5 GB  1.4 MB/s   1h41m

it will chug chug chug to 40 or 50% then i get the error

Error: max retries exceeded: http status 502 Bad Gateway: InternalErrorWe encountered an internal connectivity issue. Please try again.

im wondering if my ISP is getting me off? Or perhaps im not uploading fast enough so ollama server cuts me off?
any tips on how to push largish models? it will do 4g ok
OS
macOS
GPU
Apple
CPU
Apple
Ollama version
0.3.6

Hi @hololeo can you use a website like fast.com to share your download or upload speed? It will help.

bump? any indication of what I can do on my end to fix this? I suppose moving to better internet but thats difficult and expensive in my locale

Hi @hololeo, did you try using version 0.3.9? The number of parallel downloads has been adjusted, so it might work better now.

@hololeo as @igorschlum mentioned does the latest version happen to work? If not we will continue improving the networking code to fix this soon – sorry about the issue.

yes i have ollama version 0.3.9. The error still occurs. :(. Thank you for your work and  investigating

@hololeo please can you share a screen with the upload ans download speed you get using fast.com?

PS C:\Users\Admin.ollama\models> ollama create -f Modelfile white_/mario
transferring model data
using existing layer sha256:8de95da68dc485c0889c205384c24642f83ca18d089559c977ffc6a3972a71a8
using existing layer sha256:62fbfd9ed093d6e5ac83190c86eec5369317919f4b149598d2dbb38900e9faef
using existing layer sha256:c156170b718ec29139d3653d40ed1986fd92fb7e0959b5c71f3c48f62e6636f4
creating new layer sha256:b3fb3caebac98f848f5c65ff9eb77c6f3ce8cefd4fad45e94c37725ca847c562
creating new layer sha256:b1c932e03beb32c4ab61bb50b2fa06ab1f2ea4e99ee6495670bbe23834dc7d62
creating new layer sha256:ed36a163da40b1fea25ee506c2b82eb76df4878b4e2afa5db53f42f7a97639e5
writing manifest
success
PS C:\Users\Admin.ollama\models> ollama push white_/mario
retrieving manifest
Error: file does not exist
PS C:\Users\Admin.ollama\models>

Always fail

still not possible


Fix mod loading issues in game version 1.2.0

The current version of the mod (v<IP_ADDRESS>) available on Nexus Mods is incompatible with the latest game update (v1.2.0). This PR introduces the minimal changes necessary to ensure the mod menu loads, and all cheats appear to function, albeit superficially.
This PR introduces one regression:
 Infinite Harvest for Trees No Longer Works
In previous versions of the game, the FruitToDrop getter was modified to assign unique IDs to each fruit, allowing them to respawn. However, in v1.2.0, the new ShakeAndDropFruit function handles fruit spawning directly, without returning values that can be easily modified.
To restore this functionality, it would be needed to either override the ShakeAndDropFruit method with a prefix or modify the IL code to generate random IDs for each fruit. This approach was beyond the scope of this PR, but a possible minimal solution would involve replacing the loop index with a random number to ensure unique IDs.

Additional Notes:
Upon starting the game, several errors and warnings appear in the output log related to this mod. These include:

Errors related to skipping the credits and disclaimer.
A missing object reference in TreeRenderer.UpdateFromData (specifically in SpriteExtensions.Data).
Multiple NullReferenceExceptions throughout the UI code.

As I am not deeply familiar with the mod's source code or the underlying changes in the game’s update, I did not attempt to resolve these issues. They might require further investigation
DLL File as interim solution:
I’ve attached a compiled version of the mod, which should work with v1.2.0 as a temporary solution until the repository is fully updated and the mod is officially released on Nexus Mods.
Find it here: CheatMod.zip
Closes #2

Thank you very much, you are the best! There is no hope for the mod developer, it seems he has given up on the mod


[WIP] Fixing unnecessary deserialization loop for DataSource V2 batch-writing API

Tips

Thank you very much for contributing to Apache Hudi.
Please review https://hudi.apache.org/contribute/how-to-contribute before opening a pull request.

What is the purpose of the pull request
Fixing unnecessary deserialization loop for DataSource V2 batch-writing API: it previously was relying on the API that was triggering the de-/serialization loop (from InternalRow to Row and back).
Brief change log

Adding mapInternal util to HoodieUnsafeCatalystUtil
Fixed perf hit in Spark DataSource V2 w/ avoidable de/-serialization loop
Tidying up

Verify this pull request
This pull request is already covered by existing tests, such as (please describe tests).
(example:)

Added integration tests for end-to-end.
Added HoodieClientWriteTest to verify the change.
Manually verified the change by running a job locally.

Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

Closing in favor of https://github.com/apache/hudi/pull/6361


bump fulcio dep to 0.5.2

Signed-off-by: Kenny Leung<EMAIL_ADDRESS>
Summary

this updates the fulcio dep from 0.1.2 to 0.5.2.
api.Client => api.LegacyClient
io/ioutil deprecated in go 1.16, use corresponding replacement in io and os
Release Note

NONE
Documentation

Codecov Report

Merging #2176 (2f0bac0) into main (8f29f03) will increase coverage by 0.66%.
The diff coverage is 40.00%.

:exclamation: Current head 2f0bac0 differs from pull request most recent head 946d1e9. Consider uploading reports for the commit 946d1e9 to get more accurate results

@@            Coverage Diff             @@
##             main    #2176      +/-   ##
==========================================
+ Coverage   26.03%   26.70%   +0.66%
==========================================
  Files         131      131
  Lines        7689     7689
==========================================
+ Hits         2002     2053      +51
+ Misses       5445     5375      -70
- Partials      242      261      +19

Impacted Files
Coverage Δ

cmd/cosign/cli/options/registry.go
0.00% <0.00%> (ø)

pkg/cosign/fetch.go
0.00% <0.00%> (ø)

cmd/cosign/cli/fulcio/fulcio.go
18.26% <66.66%> (ø)

pkg/blob/load.go
74.28% <0.00%> (+5.71%)
:arrow_up:

pkg/oci/layout/index.go
28.57% <0.00%> (+28.57%)
:arrow_up:

pkg/oci/layout/write.go
37.50% <0.00%> (+37.50%)
:arrow_up:

pkg/oci/layout/signatures.go
53.84% <0.00%> (+53.84%)
:arrow_up:

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


Bulk delete properties

Added methods to support deleting multiple properties on a single ES request to minimize collisions.
Fixes: https://github.com/v5analytics/visallo-lts/issues/1983

The testChangeVisibilityVertex test changes the visibility on a Vertex which causes the index deleteProperties method to get executed


ReadRecords seems to have wrong definition

Expected Behavior
Please describe the behavior you are expecting
I expected ReadRecords to follow the python definition:
def read_records(
    self, stream_state: Mapping[str, Any] = None, stream_slice: Optional[Mapping[str, Any]] = None, **kwargs
) -> Iterable[Mapping[str, Any]]:

In C#, this would look something like:
public FluentStreamBuilder ReadRecords(
  Func<JsonElement, JsonElement, IEnumerable<JsonElement> func)
{
  ...
}

Note that this function returns an iterable JsonElement.
Current Behavior
What is the current behavior?
Currently, the ReadRecords function returns a Task variable. The function looks like this when I look at the source code:
/// <summary>
/// This method should be overridden by subclasses to read records based on the inputs
/// </summary>
/// <param name="func">Input: SyncMode syncmode, ChannelWriter streamchannel, long? recordlimit, Dictionary cursorfield, Dictionary streamslice, JsonElement streamstate | Output Task></param>
public FluentStreamBuilder ReadRecords(
  Func<AirbyteLogger, SyncMode, ChannelWriter<AirbyteMessage>, long?, string[],
      Dictionary<string, object>, Dictionary<string, object>, Task<long>> func) =>
  AddFunc(func, nameof(ReadRecords));

This is not in line with the python function, which makes it very hard to mimic the behavior of connectors implemented in python. As an example to look at (which I've used for the above python example) is the BigCommerce connector.
Moreover, the docstring for this function is weird. The parameter definitions in the param name section are incoherent with the actual parameters of the function.
Failure Information (for bugs)
Please help provide information about the failure if this is a bug. If it is not a bug, please remove the rest of this template.
Read the information above.
Steps to Reproduce
Please provide detailed steps for reproducing the issue.
Again, read the information above.
Context
Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.
I am using the latest version of Airbyte.CDK.DotNet (0.0.6).
Failure Logs
Please include any relevant log snippets or files here.
-

As a background to what I want to achieve, it's basically this:
Given an endpoint https://api.domain.com/base_data which returns a payload like this: [ { "id": 1, ... }, ...], I want to incrementally pull data from a second endpoint https://api.domain.com/child_data/{base_data_id}, which has a url parameter based on the base_data id. The BigCommerce example I showed above has relatively straightforward code to deal with this scenario, but I can't see any way of achieving this with the C# CDK. This is a dealbreaker if the functionality isn't possible to achieve. Should I just switch to the python CDK instead?

Hi @andforslow, thank you for checking out this CDK. Do know that this CDK has not been updated for a while. Back then (and I am not aware of any changes in this), the python CDK did not implement a builder pattern for creating connectors. Next to this the C# implementation uses channels to allow parallel streams in the future, another feature the python CDK did not support (it was on the backlog somewhere but no idea what the latest status is).
Regarding your request, I understand that you want to create a dependency between multiple streams where the output of one is the input of another stream. When the C# SDK was created there was no native way to do this in the Python CDK nor was there any time to implement this in the C# version. If the Python CDK has been further developed to accommodate your use case, I would suggest looking into the Python CDK version as it is maintained by Airbyte and more up to date than the C# version.


BestEffortFIFO ClusterQueue not functioning as expected

What happened:
Submitting after conversation on Slack Channel.
A K8s Cluster with multiple clusterqueues in the same cohort has each queue using BestEffortFIFO scheduling strategy.
One queue (queue-i) has both nominal quota and can borrow from another queue (queue-m). Submissions to queue-i after a time have started to stop being processed - a group of pending workloads appear to be blocking subsequent workloads from being considered.
Jobs A, B and C seem to get examined continuously by the reconciler with job E, F and G which could fit into the queue resources are not being scheduled.
Jobs E, F, G either are not given statuses or are not moved forward to use available resource.
What you expected to happen:
When Job A, B and C are waiting on 4 GPUs and Job E, F are only requiring CPU and G only require 1 GPU which is available for E,F and G to be added to run before A, B and C. This seems to be what the BestEffortFIFO description indicates.
This appears to work on other queues on the same cluster - though those queues are less populated.
How to reproduce it (as minimally and precisely as possible):
Five replicas of the queue controller.
With different variants of  following  (with values for each ranging up to 1000 in different tests):
    controller:
      groupKindConcurrency:
        Job.batch: 10
        Pod: 10
        Workload.kueue.x-k8s.io: 10
        LocalQueue.kueue.x-k8s.io: 10
        ClusterQueue.kueue.x-k8s.io: 10
        ResourceFlavor.kueue.x-k8s.io: 11
    clientConnection:
      qps: 50
      burst: 100

ResourceFlavours: 11
All defined with yaml such as:
apiVersion: kueue.x-k8s.io/v1beta1
kind: ResourceFlavor
metadata:
  name: "gpu-a100-owned"
spec:
  nodeLabels:
    nvidia.com/gpu.present: "true"
    nvidia.com/gpu.product: NVIDIA-A100-SXM4-40GB
    owned_node: "true"

Main Cluster Queue - this has no user-queue and can only be borrowed from.
Standard Queues - can borrow from main cluster queue upto limited but no nominal quota.
Owned Queue - can borrow from main cluster queue but also has nominal quota on specific resource flavours.
submit N jobs to Owned queue + M jobs to other queues. There is still a large amount of resource available in the main queue, but the Owned queue has hit limits on several GPU types.
Submit a Job with no GPUs - this should be run quickly but it waits for days in the queue until GPUs are released and the queue moves forward.
cluster
Anything else we need to know?:
The kueue-controller-manager is looping over the same set of jobs on the queue seemingly according to the logs:
This is an example of the log (jobs and identifiers altered):
{"level":"Level(-2)","ts":"2024-05-23T15:30:52.338457517Z","logger":"cluster-queue-reconciler","caller":"core/clusterqueue_controller.go:321","msg":"Got generic event","obj":{"name":"job-user-3-a4d95","namespace":"queue-i"},"kind":"/, Kind="}
{"level":"Level(-2)","ts":"2024-05-23T15:30:52.356051564Z","logger":"localqueue-reconciler","caller":"core/localqueue_controller.go:151","msg":"Queue update event","localQueue":{"name":"queue-i-user-queue","namespace":"queue-i"}}
{"level":"Level(-2)","ts":"2024-05-23T15:30:52.408043612Z","logger":"workload-reconciler","caller":"core/workload_controller.go:507","msg":"Workload update event","workload":{"name":"job-user-3-a4d95","namespace":"queue-i"},"queue":"queue-i-user-queue","status":"pending"}
{"level":"Level(-2)","ts":"2024-05-23T15:30:52.408174335Z","logger":"cluster-queue-reconciler","caller":"core/clusterqueue_controller.go:321","msg":"Got generic event","obj":{"name":"job-user-3-a4d95","namespace":"queue-i"},"kind":"/, Kind="}
{"level":"Level(-2)","ts":"2024-05-23T15:30:52.440990822Z","logger":"localqueue-reconciler","caller":"core/localqueue_controller.go:151","msg":"Queue update event","localQueue":{"name":"queue-i-user-queue","namespace":"queue-i"}}
{"level":"Level(-2)","ts":"2024-05-23T15:30:52.462278246Z","logger":"workload-reconciler","caller":"core/workload_controller.go:507","msg":"Workload update event","workload":{"name":"job-user-3-a4d95","namespace":"queue-i"},"queue":"queue-i-user-queue","status":"pending"}
{"level":"Level(-2)","ts":"2024-05-23T15:30:52.462386688Z","logger":"cluster-queue-reconciler","caller":"core/clusterqueue_controller.go:321","msg":"Got generic event","obj":{"name":"job-user-3-a4d95","namespace":"queue-i"},"kind":"/, Kind="}
{"level":"Level(-2)","ts":"2024-05-23T15:30:52.517825875Z","logger":"workload-reconciler","caller":"core/workload_controller.go:507","msg":"Workload update event","workload":{"name":"job-user-3-a4d95","namespace":"queue-i"},"queue":"queue-i-user-queue","status":"pending"}
{"level":"Level(-2)","ts":"2024-05-23T15:30:52.517928096Z","logger":"cluster-queue-reconciler","caller":"core/clusterqueue_controller.go:321","msg":"Got generic event","obj":{"name":"job-user-3-a4d95","namespace":"queue-i"},"kind":"/, Kind="}
{"level":"Level(-2)","ts":"2024-05-23T15:30:52.57499746Z","logger":"workload-reconciler","caller":"core/workload_controller.go:507","msg":"Workload update event","workload":{"name":"job-user-3-a4d95","namespace":"queue-i"},"queue":"queue-i-user-queue","status":"pending"}
{"level":"Level(-2)","ts":"2024-05-23T15:30:52.575161236Z","logger":"cluster-queue-reconciler","caller":"core/clusterqueue_controller.go:321","msg":"Got generic event","obj":{"name":"job-user-3-a4d95","namespace":"queue-i"},"kind":"/, Kind="}
{"level":"Level(-2)","ts":"2024-05-23T15:30:52.629990998Z","logger":"workload-reconciler","caller":"core/workload_controller.go:507","msg":"Workload update event","workload":{"name":"job-user-3-a4d95","namespace":"queue-i"},"queue":"queue-i-user-queue","status":"pending"}
{"level":"Level(-2)","ts":"2024-05-23T15:30:52.630123565Z","logger":"cluster-queue-reconciler","caller":"core/clusterqueue_controller.go:321","msg":"Got generic event","obj":{"name":"job-user-3-a4d95","namespace":"queue-i"},"kind":"/, Kind="}
{"level":"Level(-2)","ts":"2024-05-23T15:30:52.688532654Z","logger":"workload-reconciler","caller":"core/workload_controller.go:507","msg":"Workload update event","workload":{"name":"job-user-3-a4d95","namespace":"queue-i"},"queue":"queue-i-user-queue","status":"pending"}
{"level":"Level(-2)","ts":"2024-05-23T15:30:52.688774344Z","logger":"cluster-queue-reconciler","caller":"core/clusterqueue_controller.go:321","msg":"Got generic event","obj":{"name":"job-user-3-a4d95","namespace":"queue-i"},"kind":"/, Kind="}
{"level":"Level(-2)","ts":"2024-05-23T15:30:52.752545498Z","logger":"workload-reconciler","caller":"core/workload_controller.go:507","msg":"Workload update event","workload":{"name":"job-user-3-a4d95","namespace":"queue-i"},"queue":"queue-i-user-queue","status":"pending"}
{"level":"Level(-2)","ts":"2024-05-23T15:30:52.752763284Z","logger":"cluster-queue-reconciler","caller":"core/clusterqueue_controller.go:321","msg":"Got generic event","obj":{"name":"job-user-3-a4d95","namespace":"queue-i"},"kind":"/, Kind="}
{"level":"Level(-2)","ts":"2024-05-23T15:30:52.815911609Z","logger":"workload-reconciler","caller":"core/workload_controller.go:507","msg":"Workload update event","workload":{"name":"job-user-5-e565e","namespace":"queue-i"},"queue":"queue-i-user-queue","status":"pending"}
{"level":"Level(-2)","ts":"2024-05-23T15:30:52.81605738Z","logger":"cluster-queue-reconciler","caller":"core/clusterqueue_controller.go:321","msg":"Got generic event","obj":{"name":"job-user-5-e565e","namespace":"queue-i"},"kind":"/, Kind="}
{"level":"Level(-2)","ts":"2024-05-23T15:30:52.87201318Z","logger":"workload-reconciler","caller":"core/workload_controller.go:507","msg":"Workload update event","workload":{"name":"job-user-3-a4d95","namespace":"queue-i"},"queue":"queue-i-user-queue","status":"pending"}
{"level":"Level(-2)","ts":"2024-05-23T15:30:52.872240924Z","logger":"cluster-queue-reconciler","caller":"core/clusterqueue_controller.go:321","msg":"Got generic event","obj":{"name":"job-user-3-a4d95","namespace":"queue-i"},"kind":"/, Kind="}
{"level":"Level(-2)","ts":"2024-05-23T15:30:52.927585155Z","logger":"workload-reconciler","caller":"core/workload_controller.go:507","msg":"Workload update event","workload":{"name":"job-user-3-a4d95","namespace":"queue-i"},"queue":"queue-i-user-queue","status":"pending"}
{"level":"Level(-2)","ts":"2024-05-23T15:30:52.927744171Z","logger":"cluster-queue-reconciler","caller":"core/clusterqueue_controller.go:321","msg":"Got generic event","obj":{"name":"job-user-3-a4d95","namespace":"queue-i"},"kind":"/, Kind="}
{"level":"Level(-2)","ts":"2024-05-23T15:30:52.991140568Z","logger":"workload-reconciler","caller":"core/workload_controller.go:507","msg":"Workload update event","workload":{"name":"job-user-3-a4d95","namespace":"queue-i"},"queue":"queue-i-user-queue","status":"pending"}
{"level":"Level(-2)","ts":"2024-05-23T15:30:52.991269608Z","logger":"cluster-queue-reconciler","caller":"core/clusterqueue_controller.go:321","msg":"Got generic event","obj":{"name":"job-user-3-a4d95","namespace":"queue-i"},"kind":"/, Kind="}
{"level":"Level(-2)","ts":"2024-05-23T15:30:53.051492274Z","logger":"workload-reconciler","caller":"core/workload_controller.go:507","msg":"Workload update event","workload":{"name":"job-user-3-a4d95","namespace":"queue-i"},"queue":"queue-i-user-queue","status":"pending"}
{"level":"Level(-2)","ts":"2024-05-23T15:30:53.051702716Z","logger":"cluster-queue-reconciler","caller":"core/clusterqueue_controller.go:321","msg":"Got generic event","obj":{"name":"job-user-3-a4d95","namespace":"queue-i"},"kind":"/, Kind="}
{"level":"Level(-2)","ts":"2024-05-23T15:30:53.106039761Z","logger":"workload-reconciler","caller":"core/workload_controller.go:507","msg":"Workload update event","workload":{"name":"job-user-3-a4d95","namespace":"queue-i"},"queue":"queue-i-user-queue","status":"pending"}
{"level":"Level(-2)","ts":"2024-05-23T15:30:53.106222702Z","logger":"cluster-queue-reconciler","caller":"core/clusterqueue_controller.go:321","msg":"Got generic event","obj":{"name":"job-user-3-a4d95","namespace":"queue-i"},"kind":"/, Kind="}
{"level":"Level(-2)","ts":"2024-05-23T15:30:53.163957936Z","logger":"workload-reconciler","caller":"core/workload_controller.go:507","msg":"Workload update event","workload":{"name":"job-user-3-a4d95","namespace":"queue-i"},"queue":"queue-i-user-queue","status":"pending"}

Environment:

Kubernetes version (use kubectl version): v1.24.10 RKE2
Kueue version (use git describe --tags --dirty --always): v0.6.2
Cloud provider or hardware configuration: KVM with Nvidia GPUs
OS (e.g: cat /etc/os-release): Ubuntu 20.04
Kernel (e.g. uname -a):
Install tools: Rancher/RKE2
Others:  5.4.0-163-generic

Additional Note: Pausing the queue and making the workloads which appear to be blocking the queue inactive, seems to temporarily unblock the queue but reinserting them ends with a similar issue.

Since you are using node labels in your Resource Flavor, this is likely a duplicate of https://github.com/kubernetes-sigs/kueue/issues/2391
Could you try using image gcr.io/k8s-staging-kueue/kueue:v20240619-v0.7.0-8-gaa682c90 to see if the issue persist?
Sorry we missed your issue earlier. Feel free to ping one of the OWNERS if you don't receive a response within a week.

@agngrant would you like to test a newer version as suggested in https://github.com/kubernetes-sigs/kueue/issues/2270#issuecomment-2189992924?

@agngrant do you have any update for this issue when trying to repro on latest Kueue? As indicated by the previous comments the issue likely already solved.


Failing to get the time information from the time node

I am not obtaining the time information from the time node when scraping data from a Facebook page. Here is a sample output JSON data for which the time retrieval has failed.
{
	"post_id": "936518901176820",
	"text": "We invite you to join us as #NASARemembers those who lost their lives in the pursuit of exploration. Our annual Day of Remembrance falls on Jan. 25 this year.\n\nLearn how we commit to safety while exploring the cosmos with our new NASA+ playlist: https://\ngo.nasa.gov/\n3Sdg7KB",
	"post_text": "We invite you to join us as #NASARemembers those who lost their lives in the pursuit of exploration. Our annual Day of Remembrance falls on Jan. 25 this year.\n\nLearn how we commit to safety while exploring the cosmos with our new NASA+ playlist: https://\ngo.nasa.gov/\n3Sdg7KB",
	"shared_text": "",
	"original_text": null,
	"time": null,
	"timestamp": null,
	//remaining node
}

Here is my python script which I am using for scraping post data.
cnt = 0
file_path = "temp_post.json"
all_posts = []
BASE_URL = "https://mbasic.facebook.com"
START_URL = "https://mbasic.facebook.com/NASA?v=timeline"
PAGE_URL = "NASA"

for cnt, post in enumerate(get_posts(PAGE_URL, base_url=BASE_URL, start_url=START_URL, pages=10, cookies="cookies.txt", options={"posts_per_page": 10, 'comments': True})):
    if cnt < 2:
        all_posts.append(post)
    else:
        break

with open(file_path, 'w') as file:
    json.dump(all_posts, file, indent=4)
    file.write('\n')

What is the problem? Is there any error here? In this scraping method, I am also not obtaining the number of followers and likes for the Facebook page. Is it possible to do so? @moda20

@shovon26 the time node should be back to being accurate, except taht it's on the time attribute and not timestamp