Fatal Error: Uncaught Error: Class 'Timber\Timber' not found after update from 0.22.6 to 1.5.2

Expected behavior
I recently began the upgrade procedure for updating from 0.22.6 to the current release 1.5.2.  I've made the necessary changes to continue to support Routes; removed deprecated methods etc.  My site loads fine on a local machine (VM running CentOS 7.2 w/ nginx and PHP 7)
Actual behavior
On my staging server, the site will not load and instead posts the following errors:
Warning: include(/var/www/my-site/public/content/plugins/timber-library/lib/Timber.php): failed to open stream: No such file or directory in /var/www/my-site/public/content/vendor/composer/ClassLoader.php on line 412

Warning: include(): Failed opening '/var/www/aspen/public/content/plugins/timber-library/lib/Timber.php' for inclusion (include_path='.:/usr/share/pear7:/usr/share/php7') in /var/www/aspen/public/content/vendor/composer/ClassLoader.php on line 412

Fatal error: Uncaught Error: Class 'Timber\Timber' not found in /var/www/aspen/public/content/plugins/timber-library/timber.php:21 Stack trace: #0 /var/www/aspen/public/wp/wp-settings.php(303): include_once() #1 /var/www/aspen/public/wp/wp-config.php(10): require_once('/var/www/aspen/...') #2 /var/www/aspen/public/wp/wp-load.php(37): require_once('/var/www/aspen/...') #3 /var/www/aspen/public/wp/wp-blog-header.php(13): require_once('/var/www/aspen/...') #4 /var/www/aspen/public/index.php(7): require('/var/www/aspen/...') #5 {main} thrown in /var/www/aspen/public/content/plugins/timber-library/timber.php on line 21

Steps to reproduce behavior
Happens on site load.
What version of WordPress, PHP and Timber are you using?
WordPress 4.8.2 with PHP 7.0.23 and Timber 1.5.2
How did you install Timber? (for example, from GitHub, Composer/Packagist, WP.org?)
I tried updating Timber two ways.  First used Composer and Packagist but saw this old issue #1308 where there can be issues from updating Timber via Composer.  Did a revert of my composer.json and tried installing via the plugin updater.  Still having the same issues.

I think this has to do with Timber being namespaced now (see releases/tag/1.0.0-rc3).
You can solve the issue by using Timber\Timber instead of Timber in your PHP files. But you should be aware that there are also breaking changes in the class names. For example, TimberPost became Timber\Post.
See new doc "Reference" section for a list of all available classes : https://timber.github.io/docs/reference/

Is that true for things like TimberSite as well?  Seems that the documentation  isn't super clear on that.
I'll give that a try though and report back.  Thanks!

yup, it seems that documentation, as well as the starter theme, still refers to 0.* versions.
You can move from
class MySite extends TimberSite {

to
class MySite extends Timber\Site {

Wow, ok thanks.  @jarednova what would be the best way to submit a change for that documentation page?
As a followup on namespacing (forgive me, it's a newer concept to me) does that also apply to the TimberPost function that can be used on .twig files? For example, should:
{% for item in TimberPost(featured) %}
        {%- include "foo.twig" with {
            "foo": bar,
            "bar": foo
        }
     -%}

Be changed to:
{% for item in Timber\Post(featured) %}
        {%- include "foo.twig" with {
            "foo": bar,
            "bar": foo
        }
     -%}

Twig function names didn't change.
See here : https://github.com/timber/timber/blob/master/lib/Twig.php#L52

@gsalkin Documentation for the reference is auto-generated from the DocBlocks of the PHP files. So to change the examples for Timber\Site, you’d have to edit the DocBlocks directly and submit a pull request for that, e.g. here: https://github.com/timber/timber/blob/f566b4c3a1a778dab68afa154a4806b90287d6a6/lib/Site.php#L17
There are still a lot of areas where the documentation has to be completed, especially in the class reference. So pull requests are very welcome! 😊

Good to know.  Strangely, the Timber starter theme is using the old, non-namespaced version of timber functions like TimberPost or TimberSite.  Is there some kind of backwards compatibility going on that my site isn't taking advantage of?  Perhaps I've stumbled on to a larger set of enhancements for the project currently ongoing?

@drskullster By the by, updating with Namespacing does not seem to have worked.  Still same errors.
Are ALL references to Timber required to be renamed to Timber\Timber?
For example: Timber::get_context() becomes Timber\Timber::get_context()?
I guess I'm confused my old non-namespaced functions are still working on the VM but not in the staging environment.  Is there a possibility this is related to an issue in my deployment process?

@gsalkin yes, every time you're using the class Timber you'll have to namespace it.
An alternative would be to insert a use statement at the beginning of your php file. You'll also have to add a statement for each class you're using :
use Timber\Timber;
use Timber\Post;
use Timber\Site;
...
Timber::get_context();
...
class MySite extends Site {}
...
new Post();

As a side note, if you're feeling nostalgic about the old class names you could do something like :
use Timber\Post as TimberPost;
...
new TimberPost();

@drskullster very helpful, thanks.  Still find it strange that documentation and the starter theme haven't been updated with this namespacing change.  Makes it hard to accurately replicate code.


fix: Incorrect session details display from widget list item click

Fixes #1825
Changes:
Also fixes the multiple stacking of activities when clicked on multiple list items.
@iamareebjamal @Shailesh351 @arp95 @shreyasnbhat @mahikaw please review.

This was a neat fix. Nice work.
Sent from my OnePlus ONEPLUS A5000 using FastHub


Add Integration Tests for EditCommand #254

Part of #254
Ready for review.

v1
@chao1995 submitted v1 for review.

[v1 1/2] EditCommandTest: move invalid-value tests to integration test
[v1 2/2] EditCommandTest: move variations of field-value tests to integration test

(:books: Archive)

Checkout this PR version locally
git fetch https://github.com/se-edu/addressbook-level4.git refs/pr/317/1/head:BRANCHNAME

where BRANCHNAME is the name of the local branch you want to fetch this PR to.

Just a quick comment: LogicManagerTest is already extremely cluttered. We should be trying to move tests away from it.

@chao1995 Just a question while skimming through, will you also be moving down tests like edit_noFieldsSpecified_failure() and edit_duplicatePerson_failure()?

@pyokagan Yes. I think it would be better if we can move the integration tests in LogicManagerTest to each separate command. Probably create an issue for that?

@yamgent I'd like to keep them in gui tests since they are testing different scenarios. But we can "copy" them down to integration tests as well.

@chao1995

Yes. I think it would be better if we can move the integration tests in LogicManagerTest to each separate command. Probably create an issue for that?

Yes that get be done. My main point is that I wouldn't want this PR to make the existing situation worse :-)

[v1 1/2]:

Invalid values happen in various positions are tested in GUI test.
It is slow and unnecessary.
Let's move these tests to integration test.

How about

Various invalid inputs for the edit command are tested in GUI tests.
GUI testing is costly, and these tests are not GUI-specific, so they should be
moved to a lower level integration test.
Let's move these tests to integration test.

[v1 2/2]:

Tests on variations of fields to be edited are in GUI tests.
This is slow and unnecessary.
Let's only keep one, the all-fields-specified test in GUI test level to
ensure edit command works in GUI level, and move the rest of tests to
integration test level.

How about

Variations of fields provided in the edit command are tested in GUI tests.
GUI testing is costly, and these tests are not GUI-specific, so they should be
moved to a lower level integration test.
Let's only keep one, the all-fields-specified test in GUI test level to
ensure edit command works in GUI level, and move the rest of tests to
integration test level.

[v1 2/2]:

Tests on variations of fields to be edited are in GUI tests.
This is slow and unnecessary.
Let's only keep one, the all-fields-specified test in GUI test level to
ensure edit command works in GUI level, and move the rest of tests to
integration test level.

How about

Variations of fields provided in the edit command are tested in GUI tests.
GUI testing is costly, and these tests are not GUI-specific, so they should be
moved to a lower level integration test.
Let's only keep one, the all-fields-specified test in GUI test level to
ensure edit command works in GUI level, and move the rest of tests to
integration test level.

@yamgent I'd like to keep them in gui tests since they are testing different scenarios. But we can make a "copy" of them in integration tests as well.

Ok, was thinking that they can be moved down since they are testing the logic and not the GUI. Don't really need to copy them if we are leaving it in GUI test.

@yamgent

was thinking that they can be moved down since they are testing the logic and not the GUI

What does testing the GUI actually mean? Is it, "you simulate some use action in the GUI, then you verify some GUI results."
Actually, I have a hard time deciding which tests to keep, which to push down. I chose this approach to decide which ones to keep, if two tests have different input (e.g. "edit 1 XX" vs "find X" then "edit 1 XX"), keep. If they have similar inputs, but different result (no_field -> failure vs all_field->success), keep.
That said, I think I better add back an invalid test in gui test.

What does testing the GUI actually mean?

Case 1: input X1 , confirm GUI has behavior
Case 2: input X2 , confirm GUI has behavior
If case 1 and 2 both executed the same code path through GUI, only one of them should remain in GUI tests.
For edit commands, possible GUI test cases are

edit succeeds
edit fails

Any more cases where the GUI behavior differs from the above two?

If case 1 and 2 both executed the same code path through GUI, only one of them should remain in GUI tests.

Now I know! Thank you prof!

Any more cases where the GUI behavior differs from the above two?

For success, the code path is the same, whereas for failure, there are many possible code paths, with different inputs:

invalid person index (fails at execution)
no person index (fails at parsing)
edit to a duplicate person
some invalid value in Name, Address etc (fails at parsing)
no edited fields

For success, the code path is the same, whereas for failure, there are many possible code paths, with different inputs:

invalid person index (fails at execution)
no person index (fails at parsing)
edit to a duplicate person
some invalid value in Name, Address etc (fails at parsing)
no edited fields

Some/all of these paths vary outside the GUI code, right? If so, those should be covered in the same GUI test, because to the GUI code all these failures appear the same and it responds the same way.

Change to OnHold until this issue is fixed.

Remove onhold because I decide to go the other way round, finish this PR first before starting the LogicManagerTest PR because that PR is larger than this one.

v2
@chao1995 submitted v2 for review.

[v2 1/3] EditCommandTest: move tests on parsing to EditCommandParserTest
[v2 2/3] Add CommandIntegrationTest
[v2 3/3] EditCommandTest: move tests down to integration level

(:books: Archive) (:chart_with_upwards_trend: Interdiff between v1 and v2)

Checkout this PR version locally
git fetch https://github.com/se-edu/addressbook-level4.git refs/pr/317/2/head:BRANCHNAME

where BRANCHNAME is the name of the local branch you want to fetch this PR to.

v3
@chao1995 submitted v3 for review.

[v3 1/3] EditCommandTest: move tests on parsing to EditCommandParserTest
[v3 2/3] Add CommandIntegrationTest
[v3 3/3] EditCommandTest: move tests down to integration level

(:books: Archive) (:chart_with_upwards_trend: Interdiff between v2 and v3)

Checkout this PR version locally
git fetch https://github.com/se-edu/addressbook-level4.git refs/pr/317/3/head:BRANCHNAME

where BRANCHNAME is the name of the local branch you want to fetch this PR to.

v4
@chao1995 submitted v4 for review.

[v4 1/3] EditCommandTest: move parsing tests to EditCommandParserTest
[v4 2/3] Add CommandIntegrationTest
[v4 3/3] EditCommandTest: move integration tests to EditCommandIntegrationTest

(:books: Archive) (:chart_with_upwards_trend: Interdiff between v3 and v4)

Checkout this PR version locally
git fetch https://github.com/se-edu/addressbook-level4.git refs/pr/317/4/head:BRANCHNAME

where BRANCHNAME is the name of the local branch you want to fetch this PR to.

v5
@chao1995 submitted v5 for review.

[v5 1/3] EditCommandTest: move parsing tests to EditCommandParserTest
[v5 2/3] Add CommandIntegrationTest
[v5 3/3] EditCommandTest: move integration tests to EditCommandIntegrationTest

(:books: Archive) (:chart_with_upwards_trend: Interdiff between v4 and v5)

Checkout this PR version locally
git fetch https://github.com/se-edu/addressbook-level4.git refs/pr/317/5/head:BRANCHNAME

where BRANCHNAME is the name of the local branch you want to fetch this PR to.

@chao1995 One way to attack this problem is to leave the GUI tests alone first and do the lower level tests first as separate PRs, one level at a time, starting with unit tests. The last PR can be the one that deletes redundant tests from GUI tests.
If you just move GUI tests to lower levels, you end up with lot of missing tests cases at lower levels (lower level tests are supposed to be very rigorous). If you try to add all missing test cases in the same PR, that PR is going to go out of control.

Change to onhold. Will submit PRs for lower level tests.

v6
@chao1995 submitted v6 for review.

[v6 1/2] Add CommandIntegrationTest
[v6 2/2] Add EditCommandIntegrationTest

(:books: Archive) (:chart_with_upwards_trend: Interdiff between v5 and v6)

Checkout this PR version locally
git fetch https://github.com/se-edu/addressbook-level4.git refs/pr/317/6/head:BRANCHNAME

where BRANCHNAME is the name of the local branch you want to fetch this PR to.

One way to attack this problem is to leave the GUI tests alone first and do the lower level tests first as separate PRs, one level at a time, starting with unit tests.

@damithc Prof, this PR is modified to contain only integration tests for EditCommand. It doesn't delete tests in GUI tests, and is covering all possible paths in EditCommand#execute() using real model dependency.
Since we are going to have unit test for AddCommand, I didn't do an unit test for EditCommand. But an unit test for EditCommandParser is done in a separate PR.

v7
@chao1995 submitted v7 for review.

[v7 1/3] Add CommandIntegrationTest
[v7 2/3] Add EditCommandIntegrationTest
[v7 3/3] Replace potentially genuine email addresses with example.com

(:books: Archive) (:chart_with_upwards_trend: Interdiff between v6 and v7)

Checkout this PR version locally
git fetch https://github.com/se-edu/addressbook-level4.git refs/pr/317/7/head:BRANCHNAME

where BRANCHNAME is the name of the local branch you want to fetch this PR to.

On a related note, what do you guys think about holding off the introduction of the parent class until we really need it? We know that we are definitely going to need it, but at the moment we cannot be sure exactly what it should contain.

On a related note, what do you guys think about holding off the introduction of the parent class until we really need it? We know that we are definitely going to need it, but at the moment we cannot be sure exactly what it should contain.

Will drop the parent class commit. Perhaps introduce it when we are breaking down the LogicManagerTest.

v8
@chao1995 submitted v8 for review.

[v8 1/2] PersonUtil: introduce getEditCommand(int, Person)
[v8 2/2] Add EditCommandIntegrationTest

(:books: Archive) (:chart_with_upwards_trend: Interdiff between v7 and v8)

Checkout this PR version locally
git fetch https://github.com/se-edu/addressbook-level4.git refs/pr/317/8/head:BRANCHNAME

where BRANCHNAME is the name of the local branch you want to fetch this PR to.

v9
@chao1995 submitted v9 for review.

[v9 1/2] PersonUtil: add getEditCommand(int, Person)
[v9 2/2] Add EditCommandIntegrationTest

(:books: Archive) (:chart_with_upwards_trend: Interdiff between v8 and v9)

Checkout this PR version locally
git fetch https://github.com/se-edu/addressbook-level4.git refs/pr/317/9/head:BRANCHNAME

where BRANCHNAME is the name of the local branch you want to fetch this PR to.

v10
@chao1995 submitted v10 for review.

[v10 1/2] PersonUtil: add getEditCommand(int, Person)
[v10 2/2] Add EditCommandIntegrationTest

(:books: Archive) (:chart_with_upwards_trend: Interdiff between v9 and v10)

Checkout this PR version locally
git fetch https://github.com/se-edu/addressbook-level4.git refs/pr/317/10/head:BRANCHNAME

where BRANCHNAME is the name of the local branch you want to fetch this PR to.

v11
@chao1995 submitted v11 for review.

[v11 1/2] PersonUtil: add getEditCommand(int, Person)
[v11 2/2] Add EditCommandIntegrationTest

(:books: Archive) (:chart_with_upwards_trend: Interdiff between v10 and v11)

Checkout this PR version locally
git fetch https://github.com/se-edu/addressbook-level4.git refs/pr/317/11/head:BRANCHNAME

where BRANCHNAME is the name of the local branch you want to fetch this PR to.

@yamgent @PierceAndy @MightyCupcakes can have another look? It's been a while since you approved it last.

v12
@chao1995 submitted v12 for review.

[v12 1/2] PersonUtil: add getEditCommand(int, Person)
[v12 2/2] Add EditCommandIntegrationTest

(:books: Archive) (:chart_with_upwards_trend: Interdiff between v11 and v12)

Checkout this PR version locally
git fetch https://github.com/se-edu/addressbook-level4.git refs/pr/317/12/head:BRANCHNAME

where BRANCHNAME is the name of the local branch you want to fetch this PR to.

v13
@chao1995 submitted v13 for review.

[v13 1/2] PersonUtil: add getEditCommand(int, Person)
[v13 2/2] Add EditCommandIntegrationTest

(:books: Archive) (:chart_with_upwards_trend: Interdiff between v12 and v13)

Checkout this PR version locally
git fetch https://github.com/se-edu/addressbook-level4.git refs/pr/317/13/head:BRANCHNAME

where BRANCHNAME is the name of the local branch you want to fetch this PR to.

v12: make code more readable and robust by following Pierce's suggestions.
v13: simplify the way to retrieve the first person from model.

v12: make code more readable and robust by following Pierce's suggestions.
v13: simplify the way to retrieve the first person from model.

v14
@chao1995 submitted v14 for review.

[v14 1/2] PersonUtil: add getEditCommand(int, Person)
[v14 2/2] Add EditCommandIntegrationTest

(:books: Archive) (:chart_with_upwards_trend: Interdiff between v13 and v14)

Checkout this PR version locally
git fetch https://github.com/se-edu/addressbook-level4.git refs/pr/317/14/head:BRANCHNAME

where BRANCHNAME is the name of the local branch you want to fetch this PR to.

v15
@chao1995 submitted v15 for review.

[v15 1/2] PersonUtil: add getEditCommand(int, Person)
[v15 2/2] Add EditCommandIntegrationTest

(:books: Archive) (:chart_with_upwards_trend: Interdiff between v14 and v15)

Checkout this PR version locally
git fetch https://github.com/se-edu/addressbook-level4.git refs/pr/317/15/head:BRANCHNAME

where BRANCHNAME is the name of the local branch you want to fetch this PR to.

@chao1995 what are the remaining steps to complete testing of the edit command at correct levels?
@yamgent are we going to complete testing of edit command first, or add command, or both in parallel?
@Zhiyuan-Amos FYI

@damithc
unit test for EditCommandParser (and maybe EditCommand)
integration test is done in this PR
GUI test: remove unnecessary tests from EditCommandTest

@damithc Perhaps we should focus on completing the edit command first so that we can sort out all the nitty details, then later on applying them to the other commands.

@yamgent Does this mean #387 would be put on a hold first?


ansi: inconsistent handling of tabs

ansi.StringWidth treats tabs as zero width, but ansi.Harwrap treats tabs a non-zero width of 1.
one would get would unexpected results with a construct such as this :
	s := "foo\tbar"
	n := ansi.StringWidth(s)           // n == 6
	p := ansi.Hardwrap(s, n, true)

	// p == "foo\tba\nr"
	// not  "foo\tbar" as one might expect

not sure if this is a bug or intended behavior.
one of the tests for Hardwrap is..
	{"tab", "foo\tbar", 3, "foo\n\tba\nr", true},

Thank you, @pachecot, for opening this issue. I've opened https://github.com/charmbracelet/x/pull/238 to patch this one 🙂


Using TFLite GPU

Whenever I try to use tflite with gpu support ('org.tensorflow:tensorflow-lite:0.0.1-gpu-experimental') I get "GpuDelegate: java.lang.ClassNotFoundException" in runtime, though it compiles fine. flutter clean doesn't help.
E/flutter (25136): [ERROR:flutter/shell/platform/android/platform_view_android_jni.cc(40)] java.lang.NoClassDefFoundError: Failed resolution of: Lorg/tensorflow/lite/experimental/GpuDelegate;
E/flutter (25136): 	at sq.flutter.tflite.TflitePlugin.loadModel(TflitePlugin.java:139)
E/flutter (25136): 	at sq.flutter.tflite.TflitePlugin.onMethodCall(TflitePlugin.java:68)
E/flutter (25136): 	at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:201)
E/flutter (25136): 	at io.flutter.view.FlutterNativeView$PlatformMessageHandlerImpl.handleMessageFromDart(FlutterNativeView.java:188)
E/flutter (25136): 	at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:202)
E/flutter (25136): 	at android.os.MessageQueue.nativePollOnce(Native Method)
E/flutter (25136): 	at android.os.MessageQueue.next(MessageQueue.java:323)
E/flutter (25136): 	at android.os.Looper.loop(Looper.java:142)
E/flutter (25136): 	at android.app.ActivityThread.main(ActivityThread.java:6238)
E/flutter (25136): 	at java.lang.reflect.Method.invoke(Native Method)
E/flutter (25136): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
E/flutter (25136): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)

Hi, @shaqian
It's a great work! I also tried to apply GPU delegate by adding gpudelegate to .\flutter.pub-cache\hosted\pub.flutter-io.cn\tflite-1.0.4, and also implemented tensorflow-lite-gpu:0.0.0-nightly in dependencies.
However it doesn't seems a huge difference occurs, looking forward to your suggestions!

Sorry for the delay. I don't have a compatible phone to test GPU. 😂
Looking at the the error, I think the problem may be the path is wrong? Should it be "/org" rather "Lorg" ?
Failed resolution of: Lorg/tensorflow/lite/experimental/GpuDelegate;
@Cheren15  Are you able to get GPU work successfully? I saw discussions previously (if I remember correctly) the GPU version improves certain operations, if your model doesn't use those operations there won't be much difference.

I got GPU delegate to work by removing unnecessary import from my project (I don't remember exactly how, but I had made really silly mistake. I guess I had gradle tensorflow gpu import inside my project, not in plugin). But I couldn't run inference on tiny yolov2 because it has operations that are unsupported by tensorflow lite gpu delegate (if I recall correctly it was MAX operation).

I got GPU delegate to work by removing unnecessary import from my project (I don't remember exactly how, but I had made really silly mistake. I guess I had gradle tensorflow gpu import inside my project, not in plugin). But I couldn't run inference on tiny yolov2 because it has operations that are unsupported by tensorflow lite gpu delegate (if I recall correctly it was MAX operation).

How did you enable/add GPU delegate in your Flutter project?

GPU delegate is now supported in the latest version 1.1.0. Set useGpuDelegate to true in loadModel.
Thanks,
Qian


support TIPS completely

Support the list of CUSPIDs, and support the ability to update the latest values, etc...

How to calculate TIPS adjusted Principal and upcoming interest payments: https://www.treasurydirect.gov/auctions/announcements-data-results/tips-cpi-data/#currentDocs
Lookup TIPS data:
CUSPID, Interest Rate, Security Term (5, 10, 30), Original Auction Date, Maturity Date
Montly CPI + DailyIndexRatios are published each month when CPI numbers are published (CPI release calendar).
Examples of XML download of that for 12/2023 and 1/2024:
January 2024 Reference CPI Numbers and Daily Index Ratios Table:
treasurydirect.gov/xml/CPI_20231212.xml
February 2024 Reference CPI Numbers and Daily Index Ratios Table:
treasurydirect.gov/xml/CPI_20240111.xml
Contains previous month CPI and for each TIPS CUSPID
the 20240111.xml contains:
CUSPID: 912810FD5 (for example)
Issue Date: 1998-04-15
For each day of next month (2/2024), it contains:
RefCPI and IndexRatio for that day


[SPARK-33498][SQL][FOLLOW-UP] Deduplicate the unittest by using checkCastWithParseError

What changes were proposed in this pull request?
Dup code removed in SPARK-33498 as follow-up.
Why are the changes needed?
Nit.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Existing UT.

Test build #131949 has started for PR 30540 at commit 30257d8.

Build finished.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/36546/

Merged to master.

Test build #131949 has finished for PR 30540 at commit 30257d8.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/131949/

Build finished.


Stop Animation on returnToOriginalState()

I just made a quick change to returnToOriginalState() in TKSubmitButton.swift by adding self.spiner.stopAnimation() to the function. Is that how you intended to cancel the spinner?

Here https://github.com/wwdc14/HySubmitTransitionObjective-C

greate but how do you get that in swift? ...


Slow to log in

I am using the latest version from git. Fedora 38 OS.
The login procedure works fine but it takes arround 30 seconds to log in.
With GDM it takes 1 or 2 seconds
What can be the reason for this and how can I investigate it?
Thanks!

that's insane because i can't even log into my qtile instance when i use ly.service. lightdm doesn't even start. i've been trying to do magic within the tty without any success :')

I am using the latest version from git. Fedora 38 OS. The login procedure works fine but it takes arround 30 seconds to log in. With GDM it takes 1 or 2 seconds What can be the reason for this and how can I investigate it? Thanks!

How odd, I've never seen this before...
What DE are you using? I'm assuming GNOME, but I'm asking just to be sure.
I'm not sure what this long time would be caused by, I'd have to investigate.

I use i3wm but the problem occurs also with GNOME. Let me know if I should provide some additional logs or any debbuging info


does EveryValueChanged support get oldvalue ?

At present, it seems that only the value after Change can be obtained, which is the new value.

You can use Pairwise to stick with one previous value.

thank you


CMake fails while looking for system files on macOS

While this may be a 10.15 Catalina surprise, CMake will not compile LuxCore, failing with Could NOT find Threads Threads is a system library, and so either LuxCore's macOS CMake script has some serious problems or macOS does; both are equally likely.
Attempted on:
Mac mini 2018 i7 32GB & macOS 10.15 Catalina Beta 4

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

10.15 is not yet supported in build files. So the SDK will not be found.

I guess we can close this one.


Add CSS in console logs from titleFormatter

currently I am using the titleFormatter like so:
titleFormatter: (action:Action, time?:string, took?:number):string => {
    return `🛎 ${action.tag ? `${action.type} => ${action.tag}` : action.type } ⏱${took.toFixed(2)}ms`;
}

I would like to color action.tag and action.type using string templates:
titleFormatter: (action:Action, time?:string, took?:number):string[] => {
    return [
        `🛎 ${action.tag ? `%c${action.type} => %c${action.tag}` : action.type } ⏱${took.toFixed(2)}ms`,
        'color: grey',
        'color: white'
    ]
}

Is this already possible? If not, I wouldn't mind spinning up a PR with some starting directions.

Fixed by using the custom logger.


Normative references section not showing references in GM/T 0009

In the GM/T 0009 document (https://github.com/riboseinc/gmt-0009-2012/), both Chinese and English, is not showing the full references.
Right now the display is broken in Word and HTML output, like this:
2.	规范性引用文件
下列文件对于本文件的应用是必不可少的。 凡是注日期的引用文件，仅注日期的版本适用于本文件。 凡是不注日期的引用文件，其最新版本（包括所有的修改单）适用于本文件。
GM/T 0003,
GM/T 0004,

2.	Normative References
The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.
GM/T 0003,
GM/T 0004,
``

Notice that the given title is missing.

The XML knows that these are ISO-equivalent references; but isodoc does not. Isodoc was assuming that all non-ISO references have formattedref not title, and these had title, so it output nothing. Fixed: if there is title, that will be output instead. (There is a pending ticket to create a new bibliography reference based on ISO 690.)
Moreover, the format for "all parts" was not right, and when I fixed it, it revealed a bug in detection of "all parts" without a year. Fixed.


Develop the website every iOS user desires.

Website to run APKs online.
Features

Upload APK
Run the APK on the website without downloading or doing anything extra
iOS users can open the APK on their phones through the website

https://console.cloud.google.com/marketplace/details/genymotion-public-project/genymotion-9-0?rif_reserved
Check this service out, its a Android VM hosted on GCP. This service or a similar concept might be used to embed an emulator in the website


pull request error fix

@ayobamiseun The client side tests are still not passing, It looks like there are some problems with the dependencies specifed in the lock file. See the error output from the tests.
You can use git to revert the lock file to to the commit prior to your first commit, or remove the lock file and run npm install . while in the client directory (i'd prefer the former for a cleaner PR but whatever works).
On the implementation, we're looking for a single subcomponent instead of 2 seperate subcomponents, that we can pass the necesarry navigation links as props. That way if we make future changes, for example to the style of this dropdown or decide to add another, we only have to change it in one place, the new subcomponenet.
Does that make sense? If I need to clarify, let me know. Maybe I can find a blog post about it or something.

I have a lot of commit behind and it's stopping me from pushing further. I love it tho cause I am learning a lot, thanks for your patient.

@ayobamiseun have you been testing locally before pushing?

it's stopping me from pushing further

How about we close this PR, make sure things are passing the test locally before pushing? thanks

The recent push worked thanks


SERVER_IP

Is there an existing issue for this?

[X] I have searched the existing issues

Feature description
What is this exactly doing? Is that the external or internal ip? My docker is up and running but i cant find it in the server list, even if the logs said its connected and up (ports are open and correct). So i guess its maybe something with this ip thing, actual its empty.

Hey, this env var just sets the ip in the enshrouded_server.json. The ip is only for binding to the right network and can most likely ignored.
You can read more about the available configs here (Enshrouded Docs)
When you leave it empty, the default will be used (<IP_ADDRESS>) which binds to all networks or basically allow all incoming connections.
Have you tried to find the server with the steam servers list? (Steam -> View -> Servers) If you can't find your server listed there, you can try to manually add the ip on the same window. If it doesn't show you your server, you probably have a firewall issue.
If the server runs on the same network (locally), than it might be a dns-rebind-issue of your router. In that case, could you check if someone else can access the server?

Does SERVER_IP and STEAM_API_PUBLIC_IP accept a FQDN such as ip.example.com to resolve the IP?

Just verified, both need to be valid ipv4 addresses. TheSTEAM_API_PUBLIC_IP is only relevant for the update cron, to check if the server is empty.
I should update my docs to clarify that.

Hello @cp-fabian-pittroff , i have the same problem with the server. The server is launched and registered on Steam.
2024-01-25 12:08:02.818 supervisord: enshrouded-server [online] Server connected to Steam successfully
2024-01-25 12:08:03.126 supervisord: enshrouded-server [online] Server is not VAC Secure!
2024-01-25 12:08:03.127 supervisord: enshrouded-server [online] Server SteamId:<PHONE_NUMBER>1901064
2024-01-25 12:08:03.127 supervisord: enshrouded-server [online] Public ipv4: <IP_ADDRESS>

But when i'm in the game and searching for the server, i can't find it. I think it's an issue with the game, that is not able to retrieve all servers with the Steam API.
When i query the Steam API, the server is available :
curl -sX GET "https://api.steampowered.com/IGameServersService/GetServerList/v1/?key=**REDACTED**&filter=addr\\<IP_ADDRESS>:15637"
{"response":{"servers":[{"addr":"<IP_ADDRESS>:15637","gameport":15636,"steamid":"90179864601901064","name":"crazyhorde","appid":1203620,"gamedir":"Enshrouded","version":"<IP_ADDRESS>","product":"Enshrouded","region":-1,"players":0,"max_players":16,"bots":0,"secure":false,"dedicated":true,"os":"w","gametype":"1;487046"}]}}

Jeah, they hotfixed the server browser yesterday. It is now limited to about 50 I think. You should find your server directly in the steam servers browser (Steam -> View -> Servers) and mark it as a favorite (Docs)
PS: I removed your public IP & steamid from the comment.

@coute I can't find it in steam either. Is the server still running?

Yes. The server is running.

Hm, thats very odd. Maybe try restarting the server and double check if there is any firewall blocking incoming packages (udp).
If it is a homeserver scenario, also check if you forwarded both udp ports to the server.

Strangely mine is now in the list, but another one from gportal not. Seems to be some issue with the server browser of the game to me

@MrSnake0208 could you tell me your server name, so I can try to find it?
And also double check if there is some firewall or forwarding issue on the server network.

No issue with the firewall
nc -v -u <IP_ADDRESS> 15637
Ncat: Version 7.70 ( https://nmap.org/ncat )
Ncat: Connected to <IP_ADDRESS>:15637.

nc -v -u <IP_ADDRESS> 15638
Ncat: Version 7.70 ( https://nmap.org/ncat )
Ncat: Connected to <IP_ADDRESS>:15638.

@MrSnake0208 could you tell me your server name, so I can try to find it?
And also double check if there is some firewall or forwarding issue on the server network.

Yahu Farm

No issue with the firewall
nc -v -u ***.***.***.*** 15637
Ncat: Version 7.70 ( https://nmap.org/ncat )
Ncat: Connected to ***.***.***.***:15637.

nc -v -u ***.***.***.*** 15638
Ncat: Version 7.70 ( https://nmap.org/ncat )
Ncat: Connected to ***.***.***.***:15638.

you use 15637 and 8? In the steamapi it returns 15636 for the gameport and 7 for query.

No issue with the firewall
nc -v -u ***.***.***.*** 15637
Ncat: Version 7.70 ( https://nmap.org/ncat )
Ncat: Connected to ***.***.***.***:15637.

nc -v -u ***.***.***.*** 15638
Ncat: Version 7.70 ( https://nmap.org/ncat )
Ncat: Connected to ***.***.***.***:15638.

you use 15637 and 8? In the steamapi it returns 15636 for the gameport and 7 for query.

I use 37304 and 38304 because share the device with others and i can't use 15636 and 15637

ports:
  - "15636:15636/udp"
  - "15637:156**6**7/udp"

  I'm a monkey !

An other thing to fix because i'm using swarm, set the host mode :
      - target: 15636
        published: 15636
        protocol: "udp"
        mode: "host"
      - target: 15637
        published: 15637
        protocol: "udp"
        mode: "host"

@MrSnake0208 I tested it with a second enshrouded server. It seems, I can only find one server. The other sever returns the same same query and gameport for a different steamid. Not sure why though
Do you have another server running on the same public ip?

oh well, I might have the problem - give me a sec

After to have fixed ports, i still have the same problem.

found the problem. For now don't use the SERVER_PORT and SERVER_QUERYPORT variables. They add an unintended " and that breaks the enshrouded server logic.
For now just remove the env vars and set the ports manually in the enshrouded_server.json without the ".
I will prepare a fix, after I did some more testing.

Ok. Thannks.

found the problem. For now don't use the SERVER_PORT and SERVER_QUERYPORT variables. They add an unintended " and that breaks the enshrouded server logic.发现了问题。暂时不要使用 SERVER_PORT 和 SERVER_QUERYPORT 变量。它们会添加一个意外的""，从而破坏服务器的逻辑。
For now just remove the env vars and set the ports manually in the enshrouded_server.json without the ".现在，只需删除 env vars，并在 enshrouded_server.json 中手动设置端口，而不去掉"......"。
I will prepare a fix, after I did some more testing.等我再做一些测试后，我会准备一个修复方案。

It's done. Thx!!

fix is available with the current dev branch. I will add some more changes and publish a new release later today.

Fixed for me. It was a firewall issue. My bad.


[Cross-compile] linker issue

There is some issue with the arm linker but I cannot figure it out yet. Means building for raspberry pi is not possible right now

You can try this docker image, which works for my cross compiling to armhf with much success.... (and its also statically linked due to using muslc) https://github.com/rust-cross/rust-musl-cross


more solid weed mount

What problem are we solving?
weed mount could not run virtual machines.

https://github.com/seaweedfs/seaweedfs/issues/3650
https://github.com/seaweedfs/seaweedfs/issues/3985
https://github.com/seaweedfs/seaweedfs/issues/3183

How are we solving the problem?

Add timestamp to each data slice written, and check timestamp during read time.
Group chunks into sections, to speed up random writes on large files.
Queue in each section uses linked list instead of arrays.
Add lock during file handle release.

How is the PR tested?
Following steps in https://github.com/seaweedfs/seaweedfs/issues/3650
Checks

[ ] I have added unit tests if possible.
[ ] I will add related wiki document changes and link to this PR after merging.

@Woellchen I am having trouble running the End to End CI test. It is getting this error, which seems related to be over a memory limit. Not sure how to fix this.
fio: terminating on signal 15
Error: Process completed with exit code 137.

@Woellchen I am having trouble running the End to End CI test. It is getting this error, which seems related to be over a memory limit. Not sure how to fix this.
fio: terminating on signal 15
Error: Process completed with exit code 137.

This could be because the FIO run exceeded 40 seconds runtime. If you check the e2e.yaml you will see the fio commands prepended with the timeout command.
I added these timeouts to basically catch locks that are not released anymore. 40 seconds should be more than enough to finish the FIO run. If it takes longer than that then probably something is locked or became really really slow.

So far the VM tests look promising. Was able to run a simple test VM with no problems on a 1 node system. Will begin larger cluster testing soon

Finished testing a 3 volume, 3 master, 3 filer, 1 filer store cluster and that seems to work well. Going to try testing Proxmox vs Virtualbox as the hypervisor. That will take more time though.

@Woellchen I am having trouble running the End to End CI test. It is getting this error, which seems related to be over a memory limit. Not sure how to fix this.
fio: terminating on signal 15
Error: Process completed with exit code 137.

This could be because the FIO run exceeded 40 seconds runtime. If you check the e2e.yaml you will see the fio commands prepended with the timeout command. I added these timeouts to basically catch locks that are not released anymore. 40 seconds should be more than enough to finish the FIO run. If it takes longer than that then probably something is locked or became really really slow.

Currently the 8 FIO processes are started at the same time. How about changing them to run sequentially?

No, they are running sequentially. See https://github.com/seaweedfs/seaweedfs/blob/master/.github/workflows/e2e.yml#L46

You can see the full logs yourself. Download them here from the latest run: https://github.com/seaweedfs/seaweedfs/actions/runs/3885979780
It says compose-mount-1   | I0110 18:05:41.825175 weedfs_file_sync.go:147 /fiotest set chunks: 4096
The first FIO run uses size=16M bs=4k, that makes exactly the 4096 chunks, but since the rafactoring it doesn't batch the chunks together to 2M chunks, as is the default for weed mount.
While testing this behavior locally I noticed that the chunks are not even merged for bigger block sizes, it always maxes out at the FUSE limit (128k). This indicates chunks are not at all merged anymore, as was the case before.
This is probably the reason while the test takes longer now because it is busy uploading in the background.

Thanks! I know the problem now. Let me try to fix it.

the e2e test is passing again! thanks for the analysis!

I can confirm it is working as expected now! Thank you!


Fix pnad search backchaining

pnad_search with predicate invention by oracle clustering enters an infinite loop in the blocks environment due to an issue with the backchaining implementation. This happens because PNADSearchSTRIPSLearner.backchain only tries the single best matching pnad for a given segment – if that pnad doesn't satisfy the necessary atoms check, it does not check if any other pnads would work. In the specific example where this issue arises, pnad_search repeatedly uncovers the same segment over and over: a pnad (STRIPS-Pick8) covers a particular segment and has this segment in its datastore, but PNADSearchSTRIPSLearner.backchain continues to identify this segment as an uncovered segment. This happens because in the search for the first uncovered segment, when backchaining, it only tries the single best matching pnad STRIPS-Pick9, and when that pnad fails the necessary atoms check, it does not trySTRIPS-Pick8, which would work to extend the chain further. The simple and obvious fix is to try all pnads, in order of "best matching".
You can observe this issue by running python predicators/main.py --env blocks --excluded_predicates all --approach grammar_search_invention --num_train_tasks 200 --seed 0 --grammar_search_max_predicates 200 --grammar_search_pred_clusterer oracle --grammar_search_pred_selection_approach clustering --strips_learner pnad_search --pnad_search_timeout 1200 --offline_data_method demo+gt_operators on branch master.
After the small change in this PR, this same command gets 48/50 in blocks.
To make sure this doesn't break anything, I will report back with results from supercloud, on both (1) predicate invention via score optimization (from the original predicate invention paper) and (2) predicate invention via oracle clustering.
I'm surprised this issue hasn't surfaced earlier – it seems like it could be a common occurence.

Initial supercloud results using predicate invention via oracle clustering:
                      NUM_TRAIN_TASKS    NUM_SOLVED AVG_NUM_PREDS AVG_TEST_TIME  AVG_NODES_CREATED   LEARNING_TIME AVG_REF_COST  NUM_SEEDS
EXPERIMENT_ID
blocks_main_200demo     200.00 (0.00)  48.70 (1.10)  14.00 (0.00)   0.67 (0.17)  3099.28 (1140.61)  161.40 (38.15)  1.10 (0.17)         10
cover_main_200demo      200.00 (0.00)  48.80 (0.75)  10.00 (0.00)   0.01 (0.00)        4.92 (0.16)    38.07 (1.13)  0.13 (0.01)          5
painting_main_200demo   200.00 (0.00)  49.90 (0.30)  50.00 (0.00)   0.52 (0.10)    855.42 (257.93)   332.22 (6.66)  1.23 (0.12)         10
tools_main_200demo      200.00 (0.00)  49.70 (0.64)  58.00 (0.00)   0.52 (0.08)    664.78 (104.78)   278.19 (5.74)  1.01 (0.09)         10

Nishanth confirmed that it is not unexpected for an uncovered segment to be found in an existing pnad's datastore during pnad search, because something like "when a particular uncovered segment is discovered, and a pnad is created to cover it, all segments that use the same option as that segment will be added to the new pnad's datastore (to aid in precondition computation), and some of those added segments may later be uncovered segments".
After removing the assertion that uncovered segments are not found in an existing pnad's datastore, using predicate invention via oracle clustering and pnad search for operator learning, we get the following results:
                     NUM_TRAIN_TASKS    NUM_SOLVED AVG_NUM_PREDS AVG_TEST_TIME  AVG_NODES_CREATED   LEARNING_TIME AVG_REF_COST  NUM_SEEDS
EXPERIMENT_ID
blocks_main_200demo     200.00 (0.00)  48.70 (1.10)  14.00 (0.00)   0.67 (0.17)  3099.28 (1140.61)  161.40 (38.15)  1.10 (0.17)         10
cover_main_200demo   200.00 (0.00)  49.20 (0.75)  10.00 (0.00)   0.01 (0.00)       4.88 (0.15)  38.70 (1.86)  0.13 (0.01)         10
painting_main_200demo   200.00 (0.00)  49.90 (0.30)  50.00 (0.00)   0.52 (0.10)    855.42 (257.93)   332.22 (6.66)  1.23 (0.12)         10
tools_main_200demo      200.00 (0.00)  49.70 (0.64)  58.00 (0.00)   0.52 (0.08)    664.78 (104.78)   278.19 (5.74)  1.01 (0.09)         10

(I don't think unit tests relating to any pnad search stuff are failing – I think they are other ones?


Running tests locally without miditok

The new tokenizer functionalities require miditok and miditoolbox, which are not yet part of the requirements. Nevertheless, these packages are still used in test_utils.py, and result in an error when performing unittests locally.

Hello, I commented on the relevant PR #338 . This should be the intended behaviour. The online tests should run with no problem and check that all external dependencies work. Locally you would expect tests failing when you don't have a dependency with a message dependency X is missing.


ModuleNotFoundError: No module named 'invokeai.invocation_api'

It seems that using Invoke 3.7 triggers this error when using the  "1. Generate images with the browser-based interface" options ( invoke.bat) Fresh install.
ModuleNotFoundError: No module named 'invokeai.invocation_api'

The support "3.7" commit is actually to support Invoke 4.0 which is currently in RC. Should be out soon. For the time being, if you know how to do it, you can revert to the older commit. That should work fine with Invoke 3.x

You can find the RC here. https://github.com/invoke-ai/InvokeAI/releases/tag/v4.0.0rc1

I confirm the UX does start with the v4rc1 build. However I'm facing this error:
[2024-03-13 17:42:28,569]::[InvokeAI]::ERROR --> Error while invoking session 4c388ad7-3184-44bf-95c2-ab2785c529e7, invocation 6f19b0de-a1d8-45c8-bf40-91f8c22936a9 (bria_bg_remove):
'InvocationContext' object has no attribute 'services'
[2024-03-13 17:42:28,569]::[InvokeAI]::ERROR --> Traceback (most recent call last):
  File "E:\Projets\AI\Stable Diffusion\Invoke\.venv\lib\site-packages\invokeai\app\services\session_processor\session_processor_default.py", line 160, in _process
    outputs = self._invocation.invoke_internal(
  File "E:\Projets\AI\Stable Diffusion\Invoke\.venv\lib\site-packages\invokeai\app\invocations\baseinvocation.py", line 281, in invoke_internal
    output = self.invoke(context)
  File "E:\Projets\AI\Stable Diffusion\Invoke\nodes\invoke_bria_rmbg\node\__init__.py", line 23, in invoke
    image = context.services.images.get_pil(self.image.image_name)
AttributeError: 'InvocationContext' object has no attribute 'services'. Did you mean: '_services'?

Workflow looks ok:

I also tried just the Bria node with an input image, still the same error.

Fixed it. Thanks for catching. git pull

Fix working. Thank you for your work !


Fixed #24493 - Added setdefault method to BaseContext.

Thanks, Tim. This is updated. I also moved the position of the new method docs. I think it fits better moved up where the dict-like behavior of context is explained.
There was a docs build error I can't reproduce. The jenkins console output looks like it wasn't related to the code change. Is there a way to rerun it?

Not sure why the docs build sometimes does that. merged in 4d9414098bd98aacd241827a01f6ad2dff71f113 and 388e79e9fcbf689d5708134534e55d176cfbcee3, thanks!


Lygia support

Hi! Would you be interested on bringing support for lygia.xyz?
Using include macros like
#include "lygia/math/const.glsl"
#include "lygia/color/space.glsl"

it will help users to keep their code extra short.
There is several ways to full fill those dependencies, the easiest is through this functions that just fetch them for you https://lygia.xyz/resolve.js
You code editor can even autocomplete their functions using this request https://lygia.xyz/glsl.json

@patriciogonzalezvivo
I apologize for the delayed response.
Thank you for your proposal. I am very pleased to receive such a suggestion.
Before considering implementation, could you please explain why you are making this proposal at this time and what kind of demand you believe exists for it?
I believe that I can make a more concrete evaluation if I understand the use cases you have in mind.

Hi @doxas, nice to meet you. Congratulations on the projects.
LYGIA is a shader library that have been integrated to different frameworks and graphic engines. One of it's goals is to reduce duplication of code by serving common and reusable functions. That makes it a great tool for fast prototyping, iterating and moving across languages or environments.
Also another use of it is just to reduce the total amount of lines of code. For all this reasons I thought would be interesting for https://twigl.app/ to add support to it.
Happy to have a video or phone call if you want. Also to assist you on the integration if you decide to go forward.

@patriciogonzalezvivo
Thank you for your reply!
I understand your suggestions and the intentions behind them very well. I would like to try implementing them myself first, so I will let you know again if I make any progress.

Awesome. Thank you looking into it


Support arm64

Proposed changes

Updated workflows to also build arm64 image
Conditionally ignores the tools that do not support arm64

Fix #5070
Readiness checklist
In order to have this pull request merged, complete the following tasks.
Pull request author tasks

[x] I included all the needed documentation for this change.
[x] I provided the necessary tests.
[x] I squashed all the commits into a single commit.
[x] I followed the Conventional Commit v1.0.0 spec.
[x] I wrote the necessary upgrade instructions in the upgrade guide.
[x] If this pull request is about and existing issue,
I added the Fix #ISSUE_NUMBER label to the description of the pull request.

Super-linter maintainer tasks

[ ] Label as breaking if this change breaks compatibility with the previous released version.
[ ] Label as either: automation, bug, documentation, enhancement, infrastructure.

Thanks for this PR!
@harryzcy instead of commenting things as a first step, I would start from making the ci and cd GitHub Actions workflow build the container image for the arm64 platform as well, so you can get continuous feedback.

@harryzcy thanks for the update!

@harryzcy thanks for all this work.
I think can simplify things a bit.
For the linters that don't support arm64 yet,  we can  use the VALIDATE_XXXX variables instead of conditionally altering the build. For example, we can add a validation function in validate.sh to check if VALIDATE_XXXX is true for the linters that don't support arm64, and fail if so. There are a few functions that do similar things in that file that you can use as examples, but I'll be happy to walk you through one to help you.
By doing this, we would achieve a few things:

We don't have to maintain a conditional build
We make this explicit to users, so they are not under the impression that files are being linted with those linters, when they are not.

WDYT?

If we go this route, you can likely revert the changes to:

The two "no-op" scripts for scalafmt and powershell, and related changes in the Dockerfile
linterVersions.sh (I'm not sure about this yet)

we can add a validation function in validate.sh to check if VALIDATE_XXXX is true for the linters that don't support arm64, and fail if so

It makes sense to me

The two "no-op" scripts for scalafmt and powershell, and related changes in the Dockerfile

Ok for scalafmt, but powershell install script will fail. powershell doesn't have an arm64 docker image, but does have a arm64 binary published. We could probably get the version, and install from https://github.com/PowerShell/PowerShell/releases instead. I'll investigate.

linterVersions.sh (I'm not sure about this yet)

I believe they are necessary for build to pass. i.e. we can't run the executable and get its version.

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed in 14 days if no further activity occurs. Thank you for your contributions.
If you think this pull request should stay open, please remove the O: stale 🤖 label or comment on the pull request.
If you're a maintainer, you can stop the bot to mark this issue as stale in the future by adding the O: backlog 🤖 label`.

bot remove stale

@harryzcy https://github.com/npm/cli/issues/4652 seems relevant to the npm connection error.


Add University of Perpetual Help System DALTA

Microsoft domain for the University of Perpetual Help System DALTA, used by 3 campuses in the same school system (perpetual.edu.ph)
This email domain is strictly for student use (not accessible publicly), and is compliant of the requirements needed for school/university registration for JetBrains products.

@carreonjaye Thank you for your patience while waiting for a review and processing your request. Pull request merged.


chore: remove add-keys scripts in favor of more generic versions

BREAKING CHANGE: This removes the add-keys-ios and add-keys-android scripts as they required an internal BB workflow to work. The new scripts, add-keys-ios-internal and add-keys-android-internal, can be configured with the environment files with passwords being passed in as environment variables.
For usage instructions, see the new wiki article: https://github.com/brandingbrand/flagship/wiki/Signing-Your-Apps

@bweissbart Build failed for Android due to a dependency. The updated lockfile specifies react-native-sensitive-info 5.5, which contains a breaking change (Android X).


[pub/sub cloudevents] Update dapr publish command

Description
Update dapr publish command per @JFCote suggestion
Issue reference
PR will close: #3302

Nice! Thanks for the update! :)


Add Ostinato traffic generator as a supported node

Added documentation on how to use the Ostinato traffic generator with Containerlab.
A future PR will include a lab example

Thanks @pstavirs
Lgtm


PUT.io support for rclone

I would like to see support for putio in rclone that way I can set a schedule to move all files from putio to gdrive.
I found some other programs written in golang that work with putio. Maybe it could help you implement it?
https://github.com/search?l=Go&q=putio&type=Repositories&utf8=✓
Also here is the API documentation for PUTio
http://api.put.io/v2/docs/index.html
I hope that you or someone could make this preferably with the ability to remote transfer without first downloading to local pc then uploading. Also with delete support when moving the files from putio.
PUT.io Also supports FTP (TLS/SSL) and WebDAV but those are readonly so no delete ability there.

put.io has gained read only support with webdav in #580

@ncw I think this can be closed?

Yes this is now it's own backend!


Threading issue?

Found some bug. Basically this is the flow to reproduce it on my end.

Start the app with rootViewController viewControllerA
Call KRProgressHUD.show()
Do something
Call KRProgressHUD.dismiss()
Call UIApplication.sharedApplication().keyWindow?.rootViewController = viewControllerB
On viewControllerB, tap a button that will trigger KRProgressHUD.show().
The app somehow will show back viewControllerA. And no KRProgressHUD is shown anymore

So far that's how I reproduce it. If you need extra information just let me know. I'll see if I can create a sample app to show reproduce it.

Sorry :(
There is not much doubt about the cause of the bug.
I will respond to that right away.

I fixed the bug and released as 1.5.1 :)
Thank you for using KRProgressHUD.

Thanks for the quick update! :)


Add notes on node version snippet using n

Hmm.. I'm not sure when we run this that internal scripts defined in package.json understand that they should run yarn through webpack since I'm getting some weird errors now. Experimenting...


not working on windows

C:\Ruby\bin>jspec help
C:/Ruby/lib/ruby/gems/1.8/gems/commander-4.0.2/lib/commander/user_interaction.rb:198:in `fork': fork() function is unimplemented on this machine (NotImplementedError) from C:/Ruby/lib/ruby/gems/1.8/gems/commander-4.0.2/lib/commander/user_interaction.rb:198:in `enable_paging' [...]

Windows 7 64Bit, Ruby 1.8.7 win32-process-0.6.2 installed

@Phoscur, if you're still using this with Windows, you could also test a fix here: https://github.com/visionmedia/commander/tree/36-enable-paging-noop

Sorry, I don't have Ruby installed anymore.

I believe this is fixed in the branch. I'll merge this to master and release a new version soon.


Pagination on fields

Hello,
I've been using this gem for a while, thank you for your amazing work.
I just noticed what it seems that might be a bug. After adding a number of custom fields to my Deals, I noticed that they were not showing up on the automated mapping that is done for those fields.
After digging around, I noticed that when calling Pipedrive::Deals.fields the new custom fields were not showing up at all. When I enabled debugging, I noticed that the raw call had this at the end:
"additional_data":{"pagination":{"start":0,"limit":100,"more_items_in_collection":true,"next_start":100}}

After digging a bit on the code, I found that the existing request method is not handling pagination, and that is why my new fields are not showing up for me on the automatic mapping done.
(FYI, a very quick temporary fix would be to just increase the pagination limit from the standard 100 to the max 500, which although would solve cases like mine, would still hit the wall for more than 500 fields.)

Hey João,
Thanks for using the gem and good catch, I will check it out adding a parameter or configuration setting to increase the limit to a maximum allowed by the API.
Another solution could be to return a page object to allow something like .next or .previous on any collection that could be paginated.
Going to think and come up with a solution in the coming days.

Hey João,
Hopefully, you received the notification that this was fixed. Please confirm whether it works for you now.
Thanks.

Hello,
Sorry for the late reply! At the time, my sales team was also doing a cleanup on their deal fields, so we went under the 100 fields. I don't think that will last long 😅 so I will check this in a near future.
Thank you for your swift reply!

Let me circle back to this: I hit the wall again and after the upgrade everything worked flawlessly.
Once again, thank you! 😄


DBZ-2497 Add variable to metrics anchor IDs so IDs are unique in each connetor's doc

DBZ-2497 is for resolving the duplicate ID problem that exists downstream. We cannot re-use content from the master branch and build the downstream user guide until this is resolved.
In the shared reference files that have the metrics tables, I added "_{context}" to the anchor ID for each table entry.
In the doc for each connector, I specified a different value for the :context: attribute.
I also made the MySQL binlog custom metrics clickable. I did not add the {context} variable to those anchor IDs since they are in only the MySQL doc.

@TovaCohen I see for all the links the same suffix - _debezium - regardelss of connector, for example
http://localhost:4242/documentation/reference/connectors/mongodb.html#connectors-snaps-metric-remainingtablecount_debezium
http://localhost:4242/documentation/reference/connectors/mongodb.html#connectors-snaps-metric-remainingtablecount_debezium
Is it intentional?

@jpechane No.
Is
:context: debezium
Defined somewhere in a playbook file for building the doc?  If yes, that needs to be removed.

@TovaCohen See https://github.com/debezium/debezium.github.io/blob/develop/playbook.yml#L39

@jpechane  Yes, That line needs to be removed. Can you do that?  Let me know if I need to do something.

@Naros Do you know for what the antora attribute {context} is used? Is it safe to be removed or the attribute used in naming of metrci has to be renamed?

@jpechane @Naros
The {context} attribute is a standard, downstream attribute that is being used to ensure that each documentation module is unique. Whoever split the original mysql.adoc, monitoring.adoc and logging.adoc files introduced the {context} attribute. I removed the specification of context: debezium in my local playbook.yml file and Antora generated the doc with no errors or warnings. I expect that you can safely remove it. Can you test that?  While we could use a differently named attribute to serve the same purpose in distinguishing the metric table entries, it would be better to use {context} because anyone working on downstream doc will immediately know what it is.

@TovaCohen Thanks for the confirmation, it sounds logical. Still I'd wait for @Naros to explain - he is the author of the Debezium docs/antora and I want to make sure we've hev not oversighted anything.
When @Naros confirms this is unrelated I'll remove the attibute from upstream docs and merge this PR right away.

Hi @TovaCohen and @jpechane, so removing the context from the playbook.yml does generate a warning for us upstream with files based on master with this PR, so I'm trying to determine at the moment which file isn't substituting the context properly.  It could be a file we use only for upstream and that could be why.
But with that said, we cannot just remove variables from the playbook.  We have to keep in mind that older versions of the docs are built on the assumption that these values are supplied in the playbook as defaults and by removing them we can cause warnings or worse navigation errors for older releases of the docs.
So ultimately the value in the playbook.yml needs to remain; however what I'm seeing upstream confirms what @jpechane saw is that some includes are being substituted correctly and others are not.  I'm going to look at upgrading Antora to see if that resolves the issue and if not I may need to consult with them on how to debug why the substitution seems broken.

Sorry this is turning out to be not so simple @Naros and thanks for looking into it.
@roldanbob  - without this update merged, we cannot fetch from upstream master and build the user guide downstream.

So it turns out for situations like this where we want to allow override behavior of these values in things such as include files where variables may be defined in a parent context, the variable has to be defined as follows:
asciidoc:
  attributes:
    context@: 'debezium'

The introduction of the @ symbol at the end of the variable declaration implies it can be overridden and thus whatever it is set to in the parent context (in our case the connector .adoc files) will be persisted to any include files within that context. I've opened the PR https://github.com/debezium/debezium.github.io/pull/504 to address this need and once that is merged,then the infrastructure is there for this PR.

Thanks @TovaCohen, this LGTM and I'm going to merge it.

Thanks @Naros ! You're the best!!!!


⚠ Samsung has degraded performance

In 133ea0d, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2812 ms

Resolved: Samsung performance has improved in 06a25e1.


Enable copr build and refactor build to better support the copr build

Enable copr build
The copr build should be setup using the SCM make srpm method.  Anyone can setup a copr project, point the SCM at their github fork and have copr do automatic builds on your fork.
The base change is from PR #1532
Refactor the build to better support the copr build.
After refactoring, the build now supports:

offline (ovirt-engine-nodejs-modules) builds (OFFLINE_BUILD=1)
online (yarn download) builds (OFFLINE_BUILD=0)
source only (for copr) release builds
source only (for copr) snapshot builds

spec file refactoring:

BuildRequires all necessary packages to actually run the rpm build.
%prep only unpacks sources
%build now does both yarn install and build
SKIP_AUTOGEN=1 prevents double calling autogen.sh on the build's yarn install

Note: BuildRequires packages are installed by the copr chroots before the script is run.  This is peer functionality to stdci's *.packages files.
Note: By default, in copr all builds have access to the rpms already built in the same project.  An explicit repo url to access ovirt-engine-nodejs-modules is not needed as long as ovirt-web-ui and ovirt-engine-nodejs-modules are both in the same project.
build refactoring:

Removed yarn detection by configure.ac as it was blocking source only builds.  Inclusion via BuildRequires in the spec file is sufficient.
Updated PATH in Makefile
copr Makefile doesn't need to install nodejs-modules for srpm build

ci test

ci test

ci test

ci test


Can not test the data

Loading the model from ./models/289999.npy...
Traceback (most recent call last):
File "main.py", line 69, in
tf.app.run()
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/platform/app.py", line 125, in run
_sys.exit(main(argv))
File "main.py", line 64, in main
model.load(sess, FLAGS.model_file)
File "/content/lstm_gru/image_captioning/base_model.py", line 262, in load
data_dict = np.load(save_path).item()
File "/usr/local/lib/python2.7/dist-packages/numpy/lib/npyio.py", line 421, in load
pickle_kwargs=pickle_kwargs)
File "/usr/local/lib/python2.7/dist-packages/numpy/lib/format.py", line 650, in read_array
array = pickle.load(fp, **pickle_kwargs)
EOFError

I met with the same problem.
I set np.load(save_path, allow_pickle = True).item() in base_model.py. Then it runs successfully. However, I can‘t get test results.
Have you fix the problem yet?

I have met this problem too and successfully fixed it just now.
The solution is simple yet naive - redownload the data, since you may downloaded a corrupted data like I used to do.
Besides, make sure that you use py2.7.

I met with the same problem.
I set np.load(save_path, allow_pickle = True).item() in base_model.py. Then it runs successfully. However, I can‘t get test results.
Have you fix the problem yet?

when i train the model, i meet the same problem, i have set the code as your advise, but it doesn't work
Loading the CNN from ./vgg16_no_fc.npy...
Traceback (most recent call last):
File "main.py", line 69, in
tf.app.run()
File "/home/prj201800005/miniconda2/envs/mypython2/lib/python2.7/site-packages/tensorflow/python/platform/app.py", line 124, in run
_sys.exit(main(argv))
File "main.py", line 48, in main
model.load_cnn(sess, FLAGS.cnn_model_file)
File "/media/sdb/Chen/deeplearning/LSTM/image_captioning/base_model.py", line 273, in load_cnn
data_dict = np.load(data_path,allow_pickle=True).item()
File "/home/prj201800005/miniconda2/envs/mypython2/lib/python2.7/site-packages/numpy/lib/npyio.py", line 433, in load
pickle_kwargs=pickle_kwargs)
File "/home/prj201800005/miniconda2/envs/mypython2/lib/python2.7/site-packages/numpy/lib/format.py", line 657, in read_array
array = pickle.load(fp, **pickle_kwargs)
EOFError

I have met this problem too and successfully fixed it just now.
The solution is simple yet naive - redownload the data, since you may downloaded a corrupted data like I used to do.
Besides, make sure that you use py2.7.

is there a way to check the data? i download the val2014 from baidu netdisk, but dont know it is corrupted or not

I have met this problem too and successfully fixed it just now.
The solution is simple yet naive - redownload the data, since you may downloaded a corrupted data like I used to do.
Besides, make sure that you use py2.7.

is there a way to check the data? i download the val2014 from baidu netdisk, but dont know it is corrupted or not

I afraid not. Just try to re-download it or download it from microsoft coco


TableRow

TableRow is a new component to create rows in a table (the element tr).
We need this component primary for selectable rows, so the component should create automatically a Check and apply the is-selected modifier to the tr when the Check is checked.
The style should be similar to this: https://zeroheight.com/22mjgbuf6/p/966db5/t/d317 (I'll update the Table section of the styleguide to add this case.
Depending on the type of selection (one or multiple) a radio or checkbox is created.

Updated styleguide with an example of a table with selectable rows: https://zeroheight.com/22mjgbuf6/p/15f90e


Investigate query correctness on MPI

there a lot of query preloads of
merged_pairs, person_phones, person_documents comparing to other queries. 2000-3000 to dozens.

This happens because we do preload without join, so it does a separate queries. In order to have a single query we need to add join to each query where we do preload and not forget about pagination since it doesn't work well with joins.

we still have a lot of selects on the GET /api/persons endpoint
   "path": "/api/persons?first_name=[REDACTED]",
    "code": "200",
    "request_id": "9233d254-9efb-40a3-9fed-709ae4a3b79b#1694280",
    "@timestamp": "2019-04-26T12:38:52.081064554+00:00",
    "tag": "gateway"

just refactoring - https://github.com/edenlabllc/mpi.api/pull/330


Docker errors

Docker gives me this error message every time the script runs. I've only configured it for pvoutput and can't really understand what the issue is.
2023-11-05 14:30:00 2023-11-05 13:30:00,001 - root - INFO - Requesting data from FusionSolar Kiosk API...
2023-11-05 14:30:00 2023-11-05 13:30:00,001 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): region04eu5.fusionsolar.huawei.com:443
2023-11-05 14:30:00 2023-11-05 13:30:00,990 - urllib3.connectionpool - DEBUG - https://region04eu5.fusionsolar.huawei.com:443 "GET /pvmswebsite/nologin/assets/build/index.html HTTP/1.1" 200 None
2023-11-05 14:30:01 2023-11-05 13:30:01,001 - root - ERROR - Uncaught exception in FusionSolar data processing loop.
2023-11-05 14:30:01 Traceback (most recent call last):
2023-11-05 14:30:01   File "/usr/local/lib/python3.10/site-packages/requests/models.py", line 971, in json
2023-11-05 14:30:01     return complexjson.loads(self.text, **kwargs)
2023-11-05 14:30:01   File "/usr/local/lib/python3.10/json/init.py", line 346, in loads
2023-11-05 14:30:01     return _default_decoder.decode(s)
2023-11-05 14:30:01   File "/usr/local/lib/python3.10/json/decoder.py", line 337, in decode
2023-11-05 14:30:01     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
2023-11-05 14:30:01   File "/usr/local/lib/python3.10/json/decoder.py", line 355, in raw_decode
2023-11-05 14:30:01     raise JSONDecodeError("Expecting value", s, err.value) from None
2023-11-05 14:30:01 json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
2023-11-05 14:30:01
2023-11-05 14:30:01 During handling of the above exception, another exception occurred:
2023-11-05 14:30:01
2023-11-05 14:30:01 Traceback (most recent call last):
2023-11-05 14:30:01   File "/code/pvfusionsolar.py", line 29, in fetch_fusionsolar_status
2023-11-05 14:30:01     response_json = response.json()
2023-11-05 14:30:01   File "/usr/local/lib/python3.10/site-packages/requests/models.py", line 975, in json
2023-11-05 14:30:01     raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
2023-11-05 14:30:01 requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
2023-11-05 14:30:01
2023-11-05 14:30:01 During handling of the above exception, another exception occurred:
2023-11-05 14:30:01
2023-11-05 14:30:01 Traceback (most recent call last):
2023-11-05 14:30:01   File "/code/pvrelay.py", line 34, in process_fusionsolar_request
2023-11-05 14:30:01     fusionsolar_json_data = self.pvfusionsolar.fetch_fusionsolar_status()
2023-11-05 14:30:01   File "/code/pvfusionsolar.py", line 31, in fetch_fusionsolar_status
2023-11-05 14:30:01     raise Exception(
2023-11-05 14:30:01 Exception: Error while parsing JSON response from Kiosk API: 'Expecting value: line 1 column 1 (char 0)'
2023-11-05 14:30:01 2023-11-05 13:30:01,002 - root - DEBUG - Waiting for next FusionSolar interval...
2023-11-05 14:30:01 2023-11-05 13:30:01,002 - apscheduler.executors.default - INFO - Job "PvRelay.process_fusionsolar_request (trigger: cron[hour='*', minute='0,30'], next run at: 2023-11-05 14:00:00 UTC)" executed successfully

The relevant bit here is "Error while parsing JSON response from Kiosk API: 'Expecting value: line 1 column 1 (char 0)'".
PyFusonSolar is trying to json decode the output from your Fusionsolar kiosk API and fails to decode the json.
Most likely your fusionsolarkkid config parameter does not have the correct value, the public kiosk in fusionsolar somehow got disabled, or there's something wrong with your fusionsolarurl (like for instance you're in a different region).
Check the kiosk URL you get from fusionsolar to see if the fusionsolarurl matches the configured setting, then check the kkid.

I added some more descriptive exception settings in version 1.0.6
( https://github.com/JasperE84/PyFusionSolarDataRelay/releases/tag/1.0.6 )
Will update docker container too in a minute.

updated. just to make sure, these are the only variables in pvconfig I changed

self.fusionsolarurl = "https://region04eu5.fusionsolar.huawei.com/rest/pvms/web/kiosk/v1/station-kiosk-file?kk=" (instead of "01eu5")
I noticed that when I copy my kiosk url the scheme is "https://region04eu5.fusionsolar.huawei.com/pvmswebsite/nologin/assets/build/index.html#/kiosk?kk=" but I assume the one set in the config is the correct one? I assume I'm not supposed to include my id in this field but only in the next one.

self.fusionsolarkkid to my id

self.pvoutput to True

self.pvoutputapikey to my key

self.pvoutputsystemid to my id

I noticed the MQTT config and some other require the fusion solar login and password, does PVOutput work with just the api key? Does the pvsysname matter to PVOutput?
new log: looks like it pulled the kiosk data successfully, so the wrong region was the issue earlier, but theres an error when sending it to pvoutput, something about a header ("Header part (10___0) from ('X-Pvoutput-SystemId', 10___0) must be of type str or bytes, not <class 'int'>") and my pvoutput id and something about timezones? the default pvoutputsystemid is not written in quotes (self.pvoutputsystemid  = 123456), does it need to be when I change it? do I have to changed the timezone from UTC or does PVOutput just use the one I set there? whats the correct format? "etc/UTC+1" or "etc/Europe/Berlin"?
sorry to take up your time with this.
2023-11-06 02:29:12 2023-11-06 01:29:12,883 - root - INFO - Requesting data from FusionSolar Kiosk API...
2023-11-06 02:29:12 2023-11-06 01:29:12,885 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): region04eu5.fusionsolar.huawei.com:443
2023-11-06 02:29:15 /usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py:1100: InsecureRequestWarning: Unverified HTTPS request is being made to host 'region04eu5.fusionsolar.huawei.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings
2023-11-06 02:29:15   warnings.warn(
2023-11-06 02:29:16 2023-11-06 01:29:16,201 - urllib3.connectionpool - DEBUG - https://region04eu5.fusionsolar.huawei.com:443 "GET /rest/pvms/web/kiosk/v1/station-kiosk-file?kk=_________ HTTP/1.1" 200 None
2023-11-06 02:29:16 2023-11-06 01:29:16,437 - root - DEBUG - FusionSolar API data: {'realTimePower': 0.0, 'cumulativeEnergy': 77190.0, 'monthEnergy': 77190.0, 'dailyEnergy': 0.0, 'yearEnergy': 77190.0} [clearly its pulling the correct data from PVOutput]
2023-11-06 02:29:16 2023-11-06 01:29:16,438 - root - DEBUG - Writing PV data to InfluxDB skipped, InfluxDB client was not initialized yet.
2023-11-06 02:29:16 2023-11-06 01:29:16,438 - root - INFO - Writing to PVOutput. Header: {'X-Pvoutput-Apikey': '_________ ', 'X-Pvoutput-SystemId': 10___ 0} Data: {'d': '20231106', 't': '01:29', 'v1': 77190.0, 'v2': 0.0, 'c1': 2} [the time seems to be off by an hour, so I guessI need to change that]
2023-11-06 02:29:16 2023-11-06 01:29:16,439 - root - ERROR - Error writing PV data to PVOutput.org
2023-11-06 02:29:16 Traceback (most recent call last):
2023-11-06 02:29:16   File "/code/pvoutputorg.py", line 30, in write_pvdata_to_pvoutput
2023-11-06 02:29:16     api_response = requests.post(
2023-11-06 02:29:16   File "/usr/local/lib/python3.10/site-packages/requests/api.py", line 115, in post
2023-11-06 02:29:16     return request("post", url, data=data, json=json, **kwargs)
2023-11-06 02:29:16   File "/usr/local/lib/python3.10/site-packages/requests/api.py", line 59, in request
2023-11-06 02:29:16     return session.request(method=method, url=url, **kwargs)
2023-11-06 02:29:16   File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 575, in request
2023-11-06 02:29:16     prep = self.prepare_request(req)
2023-11-06 02:29:16   File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 486, in prepare_request
2023-11-06 02:29:16     p.prepare(
2023-11-06 02:29:16   File "/usr/local/lib/python3.10/site-packages/requests/models.py", line 369, in prepare
2023-11-06 02:29:16     self.prepare_headers(headers)
2023-11-06 02:29:16   File "/usr/local/lib/python3.10/site-packages/requests/models.py", line 491, in prepare_headers
2023-11-06 02:29:16     check_header_validity(header)
2023-11-06 02:29:16   File "/usr/local/lib/python3.10/site-packages/requests/utils.py", line 1040, in check_header_validity
2023-11-06 02:29:16     _validate_header_part(header, value, 1)
2023-11-06 02:29:16   File "/usr/local/lib/python3.10/site-packages/requests/utils.py", line 1049, in _validate_header_part
2023-11-06 02:29:16     raise InvalidHeader(
2023-11-06 02:29:16 requests.exceptions.InvalidHeader: Header part (10___0) from ('X-Pvoutput-SystemId', 10___0) must be of type str or bytes, not <class 'int'>
2023-11-06 02:29:16
2023-11-06 02:29:16 During handling of the above exception, another exception occurred:
2023-11-06 02:29:16
2023-11-06 02:29:16 Traceback (most recent call last):
2023-11-06 02:29:16   File "/code/pvrelay.py", line 52, in write_pvdata_to_pvoutput
2023-11-06 02:29:16     self.pvoutput.write_pvdata_to_pvoutput(fusionsolar_json_data)
2023-11-06 02:29:16   File "/code/pvoutputorg.py", line 37, in write_pvdata_to_pvoutput
2023-11-06 02:29:16     raise Exception(
2023-11-06 02:29:16 Exception: Exception while posting data to PVOutput: 'Header part (10___0) from ('X-Pvoutput-SystemId', 10___0) must be of type str or bytes, not <class 'int'>'
2023-11-06 02:29:16 2023-11-06 01:29:16,440 - root - DEBUG - MQTT PV data publishing disabled
2023-11-06 02:29:16 2023-11-06 01:29:16,440 - root - DEBUG - Waiting for next FusionSolar interval...
2023-11-06 02:29:16 2023-11-06 01:29:16,440 - tzlocal - DEBUG - /etc/timezone found, contents:
2023-11-06 02:29:16  Etc/UTC
2023-11-06 02:29:16
2023-11-06 02:29:16 2023-11-06 01:29:16,440 - tzlocal - DEBUG - /etc/localtime found
2023-11-06 02:29:16 2023-11-06 01:29:16,441 - tzlocal - DEBUG - 2 found:
2023-11-06 02:29:16  {'/etc/timezone': 'Etc/UTC', '/etc/localtime is a symlink to': 'Etc/UTC'}
2023-11-06 02:29:16 2023-11-06 01:29:16,444 - apscheduler.scheduler - INFO - Adding job tentatively -- it will be properly scheduled when the scheduler starts
2023-11-06 02:29:16 2023-11-06 01:29:16,444 - apscheduler.scheduler - INFO - Added job "PvRelay.process_fusionsolar_request" to job store "default"
2023-11-06 02:29:16 2023-11-06 01:29:16,444 - apscheduler.scheduler - INFO - Scheduler started
2023-11-06 02:29:16 2023-11-06 01:29:16,444 - apscheduler.scheduler - DEBUG - Looking for jobs to run
2023-11-06 02:29:16 2023-11-06 01:29:16,444 - apscheduler.scheduler - DEBUG - Next wakeup is due at 2023-11-06 01:30:00+00:00 (in 43.555061 seconds)


add prometheus alertmanagerconfig support

This object should be converted into VMAlertmanagerConfig object.

Added at v0.28.3.


Support profiles from AWS shared credentials file for artifacts

Summary
Add ability to specify non-default AWS credentials profile in a shared credentials file for s3 artifacts. Add a field to S3ClientOptions and the s3 ArtifactDriver to specify a profile name. Use this name to specify the profile to load for the AWS session's config.
Use Cases
IAM roles cannot be used to delegate access between an AWS GovCloud (US) account and a standard AWS account. To support artifacts from multiple buckets in which IAM roles cannot be used for access, instead use profiles from a shared credentials file to specify multiple accessKey/secret credentials.

Message from the maintainers:
Impacted by this bug? Give it a 👍. We prioritize the issues with the most 👍.

I think if you set this to true https://github.com/argoproj/argo-workflows/blob/master/docs/workflow-controller-configmap.yaml#L105 it should then use the aws sdk's default provider chain which would pick any auth method in the order the aws sdk defines which would also then allow you to use the AWS_PROFILE env var to set the profile from the shared config file.

With that set to true the order of provider chain should follow this https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-precedence and any ENV the SDK supports the workflow would support.

Thanks @zachaller ! Where would the AWS_PROFILE env var be set? In a specific pod? Or maybe that step's container.env? The reason I'm asking is because in our scenario, the profile could be different each time based on an argo param from a previous step.

I think you could try podSpecPatch within the executor sidecar container https://github.com/argoproj/argo-workflows/blob/9319c074e742c5d9cb97d6c5bbbf076afe886f76/examples/pod-spec-patch.yaml#L13

Ah cool, I'll try that out. Thanks @zachaller

Tried this out and got it working today!
Here's what I did to get this working:

Set useSDKCreds: true for the s3 input artifact
Mounted the shared credentials file as a secret, for example at /s3Creds/credentials
Used podSpecPatch to set AWS_PROFILE and AWS_SHARED_CREDENTIALS_FILE as ENVs in the init container

podSpecPatch: '{"initContainers":[{"name":"init", "env":[{"name": "AWS_SHARED_CREDENTIALS_FILE", "value": "/mainctrfs/s3Creds/credentials", "valueFrom": null}, {"name": "AWS_PROFILE", "value": "<profile-name>", "valueFrom": null}]}]}'

Thanks @zachaller !

Awesome nice to see that it worked. I thought the theory was sound but thank you for reporting back that in practice it dose work.

No longer needed due to work around with podSpecPatch


fix: set higher priority on WALL graphics to make them last during preroll

When taking a server part, the cut to the server input is delayed by CasparPrerollDuration ms.  The server part also has that value applied as prerollDuration, to keep previous timeline objects alive during that period. Unfortunately when the server part features an SS=SC-LOOP cue, and we're cutting from a part that had pilot graphics on the WALL, the WALL cuts immediately, not waiting the preroll duration.
This PR solves the issue by setting a higher priority on Pilot graphics targeting WALL, so that the timeline object is still alive and on top during prerollDuration.

Another possible solution: altering the enable of WALL graphics in Server parts. BTW, do timed overlays take the preroll into account?

Hmm I'm not sure this works in all cases, what about the case where you're going from a KAM 1 with wall graphic 1 to a KAM 2 with wall graphic 2, using the take-with-transition that adds a preroll to the KAM 2 part? In that case we'd see the same behaviour as we have right now.
Maybe this is as far as we can get without a complex solution though. Something to look into is the delayTakeAfterOutTransition property, which would be added to the upcoming graphic in the SERVER part. https://github.com/tv2/sofie-blueprints-inews/blob/a34cc0aad722c8a7b67488ad80c62c477986d882/src/tv2-common/helpers/graphics/viz/index.ts#L91
We use it for fulls to stop a full from animating in until the previous pilot element has animated out. Otherwise some enable magic might be what's needed, but that sounds like needing onTimelineGenerate.

Yet another solution came to my mind: instead of setting explicit start for WALL graphics, we could add a while: .some_primary_with_preroll under the same conditions, but the class on the primary piece's timelineObjects would need to be copied with care every time pieces are stopped/updated/replaced (e.g. when we're cutting cameras inside current part)

@thomasslee97 Thanks! I made even more changes, because preroll part properties for Fulls and DVEs were also applied after evaluting cues


workaround defectdojo expecting a non-empty scanstarttime for their e…

…ngagments

Pull Request Test Coverage Report for Build<PHONE_NUMBER>1
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

8 of 8 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.02%) to 41.629%

Totals

Change from base Build<PHONE_NUMBER>1:
-0.02%

Covered Lines:
3374

Relevant Lines:
8105

💛  - Coveralls


Extension 'github.copilot' is not installed. Make sure you use the full extension ID, including the publisher, e.g.: ms-dotnettools.csharp.

@https:/<REDACTED: user-file-path>:2845:33868
asyncFunctionResume@[native code]
@[native code]
promiseReactionJobWithoutPromise@[native code]
promiseReactionJob@[native code]

Go to Errors Site

This is a valid error thrown during command execution that is being invoked from an extension
https://github.com/microsoft/vscode/blob/4acf2d9b46b75748ae687cf3b2952a0799679873/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts#L379
Not sure what action needs to be taken here.
Closing this.


Add sample video for start project

Added sample file for start this project.
Video from https://videos.pexels.com/videos/blurred-bokeh-video-1957
CC0 License
✓ Free for personal and commercial use
✓ No attribution required

Thanks a lot! I think this was much needed!


Source code blocks are generated as raw HTML

Seemingly the best way to fix this is to unset any source-highligther attribute.


test: make HTTP server test implementation independent

Current implementation of HTTP Server is making a lot of assumptions of the class implementation and by mocking express internals basically just testing the express rather than expected functionality. This will not be helpful should we want to do any refactoring or replace express.
This PR changes test to be completely implementation unaware and testing via plain HTTP requests. To make class testable this way we just need to allow to optionally pass port number and expose bounded port property.

Seems like our unit tests are not running on CI, so here is the proof:


Compress-Archive is stripping UNIX file permissions

Steps to reproduce
Set-Content -Path mytestfile.txt -Value testing
Compress-Archive -Path mytestfile.txt -Destination mytestzip.zip
zipinfo mytestzip.zip

Result of zipinfo command
Archive:  mytestzip.zip
Zip file size: 136 bytes, number of entries: 1
?---------  2.0 unx        8 b- defN 17-Apr-18 12:23 mytestfile.txt
1 file, 8 bytes uncompressed, 10 bytes compressed:  -25.0%

Expected behavior
Permissions of files are retained upon compression into ZIP format.
Actual behavior
Permissions are not preserved when files are compressed.
Environment data
Name                           Value
----                           -----
PSVersion                      6.0.0-alpha
PSEdition                      Core
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   <IP_ADDRESS>
GitCommitId                    v6.0.0-alpha.18
CLRVersion
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>

PS /> uname -a
Darwin 16.5.0 Darwin Kernel Version 16.5.0: Fri Mar  3 16:52:33 PST 2017; root:xnu-3789.51.2~3/RELEASE_X86_64 x86_64

Cheers,
Trevor Sullivan

@SteveL-MSFT Please prioritize this appropriately. This is requiring me to resort to calling the native zip command, which is less preferable to using Compress-Archive. I'm not sure if this is an issue with .NET Core or PowerShell Core, but it's manifesting itself in PowerShell Core, so this is the logical place to start.
@BrucePay @daviwil

Hum! What about when moving the compress file cross-platform? Or, when been attached to an email?
Is it going to keep permission from a Linux to a Windows filesystem, or the way around?
What's the catch?
:)

@pcgeek86 please open this issue in the Archive Module repo.  If the native zip cmd retains the permissions (presumably if uncompressed on Windows it throws it away?), then we can do something as long as the underlying .Net api we're using supports it

@SteveL-MSFT Yep, took care of it. See new ticket.


Trivial fix

[Current coverage][cc-pull] is 92.86%

Merging [#172][cc-pull] into [master][cc-base-branch] will increase coverage by <.01%

@@             master       #172   diff @@
==========================================
  Files            71         71
  Lines          4382       4383     +1
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           4069       4070     +1
  Misses          313        313
  Partials          0          0

[][cc-pull]

Powered by Codecov. Last updated by [ca37c54...a869055][cc-compare]
[cc-base-branch]: https://codecov.io/gh/ORNL-CEES/Cap/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/ORNL-CEES/Cap/compare/ca37c54d4cabb0803711695ccb0309298ac10298...a869055d866574c10987642d4a4f06a74987817b
[cc-pull]: https://codecov.io/gh/ORNL-CEES/Cap/pull/172?src=pr


Spark works despite SSL certificate in keystore has expired

Hello Spark developers,
I'm running the following basic spark job on YARN with SSL enabled:
spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode client /usr/lib/spark/examples/jars/spark-examples.jar 3

On my cluster, SSL was enabled for spark and it contains the following configurations:
$ cat /etc/spark/conf/spark-defaults.conf

spark.network.crypto.enabled     true
spark.network.crypto.keyFactoryAlgorithm PBKDF2WithHmacSHA256
spark.ssl.protocol               TLSv1.2
spark.ssl.keyStorePassword       *********
spark.ssl.keyStore               /tmp/abc/keystore.jks
spark.authenticate               true
spark.network.crypto.keyLength   256
spark.network.crypto.saslFallback true
spark.ssl.keyPassword            *********
spark.ssl.enabled                true
spark.ssl.enabledAlgorithms      TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA
spark.ssl.trustStore             /tmp/abc/truststore.jks
spark.ssl.trustStorePassword     **********

Although the keystores specified in the above configuration contain expired certificate, spark job still runs fine without throwing any error.
Any reason why spark job is not verifying the expiry date on certificates.
hadoop@ip-172-31-13-56 ~]$ keytool -list -v -keystore /tmp/abc/truststore.jks
Enter keystore password:

*****************  WARNING WARNING WARNING  *****************
* The integrity of the information stored in your keystore  *
* has NOT been verified!  In order to verify its integrity, *
* you must provide your keystore password.                  *
*****************  WARNING WARNING WARNING  *****************

Keystore type: jks
Keystore provider: SUN

Your keystore contains 1 entry

Alias name: test
Creation date: Jul 16, 2020
Entry type: trustedCertEntry

Owner: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
Issuer: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
Serial number: 42271acc
Valid from: Wed Jul 15 01:22:07 UTC 2020 until: Thu Jul 16 01:22:07 UTC 2020
Certificate fingerprints:
	 MD5:  EB:B0:1E:C7:2A:81:1C:EB:25:DC:FD:47:FC:5D:9B:F6
	 SHA1: 15:C5:3F:E4:37:D0:F7:1B:7F:4D:13:B0:03:C6:18:FF:F1:6E:20:1A
	 SHA256: 08:0F:63:4B:29:B5:54:E7:24:46:C1:A3:9F:A9:45:D8:50:BF:49:38:6E:EA:8C:F7:2D:1C:30:B2:F5:72:9B:51
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 2048-bit RSA key
Version: 3

Extensions:

#1: ObjectId: <IP_ADDRESS> Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 8D 2B E1 AC 3C B1 81 9D   79 FE 44 D8 EB BC E8 7F  .+..<...y.D.....
0010: F7 0B F7 3D                                        ...=
]
]

*******************************************
*******************************************

[hadoop@ip-172-31-13-56 ~]$ keytool -list -v -keystore /tmp/abc/keystore.jks
Enter keystore password:

*****************  WARNING WARNING WARNING  *****************
* The integrity of the information stored in your keystore  *
* has NOT been verified!  In order to verify its integrity, *
* you must provide your keystore password.                  *
*****************  WARNING WARNING WARNING  *****************

Keystore type: jks
Keystore provider: SUN

Your keystore contains 1 entry

Alias name: test
Creation date: Jul 15, 2020
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
Issuer: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
Serial number: 42271acc
Valid from: Wed Jul 15 01:22:07 UTC 2020 until: Thu Jul 16 01:22:07 UTC 2020
Certificate fingerprints:
	 MD5:  EB:B0:1E:C7:2A:81:1C:EB:25:DC:FD:47:FC:5D:9B:F6
	 SHA1: 15:C5:3F:E4:37:D0:F7:1B:7F:4D:13:B0:03:C6:18:FF:F1:6E:20:1A
	 SHA256: 08:0F:63:4B:29:B5:54:E7:24:46:C1:A3:9F:A9:45:D8:50:BF:49:38:6E:EA:8C:F7:2D:1C:30:B2:F5:72:9B:51
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 2048-bit RSA key
Version: 3

Extensions:

#1: ObjectId: <IP_ADDRESS> Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 8D 2B E1 AC 3C B1 81 9D   79 FE 44 D8 EB BC E8 7F  .+..<...y.D.....
0010: F7 0B F7 3D                                        ...=
]
]

*******************************************
*******************************************

Warning:
The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format using "keytool -importkeystore -srckeystore /tmp/abc/keystore.jks -destkeystore /tmp/abc/keystore.jks -deststoretype pkcs12".

Is there something I'm missing here or is that the default behaviour of spark.  Is there a way to make this authentication strict if possible

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Please file an issue in JIRA, and read http://spark.apache.org/contributing.html


Add APP_ENV documentation, fixes #5

@thijsc I don't think you can set this in the yml, right?

:+1:

No, we need to add this to the config in the gem.


fix: Fix violations of Sonar rule 1854

Hi,
This PR fixes 1 violations of Sonar Rule 1854: 'Unused assignments should be removed'.
The patch was generated automatically with the tool Sorald. For details on the fix applied here, please see Sorald's documentation on rule 1854.
9521a51 was applied with Spotless.

Simon fixing Sorald with Sorald ;)

Yep :). This is ready to review/merge by the way!

LGTM. I will wait for the others to see it too. In fact, @monperrus, @khaes-kth, and @nharrand, who wants to do the honours of merging it?

We can look at it during the meeting!

Also note that this PR contains a "manual edit" by autoformatting with Spotless, which removed an import. We can discuss that as well.

Oustanding, Sorald on Sorald!!!!! The long awzaited singularity. Excellent work!


Add the ability to favorite a request from the Request page

Requests can be favorited from the list of requests but not from the request page

This has been added in https://github.com/HubSpot/Singularity/pull/732


com.twitter.finagle.Http is deprecated Httpx can be used

This is a minor fix for the README sample but it's useful for newcomers.

Current coverage is 93.36%

Merging #434 into master will decrease coverage by -0.70% as of 23beae5

Powered by Codecov. Updated on successful CI builds.

Sorry for this, but I accidentally fixed this already by while making some changes in README.
Anwyays, thanks for noticing this @csaltos!

No problem, you are welcome and thank you very much for Finch, it's great !! :+1: :smile:


Added ability to set default cookies options

Now developers can send default cookies options and http_only option is enabled by default

:+1:


RS-269: Move quick start guides into main documentation

Move Python, JavaScript, C++ Quick Start Guides
Write Rust Guide
Create components for section to avoid duplication

@AnthonyCvn  I'll release 1.10 version when we merge the PR. All the canonical links must work afterwards.


Wish: CEC Integration to control amplifier volume

Hi, I have a wish.
Integrate libcec in order to control amplifier volume via cec.
In Kodi libcec is used to control amplifier volume via cec.
https://github.com/Pulse-Eight/libcec
The following website shows available CEC commands.
http://www.cec-o-matic.com/
e.g.
message ID : 71 - Requests an amplifier to send its volume and mute status (Directly addressed)
Alexa, sag Enigma Control lauter = +10%
Alexa, sag Enigma Control leiser  = - 10%
Cheers

See Page 68 https://us.community.samsung.com/ynzzy74688/attachments/ynzzy74688/tv/1505/1/CEC_Specs.pdf