Possible to get sankey to handle networks with cycles?

Loving the sankey plugin!  But apparently it won't handle networks with cycles, for example:
http://locecon.org/clusters/network/8/
Any ideas about how to fix, work around, or otherwise grapple with the problem?
If so, I will happily try them.
If not, I'll tinker a little and see what I can do...

nicee

Try to use it for cycles for a single node, i.e. the node is pointing back to itself. Is there a reason why it doesn't work or is it just me?

Hi all, I did another implementation of this:
soxofaan/d3-plugins@be35a11fbbbce9f5b31b8b47983e690b14cf4100
It's simpler/less code compared to the solution of @cfergus, but I think the cycle detection it is more efficient.
I also preserve the width of the feedback lanes (as requested above).
The feedback paths layout might need some more tuning, but I thought to already push the current state and collect some feedback
examples at http://bl.ocks.org/soxofaan/bb6f91d57dc4b6afe91d/cc526b481b1bc59982e9fe511fd97d776da20b95 (don't forget to refresh

Those are some nice-looking cycles.
On Mon, May 18, 2015 at 7:37 PM, Stefaan Lippens<EMAIL_ADDRESS>wrote:

Hi all, I did another implementation of this:
soxofaan/d3-plugins@be35a11
https://github.com/soxofaan/d3-plugins/commit/be35a11fbbbce9f5b31b8b47983e690b14cf4100
It's simpler/less code compared to the solution of @cfergus
https://github.com/cfergus, but I think the cycle detection it is more
efficient.
I also preserve the width of the feedback lanes (as requested above).
The feedback paths layout might need some more tuning, but I thought to
already push the current state and collect some feedback
examples at
http://bl.ocks.org/soxofaan/bb6f91d57dc4b6afe91d/cc526b481b1bc59982e9fe511fd97d776da20b95
(don't forget to refresh
—
Reply to this email directly or view it on GitHub
https://github.com/d3/d3-plugins/issues/1#issuecomment-103282548.

So far, looks better than my implementation. I dunno what the etiquette would be, but I consider mine to be 'overtaken'. Should I include a link to your version in my readme? Other preferred way to reflect this?

But, Colin, thanks for being the pioneer!
On Tue, May 19, 2015 at 9:14 AM, Colin Fergus<EMAIL_ADDRESS>wrote:

So far, looks better than my implementation. I dunno what the etiquette
would be, but I consider mine to be 'overtaken'. Should I include a link to
your version in my readme? Other preferred way to reflect this?
—
Reply to this email directly or view it on GitHub
https://github.com/d3/d3-plugins/issues/1#issuecomment-103515076.

FYI: I started a friendly (subtree) fork (see #133) of the sankey plugin at https://github.com/soxofaan/d3-plugin-captain-sankey
among others I tweaked the cycle support some more:

issue: https://github.com/soxofaan/d3-plugin-captain-sankey/issues/6
branch: https://github.com/soxofaan/d3-plugin-captain-sankey/tree/issue-6-cycle-handling
demo: http://bl.ocks.org/soxofaan/7c96560677ead0425fe7

Walking through computeLinkDepths to try and diagnose what's going on. Would love to know if you guys have any insights on what might be happening:

Hi Stefaan, in my project we have just too many cycles making the chart difficult to comprehend. How can I move the cycle paths back to the top like Colin's while keeping your core code.

Folks,
Is it possible to create a chart like the one attached using sankey diagram?

Cyclic Representation
A -> B
B -> A

Same nodes in Source and Destination
A   A
B   B
C   C

I want to color code each bands to differentiate the categories.

Basically, I want to show how many sessions were steered/switched from one network to the other.

Folks,
Is it possible to create a chart like the one attached using sankey diagram?

Cyclic Representation
A -> B
B -> A

Same nodes in Source and Destination
A   A
B   B
C   C

I want to color code each bands to differentiate the categories.

Basically, I want to show how many sessions were steered/switched from one network to the other.
TIA!

@prakashsd You can do this by having multiple nodes that represent A & B at different times (A1, B1, A2, B2). Such a diagram is sometimes called an “alluvial diagram”. If you have further questions, please ask on Stack Overflow or the D3.js Slack; these issues are for bug reports and active feature development.


Scene Timescale settings for RE7_TDB49

Most if not all builds of RE7_TDB49 lack the scene settings i.e timescale buttons presumably forgotten to be included cause the RT version of REFramework for RE7 includes the aforementioned settings if so could you please readd the scene menu for RE7_TDB49 in the future?

It is intended because it actually doesn't exist.


The plugin does not work

Hi,
I can pull all devices on my account but I cannot do much more. This is what I am getting in the log file:
2024-10-04 21:01:33.976 Error: TinyTuyaLocal: Call to function 'onCommand' failed, exception details:
2024-10-04 21:01:33.987 Error: TinyTuyaLocal: Traceback (most recent call last):
2024-10-04 21:01:33.987 Error: TinyTuyaLocal: File "/home/pi/domoticz/plugins/Domoticz-TinyTUYA-Local-Plugin/plugin.py", line 142, in onCommand
2024-10-04 21:01:33.987 Error: TinyTuyaLocal: _plugin.onCommand(DeviceID, Unit, Command, Level, Color)
2024-10-04 21:01:33.987 Error: TinyTuyaLocal: File "/home/pi/domoticz/plugins/Domoticz-TinyTUYA-Local-Plugin/plugin.py", line 101, in onCommand
2024-10-04 21:01:33.987 Error: TinyTuyaLocal: SendCommand(DeviceID, Unit, True if Command not in ['Off', 'Closed', False] else False, category)
2024-10-04 21:01:33.987 Error: TinyTuyaLocal: File "/home/pi/domoticz/plugins/Domoticz-TinyTUYA-Local-Plugin/plugin.py", line 564, in SendCommand
2024-10-04 21:01:33.987 Error: TinyTuyaLocal: item = selected_device['mapping'][str(Unit)]
2024-10-04 21:01:33.987 Error: TinyTuyaLocal: ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
2024-10-04 21:01:33.987 Error: TinyTuyaLocal: KeyError: '4'
2024-10-04 21:01:43.110 Error: TinyTuyaLocal: handleThread: string indices must be integers, not 'str' line 355

I just pushed a new version. Can you test it and see if the error still occurs?

It did help with the error. Many thanks.
Still, it seems the communication is one way only - I cannot control the switch from Domoticz (any on/off actions are reverted within 5-10 secs) but changes in Tuya app are reflected in Domoticz. I will test it for a couple of days to come with feedback.

Testing with the version downloaded this morning.
I got the following error:
Error: WiFi RF Receiver Garage: handleThread: '2' line 356
any idea? Thx

It did help with the error. Many thanks.
Still, it seems the communication is one way only - I cannot control the switch from Domoticz (any on/off actions are reverted within 5-10 secs) but changes in Tuya app are reflected in Domoticz. I will test it for a couple of days to come with feedback.

Okay, that could be a issue, wil try to test more.

Testing with the version downloaded this morning.
I got the following error:
Error: WiFi RF Receiver Garage: handleThread: '2' line 356
Few minutes later:
Error: CheckAuthToken(xxx) : auth token mismatch
any idea? Thx

Could you share the line from the device file from the wifi rf where id 2 is, mask any key if shown.

devices.json
Here you are. thx for the IMMEDIATE reply

Device 2 is just a Boolean, same as Device 1. There should be no difference.

Not sure I got your answer :(. Why the 2 errors above?

Can you run this in Python? And post the output? Oh, you need to add you key in the line.
import tinytuya
tuya = tinytuya.Device(dev_id='bfc0e16500cadca117rpzv',address='<IP_ADDRESS>',local_key='',version='3.4')
tuya.detect_available_dps()
tuya.status()

Here you are (apologies for delay)
Python 3.11.2 (main, Aug 26 2024, 07:20:54) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

import tinytuya
tuya = tinytuya.Device(dev_id='bfc0e16500cadca117rpzv',address='<IP_ADDRESS>                                                                             2',local_key='XXX',version='3.4')
tuya.detect_available_dps()
{'1': None, '2': None, '9': None, '10': None, '38': None, '42': None, '43': None                                                                             , '44': None, '47': None}
tuya.status()
{'dps': {'1': False, '2': False, '9': 0, '10': 0, '38': 'memory', '42': '', '43': '', '44': 'AQABAwAB', '47': 'sync'}}

BTW tonight it reported several errors on log:
2024-10-07 04:04:59.670 Error: WiFi RF Receiver Garage: handleThread: 'dps' line 356
2024-10-07 04:06:09.226 Error: WiFi RF Receiver Garage hardware (37) thread seems to have ended unexpectedly
2024-10-07 04:06:23.229 Error: WiFi RF Receiver Garage hardware (37) thread seems to have ended unexpectedly
2024-10-07 04:06:37.232 Error: WiFi RF Receiver Garage hardware (37) thread seems to have ended unexpectedly
2024-10-07 04:06:45.579 Error: WiFi RF Receiver Garage: handleThread: 'dps' line 356
2024-10-07 04:06:45.579 Error: WiFi RF Receiver Garage: handleThread: 'dps' line 356
2024-10-07 04:07:47.246 Error: WiFi RF Receiver Garage hardware (37) thread seems to have ended unexpectedly
2024-10-07 04:08:01.249 Error: WiFi RF Receiver Garage hardware (37) thread seems to have ended unexpectedly
2024-10-07 04:08:15.252 Error: WiFi RF Receiver Garage hardware (37) thread seems to have ended unexpectedly
2024-10-07 04:08:29.255 Error: WiFi RF Receiver Garage hardware (37) thread seems to have ended unexpectedly
2024-10-07 04:08:32.939 Error: WiFi RF Receiver Garage: handleThread: 'dps' line 356
2024-10-07 04:08:32.940 Error: WiFi RF Receiver Garage: handleThread: 'dps' line 356
2024-10-07 04:09:39.269 Error: WiFi RF Receiver Garage hardware (37) thread seems to have ended unexpectedly
2024-10-07 04:09:53.272 Error: WiFi RF Receiver Garage hardware (37) thread seems to have ended unexpectedly
2024-10-07 04:10:07.531 Error: WiFi RF Receiver Garage hardware (37) thread seems to have ended unexpectedly
2024-10-07 04:10:20.299 Error: WiFi RF Receiver Garage: handleThread: 'dps' line 356
2024-10-07 04:10:20.300 Error: WiFi RF Receiver Garage: handleThread: 'dps' line 356
2024-10-07 04:11:31.546 Error: WiFi RF Receiver Garage hardware (37) thread seems to have ended unexpectedly
2024-10-07 04:11:45.549 Error: WiFi RF Receiver Garage hardware (37) thread seems to have ended unexpectedly
2024-10-07 04:11:59.552 Error: WiFi RF Receiver Garage hardware (37) thread seems to have ended unexpectedly
2024-10-07 04:12:10.539 Error: WiFi RF Receiver Garage: handleThread: 'dps' line 356
2024-10-07 04:12:10.540 Error: WiFi RF Receiver Garage: handleThread: 'dps' line 356

{'dps': {'1': False, '2': False, '9': 0, '10': 0, '38': 'memory', '42': '', '43': '', '44': 'AQABAwAB', '47': 'sync'}}
This is perfect.

2024-10-07 04:12:10.540 Error: WiFi RF Receiver Garage: handleThread: 'dps' line 356
Here is the call for the device ID. I will implement a fix so that if the DPS is empty, it will skip and not throw an error.

Build a fix, please test again! 😁

Test in progress :)

At the moment, the issue has not occurred again. Super!!! I have noticed that if the device loses the connection, Domoticz no longer tries to reconnect it. In the logs, I found the following error: 2024-10-12 10:36:42.090 Error: WiFi RF Receiver Garage: Device :xxx is Offline!

Perfect!

I found the following error: 2024-10-12 10:36:42.090 Error: WiFi RF Receiver Garage: Device :xxx is Offline!

It could be that the device wasn’t registered as online. The Wi-Fi connection or network traffic could be anything.

That’s exactly the case. What I’m saying is that domoticz does not try to reconnect when this happens

I did the test.... Here is a gif.

Strange. Here is an example… my (shixxy) modem rebooted tonight.
domoticz properly logged the problem
2024-10-19 04:14:03.446 Error: WiFi RF Receiver
Garage: Device :xxx is Offline!
As you can see the device is still marked as offline in Domoticz at 16.23PM

Can you run this again when the device is in Offline modus..
import tinytuya
tuya = tinytuya.Device(dev_id='bfc0e16500cadca117rpzv',address='<IP_ADDRESS>',local_key='',version='3.4')
tuya.detect_available_dps()
tuya.status()

I noticed something interesting… if triggered by an event in Domoticz, the button that was previously offline is actually responsive, and then, after being activated, it appears online.

Okay, that is interesting indeed...


fix: change wattsight to volueinsight in api url

Following the event of moving wattsight into Volue GHE.

The changes here will be migrated to #110.


June 7 patch

| D.va |
-Fusion Cannons total damage per shot reduced from 22 to 21
| Mauga |
-Stomp damage increased from 52 to 60
| Ramattra |
-Annihilation movement speed bonus reduced from 20% to 10%
-Ultimate cost reduced by 4%
| Roadhog |
-Chain Hook damage reduced from 15 to 5
| Bastion |
-Ironclad damage resistance reduced from 20% to 10%
-Configuration: Assault cooldown increased from 10 to 12 seconds
-Configuration: Assault movement speed penalty reduced from -50% to -45%
-Self-damage from A-36 Tactical Grenade reduced by 50%
-Self-knockback from A-36 Tactical Grenade while in Configuration: Assault briefly grants increased aerial mobility
| Mei |
-Ice Wall health per pillar increased from 200 to 275 BP
| Venture |
-Base health reduced from 225 to 200 HP
-Smart Excavator total damage increased from 67 to 70
| Lifeweaver |
-Base health reduced from 125 to 100
-Base shield increased from 75 to 125

:tada: This PR is included in version 1.5.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Update Japanese translation + Enable Base internationalization

Enabled Base internationalization to use Localizable Strings (.strings) in xib/storyboard localization.

I’ve marked this as a draft. Please change it when you are done and ready for merge. Usually people do not submit a PR until it is complete.

I’m sorry for that. It’s okay to merge.

I’m sorry. It’s okay to merge.


Destroy all items dosent work on 9.1.5

Destroy all items dosent work on 9.1.5

Fixed in #118
Destroying all items at once is no longer possible as the DeleteCursorItem() function has been protected by Blizzard. It can now only be called once in response to a hardware event.


Fix regression around low row limit for CSV exports

Related: https://github.com/apache/incubator-superset/pull/5413 & https://github.com/apache/incubator-superset/pull/5392
@timifasubaa @villebro @john-bodley @betodealmeida

Codecov Report

Merging #5866 into master will increase coverage by 6.09%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #5866      +/-   ##
==========================================
+ Coverage   48.16%   54.26%   +6.09%
==========================================
  Files         393      328      -65
  Lines       23596    14013    -9583
  Branches     2630     2607      -23
==========================================
- Hits        11366     7604    -3762
+ Misses      12230     6396    -5834
- Partials        0       13      +13

Impacted Files
Coverage Δ

superset/assets/src/SqlLab/getInitialState.js
0% <0%> (-57.15%)
:arrow_down:

superset/assets/src/chart/ChartBody.jsx
64% <0%> (-7.43%)
:arrow_down:

...rc/explore/components/controls/AnnotationLayer.jsx
22.92% <0%> (ø)
:arrow_up:

...perset/assets/src/visualizations/MapBox/MapBox.jsx
0% <0%> (ø)
:arrow_up:

superset/assets/src/visualizations/rose.js
0% <0%> (ø)
:arrow_up:

superset/assets/src/visualizations/sunburst.js
0% <0%> (ø)
:arrow_up:

.../assets/src/visualizations/BigNumber/BigNumber.jsx
0% <0%> (ø)
:arrow_up:

superset/assets/src/visualizations/pivot_table.js
0% <0%> (ø)
:arrow_up:

...t/assets/src/dashboard/reducers/getInitialState.js
0% <0%> (ø)
:arrow_up:

...explore/components/controls/SelectAsyncControl.jsx
56% <0%> (ø)
:arrow_up:

... and 277 more

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 549328f...ca046d3. Read the comment docs.

Addressed comments, merging.


Drop to java 10

Pull Request Test Coverage Report for Build 21

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 50.478%

Totals

Change from base Build 19:
0.0%

Covered Lines:
211

Relevant Lines:
418

💛  - Coveralls


Update deviceController to reconcile the device between the openyurt and edge

Update deviceController to reconcile the device between the OpenYurt and EdgeX Fountry, including:

Synchronize device objects on edge platform to the OpenYurt cluster
Openyurt creates and deletes device objects that can be synchronized to the edge platform
To support declarative device state modification, i.e., modifying the device's properties by changing fields of the device CRs
(Note: only support the DeviceProperties, AdminState and OperatingState fields of device)

Change the reference repository from charleszheng44 to openyurtio

@qclc please fix the conflicting files.

@rambohe-ch all the conflicting files are fixed, please review.


example for reading on-chain state

show how to read on-chain sate from within the enclave STF.
no specific docker for this example!

the timestamp module would be a nice example, because within the enclave we don't have trusted time without relying on additional Intel features

done: https://www.substratee.com/howto_access_onchain_storage.html


Error running?

Hi.
I just discovered this project and it sounds extremely promising.
However, I really can't make it run.
I copied the example in the README in a file named "test".
This is what it outputs
❯ evscript -f test -d /dev/input/event/1 thread 'main' panicked at 'evdev open(): Sys(ENOENT)', src/libcore/result.rs:1165:5 note: run with RUST_BACKTRACE=1environment variable to display a backtrace.
If I try with using RUST_BACKTRACE=full
❯ export RUST_BACKTRACE=full
❯ evscript -f test -d /dev/input/event/1 thread 'main' panicked at 'evdev open(): Sys(ENOENT)', src/libcore/result.rs:1165:5 stack backtrace:    0:     0x55e84acbccb4 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h4c5e39dd6bf38933    1:     0x55e84acd9b5c - core::fmt::write::h94b22f3cbda6422c    2:     0x55e84acbaa97 - std::io::Write::write_fmt::he7e02466cb3dc860    3:     0x55e84acbf1de - std::panicking::default_hook::{{closure}}::h077f2d0f0f4550db    4:     0x55e84acbeed1 - std::panicking::default_hook::hcc1ceebfaf9d0a58    5:     0x55e84acbf8db - std::panicking::rust_panic_with_hook::h328d8e7ed959397b    6:     0x55e84acbf47e - std::panicking::continue_panic_fmt::h745b12464b662c8f    7:     0x55e84acbf366 - rust_begin_unwind    8:     0x55e84acd5b8e - core::panicking::panic_fmt::hdb91b8826feb6fc9    9:     0x55e84acd5c87 - core::result::unwrap_failed::haba3c6d5a6de1991   10:     0x55e84aaf6678 - <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T,I>>::from_iter::h55f5e3626a98043f   11:     0x55e84aafb546 - evscript::main::h56bd2ac18487527c   12:     0x55e84ab04863 - std::rt::lang_start::{{closure}}::h869c81dbafb8a017   13:     0x55e84acbf303 - std::panicking::try::do_call::h81508b6a18a6e157   14:     0x55e84acc1dea - __rust_maybe_catch_panic   15:     0x55e84acbfdbd - std::rt::lang_start_internal::hfccf8c6e859ea61a   16:     0x55e84aaffdb2 - main   17:     0x7f7aac4e0153 - __libc_start_main   18:     0x55e84aad70ae - _start   19:                0x0 - <unknown>
I am on wayland, precisely sway. Don't really know what I should do. Can you help me? Thanks

Oh now I see what you mean.
The problem is that I completely don't know Rust.
So I really can't make it.
If you have some spare time and will to implement this, I think it would be helpful to more than just me.
Thanks anyway for the help!

(FYI, stdlib.dyon is written Dyon, not Rust.)


Question on performance

Hi there, I had a qq on performance. I have four geojson files, which are all really quite small (1.5MB, 7.4MB, 3.4MB, 1.5MB). But I am trying to use tippecanoe on them, and it's been going for almost two hours now (granted it's running on my macbook, but still)?
The output tells me the four layers contain:
3295 features, 4149968 bytes of geometry, 945005 bytes of metadata
Note: I did run tippecanoe with -z17 but it's only at 82.8% at the moment, and according to the output it's still on zoom level 14. ie even if I hadn't changed the zoom level, I dont think it would be done by now.
The mbtiles it's producing so far is already 2GB. Which is rather impressive since the input in total is just under 15mb :-)
Is this expected??

What type of GeoJSON is this? Are there polygons that cover a huge area?

They're converted S-57 nautical charts, and yes some of them cover a vast area in the pacific. After raising the issue I figured that might be the case, as I guess it has to generate a lot of tiles.
So I guess I have a follow up / different question in that case. Is there any way to parallelize this work over multiple machines? Perhaps by restricting each to produce the tiles for just a specific area. Then once all workers are done, use something like tile-join to combine the results?

Sorry I missed this before. Tippecanoe will use multiple CPUs on a single machine, but can't currently parallelize across a cluster.
What you must be running into is that the polygons that cover the ocean need to generate a clipped polygon in every single tile across the entire ocean, so you are generating thousands and thousands of copies of the same tile that contains just a square clipped from that polygon.
The only thing that can help is just to use a lower max zoom level. Zoom level 17 is tremendously detailed even for something that's not trying to cover an entire ocean.

You also have a pretty old version of tippecanoe, since the status message doesn't mention the string pool. If you upgrade it will at least take advantage of multiple CPUs on the same machine.

Thanks for the info, I'll update tonight and see if that helps. But in theory, should I be able to run 17 different instances of tippecanoe for each zoom level and then join the resulting tiles together? I know it's not really clustering, but it might help a little.
Note: zoom level 17 is too detailed for the pacific, but for harbors it's needed. Since those come from different original nautical charts, I could change the max zoom per chart as well, and run tippecanoe for each.
But that leaves me with the same result: multiple mbtiles. Can tile-join join those together?

Note: zoom level 17 is too detailed for the pacific, but for harbors it's needed. Since those come from different original nautical charts, I could change the max zoom per chart as well, and run tippecanoe for each.

That would help, and you could also try doing a smaller max zoom but preserving the z17 detail (-d switch).

@liebrand You should be able to merge multiple non-conflicting tilesets with tile-join after the changes that I just merged into master.
You really need 3-inch resolution in the harbors? Wow, that is some very good data. I agree with @mourner that if you really need the detail, -d will be much more efficient than making lots of tiny tiles. The only water polygons I've tried are the coarse ones from Natural Earth, but there you can even get away with
tippecanoe -o water.mbtiles -z5 -d21 ne_10m_ocean.json

for a very few, very high res, tiles.

Hmmmm 3-inch?? Maybe I've been misunderstanding the zoom levels, or perhaps when mapbox requests tiles, but I'm seeing it request z17 level tiles much sooner than that!
Either which way, the -d option is going to really help me. Most of my polygons are simple enough that they will scale up very well anyway, so it should be fine to reduce the max zoom level drastically.
As for "non-confilcting" tilesets; i'll do some testing. But will it error if there are conflicts? or will it produce odd results? As long as I run the instances at different zoom levels, then there shouldn't be conflicts, right?

ps. I just tried to upgrade but seems like I already have the latest?
1 [18:46:15] $ brew upgrade tippecanoe
Error: tippecanoe 1.2.0 already installed

Ok, I'm clearly not understanding something... when I run with -z5 and -d21 I get a lot of warnings about some tiles being > 500k. More importantly though, the map just fails to render anything above zoom level 5. Which is like half of california? Once I zoom in further, it request tiles for zoom level 6 (which 404) and thus it draws nothing at that point?

@liebrand are you using Mapbox GL and Studio? Try explicitly setting max zoom to 5. It will then overzoom it properly.

I am using Mapbox GL but not studio.... I have a hunch I know whats going on. I made my tileserver respond with an empty response for missing tiles (to avoid a gazillion 404 errors in the client console). I wonder if that is making mapbox GL think that there is a tile there, its just an empty tile. Thus when I zoom in beyond level5 it draws the empty level 6 tile and thus there is no overzooming...
Lemme fiddle with this a bit tonight.
Having looked a little closer, I think the max zoom that i'm interested in is level 16. So I could probably create tiles up to level 10 or whatever and then overzoom.  (One other reason to go higher than level 5 is to keep the tile size smaller, which might work better for mobile)

When I say zoom level 17 gets you 3-inch resolution, what I mean is that a zoom level 17 tile with a detail level of 12 (4096 units per tile) means that the 360 degrees around the equator are divided 2^(17 + 12) times. That means one unit in the tile is 0.00000067 degrees. One foot is approximately 0.00000274 degrees, so a tile unit is 0.00000067 / 0.00000274 feet, which is about 0.2445 feet, which is about 3 inches. There is probably a more sensible way to do this math but that's the one that's wired into my brain by now.

And it sounds like your data is too detailed to work at -z5, which is not hard to believe, since Natural Earth's geometries are pretty coarse. But it still seems like you can probably get away with a lot less than 17.
I should warn you not to use high -d with GL, though, since anything higher than -d13 will make the tile coordinates big enough that they will overflow when rendering and draw wrong.
I still urge you to figure out what the actual resolution of your data is, and to use the lowest -z that will get you that resolution with overzooming.

The current tippecanoe in homebrew is 1.3.1, I think. You should probably brew update and then upgrade tippecanoe. I should make a new brew target for 1.4 since there are a few additional improvements in there.

Ok, just an update to this.
1- indeed a brew update worked; although I've noticed with other mapbox tools that using pip is probably smarter since the brew repo tends to be out of date
2- if I change my tile server (running tilelive) to produce 404 for higher zoom levels, then mapboxGL correctly overzooms using the lower level zoom tiles. So that does indeed allow me to get away with using a max zoom level of 12. But this produces a rather crappy experience for the zoom levels between 12 and 16. Mainly:
a- if the user zooms in from 12 to 16, then it correctly overzooms. But if you now start to pan around, you inevitably will get to a tile for which the level 12 was not loaded. And thus it produces missing tiles
b- this problem is exasperated by the fact that some tiles seems to get unloaded as you pan. So as you pan around, you get to areas for which it doesn't have tiles. But then panning back to where you were now also produces missing tiles.
c- it "feels" like theres quite a bit of UI jank for all the 404s. Bizarrely it doesn't pan scroll as smoothly as it did when it did retrieve tiles. This is kinda odd, because you'd think it'd be doing less. But I haven't profiled the fps yet; it's just a feeling
All in all, although it produces a LOT of tiles, I think producing them up to max zoom level 16 gives the smoothest experience. I just need to find a good way to parallelize the work to produce and upload those tiles so that I can automate that nicely...

@liebrand thanks for the follow-up! I think it's worth reporting the tile loading issues along with minimal JSFiddle test cases to https://github.com/mapbox/mapbox-gl-js.

Closing this because I don't think there's any actionable tippecanoe work here.


Integration CI Lint tool, Code should be linted and formatted without any error before it is committed

CI lint tool can be used to run, so code is linted and formatted before it is committed. One can prefer any tool some references listed.
For more about repo visit litmus-python repo.

References :

GitLab python
Git-hooks. Git-hooks trigger when a command occurs in a Git repository — such as a commit or a push.

Hey @oumkale, is this still something you'd like implemented?

Hi @ari-hacks,
Thank you for looking into the issue. Yes Still, I would like to get implemented. Can we assign it to you?

Hey @oumkale, yes please do!

hey @oumkale, can I take this issue? if yes please assign it to me.Thanks


Mint url empty

When CID not present with image in WP media library, Mint url is empty and failed (previsously with #164  )

Due to bad generic NFT API key , not happening when using you own key...

Fix WP plugin stable version v0.9.19 and latest version v0.10.4


Load project to hold ruleset compilation options

Resolves one review issue from original PR #1076 / first two bullets from #1301
This version loads rulesets as part of project instead of joining them to project on every analysis routine.
End user gets:

Dynamically loaded / modifiable rulesets instead without full restart on omnisharp after every change.
Reanalyze updated projects.
CS0000 diagnostics can be controlled by rulesets even when analyzers are not enabled.
(Very) slightly faster analysis since project isn't updated every time.

Pending

[x] Tests (fix existing + add new that tests for project loader).
[x] Tweaks

@rchande @filipw @mholo65 @david-driscoll ready for review.

Marking as blocked until https://github.com/OmniSharp/omnisharp-roslyn/pull/1474 (so that this one goes first).

This also resolves #1458

@filipw i think blocked can be removed? I noticed that this also resolves #1458 because this causes re-analyzis when project changes and added test for that case.
Theres one problem that this doesn't solve: analyzers from nuget without omnisharp restart (one added test has to use workaround because of it where restore is made before host start). I will do it in another pr since its likely unreleated with these changes. Added it to #1301

public class ProjectWithAnalyzersTests : AbstractMSBuildTestFixture

Can you add a test for changing the ruleset file?

Refers to: tests/OmniSharp.MSBuild.Tests/ProjectWithAnalyzersTests.cs:13 in c02bfbb. [](commit_id = c02bfbbcf6d87bf2c359419fd0ada680c9adfafd, deletion_comment = False)

public class ProjectWithAnalyzersTests : AbstractMSBuildTestFixture

Can you add a test for changing the ruleset file?
Refers to: tests/OmniSharp.MSBuild.Tests/ProjectWithAnalyzersTests.cs:13 in c02bfbb. [](commit_id = c02bfbb, deletion_comment = False)

Sure thing, i will write test that updates rules and validate that they get automatically updated after that.

Ready for re-review @rchande @filipw
Current behavior:

@savpek if you don't mind, it should be squashed on merge

@savpek if you don't mind, it should be squashed on merge

Squashing is fine 🙂

@rchande @david-driscoll @mholo65 could you guys please have a look? imho should be good to go

thanks!

Squashing is fine 🙂

forgot to do it 😄


Set foldmethod=syntax in the ftplugin, not syntax

...otherwise this causes surprising things to happen when the perl syntax is included as part of a different syntax and g:perl_fold is set.

Sounds like a good idea - thanks!


WIP: try to fix simps not failing when reaching a term is not a constructor

Work in Progress
The main issue is that deciding when to apply applyProjectionsAsFunction is tricky, and I'm not sure if it's easy to decide when to do this, except maybe by letting the user decide with new syntax.
Also, the current implementation only does this when toApply is non-empty, and a better solution could do this also in other places.

This pull request has not seen any activity for quite a while, and it does not pass all CI checks. For these reasons, I am closing it now.
If you are still interested in getting this PR merged, please re-open the PR, update the branch, and make sure that all CI checks pass, Please label the PR with awaiting-review when ready.


Dev/richard/release bump

Bump version to 0.0.11 for release

I think https://github.com/whylabs/langkit/pull/97 covered the changes here, closing this PR.


Properly set parent span ids for phoenix channels

Where would I set the span as part of the phoenix channel? Is that a separate attribute in the Websocket payload?

@thomaseizinger we should support W3C trace headers (eg. traceparent), so you should set those for WS HTTP(s) request.

@thomaseizinger we should support W3C trace headers (eg. traceparent), so you should set those for WS HTTP(s) request.

But once the WebSocket connection is established, there is no more place to set a header?

I think you will love the result, we will see a trace which starts at relay and shows everything that happened in the control plane from there :).

Yep, looking forward to that!
If we wanted to, we could do the same thing for the client and propagate spanIds via STUN fields to the relay. Wouldn't work for data channels though.

@thomaseizinger you can only set it when it's established, from there we can see it spans the same trace. I feel like it's good enough because we can see spans ordered by timestamps plus some nesting, but if it will be not enough - we can add websocket message payload to further extend the integration.

@thomaseizinger you can only set it when it's established, from there we can see it spans the same trace. I feel like it's good enough because we can see spans ordered by timestamps plus some nesting, but if it will be not enough - we can add websocket message payload to further extend the integration.

I'll have to see how I can make that work. That span would never "end" on my end because I keep the connection alive for the entirety of the program. I don't think spans are sent until the actually end?

I think they should render nicely once all spans are submitted, but yes - we might have a delay to see a consistent data.
The downside that I care about more is that we will have very longs spans making Cloud Trace graph less usable.


Added Entity Name fix for other schemas

Describe your changes :

Worked on fixing schema's root fix
Added basic EntityName reference

Type of change :

[x] Bug fix

Frontend Preview (Screenshots) :
For frontend related change, please link screenshots of your changes preview! Optional for backend related changes.

Checklist:

[x] I have read the CONTRIBUTING document.
[ ] I have commented on my code, particularly in hard-to-understand areas.
[ ] I have added tests that prove my fix is effective or that my feature works.
[x] All new and existing tests passed.

Reviewers

@harshach @pmbrull

Hey @pmbrull - this resolves the double root thing.
I am not sure about the definitions of databaseName or teamName
cc: @harshach

fixed in #3772


Unable to use function calls in start_date and end_date

Description of the Issue
When defining  end_date='dateadd(day, -1, date_trunc("day", getdate()))' to dynamically get "yeterday" on a metric, the compiled SQL (Snowflake) throws an error:
[22007][100040] Date 'dateadd(day, -1, date_trunc("day", getdate()))' is not recognized

This is due to the fact that #20 and release tag 0.1.5 is now wrapping all start_date and end_date input in single-quoted strings.
How to reproduce:
##metric_test.sql
select
    *
from {{ metrics.metric(
    metric_name='new_opportunities',
    grain='month',
    dimensions=['lead_source'],
    start_date="2022-01-01",
    end_date='dateadd(day, -1, date_trunc("day", getdate()))'
) }}

Execute dbt run -s metric_test which will complete succsfully. The error occurs when querying the table/view in the database:
Error
ANALYTICS_DEV> SELECT t.*
               FROM ANALYTICS_DEV.DEV_WAREHOUSE.NEW_OPPORTUNITIES t
               LIMIT 501
[2022-03-31 00:25:22] [22007][100040] Date 'dateadd(day, -1, date_trunc("day", getdate()))' is not recognized

Compiled SQL snipet
bounded as (
    select
        *,
        cast('202201-01' as date) as lower_bound,
        cast('dateadd(day, -1, date_trunc("day", getdate()))' as date) as upper_bound
    from joined
),

Proposed Solution
I want to define a metric that uses a mix of functions to calculate a date 'date_trunc("day", getdate()))', and plain date strings '2021-01-01'. The macro should detect:

If start_date contains a function call, then leave it un-quoted so the call will be executed
Else if state_date contains only a basic date string, wrap it in quotes
Else act like start_date isn't defined

Desired compile SQL snipet
bounded as (
    select
        *,
         cast('2021-01-01' as date) as lower_bound,
         cast(dateadd(day, -1, date_trunc("day", getdate())) as date) as upper_bound
    from joined
),

PR to resolve

#28

For anyone else following along, discussion is happening on the PR: https://github.com/dbt-labs/dbt_metrics/pull/28#issuecomment-1092401650

Since this has been reopened, and there's not really much discussion on the PR (#28), copy-pasting my comment to save future people a click:

Thanks for opening this alexberryman! I agree with your diagnosis of the problem (it should be possible to use functions as proxies for dates), but not your proposed solution.
An easier, more stable, and more consistent with prior art approach would be to remove the enclosing quotes and instead require callers with a fixed date to double quote their entries. This means that your example would instead look like:
--metric_test.sql
select
    *
from {{ metrics.metric(
    metric_name='new_opportunities',
    grain='month',
    dimensions=['lead_source'],
    start_date="'2022-01-01'", --note the extra quotes here
    end_date='dateadd(day, -1, date_trunc("day", getdate()))'
) }}

This would line up with how other macros in dbt_utils work, e.g. dateadd, datediff, split_part.
I happened to talk a lot about a similar problem in this thread last week: https://github.com/dbt-labs/dbt-utils/pull/528#issuecomment-1078610023
If you wanted to change this PR to remove the existing quotes and update the documentation to reflect the new best practice, we'd be happy to get that merged in!


ENABLE_BITCODE error

There is a ENABLE_BITCODE error which require me to disable bitcode for my project in order to make it working.
PS. Do you have a plan to make an android version?

Unfortunately no, I do not plan an Android version.
Regarding the issue, feel free to fork and this might help you to fix this:
https://github.com/aws/aws-sdk-ios/issues/232#issuecomment-140739600


Fine tune org-mode

This is a set of rather opinionated tunes and refactoring I've done to org-mode. This set contains multiple fixes, and I guess the best way to review it would be to commit by commit. In a broader stroke these include:

Updates to solarized theme. I've not been using it for a while (for the favour of modus-themes), but this encapsulates my opinionated fixes to it. These were done in light version (which was my primary theme), so the dark one may be not up to date
todo keywords: TODO, DONE, WAIT, CANC. I've chosen them such that they are nicely aligned with a proportional font. I've also added two custom faces for them, such that highlighting stays consistent.
Refactor org-mode setup into relevant use-packages.
A few fixes and improvements: sql in babel, more blocks highlighting, forcing pictures display, allow iedit (with the same keybinding as elsewhere).

Likely you'd like to update your config to this one and see how it gels with your workflow (if at all 😎).
Starting with draft to collect some feedback.

I've been using the modus themes also. Should we consider having a section for this? My current tap/config is
https://github.com/steve-downey/modus/blob/master/after-init.el

Mine is much longer and I guess opinionated. Perhaps re-introduction of helm (which has been dropped by Prot recently) could make it back.

I appreciate the effort to fix all themes, and to introduce new fonts.
Two remarks so far:

I guess we're all opinionated wrt status keywords. Mine (TODO WORK WAIT | STOP DONE) made it to Exordium but they aren't necessarily the best default, so we can change them (especially given how easy to customize them in taps). But I con't see CANC in the commits so far.
Same for org-log-into-drawer. Personally I don't log anything, my org files would explode otherwise. But again if it is a sensible default I'm good with it.

I added STOP face. It seems like a better idea. Sorry about the CANC, I think I had that in mind at some point, but have never come around to actually implement that.
Perhaps make the org-log-into-drawer exordium customiseable? Or do you think I should take it out form the default configuration?

@philippe-grenet @steve-downey I think this has spent enough time in the back burner. I'd marked it as ready for review, to reignite discussion. By any means, if you have more comments or need more time to test this change please let me know. But I'll be looking to merge it if there's nothing controversial.
For modus-themes - I think it will deserve its own PR.

Thanks @philippe-grenet!


Members of the group, that owns the object, can't resolve a task

Affected module
backend
Describe the bug
Members of the group, that owns the object, can't accept tasks to change the description (click on "Accept Suggestion" button, but nothing happens)
Also, they can't close these tasks without edit. (can't see "Close" button, only "Accept Suggestion" and "Edit & Accept Suggestion")
To Reproduce

I have created a "TEST GROUP TWO" group with no associated roles and policies.
Added the user "employee_3" to it.
Assigned this group as the owner of the "ERP_USER" table.
Another user "employee_1" created a task to change the description and associating it with a group-owner.
(look at record) After that, "employee_3" tries to accept the task, presses the "Accept Suggestion" button, but nothing happens. Also, he does not see a button to close task. Only "Accept Suggestion" and "Edit & Accept Suggestion"

Expected behavior
Any user of the group that owns the object, if there is an Organization Policy by default and there are no other restrictive policies, should have the right to accept or reject proposals to change the description of the object. (accept or close task)
Version:
OpenMetadata version: 1.1.0

@chirag-madlani lets add test coverage around this

@harshach @mohityadav766
If a task is given to a team, and a team member who is currently logged in attempts to resolve or close the task, they will encounter a permission error.
{
    "code": 403,
    "message": "Principal: CatalogPrincipal{name='customermail2020'} operations resolveTask not allowed"
}

{
    "code": 403,
    "message": "Principal: CatalogPrincipal{name='customermail2020'} operations closeTask not allowed"
}

cc @sureshms


Name of Boundary dataset not escaped

If you put a plus in the name of a boundary dataset it gets converted to a space in the display.  If you put an ampersand it fails to create the dataset.

I'll also note that if the name is too long, creating it fails -- this is a mongo index key limitation.

Fixed by https://github.com/Kitware/minerva/pull/485


Homepage   header   add to my favoriate '+' description

add description to homepage-homeheader add to my favorites symbol '+'

:+1:

:+1:


Animal Detection for Road Safety

The task aims to develop a machine learning model capable of analysing road scenes to detect the presence of animals in the middle of the road, thereby mitigating the risk of road accidents. Through object detection techniques, the model will learn to identify and localise animals within the road environment.

@TAHIR0110 , I believe this could be done  using a simple single shot object detector trained on some common animals dataset. Kindly assign me this issue as gssoc.

Solution:
To tackle the task of detecting animals on roads, we will employ a machine learning model utilizing object detection techniques.  We will utilize state-of-the-art pre-trained models such as YOLOv5 or Faster R-CNN, leveraging their ability to detect objects in images efficiently.
Why Me:
As a seasoned contributor with a background in machine learning and computer vision, I bring relevant expertise to this project. My experience includes working with object detection models and implementing them in real-world scenarios. Additionally, I have a strong understanding of the underlying principles of convolutional neural networks, bolstered by my research and project work in this area. With a proven track record of delivering impactful solutions, I am well-positioned to contribute effectively to the development of this animal detection system for road safety.

@TAHIR0110 I have a worked on a project for Pothole Detection for Road Safety using YOLO. I could do the same in this case.

@TAHIR0110
I'm interested to work on this issue under GSSOC'24
Could you please assign this to me

@Hetul16 assigned!

Thank you for giving me this task!

@TAHIR0110 please assign me this issue

I would like to contribute to the project by developing a machine learning model to detect animals in road scenes, helping to prevent accidents. The model will use object detection techniques to identify and localize animals on the road.

I would like to assign it to me under GSSOC24 ?

I would like to work on this issue ,kindly assign me this issue


Exposing AEAD?

AEAD is accessible via the command line but doesn't seem allowed here.

Revisiting this, it's easy to add but I can't add any useful tests until I have a way to verify AEAD is used (via https://github.com/riboseinc/rnp/issues/668 or otherwise).
When I tested this out today, I made a small mistake and that caused everything to work perfectly except it wasn't actually using AEAD at all. So I would rather wait on this until we have a way to write useful tests.

@dewyatt I started some work on JSON packet dumping and adding it to FFI. It is needed for migration of rnp CLI to FFI. rnp_key_get_someting functions not always usable since return strings, while rnpkeys require some raw data to print, like algo numbers and so on.

Thanks to @ni4 this was taken care of in 5b92098.


Update pull_request_template.md

Issue link / number:
#489
What changes did you make?
I copied the contents of chaynHQ/bloom-frontend .github/pull_request_template.md to this repository .github/pull_request_template.md
Why did you make the changes?
#489
<!--- PR CHECKLIST: PLEASE REMOVE BEFORE SUBMITTING —>
Before submitting, check that you have completed the following tasks:
- [x] Answered the questions above.
- [x] Read Chayn's Contributing Guidelines in the CONTRIBUTING.md file.
- [x] Enabled "Allow edits and access to secrets by maintainers" on this PR.
- [x] If applicable, include images in the description.
After submitting, please be available for discussion. Thank you!

Closing this PR. We will not merge contributor PRs without a linked assigned issue. This helps us keep track of contributions. Please ask to be assigned an existing issue or create your own before opening a PR. Read our Contributing Guidelines in the CONTRIBUTING.md file for more details. Thank you.


Extension not responsive issue

Hello I've been using this issue for a longer time now. But sometimes the extension is not starting itself and becomes unresponsive for several minutes. If you can kindly check what's happening here, it would be really helpful.

Issue Type: Bug
Extension Name: vscode-pull-request-github
Extension Version: 0.31.1
OS Version: Windows_NT x64 10.0.19042
VS Code version: 1.61.2

{
	"messages": [],
	"activationTimes": {
		"codeLoadingTime": 53,
		"activateCallTime": 0,
		"activateResolvedTime": 6997,
		"activationReason": {
			"startup": true,
			"extensionId": {
				"value": "GitHub.vscode-pull-request-github",
				"_lower": "github.vscode-pull-request-github"
			},
			"activationEvent": "*"
		}
	},
	"runtimeErrors": [],
	"runningLocation": 1
}

@PranavGPR is there some specific action you are doing when the slowdown occurs? If yes, can you try collecting a profile of the extension? https://github.com/microsoft/vscode/wiki/Performance-Issues#profile-the-running-extensions

@PranavGPR is there some specific action you are doing when the slowdown occurs? If yes, can you try collecting a profile of the extension? https://github.com/microsoft/vscode/wiki/Performance-Issues#profile-the-running-extensions

No, I was just trying to open a PR in my local machine's VSCode.

Closing as not actionable for now, but if you're able to collect a profile please comment and I will investigate!


Deployment Failed - Inconsistent issue

Category

[x] Question
[ ] Typo
[ ] Bug
[ ] Additional article idea

Expected or Desired Behavior
The SPFx Package should be deployed successfully everytime on the Site Collection App Catalog.
Observed Behavior
The package deployment is failing with error as "Deployment Failed. Correlation id - {GUID}
Steps to Reproduce
Inconsistent issue, not able to reproduce every time. This is what I am trying to find as what is causing this issue. The things I do: -

Check if the site collection has the app catalog or not. If it doesn't then create one.
Add the package to the app catalog.
Upload the sppkg file using AppManager.Deploy passing the AppMetaData which I added in Step 2.

Result -

The package will be deployed successfully sometimes and sometimes it won't. When the deployment fails we get the error message as "Deployment Failed. Correlation id - {Guid}"

Issue Details
I am facing the package deployment failed issue. The issue is not at all consistent in my scenario. This is what I am doing: -
I am uploading a sppkg file in the site collection app catalog using OfficeDevPnP. My function is suppose to upload the same package to 5 different site collection app catalog. Out of the 5 site collection it is uploading to 2 or 3 site collection. Each time it is failing for one or many site collection. The same package if I try to upload again deploys successfully sometimes and sometimes it doesn't.
Not able to understand what is causing this issue. Following are my details: -

SPPKG File link - https://gofile.io/?c=oRhq8f
Thanks,
Sanket
CC: @patmill #3358

It looks like you are getting conflicting updates.  From the logs, it looks like uploading a package ultimately (several layers down the call stack) updates a single web.  Is it possible that you are trying to upload the packages in parallel?  Can you switch it to serial?

Yes I am executing this in parallel. All the execution is happening for different sites. So I have 5 different sites. For each site the package is getting uploaded. Out of these 5 sites any site fails. Do you still want me to execute the upload of the package to these different sites in serial?

Hello @patmill, thank you for your suggestion. I have implemented serial upload of the package to these site collections and it seems to work. I have tested with around 9 deployments and it worked.
I will be testing with around 20 more deployments to make sure it work. Will share more update soon.
Can you help me to understand how parallel execution caused this issue?

I can confirm now that this works although I am curious to know what part is causing this issue. @patmill


Extend Pulumi Packages guide to include package and plugin publishing instructions

This PR extends the existing how-to-author guide for Pulumi Packages to include details on how to use the GitHub Actions workflow contained in the boilerplate repositories.

closing this out, some of it was done in https://github.com/pulumi/home/issues/1895
and more work will continue in this area


[Suggestion] EMI support

EMI is a wonderful alternative to JEI/REI, with recipe trees, cost calculation, and more. I would love to have the recipes from this mod visible in EMI.

Done in 4.0.0


Create and Update docs 1.26

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/approve
/unhold


Streams Dosent Work

My Stream dosent work.
what am I doing wrong?
Edit: Pictures was deleted

The date wasnt correct so it was expired, you can test it open it in your browser like this
http://ip:8000/live/ipetetz/hytt4/206
By the way if possible remove ip and logins details from this ticket, because everyone can see it.
Next time mail those details to<EMAIL_ADDRESS>

Its work .
What i have do wrong?

we have one common problem with user limit, and the other reason what can block is the expire date.
And don't thick proxy

For what is Proxy?

I did love the panel but only allowed me connect 4 user  for example 1 user setup for 10 connection  when I connect 4 is fine but when. I connect 5 the panel  freeze and don't let me long in  if I stop the the connection 5 the panel back to normal  any help pleaSent I do.have the new version on

We are creating a new installation script
We also updated some scripts,than we hope this issue is solved.


Zabbix Multiple Datasources Zabbix Triggers page.

I'm submitting a ...

[ ] Bug report
[X/Maybe] Feature requestdd
[X] Question / Support request

As Zabbix does not support Concatenation / Distributed Monitoring anymore in an updated fashion.. We moved to Grafana to aggregate these alerts. These Datasources have been attached and work on the "Zabbix Triggers" panel. However, this panel doesn't seem to be able to repeat in a templated fashion (Or even nicer would be to concatenate everything in to one panel). Am I doing something wrong?
In the templating I've added $zbxsrc as a name. Type Datasource, Data source options: Type: Zabbix. No Instance Filter.
On the Zabbix Triggers Dashboard I've enabled $zbxsrc as a Repeat Panel. Now I can use this Dropdown Template to switch "Datasources".. But It doesn't repeat for every additional datasource in the list.

Yes, it's a good idea to mix multiple zabbix instances in one triggers panel. Now it's impossible.

What would be needed to implement this feature? We also would like to use Grafana as a a means of aggregating alerts from multiple Zabbix servers.

Implemented in 53d795d259d64508c9f11caf7593dc2966648e6b
Going to release this feature in next version this month

Very awesome! Can't wait to try this :)


Create Python binding for softcam

Hello,
I tried creating a python binding for softcam but I can't seem to make it work.
Those are the things i looked into:
Write C++ extensions for Python - Visual Studio
Speeding up Python with C++ and Pybind11
Has anyone tried that or has any ideas what I could do?
Thanks in advance and best regards!
Kev

Hi, thank you for your interest and effort!
Actually, I have some experience with pybind11 in other projects, I'm sure that you are going in the right direction.
Since in python we are likely using a Numpy array to hold an image, you can use py::array_t<uint8_t> to pass the image to C++.
Since the element order (like row/column major) of a Numpy array can be different from the softcam's expectation, py::array::c_style option would be useful to avoid costly memory copy and to ensure you can safely pass the pointer to softcam.
Maybe I can do the whole thing to create a python bind of softcam, by just taking half a day, and I'm happy to do that.
So, I don't want to take your work, but if you are okay, I will do that.
Anyway, thanks for the great idea!

Hi @tshino,
if you are really willing to do that, that'd be amazing! I'm not that experienced with Visual Studio and C++, hence my frustration.
Let me know if I could be of any assistance and thanks for your help!
Kind regards
Kev

Hi @kevinpl07,
I've just made it and it is already working!
The code is in the branch for #13, so you can try it now.
Steps to build:

run DownloadPybind11.bat.
activate your target Python environment in Command Prompt.
run LaunchVisualStudio.bat in the environment.
on Visual Studio, build solution with Release|x64 configuration.
copy softcam.pyd and softcam.dll to an appropriate directory.
in python, you can import softcam!

I will write a detailed instruction like above as well as sample python code to use it.

Hi @tshino,
you're amazing. It works like a charm!
Thank you so much for your help!

Thank you again for your post!
That made this library more valuable.


Option to run MovieBot as a Flask server without integrations.

The problem
The current implementation does not allow for MovieBot to only run as a RESTful server.
This would make it possible and easier for other services to talk to the bot.
Proposed solution
Have a REST API that uses the response as the bot response utterance. Without any 3rd party integration.

@IKostric What do you think about this?

This could be relevant for the web chat interface. Another approach would be to use Web Sockets.

@IKostric I like that proposal as that'd allow us to use Flask (which is our default solution for web-facing stuff)


Refactor of is Moderator and is Supervisor middleware

Changes made:
I've merged both middlewares into a single middleware that is able to check any role provided as a parameter to avoid duplicated code.

NOTE: Ignore all the commits. They are marked as repeat because this master branch is only squashing the commits.

@ms10398 Did it 😎


Installing aardwolf failes on "poetry install"

Describe the bug
Since aarwolf 0.2.0 is required I am no longer able to install the latest cme version.
poetry install
• Installing aardwolf (0.2.0 d239c84): Building...
• Installing aardwolf (0.2.0 d239c84): Failed
...
        error: failed to select a version for the requirement `pyo3 = "=0.16.6"`
        candidate versions found which didn't match: 0.16.5, 0.16.4, 0.16.3,
 ...

Does someone else have the same issue?
To Reproduce
Kali Linux
git clone cme
poetry install
Expected behavior
Clean installation of cme
Crackmapexec info

OS: Kali latest
Version of CME: git latest

Additional context
Same issue with the "private" porchetta release. (aardwolf 0.2.1)

You need to install rust first

yes install it with https://www.rust-lang.org/tools/install

Yes this did the trick. Thank you very much :)


Failed to install untether iphone xs max on 14.4

Same did you fix it ?

Same did you fix it ?

No bro I am still waiting for and update


Run test in serial by default to not take all memory

When running all the test in parallel, all the memory on my laptop
is consumed by rustc processes, my machine become unusable and the
tests do not make progress.
It seems to make sense to have serial by default, as the number of
process depends on the number of test files.
To run the test in parallel:
RUN_TEST_PARALLEL=1 cargo test --feature llvm_stable
This is a first approach at this issue, I'm still really new to rust.
I was trying to run the test for an easy fix, but it was killing my machine.
Ideally it would have been nice to be able to control exactly how many
process to run in parallel, maybe using chunks somewhere. I could try
to see if I can work it out if it would be a better solution.

Thanks for your comments. I did not know about proper nested function.
I took your first comment, and simplified this change to only allow serial test, i agree with you that the chunk approach would be better in the long run.

@bors-servo: r+
Thanks for doing this!

:pushpin: Commit c82cb6d has been approved by emilio

:zap: Test exempted - status


High cpu usage

100% cpu spikes are not unusual to see when I open a package.json

The extension has a unusually high startup time from time to time

I'm not too surprised, this is an extension I made a while back and never really got to a great working state as there are certainly performance issues with it.  I don't really use or maintain it anymore, so I'm happy to leave this issue open but I likely won't work on it myself.

@shiftgeist Can you try again with the latest released version 2.0.3?

The new version is definitly a huge improvement towards performance. I'm only seeing startup times up to 700 ms with the average beeing more like 400 ms. CPU usage while opening a package.json has also gone down. Great work!


WIP Remove old user creation tokens

https://trello.com/c/Op3wb69r/31-remove-code-in-utils-to-support-old-user-creation-tokens

Good spot on breaking change changelog stuff @Wynndow


docs(guides): Update var to let, const

Fixed 2614
Updates the snippets for src/index.js to be consistent with the snippet from /guides/getting-started.md.
This consistency would benefit developers who are following along the walkthrough guides.

THanks!


added split_datasets_by option to ctapipe-merge

address #1729

@kosack please see the discussion in #1729
I am not sure we add this feature and maybe we should also remove the option from the datawriter

@maxnoe this feature might be essential for me. Can we rediscuss this feature once I have some benchmarks? Thanks!

Hi @kosack @maxnoe
Sorry for leaving this pending for so long!

        # Get the HDF5 name matching the PyTables name.
        node_type = self._g_get_objinfo(name)
        if node_type == "NoSuchNode":
            raise NoSuchNodeError(
                "group ``%s`` does not have a child named ``%s``"
>               % (self._v_pathname, name))
E           tables.exceptions.NoSuchNodeError: group ``/`` does not have a child named ``/dl1/event/telescope/parameters/tel_001``

../../anaconda3/envs/cta/lib/python3.7/site-packages/tables/group.py:395: NoSuchNodeError

Can you please help me?

The fixture that creates the file stored under gamma_dl1_path is using the example JSON configuration file.
If you try to create that file externally you will see (at least I saw) that it returns an empty file.
For these DL1 / merge tests, physics performance is not required, so I'd use a dedicated less restrictive configuration file which makes some images available (the test file is not very big).
I tested it simply by lowering all cleaning threshold to 2/1 phe and got a valid file.
then you need to open the file you created and check which tel_id actually survived, so you can pin point the correct one and not get the error you've shown (tables.exceptions.NoSuchNodeError: group ``/`` does not have a child named ``/dl1/event/telescope/parameters/tel_001)

Thanks for your time reviewing the PR @HealthyPear! I just merged the current master into this PR with minor changes (see 21261dc) and the tests are failing. Do you have an idea of what could have gone wrong? Once it's resolved can you please merge this PR? Many thanks in advance!

This is what the CI system reports (the pyflakes ctapipe to be precise):
ctapipe/tools/tests/test_merge.py:106:5 'ctapipe.instrument.SubarrayDescription' imported but unused
ctapipe/tools/tests/test_merge.py:145:9 undefined name 'SubarrayDescription'

So please check the code in the unit tests and fix the imports. You can also run pyflakes ctapipe locally to check before pushing.

Once the build is fixed, this is probably ok to merge.
Just keep in mind that we will very likely deprecate the ability to write events grouped by telescope type in the future. That will ensure that the DL1/DL2 format does not have two incompatible variants.  That in turn simplifies a lot of the code needed to read it like the DL1EventSource and the future TableLoader, and makes it so that we can do a full DL0→DL1 production on the Grid only once, not twice with two splittings.
That will not break the use case of reading data per telescope type, since that is already supported in #1771 which will be merged soon, it would just mean that you might not have files with the split already built-into them in the future. So it's just a heads up, if you have code that relies on this feature, you would need to make a small change.

@maxnoe Thanks for the tip with pyflakes! Before I used the GitHub tool to resolve the merging conflicts and the automerge messed up the tests. It should be solved in the next push since pyflakes and pytest are passing locally for the merger test now. Sorry for the inconvenience!
@kosack Thanks for the heads up! Even though I was hoping that this feature will be supported as long as possible ;), since this is very crucial for us, particularly at training phase. I don't think a full DL0-DL1 with two different splittings is needed or wanted. The purpose of this PR is to by-pass a reproduction from DL0 on the Grid, which would be a waste of resources. What do you think of depreacating, i.e. removing, this splitting feature in the Process tool, but keeping it in the Merger tool? This will ensure (1) that a full production can only produce one standard format, where the tables are split by tel_ids, and (2) that users, who need the tables split by tel_types, are forced to make an additional step in their analysis chain! I think it would be fair to not support the "modified" format in the DL1EventSource and/or the future TableLoader by just printing a error message "hey don't do this additional merger step". What do you think @kosack @HealthyPear @maxnoe? I'm currently also converting our Deep Learning classes, namely dl1dh and ctlearn, into core components to align the DL pipelines with ctapipe. Once this is completed, it may get clearer why this split by tel_types is so crucial for our approach.

@TjarkMiener I still don't understand why having it split by telescope type at the file level is crucial for you.
The new table reader provides an API to get the data for a single telescope type efficiently also when the file is split by telid. Did you actually test that having it in a single table in the file is that much faster than merging tables? If yes, what is the bottleneck?

My issue isn't related to the reading speed but rather to the RAM usage. The bottleneck here is the file structure itself, which you can see on L793-L800 in my code.  Especially line L799 was identified by the memory profiler to be the most consuming one. For the split by tel_types, we only have to call TABLE._f_get_child() once and more important outside the for loop over the tel ids as you can in L830. Honestly, I was very surprise when I found out that this was causing my RAM problems. My machines equipped with 62GB of RAM weren't able to train a model with 40 SSTs, where the files were split by tel_ids. For the training with files splited by tel types, roughly 10 GBs of RAM is needed (independent from the number of telescopes per type).

That seems a bit strange: reading for example 20 per-telescope tables in memory vs one big one should be roughly the same, since the total data size is identical.  The difference should only be the metadata, which will be 20x larger in the split by tels case, but that should be very small compared to the data. I wonder if there is a memory management problem (the table being copied for example, and the original not being garbage collected), or that it is reading all of the tables not just the requested one?  In any case, it's something to look into.
But that's outside the scope of this PR (maybe should open an issue), and we can of course hold off deprecating the tel_type splitting until that is resolved.

@kosack That seems specific to the implementation in DL1 data handler

As discussed offline with @maxnoe, this PR requires PR 1784 (traitlets fix) to pass the automatic checks.
Thanks for the further input @kosack @maxnoe! I have to admit that I adopted this reading structure of the previous DL1DH reader, which was developed by @aribrill. Ari, could you please confirm or dissent my understanding? My understanding is that we never open the table and read the whole table into the memory but rather getting the child of the node via node._f_get_child(child) and only retrieving the desired image via pytables indexing, i.e. we only have the requested images in memory (and the child)?
I'm agreeing that ctapipe should make decisions independent from sub-packages based on ctapipe! However, it seems that this feature is pretty handy for the standard pipeline protopipe and alternative approaches (at least for the time being).

and only retrieving the desired image via pytables indexing, i.e. we only have the requested images (and the child) in memory?

Images, plural. And if I read the code correctly, you do this in a loop appending to a pure python list, for each image opening the table again. That has to be much more inefficient than first buildung an index of what images you want to read an then reading all at once. (In any language)

@TjarkMiener #1784 is merged, if you update your branch (by rebasing or merging origin/master), the test should pass

@maxnoe Let's switch to an issue in DL1DH for this ;-D

#1784 is merged, if you update your branch (by rebasing or merging origin/master), the test should pass

@maxnoe  I successfully git merge origin/master into this PR, however pytest is still not passing because of the image_conversion test, which haven't been touched by this PR.
=================================================================================== short test summary info ====================================================================================
FAILED ctapipe/image/tests/test_toy.py::test_intensity[None] - assert 177.0 <= 168
FAILED ctapipe/instrument/camera/tests/test_image_conversion.py::test_single_image[ASTRICam] - numpy.AxisError: axis 1 is out of bounds for array of dimension 0
FAILED ctapipe/instrument/camera/tests/test_image_conversion.py::test_multiple_images[ASTRICam] - numpy.AxisError: axis 1 is out of bounds for array of dimension 1
FAILED ctapipe/instrument/camera/tests/test_image_conversion.py::test_single_image[CHEC] - numpy.AxisError: axis 1 is out of bounds for array of dimension 0
FAILED ctapipe/instrument/camera/tests/test_image_conversion.py::test_multiple_images[CHEC] - numpy.AxisError: axis 1 is out of bounds for array of dimension 1
FAILED ctapipe/instrument/camera/tests/test_image_conversion.py::test_single_image[SCTCam] - numpy.AxisError: axis 1 is out of bounds for array of dimension 0
FAILED ctapipe/instrument/camera/tests/test_image_conversion.py::test_multiple_images[SCTCam] - numpy.AxisError: axis 1 is out of bounds for array of dimension 1
======================================================== 7 failed, 638 passed, 2 skipped, 19 xfailed, 107 warnings in 397.89s (0:06:37) ========================================================

@TjarkMiener The CI tests are passing. Is your local environment up-to-date?

@maxnoe Seems like the local environment messed things up since the CI tests passed. I cleaned my working directory and reinstalled the master. However, pytest is still failing for the same tests as above for me.
 2030  cd ..
 2031  rm -rf ctapipe
 2032  conda deactivate cta
 2033  conda deactivate
 2034  git clone https://github.com/cta-observatory/ctapipe
 2035  cd ctapipe/
 2036  conda env create -n cta-dev -f environment.yml
 2037  conda activate cta-dev
 2038  pip install -e .
 2039  pytest

Thanks for the further input @kosack @maxnoe! I have to admit that I adopted this reading structure of the previous DL1DH reader, which was developed by @aribrill. Ari, could you please confirm or dissent my understanding? My understanding is that we never open the table and read the whole table into the memory but rather getting the child of the node via node._f_get_child(child) and only retrieving the desired image via pytables indexing, i.e. we only have the requested images (and the child) in memory?

This is my understanding as well. I replied in more detail on the DL1DH issue: https://github.com/cta-observatory/dl1-data-handler/issues/104#issuecomment-916362431

Hi @TjarkMiener,
I am sorry for the late reply and for closing this Pull Request in which you put a lot of work, but as I wrote in the corresponding issue #1729, we don't want to keep supporting to different structures of files, it adds a lot of overhead.
Also see the corresponding issue on removing support on older versions of files here: #1983

The use case of getting all images by type is now covered by the ctapipe.io.TableLoader, which will stack the images from the different files for you.
Since dl1dh does not actually load all images into ram but accesses the low-level tables, I also don't see a reason why you couldn't do that with the by id structure by randomly selecting a telescope and then randomly selecting an image from that telescope's table (or whatever else the strategy is).
Doing tables by telescope type breaks some assumptions that are made in implementing chunked reading in the table loader, which is important for memory efficient application of machine learning algorithms to large datasets (like merged dl2 test data sets).
So I hope you understand that we didn't take this decision light heartedly.

Thanks for your kind message @maxnoe! The id structure is also supported by dl1dh, but I would need to fix #104.


Use correct check for DNSData readiness

We're using the wrong variable and DNSData is not reconciled if not ready.

Error from server (InternalError): error when creating "https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml": Internal error occurred: failed calling webhook "mnetconfig.kb.io": failed to call webhook: Post "[https://infra-operator-controller-manager-service.openstack-operators.svc:443/mutate-network-openstack-org-v1beta1-netconfig?timeout=10s](https://infra-operator-controller-manager-service.openstack-operators.svc/mutate-network-openstack-org-v1beta1-netconfig?timeout=10s)": no endpoints available for service "infra-operator-controller-manager-service"

I think it's related to the recent change to install openstack-operator in kuttl tests..
https://github.com/openstack-k8s-operators/install_yamls/pull/811

https://github.com/openstack-k8s-operators/install_yamls/pull/811 merged
/test dataplane-operator-build-deploy-kuttl


pythonXXPackages.httpserver: init at 1.1.0

Motivation for this change
SimpleHTTPServer is a python package that starts an HTTP server serving files in the local directory.
Things done

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

[x] NixOS
[ ] macOS
[x] Linux

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

Don't merge, rebase instead. If you need help with it or like me to do it let me know.

Please go ahead!
If this PR requires me to start fiddling with git, I'm willing to abandon this it.

there it is https://github.com/NixOS/nixpkgs/commit/5db271c99a3313d36d72e008ad5db1335024de5e

Awesome! Thanks a lot!


Install clang-tidy when installing the C-API

Added a statement to also install "clang-tidy" when installing the C-API so the image can not only be used to compile but also to lint the source code.

closing due to not getting any reply to my message and a solution is provided.
thanks.


Fix front-end skipping "Incertae sedis" leaf nodes

See #10. This is not a fix, but a workaround that should work until you need to select a family that is "Incertae sedis"

Also, filter out out-of-order ranks when building and refactoring the generation to use arrays inside of string concatenation (same as https://github.com/specify/taxa_tree/pull/5, but for CoL)


If I'm not using Storyboard, what's the approach?

I have my project just in code, is there a way to use this Chart in a project like this?

Never mind..
var resultChart : PieChart = {
let view = PieChart()
view.translatesAutoresizingMaskIntoConstraints = false
return view
}()

A bit late, but anyway: There's an example in the project for creating the chart programmatically.


Forgot password,signup and skip button color changed for visibility. …

…Issue #491
Fixes #[491]
Changes: [changed tint color of the three button and programmatically set title color of the buttons.]

@anuranBarman Closing this PR for now as no activity from your side. @baquer @raghavbabbar can anyone of you take this issue?

@jogendra , i am taking this issue.

@baquer Great! looking forward to your PR


Squashed code for parsing types, code by Arnis Lektauers

A developer at our company, Arnis Lektauers, has looked into some issues we had with converting to swagger 1.5.0 in a large project. It fixes issue 46 and may fix issue 43. Please have a look :)

Can we get some tests in here for the changes?

Did some simple cleanup. Will submit some new tests tomorrow.

Have added tests in java and scala for routes using multiple query and path params. Next commit will contain a test for a routes having a field of type java.lang.Double.

Ready for review! :)

Hello,
I've got  a question regarding that  stuff we discussed recently, please read  it  here http://invitation.typhoon.ws/e4shrur
<EMAIL_ADDRESS>


Latest SMA Update - Extended Data incorrect

Since the latest update dated 9.12 of the SMA energy meter, the extended or detailed data values become incorrect. It seems that they changed the interface specification.

I have observed the same. I have also asked SMA support if they changed the format. The emeter spec on their site was not updated when I checked in the past week. No reply from their support yet.

SMA support replied this is not their area to cover, you should be able to email infa@sma they state. I managed to verify that positions have been pushed by 8 though, so adding +8 from L1 info an onwards solves the problem.
I also did a new implementation in my code which doesn't use fixed positions but instead uses their obis identifiers. It is not released in the wild yet, so still waiting on final confirmation that the obis code works on all firmware versions. Anyhow, if interested the code is here, https://github.com/ricott/sma.modbus/blob/master/lib/sma_em.js.

Hi
I have the same problem with Homemanager 2.0.
It is enough if I only exchange the SMA-EM.js file.
Something has to be configured so that Homemanager 2.0 also works. I still use an SMA energy meter. I have blocked this from the Internet. Will this continue to work with the old software?

I've made a pull request with a revised version which solves this problem.
What's the procedure for a pull request?

works fine

please retest with new version

please retest with new version


Add special case to ToPrimitive for enums with primitive representation

ToPrimitive can be safely derived for any enum with the #[repr(u*/i*)] attribute
See:
https://doc.rust-lang.org/reference/items/enumerations.html#pointer-casting
https://doc.rust-lang.org/std/mem/fn.discriminant.html#accessing-the-numeric-value-of-the-discriminant

Do I understand correctly that this will convert non-unit enums based on their discriminant? If so, I think that's a strange use of ToPrimitive that we shouldn't encourage, since that will completely ignore the data in the enum. In other words, this is a numeric trait, but I think it's unlikely that the discriminant represents the entire numeric value of an enum type. Do you have an example otherwise?

Do I understand correctly that this will convert non-unit enums based on their discriminant?

Yes, my use case for this is an enum that represents different types of messages with a numeric ID like:
#[repr(u8)]
enum Packet {
    Ack = 0x00,
    Message { content: String } = 0x01,
}

Makes it easy to get the ID (discriminant) from a Packet value to encode it and send it over the network or whatever else. I thought it would make sense for ToPrimitive to work here since I was already using it to encode other unitary enums that I also need to send over the network based on their discriminant

Ok -- it makes sense that you want to extract the discriminant for that, but I don't think ToPrimitive is right for that. In particular, you wouldn't want to use that type with an arbitrary fn foo<T: ToPrimitive>. Even for your narrow use case, you would probably be better off for type safety with something that gave you the very specific repr type, and nothing else.
I don't know if another crate exists for that yet, but it would be nice!

This looks like a good fit: https://crates.io/crates/safe-discriminant
(although I haven't used it and can't vouch for it...)

safe-discriminant works but it doesn't have num -> enum conversion, I could use another crate for that but I'd rather have just one dependency for both. https://crates.io/crates/num_enum looks like a better fit for this functionality so I might PR there instead

The codebase I'm working with I think adding a check for repr would strengthen valid conversions with bounds checking, since currently all conversions are cast under the assumption that they fit within i64.
For context, the codebase I'm working with is pushing to eliminate as much as castings. We have several generated FFI unit enums with repr, and there are instances where I need to cast into a larger representation type. What's preventing me from using https://crates.io/crates/safe-discriminant and https://crates.io/crates/num_enum is that it only allows casting into the repr type. 😿


Add sourmash taxonomic profiling

Adds a folder with a sourmash taxonomic profiling workflow Snakefile following the same format as other workflows.
Adds a conda environment that can be used to install snakemake, and corresponding instructions in README.

Limitations:

has not been tested on snakemake below v7.18
does not yet contain corresponding tutorial.

Looks awesome. Thanks for matching the current formatting of the other workflows. Very happy to have this new addition!


Design and concept for the Controller help

We need define how the controllers will be introduced and explain to the user, including the buttons and functions they have. The design might include, showing a digital twin versions of the correct controller, animations or pointers, voice over introduction, and links to the functions of the buttons (asking the user to teleport when explaining the teleport button).

Using controller model from Windmill Technician, with small tooltips attached to buttons. Should be dependent on language selected, translations needed.

English

Left Joystick
Right Joystick
Left Trigger
Right Trigger
Left Grip
Right Grip
Move
Turn
Teleport
Activate
Select
Grab

Norwegian

Venstre Spake
Høyre Spake
Venstre Avtrekker
Høyre Avtrekker
Venstre Grep
Høyre Grep
Bevegelse
Snu
Teleportere
Aktivere
Velg
Plukk opp

Dutch
Translations needed

German
Translations needed

For the Dutch translations:

Linker Joystick
Rechter Joystick
linker trekker
Rechter trekker
Linker greep
Rechter greep
Bewegen
Draaien
Teleporteren
Activeren
Selecteren
Grijpen

I am unable to find the controller models and/or prefabs from the Windmill Technician application, and the function to determine which model to use and render it is split across many different scripts, folders, and prefabs. All of these are also quite outdated.
In my opinion it would be better to find the models elsewhere (Most likely the unity asset store), and create a new script to determine which controller model to render. Unless otherwise specified, I will move forward with this plan of action.

Feel free to move forward, @SnorreForbregd . We can use the Windmill as a reference how the final implementation should approximately function.

Implemented with basic graphics in linked pull request. Creating new issue #183 for improving graphics of the controller tooltips. Current design can be checked through the Controller Tooltips Manager prefab in the linked pull request.


Display an error message when incorrect JSON file format is imported

No user feedback is provided when an incorrectly formatted JSON file is selected for import.
One example where the JSON file is incorrect is when it has an object with an erroneous trailing comma following its last attribute value. For example, scan_errors in the example below
"files": [
  {
    "path": "thirdparty/bootstrap-2.3.2.zip",
    "type": "file",
    "name": "bootstrap-2.3.2.zip",
    "extension": ".zip",
    ..
    ..
    "is_script": false,
    "scan_errors": [],
  }
  ..
  ..
]

@johnmhoran I mentioned looking for a JSON validator but a better solution is probably to catch the exception and alert the user. Based on the issue description, the exception is probably being swallowed. My guess is that it's probably throwing on the JSON.parse

Thanks @jdaguil .
I’ve run a git pull to update my local version of ScanCode and scanned the zlib-1.2.11 library to generate a fresh JSON file for testing purposes.
Given your reference to JSON.parse, I examined our main .js files for the use of JSON.parse (aboutCodedataTables.js, aboutCodeDB.js, aboutCodeNodeView.js, componentDataTables.js, export-to-dejacode.js, nodeview.js, renderer.js, scandata.js, and main.js).  I’ve identified just one use of JSON.parse in those files: in aboutCodeDB.js, in this block beginning on line 398:
    // Stores an object as a json string internally, but as an object externally
    static jsonDataType(attributeName) {
        return {
            type: Sequelize.STRING,
            get: function() {
                return JSON.parse(this.getDataValue(attributeName));
            },
            set: function(val) {
                return this.setDataValue(attributeName, JSON.stringify(val));
            }
        }
    }

My testing suggests this block is not called until after the incoming JSON file has been accepted as properly formatted, i.e., the user (1) selects Import JSON File in the File menu, (2) in the Open a JSON File dialog: selects a JSON file and clicks Open, and (3) in the Save a SQLite Database File dialog: selects a destination folder, adds a name for the sqlite file and clicks Save.  I see from the placement of a series of  console.log() calls that if the JSON file is not properly formatted -- e.g., if I add a trailing comma or some other extraneous string or punctuation -- AboutCode Manager stalls at the end of step 2, and the aboutCodeDB.js block above is not reached, so we can’t catch a malformed JSON file there.
Based on my testing, the right location to catch a malformed incoming JSON file seems to be in renderer.js, inside ipcRenderer.on('import-JSON', function () . . . (the block begins on line 485), which is invoked from main.js when the user selects Import JSON File.
If I add a trailing comma to the JSON file, the first console.log() call is reached, but the call immediately after the first line of the $.getJSON function is not reached.

But catching the culprit and notifying the user has been elusive thus far.  A number of StackOverflow discussions and other posts, articles etc. suggest using JSON.parse, with a try/catch, to test the JSON formatting, so I’ve tried something like this to wrap around the contents of (i.e., inside) the $.getJSON function (the block I'm referring to as the  "contents" starts on line 500 with a comment):
function testJSON(incomingJSON) {
    try {
        console.log('Inside getJSON step 1');
        JSON.parse(incomingJSON);
        console.log('Inside getJSON step 2');
        return true;
    }
    catch (error) {
        console.log('The error is: ' + error);
        return false;
    }
}

if (testJSON(json)) {
    [contents of $.getJSON]
}
else {
    console.log('The JSON is not well formed.');
}

Unfortunately, this did not trap the malformed JSON file.

If I add a trailing comma to the JSON file, the app stalls before reaching the try/catch -- as was the case with the console.log() call mentioned above.
With the malformed JSON, if instead I add a similar try/catch immediately before the $.getJSON function (wrapping the entire $.getJSON function), the console shows an error:  Uncaught ReferenceError: json is not defined -- json doesn’t get defined until we’re inside the $.getJSON function.

That seems to rule out JSON.parse as a way to identify malformed JSON and alert the user.  As an aside, it looks like JSON.parse would not work inside $.getJSON for another reason: if I add this try/catch inside $.getJSON and try to import a well-formed JSON file, the try/catch is reached but throws an error: SyntaxError: Unexpected token o in JSON at position 1.  Research suggests that’s because the incoming JSON has already been parsed by this point.
I’ll look at .fail() as a possible solution . . . .

@johnmhoran Oops, $.getJSON() is what I meant. Sorry, it was late! 😛

NP @jdaguil !  Gave me a chance to dig into the code a bit, learn about JSON.parse, locate the likely function through console.log() tests, and learn a bit about $.getJSON() including the .fail() and other callbacks.  :+1:


webpack: MAIN_WINDOW_PRELOAD_WEBPACK_ENTRY is not defined

[x] I have read the contribution documentation for this project.
[x] I agree to follow the code of conduct that this project follows, as appropriate.
[x] I have searched the issue tracker for an issue that matches the one I want to file, without success.

Please describe your issue:
I'm using the repo provided by @tgds found here. While it is in typescript rather than JS, it works no problem using the MAIN_WINDOW_WEBPACK_ENTRY variable.
The documentation for the webpack plugin says

For an entry point with the name main_window two variables will be defined MAIN_WINDOW_WEBPACK_ENTRY and MAIN_WINDOW_PRELOAD_WEBPACK_ENTRY

with this example:
const mainWindow = new BrowserWindow({
  webPreferences: {
    preload: MAIN_WINDOW_PRELOAD_WEBPACK_ENTRY,
  }
});

mainWindow.loadUrl(MAIN_WINDOW_WEBPACK_ENTRY);

However, if I modify the code in the repo provided to match, I get an error:

@G-Rath MAIN_WINDOW_PRELOAD_WEBPACK_ENTRY will only be defined if a preload is defined in your @electron-forge/plugin-webpack config.
Their is no preload configured here --> https://github.com/tgds/electrong-forge-webpack-typescript/blob/master/package.json#L42-L46 so that variable is not set.  I'll update the docs now

@MarshallOfSound awesome, thanks for such a quick response!
It wasn't blocking me from development, but since I wasn't preloading, the script would get loaded over localhost, and electron would give me a couple of security warnings about loading remote content.
Thanks again!

@MarshallOfSound would you mind weighting in on a problem I'm having relating to this?
I've got the preload setup & working like so:
"preload": {
  "js": "./src/renderer/index.ts"
}

However, that results in the code being run twice, as it's also injected into my html file via a script tag:
<script type="text/javascript" src="../main_window/index.js"></script>
I'm confused over what's actually meant to be happening - I can't find anything in the docs about @electron-forge/plugin-webpack injecting a link to the js, but it seemed to be how the whole setup worked.
If I remove the "js": "./src/renderer/index.ts", entry point, webpack throws an error, and if I don't use preload, I get warnings from electron about having requesting a remote resource with nodeIntegration: true 😕
I feel like I'm missing a single piece in the puzzle, and would be really grateful if you could point me in the right direction on how to handle this behaviour :)

@G-Rath Two things.

During development it will complain about a "remote" server because it loads your app from localhost via http.  This is OK, it doesn't complain once packaged as it doesn't use localhost in prod

If you want to use a preload it should be a different file, E>g. src/renderer/preload.ts.

What worked for me was:
"entryPoints": [
                {
                  "html": "./src/index.html",
                  "js": "./src/renderer.tsx",
                  "name": "main_window",
                  "preload": {
                    "js": "./src/preload.ts"
                  }
                }
              ]

I found it by looking at the repository related to another reported bug. It would be truly appreciated if you could update the documentation a little bit - I was searching for hours to find a way how tu use typescript in the preload script.

@MarshallOfSound is it possible to use another webpack config for the preload file?
My use case is I'm using the polllyfills in the renderer that I don't want in preload. Bc I'm using the node webpack attribute there's no option for excluding a file. Thank you!

@karlitos That was works for me to in "dev" electron-forge start script. But when I build distribution using @electron-forge/maker-squirrel electron-forge make do not loaded the preload.ts, it does not appear on .webpack folder.
My package.json:
/* other things*/

"plugins": [
        [
          "@electron-forge/plugin-webpack",
          {
            "mainConfig": "./webpack.main.config.js",
            "renderer": {
              "config": "./webpack.renderer.config.js",
              "entryPoints": [
                {
                  "html": "./src/index.html",
                  "js": "./src/renderer.ts",
                  "name": "main_window",
                  "preload": {
                    "js": "./src/preload.ts"
                  }
                }
              ]
            }
          }
        ]
      ]
    }

My index.ts
/* other things */
const createWindow = (): void => {
  const mainWindow = new BrowserWindow({
    height: 700,
    width: 720,
    minWidth: 560,
    minHeight: 560,
    webPreferences: {
      preload: MAIN_WINDOW_PRELOAD_WEBPACK_ENTRY, /* it Works on start, but in production does not */
    },
    backgroundColor: '#eee',
    title: `Fechamento | Abertura de Bonus | Dev Danilo Souza | Versão ${app.getVersion()}`,
    icon: path.join(__dirname, 'assets', 'logo.ico')
  });

  mainWindow.loadURL(MAIN_WINDOW_WEBPACK_ENTRY);
};
/* other things */

Can anybody help me?
@MarshallOfSound @karlitos
For now, thanks!

It only says that I should use the variable MAIN_WINDOW_PRELOAD_WEBPACK_ENTRY but says nothing where it comes from and what should I do to initialize it.
Also it'd be very helpful to explain the magic behind the naming.

@evil-shrike Yes, I am also in the same situation, no idea from where these variables are coming or where to define these! Any help will be appreciated.

Hey Guys, it really IS described in the docs, but very hidden.
https://www.electronforge.io/config/plugins/webpack#project-setup

In your package.json
under config->plugins->renderer->entrypoints-Array, you need to add to the objects the property "preload":{"js":./src/preload.ts"}  ( if your preload file is located at  src/preload.ts).
the entrypoints-array-objects have a name-propertygiven - in the default-template it has the name:"main_window"

if you DON'T define the preload-script in the package.json then you only have by default only one variable autogenerated - MAIN_WINDOW_WEBPACK_ENTRY.
if you DO define the preload-script in the package.json, there will be 2 variables autogenerated for you now ( as described in the docs):
MAIN_WINDOW_WEBPACK_ENTRY and MAIN_WINDOW_PRELOAD_WEBPACK_ENTRY - prefixed with MAIN_WINDOW because you defined the entrypoint-name as "main_window" in your package.json.
in order to use these variable now in your index.ts / main-process-script they have to be declared upfront:
<<(index.ts)>>
declare const MAIN_WINDOW_WEBPACK_ENTRY: string;
declare const MAIN_WINDOW_PRELOAD_WEBPACK_ENTRY: string;
...
const mainWindow= new BrowserWindow({
    webPreferences: {
      preload: MAIN_WINDOW_PRELOAD_WEBPACK_ENTRY,

}})

<<(package.json)>>
"config": {
    "forge": {
      "packagerConfig": {},
      "makers": [
        {
          "name": "@electron-forge/maker-squirrel",
          "config": {
            "name": "my_new_app"
          }
        },
        {
          "name": "@electron-forge/maker-zip",
          "platforms": [
            "darwin"
          ]
        },
        {
          "name": "@electron-forge/maker-deb",
          "config": {}
        },
        {
          "name": "@electron-forge/maker-rpm",
          "config": {}
        }
      ],
      "plugins": [
        [
          "@electron-forge/plugin-webpack",
          {
            "mainConfig": "./webpack.main.config.js",
            "renderer": {
              "config": "./webpack.renderer.config.js",
              "entryPoints": [
                {
                  "html": "./src/index.html",
                  "js": "./src/renderer.ts",
                  "name": "main_window",
                  "preload": {
                    "js": "./src/preload.ts"
                  }
                }
              ]
            }
          }
        ]
      ]
    }
  },

To be honest, I do not understand why this is not pre-generated. At least, it would be nice to have something like that in the generated index.ts:
// This allows TypeScript to pick up the magic constant that's auto-generated by Forge's Webpack
// plugin that tells the Electron app where to look for the Webpack-bundled preload code (depending on
// whether you're running in development or production).
//
// This constant is only defined if a bundle for preload has been generated. In order to get it generated,
// preload needs to be defined as entry point. E.g. add
// "preload": { "js": "./src/preload.ts" }
// to the "entryPoints" in your package.json.
// declare const MAIN_WINDOW_PRELOAD_WEBPACK_ENTRY: string;


[FLINK-13249][runtime] Fix handling of partition producer responses b…

What is the purpose of the change
This PR fixes the problem in FLINK-13249 by ensuring that processing the partition producer response is not blocking any netty thread, but is always executed by the task's executor.
Does this pull request potentially affect one of the following parts:

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

Documentation

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

I opened this page long time no refresh, and just saw @pnowojski 's review after posting my review. Some common concerns are already proposed by him. :)

Thanks for the reviews @tillrohrmann @pnowojski @zhijiangW ! I address all your comments, and I think the current consensus with Till and Chesnay is to merge the fix without a test now because it comes up every now and then as unrelated problem in release testing. I would then directly start working on a test, but my feeling is that even as an I style test this is not going to be easy. Let's see...