Microsoft Teams Notifier

Repository URL
https://github.com/huynxtb/jenkins-plugins-ms-teams-notifier
New Repository Name
microsoft-teams-notifier-plugin
Description
Microsoft Teams Notifier provides a bridge between Jenkins and Microsoft Teams through the built-in webhook functionality:

Get success and fail messages about your job
Link to build artifacts
Please read more information in my repository.

GitHub users to have commit permission
huynxtb
Jenkins project users to have release permission
huynx11
Issue tracker
GitHub issues

/hosting re-check

Can you clarify the difference between this plugin and https://plugins.jenkins.io/Office-365-Connector/ ?
Is there a reason that that plugin can't be enhanced?

Dear Tim,
Office-365-Connector is a good tool but I find it quite complicated to set
up.
Moreover, it has quite a bit of information for the user. so I made a
similar one hoping to solve those problems. I'm not saying mine is better,
but I do it because I want to give users more choice. And the notification
message also looks clearer.
Vào Th 6, 24 thg 6, 2022 lúc 14:41 Tim Jacomb @.***> đã
viết:

Can you clarify the difference between this plugin and
https://plugins.jenkins.io/Office-365-Connector/ ?
Is there a reason that that plugin can't be enhanced?
—
Reply to this email directly, view it on GitHub
https://github.com/jenkins-infra/repository-permissions-updater/issues/2614#issuecomment-1165296922,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQYMNYPYIXYJAU7YJKWA4CDVQVRD7ANCNFSM5ZVAS3ZQ
.
You are receiving this because you authored the thread.Message ID:
<jenkins-infra/repository-permissions-updater/issues/2614/1165296922@
github.com>

Can you clarify the difference between this plugin and https://plugins.jenkins.io/Office-365-Connector/ ?
Is there a reason that that plugin can't be enhanced?

cc @Wadeck

@huynxtb
Non-security issue:

Your usage of Validation.java#L3 is restricted, meaning that this API is not guaranteed to be kept in Jenkins core. You can use it if you want, but at your own risk. My advice would be to just check for the scheme
I am not sure the license copyright is correct: LICENSE.md

Otherwise in terms of security, it's fine :-)

Dear @Wadeck,
That is my fault. I have resolved it. So can you recheck for it. Thank you!

/hosting re-check

/hosting host


name mangling: bring documentation closer to actual implementation

This documents what I found in the current implementation. Not everything seems desirable, though...

@rainers: how about linking to the bison spec file that you curated? I imagine that this could help other people as well  (at least those reading the spec about name mangling)

@wilzbach A bison grammar matching the documentation is now here: https://gist.githubusercontent.com/rainers/6cdf73b48837defb9f88/raw/161db3fa7424fce90782b73fa1b12975074a9a22/dwebsite3.bison
Not sure where to place and link to it. I think it would have to be part of the dlang.org repository to have a chance of staying in sync.
BTW: It shows 2 ambiguities in the grammar:

'M' can be scope both on the function itself or the first function argument.
Y can be the end of an function argument list or the beginning of the type of an Objective-C function argument.

Not sure where to place and link to it. I think it would have to be part of the dlang.org repository to have a chance of staying in sync.

How about creating a new data or bison folder?
What is your opinion @CyberShadow?

IMO? Put it in the same directory as the name mangling spec.
Also weird, can't comment via the web interface:
https://dump.thecybershadow.net/3b56e04862e0c61b7e3135ac95d3b129/13%3A14%3A06-upload.png
On 2016-12-19 08:30, Sebastian Wilzbach wrote:

Not sure where to place and link to it. I think it would have to be part of the dlang.org repository to have a chance of staying in sync.

How about creating a new data or bison folder?
What is your opinion @CyberShadow?

--
Best regards,
Vladimir


Remove arch param where necessary (#4065)

Description
DAQ-2193
cherry pick of #4065
How can this be tested?
same as #4065

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 71.21212% with 19 lines in your changes missing coverage. Please review.

Project coverage is 64.43%. Comparing base (8b3017e) to head (b500832).

Files with missing lines
Patch %
Lines

test/mocks/pkg/clients/dynatrace/client.go
15.38%
8 Missing and 3 partials :warning:

pkg/clients/dynatrace/agent_version.go
71.42%
3 Missing and 1 partial :warning:

pkg/clients/dynatrace/endpoints.go
73.33%
4 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@               Coverage Diff               @@
##           release-1.4    #4127      +/-   ##
===============================================
- Coverage        64.50%   64.43%   -0.07%
===============================================
  Files              400      400
  Lines            26758    26735      -23
===============================================
- Hits             17259    17226      -33
- Misses            8146     8154       +8
- Partials          1353     1355       +2

Flag
Coverage Δ

unittests
64.43% <71.21%> (-0.07%)
:arrow_down:

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

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


Repository setup

Added gitignore

Added devcontainer

Added editorconfig to ensure common formatting in files

Looking good.
The .gitignore removes all the macOS specifics, do we need to address other OS specifics?

I added it because I ran into the issue with a .DS_Store, I think we should add them as it becomes necessary.


Wiring information doesn't work with V3 of the Wemos D1

Great work on this stuff, really appreciate the work it is awesome.
In the latest version of the Wemos D1 mini they have removed the series resistor from the transmit line on the serial to USB IC. This means wiring it up as the readme shows doesn't work and you get no data from the heatpump. The work around I have done currently is to lift the TX and RX pins on the UART to USB IC, however it means I can no longer program the device.
Can we add support for using different pins for UART (maybe software UART required?). And maybe add a caution to the readme about this latest verison?

Thanks for information. I noticed this too but I can't figure out what happen so I just stick with V2 board. About softserial it need more work from upstream library https://github.com/SwiCago/HeatPump/issues/136 .

I had the same problem when using a Wemos D1 mini clone from Amazon (B081PX9YFV). I took a look at the serial signal and noticed that the negative signal on the Rx pin was only getting down to 1.8V. I added a 1k ohm resistor between the Rx and ground pins on my level converter, and that solved the problem. I tested a few different pull-down resistor values, and anything from about 100 ohms - 1.5k ohms seems to work.
One benefit of this approach is that you can still program the device from the USB port if needed.

@danolson1 Thanks for this - I was having the same problem with a similar ESP board.
Can you clarify the pinouts?  I'm looking at your pic and it isn't entirely clear but for what you're calling the "Rx" pin where the resistor goes did you mean it is for the Rx signal line on the ESP board side (which would actually be the Tx pin on the Heat pump CN105 connector side).  That's what it looks like from the picture, unless I'm just confusing what I see.
So the pinout looks to be:
CN 105 Tx (Black wire) -> HV2  <> LV2 -> ESP Rx (aqua wire)
CN 105 Rx (red wire) -> HV1 <> LV1 -> ESP Tx (blue wire)
CN 105 5V (yellow wire) -> HV <> LV  -> ESP 3.3v (white wire)
CN 105 GND (green wire) -> GND <> GND -> ESP GND (black wire)
1k resistor between HV2 (CN105 Tx) and GND on HV side of level converter
Is that correct or am I mixing up the Rx and Tx lines?

Yes. That's correct. The scope readings were taken on the CN105 side.
So the "Tx line" scope readings were taken from the red wire (HV1) going to the CN105 connector, and the "Rx line" scope readings were taken from the black wire (HV2) going to the CN105 connector

Is there anyway to test this quickly w/o a scope?  Supposedly - the board diagram claims to have the resistor needed, but the actual picture of what was sent was different.  I want to make sure I'm going to be OK before I bother mounting into a HVAC unit.
I may have already missed the return window, but.. worth finding out before hand.

A scope is pretty useful for this sort of thing.
You could build your circuit on a breadboard at first. Then it's easy to
test different pull down resistors.
-Dan
On Tue, Dec 26, 2023, 12:23 AM Matthew Barr @.***>
wrote:

Is there anyway to test this quickly w/o a scope? Supposedly - the board
diagram claims to have the resistor needed, but the actual picture of
what was sent was different. I want to make sure I'm going to be OK before
I bother mounting into a HVAC unit.
I may have already missed the return window, but.. worth finding out
before hand.
—
Reply to this email directly, view it on GitHub
https://github.com/unixko/MitsuCon/issues/15#issuecomment-1869359812,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABK4ACDZBR2UEEUEKTR6P4TYLKCQ5AVCNFSM4LB6H7R2U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOBWHEZTKOJYGEZA
.
You are receiving this because you were mentioned.Message ID:
@.***>

A scope is pretty useful for this sort of thing. You could build your circuit on a breadboard at first. Then it's easy to test different pull down resistors.

I've tested w/ a multi meter.
By setting the pin 1 & 3 to pinmode function 3 in Arduino IDE, and then setting it as an output, I get 3.3v when high and 0 when low.  (basically, the opposite of the LED)
No resistors, no extra board.
Will the D1 work correctly w/ the Split.. is the key question.  I suspect the answer is yes, since it seems like it has the same behavior between both TX & RX, which would align better w/ the board V2 (resistor on both TX & RX)  vs v3(which has only one resistor).

I had the same problem when using a Wemos D1 mini clone from Amazon (B081PX9YFV). I took a look at the serial signal and noticed that the negative signal on the Rx pin was only getting down to 1.8V. I added a 1k ohm resistor between the Rx and ground pins on my level converter, and that solved the problem. I tested a few different pull-down resistor values, and anything from about 100 ohms - 1.5k ohms seems to work.

Thanks so much for this - the 1k ohm resistor worked great for me with this same clone board.

I had the same problem when using a Wemos D1 mini clone from Amazon (B081PX9YFV). I took a look at the serial signal and noticed that the negative signal on the Rx pin was only getting down to 1.8V. I added a 1k ohm resistor between the Rx and ground pins on my level converter, and that solved the problem. I tested a few different pull-down resistor values, and anything from about 100 ohms - 1.5k ohms seems to work.

Thanks so much for this - the 1k ohm resistor worked great for me with this same clone board.

I have the same problem, I can control the heatpump but I don't receive anything, D1mini purchased on Amazon.
Are you telling me that you put the resistor without a converter?

I had the same problem when using a Wemos D1 mini clone from Amazon (B081PX9YFV). I took a look at the serial signal and noticed that the negative signal on the Rx pin was only getting down to 1.8V. I added a 1k ohm resistor between the Rx and ground pins on my level converter, and that solved the problem. I tested a few different pull-down resistor values, and anything from about 100 ohms - 1.5k ohms seems to work.

Thanks so much for this - the 1k ohm resistor worked great for me with this same clone board.

I have the same problem, I can control the heatpump but I don't receive anything, D1mini purchased on Amazon. Are you telling me that you put the resistor without a converter?

No I was using the converter initially but had the issue and resolved it by also adding the resistor per the photos by danolson1.


Fixed Databricks Spark compatibility issue

If we use spark geomesa library while running in Databricks Runtime (which is the most popular provider of Spark at the moment) via
spark.withJTS

And execute any aggregation or group by operation, there will be the following error:
NoSuchMethodException: java.lang.NoSuchMethodError: org.apache.spark.sql.catalyst.plans.logical.Aggregate.<init>

The thing is - Geomesa is using Spark private API which does not guarantee any contract stability and turned out that Databricks maintains a fork of the planner and for Aggregate constructor has 4 instead of 3 arguments.
The fix is to allow to the relaxed way of calling that constructor which would work in both cases.
We use that patch for more than a year in production and looks like that is the only issue we noticed so far.

Thanks for the fix!


Delete WARN com.codeborne.selenide.impl.SelenidePageFactory - Cannot initialize field private com.codeborne.selenide.SelenideElement com.codeborne.selenide.ElementsContainer.self

When run tests with PageFactory selenide write strange warning:
WARN SelenidePageFactory - Cannot initialize field private com.codeborne.selenide.SelenideElement com.codeborne.selenide.ElementsContainer.self

P.S. An additional detail from telegram chat: "Usually it happens when ElementContainer is bound to page object itself, not for its element". (?)

Hi @DaniilMoiseevPenza .
I realised that this WARN happens when you add extends ElementsContainer to a page object.
In this case, it's just not needed. You should remove extends ElementsContainer from page object.
You really need to add extends ElementsContainer only to elements that are annotated with @FindBy, but are not WebElement.
For example,
  private static class MyPage extends ElementsContainer {  // NOT NEEDED, remove it.
    @FindBy(css = "#apostrophes-and-quotes")
    MyContainer container;
  }

  private static class MyContainer extends ElementsContainer { // NEEDED
    SelenideElement headerLink = $("h2>a");
    ElementsCollection options = $$("#hero>option");
  }


'ascii' codec can't decode byte 0xe2 in position 0: ordinal not in range(128)

After having installed on a Debian 8 I get an error after
# ee stack status
'ascii' codec can't decode byte 0xe2 in position 0: ordinal not in range(128)

No idea what that means...

Hello @RavanH,
I need bit more information for  this.

Which terminal you are using for connecting to server?
I also need ee log file to debug more

tail -n50 /var/log/ee/ee.log

Hi @gau1991 - related log entries:
2015-07-09 17:16:30,556 (DEBUG) ee : logging initialized for 'ee' using LoggingLogHandler
2015-07-09 17:16:30,911 (DEBUG) ee : ['/usr/local/bin/ee', 'stack', 'status']
2015-07-09 17:16:30,911 (DEBUG) ee : collecting arguments/commands for <ee.cli.controllers.base.EEBaseController object at 0x6c19da583dd8>
2015-07-09 17:16:30,914 (DEBUG) ee : collecting arguments/commands for <ee.cli.plugins.stack.EEStackController object at 0x6c19da592400>
2015-07-09 17:16:30,916 (DEBUG) ee : collecting arguments/commands for <ee.cli.plugins.stack_services.EEStackStatusController object at 0x6c19da5926d8>
2015-07-09 17:16:30,920 (INFO) ee : Initializing EasyEngine Database

I should also mention I just found out that this VPS is using a kernel with grsecurity Linux 3.14.32-xxxx-grs-ipv6-64-vps x86_64 ... might that be blocking access?

I have the same issue on Debian 8.1
ee stack status
'ascii' codec can't decode byte 0xe2 in position 0: ordinal not in range(128)
tail -n50 /var/log/ee/ee.log
Hit http://dl.hhvm.com jessie/main amd64 Packages
Hit http://mirror.transip.net jessie/main Sources
Hit http://mirror.transip.net jessie/main amd64 Packages
Hit http://mirror.transip.net jessie/main Translation-en
Hit http://mirror.transip.net jessie-updates/main Sources
Ign http://dl.hhvm.com jessie/main Translation-en
Get:1 http://mirror.transip.net jessie-updates/main amd64 Packages/DiffIndex [505 B]
Get:2 http://mirror.transip.net jessie-updates/main Translation-en/DiffIndex [229 B]
Fetched 734 B in 3s (229 B/s)
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
graphviz is already the newest version.
memcached is already the newest version.
percona-toolkit is already the newest version.
php5-imagick is already the newest version.
php5-memcache is already the newest version.
postfix is already the newest version.
php5-xdebug is already the newest version.
mariadb-server is already the newest version.
php-pear is already the newest version.
php5-cli is already the newest version.
php5-common is already the newest version.
php5-curl is already the newest version.
php5-fpm is already the newest version.
php5-gd is already the newest version.
php5-imap is already the newest version.
php5-mcrypt is already the newest version.
php5-mysql is already the newest version.
php5-readline is already the newest version.
nginx-common is already the newest version.
nginx-custom is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
2015-07-21 14:23:50,733 (INFO) ee : Restart : nginx
2015-07-21 14:23:50,916 (INFO) ee : [OK]
2015-07-21 14:23:50,916 (INFO) ee : Restart : php5-fpm
2015-07-21 14:23:51,042 (INFO) ee : [OK]
2015-07-21 14:23:51,043 (INFO) ee : Restart : postfix
2015-07-21 14:23:51,280 (INFO) ee : [OK]
2015-07-21 14:23:51,280 (INFO) ee : Restart : hhvm
2015-07-21 14:23:51,397 (INFO) ee : [OK]
2015-07-21 14:23:51,397 (INFO) ee : Removing /usr/bin/wp
2015-07-21 14:23:51,398 (INFO) ee : [Done]
2015-07-21 14:23:51,398 (DEBUG) ee : file Removed
2015-07-21 14:23:51,398 (DEBUG) ee : Downloading following: [['https://github.com/wp-cli/wp-cli/releases/download/v0.19.2/wp-cli-0.19.2.phar', '/usr/bin/wp', 'WP-CLI']]
2015-07-21 14:23:51,399 (INFO) ee : Downloading WP-CLI
2015-07-21 14:23:53,175 (INFO) ee : [Done]
2015-07-21 14:23:53,175 (DEBUG) ee : Changing permission of /usr/bin/wp, Perm:509
2015-07-21 14:23:53,175 (INFO) ee : Successfully updated packages

I found what's wrong on my VPS:
It appears that LC_ALL was not set and somehow it's needed.
export LC_ALL="en_US.UTF-8" should be added to ~/.bashrc and ~/.profile I think.
Now ee stack status does work fine on my side.
Can the EasyEngine developers confirm that LC_ALL needs to be set please?
Shouldn't this be handled by the EE install/update script?
I currently use EE v3.3.1
Thanks,
David

@ddelaey I did a dpkg-reconfigure locales dance to get around issue https://github.com/rtCamp/easyengine/issues/583 (where I requested ee to handle locale) and indeed since then, this issue has gone too.
So I'll second the suggestion: "Shouldn't this be handled by the EE install/update script?"

I don't know how to setup this properly, but meanwhilesetting LC_ALL 'helps':
LC_ALL="en_US.UTF-8" ee stack status


Stack files should not contain non-external grid-scope volumes

This breaks the desired stack isolation, because multiple stacks can't be created using the same grid-scope volume names, as the volume options can conflict between stacks.
stack: test/volumes-foo
services:
  foo:
    image: redis:3.2
    instances: 1
    volumes:
      - data:/data
volumes:
  data:
    scope: grid
    driver: local

The stack non-external volumes should be limited to scope: stack and above. Only external: true volumes should be scope: grid.

Stack now only defines external volumes, so should not be an issue.


Add support for luminance-chroma OpenEXR images.

Description
A suggestion how to implement support for luminance-chroma OpenEXR images (issue #4051).
Open questions:

Is there some optimized routine that could be used for the actual pixel copying?
Should the new code set some attribute such that these converted images can be distinguished by the caller from true RGB(A) images?
Does this need any documentation (apart from the possible attribute above)?

Tests
The test images from the OpenEXR testsuite have been added and work with the C++ variant of the test.
Checklist:

[x] I have read the contribution guidelines.
[ ] I have updated the documentation, if applicable.
[x] I have ensured that the change is tested somewhere in the testsuite
(adding new test cases if necessary).
[x] If I added or modified a C++ API call, I have also amended the
corresponding Python bindings (and if altering ImageBufAlgo functions, also
exposed the new functionality as oiiotool options).
[x] My code follows the prevailing code style of this project. If I haven't
already run clang-format before submitting, I definitely will look at the CI
test that runs clang-format and fix anything that it highlights as being
nonconforming.

I think this is a totally reasonable approach.
One part I don't quite understand is, so far you've only changed exrinput.cpp. What happens if we're using the "core API" and so we're in exrinput_c.cpp? I think we'll want to make the equivalent changes in exrinput_c.cpp so this approaches works regardless of whether we're using the old C++ or the newer core API.

Is there some optimized routine that could be used for the actual pixel copying?

It depends on how common we think these images are in the performance case. The fact that in 15 years, you're the first to come along and need support for luminance/chroma image makes me think it's not very common, so I think its reasonable at first to just be able to read them, and then we can assess if more needs to be done to make it better performance. You're probably the main user of it, so really it's about whether you think it's worth more work for extra perf, of you're ok for now with whatever perf the RGBA reading gives you.

Should the new code set some attribute such that these converted images can be distinguished by the caller from true RGB(A) images?

Probably a good idea? Maybe in that case set a "openexr:luminancechroma" attribute (=1) in the ImageSpec that open returns? Primarily so that iinfo -v or equivalent will at least say something that we can use to tell what kind of file it really was.

Does this need any documentation (apart from the possible attribute above)?

It would be great if you could touch up the openexr section in builtinplugins.rst to (a) document the attribute above, if you add it; (b) somehow explain, in an appropriate place, that lum/chroma images are supported and will appear as RGBA images; (c) in the "limitations" area, document any remaining limitations, such as if you still don't support subsampled images (if that's true). Apologies that the limitations section did not, previously, properly document that luminance/chroma images weren't supported.

Oh, you're probably right, the exr core vs C++ API is probably not explained anywhere. I will remedy that.
Nomenclature and background notes: OpenEXR has three APIs: (a) a higher level but complete C++ class-based API, and (b) a very restricted, RGBA-only C++ API (which is pretty simplistic but which does some handy conversions such as you're using here), both of which OpenEXR has had forever, and (c) newer OpenEXR versions also have a lower level purely function-based API that happens also to be callable from C. The function-based API has better performance (for now), especially for multithreading, because the old C++ class-based API has a few unfortunate design choices that make certain calls stateful, and therefore not re-entrant. Right now they are entirely separate, but the goal is eventually to re-implement the C++ classes to be implemented with the C functions underneath (and clean up the C++ API to fix the stateful parts), at which point OIIO can switch back to just using the C++ classes and get the better multithreaded performance.
The thing I was concerned about is that the current default is, if OIIO is built against a sufficiently modern OpenEXR, to use the core API when reading, and so if users/builders don't know any better, they won't be using your newly added ability to read these files. The default to use the C++ API can be selected at built time, and also there is a runtime attribute that can be set ("openexr:core", 1), but you have to know to do that.
There are performance reasons to favor the core API, so that gets you into a chicken and egg problem. We would really need to bend over backwards to be in the core API, realize we're dealing with a subsampled YCbCr file and switch to using the class API for the ReadRGBA classes. This might be more trouble than you think it's worth.
Ok, so in the short term, I think what we have is:

The vast majority of people who don't expect to encounter YCbCr can stick to the defaults.
If you suspect you may encounter these files and are not especially concerned about that last bit of multithreaded performance, build or set the option to use the C++ API and then you'll be in the code path that uses this PR's ability to read those chroma files.

In the longer term, hopefully OpenEXR will shift the C++ class API to be implemented on top of the core API (and make the minimal changes needed to allow the better threading performance) and then we'll switch OIIO back to the class API entirely moving forward, and all this mess will go away.

@jreichel-nvidia: Most of the performance gain of the core API is related to multiple threads being able to simultaneously read different tiles or scanlines from the same open file handle. This is crucial for renderers / texture systems that are doing cached, on-demand loading of sections of images. But for applications that read entire exr files in one shot, they aren't going to experience this. So, @jreichel-nvidia, maybe that case is unimportant to you and so it's no big deal for you to use the option to use the C++ API as your default, without experiencing any performance loss in the process.

Do you have an opinion on restricting the new code paths to subsampled luminance-chroma images (see my question above)?

I don't have an opinion. I think either way, this is a step forward from what we had before, and it's unclear who, if anyone, would need the omitted combinations. I'm happy to let this ride and we can revisit later to enhance it if needed.


The Crashlytics build ID is missing

Implementation:
apply plugin: 'com.google.firebase.crashlytics'
...
implementation 'com.google.firebase:firebase-crashlytics:17.3.0'
...
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.7.1'
...
runZonedGuarded(() {
    runApp(
      LocalizedApp(
        delegate,
        MyApp(),
      ),
    );
  }, FirebaseCrashlytics.instance.recordError);

firebase_crashlytics: ^2.4.3
doctor:
[✓] Flutter (Channel stable, 2.5.3, on macOS 11.6.1 20G224 darwin-x64, locale en-GB)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
[✓] Xcode - develop for iOS and macOS
[✓] Chrome - develop for the web
[✓] Android Studio (version 2020.3)
[✓] VS Code (version 1.62.0)
[✓] Connected device (3 available)

• No issues found!

Hi!, I'm getting this error also, with a basic new flutter app. What you commented, is it a fix? how to avoid the error? or...
If it is a fix could you elaborate more where to add this...
thanks ;)

Same issue with firebase_analytics: ^9.0.2 for Android
Missing google_app_id. Firebase Analytics disabled. See https://goo.gl/NAOOOI

Hi!, I'm getting this error also, with a basic new flutter app. What you commented, is it a fix? how to avoid the error? or...
If it is a fix could you elaborate more where to add this...
thanks ;)

I'm getting that error from that implementation

@erperejildo
Can you provide us full stacktrace of the error you are getting along with flutter doctor -v ?
Can you also try to use latest gradle version (2.7.1) as mentioned in the documentation and see if it helps ?

Getting the same error.
flutter doctor -v
[✓] Flutter (Channel stable, 2.8.0, on Microsoft Windows [Version 10.0.22000.318], locale en-DE)
    • Flutter version 2.8.0 at C:\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision cf44000065 (6 days ago), 2021-12-08 14:06:50 -0800
    • Engine revision 40a99c5951
    • Dart version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
    • Android SDK at C:\Users\yanni\AppData\Local\Android\sdk
    • Platform android-32, build-tools 32.0.0
    • Java binary at: C:\Users\yanni\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\203.7935034\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✓] Android Studio (version 2020.3)
    • Android Studio at C:\Users\yanni\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\203.7935034
    • Flutter plugin version 63.0.1
    • Dart plugin version 203.8452
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)

[✓] IntelliJ IDEA Ultimate Edition (version 2021.3)
    • IntelliJ at C:\Users\yanni\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\213.5744.223
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.63.0)
    • VS Code at C:\Users\yanni\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.29.0

[✓] Connected device (3 available)
    • Pixel 4a (mobile) • 0B181JEC203003 • android-arm64  • Android 12 (API 31)
    • Chrome (web)      • chrome         • web-javascript • Google Chrome 96.0.4664.93
    • Edge (web)        • edge           • web-javascript • Microsoft Edge 96.0.1054.43

• No issues found!

I'm running the app on Android.
Gradle plugin version is 2.7.1

I have the same error:
The Crashlytics build ID is missing. This occurs when Crashlytics tooling is absent from your app's build configuration. Please review Crashlytics onboarding instructions and ensure you have a valid Crashlytics account.

@erperejildo Can you provide us full stacktrace of the error you are getting along with flutter doctor -v ? Can you also try to use latest gradle version (2.7.1) as mentioned in the documentation and see if it helps ?

I added more info but I cannot use the package now, it doesn't find it:

@erperejildo
I tried the steps / configuration you mentioned here and ran a sample app which compiled and built properly without any issue or the log you mentioned, so I am unable to replicate this behavior. I followed all steps to properly setup per documentation and ran on Android using latest master.
Are there any specific steps that leads to this message ?

@erperejildo I tried the steps / configuration you mentioned here and ran a sample app which compiled and built properly without any issue or the log you mentioned, so I am unable to replicate this behavior. I followed all steps to properly setup per documentation and ran on Android using latest master.
Are there any specific steps that leads to this message ?

Let me share all the dependencies I have installed, not sure if that would help:
line_icons: ^2.0.1
  dapackages: ^1.6.0 # keeps packages updated
  flutter_cupertino_localizations: ^1.0.1
  flutter_google_places: ^0.3.0
  google_mobile_ads: ^1.0.1 # needs Info.plist modification
  native_admob_flutter: ^1.5.0
  maps_launcher: ^2.0.1 # REMOVED, USE OTHER INSTEAD
  uuid: ^3.0.5 # IDs for events
  cloudinary_public: ^0.11.0
  showcaseview: ^1.1.4 # help for new users
  provider: ^6.0.1
  cloud_firestore: ^3.1.4
  firebase_core: ^1.10.5 # needs Runner/GoogleService-Info.plist
  firebase_auth: ^3.3.3 # needs Runner/GoogleService-Info.plist
  firebase_analytics: ^9.0.2 # needs Runner/GoogleService-Info.plist
#  firebase_crashlytics: ^2.4.3 # needs Runner/GoogleService-Info.plist and NSAppTransportSecurity in Info.plist
  http: ^0.13.4
  badges: ^2.0.2
  flutter_translate: ^3.0.1
  flutter_facebook_auth: ^3.5.7
  google_sign_in: ^5.2.1 # needs Info.plist modification
  sign_in_with_apple: ^3.3.0  # needs Xcode modification https://pub.dev/packages/sign_in_with_apple
  shared_preferences: ^2.0.10
  share_plus: ^3.0.4
  intl: ^0.17.0 # locales for table_calendar and datetime manipulation
  jiffy: ^4.1.0 # date manipulation
  permission_handler: ^8.3.0 # needs Info.plist modification
  csv: ^5.0.1
  path_provider: ^2.0.8
  package_info_plus: ^1.3.0
  after_init: ^0.1.2 # NO NULL
  flutter_email_sender: ^5.0.2
  flutter_launcher_icons: ^0.9.2
  #  NEEDS TO BE UPDATED
  file_picker: ^4.2.7 # for multiple images selection
  image_picker: ^0.8.4+4 # for camera
  image: ^3.1.0
  url_launcher: ^6.0.17 # needs Info.plist modification
  transparent_image: ^2.0.0
  cached_network_image: ^3.2.0
  carousel_slider: ^4.0.0
  flutter_slidable: 1.0.0-dev.9
  flutter_svg: ^1.0.0
  table_calendar: ^3.0.3
  add_2_calendar: ^2.1.2 # Info.plist modification
  #  NEEDS TO BE UPDATED
  contacts_service: ^0.6.3 # get contacts. Info.plist modification
  in_app_purchase: ^1.0.9 # official one.
  device_info_plus: ^3.1.1
  flutter_platform_widgets: ^1.11.1
  flutter_native_splash: ^1.3.2
  intl_phone_number_input: ^0.7.0+2  # NO NULL
  country_pickers: ^2.0.0
  currency_picker: ^2.0.6
  #  country_currency_pickers: ^1.0.1 # NO NULL
  reorderables: ^0.4.2 # NO NULL reorder rent fields
  drag_and_drop_gridview: ^1.0.8 # NO NULL
  pdf: ^3.6.5
  printing: ^5.6.6 # necessary for the above one
  open_file: ^3.2.1 # necessary for the above one
  #  flutter_statusbarcolor_ns: ^0.4.0 # DO NOT CHANGE
  fimber: ^0.6.4

I am unable to replicate this per my earlier comment , so I am going ahead and labeling this based on several reports.

I have the same issue when using FlutterFire CLI: google_app_id is missing with Firebase analytics.
I solved it by using manual installation with google service Gradle plugin.

I have the same issue when using FlutterFire CLI: google_app_id is missing with Firebase analytics.
I solved it by using manual installation with google service Gradle plugin.

can you provide more info about that please?

I have the same issue when using FlutterFire CLI: google_app_id is missing with Firebase analytics.
I solved it by using manual installation with google service Gradle plugin.

can you provide more info about that please?

I think he means following the manual installation steps here, which is working on the native side.
I have encountered this problem today. I initialized firebase and Crashlytics following the instruction here using CLI without touching any native codes. It throws the 'The Crashlytics build ID is missing' error on android but not on ios. It looks like the CLI is not working properly.
After I follow the manual installation steps, it works properly. To make it works, I also need to complete the optional step here. Otherwise, I got stuck in building the app in any modes.

I found a workaround that solved this issue (but I don't think this should be the way with Dart-only intialization (of course I have used a recent versions for the dependencies) .
"I had a similar issue just now, but by following the steps in 'Upgrade to the Firebase Crashlytics SDK' managed to fix this.
Basically, you need to add the following to your build.gradle file in the android folder, in the dependencies section:
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.4.1'
Then in the app level build.gradle, where you've already added com.google.gms.google-services previously, add:
apply plugin: 'com.google.firebase.crashlytics'
Finally, in the dependencies section in the same file, add:
implementation 'com.google.firebase:firebase-crashlytics:17.3.0'
This should now work. This is assuming you don't have any of the Fabric repository stuff in there, which you'll need to remove. The details are in that link. "
The original post was here: https://stackoverflow.com/questions/64834965/flutter-run-fail-in-andriod-studio-caused-by-java-lang-illegalstateexception-t

irebase-crashlytics-gradle

so the only difference is that I should use firebase-crashlytics-gradle 2.4.1 instead of 2.7.1?


BPFire LoxiLB endpoint/backend server egress connection

Is your feature request related to a problem? Please describe.
Here is the BPFireOS deployment  network diagram with LoxiLB enabled
       *********
    ***         ***
  **               **
 *     Internet      *
 *                   *
 *                   *
  **              **
    ***         ***
       *********
          |
          |
          |
     +----+---------+
     | ISP comcast  |
     | router       |
     | <IP_ADDRESS>     |
     +----+---------+
          |
     +----+-------------------------------+
     |                                    |
     |                                    |
+----+-red0----------+            +-------+--------+
|     <IP_ADDRESS>      |            |  <IP_ADDRESS>     |
|vip: <IP_ADDRESS>      |            |                |
|                    |            |  workstation   |
|  BPFire            |            |                |
|                    |            |                |
|                    |            +----------------+
|   <IP_ADDRESS>       |
+-----green0---------+
          |
          |
          |
          |
+------eth0------+
| <IP_ADDRESS>    |
|                |
| backend        |
|                |
+----------------+

Ingress traffic from workstation <IP_ADDRESS> to LoxiLB lb <IP_ADDRESS> which load balance to backend <IP_ADDRESS> works fine. but egress traffic initiated from backend <IP_ADDRESS> to workstation <IP_ADDRESS> or to Internet fail
for example ping workstation <IP_ADDRESS> from backend <IP_ADDRESS>
tcpdump on BPFire red0 interface
16:31:41.464882 IP <IP_ADDRESS> > <IP_ADDRESS>: ICMP echo request, id 1220, seq 1, length 64

tcpdump on workstation <IP_ADDRESS>
23:31:41.468461 IP <IP_ADDRESS> > <IP_ADDRESS>: ICMP echo request, id 1220, seq 1, length 64
23:31:41.468516 IP <IP_ADDRESS> > <IP_ADDRESS>: ICMP echo reply, id 1220, seq 1, length 64

so the workstation responded with ICMP echo reply, but red0 interface tcpdump  does not show the echo reply from workstation, the echo reply appears to be dropped either by BPFire red0 interface with loxilb TC ebpf program attached or before hitting BPFire red0 interface?
note if I disable loxilb on BPFire so TC eBPF program got removed from both red0 and green0 interface, the egress ping works because BPFire will do SNAT from netfilter from <IP_ADDRESS> -> <IP_ADDRESS> to <IP_ADDRESS> -> <IP_ADDRESS>
Describe the solution you'd like
This is  egress traffic scenario initiated from endpoint/backend server, which I am not sure if LoxiLB supports or not, I don't know if LoxiLB doing SNAT similar to netfilter would work out the problem or not
Describe alternatives you've considered
In traditional load balancer, there is so called "wildcard listener", meaning a LB or VIP listening on wildcard ip port combination <IP_ADDRESS>:0, when backend <IP_ADDRESS> initiate traffic to Internet, wildcard listener <IP_ADDRESS>:0 will pickup the traffic and do the connection tracking or address translation (SNAT/DNAT) to allow the egress traffic works.
Additional context
Add any other context or screenshots about the feature request here.

The masquerade functionality is supported now. How to use:
loxicmd create firewall --firewallRule="portName:eth1" --snat=<IP_ADDRESS>
It will be supported over current loxicmd's firewalling capabilities.

@UltraInstinct14 @TrekkieCoder just for clarification, in your example --firewallRule="portName:eth1" --snat=<IP_ADDRESS>, the ip <IP_ADDRESS> is the IP configured on interface eth1, right?  I will upgrade loxilb, loxilb-ebpf, loxicmd to test the feature on BPFire

@vincentmli The portname is i think represents "green0" in BPfire terminology i.e. from where packets will come and "<IP_ADDRESS>" would be the red0's publicIP.  Basically it means do masquerading/snat for packets arriving from eth1 interface.

@UltraInstinct14 @TrekkieCoder I tested BPFire with the new loxilb/loxicmd, it works great, thanks a lot for this work :)
[root@bpfire-2 ~]# loxicmd create firewall --firewallRule="portName:green0" --snat=<IP_ADDRESS>
Debug: response.StatusCode: 200
Success
[root@bpfire-2 ~]# loxicmd get firewall -o wide
| SOURCE IP | DESTINATION IP | MIN SPORT | MAX SPORT | MIN DPORT | MAX DPORT | PROTOCOL | PORT NAME | PREFERENCE |       OPTION       | COUNTERS |
|-----------|----------------|-----------|-----------|-----------|-----------|----------|-----------|------------|--------------------|----------|
| <IP_ADDRESS>/0 | <IP_ADDRESS>/0      |         0 |         0 |         0 |         0 |        0 | green0    |          0 | Snat(<IP_ADDRESS>:0) | 2:170    |
[root@bpfire-2 ~]# ip a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet <IP_ADDRESS>/8 scope host lo
       valid_lft forever preferred_lft forever
2: red0: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc cake state UP group default qlen 1000
    link/ether 00:a8:2a:e8:34:ec brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global dynamic noprefixroute red0
       valid_lft 172545sec preferred_lft 150945sec
3: green0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc cake state UP group default qlen 1000
    link/ether 00:a8:2a:e8:34:ed brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 scope global green0
       valid_lft forever preferred_lft forever
4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc cake state DOWN group default qlen 1000
    link/ether 00:a8:2a:e8:34:ee brd ff:ff:ff:ff:ff:ff
5: eth3: <BROADCAST,MULTICAST> mtu 1500 qdisc cake state DOWN group default qlen 1000
    link/ether 00:a8:2a:e8:34:ef brd ff:ff:ff:ff:ff:ff
6: llb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 xdpgeneric/id:3 qdisc cake state UNKNOWN group default qlen 1000
    link/ether 6a:41:b0:69:b2:fc brd ff:ff:ff:ff:ff:ff

[root@bpfire-2 ~]# tcpdump -nn -i red0 icmp -c 10 &
[1] 3740
[root@bpfire-2 ~]# tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on red0, link-type EN10MB (Ethernet), snapshot length 262144 bytes

[root@bpfire-2 ~]#
[root@bpfire-2 ~]# tcpdump -nn -i green0 icmp -c 10 &
[2] 3741

ping from client <IP_ADDRESS> to google.com

[root@bpfire-2 ~]#
21:22:50.075283 IP <IP_ADDRESS> > <IP_ADDRESS>: ICMP echo request, id 1157, seq 1, length 64
21:22:50.075369 IP <IP_ADDRESS> > <IP_ADDRESS>: ICMP echo request, id 1157, seq 1, length 64

21:22:50.271598 IP <IP_ADDRESS> > <IP_ADDRESS>: ICMP echo reply, id 1157, seq 1, length 64
21:22:50.271716 IP <IP_ADDRESS> > <IP_ADDRESS>: ICMP echo reply, id 1157, seq 1, length 64

Ok, I noticed an odd behavior after applying the new firewall SNAT feature. use above BPFire network diagram as reference. green network client <IP_ADDRESS> by default uses <IP_ADDRESS> on green0 interface as DNS server because BPFire by default has dhcpd services running on green0 interface to assign dynamic IP to green network client, and the default DNS server configured in dhcpd is the <IP_ADDRESS>. after enable loxilb and creates the firewall snat rules, the DNS resolution from client <IP_ADDRESS> stops working with DNS server <IP_ADDRESS>, but the DNS resolution works if I change the DNS server to public DNS server <IP_ADDRESS>.
for example when I run dig @<IP_ADDRESS> www.google.com on client <IP_ADDRESS>, BPFire logs kernel message below:
Jul  6 01:52:06 bpfire-2 kernel: IPv4: martian source <IP_ADDRESS> from <IP_ADDRESS>, on dev green0
Jul  6 01:52:06 bpfire-2 kernel: ll header: 00000000: 00 a8 2a e8 34 ed 00 0e c4 cf 4c 8b 08 00

I also noticed while running tcpdump, no DNS query packet on red0 interface, only DNS query packet on green0 interface.
if I delete the loxilb firewall snat rule, DNS resolution with <IP_ADDRESS> works, and above martian source log message does not occur.  weird behavior

Thanks @vincentmli for bringing this up. I have merged a potential fix for this. Please double check once when you have time.

@TrekkieCoder @UltraInstinct14 I tested the fix on BPFire, the DNS issue is resolved, thanks a lot for the fix, now I can surf Internet through BPFire with LoxiLB enabled 👍

@TrekkieCoder @UltraInstinct14 I seem to find another bug that may be related to this, disable loxilb does not have the issue.
with same network diagram, when I ssh from green network client <IP_ADDRESS> to <IP_ADDRESS>, the ssh connection established, then I let the ssh session idle for about 3 minutes, the ssh session is "frozen" and no response to enter key. I run tcpdump capture on both the green0 and red0 interface the same time, attached the screen shot. the last SSHv2 with tcp length 36 frame from client (when user type enter) is lost/dropped, not seen on red0 interface capture.
green0

red0

I don't know if this is related to loxilb connection tracking (idle connection timeout?). but sometime I noticed even when I keep typing enter key on the ssh session in some random interval, the ssh session becomes "frozen" after some time.

@vincentmli It is due to a ridiculously low connection timeout for snat ( As this is a new feature, cicd and other testing are still in dev). In the meantime, I will release a quick patch with increased connection time and incorporate more unit-tests.

The timeout issue has been fixed. There is still a known issue where loxilb is not sensing tcp reset after session inactivity for masqueraded sessions. Will update after fix.

Thanks a lot for the quick fix!


How should I delete a node?

In Traverse, how should I delete a node if I want to? Is there a relevant method that allows me to remove the corresponding code for a specified node?

Try to find a usage similar to what you want in Transformer

Please provide more context of what you want to achieve.

For example, in Traverse, I wrote the enter_expression method, where I directly use a method like ctx.remove_expression() to delete this node from the program, ensuring that the node I removed will not be present in the final generated code. I noticed the move_expression method, but that ultimately leaves behind a null value.


5.0p4 release notes

@karann-msft @anangaur
/cc @nkolev92 @zivkan @heng-liu @dominoFire

OPS Build status updates of commit ace60c6:
:clock10: Preparing: average preparing time is 41 sec(s)

OPS Build status updates of commit ace60c6:
:clock10: Incremental building: average incremental building time is 21 sec(s)

OPS Build status updates of commit ace60c6:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/release-notes/NuGet-5.0-preview.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

OPS Build status updates of commit eeb74fc:
:clock10: Preparing: average preparing time is 41 sec(s)

OPS Build status updates of commit eeb74fc:
:clock10: Incremental building: average incremental building time is 21 sec(s)

OPS Build status updates of commit eeb74fc:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/release-notes/NuGet-5.0-preview.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

OPS Build status updates of commit fcb4ac7:
:clock10: Preparing: average preparing time is 41 sec(s)

OPS Build status updates of commit fcb4ac7:
:clock10: Incremental building: average incremental building time is 21 sec(s)

OPS Build status updates of commit fcb4ac7:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/release-notes/NuGet-5.0-preview.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

OPS Build status updates of commit 742b78f:
:clock10: Preparing: average preparing time is 41 sec(s)

OPS Build status updates of commit 742b78f:
:clock10: Incremental building: average incremental building time is 21 sec(s)

OPS Build status updates of commit 742b78f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/release-notes/NuGet-5.0-preview.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Implement Sprite Batching

This still needs a little bit of work, but not much. On my machine I get get up to 83,000 sprites before droping below 60 fps, compared to before batching where it only got up to 33,000. :tada:

Objective

Improve sprite rendering performance

Solution

Batch sprite draw calls together based on sprites that have the same texture

I'm curious as to how well it does with the render rework.

I've added this to the 0.6 milestone; it would be very good to finally be able to improve this with the new renderer.

@alice-i-cecile , great! It should be almost ready, but I wanted to do a once-over before I marked it as ready for review, I should get to that sometime within a week.

I fixed the last of the bugs that I know of and I this should now be ready for review!

I've done a review pass on this and it looks solid to me. Clear, well-organized and no obviously questionable design choices. I'm no rendering expert though, so take that with a grain of salt.
Do we have a strategy for automated testing or benchmarking of rendering features like this set up?

Pushed an extra commit that implements proper depth sorting and sprite flipping.

Just wrapped up a first pass review on this and it looks good to me generally. I'm gonna do one more pass tomorrow, then I'm gonna try to sort out the best way to reconcile these changes with the custom-shaders branch (ex: which to merge first). I think its probably easier to just merge this first and then adapt on my side, but I guess we'll see :)

Closing in favor of #3060


Screenshots should be saved regardless of whether the test is successful

If the whole Selenium CSS selection thing still works, but we broke something critical in the UI appearance, then it's practically impossible to reliably automatically test this, but the screenshot can indicate what was on the screen at that time in that browser.
(This might be better solved by just opening it up and interacting with the interface yourself in a browser, but for the sake of completeness it really feels like screenshots should be saved always.)

There's the save_screenshot() method to save screenshots at times other than test failures. A failure is a natural place to have a screenshot taken automatically because that's when something went wrong. Otherwise, there'd be no way to know where to have them. If you take a screenshot after every single action like a click, it's going to take up a lot of unnecessary disk space. And even then, you might not know that anything was wrong unless you looked through all the screenshots. The real problem here is the reason behind why I created MasterQA https://github.com/mdmintz/MasterQA . It's for when you want human eyes to look at something, but still have automation do all the heavy lifting so that manual QA time is minimized. Check out that repo to see for yourself.

Hi @cchan, you can add --ss as a pytest command-line option to save a screenshot after every test that runs!
pytest --ss


Add filtering to log

It would be nice if we could filter the log output between informational messages and error messages

completed with pull request 3


Implement option to use S3-compatible object storage

The static cutout files downloaded for each transient could be more efficiently and economically stored using S3-compatible object storage, particularly in production deployments. Implement an option to enable object storage instead of filesystem storage. Currently the use of FileField types in the relevant Django models that store data, such as Cutout, should make this an easier task. Combined with the django-storages Django app, it should be possible to rewrite the read/write functions such that they are agnostic to the selected storage backend.

Before we dive in the code to implement a bunch of changes, it occurs to me that we should experiment first with s3fs to transparently mount the S3 backend to the local filesystem for Blast. I have tested this method on OSN and it works; the only question is whether the performance is sufficient.


Error during processing webhook

Good afternoon,
Currently I am running Webhook version 2.6.9 on a virtualized Ubuntu 11 machine. Maybe this is a really noob question, but I am struggling now for a couple of days and running out of inspiration.
My hooks.json file looks like this:

My redeploy.sh script looks like this:

I constantly get the following error when running the listener:

Can someone tell me what I am doing wrong?
Hope to hear from you guys soon.

Hmm, seems to work with 2.8.0

Good morning,
I suppose you mean what's coming in from the KPN IOT platform (I use two
destinations: webhook.site for testing and webhook for production which is
now work in progress). This is what it looks like in Webhook.site:
[image: image.png]
[image: image.png]
Hope this helps?
Let me know if you need more information.
KR
Alex
Op ma 22 mei 2023 om 18:14 schreef Cameron Moore @.***>:

This is probably a duplicate of #615
https://github.com/adnanh/webhook/issues/615. What does you payload
look like?
—
Reply to this email directly, view it on GitHub
https://github.com/adnanh/webhook/issues/640#issuecomment-1557517184,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARXX43G2SQFSOGN6KYXESGDXHOGFXANCNFSM6AAAAAAYKNSZY4
.
You are receiving this because you authored the thread.Message ID:
@.***>

Dear Adnan,
Is there an easy way to upgrade to 2.8.0? I am currently on 2.9.6 and
installed a couple of days ago using sudo apt install in debian11.
If the upgrade solves the problem, then I can move on. Basically, the goal
here is to throw every received webhook into the MySQL database and use it
in combination with google maps presenting the measured IOT data to the
user using the latitude and longitude coordinates.
I have the database in place (working with Webhook.site) and the google
maps web application retrieving the data from the database. So, basically
the only step I have to take is transfer the webhook data into the MySQL
database when the bash script is triggered.
Does that make sense?
KR
Alex
Op ma 22 mei 2023 om 22:53 schreef Adnan Hajdarević <
@.***>:

Hmm, seems to work with 2.8.0
—
Reply to this email directly, view it on GitHub
https://github.com/adnanh/webhook/issues/640#issuecomment-1557976647,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARXX43BP2ITTWXIY7WIQSFDXHPG6LANCNFSM6AAAAAAYKNSZY4
.
You are receiving this because you authored the thread.Message ID:
@.***>

As an addition to my last e-mail, this is what is coming with the received
webhook:
[{"bn":"urn:dev:IMEI:86***********4:","bt":1.684833304E9},{"n":"CPU
temperatuur","u":"Cel","v":43.312},{"n":"Processorgebruik","u":"%","v":22.5},{"n":"Breedtegraad","u":"lat","v":51.87695},{"n":"Lengtegraad","u":"lon","v":4.61525}]
Op ma 22 mei 2023 om 18:14 schreef Cameron Moore @.***>:

This is probably a duplicate of #615
https://github.com/adnanh/webhook/issues/615. What does you payload
look like?
—
Reply to this email directly, view it on GitHub
https://github.com/adnanh/webhook/issues/640#issuecomment-1557517184,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARXX43G2SQFSOGN6KYXESGDXHOGFXANCNFSM6AAAAAAYKNSZY4
.
You are receiving this because you authored the thread.Message ID:
@.***>

Gents,
After a lot of struggling I managed to install and run a 2.8.0 instance of
webhook. This seems to solve the issue. I am now receiving this:
[image: image.png]
But, the milion dollar noob question is: How do I get this data in my
database? Can I use the id and run a php script to insert the data into the
MySQL database like I do with webhook.site? Or is there a more
simpler/common way to do this? Sorry, I need a little bit more information
to point me in the right direction, here.
But, I am already happy that I got this far! :)
KR
Alex
Op ma 22 mei 2023 om 22:53 schreef Adnan Hajdarević <
@.***>:

Hmm, seems to work with 2.8.0
—
Reply to this email directly, view it on GitHub
https://github.com/adnanh/webhook/issues/640#issuecomment-1557976647,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARXX43BP2ITTWXIY7WIQSFDXHPG6LANCNFSM6AAAAAAYKNSZY4
.
You are receiving this because you authored the thread.Message ID:
@.***>

Morning, any news on this question?
KR
Alex
Op di 23 mei 2023 om 12:02 schreef Alex Wesemann @.***>:

Gents,
After a lot of struggling I managed to install and run a 2.8.0 instance of
webhook. This seems to solve the issue. I am now receiving this:
[image: image.png]
But, the milion dollar noob question is: How do I get this data in my
database? Can I use the id and run a php script to insert the data into the
MySQL database like I do with webhook.site? Or is there a more
simpler/common way to do this? Sorry, I need a little bit more information
to point me in the right direction, here.
But, I am already happy that I got this far! :)
KR
Alex
Op ma 22 mei 2023 om 22:53 schreef Adnan Hajdarević <
@.***>:

Hmm, seems to work with 2.8.0
—
Reply to this email directly, view it on GitHub
https://github.com/adnanh/webhook/issues/640#issuecomment-1557976647,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARXX43BP2ITTWXIY7WIQSFDXHPG6LANCNFSM6AAAAAAYKNSZY4
.
You are receiving this because you authored the thread.Message ID:
@.***>

Hi Cameron,Thanks a lot for your explanation. Today, I learned this and changed my script to pass both header and payload data to a python script that extracts the iot information and imports it into the mysql database. There is still a lot of work to do but I think I made some good steps forward today.Appreciate your help and support!Verstuurd vanaf mijn iPhone - Sent from my iPhone,Met vriendelijke groet,Alex WesemannOp 25 mei 2023 om 20:42 heeft Cameron Moore @.***> het volgende geschreven:
I think you're misunderstanding what webhook does.  webhook parses a web request and passes parts of that request to a local script or executable.  It's up to the script or executable to do something useful with what's passed to it.
Your config is telling webhook to pass a JSON representation of the entire headers and payload to your script, but your script isn't doing anything with the parameters that are passed to it.  It's only appending stuff to a log file.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>


RHIDP-984: Fixed GitHub login failure

Jira: https://issues.redhat.com/browse/RHIDP-984

I've just tried this. And it looks like it doesn't work as expected.
Lets not merge this one yet.

From my explorations, the global.clusterRouterBase needs to be updated to reflect your base cluster domain, the apps.<cluster>.com url, unless you have configured a custom domain for your cluster, which is not the case when bringing one up via Cluster Bot (or by default probably). I think I have addressed this issue in https://github.com/redhat-developer/red-hat-developers-documentation-rhdh/pull/69 if you would like to take a look at it.

From my explorations, the global.clusterRouterBase needs to be updated to reflect your base cluster domain, the apps.<cluster>.com url, unless you have configured a custom domain for your cluster, which is not the case when bringing one up via Cluster Bot (or by default probably). I think I have addressed this issue in #69 if you would like to take a look at it.

@kadel PR #69 is merged, should we close this one then?


can't install tcl-tk on Centos 6.6

From @phorust on June 26, 2015 1:17
I'm following this guide to get a clean brew install so I can get neovim with python support working on Centos 6.6 while working behind a proxy on a system without root (kind of). (which has taken me so long I've considered stopping my use of vim completely, no joke).
Anyhow, I'm getting the following error
==> Installing git dependency: homebrew/dupes/tcl-tk
==> Downloading https://downloads.sourceforge.net/project/tcl/Tcl/8.6.4/tcl8.6.4-src.tar.
Already downloaded: /home/phorust/.cache/Homebrew/tcl-tk-8.6.4.tar.gz
==> Patching
patching file pkgs/sqlite<IP_ADDRESS>/generic/sqlite3.c
==> ./configure --prefix=/home/phorust/.linuxbrew/Cellar/tcl-tk/8.6.4 --mandir=/home/phor
==> make
==> make install
==> make install-private-headers
==> Downloading https://downloads.sourceforge.net/project/tcl/Tcl/8.6.4/tk8.6.4-src.tar.g
Already downloaded: /home/phorust/.cache/Homebrew/tcl-tk--tk-8.6.4.tar.gz
==> ./configure --prefix=/home/phorust/.linuxbrew/Cellar/tcl-tk/8.6.4 --mandir=/home/phor
==> make TK_LIBRARY=/home/phorust/.linuxbrew/Cellar/tcl-tk/8.6.4/lib
/tmp/tcl-tk--tk20150625-2353807-j99v3m/tk8.6.4/unix/../generic/tkBind.c: At top level:
/tmp/tcl-tk--tk20150625-2353807-j99v3m/tk8.6.4/unix/../generic/tkBind.c:4199: error: expec
ted ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘TkStringToKeysym’
/tmp/tcl-tk--tk20150625-2353807-j99v3m/tk8.6.4/unix/../generic/tkBind.c:4238: error: expec
ted ‘)’ before ‘keysym’
/tmp/tcl-tk--tk20150625-2353807-j99v3m/tk8.6.4/unix/../generic/tkBind.c:4270: error: expec
ted ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
make: *** [tkBind.o] Error 1

Copied from original issue: Homebrew/homebrew-dupes#481

Can you upload all of the logs from ~/.cache/Homebrew/Logs/tcl-tk to gist.github.com and provide the link? Also provide your brew --config and brew doctor output, please.

From @phorust on June 26, 2015 2:27
Unfortunately looks like I'm running into another error
~  ➜  https_proxy=proxyout:8080 brew gist-logs tcl-tk
Error: getaddrinfo: Name or service not known
Please report this bug:
    https://github.com/Homebrew/linuxbrew/blob/master/share/doc/homebrew/Troubleshooting.md#troubleshooting
/home/phorust/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/net/http.rb:879:in `initialize'
/home/phorust/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/net/http.rb:879:in `open'
/home/phorust/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/net/http.rb:879:in `block in connect'
/home/phorust/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/timeout.rb:67:in `timeout'
/home/phorust/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/net/http.rb:878:in `connect'
/home/phorust/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/net/http.rb:863:in `do_start'
/home/phorust/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/net/http.rb:852:in `start'
/home/phorust/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/net/http.rb:1369:in `request'
/home/phorust/.linuxbrew/Library/Homebrew/cmd/gist-logs.rb:115:in `post'
/home/phorust/.linuxbrew/Library/Homebrew/cmd/gist-logs.rb:72:in `create_gist'
/home/phorust/.linuxbrew/Library/Homebrew/cmd/gist-logs.rb:24:in `gistify_logs'
/home/phorust/.linuxbrew/Library/Homebrew/cmd/gist-logs.rb:140:in `gist_logs'
/home/phorust/.linuxbrew/Library/brew.rb:140:in `<main>'

Can you provide the output of brew gist-logs tcl-tk please?

Ping.

From @phorust on June 30, 2015 22:23
Possibly related issue: Homebrew/homebrew/issues/41132
Logs from ~/.cache/Homebrew/Logs/tcl-tk
https://gist.github.com/phorust/6c64323dee459c45739a
https://gist.github.com/phorust/4f637440595a119b4523
https://gist.github.com/phorust/676a823e1c454c94c8d5
https://gist.github.com/phorust/d7ae9fbf27194fdd2e4b
https://gist.github.com/phorust/47d8aef9db79d4508b88
https://gist.github.com/phorust/1651715c1592843640a7
Output of brew --config:
HOMEBREW_VERSION: 0.9.5
ORIGIN: https://github.com/Homebrew/linuxbrew
HEAD: c30e5ce25b182daffdb3e1123dc1a6652019cc27
Last commit: 3 hours ago
HOMEBREW_PREFIX: /home/phorust/.linuxbrew
HOMEBREW_CELLAR: /home/phorust/.linuxbrew/Cellar
CPU: 32-core 64-bit 6
OS X: 0-x86_64
Xcode: N/A
CLT: N/A
Clang: N/A
X11: N/A
System Ruby: 2.1.0 => /home/phorust/.rvm/rubies/ruby-2.1.0/bin/ruby
Perl: /usr/bin/perl
Python: /usr/local/bin/python => /usr/bin/python
Ruby: /home/phorust/.rvm/rubies/ruby-2.1.0/bin/ruby
Java: 1.8.0_25

Output of brew doctor:
Warning: "config" scripts exist outside your system or Homebrew directories.
`./configure` scripts often look for *-config scripts to determine if
software packages are installed, and what additional flags to use when
compiling and linking.

Having additional scripts in your path can confuse software installed via
Homebrew if the config script overrides a system or Homebrew provided
script of the same name. We found the following "config" scripts:

  /opt/local/bin/proxyout-config
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry and just ignore them. Thanks!

Warning: Unbrewed header files were found in /usr/local/include.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected .la files:
    /usr/local/lib/libevent_pthreads.la
    /usr/local/lib/libevent_extra.la
    /usr/local/lib/libevent_core.la
    /usr/local/lib/libevent_openssl.la
    /usr/local/lib/libevent.la
Warning: Unbrewed .pc files were found in /usr/local/lib/pkgconfig.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected .pc files:
    /usr/local/lib/pkgconfig/libevent.pc
    /usr/local/lib/pkgconfig/libavutil.pc
    /usr/local/lib/pkgconfig/libavformat.pc
    /usr/local/lib/pkgconfig/libevent_pthreads.pc
    /usr/local/lib/pkgconfig/libavdevice.pc
    /usr/local/lib/pkgconfig/libavcodec.pc
    /usr/local/lib/pkgconfig/libswscale.pc
    /usr/local/lib/pkgconfig/libswresample.pc
    /usr/local/lib/pkgconfig/libevent_openssl.pc
    /usr/local/lib/pkgconfig/libavfilter.pc
Warning: Unbrewed static libraries were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected static libraries:
    /usr/local/lib/libf77blas.a
    /usr/local/lib/liblapack.a
    /usr/local/lib/libswscale.a
    /usr/local/lib/libavutil.a
    /usr/local/lib/libevent.a
    /usr/local/lib/libavformat.a
    /usr/local/lib/libswresample.a
    /usr/local/lib/libevent_pthreads.a
    /usr/local/lib/libcblas.a
    /usr/local/lib/libavfilter.a
    /usr/local/lib/libptcblas.a
    /usr/local/lib/libevent_core.a
    /usr/local/lib/libatlas.a
    /usr/local/lib/libevent_openssl.a
    /usr/local/lib/libevent_extra.a
    /usr/local/lib/libavdevice.a
    /usr/local/lib/libptf77blas.a
    /usr/local/lib/libavcodec.a

Warning: You have a curlrc file
If you have trouble downloading packages with Homebrew, then maybe this
is the problem? If the following command doesn't work, then try removing
your curlrc:
  curl http://github.com

You can safely skip installing tcl-tk. Instead install git without Tk support.
brew install git --with-brewed-curl --with-brewed-openssl --without-tcl-tk

See https://github.com/sjackman/docker-linuxbrew/blob/master/linuxbrew-standalone/Dockerfile

@mistydemeo What script did you use to move this issue? That's a neat trick.

@sjackman I think it is this: https://github.com/google/github-issue-mover

Thanks, Saket. That's super useful.

Installing git without tcl-tk support did the trick, and I moved on to the next step of the Standalone Installation, and now I'm having trouble with brew install coreutils:
==> Downloading http://ftpmirror.gnu.org/coreutils/coreutils-8.23.tar.xz
Already downloaded: /home/phorust/.cache/Homebrew/coreutils-8.23.tar.xz
==> Patching
patching file Makefile.in
==> ./configure --prefix=/home/phorust/.linuxbrew/Cellar/coreutils/8.23_1 --program-prefix=g --without-gmp
==> make install
make[2]: *** [man/cp.1] Error 127
make[2]: Leaving directory `/tmp/coreutils20150701-270170-1ozqv4/coreutils-8.23'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/tmp/coreutils20150701-270170-1ozqv4/coreutils-8.23'
make: *** [install] Error 2

READ THIS: https://github.com/Homebrew/linuxbrew/blob/master/share/doc/homebrew/Troubleshooting.md#troubleshooting

Please report brew gist-logs coreutils

Similar problems to above where the proxy env vars aren't being used:
~  ➜ https_proxy=http://proxyout:8080 brew gist-logs coreutils
22:47:03 libtsocks(540725): Error 101 attempting to connect to SOCKS server (Network is unreachable)
Error: Network is unreachable - connect(2) for "api.github.com" port 443

I have http_proxy, HTTP_PROXY, https_proxy, and HTTPS_PROXY all set to http://proxyout:8080

Yes, please.


rpl_staking_rework_finalizing

Getting final community feedback before switching to Review and requesting Finalization.

Went through the bullets in https://github.com/Valdorff/rp-thoughts/tree/main/rpl_staking#proposed-changes to make sure the spec covers them -- I believe it does. As author I'm ready for this to move to "Final" with editor approval.

Review changes found no errors or inconsistencies, and merged.


To be able to update data from custom queries

Describe the solution you'd like
When you do custom query (e.x.: select * from pandas join animals <etc...> ) you might want to edit a cell from the output of this query, but currently you cannot and you are either forced to use query to update the records or open the individual tables to update the data.

This is not an easy thing to implement, especially when there are fields with aliases and multiple joins.
However, I will keep this idea in mind for the future.


feat: add as_env Mustache helper that transform properties to ENV_VARIABLE

Linked to #36
This PR adds the as_env helper, allowing users to transform properties to their ENV_VARIABLE form: spring.application.name to SPRING_APPLICATION_NAME .
The expected usage:
-[cols="2,1,3,1,1"]
+[cols="2,1,3,1,1,3"]
|===
-|Key |Type |Description |Default value |Deprecation
+|Key |Type |Description |Default value |Deprecation |Environment variable
{{#each properties}}
|{{key}}
|{{type}}
|{{description}}
|{{defaultValue}}
|{{propertyDeprecation}}
+|{{as_env key}}
{{/each}}

If you want I can open another PR that will add this to the default ADOC/MARKDOWN/XML/HTML output (behind a flag ? by default ?)

In my opinion it must be optional and configurable with a configuration key coming within the AbstractTemplateCustomization class.

If you really would like to make the template work you must use the fqName attribute in the helper function, because the key alone will not be enough for the fully qualified name.

Thank you, I will merge it and do some small changes on it.

@all-contributors please add @Allsimon  for code


Converting engine scenario run scripts to python or dart

Use case
Currently, engine scenario tests are run through a bash script. I had to add some logic to fix a bug.
@zanderso commented:

My sense is that the logic in this script is outgrowing what we'd normally like to maintain in a bash script. We should consider porting this to Python, or ideally Dart if possible.
https://github.com/flutter/engine/pull/50835#pullrequestreview-1896463532

Proposal
Instead of using a bash script to run the tests, use a python or dart script.

Fixed in https://github.com/flutter/engine/pull/53717, though we might revert and re-land due to https://github.com/flutter/flutter/issues/154956.


Enabling the ActiveMQ Broker for AMQP

Hi,
I need to create an ActiveMQ input by configuring a provider URL with amqp Transport scheme.
It seems that activemq-for-geoevent supports only tcp Transport scheme. Is there any way to create an ActiveMQ input by configuring a provider URL with amqp Transport scheme?
Regards,
Luis

The transport in ActiveMQ for GeoEvent is based on an OpenWire JMS client library. It does support other transports besides basic tcp, including failover, but it's still OpenWire.
In order to with a broker that is using the amqp scheme in its transport connector, you would need a different client transport within GeoEvent. But note that the existing RabbitMQ connector does not use a compatible version of AMQP.
If the broker is configured with the auto transport, or to use tcp and amqp on different ports, you can use ActiveMQ for GeoEvent to connect to it while other clients use AMQP.

In follow-up, I think a transport providing AMQP 1.0 for GeoEvent would be possible, based on e.g. SwiftMQ AMQP 1.0 Client but as noted that would be out of the scope for ActiveMQ for GeoEvent.

@brudo and @LuisRguezEsriSpain Is there any news regarding this topic? I also have the requirement to use ActiveMQ with AMQP v1.0 in GeoEvent. And before starting a own development, I'd like to ask if you maybe has some code I can reuse. Thanks, Christine


Bugfix for Observation checking for observe option 0.

Signed-off-by: Achim Kraus<EMAIL_ADDRESS>

Would only be required in the future for californium 2.0.0-M3.


Makes logo in navbar persistent

This PR:

Fixes #108 with specs to prove it
Adds contextual hooks to the body tag (see below)
Refactors some presentation logic from the model into a helper (see below)
Incorporates the paperclip attachment into the factories & specs (also includes a logo.jpg that is artifact-y AF to keep the filesize down)

Body tag change
This is a bit of cleverness I've done on other apps in the past -- it assigns the current controller to the id property of the body tag and the current action to the class property of the body tag. So the "Dashboards#index" action would result in <body id="dashboard" class="index">.  Previously, the body tag was just vanilla with no classes or ids, so this shouldn't affect anything immediately.
We can use this to do contextual CSS, like body#dashboard h1 { ... } would apply to only h1s that render in the Dashboard views.
Refactoring presentation logic
We had a method that was emitting some HTML in the Model. That's "V" stuff so I moved it out to a helper. I suspect when @danquill finishes his paperclip updates (sizing and whatnot) this will need to be tweaked again (/app/helpers/organization_helper.rb)

Looks good to me. I also downloaded and tested it locally and it looks good there too :)


Publish Package @ntohq/buefy-next

@wesdevpro
If I correctly understand the configurations around npm publish, the package will be published as buefy-next. In my opinion, it makes more sense if the packaged is scoped in @ntohq, i.e., as @ntohq/buefy-next, considering the transient nature of the package. I mean the package will be only relevant until we release official Buefy for Vue 3.

If I correctly understand the configurations around npm publish, the package will be published as buefy-next. In my opinion, it makes more sense if the packaged is scoped in @ntohq, i.e., as @ntohq/buefy-next, considering the transient nature of the package. I mean the package will be only relevant until we release official Buefy for Vue 3.

@wesdevpro Sorry, I overlooked the title of the PR. You actually intend to publish it as @ntohq/buefy-next.

@wesdevpro
How about to replace urls in repository and bugs fields with https://github.com/ntohq/buefy-next and https://github.com/ntohq/buefy-next/issues respectively?
https://github.com/ntohq/buefy-next/blob/67ecf3a8b9e1365cc51f37f20b64f85403b0ad8b/package.json#L25-L31

@wesdevpro How about to replace urls in repository and bugs fields with https://github.com/ntohq/buefy-next and https://github.com/ntohq/buefy-next/issues respectively?
https://github.com/ntohq/buefy-next/blob/67ecf3a8b9e1365cc51f37f20b64f85403b0ad8b/package.json#L25-L31

I will update this before pulling these changes


Hide sync ssh keys button on admin dashboard if ssh disabled or builtin-ssh enabled

As title.

🚀


🐛 [BUG]: setTransfrom is not working on the area without elements

Is there an existing issue for this?

[X] I have searched the existing issues and this is a new bug.

Current Behavior
The bug only appears when the flow is mounted without elements. In this case, you can't set transform until you add some nodes. If the nodes were initially there and then removed, the transform is working on such an empty area.
Expected Behavior
expect setTransfrom to work even on an empty initial screen.
Steps To Reproduce

Create a flow without elements
Run setTranfrom to alter the initial value
Run getTranfrom and see that the value is still initial.
Add one node.
Run setTranfrom and getTranfrom again to see that now it is working.

Relevant log output
No response
Anything else?
No response

Thanks for the report, I'll see what I can do about this 😄

Related bug:
When fitViewOnInit is set to true but no nodes exist on the viewport during initial render, fitView will be called when the first node is added to the viewport, which isn't the expected behavior.
Expected behavior should be

When no nodes exist initially on the viewport, fitView is still called (even though it won't do anything)
a. When a node is added afterwards, fitView is not called (again), unless a user calls it themselves
If there are nodes on the viewport initially, fitView will do what it does

Fix is released with 1.21.2


Introduce new v2 hash

This introduces a new, NOT BACKWARDS COMPATIBLE, version two of the schema hashing algorithm.
This makes two changes:

We replace the sequential u8 values representing variants of the schema with random 8-bit primes. This is intended to reduce the chance of hash collisions, however to my knowledge hash collisions have never been observed (in the wild or maliciously/intentionally).
We no longer hash the name of a type, as proposed by @zeenix. This allows for potential "type punning" when two types are represented on the wire in the same way. For example, heapless::String and std::string::String should produce the same schema hash, or &[u8] and Vec<u8>.

I plan to experiment with this in this PR, and if merged, would be added as a non-default option for the 0.7.x release train. In the future (e.g. 0.8.x), hashv2 would become either the only supported algorithm, or would become the default with an opt-in feature for the legacy v1 hashing.
One thing I plan to look at is if I can relax any + 'static/"Owned" bounds on various traits or methods. The hope would be to allow non-'static sending/serialization, but still require 'static bounds for receiving/deserialization. This would allow a no-std device to send &[u8], while allowing the std host to receive as a Vec<u8>.
I need to write more in depth about this, as it takes the schema system from "strict nominal + strict structural typing" to "strict structural typing + partial structural typing", where "partial structural typing" is defined that the names of struct fields and enum variants are still considered, but the names of types themselves are NOT considered.

I may want to make this slightly less flexible, for example, this would allow types like struct Wrapper1(u8); and struct Wrapper2(u8); to also produce the same hash, which I am unsure if is desirable or not.

We no longer hash the name of a type, as proposed by @zeenix. This allows for potential "type punning" when two types are represented on the wire in the same way. For example, heapless::String and std::string::String should produce the same schema hash, or &[u8] and Vec<u8>.

Awesome!

One thing I plan to look at is if I can relax any + 'static/"Owned" bounds on various traits or methods.

That would be also super nice.

The hope would be to allow non-'static sending/serialization, but still require 'static bounds for receiving/deserialization.

Hmm.. if you were to have an intermediate raw binary type that you read the bytes into (reading the full message bytes first, is something an RPC should do anyway, IMHO) and then allowing to deserialize from that, you can allow deserialization to reference types as well (this would be particular great to strings). Something like this.

This would allow a no-std device to send &[u8], while allowing the std host to receive as a Vec<u8>.

Definitely! However, I'd imagine most users do both on both sides. Still very useful if the sender drops the 'static bound already. :+1:

Hmm.. if you were to have an intermediate raw binary type that you read the bytes into (reading the full message bytes first, is something an RPC should do anyway, IMHO) and then allowing to deserialize from that, you can allow deserialization to reference types as well (this would be particular great to strings)

Both postcard and postcard-rpc both do this already. Serde doesn't have "pausable" deserialization (for example, async methods), so it is necessary to already have all data or be blocking. Postcard does allow deserialization with borrowed values (strings and byte slices), but some of postcard-rpc's interfaces have a more strict 'static bound.
I'll have to remember why I put 'static bounds on many of these items, in the past I've found that allowing borrowed deser in cases where part of the process is managed by the "stack" (e.g. postcard-rpc's dispatch machinery) ends up being challenging to compose. If there are specific places you think it can be relaxed, I'm open to issues to discuss.

I may want to make this slightly less flexible, for example, this would allow types like struct Wrapper1(u8); and struct Wrapper2(u8); to also produce the same hash, which I am unsure if is desirable or not.

Thinking on this, I'm maybe slightly more okay with this.
If these types are a top level structure, they still will be used with a path, if someone swaps Temperature(f32) with Humidity(f32), and the path is sensors/temperature, then I don't think I can help them. Similarly if these types are a field in a struct, the name of the field is still preserved, which avoids this case:
struct Example {
    temp: Temperature(f32),
    humidity: Humidity(f32),
}

// field reordering! *does* still change the schema in with v2 hashing

struct Example {
    humidity: Humidity(f32),
    temp: Temperature(f32),
}

Open to more "this is bad" or "this is okay" examples.


Did the MLP series not embed category features and only use one hot encoding?

The paper mentions "Categorical features. For CatBoost, we employ the built-in support for categorical features. For all  other algorithms, we use the one-hot encoding."
So, do the MLP series directly use one hot input into MLP without embedding each cat feature? Only Transformer has embedded each cat feature?
self.category_sizes = dataset.get_category_sizes('train')
d_cat_embedding = (
    config.model.d_num_embedding
    if self.category_sizes
    and (
        config.is_transformer
        or config.model.d_cat_embedding == 'd_num_embedding'
    )
    else config.model.d_cat_embedding
)
self.cat_embeddings = (
    None
    if d_cat_embedding is None
    else rtdl.CategoricalFeatureTokenizer(
        self.category_sizes, d_cat_embedding, True, 'uniform'
    )
)

It seems that d_cat_imbedding does not have a value set in the MLP based method. I am not sure if my understanding is correct.

So, do the MLP series directly use one hot input into MLP without embedding each cat feature?

Yes, this is correct.

So, do the MLP series directly use one hot input into MLP without embedding each cat feature?

Yes, this is correct.

Thanks for your answer, but one-hot encoding+linear layer (MLP) is indeed very similar to Embedding.

As far as I understand, the issue is resolved. Feel free to reopen it if needed.


index.json in S3 grows indefinitely and causes errors

Description
Publishing a package that is 3Mb will be saved to s3 on its own but also to the index.json:
(src/put/publish.js)
    json['dist-tags'][tag] = version;
    json._attachments[`${name}-${version}.tgz`] = pkg._attachments[`${name}-${version}.tgz`];
    json.versions[version] = versionData;

    ...

    await storage.put(
      `${name}/${version}.tgz`,
      json._attachments[`${name}-${version}.tgz`].data, // eslint-disable-line no-underscore-dangle
      'base64',
    );

    await storage.put(
      `${name}/index.json`,
      JSON.stringify(json),
    );

If you publish 100 times, the index.json will be roughly 300Mb, which will fail or be grossly inefficient:
    const pkgBuffer = await storage.get(`${name}/index.json`);
    json = JSON.parse(pkgBuffer.toString());

Would the solution be to clear out json._attachements prior to saving to index.json?
What recommendations do you have since I have already run into the issue, can I simply delete the entirety of the bucket in s3 if I don't care about past releases?

Sorry for the delay getting back to you, which call is causing you errors, there is a hard limit we are getting problems with #39 when the json without attachments is over 6MB.  The GET request removes attachments when serving it for this reason.
https://github.com/craftship/codebox-npm/blob/master/src/get/lib.js#L13
As you mention it might be time to remove this, this was an original npm way of working as far as I understand and they no doubt realised this is not a maintainable solution going forward.
Need to understand it a little further as would not expect it to cause you any issues apart from large storage sizes.

@jonsharratt I get a 502 error when running npm publish, so on the PUT to the registry I believe.

@jonsharratt Im guessing the get request removed attachments, but does the PUT request attempt to return the patched index.json as a response - and does not remove attachments?

@jonsharratt @kmfk Yup, even in my package, index.json was like 58mb, so, the publishing of new package version was throwing 502 & then 403(Probably Lambda couldn't handle it?).
I had to cleanup previous attachments while publishing to fix the issue(in publish.js).
This reduced index.json size to 1.7mb and publishing and install are working fine.
Pull request here - https://github.com/craftship/codebox-npm/issues/84.
Just curious, why we are storing all attachment data in index.json?

So this existed as I had to piece together how npm works.  Turns out they used couchdb so this was why I copied over that functionallity.
They hit the same perf issues and look to have taken the attachments out of the package.json themselves.
Merged your proposed fix @ganapativs and tagged a release, give it a go and let me know how you get on.
Sorry for the delay on this been a crazy past couple of months.

Thanks :)


add missing pieces in exercise section

some missing pieces added in step 003 of the exercise

As I understand, commands in the instruction are provided to be performed outside test-infra. So this line:
./e2e/provision/hacks/network-topo.sh
suppose to be
./test-infra/e2e/provision/hacks/network-topo.sh

/approve
/lgtm


Remove version: NumeRe.NumeRe version <IP_ADDRESS>3

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://sourceforge.net/projects/numere/files/Release Candidate/numere-win-v114rc.exe/download
Status Code: 200
(Automated message - build 896)

Close with reason: Package still available.;


Add support for creating benchmark functions that have multiple blocks.

If there are multiple blocks in a function, all the blocks should be
cloned with the correct mapping.

A more complicated test can use unidirectional_lstm.mlir


Add option to Disable/Customize Shortcut

I use Figma and regularly use CMD+Scroll to navigate the canvas, it seems like it activates the timeline which means I can't use this at the same time as figma.

Sure!

It'll be in the next build... maybe i'll cut one now, for this and light/dark mode fix

Sounds great! I'm happy to give feedback whenever I get a chance, I used Rewind pretty heavily for a few months and was waiting for someone to open source a version. Thanks for taking the initiative 🙏 (wouldn't be surprised to see Apple add this as a default function in macOS eventually)

Excited to disappoint you! 😄 Don't hesitate to report any and all bugs and thorns. I'd love to get it stable.


WIP: Add GNOME Flashback support.

I need some help to finish this. The flashback packages build but I have no idea how to make gnome-session aware of their .desktop files, and for the display manager to be aware of the new sessions. Could someone help?
Motivation for this change
I would like to use GNOME 3 with XMonad, which is not possible with GNOME Shell.
Things done

[ ] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

I rebased this, updated the packages and fixed some paths and it seems to work:
https://github.com/jtojnar/nixpkgs/tree/flashback

(triage) @jtojnar Does the PR in https://github.com/NixOS/nixpkgs/pull/44689 contain the changes from this PR? Looking from afar they seem vaguely related, but…

Yes, in #44689, I upgraded the GNOME 2 packages to their flashback equivalents; however, we still need to add a NixOS module. Let’s move the discussion into an issue.


AzureCosmosTable - Support override of LogTimeStamp using first contextproperty

Resolves #97 by supporting this:
	<target xsi:type="AzureCosmosTable"
		name="cosmostable"
		connectionString="xxxxxxxx"
		tableName="xxxx"
		layout="JSON"
		partitionKey ="${date:format=yyyy-MM-dd}">
	   <contextproperty name="LogTimeStamp" layout="${date:format=O}" />
	   <contextproperty name="message" layout="${message}" />
	</target>

@JDetmar Ready for review.

@JDetmar Thank you for the merge.


Replace String in FM Objects timout with "many" objects to replace

I'm having an issue where doing a replace in the clipboard "sometimes" is not working. Claris FileMaker Pro <IP_ADDRESS> running on macOS 14.7 arm64; I'm triggering the find/replace from Raycast.
I haven't narrowed down the exact circumstances, but what happens is that the replace never completes. In Activity Monitor, osascript is "not responding" and I have to force quit it to move on.
From what I've been able to guess so far, it is rather the number of replacements that seems to cause the issue, but I haven't done systematic testing yet.
A replace with a handful of occurrences works perfectly and is fast; a replace with some 30-40 occurrences ends up in this non-responding state.

David, there are a few things we could try.
Could you try running the same replacement by running the script using Script Editor? It would be good to know if there's something about the way Recast invokes the AppleScript code that is involved. The fact that the "osascript" shell utility was not responding makes me think this could be an issue, since running the script directly doesn't involve invoking osascript.
If running it in Script Editor also fails, would you be able to send me the XML in question? Perhaps there is some reason this particular block of XML would fail.
I just copied a bunch of scripts into my clipboard, then ran fmClip - Replace String in FM Objects.applescript from the macOS Scripts menu in the menu bar, replacing "<Step", and it did 1447 replacements in less than a second.
Either way, this is strange - the method used to replace the text is a pretty basic AppleScript text item delimiters technique, and should not be a problem.

Thanks Dan, that is very helpful. It is very good news that this may indeed be something on my end/Raycast-related. I did have a quick look at the AppleScript code, and indeed, it looks very straightforward.
It might take a few days, but I'll run the tests and put together a sample file for you to look at.

A expected based on your feedback, I've been able to confirm that this is an issue only when running the AppleScript from Raycast; running it from the scripts menu works perfectly.
Are you still interested in getting more details, or would you consider this a Raycast issue (which would seem reasonable)?

Well, I would like to get it working in Raycast, as well. I actually do have Raycast installed on my Mac, although I don’t use it very often yet.
I might be able to do some testing and turn on some debugging in the Applescript code and see where it is that it stops working. I have seen some talk online generally about AppleScript code having some issue with one script file calling another when invoked certain ways, but I think that would make it stop working for even a small number of replacements, so maybe that’s not the problem here.

Just a note that the Raycast extension bundles these applescripts with the extension, so any updates made in this repo have to be manually copied over and re-published in the Raycast store. I also had to modify them slightly to return the results as text and avoid all dialogs, plus they are executed via terminal commands (osascript, as you've discovered) so they are slightly different, but I'm happy to collaborate with you if there's anything we can do on the Raycast side to make them more reliable

So far clarity (my own, if nothing else), when I'm running the "Replace String in FM Objects" AppleScript from Raycast, this uses a locally stored file added in Extension > Script Commands. All this thanks to Robert Naud having generously shared his files and setup. As far as I can tell, the only difference are the 15 lines in the beginning that have been added for Raycast to be able to run the script -both are version 4.1.
Also, if either of you would like me to create a sample file with objects where the replace works vs doesn't work, let me know. I'm obviously also more than happy to help with any testing.

Oh, sorry I thought you were talking about the FileMaker snippets extension that I wrote: https://www.raycast.com/eluce2/filemaker-snippets. Please let me know if you're unable to get it working within there.

Your Claris Snippets work perfectly fine in Raycast, but unless I've missed something (which isn't impossible), they don't contain a find/replace feature?

It does actually! but you may want to make sure you have the latest version, some people are still still stuck on an old version since it was renamed to "FileMaker Snippets".
After you create a snippet, you can edit "dynamic fields" to setup a find/replace flow and you'll be prompted with a form before copying any snippet to do the replacments

Sorry, I wasn't clear enough about which find/replace I was talking about ;-) I do know about THAT kind of snippet find/replace. What I was referring to is a find/replace not in a pre-existing snippet, but in whatever is currently in the clipboard (assuming of course it is FileMaker clipboard), and then setting the clipboard to the modified content. So I copy a portal on layout A, replace the table occurrence name, and then I can paste it on layout B with everything working right away.


Guidance: how to propagate tracing span into scope

Do you have some guidance on how to propagate things (like a tracing span) into a scope?
This is my best guess, I'm hoping there is a better way:
use tracing_opentelemetry::OpenTelemetrySpanExt;

#[tracing::instrument(err)]
fn wrap_in_parallel(inputs: &Vec<String>) -> Result<Vec<String>, anyhow::Error> {
    let parent = tracing::info_span!("do_something_amazing").entered();
    let parent_cx = parent.context();

    let (results_tx, results_rx) = crossbeam::channel::bounded(inputs.len());

    rayon::scope(move |sc| {
        let parent_cx = parent_cx; // close on variable

        for input in inputs {
            let results_tx = results_tx.clone();
            let parent_cx = parent_cx.clone();

            sc.spawn(move |_| {
                let child_span = tracing::info_span!("doing_on_parallel_thread").entered();
                child_span.set_parent(parent_cx); // connect to parent

                let res = process_single_input(input);
                results_tx.send(res).unwrap()
            });
        }
    });

    // -- wait for and handle results
    let mut output = Vec::new();
    for result in results_rx {
        match result {
            Ok(value) => output.push(value),
            Err(e) => {
                return Err(e);
            }
        }
    }

    Ok(output)
}

fn process_single_input(s: &str) -> Result<String, anyhow::Error> {
    // in practice, do something interesting here
    Ok(s.to_owned())
}

related ticket

i'm not sure what's bothering you here.
i do something similar in my crate but just using the ids.
https://github.com/wagnerf42/diam/blob/main/src/adaptors/log.rs

Basically duplicate of #915. Ideally Rayon would need to provide own integration there.

Basically duplicate of #915. Ideally Rayon would need to provide own integration there.

Hi, is there any plan for the integration between rayon and tracing yet?
I am also facing similar problem: https://github.com/rayon-rs/rayon/issues/915#issuecomment-1122831975. Do you have any soluitons for this yet? @RReverser

Span implements Sync, so it's possible to just enter it in the new thread, then use spans/events as normal:
let parent_span = tracing::Span::current();

data.par_iter().for_each(|datum| {
    let _guard = parent_span.enter();
    info!("processing {datum}...");
});

Yes, that's a workaround mentioned in #915, but the problem is you'll need to do it in every filter, map, fold, etc in your iterator chain, which would result in overly verbose and fragile code.


Adding group* logging functions & getLevel method

Hi,
See my issue #46
Ben

Thanks very much for the contribution, Ben.  Please could you make the following changes:

Revert & raise a separate pull request to add the grouping functionality
Add test coverage and documentation for #getLevel()

Thanks!