Add RED/Saturation metrics

Is your feature request related to a problem? Please describe.
I need to see the RED metrics for my pipeline like Inbound Messages, Outbound messages, Error count etc for my main car and udf side car
Describe the solution you'd like
Add the corresponding to prometheus
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Message from the maintainers:
If you wish to see this enhancement implemented please add a 👍 reaction to this issue! We often sort issues this way to know what to prioritize.

@Krithika3 this is complete, right?

Yes it is complete


add control and status endpoints to KafkaIndexTask

Added the following HTTP endpoints to KafkaIndexTask:

[GET /offsets/current] - Return which offsets we are currently processing
[GET /offsets/end] - Return the offsets that the task will read until
[POST /offsets/end] - Modify the ending offsets to allow the task to continue reading or stop early
[POST /stop?publish=true/false] - Signal the task to stop early, either abruptly or gracefully (stop reading and publish segment with what we currently have). In both cases it returns a SUCCESS status
[POST /pause?timeout=x] - Signal the task to pause reading, either indefinitely or with a provided timeout to resume
[GET /status] - Return the task's state
[POST /resume] - Signal the task to resume reading
[GET /time/start] - Returns the timestamp when the task began running

These endpoints are required for implementing functionality for #2656, specifically:
(1) exposes the offset currently being read and allows us to start the next tasks early
(4) allows us to stop redundant replicas when another has completed without generating a failed status
(all) allows us to stop tasks gracefully in a coordinated way across replicas (by pausing and then setting the end offsets so that they all finish at the same place) - this enables graceful immediate schema rollover as well as time-based task lifetimes instead of number of event based
(all) in conjunction with a pauseAfterRead flag in KafkaIOConfig, provides a framework to enable leader/follower capabilities, where followers will pause when they are done reading their offsets until the leader assigns a new set of ending offsets

:+1: after https://github.com/druid-io/druid/pull/2730#discussion_r57488388

@gianm thanks for the comments, I added some follow-up questions/thoughts

@gianm addressed your comments

👍 after https://github.com/druid-io/druid/pull/2730#discussion_r60180746

:+1: besides https://github.com/druid-io/druid/pull/2730#discussion_r60628185

Thanks!


[FEATURE] - Support for export/import of App analytics and event analytics

Is your feature request related to a problem?
I run multiple OpenSearch deployment like dev, QA and prod. And use event analytics and app analytics to create and save those panels. As a user I need to create and write PPL query in all environment manually and unable to do an export from one env say dev and load to prod.
What solution would you like?
n option to export and import app analytics and event analytics panels from one OpenSearch deployment to other.
What alternatives have you considered?
Need to create them manually

In queue, thanks


[security] Vulnerabilities in jQuery Library

From the IT Health Check report:

Vulnerabilities in jQuery Library - Version 'v1.12.4' of the jQuery library was found to be in use by the identified web application. https://snyk.io/test/npm/jquery/1.12.4

This was resolved in a recent PR


python310Packages.pytelegrambotapi: 4.11.0 -> 4.12.0

Diff: https://github.com/eternnoir/pyTelegramBotAPI/compare/refs/tags/4.11.0...4.12.0
Changelog: https://github.com/eternnoir/pyTelegramBotAPI/releases/tag/4.12.0
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 233292 run on x86_64-linux 1

4 packages built:

python310Packages.pytelegrambotapi
python310Packages.pytelegrambotapi.dist
python311Packages.pytelegrambotapi
python311Packages.pytelegrambotapi.dist


[VL] add io wait time metric in scan

What changes were proposed in this pull request?
add io wait time metric in scan
How was this patch tested?

The metric count the wait time of parquet scan, including async and sync waiting time.

===== Performance report for TPCH SF2000 with Velox backend, for reference only ====

query
log/native_3997_time.csv
log/native_master_12_11_2023_71ec720d4_time.csv
difference
percentage

q1
32.50
32.10
-0.399
98.77%

q2
25.08
24.79
-0.292
98.84%

q3
37.23
38.42
1.195
103.21%

q4
38.97
39.90
0.934
102.40%

q5
72.78
72.41
-0.376
99.48%

q6
6.80
7.02
0.214
103.15%

q7
83.95
85.38
1.427
101.70%

q8
88.14
86.65
-1.490
98.31%

q9
124.33
126.76
2.426
101.95%

q10
43.56
46.79
3.226
107.41%

q11
20.58
20.34
-0.235
98.86%

q12
28.45
26.95
-1.504
94.71%

q13
46.28
45.56
-0.712
98.46%

q14
18.27
18.31
0.037
100.20%

q15
27.06
27.78
0.721
102.66%

q16
15.75
15.83
0.082
100.52%

q17
103.65
101.57
-2.078
97.99%

q18
150.63
151.54
0.913
100.61%

q19
14.09
12.91
-1.182
91.61%

q20
28.27
26.84
-1.437
94.92%

q21
225.29
228.06
2.773
101.23%

q22
14.03
13.81
-0.216
98.46%

total
1245.68
1249.71
4.026
100.32%


Does not focus application if use cmd+tab

UC:

Open Google Chrome
Open iTerm
Focus iTerm
Press +tab
Select Google Chrome

AR:
Google Chrome is selected but it's not focused
ER:
Focus Google Chrome
KWM version -  https://github.com/koekeishiya/kwm/commit/47377480a3bd7ebce385298580ddedf6d04e6c90
NOTE: It's also does not work if select application on another space
http://screencast.com/t/GrQmMLL65V
http://screencast.com/t/dEor0RxILyAG
Thanks!

cmd + tab works just fine for me. Are you using monocle mode?
(I don't use Spaces so I can't speak to that issue)

cmd + tab worked just fine for me, during testing. Probably an issue with monocle mode.

I just now noticed that cmd + ` has regressed as far as kwm knowing it gets focus.
OS X gives the window focus with cmd + ` but kwm doesn't know and still acts as if the previous window has focus.

The issue with focusing an application a different space, is 99% related to the fact that I make Kwm refocus the application that had focus on that space.
I suspect what is happening is this:

User activates application on different space.
OSX triggers space transition to give focus.
Kwm notices end of space transition and focuses the application
that was previously focused on that space.

I just now noticed that cmd + ` has regressed as far as kwm knowing it gets focus.

OS X gives the window focus with cmd + ` but kwm doesn't know and still acts as if the previous window has focus.

I am aware of this, but have no idea how to fix this. In theory it simply requires to observe the "AXFocusedWindowChangedNotification", however this triggered twice (for two separate windows) the last time I tried, and caused a lot of issues.
To be honest, these are probably at the bottom of my priority list of things to fix as well, considering I don't use cmd+tab or cmd+`

cmd + tab works just fine for me. Are you using monocle mode?

Yes

I have checked bsp mode and it work correct for one space but if I try to select application from another space(using cmd+tab) it does not work

To be honest, these are probably at the bottom of my priority list of things to fix as well, considering I don't use cmd+tab or cmd+`

What are you using for fast switching between application? For example if want open Adium which does not have window by default and is float application.

What are you using for fast switching between application? For example if want open Adium which does not have window by default and is float application.

I very rarely have many applications floating, so I keep them all on a separate space that I have in float mode.
I usually have spaces dedicated for a single purpose. Space 1 would be development. Space 2 webbrowsing / procrastination. Space 3 for chat applications and so on.
I fast switch by using hotkeys to move to specific spaces (ctrl+[num]), or to focus a specific screen (ctrl+alt+[num]).

@koekeishiya thanks, I will try your workflow

cmd + tab works just fine for me. Are you using monocle mode?
(I don't use Spaces so I can't speak to that issue)

So it seems like this is also broken for BSP spaces in the latest commit.

Is cmd+tab really important for people? The code that is supposed to fix cmd+tab support, is the reason for #226 which is really annoying. I currently do not see how to have both of them working as expected.

cmd + tab and friends aren't important to me, but the fact that what is
currently focused and want kwm thinks is focused can get out of sync is a
little bit of an issue for me. In a perfect world kwm would always know
what the focused window of OS X is at all times.
On Mon, Mar 14, 2016 at 6:18 PM koekeishiya<EMAIL_ADDRESS>wrote:

Is cmd+tab really important for people? The code that is supposed to fix
cmd+tab support, is the reason for #226
https://github.com/koekeishiya/kwm/issues/226 which is really annoying.
I currently do not see how to have both of them working as expected.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/koekeishiya/kwm/issues/224#issuecomment-196596050

cmd + tab and friends aren't important to me, but the fact that what is currently focused and want kwm thinks is focused can get out of sync is a little bit of an issue for me. In a perfect world kwm would always know what the focused window of OS X is at all times.

I could in theory, make it so they are always synced, however, I suspect this would degrade performance quite a bit. It would also make Kwm update the focus before a window is tiled, which is the reason for #226 in the first place. There are probably other things that could break by doing this.

In a perfect world kwm would always know what the focused window of OS X is at all times.

I could in theory, make it so they are always synced, however, I suspect this would degrade performance quite a bit. It would also make Kwm update the focus before a window is tiled, which is the reason for #226 in the first place. There are probably other things that could break by doing this.

I have pushed changes that should make it such that Kwm always has the same focus as OSX, here: https://github.com/koekeishiya/kwm/tree/SyncOSXFocus
This does not degrade performance at all, as far as I can tell, and I find it to be a lot more usable than the current master branch. The problem however is #226. By doing this focus sync, Kwm can no longer use the insert windows at the focused container, as it has already focused the new window before it can try to tile it.

This does not degrade performance at all, as far as I can tell, and I find it to be a lot more usable than the current master branch

I will run this branch for the next 24 hours and report back if there are any perf issues. Initially there don't seem to be any, but i've only been suing it for a few minutes.
The #266 bug is kind of annoying, is there any way to track the previous focused window and use that one, with the knowledge that the focused window is a new window?

The #266 bug is kind of annoying, is there any way to track the previous focused window and use that one, with the knowledge that the focused window is a new window?

This would be the ideal solution. I need to somehow be able to know when a window is tiled, whether that window was given focus by Kwm, or by OSX.

I need to somehow be able to know when a window is tiled, whether that window was given focus by Kwm, or by OSX.

I'm not saying this is the only way (there is probably a more elegant solution), but couldn't kwm just track, that state in a hash? Kwm has knowledge of the windowID, therefore it could keep a hash table of windowIDs it knows about, has tiled, has focused, etc.
(this is with out understanding of how kwm currently maps that state)

I believe I may have solved the issue, need to test it some more.

#226 should now be fixed in the latest commit.

It's half fixed. The behavior is better than before, but kwm doesn't update itself until the mouse is moved / clicked.
kwmc read tag shows as [0] for my monocle space until a click or mouse move happens.

It's half fixed. The behavior is better than before, but kwm doesn't update itself until the mouse is moved / clicked.

kwmc read tag shows as [0] for my monocle space until a click or mouse move happens.

Awkward, will look into it when I have time.
Do the other changes break anything, or does it seem like it could be merged into master?

I've used it for a little under 24 hours, and it seems to be fine so far. I haven't noticed it break anything so far.

Odd behavior: On screen 2, clicking a link that opens in screen 1 makes kwmc screen -f prev not work. It's as if kwm "forgets" about the screen until I use the mouse to give focus to screen 2 manually.

Odd behavior: On screen 2, clicking a link that opens in screen 1 makes kwmc screen -f prev not work. It's as if kwm "forgets" about the screen until I use the mouse to give focus to screen 2 manually.

Ohhh that is what causes that. I've been wondering all day why it stops working every so often.

@dominiklohmann are you on SyncOSXFocus or master? I assumed the issue was with SyncOSXFocus but if you're on master then the issue is not caused from the changes on that branch.

I switched to that branch yesterday late night - and kinda forgot about it, wondering all day what causes that behaviour -.-'

:+1:  cool, good info, seems to be an issue with SyncOSXFocus @koekeishiya

Odd behavior: On screen 2, clicking a link that opens in screen 1 makes kwmc screen -f prev not work. It's as if kwm "forgets" about the screen until I use the mouse to give focus to screen 2 manually.

link as in URL?

Correct, this behavior might exists for anything else that redirects focus back to the other display. The only thing I have seen cause this so far is clicking a URL that opens in a browser on the other display.

More odd behavior, I have not tried master, but I can't trigger the prefix key in ONLY safari.
I have ctrl + k bound for my prefix key. The border switches to the prefix color in any app aside from safari. Will investigate this behavior more in a few hours but curious if anyone else is seeing that behavior.

The focus changes done on the Sync branch has a lot of issues when it comes to multiple monitors, that I do not know how to handle.
It does work better than master in a single monitor setup though.

Correct, this behavior might exists for anything else that redirects focus back to the other display. The only thing I have seen cause this so far is clicking a URL that opens in a browser on the other display.

This actually happens every single time screen focus changes because of OSX.
kwmc screen -f id breaks as well, which is really weird.

Ok, I'm not taking crazy pills, and its not an issue with safari. Keypress sometimes lag across all applications. They are delivered to the application a second or two after they were issued.
I have had: cmd + t in chrome not respond, so I pressed in 3 times. 2 seconds later 3 tabs opened. Similar issue with safari and the prefix issue.

Ok, I'm not taking crazy pills, and its not an issue with safari. Keypress sometimes lag across all applications. They are delivered to the application a second or two after they were issued.

I have had: cmd + t in chrome not respond, so I pressed in 3 times. 2 seconds later 3 tabs opened. Similar issue with safari and the prefix issue.

This is not on the master branch, right?

Correct, I have been on SyncOSXFocus for the last 24 hours or so.

I'm unable to reproduce the key-delay issues, though I still assume that it is caused by event-tap delays.

I'm unable to reproduce the key-delay issues, though I still assume that it is caused by event-tap delays.
Probably related to #92

Yeah once I figured out what was causing it, it is totally #92

Try the latest commit on SyncOSXFocus and let me know if key-delay issues are less severe, or non-existant.
I've made it so that the Event Tap simply checks if a key is a hotkey, and then adds it to a queue of hotkeys to be processed, which happens on its own thread. This will prevent Kwm from causing delay in the OSX Event Dispatcher, and should in theory fix the delay issue.
Previously, when holding down a hotkey, say, kwmc window -f west with cycle-focus screen, you would see the lag clearly happening. This is no longer the cause after the latest commit.
I have not been able to reproduce the issues from #92 on my machine before this commit either, so I need someone else to verify if these changes in fact did help.

Try the latest commit on SyncOSXFocus and let me know if key-delay issues are less severe, or non-existant.

HEAD on SyncOSXFocus makes kwm not work as far as I can tell. kwm starts (as evidenced by kwm read tag) but no tiling happens, no key commands work, and the border does not function.

This will prevent Kwm from causing delay in the OSX Event Dispatcher, and should in theory fix the delay issue.

This sounds like  a pretty good approach

I have not been able to reproduce the issues from #92 on my machine before this commit either, so I need someone else to verify if these changes in fact did help.

Thats very odd, this happens to me at minimum once a day. I wonder if I have some software that conflicts with kwm in an odd way. I do use BetterTouchTool, which might work on event taps, do you have any knowledge if two programs that subscribe to event taps they would conflict with each other?
Once the branch works I can try it out for 24 hours and report back if I have any more lag issues, as it is a daily occurrence for me.

HEAD on SyncOSXFocus makes kwm not work as far as I can tell. kwm starts (as evidenced by kwm read tag) but no tiling happens, no key commands work, and the border does not function.

Really? Everything works as normal here

I'll try building in dev mode and see what happens

I get no log output in kwm at all when in dev mode? Did dev mode change from make?

Here is what I did
chrishoage at Constance in ~/Projects/kwm on SyncOSXFocus
❯ launchctl unload ~/Library/LaunchAgents/com.koekeishiya.kwm.plist

chrishoage at Constance in ~/Projects/kwm on SyncOSXFocus
❯ make
g++ -c kwm/kwm.cpp -DDEBUG_BUILD -g -O3 -Wall -o obj/kwm/kwm.o
g++ -c kwm/window.cpp -DDEBUG_BUILD -g -O3 -Wall -o obj/kwm/window.o
kwm/window.cpp:1426:5: warning: 'GetProcessForPID' is deprecated: first deprecated in OS X
      10.9 [-Wdeprecated-declarations]
    GetProcessForPID(KWMFocus.Window->PID, &NewPSN);
    ^
/System/Library/Frameworks/ApplicationServices.framework/Frameworks/HIServices.framework/Headers/Processes.h:930:1: note:
      'GetProcessForPID' has been explicitly marked deprecated here
GetProcessForPID(
^
kwm/window.cpp:1466:5: warning: 'GetProcessForPID' is deprecated: first deprecated in OS X
      10.9 [-Wdeprecated-declarations]
    GetProcessForPID(KWMFocus.Window->PID, &NewPSN);
    ^
/System/Library/Frameworks/ApplicationServices.framework/Frameworks/HIServices.framework/Headers/Processes.h:930:1: note:
      'GetProcessForPID' has been explicitly marked deprecated here
GetProcessForPID(
^
kwm/window.cpp:1474:9: warning: 'SetFrontProcessWithOptions' is deprecated: first deprecated
      in OS X 10.9 [-Wdeprecated-declarations]
        SetFrontProcessWithOptions(&KWMFocus.PSN, kSetFrontProcessFrontWindowOnly);
        ^
/System/Library/Frameworks/ApplicationServices.framework/Frameworks/HIServices.framework/Headers/Processes.h:658:1: note:
      'SetFrontProcessWithOptions' has been explicitly marked deprecated here
SetFrontProcessWithOptions(
^
3 warnings generated.
g++ -c kwm/keys.cpp -DDEBUG_BUILD -g -O3 -Wall -o obj/kwm/keys.o
g++ -c kwm/notifications.cpp -DDEBUG_BUILD -g -O3 -Wall -o obj/kwm/notifications.o
g++ -c kwm/workspace.mm -DDEBUG_BUILD -g -O3 -Wall -o obj/kwm/workspace.o
g++ obj/kwm/kwm.o obj/kwm/tree.o obj/kwm/window.o obj/kwm/display.o obj/kwm/daemon.o obj/kwm/interpreter.o obj/kwm/keys.o obj/kwm/space.o obj/kwm/border.o obj/kwm/notifications.o obj/kwm/workspace.o obj/kwm/serializer.o -DDEBUG_BUILD -g -O3 -Wall -lpthread -framework ApplicationServices -framework Carbon -framework Cocoa -o bin/kwm
mkdir -p /Users/chrishoage/.kwm
if test ! -e /Users/chrishoage/.kwm/kwmrc; then cp -n examples/kwmrc /Users/chrishoage/.kwm/kwmrc; fi

chrishoage at Constance in ~/Projects/kwm on SyncOSXFocus
❯ codesign -f -s "Christopher Hoage" ./bin/kwm

chrishoage at Constance in ~/Projects/kwm on SyncOSXFocus
❯ ./bin/kwm

Note no output from kwm

The makefile has been changed to build .obj files, this way it will only re-build files that change.
Doing make clean followed by make should work just fine.

After a make clean
chrishoage at Constance in ~/Projects/kwm on SyncOSXFocus
❯ ./bin/kwm
Local Daemon is now running..

thats it, nothing works after I start it.

Well that is weird, works fine for me every single time i rebuild. Doesn't matter if i do a dev or install build.

9de488abc8b98c7d92e4b0867fae6327757d74e4 is where it stopped working for me. The commit before that works fine.

Going for broke and restarting my machine. One moment.

Crashed on boot. Still can't get it to work in dev mode at all. https://gist.github.com/chrishoage/f29e8f8c56bc997158da

Right, found a case that I forgot to fix regarding adding hotkeys. It should work now.

:+1: it is indeed working now. I'll run this for 24 hours and report back if I have any laggy keypresses still.

:+1: it is indeed working now. I'll run this for 24 hours and report back if I have any laggy keypresses still.

Cheers, hope the problem is less severe now.

Correct, this behavior might exists for anything else that redirects focus back to the other display. The only thing I have seen cause this so far is clicking a URL that opens in a browser on the other display.

This should be fixed in the latest commit.
On topic:
The issue in question should also be fixed, please do run the latest commit for a day or so to confirm that it can be merged into master without causing any glaring issues.
I've come to realize that I seem to be using a very small part of what is actually supported, so it is quite hard for me to verify whether things work properly or not.

This should be fixed in the latest commit.

It does appear to be fixed.

The issue in question should also be fixed, please do run the latest commit for a day or so to confirm that it can be merged into master without causing any glaring issues.

The focus-border does indeed update, but at least with a space in monocle mode issuing a focus command (for example kwmc window -f east) effects the previously focused window on the previous display. It also breaks kwmc screen -f next | prev in the same way the link-opening issue.

The focus-border does indeed update, but at least with a space in monocle mode issuing a focus command (for example kwmc window -f east) effects the previously focused window on the previous display. It also breaks kwmc screen -f next | prev in the same way the link-opening issue.

I can reproduce this if I do a "slow" cmd+tab (letting the interface show up). A "fast" cmd+tab does not have this problem for some reason.

I can reproduce this if I do a "slow" cmd+tab (letting the interface show up). A "fast" cmd+tab does not have this problem for some reason.

 That is so strange.

 That is so strange.

I have been able to fix this in the latest commit. The same change is a fix for #184.

I believe this is stable enough now. Gonna merge it into master.


Adjust splits column width based on the current font

In the original LiveSplit we measure the width of 88:88:88 I believe and use that as the column width. We should do something similar here instead of hardcoding a width.

LiveSplit uses 9:00:00 for deltas and 24:00:00 otherwise (source).
Would this require a new function on ResourceAllocator just for querying the width of a given string? Or should it be even more specific and take the number of digits/colons as function arguments?

Nah, I'd say the splits simply should have labels for these around.


2.0.0 bytecode modification don't support

Please add to 2.0.0 bytecode modification
I'll be happy!

It's still a heavy work-in-progress and is not expected to be used over the current release yet. Please be patient :smiley:


LF-20531: Adding follower support

https://livefyre.atlassian.net/browse/LF-20531

Also add some section to the README that lightly explains how to use this, e.g.
var followers = Followers(collection).on('followers', function (fs) {
  fs.forEach(function (f) {
    controlller[f.following ? 'addFollower' : 'removeFollower'](f.id);
  })
})

lgtm +1

is this still relevant?

Yes, it’s going to UAT today.
On Thu, Jan 21, 2016 at 8:54 AM Ross Pfahler<EMAIL_ADDRESS>wrote:

is this still relevant?
—
Reply to this email directly or view it on GitHub
https://github.com/Livefyre/streamhub-sdk/pull/338#issuecomment-173632676
.


Phone number deregistered after 20 min

My phone number was deregistered after 20 mins the logs said this. Everything seems fine with the validation data device the code is the same etc
WARN [rustpush::imessage::identity_manager] No public key for token retry false .
ERROR [rustpush::imessage::aps_client] No identity for payload! Do not retry IDS key missing for tel:+1 .
ERROR [rust_lib_bluebubbles::api::api] Do not retry IDS key missing for tel:+1 .
DEBUG [rustls::common_state] Sending warning alert CloseNotify .
DEBUG [rustls::client::hs] No cached session for DnsName("albert.apple.com") .

Screenshot and logs sent to copperboy

No longer has issue, check OB status in settings and DM if experiencing


Revert "Evaluator function implementation to enable job control parallelization "

Reverts arfc/rollo#30

Hello @gwenchee! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file rollo/algorithm.py:

Line 14:80: E501 line too long (84 > 79 characters)
Line 15:80: E501 line too long (81 > 79 characters)
Line 113:80: E501 line too long (81 > 79 characters)

In the file rollo/evaluation.py:

Line 281:80: E501 line too long (80 > 79 characters)

In the file tests/unit_tests/test_evaluation.py:

Line 28:80: E501 line too long (82 > 79 characters)
Line 94:80: E501 line too long (83 > 79 characters)

In the file tests/unit_tests/test_executor.py:

Line 36:80: E501 line too long (80 > 79 characters)


how to proxy domain as nginx proxy_pass

(This is used to request new product features, please visit https://discuss.istio.io for questions on using Istio)
Describe the feature request
as tittle
Describe alternatives you've considered
Trigger a button at browser address a to request the interface of domain name b. nginx, which is responsible for processing the request of domain name b, will request the request to domain name c through proxy_pass, because the environment networks of a and c cannot be connected and can only pass through the environment of b. So if it is implemented through pure istio (I want to discard nginx), and the browser address cannot be changed to c or b.
I tried svc externalname pointing to domain name c, and host in vs specifying domain name b. In fact, an error 503 no cluster found was reported. Later, the serviceentry that uses DNS to resolve domain names will report the same error; or it will be 404 uh, but the upstream_cluster becomes "|443||domain c". The operation here is confusing, but both results are confirmed to have existed. In the end, I had to add workloadentryselecotr to serviceentry, and add workloadentry to specify the nginx address that resolves to the c domain name before it can be resolved. But IP may change, so dns is needed (cluster b can resolve domain name address c).
So, how can we directly proxy traffic to the c domain name like nginx's proxy_pass? The simpler, the better!
Affected product area (please put an X in all that apply)
[ ] Ambient
[ ] Docs
[ ] Dual Stack
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Affected features (please put an X in all that apply)
[ ] Multi Cluster
[ ] Virtual Machine
[ ] Multi Control Plane
Additional context

Please post the Gateway VS and Dr you applied, and make it more clearly what domain you access

hah，The configuration file has been changed in a confusing way, and the previous corresponding version cannot be found.
So I expect to initiate a request test3 at test-core.domain.com. domain.com/checkProtocol, reaches cluster b, and the istio of cluster b sends its proxy to cluster c as test.domain.com/checkProtocol.
test-core  is domain a ，test3 is domain b ，test is domain c。
Now my adjusted results are as follows：
VS test3 to test
spec:
  gateways:
  - myapps
  hosts:
  - test3.domain.com
  http:
  - corsPolicy:
      allowCredentials: true
      allowMethods:
      - GET
      - POST
      - PUT
      - OPTIONS
      - DELETE
      - PATCH
      allowOrigins:
      - exact: https://test.domain.com
    match:
    - uri:
        prefix: /checkProtocol
    name: go-check-test3
    route:
    - destination:
        host: test.domain.com
        port:
          number: 443

serviceentry
spec:
  endpoints:
  - address: test.domain.com
    ports:
      https: 443
  hosts:
  - test.domain.com
  location: MESH_EXTERNAL
  ports:
  - name: http
    number: 80
    protocol: tcp
  - name: https
    number: 443
    protocol: tcp
  resolution: DNS

destinationrule
spec:
  host: test.domain.com
  trafficPolicy:
    connectionPool:
      http:
        http2MaxRequests: 1000
        maxRequestsPerConnection: 10
      tcp:
        connectTimeout: 5s
        maxConnections: 100
        tcpKeepalive:
          interval: 75s
          time: 7200s
    portLevelSettings:
    - port:
        number: 443
      tls:
        mode: SIMPLE

According to the above configuration, currently istio can find that upstream_cluster is outbound|443||test.domain, but the feedback flag is UF, URX, and the error is "upstream connect error or disconnect/reset before headers. retried and the latest reset reason: remote connection failure".
Since it is a test environment, it is actually a cluster, just a simulation test. And I hope to remove nginx, so the network information of the current environment is as follows:
A dns-node load resolves domain names in the entire environment, and an openresty is deployed to directly forward the traffic of ports 80 and 443 through istio.stream to the nodeport of svc of istio-ingressgateway, and perform tls secret verification through istio-Gateway. Turn on httpsredirect.

So, I expect to use openresty to simulate becoming aliyun-slb.In fact, I want to deploy a cluster, and I also hope to use slb and also do tcp forwarding istio port. No need for slb to accept https certificate.

Please post the Gateway VS and Dr you applied, and make it more clearly what domain you access

please help me///

I've managed to get this working.  It requires a fair bit of config (you're close though).  I suspect this use case of entering the cluster via a gateway and then immediately leaving is an unusual one as far as Istio is concerned.  You basically have to do 4 things to ensure the upstream connection/request is configured correctly:

Set up DNS resolution in the ServiceEntry
Set up the SNI value to connect with in the DestinationRule
Set up the domain name to verify on the returned certificate (subjectAltNames), either in the ServiceEntry or DestinationRule
Set the host header/authority to be the target domain, in the VirtualService

Here's an abbreviated config:
VirtualService:
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
spec:
  gateways: [ingress]
  hosts: [downstream.example.com]
  http:
  - match:
      uri:
        prefix: /example
    rewrite:
      authority: upstream.example.com # this sets the host/authority header, otherwise it stays as downstream.example.com
    route:
    - destination:
        host: this.can.be.anything.as.long.as.it.is.consistent.and.unique
        port:
          number: 443

ServiceEntry:
apiVersion: networking.istio.io/v1beta1
kind: ServiceEntry
spec:
  hosts: [this.can.be.anything.as.long.as.it.is.consistent.and.unique]
  location: MESH_EXTERNAL
  ports:
  - number: 443
    name: https
    protocol: HTTP2 # probably depends on what the upstream supports
  resolution: DNS
  endpoints:
  - address: upstream.example.com # this is what DNS gets resolved against

DestinationRule:
apiVersion: networking.istio.io/v1beta1
kind: DestinationRule
spec:
  host: this.can.be.anything.as.long.as.it.is.consistent.and.unique
  trafficPolicy:
    portLevelSettings:
    - port:
        number: 443
      tls:
        mode: SIMPLE
        caCertificates: /etc/ssl/certs/ca-certificates.crt # if not set, verification won't occur
        sni: upstream.example.com # this sets the SNI value on the TLS handshake
        subjectAltNames: [www.qa.appfolio.com] # this verifies that the certificate matches


Procs with ->method() and named arguments

Discussion
Hello, asking first to see if this is a bug or an intended feature.
Consider the following where a Proc is created as a reference to a method. Creating it with positional arguments works, but not with named arguments:
def a(x)
end

# Works with positional args
p ->a(Int32)

# Doesn't work with named args
p ->a(x : Int32)

(https://play.crystal-lang.org/#/r/brpw)
This causes an inconvenience of always having to use positional method to create Procs, but moreover it makes it impossible to create Procs to methods that have required named args (e.g. def a(*, x)).

Proc itself must have a double splat generic parameter for this to happen. Otherwise you can do some tricks with a trailing NamedTuple parameter:
# F = Proc(*T, NT, R)
struct NamedProc(F, T, NT, R)
  protected def initialize(*, __proc @proc : F)
  end

  def self.new(proc : *T, NT -> R) forall T, NT, R
    {% unless NT < NamedTuple %}
      {% raise "'proc' must end with a NamedTuple parameter" %}
    {% end %}
    NamedProc(Proc(*T, NT, R), T, NT, R).new(__proc: proc)
  end

  def call(*args : *T, **opts : **NT) : R
    @proc.call(*args, opts)
  end
end

macro named_proc(method, *args, **opts)
  NamedProc.new(->(
    {% for arg, i in args %}
      __arg{{ i }} : ({{ arg }}),
    {% end %}
    {% unless opts.empty? %}
      __named_args : {{ opts }}
    {% end %}
  ) do
    {{ method.id }}(
      {% for arg, i in args %}
        __arg{{ i }},
      {% end %}
      {% unless opts.empty? %}
        **__named_args
      {% end %}
    )
  end)
  {% debug %}
end

def a(x, *, y)
  x * y
end

f = named_proc :a, Int32, y: Int32
f.call(3, y: 4) # => 12

Procs that have named parameters will never be C functions (but then not all C functions are Crystal Procs either). Another thing is they are needed for blocks with named parameters / yields with named arguments.

For reference, the issue is still present in 1.13.1.


Chmod / to 755 on containers started with remote api breaks dns

Is this a BUG REPORT or FEATURE REQUEST? (leave only one on its own line)
/kind bug
Description

Steps to reproduce the issue:
Everything is run as the root user

Enable podman api

podman system service --time=0

Run podman normal, change / to 755 (everything works fine)

# podman run --rm -ti ubuntu:latest
root@0e7274956424:/# chmod 755 /
root@0e7274956424:/# apt-get update
Get:1 http://archive.ubuntu.com/ubuntu focal InRelease [265 kB]
Get:2 http://security.ubuntu.com/ubuntu focal-security InRelease [107 kB]
Get:3 http://archive.ubuntu.com/ubuntu focal-updates InRelease [107 kB]
Get:4 http://archive.ubuntu.com/ubuntu focal-backports InRelease [98.3 kB]
Get:5 http://security.ubuntu.com/ubuntu focal-security/restricted amd64 Packages [30.9 kB]
Get:6 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages [147 kB]
Get:7 http://security.ubuntu.com/ubuntu focal-security/universe amd64 Packages [42.3 kB]
Get:8 http://security.ubuntu.com/ubuntu focal-security/multiverse amd64 Packages [1077 B]
Get:9 http://archive.ubuntu.com/ubuntu focal/restricted amd64 Packages [33.4 kB]
Get:10 http://archive.ubuntu.com/ubuntu focal/universe amd64 Packages [11.3 MB]
Get:11 http://archive.ubuntu.com/ubuntu focal/main amd64 Packages [1275 kB]
Get:12 http://archive.ubuntu.com/ubuntu focal/multiverse amd64 Packages [177 kB]
Get:13 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [270 kB]
Get:14 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [143 kB]
Get:15 http://archive.ubuntu.com/ubuntu focal-updates/multiverse amd64 Packages [1077 B]
Get:16 http://archive.ubuntu.com/ubuntu focal-updates/restricted amd64 Packages [31.0 kB]
Get:17 http://archive.ubuntu.com/ubuntu focal-backports/universe amd64 Packages [2900 B]
Fetched 14.1 MB in 1s (11.3 MB/s)
Reading package lists...   They have been ignored, or old ones used instead.

Describe the results you received:
DNS fails when chmod 755 /
Describe the results you expected:
DNS keeps working
Additional information you deem important (e.g. issue happens only occasionally):
Output of podman version:
Version:      2.0.0
API Version:  1
Go Version:   go1.13.4
Built:        Thu Jan  1 01:00:00 1970
OS/Arch:      linux/amd64

Output of podman info --debug:
host:
  arch: amd64
  buildahVersion: 1.15.0
  cgroupVersion: v1
  conmon:
    package: conmon-2.0.18-1.el8.x86_64
    path: /usr/bin/conmon
    version: 'conmon version 2.0.18, commit: 993c9938f035967b39e65e46dce6ae7d6cfbb898'
  cpus: 24
  distribution:
    distribution: '"centos"'
    version: "8"
  eventLogger: file
  hostname: icts-p-netconf-3
  idMappings:
    gidmap: null
    uidmap: null
  kernel: 4.18.0-147.8.1.el8_1.x86_64
  linkmode: dynamic
  memFree:<PHONE_NUMBER>6
  memTotal:<PHONE_NUMBER>4
  ociRuntime:
    name: runc
    package: runc-1.0.0-64.rc9.module_el8.1.0+298+41f9343a.x86_64
    path: /usr/bin/runc
    version: 'runc version spec: 1.0.1-dev'
  os: linux
  remoteSocket:
    exists: true
    path: /run/podman/podman.sock
  rootless: false
  slirp4netns:
    executable: ""
    package: ""
    version: ""
  swapFree:<PHONE_NUMBER>
  swapTotal:<PHONE_NUMBER>
  uptime: 673h 35m 10.95s (Approximately 28.04 days)
registries:
  search:
  - registry.access.redhat.com
  - registry.fedoraproject.org
  - registry.centos.org
  - docker.io
store:
  configFile: /etc/containers/storage.conf
  containerStore:
    number: 4
    paused: 0
    running: 2
    stopped: 2
  graphDriverName: overlay
  graphOptions: {}
  graphRoot: /var/lib/containers/storage
  graphStatus:
    Backing Filesystem: extfs
    Native Overlay Diff: "true"
    Supports d_type: "true"
    Using metacopy: "false"
  imageStore:
    number: 20
  runRoot: /var/run/containers/storage
  volumePath: /var/lib/containers/storage/volumes
version:
  APIVersion: 1
  Built: 0
  BuiltTime: Thu Jan  1 01:00:00 1970
  GitCommit: ""
  GoVersion: go1.13.4
  OsArch: linux/amd64
  Version: 2.0.0

Package info (e.g. output of rpm -q podman or apt list podman):
rpm -q podman
podman-2.0.0-2.el8.x86_64

Seems to be as soon the world execute bit is set it fails. 754 still works.
Also tried with --privileged --net=host --security-opt seccomp=unconfined, no difference

Reason found: permissions of /etc/resolv.conf are incorrectly 0600, instead of 0644.
Related to #6787 probably


UX: Print message to touch the Yubikey when touch expected

I currently get no prompt to touch the Yubikey when decrypting files.
This diff with additions doesn't work:
diff --git a/src/key.rs b/src/key.rs
index 01b5209..0855f3f 100644
--- a/src/key.rs
+++ b/src/key.rs
@@ -521,6 +521,9 @@ impl Connection {
             _ => false,
         };

+        if needs_touch {
+            println!("👆 Please touch the YubiKey.");
+        }
         // The YubiKey API for performing scalar multiplication takes the point in its
         // uncompressed SEC-1 encoding.
         let shared_secret = match decrypt_data(

$ cat foo.txt.age | ./rage/rage -d -i age-yubikey-identity-c60b9683.txt > foo.txt
Error: invalid response

[ Did rage not do what you expected? Could an error be more useful? ]
[ Tell us: https://str4d.xyz/rage/report                            ]

I had a look at the code but couldn't see if you're redirecting stdout which I assume is used to communicate with rage and gets polluted by the println.

Yeah, you can't use println in plugins, because stdout it's used to communicate with the age client (hence the incomplete response error as it tries to interpret the string as an IPC command.
I had added the direct message you're referring to during the development of 0.3.0, but removed it shortly before release after working out a more general solution (https://github.com/str4d/age-plugin-yubikey/issues/44#issuecomment-1114074172). Now, if you use rage 0.8.0, it will print out a Waiting on age-plugin-yubikey... message after ten seconds of inactivity, which serves to remind the user to take action, without causing the terminal to be filled with repeated messages for repeated touches (e.g. if decrypting many files using a script).


Hello there , Is there any possible ways to create a dashboard using rasa framework like dashboard is based on client purpose based like CRM and all where client should able to create there own customized bot according to there wish . any suggestions on this will be helpful . Thanks in advance …

Thanks for the question, our Github issue board is for bugs and feature requests only, though 😕
Please ask this question in the forum✨
If you were describing a bug, please create a report and fill out the template.

Hello @Beherasaptami! Have you found anything about this?
I have found this: https://github.com/jackdh/RasaTalk, but I want to make a dashboard without using  MongoDB and Docker. Confused if it is possible.


add similar projects to README

In preparation of an attempt to regain autonomy of my very own personal data, I have been researching into the field in the past years and consider these two additions important enough to propose them here.

Perkeep, formerly known as Camlistore, is a content-addressable storage for personal data that has been around for long and also seeks a wider adoption base. People interested in the HPI might also find a very useful infrastructure in that.
Open Humans is an online community from dedicated researchers that aim at easing the process of obtaining and analysing certain available personal data sets. Their infrastructure includes surveys as well as interactive notebooks with secure access to a personal data store and API integrations for receiving archives from third party services.

Thanks!
I tried perkeep a couple of times, but it didn't click, guess will give it another shot!
And yeah, for Open Humans I have plans to plug in some notebooks!

Have had a similar issue with perkeep -- I think it was what I was trying to get work before I found HPI.
It feels like it handles a lot of the lower level and complex problems with storage management, but storage space hasn't really been an issue, and syncthing works well enough most of the time for me
At that point I think the project was somewhat unmaintained https://twitter.com/PerkeepOrg/status/1095371716644155392
But it does seem they've had releases recently
I think its a great piece of software, Im just not sure how I'd use it

Yeah, I managed to import some data in PerKeep but then I wasn't sure how to access it and what can I do with it. I'll watch some talks/demos perhaps

Ah, thanks for the pointer. Especially due to its lower-level simplicity and awareness for possibilities of sovereignity in distributed storage environments is why I like Perkeep. Of course they would need a wider roll out to validate their hypotheses at large. Some integration with NAS distributions comes to mind, or well-described Aarch64 home lab storage cluster setups.
We could also mention Tahoe-LAFS in the same vein, and the dev. was in Berlin for dtn #2 dtn.is and made sure they still also do care about exactly those subjects, of self-storage, distribution schematics, in a social sense: of what is actually possible and achievable in the world outside of developer circles, and the dawn of the fading archives and pasts, for not will history be written by the winners (here: large institutions able to invest into perseverance and preservation) again.


Add warning about "zoomEnv"

zoomEnv has a scary signature, and it isn't necessary to embed records in other records in all cases.
If we leave the monad polymorphic and only "commit" to DepT after composing the nested record value as a whole, zoomEnv doesn't seem to be necessary.

Added in 5b6654fa47ec08e74503ffbb600cd438e83ef6a3.


Update README.md to include missing event

Include missing 'myLocationTapped' event in 'Events' section.

Thanks @fgutteridge!

@dapriett No problem, and thank you for making this plugin to begin with!
I would love to make some further PRs to add to the documentation, as it seems that there's actually a lot more that one can do with this plugin than initially meets the eye... Let me know if this is of interest! Thanks again!


Added command translations for hindi

For #

[ ] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR).
[ ] Title summarizes what is changing.
[x] Has a news entry file (remember to thank yourself!).
[ ] Appropriate comments and documentation strings in the code.
[x] Has sufficient logging.
[x] Has telemetry for enhancements.
[x] Unit tests & system/integration tests are added/updated.
[x] Test plan is updated as appropriate.
[x] package-lock.json has been regenerated by running npm install (if dependencies have changed).
[x] The wiki is updated with any design decisions/details.

Codecov Report

Merging #10711 into master will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #10711      +/-   ##
==========================================
- Coverage   60.63%   60.62%   -0.02%
==========================================
  Files         583      583
  Lines       31557    31557
  Branches     4488     4488
==========================================
- Hits        19136    19130       -6
- Misses      11449    11453       +4
- Partials      972      974       +2

Impacted Files
Coverage Δ

src/datascience-ui/react-common/arePathsSame.ts
75.00% <0.00%> (-12.50%)
:arrow_down:

src/client/common/utils/platform.ts
64.70% <0.00%> (-11.77%)
:arrow_down:

src/client/linters/pydocstyle.ts
86.66% <0.00%> (-2.23%)
:arrow_down:

src/client/datascience/debugLocationTracker.ts
76.56% <0.00%> (-1.57%)
:arrow_down:

src/client/common/process/proc.ts
14.49% <0.00%> (-0.73%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 68d7acb...6b28029. Read the comment docs.

Thanks for the translation. I understand English to Hindi in many cases is hard. I have made some suggestions, please update. Don;t forget to add a news item.

ok done.


Do more resizing for large files in the gallery

Large files in the gallery view still need further shrinking to avoid slow loading.

Done


Implementing audit as plugin

Based on the learning from debug plugin, created audit functionality (similar to org.apache.hop.history.AuditManager) as plugin.
Existing hitory based AuditManager helps to store and retrive things(event, map, state).
In Audit plugin, I hope we observe various auditable actions and send it to AuditManager component.
With this change, for now Audit plugin just logs two events.

help clicked in any plugin (This is to demonstrate new extension point call)
workflow saved (This is to demonstrate we can observe any existing extension point call)

2020/11/02 06:11:17 - General - Plugin help opened -Special entries
2020/11/02 06:11:32 - Hop - Workflow saved - test-wf

Signed-off-by: Mahendran Mookkiah<EMAIL_ADDRESS>

I think this code would be nice as a plugin sample for Extension Point plugins.

@hansva thanks for your comments. I don't expect this PR to be merged as it is not meeting @mattcasters  expectation as per this comment https://chat.project-hop.org/hop/pl/h5gpp7esqfy6jxbke9cck37gbc
But in another comment he said, it is a nice sample plugin.
https://github.com/apache/incubator-hop/pull/350#issuecomment-720498881
I spent sometime to learn the steps to add a plugin. Is it a good idea to create REAME.md in this locationwith steps

Hi @mookkiah , I would write it up over here https://github.com/project-hop/hop-doc/tree/master/hop-dev-manual/modules/ROOT/pages
Then all the info is also avaiable via the website

Closing this PR. Documentation site moved to https://github.com/apache/incubator-hop-docs/tree/asf-site
Note: https://chat.project-hop.org/hop/pl/kwe1ai5q47nd9bnormapyhp16w


Exception when testing functional message handlers with Spock

Hi,
my current project uses Spock Framework for testing. This is a test from the documentation of SCS v. 3.0.1.RELEASE, rewritten in Spock:
@SpringBootTest(args = "--spring.cloud.stream.function.definition=uppercase")
class CloudStreamBindingsSpec extends Specification {

    @Autowired
    private InputDestination source

    @Autowired
    private OutputDestination target

    def sampleTest() {
        when:
        source.send(new GenericMessage<byte[]>("hello".getBytes()))

        then:
        target.receive().getPayload() == "HELLO".getBytes()
    }

    @SpringBootApplication
    @Import(TestChannelBinderConfiguration)
    static class MyTestConfiguration {
        @Bean
        Function<String, String> uppercase() {
            return { v -> v.toUpperCase() }
        }
    }
}

When I run it, I get following exception:
Error creating bean with name 'uppercase_binding': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalArgumentException: Interface must not be null
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'uppercase_binding': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalArgumentException: Interface must not be null
	at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:178)
	at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:101)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1817)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getObjectForBeanInstance(AbstractAutowireCapableBeanFactory.java:1266)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:260)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
	at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1108)
	at org.spockframework.spring.SpringMockTestExecutionListener.beforeTestMethod(SpringMockTestExecutionListener.java:79)
       ...
Caused by: java.lang.IllegalArgumentException: Interface must not be null
	at org.springframework.util.Assert.notNull(Assert.java:198)
	at org.springframework.aop.framework.AdvisedSupport.addInterface(AdvisedSupport.java:208)
	at org.springframework.aop.framework.ProxyFactory.<init>(ProxyFactory.java:72)
	at org.springframework.cloud.stream.binding.BindableProxyFactory.getObject(BindableProxyFactory.java:146)
	at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:171)
	... 53 more

In short, before every test method, Spock iterates through BeanDefinitions and for each one that is not abstract or lazy initialized, it instantiates corresponding bean and checks if it is a mock. I think this is not a problem with Spock, but with current implementation of BindableFunctionProxyFactory: calling getObject() on it will always cause an exception, because BindableFunctionProxyFactory calls the super constructor with null as argument (that is then used by getObject() without checking, if it is null). In my opinion, a better solution would be to overwrite this method for it to return null. My workaround as of now is to use a custom TestExecutionListener:
@Order(1)
class MyTestExecutionListener extends SpringMockTestExecutionListener {

    @Override
    void beforeTestClass(SpringTestContext testContext) throws Exception {
        super.beforeTestClass(testContext)
        def registry = (BeanDefinitionRegistry) testContext.getApplicationContext()
        registry.getBeanDefinitionNames()
                .findAll { it.endsWith('_binding') }
                .each { registry.removeBeanDefinition(it) }
    }
}

I created a simple project, so that you can reproduce it easily: https://github.com/krzysztof1980/spring-cloud-stream-spock.git. The tests run, but if you remove the annotation TestExecutionListeners from CloudStreamBindingsSpec, then they don't. I created the project with Spring Initializer and it uses Spring Cloud in the version Hoxton.SR1.
Could you please investigate this issue?

@krzysztof1980 I hear you but can't seem to come around. Having getObject(..) to return null just doesn't seem right. Also, given that your pure java test works just fine, this is clearly an issue isolated to only when testing with Spock and the expectations it may have. But I can't possibly be motivated to have framework fit the expectations of testing. I believe in the opposite actually, so unless some other convincing argument comes about I am perfectly fine with your custom solution as is.

@olegz I understand your point about how changing the framework for tests to work is generally wrong. On the other hand, it seems strange to me, that getObject() called on BindableFunctionProxyFactory always throws an exception. Doesn't it breaks the contract of this method by doing this? Its javadoc says: "Return an instance (possibly shared or independent) of the object managed by this factory" - but it is never fulfilled. To the return value, the javadoc says: "an instance of the bean (can be {@code null})" - so null seems to be a valid return value, that the callers need to count with. The implementation of getObject() provided by BindableProxyFactory just doesn't make sense for BindableFunctionProxyFactory.

@krzysztof1980 I hear you


sse.h: added implementation for mm_andnot_ps

Looks good, thanks.  Merged.
I know you're just working on this to get a better feel for how long things will take for GSoC, but please focus on getting your proposal done.

I am working on it, I will complete it and get your review in a couple of days.
Thank You


Can't compile Godot on Windows 10

Unfortunately I have problems compiling on windows. My first problem that the command cl was not found I have solved with the Visual Studio Command prompt. Now I have the problem that a file is not found, but it is in the folder. Can you help me with this?
Output:
D:\Programme\CompileGodot\gnn>scons platform=windows
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
cl /Focore\functions.obj /c core\functions.cpp /TP /nologo -DWIN32 -D_WIN32 -D_WINDOWS -W3 -GR -D_CRT_SECURE_NO_WARNINGS -EHsc -D_DEBUG -MDd /I. /Igodot-cpp\godot_headers /Igodot-cpp\include /Igodot-cpp\include\core /Igodot-cpp\include\gen /Iinclude /Isrc /Icore /IGA /IGD /IGDNATIVEbind
functions.cpp
core\functions.cpp(11): warning C4018: "<": Konflikt zwischen "signed" und "unsigned"
core\functions.cpp(52): warning C4018: "<": Konflikt zwischen "signed" und "unsigned"
cl /FoGDNATIVEbind\GAnetwork.obj /c GDNATIVEbind\GAnetwork.cpp /TP /nologo -DWIN32 -D_WIN32 -D_WINDOWS -W3 -GR -D_CRT_SECURE_NO_WARNINGS -EHsc -D_DEBUG -MDd /I. /Igodot-cpp\godot_headers /Igodot-cpp\include /Igodot-cpp\include\core /Igodot-cpp\include\gen /Iinclude /Isrc /Icore /IGA /IGD /IGDNATIVEbind
GAnetwork.cpp
godot-cpp\include\core\Godot.hpp(7): fatal error C1083: Datei (Include) kann nicht geöffnet werden: "gdnative_api_struct.gen.h": No such file or directory
scons: * [GDNATIVEbind\GAnetwork.obj] Error 2
scons: building terminated because of errors.
D:\Programme\CompileGodot\gnn>
I don't know where to write this, so I also added a comment to this video (https://www.youtube.com/watch?v=shz1vfDbLsc).

Your solution worked, unfortunately now this new error occurs.
(no matter if it is the unistd.h file added to MSVC or the io.h file from windows in pio.c and cmd_In.c).
I have translated the error message into english so maybe there are some mistakes.

[Initial build] Compile ==> modules\godot_speech_to_text\stt_runner.cpp
stt_runner.cpp
modules\godot_speech_to_text\stt_runner.cpp(19): Error C2039: "create" is not a member of "thread".
D:\Programs\CompileGodot\3. test\godot-3.3\core/os/thread.h(43): Note: See declaration of "Thread".
modules\godot_speech_to_text\stt_runner.cpp(19): Error C3861: "create": Identifier not found.
modules\godot_speech_to_text\stt_runner.cpp(31): error C2660: "Thread::wait_to_finish": function does not accept 1 arguments
D:\Programs\CompileGodot\3. test\godot-3.3\core/os/thread.h(98): Note: See declaration of "Thread::wait_to_finish".
modules\godot_speech_to_text\stt_runner.cpp(190): Error C2660: "Thread::wait_to_finish": Function does not accept 1 arguments
D:\Programs\CompileGodot\3. test\godot-3.3\core/os/thread.h(98): Note: See declaration of "Thread::wait_to_finish".
scons: *** [modules\godot_speech_to_text\stt_runner.windows.tools.32.obj] error 2
scons: The build was aborted due to errors.


[ISSUE] Port-forwarding Zeebe Gateway gRPC endpoint doesn't work

Describe the issue:

As reported on Slack the Helm chart doesn't expose the gRPC endpoint of the Zeebe Gateway anymore.
The recent change to application config files https://github.com/camunda/camunda-platform-helm/pull/1297 is not working to expose the gRPC endpoint.
The configmap itself looks fine.
apiVersion: v1
data:
  application.yaml: |2

    server:
      address: "<IP_ADDRESS>"
      port: "8080"
    zeebe:
      gateway:
        monitoring:
          host: <IP_ADDRESS>
          port: "9600"
        cluster:
          clusterName: camunda-zeebe
          port: "26502"
        network:
          host: <IP_ADDRESS>
          port: "26500"
  gateway-log4j2.xml: ""
kind: ConfigMap

and right name
camunda-zeebe-gateway-configuration   2      11m

lastly properly configured
      volumes:
      - emptyDir: {}
        name: tmp
      - configMap:
          defaultMode: 484
          name: camunda-zeebe-gateway-configuration
        name: config
        volumeMounts:
        - mountPath: /tmp
          name: tmp
        - mountPath: /usr/local/zeebe/config/application.yaml
          name: config
          subPath: application.yaml

But ultimately it doesn't work and may be overwritten by the startup script:
[10/04/24 11:32:56] ➜  k logs -f camunda-zeebe-gateway-5b78fc54f7-b7jp2
+ hostname -i
+ HOST=<IP_ADDRESS>
+ [ true = true ]
+ export ZEEBE_GATEWAY_NETWORK_HOST=<IP_ADDRESS>
+ export ZEEBE_GATEWAY_CLUSTER_HOST=<IP_ADDRESS>
+ exec /usr/local/zeebe/bin/gateway

A temporary quick fix is to set the previous environment variables again;
    - name: ZEEBE_GATEWAY_NETWORK_HOST
      value: <IP_ADDRESS>
    - name: ZEEBE_GATEWAY_NETWORK_PORT
      value: "26500"

Breaking behaviour and will cause confusion with customers on why gRPC out of the box doesn't work anymore.
Actual behavior:

When trying to port-forward
kubectl port-forward svc/camunda-zeebe-gateway 26500:26500 -n some-namespace

and getting the status of the Zeebe cluster, it always drops the call immediately and closes the local forwarding.
> zbctl status --insecure --address localhost:26500
Error: rpc error: code = Unavailable desc = connection error: desc = "error reading server preface: EOF"

Expected behavior:
The gRPC endpoint should be exposed and return my topology / Zeebe cluster status.
> zbctl status --insecure --address localhost:26500
Cluster size: 3
Partitions count: 3
Replication factor: 3
Gateway version: 8.5.0
Brokers:
  Broker 0 - camunda-zeebe-0.camunda-zeebe.c8-snap-cluster-1.svc:26501
    Version: 8.5.0
    Partition 1 : Leader, Healthy
    Partition 2 : Follower, Healthy
    Partition 3 : Follower, Healthy
  Broker 1 - camunda-zeebe-1.camunda-zeebe.c8-snap-cluster-1.svc:26501
    Version: 8.5.0
    Partition 1 : Follower, Healthy
    Partition 2 : Leader, Healthy
    Partition 3 : Follower, Healthy
  Broker 2 - camunda-zeebe-2.camunda-zeebe.c8-snap-cluster-1.svc:26501
    Version: 8.5.0
    Partition 1 : Follower, Healthy
    Partition 2 : Follower, Healthy
    Partition 3 : Leader, Healthy

How to reproduce:
For testing purposes the following install command is sufficient:
helm install camunda camunda/camunda-platform --version 10.0.1 --set identity.enabled=false --set global.identity.auth.enabled=false --set identity.keycloak.enabled=false

Logs:
Nothing mentioned in the Gateway logs since the call never reaches it.

Environment:
Please note: Without the following info, it's hard to resolve the issue and probably it will be closed.

Platform: AWS EKS (1.28)
Helm CLI version: v3.14.3
Chart version: 10.0.1
Values file: see set values in the reproducing section

This issue has been fixed in Camunda Helm chart v10.0.2.


Improve Debug output of the info structs

Consider crates like debug-ignore or derive-more to skip internal (ffi) struct fields.

I started improving this with the 0.9.1 release. More to come.


[SPARK-15030] [ML] [SparkR] Support formula in spark.kmeans in SparkR

What changes were proposed in this pull request?

RFormula supports empty response variable like ~ x + y.
Support formula in spark.kmeans in SparkR.
Fix some outdated docs for SparkR.

How was this patch tested?
Unit tests.

Test build #57439 has started for PR 12813 at commit f1ba442.

Test build #57439 has finished for PR 12813 at commit f1ba442.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

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

Merged build finished. Test FAILed.

Jenkins, test this please.

Test build #57442 has started for PR 12813 at commit f1ba442.

Test build #57442 has finished for PR 12813 at commit f1ba442.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Test build #57445 has started for PR 12813 at commit 79d1be4.

Test build #57446 has started for PR 12813 at commit 5bdce92.

Test build #57445 has finished for PR 12813 at commit 79d1be4.

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

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

Merged build finished. Test PASSed.

Test build #57446 has finished for PR 12813 at commit 5bdce92.

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

Merged build finished. Test PASSed.

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

LGTM. Merged into master. Thanks!


getFeaturesFromLayer does not work on non-service layers

If the data of a GeoJson layer is eg coming from an external URL or in-memory data.

In that specific case toGeoJson() should be used instead.


diann 1.8.1 -> 1.9.1dev

PR checklist

[ ] This comment contains a description of changes (with reason).
[ ] If you've fixed a bug or added code that should be tested, add tests!
[ ] If you've added a new tool - have you followed the pipeline conventions in the contribution docs
[ ] If necessary, also make a PR on the nf-core/quantms branch on the nf-core/test-datasets repository.
[ ] Make sure your code lints (nf-core lint).
[ ] Ensure the test suite passes (nf-test test main.nf.test -profile test,docker).
[ ] Check for unexpected warnings in debug mode (nextflow run . -profile debug,test,docker --outdir <OUTDIR>).
[ ] Usage Documentation in docs/usage.md is updated.
[ ] Output Documentation in docs/output.md is updated.
[ ] CHANGELOG.md is updated.
[ ] README.md is updated (including new tool citations and authors/contributors).

I am discontinuing the 'regular .speclib'. What will remain: .predicted.speclib for predicted libraries, and .skyline.speclib instead of regular .speclib. The thing here is that .speclib is in general quite non-transparent, i.e. the user cannot easily check what's in there, hence not the best for reproducibility. So DIA-NN now encourages users with warnings to only use either the .predicted.speclib or the .tsv library. The .skyline.speclib is there purely to be loaded automatically by Skyline, i.e. while it works fine as DIA-NN input in practice this will not be 'supported' - compatiblity might be incomplete in the future.
So in this case, can either use .skyline.speclib or (better) the .tsv library.
Now, about the empirical DIA-based .tsv lib. This will get replaced with .parquet, maybe even in the 1.9.1 update.

We are closing this PR. In the current LICENSE of DIANN, cloud infrastructures are not allowed.


Add Ubuntu 14.04 Docker Environment to C/C++ CI

Tool information

Tool name: Ubuntu 14.04
Add or update? Add
Approximate size:
If this is an add request:

Brief description of tool: It's Ubuntu! 14.04 is still the recommended version for Android builds as well as many other open source projects that have existed for a long time.

Are you willing to submit a PR?
Of course!

The README says:

We offer Ubuntu 16.04 and Ubuntu 18.04. We do not plan to offer other Linux distributions. If you want to build using other distributions with the hosted virtual environments, we suggest you use Docker. Alternatively, you can host your own VMs and make use of self-hosted runners which will be available when GitHub Actions becomes generally available on November 13, 2019.

Hey @davwheat, are you asking us to include an additional container layer? It would be helpful if you could link to the specific one you want. This is what we cache today:
https://github.com/actions/virtual-environments/blob/master/images/linux/Ubuntu1804-README.md

Cached container images
node:10 (Digest: sha256:df200903ff34c07c1b9112b4fd9d1342c11eb7d99525f2b366c487f91dda8131)
node:12 (Digest: sha256:facc1cbde6e5aa3255092b1a1417451953c80bd31ab5a4403f8bcd90b90a8407)
buildpack-deps:stretch (Digest: sha256:dc901bbf4b34e4ca8771c0d0773e557221452f97bcf0c732de7ecda3782bdf97)
debian:9 (Digest: sha256:ddb131307ad9c70ebf8c7962ba73c20101f68c7a511915aea3ad3b7ad47b9d20)
debian:8 (Digest: sha256:2c9b2323299846c5298c12db373da310f8114f2941ae3f496e95270cc8ca5ebd)
node:10-alpine (Digest: sha256:e8d05985dd93c380a83da00d676b081dad9cce148cb4ecdf26ed684fcff1449c)
node:12-alpine (Digest: sha256:bba77d0ca8820b43af898b3c50d4e8b68dc703ebbd958319af2f21f2d3c309f5)
alpine:3.8 (Digest: sha256:2bb501e6173d9d006e56de5bce2720eb06396803300fe1687b58a7ff32bf4c14)
alpine:3.9 (Digest: sha256:115731bab0862031b44766733890091c17924f9b7781b79997f5f163be262178)
alpine:3.10 (Digest: sha256:7c3773f7bcc969f03f8f653910001d99a9d324b4b9caa008846ad2c3089f5a5f)
jekyll/builder:latest (Digest: sha256:875de39aa06300c749e26a79f39cdfa31404e4f2dbd2953cd4ebb0442bffda9e)
alpine:3.7 (Digest: sha256:8421d9a84432575381bfabd248f1eb56f3aa21d9d7cd2511583c68c9b7511d10)
mcr.microsoft.com/azure-pipelines/node8-typescript:latest (Digest: sha256:e52e60b9f71183969830a3664279b5d8c799b4b0ec2c25a0686f7c02f6a9669a)

Yes, I think that was what I was asking!
Android is (almost) solely built on Ubuntu 14.04, so it would be amazing to have that container available.

Docker images have been checked. Ubuntu 14.04 docker image is present.
I think we can close this ticket


Error in main.py

Error read
Traceback (most recent call last):
File ".\main.py", line 8, in
pprint(f"images: {[str(path_object) for path_object in images]}") # more readable than the simple print
TypeError: 'NoneType' object is not iterable
@poneoneo

Please pull before trying to recreate. This was after a few merges' and other commits.

The AkshDesai04/PyCompare/pipelining branch is on hold until this issue is resolved.


Adding the Gcov support for distro kernel source.

Adding new test for code coverage for distro kernel source.

RHEL8.9_gcov_run_log.txt

RHEL9.3_gcov_run_logs.txt


Nothing happens on Mac

OS: macOS Ventura 13.6.3
GMEdit version: GMEdit-Mac, 6 Sep 2023
GMEdit-Cnnstructor version: v0.8.1
Pressing F5 just makes the cursor invisible and nothing appears to happen.
Also tried other shortcuts such as Ctrl + F5, Cmd + F5 to the same effect.
Looked for manual Compile and Run options in menus so I can check if its just shortcuts or the commands to Igor but can't see anything unfortunately.

Can you see "GMEdit-Constructor" in the list of plugins in your preferences? Also can you see its submenu in the top left hamburger menu?

Can you see "GMEdit-Constructor" in the list of plugins in your preferences?
Yes, albeit with no selectable options - just the usual open; reload.

Also can you see its submenu in the top left hamburger menu?
No. I currently use builder which has Run, Stop, Fork, Clean menu options. Nothing for constructor unfortunately.

Debugging a weird issue now between two people (you being one) on OSX that I can't reproduce on Windows or OSX - did you download Constructor by downloading source code from Releases?
If so, is the folder name GMEdit-Constructor-0.8.1 (or similar?)
... and if so, does renaming it to GMEdit-Constructor magically fix it?

Back again! Looks like its caused by running GMEdit in Rosetta. GMEdit has a native build for M1, so if you switch over to that you should be all good.
I've also just pushed an update that checks if you're running under Rosetta and bails loading, notifying the user, since it seems to generate a heap of very obscure strange issues.
Let me know if this fixes your problems!

Debugging a weird issue now between two people (you being one) on OSX that I can't reproduce on Windows or OSX - did you download Constructor by downloading source code from Releases?

No actually I cloned this repo into the plugins directory, just like I did with builder :)

If so, is the folder name GMEdit-Constructor-0.8.1 (or similar?)

It is named "GMEdit-Constructor".

... and if so, does renaming it to GMEdit-Constructor magically fix it?

Nope, see above :)

Back again! Looks like its caused by running GMEdit in Rosetta. GMEdit has a native build for M1, so if you switch over to that you should be all good.

Ah, that won't be my problem then as I do not have an M1 machine. Apologies, I should have included that info: MacBook Pro 15-inch 2018 (2.6 GHz 6-Core Intel Core i7)

I've also just pushed an update that checks if you're running under Rosetta and bails loading, notifying the user, since it seems to generate a heap of very obscure strange issues.

So this should do nothing in my case right?

I just tried the new version and discovered the Dev Tools at the same time. Saw an error related to that Rosetta check code:
Uncaught (in promise) Error: Command failed: sysctl -n sysctl.proc_translated
sysctl: unknown oid 'sysctl.proc_translated'

    at checkExecSyncError (node:child_process:835:11)
    at execSync (node:child_process:909:15)
    at rosetta_check (GMConstructor.js:230:20)
    at Function.create (GMConstructor.js:155:13)
    at load (init.js:20:52)
    at async Object.init (init.js:25:13)

I just tried the new version and discovered the Dev Tools at the same time. Saw an error related to that Rosetta check code:
Uncaught (in promise) Error: Command failed: sysctl -n sysctl.proc_translated
sysctl: unknown oid 'sysctl.proc_translated'

    at checkExecSyncError (node:child_process:835:11)
    at execSync (node:child_process:909:15)
    at rosetta_check (GMConstructor.js:230:20)
    at Function.create (GMConstructor.js:155:13)
    at load (init.js:20:52)
    at async Object.init (init.js:25:13)

Whoops, my bad on that one. Need to add in a flag to that command so it doesn't error if you don't have that value.

Debugging a weird issue now between two people (you being one) on OSX that I can't reproduce on Windows or OSX - did you download Constructor by downloading source code from Releases?

No actually I cloned this repo into the plugins directory, just like I did with builder :)

If so, is the folder name GMEdit-Constructor-0.8.1 (or similar?)

It is named "GMEdit-Constructor".

... and if so, does renaming it to GMEdit-Constructor magically fix it?

Nope, see above :)

Back again! Looks like its caused by running GMEdit in Rosetta. GMEdit has a native build for M1, so if you switch over to that you should be all good.

Ah, that won't be my problem then as I do not have an M1 machine. Apologies, I should have included that info: MacBook Pro 15-inch 2018 (2.6 GHz 6-Core Intel Core i7)

I've also just pushed an update that checks if you're running under Rosetta and bails loading, notifying the user, since it seems to generate a heap of very obscure strange issues.

So this should do nothing in my case right?

Interesting with all that - I made a bunch of assumptions as I was debugging the exact same set of symptoms for someone on an M1 running in Rosetta (which turned out to be the reason). Thanks for being patient on this, I might have to dig out an old x86 Mac to see if something's just up on there in general, and not Rosetta's fault.
The main oddities we found was that:

Dots in the path of the plugin name caused it to not resolve imports properly
It failed to verify any runtime names because it was looking for the Igor executable under an x64 folder (process.arch being that under Rosetta) rather than correctly arm64 for M1

The first of those caused the weird behaviour with the preferences area not loading, and the second caused it to not find any runtimes.

Interesting with all that - I made a bunch of assumptions as I was debugging the exact same set of symptoms for someone on an M1 running in Rosetta (which turned out to be the reason). Thanks for being patient on this, I might have to dig out an old x86 Mac to see if something's just up on there in general, and not Rosetta's fault.
The main oddities we found was that:

Dots in the path of the plugin name caused it to not resolve imports properly
It failed to verify any runtime names because it was looking for the Igor executable under an x64 folder (process.arch being that under Rosetta) rather than correctly arm64 for M1

The first of those caused the weird behaviour with the preferences area not loading, and the second caused it to not find any runtimes.

No problem and don't treat this as too urgent as I still have builder :)

No dots in the path but there is a space under 'Library/Application Support/'. Maybe it's having a similar effect?
In case it's useful, my Igor is at: /Users/Shared/GameMakerStudio2/Cache/runtimes/runtime-2<IP_ADDRESS>/bin/igor/osx/x64/

Anything I can do to help debug it? Can it be run in a dev environment / are there any automated tests for it anywhere?

Dev environment is my deskop or my laptop :p
Not too much you can do at the moment unless you're willing to throw log statements everywhere to see what's going on - I did the exact same process when debugging for the person with Rosetta but deleted that branch (probably shouldn't have in hindsight...)
I'm not gonna ask you to do that though unless you're feeling curious and have time to burn, so it'll be a while before I get a moment to check this on my end unfortunately.
As for points 1 and 2:

That shouldn't cause any issue, it seemed to be a weird case with dots specifically in the file path of the plugin itself (which I honestly have no explanation for apart from ghosts)
That path looks exactly like what it'll be expecting so not sure what's up there either, it should find that runtime no probs.

Lastly though, since you cloned the repo, feel free to jump over to the dev (bettor-igor-use) branch since that's currently functional and has some changes to how some of this stuff is handled, case that magically fixes it.
Do note though whatever the case that error in rosetta_check is gonna be halting launch completely so as you're in native feel free to just replace the function body with return false.

Cheers, I'l try some stuff :)

So I switched to the 'better-igor-use' branch and returned 'false' for the Rosetta check and did get an Output window this time. Could be a misdirection but it seems to lack permission to access the various properties files. Perhaps a flag is missing from the Igor invocation?
This output is from pressing F5. The game did not run after this, which I think it's supposed to?
/Users/Shared/GameMakerStudio2/Cache/runtimes/runtime-2<IP_ADDRESS>/bin/igor/osx/x64/Igor /project=<<project_path>>/<<project_name>>.yyp /config=Default /rp=/Users/Shared/GameMakerStudio2/Cache/runtimes/runtime-2<IP_ADDRESS> /runtime=VM Mac Run

Options: /Users/Shared/GameMakerStudio2/Cache/runtimes/runtime-2<IP_ADDRESS>/bin/platform_setting_defaults.json
Options: <<project_path>>/local_settings.json
Failed to load Options from <<project_path>>/local_settings.json
Setting up the Asset compiler
System.UnauthorizedAccessException: Access to the path '<<project_path>>/cache/<<project_name>>/<<project_name>>/Default' is denied.
 ---> System.IO.IOException: Permission denied
   --- End of inner exception stack trace ---
   at System.IO.FileSystem.CreateDirectory(String fullPath)
   at System.IO.Directory.CreateDirectory(String path)
   at YoYoStudio.Resources.FileIO.<>c.<SetDefaultFileFunctions>b__54_13(String _path) in /home/runner/work/GameMaker/GameMaker/GameMaker/Runner/GMAssetCompiler/CoreResources/FileIO/FileIO.cs:line 251
Found Project Format 2
(5,30): GMSC Error: Unexpected JSON property 'option_ios_build_number'.
+++ ORIGINAL SERIALISATION SUCCESSFUL LOAD AND LINK TIME: 606.612ms
Loaded Project: <<project_name>>
finished.
Found Project Format 2
+++ FAST SERIALISATION SUCCESSFUL LOAD AND LINK TIME  (with worker concurrency 8): 43.017ms
Loaded Project: __yy_sdf_shader
finished.
Found Project Format 2
+++ FAST SERIALISATION SUCCESSFUL LOAD AND LINK TIME  (with worker concurrency 8): 32.765ms
Loaded Project: __yy_sdf_effect_shader
finished.
Found Project Format 2
+++ FAST SERIALISATION SUCCESSFUL LOAD AND LINK TIME  (with worker concurrency 8): 29.858ms
Loaded Project: __yy_sdf_blur_shader
finished.
Found Project Format 2
+++ FAST SERIALISATION SUCCESSFUL LOAD AND LINK TIME  (with worker concurrency 8): 34.224ms
Loaded Project: _filter_vignette
finished.
Found Project Format 2
+++ FAST SERIALISATION SUCCESSFUL LOAD AND LINK TIME  (with worker concurrency 8): 33.506ms
Loaded Project: GMPresetParticles
finished.
System.UnauthorizedAccessException: Access to the path '<<project_path>>/cache/<<project_name>>/PlatformOptions.json' is denied.
 ---> System.IO.IOException: Permission denied
   --- End of inner exception stack trace ---
   at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at System.IO.Strategies.FileStreamHelpers.ChooseStrategy(FileStream fileStream, String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, Int64 preallocationSize)
   at System.IO.StreamWriter.ValidateArgsAndOpenPath(String path, Boolean append, Encoding encoding, Int32 bufferSize)
   at System.IO.File.WriteAllText(String path, String contents)
   at YoYoStudio.Resources.FileIO.<>c.<SetDefaultFileFunctions>b__54_4(String _path, String _data) in /home/runner/work/GameMaker/GameMaker/GameMaker/Runner/GMAssetCompiler/CoreResources/FileIO/FileIO.cs:line 242
System.UnauthorizedAccessException: Access to the path '<<project_path>>/cache/<<project_name>>/MainOptions.json' is denied.
 ---> System.IO.IOException: Permission denied
   --- End of inner exception stack trace ---
   at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at System.IO.Strategies.FileStreamHelpers.ChooseStrategy(FileStream fileStream, String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, Int64 preallocationSize)
   at System.IO.StreamWriter.ValidateArgsAndOpenPath(String path, Boolean append, Encoding encoding, Int32 bufferSize)
   at System.IO.File.WriteAllText(String path, String contents)
   at YoYoStudio.Resources.FileIO.<>c.<SetDefaultFileFunctions>b__54_4(String _path, String _data) in /home/runner/work/GameMaker/GameMaker/GameMaker/Runner/GMAssetCompiler/CoreResources/FileIO/FileIO.cs:line 242
System.UnauthorizedAccessException: Access to the path '<<project_path>>/cache/<<project_name>>/ExtensionOptions.json' is denied.
 ---> System.IO.IOException: Permission denied
   --- End of inner exception stack trace ---
   at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at System.IO.Strategies.FileStreamHelpers.ChooseStrategy(FileStream fileStream, String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, Int64 preallocationSize)
   at System.IO.StreamWriter.ValidateArgsAndOpenPath(String path, Boolean append, Encoding encoding, Int32 bufferSize)
   at System.IO.File.WriteAllText(String path, String contents)
   at YoYoStudio.Resources.FileIO.<>c.<SetDefaultFileFunctions>b__54_4(String _path, String _data) in /home/runner/work/GameMaker/GameMaker/GameMaker/Runner/GMAssetCompiler/CoreResources/FileIO/FileIO.cs:line 242
Release build
Options: <<project_path>>/cache/<<project_name>>/PlatformOptions.json
Failed to load Options from <<project_path>>/cache/<<project_name>>/PlatformOptions.json
The given key (option_mac_output_dir) was not present in the dictionary.
Igor complete.

(project path and name obfuscated).

So I'm pretty sure this is related to that PlatformOptions.json file. On my system that file always exists as it should be generated by the IDE anyway. Would you mind checking if its actually there, and if so, what permissions it has?
Only ideas really are that for some reason either it doesn't exist or Igor spawned by GMEdit doesn't have read permissions, which doesn't really make sense.

I've also just pushed the latest update to main - this doesn't really affect what's going on here but it does mean the better-igor-use branch is now gone.

So I'm pretty sure this is related to that PlatformOptions.json file. On my system that file always exists as it should be generated by the IDE anyway. Would you mind checking if its actually there, and if so, what permissions it has?
Only ideas really are that for some reason either it doesn't exist or Igor spawned by GMEdit doesn't have read permissions, which doesn't really make sense.

This appears to be correct. And the reason for that I believe is my cache exists in a different location, and that's where GameMaker is generating that, and other, files.
Pretty sure I didn't choose the location of my cache in GameMaker settings and it's just out-of-the-box, but I could be wrong. It's not a path I would have thought to choose myself tbh.

So tl;dr suggested solution:

allow cache location to be specified in plugin preferences, or otherwise detect it somehow
pass the /cache argument to Igor

I was going to have a go myself but I need to head out today. Might get a chance later but I'm not too familiar with JS/TS so not sure how successful I'll be.

I grabbed the call to Igor from GameMaker and compared it to how Constructor is calling it:
GM:
"/Users/Shared/GameMakerStudio2/Cache/runtimes/runtime-2<IP_ADDRESS>/bin/igor/osx/x64/Igor"  -j=8  -options="/tmp/GameMakerStudio2/GMS2TEMP/build.bff" -v -- Mac Run

Constructor:
"/Users/Shared/GameMakerStudio2/Cache/runtimes/runtime-2<IP_ADDRESS>/bin/igor/osx/x64/Igor" /project=<<project_path>>/<<project_name>>/<<project_name>>.yyp /config=Demo /rp=/Users/Shared/GameMakerStudio2/Cache/runtimes/runtime-2<IP_ADDRESS> /runtime=VM Mac Run

(-v doesn't appear to be documented here, and neither is -options, so that's fun. Perhaps they are standard Windows executable things?)
GameMaker passes an options file argument so I pulled the relevant ones out for comparison:
GM:                /project=<<project_path>>/<<project_name>>/<<project_name>>.yyp
Constructor: "projectPath": "<<project_path>>/<<project_name>>/<<project_name>>.yyp"
GM: .          /config=Default
Constructor: "config": "Default"
GM:                         /rp=/Users/Shared/GameMakerStudio2/Cache/runtimes/runtime-2<IP_ADDRESS>
Constructor: "runtimeLocation": "/Users/Shared/GameMakerStudio2/Cache/runtimes/runtime-2<IP_ADDRESS>"
GM: /runtime=VM
Constructor: {default}
(Don't you just love how inconsistent the naming is between the options file and the Igor arguments. Classic GameMaker.)

It seems Constructor was grabbing an older runtime from my runtimes directory. I hadn't actually chosen one in preferences so perhaps this could be tweaked to look for a more recent file too.
I have since deleted the old versions and chosen the newest in Constructor preferences.

That all seems generally fine but no mention of where that PlatformOptions file is yet. Here's the full options file GameMaker is using:
{
    "targetFile": " ",
    "assetCompiler": "",
    "debug": "False",
    "rerun": "False",
    "compile_output_file_name": "/tmp/GameMakerStudio2/GMS2TEMP/<<project_name>>_43A36491_VM/<<project_name>>.win",
    "useShaders": "True",
    "steamOptions": "/Users/<<user>>/.config/GameMakerStudio2/Cache/GMS2CACHE/<<partial_project_name>>_EB9C1123_F1E7ABF0/steam_options.yy",
    "config": "Default",
    "configParents": "",
    "outputFolder": "/tmp/GameMakerStudio2/GMS2TEMP/<<project_name>>_43A36491_VM",
    "projectName": "<<project_name>>",
    "macros": "/Users/<<user>>/.config/GameMakerStudio2/Cache/GMS2CACHE/<<partial_project_name>>_EB9C1123_F1E7ABF0/macros.json",
    "projectDir": "<<project_path>>/<<project_name>>",
    "preferences": "/Users/<<user>>/.config/GameMakerStudio2/Cache/GMS2CACHE/<<partial_project_name>>_EB9C1123_F1E7ABF0/preferences.json",
    "projectPath": "<<project_path>>/<<project_name>>/<<project_name>>.yyp",
    "tempFolder": "/tmp/GameMakerStudio2/GMS2TEMP",
    "tempFolderUnmapped": "/tmp/GameMakerStudio2/GMS2TEMP",
    "userDir": "/Users/<<user>>/.config/GameMakerStudio2/<<yoyo_user>>_31063",
    "runtimeLocation": "/Users/Shared/GameMakerStudio2/Cache/runtimes/runtime-2<IP_ADDRESS>",
    "targetOptions": "/Users/<<user>>/.config/GameMakerStudio2/Cache/GMS2CACHE/<<partial_project_name>>_EB9C1123_F1E7ABF0/targetoptions.json",
    "targetMask": "2",
    "applicationPath": "/Applications/GameMaker.app/Contents/MacOS/x86_64/GameMaker.dll",
    "verbose": "False",
    "helpPort": "51290",
    "debuggerPort": "6509"
}

There's some options here that tell us Igor is looking in a different cache location when run with GameMaker:
"steamOptions": "/Users/<<user>>/.config/GameMakerStudio2/Cache/GMS2CACHE/<<partial_project_name>>_EB9C1123_F1E7ABF0/steam_options.yy",
"macros": "/Users/<<user>>/.config/GameMakerStudio2/Cache/GMS2CACHE/<<partial_project_name>>_EB9C1123_F1E7ABF0/macros.json",
"preferences": "/Users/<<user>>/.config/GameMakerStudio2/Cache/GMS2CACHE/<<partial_project_name>>_EB9C1123_F1E7ABF0/preferences.json",
"targetOptions": "/Users/<<user>>/.config/GameMakerStudio2/Cache/GMS2CACHE/<<partial_project_name>>_EB9C1123_F1E7ABF0/targetoptions.json",

No specific mention of PlatformOptions or the cache location itself (maybe it's working it out?) but I would hope passing the /cache argument would do the job. I remember messing with Igor a while back in order to compile and push to itch.io with a command and I do recall using this argument and it working.

For completeness I also grabbed the subsequent call to AssetCompiler that Igor is doing when run with GameMaker, in case you can see what Constructor is ultimately invoking, and it's useful to compare:
/Users/Shared/GameMakerStudio2/Cache/runtimes/runtime-2<IP_ADDRESS>/bin/assetcompiler/osx/x64/GMAssetCompiler.dll  /c /mv=1 /zpex /iv=0 /rv=0 /bv=0 /j=8  /gn="<<project_name>>" /td="/tmp/GameMakerStudio2/GMS2TEMP" /cd="/Users/<<user>>/.config/GameMakerStudio2/Cache/GMS2CACHE/<<partial_project_name>>_EB9C1123_F1E7ABF0" /rtp="/Users/Shared/GameMakerStudio2/Cache/runtimes/runtime-2<IP_ADDRESS>" /zpuf="/Users/<<user>>/.config/GameMakerStudio2/<<yoyo_user>>_31063"  /ffe="d3t+fjZrf25zeTdwgjZ5em98a3GCN4ODbTZzeH5vdnZzfW94fW82eH92dnN9cjZ2eXFzeGl9fXk2fm99fjZtf31+eXdpb3iANnBzdn41cII2cYJpd3luaYFrdnZ6a3pvfDZxgml3eW5pcWt3b31+fHN6NnZzgG9pgWt2dnprem98aX1/bH1tfHN6fnN5eA==" /m=mac /tgt=2 /nodnd /cfg="Demo" /o="/tmp/GameMakerStudio2/GMS2TEMP/<<project_name>>_382145DB_VM" /sh=True /optionsini="/tmp/GameMakerStudio2/GMS2TEMP/<<project_name>>_382145DB_VM/options.ini"  /cvm /baseproject="/Users/Shared/GameMakerStudio2/Cache/runtimes/runtime-2<IP_ADDRESS>/BaseProject/BaseProject.yyp" "<<project_path>>/<<project_name>>/<<project_name>>.yyp"

Hello again! It's been a very long time - sorry about that, lot of school work and other stuff's had my attention since - but if you're still willing to give Constructor another go, v0.9.4 fixed an issue where Igor's stderr output was being lost. I'm not sure whether that'll come into this one or not, but it might be worth a shot to see if there's some error that's being lost.

No problem, gotta focus on life's priorities :)
Thanks though, I shall give that version a go and see what happens!

So I've tried this and I get the output window displaying nicely so that's all a big improvement there :)
I still have the same errors though, and I realised that ultimately Igor cannot write to the project cache directory in one of the first steps:
Setting up the Asset compiler
System.UnauthorizedAccessException: Access to the path '<<project_path>>/cache/<<project_name>>/<<project_name>>/<<profile_name>>' is denied.
 ---> System.IO.IOException: Permission denied
   --- End of inner exception stack trace ---
   at System.IO.FileSystem.CreateDirectory(String fullPath)
   at System.IO.Directory.CreateDirectory(String path)
   at YoYoStudio.Resources.FileIO.<>c.<SetDefaultFileFunctions>b__54_13(String _path) in /home/runner/work/GameMaker/GameMaker/GameMaker/Runner/GMAssetCompiler/CoreResources/FileIO/FileIO.cs:line 251

Out of curiosity, I'd like to see if YYC works for you as it has just been added in the latest release, and as a part of getting it working Igor is passed the flag to disable the cache, which may incidentally fix the issue, or at least narrow down exactly what's wrong further.
Also, what permissions are set on your project folder? Could try a recursive chmod 777 on it just to see if that makes Igor happy.

Hi, sorry I've had a really busy couple of weeks and only just got to try this.
Unfortunately, results are identical to before. In fact I get an identical error output regardless of if I choose Clean, Compile or Run.
I have tried VM and YYC using both Stable and LTS runtimes.
While the chmod option obviously isn't a permanent solution I tried it anyway (chmod -R 777 ./ specifically) and got the following output:
chmod: Unable to change file mode on ./cache/{project_name}: Operation not permitted
chmod: Unable to change file mode on ./output/{project_name}: Operation not permitted

So it seems the cache isn't being disabled at all. In fact I still do think the opposite solution is needed, where a cache location can be passed to Igor (which I think is one of the flags?) because Igor is looking for project files such as PlatformOptions.json in a different location to where they actually exist on my system:
GameMaker:
Options: /{user_path}/.config/GameMakerStudio2/Cache/GMS2CACHE/{partial_project_page}_EB9C1123_F1E7ABF0/PlatformOptions.json

(The EB9C1123_F1E7ABF0 above is randomly generated each compile)
Constructor:
Options: /{user_path}/dev/gamemaker/{project_name}/cache/{project_name}/PlatformOptions.json

Heyo, apologies for the hilariously late response - no idea if you have any interest in using Constructor at this point, but there's been a multitude of changes in how it does things since this. I'm pretty sure you were facing some very strange permissions issues where some bits and pieces of your project folder were somehow owned by the system instead of you, e.g. by Igor running privileged somehow - this is pointed to by chmod not having permission.
The biggest notable change in Constructor here is the addition of a central build location. Try enabling this and building and see if that fixes the issue.

Hi! No problem, it's been a busy year for myself too personally.
I do indeed still have an interest in running Constructor, and actually I think I had it working earlier in the year.
I do have a game jam coming up in December though so I will be giving it a go again in earnest and I shall confirm!
Thanks for all your hard work on it :D

Just wanted to say this is indeed working for me. Waaaay more stable and faster than the actual GameMaker IDE which is fantastic!
Thanks again for all your work on it.


chore(package): update script for consistency with angular-seed

Related to https://github.com/angular/angular-seed/pull/343.

This is the new commit: https://github.com/angular/angular-phonecat/pull/346/commits/91ee8af33681b95075944463bf8a89360e7891f7

/cc @petebacondarwin

LGTM

Closed with 37dd5bc.
/fyi @petebacondarwin
I sneaked in another commit 54a2f1e (to avoid deleting the 1.4-* tags when retagging on master).


SLA Misses not being recorded

Airflow v1.6.1
For our DAGs which run daily we aren't seeing any SLA misses being recorded  when the SLA is missed
I think the issue is here:
for ti in max_tis:
    task = dag.get_task(ti.task_id)
    dttm = ti.execution_date
    if task.sla:
        dttm = dag.following_schedule(dttm)
        following_schedule = dag.following_schedule(dttm)
        while dttm < datetime.now():
            if following_schedule + task.sla < datetime.now():
                session.merge(models.SlaMiss(
                    task_id=ti.task_id,
                    dag_id=ti.dag_id,
                    execution_date=dttm,
                    timestamp=ts))
            dttm = dag.following_schedule(dttm)

Lets say our DAG runs daily and today is 2016-01-06 (execution_date 2016-01-05T00:00) and that yesterday 2016-01-05 (execution_date 2016-01-04T00:00) ran successfully.  This would imply that for today's run, we would have the following walk through:

dttm = 2016-01-05T00:00
dttm = 2016-01-06T00:00
following_schedule = 2016-01-07T00:00
So following_schedule + task.sla < datetime.now() will always be false (unless the task takes more than the schedule interval (24 hours) and the SLA time to complete. I think we should instead just have
 if dttm + task.sla < datetime.now():

+1 :)

I think there's a bug there but I'm not sure that it's what you describe.
The behavior we want is if SLA is 1 hour, we should error for the 2016-01-01 run at 2016-01-02T01:00:00 since the 2016-01-01 run can't start before 2016-01-02.
One problem I see is that following_schedule = dag.following_schedule(dttm) should be in the while loop.

https://github.com/airbnb/airflow/pull/840


imaginer: 0.1.3 -> 0.1.5

Description of changes
Imaginer is an app for generating pictures with AI (GTK4/LibAdwaita)
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

ci fails and running the nixkpkgs-review program nixpkgs-review pr 231479 failed similarly. on x8-64 I got sha256-1x5ebPdJFX7JDiakl278XLecEND9QKIw1QnFLEiMXJU= as correct sha

@ofborg eval

https://github.com/ImaginerApp/Imaginer/releases/tag/v0.2.1 is available now.