feat(idle): disable deposit on paused pools

Description

Notice

[ ] Have you followed the guidelines in our Contributing guide?
[ ] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

Pull Request Type

[ ] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[ ] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[ ] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)

closes #
Risk

Testing

Engineering

Operations

Screenshots (if applicable)

Current dependencies on/for this PR:

develop

PR #4141   👈

This comment was auto-generated by Graphite.


Quieter less redundant build

Organize the Makefile a bit.
Don't do mkdir -p ... every time we tangle.
Let make tell us what it's doing (no need for @echo lines).

Hmmm, some weirdness going on with rebuilds I'm investigating.

weird rebuild issues are gone now


how to inference an image?

new to face recognition. Now I just want to inference an image, but I do not know run which py script in this repository.
Looking forward to your reply.
Thank you in advance.

The script compare.py will calculate the embeddings for a few images and that is one way to run inference.

@IvyGongoogle you can try the batch_represent.py script that I recently contributed.
It's under the tmp/ directory

@davidsandberg @RakshakTalwar  Thank you very much!

@RakshakTalwar @davidsandberg   I am trying to do inference on set of images using your script to incorporate facenet into Deep Video Analytics. However  it require pre-detected / cropped faces. I saw that there is an "align module" that uses MTCNN ported to tensorflow. Is it ready to use? And is there any test script demonstrating how to use it?
Thanks,

@AKSHAYUBHAT you would use the following script to detect and align using MTCNN, then you can run it through batch-represent
https://github.com/davidsandberg/facenet/blob/master/src/align/align_dataset_mtcnn.py

@davidsandberg @RakshakTalwar  when I run the script batch_represent.py, it shows error
 I tensorflow/core/common_runtime/local_device.cc:25] Local device intra op parallelism threads: 8 I tensorflow/core/common_runtime/local_session.cc:45] Local session inter op parallelism threads: 8 Loading trained model...  Traceback (most recent call last):   File "batch_represent.py", line 148, in <module>     main(parse_arguments(sys.argv[1:]))   File "batch_represent.py", line 95, in main     facenet.load_model(args.trained_model_dir, meta_file, ckpt_file)   File "../src/facenet.py", line 368, in load_model     saver = tf.train.import_meta_graph(os.path.join(model_dir_exp, meta_file)) AttributeError: 'module' object has no attribute 'import_meta_graph'
This problem seems to be about tensorflow.  How to solve this problem?
I use tf0.5. Do I have to use tf1.0?
Thank you very much.

Now I use tf0.9, but it shows error:
Segmentation fault (core dumped)
it seems to be a hidden error.
Do I have to use tf1.0?

@davidsandberg  @RakshakTalwar

@IvyGongoogle I was able to get it to work with tf0.12 as well, not sure if it'll work with 0.9

It works correctly with tf 1.0. One issue is that there is no way to set GPU memory percentage, I modified the script while incorporating. You can do something like this
        gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.15)
        sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options, log_device_placement=False))
        with sess.as_default():

Hi @davidsandberg @RakshakTalwar

which script has the infer function that will identify the class of given input image?
I tried compare.py, it only outputs the distances between given input images. Does not identify the class (person name in this case)
even if I use batch_generate.py, I will eventually need to call infer function for classification.

@davidsandberg @RakshakTalwar  I also need the script as @pandearti said above.

I have added a script 'classifier.py' that can train a small classifier on the facenet features. There is also a wiki page showing how to use it. Hopefully that will help.

@davidsandberg  thank you very much!


Add simple test for Python log_level function

As a follow-up from #118, to ensure the issue identified with log_level doesn't come up again, it would be simple to add a test that ensures a change on log level is set correctly. This would require exposing a getter function to log_level as well.

This is no longer necessary as log_level function has been removed

This is no longer necessary as log_level function has been removed


Use bilinear interpolation for rasters

Currently we are using nearest neighbor (the mapnik default) interpolation for the raster symbolizer:
https://github.com/mapbox/tilelive-vector/blob/master/templates/layer.xml#L21
Changing it to scaling="bilinear" will give better looking output tiles, which is especially important if we move towards resolution rounding as detailed here: https://github.com/mapbox/mapnik-omnivore/issues/133
cc @yhahn @springmeyer @perrygeo

:+1:
Also, while you are at it can you remove the <ElseFilter></ElseFilter> line. That is junk and not doing anything helpful. Just drop this: https://github.com/mapbox/tilelive-vector/blob/master/templates/layer.xml#L20

@yhahn brought up the fact that this might have some negative impact on performance. Has anyone done the benchmarks to see how much impact bilinear vs nearest has?
Clarifying question: is this RasterSymbolizer only put to use for overzoomed rasters?

Yes, bilinear scaling is more expensive than nearest as we have an optimized path in Mapnik for nearest: https://github.com/mapnik/mapnik/blob/master/src/image_scaling.cpp#L148-L166. So it is worth benchmarking. However I would not be surprised if benchmarking would not pick up a measurable difference.

Clarifying question: is this RasterSymbolizer only put to use for overzoomed rasters?

Best answered by @yhahn. Another question to keep in mind is "What is the impact when raster layers are composited serverside into a new vector tile with other layers". In this case we default to bilinear scaling: https://github.com/mapnik/node-mapnik/blob/master/src/mapnik_vector_tile.cpp#L922

:+1: for bilinear on aesthetics grounds. The perceived quality is considerably higher. People don’t get as mad at blur as they get at pixely-ness.

Based on @yhahn's test-fillzoom branch, I was able to test bilinear resampling in overzooms:

bilinear makes the images less blocky, more blurry as expected
It does not make any difference in terms of spatial alignment.

Here's the results for the current default

and for bilinear

and together in a gif (no shift here)

Here's the diff in case we decide to apply this (in map.xml, not layer.xml as written above)
diff --git a/templates/map.xml b/templates/map.xml
index 1158f3d..4ebc9e6 100644
--- a/templates/map.xml
+++ b/templates/map.xml
@@ -15,7 +15,7 @@

 <Style name="_image" filter-mode="first">
   <Rule>
-    <RasterSymbolizer opacity="1" />
+    <RasterSymbolizer opacity="1" scaling="bilinear" />
   </Rule>
 </Style>

@dnomadb this smells like it's related what's going on in https://github.com/mapbox/unpacker/issues/752: pixelated overview tiles.

I am going to test this out for performance + quality increase. Here are what I see are the steps:

[ ] Branch off and integrate bilinear resampling here
[ ] Integrate this into a branch of mapbox-maps
[ ] Publish this mapbox-maps branch as a -dev release
[ ] Bring this release into a branch of api-maps
[ ] Deploy this api-maps branch to staging
[ ] Benchmark this via bench
[ ] Inspect visual quality and weigh against results of ^ to decide whether this is :+1: / :-1:

I'll update this hitlist as I find all the parts I missed :D

Some node version problems with tilelive-vector tests: https://travis-ci.org/mapbox/tilelive-vector/builds/109968314

@perrygeo I've also seen those and they are a mystery still (https://github.com/mapbox/tilelive-vector/pull/119). They are therefore very unlikely related to your work and rather a problem we currently have in master.

Thanks @springmeyer - I'll ignore it for now.
I'm currently testing api-maps locally and hitting a seemingly unrelated failure: https://gist.github.com/perrygeo/ab4ddd9e7e54d68da33b
@dnomadb  Whaddya think? Move on and try it on staging regardless.

Move on and try it on staging regardless.

@perrygeo :+1:

So trying out these instructions to launch a staging stack for api-maps@bilinear I'm getting this error from the logs
[Thu, 18 Feb 2016 17:39:03 GMT] [info] [http] "GET / HTTP/1.1" 500 35 "-" "ELB-HealthChecker/1.0" "-" 24.810 ms
[Thu, 18 Feb 2016 17:39:08 GMT] [error] [default] ResourceNotFoundException: Requested resource not found
    at Request.extractError (/usr/local/src/app/node_modules/mapbox-core/node_modules/dyno/node_modules/aws-sdk/lib/protocol/json.js:43:27)
    at Request.callListeners (/usr/local/src/app/node_modules/mapbox-core/node_modules/dyno/node_modules/aws-sdk/lib/sequential_executor.js:100:18)
    at Request.emit (/usr/local/src/app/node_modules/mapbox-core/node_modules/dyno/node_modules/aws-sdk/lib/sequential_executor.js:77:10)
    at Request.emit (/usr/local/src/app/node_modules/mapbox-core/node_modules/dyno/node_modules/aws-sdk/lib/request.js:604:14)
    at Request.transition (/usr/local/src/app/node_modules/mapbox-core/node_modules/dyno/node_modules/aws-sdk/lib/request.js:21:12)
    at AcceptorStateMachine.runTo (/usr/local/src/app/node_modules/mapbox-core/node_modules/dyno/node_modules/aws-sdk/lib/state_machine.js:14:12)
    at /usr/local/src/app/node_modules/mapbox-core/node_modules/dyno/node_modules/aws-sdk/lib/state_machine.js:26:10
    at Request.<anonymous> (/usr/local/src/app/node_modules/mapbox-core/node_modules/dyno/node_modules/aws-sdk/lib/request.js:22:9)
    at Request.<anonymous> (/usr/local/src/app/node_modules/mapbox-core/node_modules/dyno/node_modules/aws-sdk/lib/request.js:606:12)
    at Request.callListeners (/usr/local/src/app/node_modules/mapbox-core/node_modules/dyno/node_modules/aws-sdk/lib/sequential_executor.js:104:18)
    message: Requested resource not found
    code: ResourceNotFoundException
    statusCode: 400
    retryDelay: 0
    status: 500
    url: /
    method: GET

And here's the full log. I haven't dug into reasons why, just deleted the stack until I have more bandwidth to dig in.

Picking this up again, now I'm getting errors on mbx create
$ mbx create bilinear
You are deploying branch 'bilinear' instead of 'master'. Are you sure? [Y/n] y
16:17:58Z us-east-1: creating stack api-maps-bilinear

/Users/mperry/work/mbxcli/node_modules/aws-sdk/lib/request.js:30
            throw err;
                  ^
Error: Cannot find module 'vpc-cfn'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/Users/mperry/work/api-maps/cloudformation/api-maps.template.js:2:14)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)

I'm mbx auth'd, I pulled, npm installed and linked the latest mbxcli and still getting this error.

Tested on api-maps@bilinear - no bueno. Trying round 2 by adding bilinear to templates.layer.xml as well as map.xml

Alright, so all the tests are broken and I'm confused about the distinction between layer.xml and map.xml but we've got some preliminary results
Looking at the mapbox.satellite tilejson we see a maxzoom: 19
So a standard 256 z19 tile should be the same, no overzoom. :heavy_check_mark:  while the 2x versions should differ. :heavy_check_mark:
$ diff 203882_1x_bilinear.png 203882_1x_default.png
$ diff 203882_2x_bilinear.png 203882_2x_default.png
Binary files 203882_2x_bilinear.png and 203882_2x_default.png differ

The difference is due to the bilinear interpolation. The current default

With bilinear

In terms of benchmarking for speed, I'm not sure bench is going to be very helpful as it's more likely to pick up differences in infrastructure than in the actual tile generation process. We need to reduce extraneous variables, not add them.
Still, bench makes it easy enough to run them so I started two stacks and ran bench:

api-maps@master: results show 2154.8 requests/s
api-maps@bilinear: results show 4052.4/s

Does this say that bilinear is twice as fast? No, more likely that the difference in network traffic or some other external variable.
Here's the invocations:
mbx watchbot queue '{"urls":["http://api-maps-bilinear-VPC-632541875.us-east-1.elb.amazonaws.com/v4/mapbox.satellite/{z}/{x}/{y}.png"]}' production
mbx watchbot queue '{"urls":["http://api-maps-notbilinear-VPC-1856557177.us-east-1.elb.amazonaws.com/v4/mapbox.satellite/{z}/{x}/{y}.png"]}' production

Per chat, ^^ the benchmarks above are benching the endpoint when it returns a 401 unauthorized response. Try rerunning the benchmarks with ?access_token=<token> in the URL and maybe check a 0/0/0 tile before running the bench as well to make sure the stack will serve images for the URLs in question.

Thanks @yhahn @dnomadb - updated results ^^^ - pretty close results. I'm gonna try with 2x z19 tiles only next.

Forcing z19 2x pngs

default/master = 78.8/s
bilinear = 74.4/s

mbx watchbot queue '{"minzoom":19,"urls":["http://api-maps-bilinear-VPC-632541875.us-east-1.elb.amazonaws.com/v4/mapbox.satellite/{z}/{x}/{y}@2x.png?access_token=pk.eyJ1IjoicGVycnlnZW8iLCJhIjoiY2lsOGd3dGRxMDAwYXN6bTBxemhnNm5lcyJ9.OJbdkgZOGRPRJZ0RZUpPCw"]}' production
mbx watchbot queue '{"minzoom":19,"urls":["http://api-maps-notbilinear-VPC-1856557177.us-east-1.elb.amazonaws.com/v4/mapbox.satellite/{z}/{x}/{y}@2x.png?access_token=pk.eyJ1IjoicGVycnlnZW8iLCJhIjoiY2lsOGd3dGRxMDAwYXN6bTBxemhnNm5lcyJ9.OJbdkgZOGRPRJZ0RZUpPCw"]}' production

So, discounting extraneous variables, it looks like bilinear adds about 5% to the response time. Not horrible. We could go deeper to try to really isolate the rendering times sans network but let's stick with that rough assumption for now.

Liking what we're seeing so far with bilinear! Smoother edges on buildings, and an easing of the columning effect in color elsewhere.
Default on left // Bilinear on right:

like buttah

Y, I think it's an improvement and it certainly smooths out a lot of the artifacts of compression and overzooming.
The :moneybag: question: Is the visual improvement big enough to justify moving forward?
Pros:

less grainy, more smoothy
less noticable artifacts

Cons:

the lift to merge, update test suites, cut releases and deploy.
the slight 5% performance hit
only impacts imagery that is actually overzoomed (IOW zero difference for mapbox.satellite at 256px z19 tiles)
a bit of an unknown how/if this will affect other renders like user-uploaded rasters and other tilesets (this is mostly reflecting my own ignorance of the system)


TableDocElement shouldn't render anything if the items are empty

If the items of the TableDocElement are empty, the table shouldn't render anything. Alternatively, it should be configurable whether an empty table should still be rendered (default: false).

Not sure about this issue. In my opinion it's the responsibility of the client if the table should be rendered or not. If there are no elements to be displayed it's possible to omit the creation of TableDocElement entirely.
I can think of cases when you want to show explicitly that there are no elements in a certain table.
Yes, we can make it configurable, but do we win anything compared to an if in the client's code?

I would say that it would be just a convenient function, but I agree that such a behaviour is not available for component in other areas (web or desktop frontends). Therefore I withdraw this issue.


set ipro to offline mode

Hi Toshi,
A new branch with the offline mode flag set. If you want to pull, it here's the PR.

Hi Dan,
Thank you for your suggestion!


Neo Ir Controller Can't add child device

This form is for reporting bugs.  If you have encountered a bug, you should
generally have some log messages or device diagnostics to show something is
going wrong.  If your problem is more of a question or a request for help,
then Discussions is
probably a more suitable venue.
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior including the device the issue was observed with:
Expected behavior
A clear and concise description of what you expected to happen.
Additional context
Add any other context about the problem here.
If the bug involves a device, then please include device diagnostics from
Settings / Devices & Services / Tuya Local (your device) / "1 device"
Please check if there are messages from Tuya Local in the Home
Assistant log (Settings / System / Logs), and include those too.
If applicable, add screenshots to help explain your problem.
When adding the device with a sub device, it says it's unable to add or there's intermittent attempts and all cancels.
Adding the device alone works. It even controls it right, although the fan only and auto modes don't work. Configuring the sub device after
adding the device alone does not work either. It says the same error.
This is the error that appears in the log. Although i don't think it is the correct one.
Logger: homeassistant.bootstrap
Source: bootstrap.py:508
First occurred: 08:33:26 (1 occurrences)
Last logged: 08:33:26
Waiting on integrations to complete setup: tuya_local

The Neo device is designed to provide the interface to a climate device on the main device without using sub devices.
There is a general problem with detection of IR sub devices, as they do not return any data to Home Assistant, they are command only.  Currently the detection logic relies on data coming back from the device, but in this case it does not matter because the sub-device is not needed.


Added logging for content filter

[ ] I have added tests that cover my changes.
[ ] If adding a new instrumentation or changing an existing one, I've added screenshots from some observability platform showing the change.
[ ] PR name follows conventional commits format: feat(instrumentation): ... or fix(instrumentation): ....
[ ] (If applicable) I have updated the documentation accordingly.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks @dtee1 but I think we already wrap everything with a try-catch and log an exception (see the @dont_throw annotation)

Thanks @dtee1 but I think we already wrap everything with a try-catch and log an exception (see the @dont_throw annotation)

Ok sounds good. I can take that out. Would you rather I just log the warning in an else?

Thanks @dtee1 but I think we already wrap everything with a try-catch and log an exception (see the @dont_throw annotation)

Ok sounds good. I can take that out. Would you rather I just log the warning in an else?

We also log there 😀

Thanks @dtee1 but I think we already wrap everything with a try-catch and log an exception (see the @dont_throw annotation)

Ok sounds good. I can take that out. Would you rather I just log the warning in an else?

We also log there 😀

Ok, how is the fix #855 supposed to be implemented? Maybe I missed something

@dtee1 so when calling azure it may filter the response returned from the model if it contains harmful text, see https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/content-filter?tabs=warning%2Cpython-new
We should add attributes to the span according to those returned from azure in this case.

Superseded by #1539


Building for Windows from OSX

Hi!
I'm building from an OSX environment, using Electron v1.8.7
I've been able to successfully build my electron app for OSX with node-sqlcipher, but when I try to build for Windows I get the following error:
Uncaught Error: The specified module could not be found.
\\?\C:\Users\USER_NAME\AppData\Local\Temp\0729404d-1f94-4f70-b897-4282e4d00c92.tmp.node
    at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:172:20)
    at Object.Module._extensions..node (module.js:598:18)
    at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:186:18)
    at Module.load (module.js:503:32)
    at tryModuleLoad (module.js:466:12)
    at Function.Module._load (module.js:458:3)
    at Module.require (module.js:513:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> ([FILE_PATH]\resources\app.asar\node_modules\@journeyapps\sqlcipher\lib\sqlite3.js:4:15)
    at Object.<anonymous> ([FILE_PATH]\resources\app.asar\node_modules\@journeyapps\sqlcipher\lib\sqlite3.js:190:3)

In my build command, I am using electron-builder install-app-deps --platform=win32 && cross-env BUILD_TARGET=win32 before executing my build. This was required to build platform-dependent binaries and get other modules working across platforms (e.g. keytar, sqlite3)
If it is any help, in<EMAIL_ADDRESS>I can see the following:

libeay32.dll
msvcr120.dll
node_sqlite3.node

which makes me think the binaries are there but aren't being included in the build?
Any help massively appreciated!

FYI, I have openssl installed via brew

I've just tried extracting app.asar, and can also see the file listed above included in the asar package

And, I've just confirmed that the module that ''can't be found', does actually exist, i.e;
C:\Users\USER_NAME\AppData\Local\Temp\0729404d-1f94-4f70-b897-4282e4d00c92.tmp.node

I figured it out! I just needed to copy libeay32.dll into the electron build directory
Hope this was helpful to someone, otherwise it was just a weird conversation with myself

While it's not explicitly supported to cross-compile, it does seem like you have found a workaround. Closing this issue.


feat: local variables

resolves #85
Add ability to go to local variable definition and references.
Correctly processes variables in 'cond' and defined with 'destructure'

Here is preview
https://github.com/elixir-tools/next-ls/assets/190730/ee4c822f-56be-47e5-af91-91faa9a1b8c8

After we merge this, can you create tracking issues for the remaining TODOs?

After we merge this, can you create tracking issues for the remaining TODOs?

Yes, I created issues #261 and #262. First one is probably liked to issue Can't find references of the contents of an inline function #184, as you mentioned before.


kanshi crashes: invalid arguments for<EMAIL_ADDRESS>

kanshi crashes with:
wl_display@1: error 1: invalid arguments for<EMAIL_ADDRESS>
I assume this is another issue that will be fixed by swaywm/wlroots#1765 but I wanted to document the issue.

Duplicate of https://github.com/emersion/kanshi/issues/55


in-band key rotation not working with Xbox One

Have you read the FAQ and checked for duplicate open issues?
Yes
What version of Shaka Player are you using?
3.1.2 with customizations
Can you reproduce the issue with our latest release version?
Yes with 4.1.2
Can you reproduce the issue with the latest code from main?
Yes tested with main branch commit 25fd4f4a from 8/9/2022
Are you using the demo app or your own custom app?
Custom app
If custom app, can you reproduce the issue using our demo app?
I have not been able to get the demo app to run on the Xbox
What browser and OS are you using?
Xbox One
For embedded devices (smart TVs, etc.), what model and firmware version are you using?
Xbox One S - OS version 10.0.22000.4976
What are the manifest and license server URIs?
Will send via e-mail
What configuration are you using?  What is the output of player.getConfiguration()?
see  attached file configuration.txt
What did you do?
Playing stream with in-band key rotation signaled with a new KID in the moof/traf/sgpd box
Keys change every 10 minutes
What did you expect to happen?
Playback should continue through key changes uninterrupted, and we should see DRM license requests.
What actually happened?
When the key changes playback fails with an error like this
Shaka Error MEDIA.VIDEO_ERROR (5,8004b82b,)","code":3016,"category":3,"data":[5,"8004b82b",null]
The same stream works as expected with 2017 Samsung TV and Chrome on Mac
Debug log
RemconAvc_20220811_1130.log
Charles proxy capture of manifest, media-segment and license requests at stream start and point of failure
AvcInBandKeyRotation_20220811_1130_pruned.chls.zip
key change occurred on segment number 830119800
segment SpecNews_AVC-audio_105285_spa104800-830119799.m4s
has KID is eb36782fac245385b789bce12011a9e2
segment SpecNews_AVC-audio_105285_spa104800-830119800.m4s
has KID is 6624cf9f8a15598e91435cad17613e70

The same stream works as expected with 2017 Samsung TV and Chrome on Mac

Chrome on Mac uses Widevine rather than PlayReady.  On Samsung TV, which DRM are you using?
Looking through your log file, I see license requests sent at these times:

11:31:34.733
11:31:40.155

And the error at this time:

11:40:08.545

The requests that are 6 seconds apart are for two different sessions, and both are of type license-request.  The error is 8.5 minutes after the license request.
What is the key rotation period?
What is the structure of the keys and tracks?  (For example, one set of keys for video, one for audio, or one set for SD video, one for HD, one for UHD, etc.)
Thanks!

We use playready on Samsung TVs
Keys rotation occurs every 10 minutes, starting on the hour, then at 10 past etc...
Still trying to get a definitive answer on use of track specific keys

I'm not sure why we are getting two license requests, at startup. It looks like the same KID is used in all init and media segments fetched prior to the second key request
In the init segments default_KID in moov.trak.mdia.minf.stbl.stsd.encv.sinf.schi.tenc is eb36782fac245385b789bce12011a9e2
In the media segments KID in moof.traf.sgpd is the same value eb36782fac245385b789bce12011a9e2

Based on the timing of the error, the key rotation period, and the fact that the license requests were grouped early in the session, I would guess that we're not fetching the next key for the next key rotation period.
This should be done through encrypted events, which are triggered whenever a media segment is appended which contains one or more pssh boxes.  We only listen to the encrypted event if there is no PSSH in the manifest, or if the configuration manifest.dash.ignoreDrmInfo is set to true.
So either we're not listening to the event, or it didn't happen.  I see that your config has ignoreDrmInfo set to false.  If your manifest has PSSH info in the XML, please set this config to true.
If that doesn't work, please check that in your content, either:

there is a new init segment at key rotation period boundaries, and each init segment contains a PSSH box
or the media segments are self-initializing, and new PSSH boxes appear in new key rotation periods
or the media segments in new key rotation periods contain new PSSH boxes independent of other init segment data (not sure if this is a thing, but I think it might work with the logic of the browser's encrypted events)

Does this help?

The manifest does not contain PSSH
I think this approach is used -

or the media segments in new key rotation periods contain new PSSH boxes independent of other init segment data (not sure if this is a thing, but I think it might work with the logic of the browser's encrypted events)

Note that this stream does work as expected on 2017 Samsung TV and Chrome on Mac OS
I have attached a Charles  Proxy capture containing the manifest and media segments in the vicinity of the key change at segment number 830119800

My guess is that the Xbox is not emitting the encrypted event in this situation. Is it feasible to detect the key change by parsing the PSSH in the media segments in shaka player?

Yes, it's entirely possible that Xbox is not generating encrypted events.  EME on Xbox seems pretty broken.
We could "polyfill" that by parsing for PSSH ourselves.  We already have the parser.  I would be more than willing to review a PR to add something like that.
I haven't thought through where that would best be added, but segment data doesn't pass through DrmEngine today.  So it would need to touch DrmEngine as well as either StreamingEngine or MediaSourceEngine.
I think it could be made generic, with a config to decide whether to use browser encrypted events or local parsing.  That config could be made to default to true for Xbox.

My guess is that the Xbox is not emitting the encrypted event in this situation. Is it feasible to detect the key change by parsing the PSSH in the media segments in shaka player?

@caridley, would you be willing to work on a PR for this?

Yes.. I should be able to start on this next week.

Thanks!


chore: add arrow

Text file 'arrow' in pull request 193 has 6 lines. The file must have exactly 1 line unless it contains custom JSON (which is uncommon).
This pull request has been marked for manual review. Please either wait for an R-multiverse moderator to review, or close this pull request and open a different one which passes automated checks.

R-multiverse currently in a testing/development stage where we are trying to host a small number of packages, so we are excluding most CRAN packages for the time being. Sorry about that.

Given that arrow was almost excluded from CRAN a few months ago and that there are currently problems with binary builds on CRAN, it is worth including here.

@wlandau @shikokuchuo Considering the importance of the arrow package, could you please rethink this?
Not long ago the https://github.com/apache/arrow repository did not create releases so the strategy of pinning in the R-universe did not work, but now I believe it does.

Thanks. We are definitely much further advanced now so I think the 'for the time being' no longer applies.
In any case, responding to a specific need from the community is in line with the project goals.

Thanks!


Generate documentation screenshots on-demand

Minimum requirement:
Only run seed data and take screenshots for README.md on demand, maybe with an environment variable.
Nice to have:

Automate the process, perhaps with a Github Action?
Maybe keep the test as is but instead of taking a screenshot we run visual diffs.

:tada: This issue has been resolved in version 0.3.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


img2img History

I like this extension. I would suggest to add functionality to store the history of the img2img. You could store the image as a hash value if needed. I look forward to your updates!

I like this extension. I would suggest to add functionality to store the history of the img2img. You could store the image as a hash value if needed. I look forward to your updates!

thanks, yah I thought about it, but I want to improve other functionality first before working on other areas.
e.g: currently I'm working on pagination and a few options for saving as thumbnails instead of full-size images, base64 image is ok but it is just heavy to store as json.


fix: removed feed_algorithm

1. Description

1.1. Checklist

[ ] The title of my PR starts with a Conventional Commit prefix (fix:, feat:, docs: etc).
[ ] I have read the Contributor Guide and followed the process outlined for submitting PRs.
[ ] I have updated/added tests for ALL new/updated/fixed functionality.
[ ] I have updated/added relevant documentation in docs and added dartdoc comments with ///.
[ ] I have updated/added relevant examples in examples.

1.2. Breaking Change

[ ] Yes, this is a breaking change.
[ ] No, this is not a breaking change.

1.3. Related Issues

Codecov Report

Merging #366 (9efaff3) into main (c7a2b02) will not change coverage.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@           Coverage Diff           @@
##             main     #366   +/-   ##
=======================================
  Coverage   70.07%   70.07%
=======================================
  Files         136      136
  Lines        1213     1213
=======================================
  Hits          850      850
  Misses        363      363

Impacted Files
Coverage Δ

packages/bluesky/lib/src/feeds/feeds_service.dart
93.33% <ø> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


refactor:  register commands based on the order of redis commands

I sort the register commands based on https://redis.io/commands to help we find the missing impl commands from redis and develop it.

How can we tell if a command is in its right place?

I find the command list inhttps://kvrocks.apache.org/docs/supported-commands/ is ordered with redis commands. So the PR is needless and I close this. @git-hulk


"Stop" command should stop all current skills

If a skill has ongoing behavior (playing music, reading news, etc.), it should be stopped by a "stop" (aka $stop;) command.
This matches the Alexa behavior.

This was implemented in #552. It needs corresponding changes in Spotify though.


Circleci project setup

Checklist

[ ] documentation is added or updated
[ ] tests are added or updated

Approved by Nathan on Zoom


feat(docs): Improved contributing guide

This new contributing guide includes a lot of changes and a lot of additions. First it changes
the CONTRIBUTING.md to be a pointer into the contributing guide in the docs because of its new size
and level of detail.
Secondly, instead of having one page for the contributing guide, there's a new section for it
with its pieces inside.

The new contributing guide includes two extra things that I've found are helpful, that other
projects include it themselves:

A codebase overview

Mentioning how we do things, what tools we use and how our files are structured

A step-by-step of the development workflow,

As for the two sections that we had before for Opening issues and Opening pull requests,
they are now pages in the docs. To them, I've also added things that I think are really
important, that might guide people coming across it to do better work.
Opening issues section

Codebase overview section

Opening pull requests section

The staging deploy also worked out, if anyone wants to check it out https://react-email-feat-improved-contributing-guide.mintlify.app/contributing/opening-issues.

The staging deployment looks great, especially for first time contributors (like myself). Is there a plan for when this will go live?


Compilation error: "‘dof_’ was not declared in this scope"

The following error was thrown during compilation. (Ubuntu 20.04)
/home/kvasios/tiny-differentiable-simulator/examples/../src/urdf/../multi_body.hpp:97:17: error: ‘dof_’ was not declared in this scope; did you mean ‘dof’?
97 |     conv.dof_ = dof_;
|                 ^~~~
|                 dof
/home/kvasios/tiny-differentiable-simulator/examples/../src/urdf/../multi_body.hpp: In constructor ‘tds::MultiBody::MultiBody(const tds::MultiBody&)’:
/home/kvasios/tiny-differentiable-simulator/examples/../src/urdf/../multi_body.hpp:371:9: error: class ‘tds::MultiBody’ does not have any field named ‘dof_’
371 |         dof_(mb.dof_),
|         ^~~~
make[2]: *** [examples/CMakeFiles/tiny_urdf_parser_example.dir/build.make:63: examples/CMakeFiles/tiny_urdf_parser_example.dir/tiny_urdf_parser_example.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:901: examples/CMakeFiles/tiny_urdf_parser_example.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:141: all] Error 2

It works! Thanks!


Rocket spawn in spacestation at lvl 0 (video)

Hi
AR 0.9.1 (on server)
Like you can see on video when rocket (with id spacestation 2 in copputer gui.) go in to space station without player then rocket spawn on position y=0. Dpcking port is empty (x and z rocket position is correct but y is 0)
btw. first space station dimension (-2 id) was created with AR 0.8.1
Video    (look at 26:00 min)

Does it persist through logging out and back in?

Also are you creating the space station or just sending a rocket to an existing one?

@zmaster587 i just replicated the problem ennekpl had. its not the rocket spawning in the space station. and he was sending it to an existing space station ill upload some pics of of my rocket! and i can only get this to happen with cargo rockets that r unmanned!

That previous commit should have fixed it.

oh ok

should i openan issue with the warp core and controller?

sorry im a bit excited atm.

You can, but at least what is posted on the forum is not enough info to go by.  I need to know what you did, what you expected to happen, and what went wrong.


Update request: build2 0.15.0 → 0.16.0

Package name: build2
Latest released version: 0.16.0

Current version on the unstable channel: 0.15.0
Current version on the stable/release channel: 0.15.0

[x] Checked the nixpkgs pull requests

Notify maintainers
@vale981
@r-burns

Note for maintainers: Please tag this issue in your PR.

working on it. let's see if I get it done today :P

Still working on this? Happy to take over if you're busy with other stuff.

i got some things working but it died off half-way through
here's what i've got so far: https://github.com/vale981/nixpkgs/tree/update_build2


libtock: Consistent error code for Invalid exit

When reviewing #170, I noticed that there's a mix of 1 and -1
used to express the same error (I think)?
Looks like this came as part of the big batch change in 77e90c1f.
@phil-levis Did you have a reason for some of these being 1 and some -1?

In the kernel, the exit syscall parameters are represented as the following (source):
    /// Structure representing an invocation of the Exit system call
    /// class. `which` is the exit identifier and `completion_code` is
    /// the completion code passed into the kernel.
    Exit {
        which: usize,
        completion_code: usize,
    },

Based on that (and also in line with us using strictly positive error codes across the system call boundary, see this comment) I'd argue it would be good to just follow the POSIX convention of 0 for generic success and higher, positive values for specific error conditions or other specialized exit values.

Flipped to consistent 1's instead of -1's

bors r+


SP5 Controls: Refactor Interaction and Menu

This PR significantly modifies how users customize mouse actions and context menu items, making it far easier than previously. See the WinForms demo for details.
Custom Right-Click Menu
// add a custom action to the right-click menu
formsPlot1.Menu.Add("Add Scatter", (formsplot1) =>
{
    formsplot1.Plot.Add.Scatter(Generate.RandomCoordinates(5));
    formsplot1.Plot.Axes.AutoScale();
    formsplot1.Refresh();
});

Custom Mouse Interactions
ScottPlot.Control.InputBindings customInputBindings = new()
{
    DragPanButton = ScottPlot.Control.MouseButton.Middle,
    DragZoomRectangleButton = ScottPlot.Control.MouseButton.Right,
    DragZoomButton = ScottPlot.Control.MouseButton.Right,
    ZoomInWheelDirection = ScottPlot.Control.MouseWheelDirection.Up,
    ZoomOutWheelDirection = ScottPlot.Control.MouseWheelDirection.Down,
    ClickAutoAxisButton = ScottPlot.Control.MouseButton.Right,
    ClickContextMenuButton = ScottPlot.Control.MouseButton.Left,
};

ScottPlot.Control.Interaction interaction = new(formsPlot1)
{
    Inputs = customInputBindings,
};

formsPlot1.Interaction = interaction;

I still question whether IPlotInteraction is a necessary interface to keep, but that structure can be refined later

I still question whether IPlotInteraction is a necessary interface to keep, but that structure can be refined later

The main use case I had for IPlotInteraction was when I needed a single interaction to control several plots. In this case I had too many scatter plots (14) to display on a single chart. To make them still easily comparable with many plots vertically stacked, I need all interactions to update all the other plots. To me it felt wrong to expand the existing Interaction because fundamentally it expects a 1:1 relationship with a plot, whereas I needed a different kind of relationship. If you think there's a better way to write this kind of interaction I'm interested to hear your thoughts, but I will always be an advocate for using an interface if possible :)

Hi @albyoo, thank you for commenting about your use case! The ScottPlot 5 WinForms demo shows how to connect multiple plot controls together. I suspect this is a simpler way to get the effect you're looking for, but if you're unable to achieve this you can open up an issue and we can explore the topic and come up with a better strategy 👍
https://github.com/ScottPlot/ScottPlot/blob/f3d3af7936f09f4e944fcd6cb68d7c4cbf91cb28/src/ScottPlot5/ScottPlot5 Demos/ScottPlot5 WinForms Demo/Demos/SharedAxes.cs#L1-L58

... basically the recommended strategy is to tie into each plot's RenderManager.AxisLimitsChanged event and when it's fired use that opportunity to update the axis limits for all other plots


Cancellable forEach

Adds cancellation semantic to forEach, by allowing a Subscription to be passed as a sort of cancellation token.
Adds documentation
Fixes some bad tests
Deprecation deprecates passing PromiseCtor to forEach. (That can be configured globally, and I'd like to remove it for v7)

Behavior Described
You can read the docs in the PR for this, but basically:
If you call forEach with a second argument that is a Subscription, that subscription will act as a cancellation token, such that if you unsubscribe from it, the forEach's returned promise will reject with an Error with the message Observable forEach unsubscribed. This is done, so there's a way to gracefully handle cancellations in async-await code, and I think provides a better alternative to takeUntil in those use cases.

@cartant ... I'm having it reject with an ObjectUnsubscribedError... it seemed fitting and it already existed.

What I am worried about is forward compatibility with whatever cancellation primitive makes it into the spec. We already have AbortSignal in the DOM spec, and there is ongoing work to get a primitive into ES, which I would love love love to see supported seamlessly in rxjs.

What I am worried about is forward compatibility with whatever cancellation primitive makes it into the spec

I'm not worried about this in the slightest. We can deprecate and pivot if we need to, but honestly, I have yet to see a proposal or cancellation type that isn't compatible with what we have here. The committees are slow, and unlikely to pass anything related to any of this. CancellationToken failed once. Observable is stuck at stage 1 forever.


add option to modify/remove nodeSelector on running VMI

Is this a BUG REPORT or FEATURE REQUEST?:
/kind enhancement
What happened:
There is no way to modify/remove nodeSelector without restarting VM, because editing VMI objects is restricted.
What you expected to happen:
Is it possible to make nodeSelector field as mutable? It can be very useful for live migration (especially during node maintenance).

/kind enhancement


npm NOT install in windows10

`(venv) C:\pycharm\duty\web>npm install
npm WARN deprecated<EMAIL_ADDRESS>🙌  Thanks for using Babel: we recommend using babel-preset-env now: please read babeljs.io/env to update!
npm WARN deprecated<EMAIL_ADDRESS>This package is deprecated. Use Array.isArray.
npm ERR! code 128
npm ERR! Command failed: C:\Program Files\Git\cmd\git.EXE submodule update -q --init --recursive
npm ERR! fatal: 'submodule' appears to be a git command, but we were not
npm ERR! able to execute it. Maybe git-submodule is broken?
npm ERR!
npm ERR!      C:\Users\irip\AppData\Roaming\npm-cache_logs\2018-04-18T15_13_02_007Z-debug.log
(venv) C:\pycharm\duty\web>
`

Maybe git-submodule is broken?
Have you checked?

We had no trouble installing vuestic on a number of environments (win 10, ubuntu, ios).

Packages using the git submodule command appear to exist. Make sure that git is installed properly in the terminal environment you have run.


Build user-defined package.json before bundled package.json

Possible fix for Meteor 1.3 support #78

This is no longer needed because of updates a long time ago to Meteor 1.3


Discussing and laying out API endpoints

Link to Google Sheets that houses our proposed API endpoints, will transfer them over to the wiki once they are done so they can be fully documented outside of just looking at the source code:
https://docs.google.com/spreadsheets/d/1-FnU9ilG1Z28ZnQSYfiXnA7wx6j7RLANFqMnGyQrICE/edit?usp=sharing

Thank you for documentation, this is enough to close issue.

(backend) - API Endpoints


Vaesen - Vaesen_Sheet - Fixed NPC Tab, Added Capital

Submission Checklist
Required

[ X ] The pull request title clearly contains the name of the sheet I am editing.
[ X ] The pull request title clearly states the type of change I am submitting (New Sheet/New Feature/Bugfix/etc.).
[ X ] The pull request makes changes to files in only one sub-folder.
[ X ] The pull request does not contain changes to any json files in the translations folder (translation.json is permitted)

New Sheet Details

The name of this game is: <   >  (i.e. Dungeons & Dragons 5th Edition, The Dresden Files RPG)

The publisher of this game is: <   > (i.e. Wizards of the Coast, Evil Hat)

The name of this game system/family is: <   > (i.e. Dungeons & Dragons, FATE)

[ ] I have followed the Character Sheets Standards when building this sheet.

[ ] This sheet has been made on behalf of, or by, the game's publisher.
[ ] This game is not a traditionally published game, but a copy of the game rules can be purchased/downloaded/found at: <   >
[ ] This sheet is for an unofficial fan game, modification to an existing game, or a homebrew system.

Changes / Description

This is my first work on the sheet. Previously: NPC Sheet didn't skills and health didn't function.
Updated NPC skills to work like PC skills
Added NPC Toughness mechanics. Integrated them to properly apply to skills automatically.
Updated equipment modifiers to be separate from additional modifiers (PC, NPC, and Vaesen)
Made additional modifiers an optional prompt (PC, NPC, and Vaesen)
Modified PC conditions to clarify that 'Broken' is a special condition
Added Capital next to Resources for PC
Added functionality to reset Capital based on Resources for PC
For clarity on PC and NPC - Split skills into four separate groups and removed their attribute
Grammar: Changed "modificator" to "modifier and "amount of dices" to "dice pool"

Character Sheet Info Roll20 Internal Use only.


minor: release V1.0.15

Codecov Report

Merging #171 (e565989) into V1.0.X (dd246aa) will decrease coverage by 36.62%.
The diff coverage is 25.27%.

@@             Coverage Diff             @@
##           V1.0.X     #171       +/-   ##
===========================================
- Coverage   53.62%   16.99%   -36.63%
===========================================
  Files         182      182
  Lines        8853     8909       +56
===========================================
- Hits         4747     1514     -3233
- Misses       4106     7395     +3289

Impacted Files
Coverage Δ

...pps/gsekit/adapters/base/pipeline_managers/base.py
26.74% <0.00%> (-0.32%)
:arrow_down:

apps/gsekit/job/handlers.py
0.00% <0.00%> (-39.10%)
:arrow_down:

apps/gsekit/meta/handlers.py
0.00% <0.00%> (-47.92%)
:arrow_down:

...kit/pipeline_plugins/components/collections/gse.py
39.02% <0.00%> (-0.20%)
:arrow_down:

apps/gsekit/pipeline_plugins/signals.py
0.00% <0.00%> (-26.83%)
:arrow_down:

apps/utils/mako_utils/visitor.py
0.00% <0.00%> (-43.48%)
:arrow_down:

.../gsekit/adapters/base/pipeline_managers/process.py
28.98% <22.50%> (-3.71%)
:arrow_down:

apps/gsekit/meta/models.py
56.09% <45.45%> (-3.91%)
:arrow_down:

apps/gsekit/constants.py
100.00% <100.00%> (ø)

apps/gsekit/job/models.py
59.76% <100.00%> (-10.90%)
:arrow_down:

... and 108 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 09e29df...e565989. Read the comment docs.


fix(vertical-nav): vertical nav accesibility

Closes #3575, #3574
Signed-off-by: Andrei Constantin<EMAIL_ADDRESS>PR Checklist
Please check if your PR fulfills the following requirements:

[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)
[ ] If applicable, have a visual design approval

PR Type
What kind of change does this PR introduce?

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] clarity.design website / infrastructure changes
[ ] Other... Please describe:

What is the current behavior?

Issue Number: #3575 , #3574
What is the new behavior?
Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information

This one is a clone of #3835, which already had some reviews.

Fix verified on https://clarity.design/documentation/vertical-nav/collapsible-nav/normal


Fix broken link

Link to "Azure AD Connect: Design concepts" leads to 404.

I guess there should not be a direct link to docs.microsoft.com, but the redirection link is broken and doesn't lead to https://docs.microsoft.com/en-us/azure/active-directory/hybrid/plan-connect-design-concepts

@JohanFreelancer9 Copy editing is needed for this PR. Thanks.

@CarolynRowe PR has been copyedited and is ready for final review, could you please check and merge? Thanks!


Adds the ability to allow public signup without invite code (retry)

Introduces new ENV variable SKIP_INVITATION_CODE, intentionally
phrased in the negative so that the absence of the variable
will not change the behavior of existing deployments.
Useful if deploying a hosted version of Huginn where you want people to be able to sign up without
an invitation code.

Thanks @TildeWill!


Vue overwrites range input value attr supplied by DOM if it is outside of default threshold min/max threshold of 0-100

Version
2.6.6
Reproduction link
https://jsfiddle.net/kvwsmnc6/1/
Steps to reproduce
I created this scenario by adding Vue.js into an existing project – which for the most part involved wrapping the main content with the normal

 ... this for the most part works with no side effects and I can write Vue components – however, a range slider I have was mysteriously changing on page load – and this is the reason why.
What is expected?
Vue should respect the value attr regardless of whether it is outside of the bounds of the default min/max threshold
What is actually happening?
Vue sets the value to 100 if it is >100

I appreciate this may be down to defacto Vue behaviour i.e. not caring about value's passed from the DOM ... and/or lack of support for the min/max values by the default input component? (my guess) – but the resulting behaviour feels broken to me – I don't expect to be forced to convert this range slider into a custom Vue component to prevent this behaviour – or ignore the input element in the App component definition.

I made the example better by sticking a delay in before loading Vue:
https://jsfiddle.net/kvwsmnc6/2/
And I noticed that default browser behaviour is that values >100 or not accepted because of the default min/max.
So I suspect this does boil down as I said to "Vue does not support range min/max" – the only slider that is actually behaving unlike the browser default is the last one in my example, where min and max are supplied.

Updated to reflect above:
https://jsfiddle.net/kvwsmnc6/3/

I imagine this is the reason this happens https://github.com/bootstrap-vue/bootstrap-vue/pull/1767

There are many things going on here, first it seems to be browser related, as it doesn't happen on Safari. On chrome it seems the value is coerced to 100 by the browser. When providing the min/max attributes, the order matters because if the value is set before max, it will have a default max of 100 on Chrome (apparently), so doing
<input type="range" min="0" max="1000"  value="200">

will fix the problem
I'm not sure we should workaround this. It's already very weird for Chrome to setup a default of 100 but I haven't checked the spec on this

Wow, can confirm that  reordering the attributes does workaround the problem, and you're right, it doesn't happen in Safari.

yep, reordering works for me. Thanks @posva

what's yout chrome version? it's alright for me.


Example Project?

Do you have an example project that shows, in the simplest manner possible, how to set up a webpage to use this project?
I am new to the pjax concept, as well as require.js, and there seem to be a lot of intermediate steps missing that describe how to set up your require calls in order to correctly load and call the pjax project's dependencies.  A simple example project with two html pages showing the basic pjax loading functionality would answer all these setup questions.
Thank you.

This library is commonjs only (browserify, webpack).
If you want to use it in another env (amd, global) you will need to build a standalone build (using browseirfy --standalone Pjax index.js > Pjax.js)

Thank you.  That was the exact information I needed.  I find this library to be much more flexible than jquery-pjax, and making a standalone build of 0.1.4 works perfectly.


Support recover Julia's original type

This PR resolves https://github.com/yebai/Turing.jl/issues/133 by converting back Sample to Julia's original type.
Some test cases for the supported format can be seen in the test file: https://github.com/yebai/Turing.jl/blob/chain-interface/test/chain_utility.jl

This is cool. Does this PR handle general cases, like nested arrays?

Yes I think so.
I tested a lot of cases in the Sample level (see https://github.com/yebai/Turing.jl/blob/chain-interface/test/chain_utility.jl). But only did a test in a model level using the Bayesian HMM one (https://github.com/yebai/Turing.jl/blob/chain-interface/notebooks/BayesHmm.ipynb now uses your code for plotting).
I guess that's fine because Chain just does the conversion for each Sample?


Added missing const qualifier to basic_packet_variant bool operator.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (97a235a) 89.03% compared to head (1491228) 89.03%.

Additional details and impacted files

@@           Coverage Diff           @@
##             main     #118   +/-   ##
=======================================
  Coverage   89.03%   89.03%
=======================================
  Files          95       95
  Lines       10322    10322
=======================================
  Hits         9190     9190
  Misses       1132     1132

Files
Coverage Δ

include/async_mqtt/packet/packet_variant.hpp
85.00% <100.00%> (ø)


Add Qwen2.5

Today, I'm excited to introduce the latest addition to the Qwen family: Qwen2.5.

Qwen2.5: 0.5B, 1.5B, 3B, 7B, 14B, 32B, and 72B
Qwen2.5-Coder: 1.5B, 7B, and 32B on the way
Qwen2.5-Math: 1.5B, 7B, and 72B.

Appreciate!


bug: report.tsx cannot render dependencies with new model definitions

Dependencies on the report is now a map of deps when the UI is expecting them to be an array

fixed in https://github.com/es-maintenance/package-inspector/pull/43


Demographic Choropleth Layers

We want to make layers available that visualize the demographic variables as choropleth maps of the geounits.

@jfrankl: I got a couple of pieces of feedback on the demographic choropleth layers:

When you're drawing on the map with the demographic choropleth on, the gray selection on gray choropleth can make it kind of hard to distinguish between what is selected and what is just higher population. Any ideas that might make them more distinguishable?

e.g.
Selection with choropleth on:

Same selection with choropleth off:

The scale for the every demographic seems to be the same so in parts where there are a lot of one demographic or not a lot of a demographic, you get something either all dark gray or all white. Do you think it would improve if we used color gradients that are relative to the demographic's scale? Not sure if that would help or if it would just introduce it's own problems.

e.g.

or

Good question. I'll explore during this sprint.

I think our best option for showing demographic data on the map would be using proportional circles. Circles allow us to distinguish from the fill color we use on the map to represent highlighted geounits.
To create these circles, we could use the same features that we currently use for population labels. Our vector tiles contain populations in string format (e.g. 245.6K), but we will need a different format for this sizing. One option would be to include the exact population (hispanic: 42112). An alternative is to preprocess the sizes; for example, we could give each feature a value from 0–9 (hispanic: 2 would be a smaller circle, hispanic: 9 would be the largest possible circle). The former would show more variation between sizes. The latter might the vector tiles smaller, but I'm not sure by how much. I suspect either would be fine, but we want might to test them.
We would also need a UI for toggling this layer, which is being designed by #477.
Mockups

Why use circles instead of choropleth:
Remove visual conflict
A choropleth layer conflicts with selecting geounits on the map. Both the selection and choropleth are indicated by shades of gray fill in the geounits. When both are present on the map, it's unclear which is selected and which is. See the screenshot below for an example of the confusion—it's unclear which geounits are selected and which are shaded by the choropleth.
Proportional circles get around this issue. The circles are visually distinct from the selected geounits, making it possible to read both on the same map.

Better representation of smaller areas
A downside to a choropleth visualization is that it can be difficult to read smaller geographic areas, and it can misrepresent larger geographic areas as having larger populations. In Pennsylvania, for example, the rural blockgroups of the state have larger area, and the urban blockgroups are smaller. When zoomed out, it can be difficult to see the smaller blockgroups, and any shading in that area can be difficult to read. On the other hand, circles are not constrained by geounits, allowing them to be visualized consistently across the state.
In the screenshot below, compare these representations of Black population as a choropleth and as circles. With the choropleth, it is difficult to see the areas with higher concentration, because they are geographically smaller geounits. The circles, on the other hand, stand out on the map.

Designs can be found here: https://app.abstract.com/share/09034d14-15e5-4ccb-8dbd-8d246f4a079c


Exception when running in multi-threaded environment

Try to open window with gif image in new thread, first time it works.
Try to open other window with gif image in new thread, fails miserably:

The calling thread cannot access this object because a different thread owns it.
at System.Windows.Threading.Dispatcher.VerifyAccess()
at System.Windows.Media.Imaging.BitmapDecoder.ToString()
at System.Windows.Media.Imaging.BitmapFrameDecode.ConvertToString(String format, IFormatProvider provider)
at System.Windows.Media.ImageSource.ToString()
at WpfAnimatedGif.AnimationCache.CacheKey.GetUri(ImageSource image)
at WpfAnimatedGif.AnimationCache.CacheKey.ImageEquals(ImageSource x, ImageSource y)
at WpfAnimatedGif.AnimationCache.CacheKey.Equals(CacheKey other)
at WpfAnimatedGif.AnimationCache.CacheKey.Equals(Object obj)
at System.Collections.Generic.ObjectEqualityComparer1.Equals(T x, T y)    at System.Collections.Generic.Dictionary2.FindEntry(TKey key)
at System.Collections.Generic.Dictionary`2.TryGetValue(TKey key, TValue& value)
at WpfAnimatedGif.ImageBehavior.GetAnimation(Image imageControl, BitmapSource source)
at WpfAnimatedGif.ImageBehavior.InitAnimationOrImage(Image imageControl)
at WpfAnimatedGif.ImageBehavior.ImageControlLoaded(Object sender, RoutedEventArgs e)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
at System.Windows.BroadcastEventHelper.BroadcastEvent(DependencyObject root, RoutedEvent routedEvent)
at System.Windows.BroadcastEventHelper.BroadcastLoadedEvent(Object root)
at MS.Internal.LoadedOrUnloadedOperation.DoWork()
at System.Windows.Media.MediaContext.FireLoadedPendingCallbacks()
at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)
at System.Windows.Media.MediaContext.Resize(ICompositionTarget resizedCompositionTarget)
at System.Windows.Interop.HwndTarget.OnResize()
at System.Windows.Interop.HwndTarget.HandleMessage(WindowMessage msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Interop.HwndSource.HwndTargetFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.CallWindowProc(IntPtr wndProc, IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.HwndSubclass.DefWndProcWrapper(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.CallWindowProc(IntPtr wndProc, IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)

Well, I wouldn't expect anything different. Why are you opening a window in a new thread? That's a pretty unusual thing to do... In any case, it's not a scenario I intend to support.
If you really need to do that, you can try to Freeze() the image before you assign it to AnimatedSource, but I can't guarantee it will work.

Using WpfAnimatedGif within devexpress control also fails with the message:
 <DataTemplate x:Key="waitIndicator">             <dx:WaitIndicator DeferedVisibility="True"> <Image Height="61" Stretch="None" Source="pack://application:,,,/Loader-Blue.gif" /> </dx:WaitIndicator> </DataTemplate>
<dxwui:NavigationFrame>                                 </dxmvvm:Interaction.Triggers>                 <dxmvvm:Interaction.Behaviors>                     <dxwuin:FrameNavigationService />                     <dxwuin:FrameDocumentUIService ShowSplashScreen="True">                         <dxwuin:FrameDocumentUIService.SplashScreenService>                             <dx:DXSplashScreenService x:Name="WaitScreenService" ViewTemplate="{StaticResource waitIndicator}" SplashScreenStartupLocation="CenterOwner" />                         </dxwuin:FrameDocumentUIService.SplashScreenService>                         <dxwuin:FrameDocumentUIService.PageAdornerControlStyle>                             <Style TargetType="dxwui:PageAdornerControl">                                 <Setter Property="Template">                                     <Setter.Value>                                         <ControlTemplate TargetType="dxwui:PageAdornerControl">                                             <ContentPresenter />                                         </ControlTemplate>                                     </Setter.Value>                                 </Setter>                             </Style>                         </dxwuin:FrameDocumentUIService.PageAdornerControlStyle>                     </dxwuin:FrameDocumentUIService>                 </dxmvvm:Interaction.Behaviors>             </dxwui:NavigationFrame>
09:11:45,402 e ap 032 UnhandledException: System.InvalidOperationException: The calling thread cannot access this object because a different thread owns it.
at System.Windows.Threading.Dispatcher.VerifyAccess()
at System.Windows.Media.Imaging.BitmapDecoder.ToString()
at System.Windows.Media.Imaging.BitmapFrameDecode.ConvertToString(String format, IFormatProvider provider)
at System.Windows.Media.ImageSource.ToString()
at WpfAnimatedGif.AnimationCache.CacheKey.GetUri(ImageSource image)
at WpfAnimatedGif.AnimationCache.CacheKey.ImageEquals(ImageSource x, ImageSource y)
at WpfAnimatedGif.AnimationCache.CacheKey.Equals(CacheKey other)
at WpfAnimatedGif.AnimationCache.CacheKey.Equals(Object obj)
at System.Collections.Generic.ObjectEqualityComparer1.Equals(T x, T y)    at System.Collections.Generic.Dictionary2.FindEntry(TKey key)
at System.Collections.Generic.Dictionary`2.TryGetValue(TKey key, TValue& value)
at WpfAnimatedGif.ImageBehavior.GetAnimation(Image imageControl, BitmapSource source)
at WpfAnimatedGif.ImageBehavior.InitAnimationOrImage(Image imageControl)
at WpfAnimatedGif.ImageBehavior.ImageControlLoaded(Object sender, RoutedEventArgs e)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
at System.Windows.BroadcastEventHelper.BroadcastEvent(DependencyObject root, RoutedEvent routedEvent)
at System.Windows.BroadcastEventHelper.BroadcastLoadedEvent(Object root)
at MS.Internal.LoadedOrUnloadedOperation.DoWork()
at System.Windows.Media.MediaContext.FireLoadedPendingCallbacks()
at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)
at System.Windows.Media.MediaContext.Resize(ICompositionTarget resizedCompositionTarget)
at System.Windows.Interop.HwndTarget.OnResize()
at System.Windows.Interop.HwndTarget.HandleMessage(WindowMessage msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Interop.HwndSource.HwndTargetFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.CallWindowProc(IntPtr wndProc, IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.HwndSubclass.DefWndProcWrapper(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.CallWindowProc(IntPtr wndProc, IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)

Not sure what DevExpress is doing here, but I suspect DXSplashScreenService is showing a window on a separate thread. As I said, this is not a supported scenario, but you might be able to make it work by freezing the image before using it.

Closing due to inactivity

I too am affected by this. Seems not that unusual a thing to do - beyond the hobby project scope.

Hi @lsim,
It's not a problem with the library, it's due to how WPF works. If an DependencyObject object is created on one thread, you can't manipulate it with another thread. There's nothing I can do about it.
Did you try what I suggested to @dusansmail and @igharrac? i.e. freezing the image? They never said if it worked for them.

That part of our code isn't my specific area of expertise - so I can't say yet how we might work around the issue. My main source of bafflement is that even when window and controls are all created on the same STA thread (not the Main thread), it still exhibits this behavior.
I'll look into if and when we create a DependencyObject - when I figure out what that is :)
.. and try to remember to report back here with my findings.
Thanks for a super speedy reply btw

It works fine outside the main thread so long as all our gif-showing windows are run on the same STA thread. My concern was that even this wouldn't be enough.
Despite our efforts to clean up after each such window is closed, something relating to the gif must remain, which gives rise to the thread related exception when the next window initializes. Until now, we have spun up a new STA thread for each such window.
I think we can probably make this work in our project.

@lsim this might be because animations are cached (so that if you have the same GIF images shown multiple times, the animation isn't reconstructed every time). Each animation is removed from the cache when the last instance of the GIF is cleared. Maybe try to clear the AnimatedSource before closing the window?

Unfortunately, that experiment is probably out the scope of my current situation now that I have things working again. I would have to rewire the xaml bindings in a semi complicated setup.
If that cache is the root of the problem, maybe it could be a candidate for a ThreadLocal kind of thing? You would then take a perf hit if you use multiple threads, but things would work.

maybe it could be a candidate for a ThreadLocal kind of thing?

If it's indeed the cause of the problem, yes, that would probably solve it.


fix(utils): wrong memorize function

Deploy preview ready!
Built with commit 094fb9773a3f23660186b11c9fb9e0291b786f3f
https://deploy-preview-367--mcs-lite-introduction.netlify.com

Deploy preview ready!
Built with commit 094fb9773a3f23660186b11c9fb9e0291b786f3f
https://deploy-preview-367--mcslite.netlify.com

Deploy preview ready!
Built with commit 094fb9773a3f23660186b11c9fb9e0291b786f3f
https://deploy-preview-367--mcs-lite-ui.netlify.com


Just a Heads up!

A long time ago, I wrote my own way of dealing with GraphQL in Shopify. I decided I hated Graphql as a constant in the class name and module work, so I added an inflection, and lo-and-behold I passed Zeitwork and had GraphQL everywhere I wanted it.
Then I loaded this library in parallel to test and develop with it, and never noticed much about how it uses Graphql and has no inflection setting. I had removed my inflector to test and develop but forgot that when pushing to production where all of a sudden I had no Shopify::Graphql defined properly, due to the missing inflection.
So be careful and if you play with inflections, be worried! Sometimes they can bit you on the old GraphQL versus Graphql settings!

Thanks for the heads up 👍


Error: A DOM element reference is required in improved context pad

Describe the bug
There is a new error coming from improved canvas which has been also noticed in Web Modeler.
Sentry Issue: CAMUNDA-MODELER-QH3
Steps to reproduce
Cannot reproduce yet :(
Expected behavior
No error
Environment

OS: [e.g. MacOS 10.2, Windows 10]
Camunda Modeler Version: [e.g. 2.0.0]
Execution Platform: [e.g. Camunda 7, Camunda 8]
Installed plug-ins: [...]

Additional context
Related to https://github.com/camunda/web-modeler/issues/9948

It appears that target can be non-existing in some cases: https://github.com/camunda/improved-canvas/blob/9c8a56835886772d3bf9320b0ec186ae7d39a5e5/lib/common/contextPad/ImprovedContextPad.js#L52


isClickable implementation

Why you haven't implemented this by default? It should be something available without having to download and copy all views and edit them.
Can you guide us exactly what we have to change or just add it to the sample project? Thanks

There are various additional properties on NavigationNode that are not used at all in the included views but that might be useful for some cases. IsClickable is one of those and for the moment I leave it to others who may need it to decide how to implement it. I added that property because I had a similar property in my old project mojoportal and some people did use it. I am not using that property myself at the moment.
Since that property is exposed to you on each node in the views you can decide yourself how to implement that. You could just render a span instead of a link for example, there are many ways to implement it, so there is no one correct way.

But there should be a simple way to do this in your default views.
Anyway I will try to do it and see if I can do it.


Fi 1178 capability statement from scratch

Added code to generate a simple capability statement that only has elements relevant to passing inferno

@okeefm I am sure there I can do something like that, I'll look into making it more concise.

@okeefm I looked at the search param further, and there isn't necessarily exact overlap between the different search params resources use. For example, although a lot of them use name, not all of them do.  Although the current code may seem a bit verbose, I think it works at keeping all required info in one place.

There's a chance that I misconfigured my build, but it still looks like we are getting lots of warnings on profiles not being supported, and in looking at what is in the generated capability statement, this doesn't look right:

(at the very least, i think the double "/" in the URLs will mess up our checking... and why the different URLs for what look to be the same profile?)
Let me know if I'm running an old version though.  @hershilpatel

You can remove "resource.profile" too (or change it to be consistent with "resource.supportedProfile").  We don't check for that... (I think we may have decided that was too much of a stretch given the definition of that element in our situation).

I adding a lot of the missing supported profiles but USCCAP-05 still has warnings because US Core Observation doesn't support bp, bodyheight, bodyweight, heartrate, resprate, bodytemp...I can add these, but I don't think they are required according to https://www.hl7.org/fhir/us/core/CapabilityStatement-us-core-server.html#behavior.  Am Iooking at the right place?

Thanks for double checking this.  These are special cases because they are profiles that come from the base fhir specification, and not us core (note the URL for teh StructureDefinitions do not have "/us/core/" in the middle).  However, US core points to them as requirements when in the context of USCDI, which we are in.  See: https://www.hl7.org/fhir/us/core/general-guidance.html#us-core-data-for-interoperability-and-2015-edition-common-clinical-data-set
I do wonder if the US Core Capability Statement should list these as supportedProfiles.  They aren't defined by US Core, but I think they are required to be supported (as much as the other profiles).
Please cross check our list with the Observation profiles from the base fhir specification as another check that we got all this right.
FYI @Jammjammjamm


Use rules_jvm_external install for package index

https://github.com/bazelbuild/rules_jvm_external/pull/716 started
indexing jar files and adding the package index to the
maven_install.json.
This re-uses that data, rather than re-implementing parsing ourselves.
This has the advantage of no longer needing to check in and manage the
lifecycle of an additional cache file, and deletes a bunch of code.

There's a note in the readme :) https://github.com/bazel-contrib/rules_jvm/pull/49/files#diff-7523dd5c8e9927a3bf70fe2cb40381b71314610c5d406372edd22df777b1c35cR87-R88


Gossip fixed

Fixed my mistakes in the gossip.yml corpus.  Also fixed some grammatical errors.

I think it seems to me both are similar https://github.com/gunthercox/chatterbot-corpus/pull/88 except few statements are differ. those are separate prs?

They are separate PRs.


Add win multiprocessing support

All other support was put in git+https://github.com/twangboy/salt.git@update_python37


⚠ Fetchers has degraded performance

In 5b67a14, Fetchers ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 282 ms

Resolved: Fetchers performance has improved in 32109ce.


Package.getStylesheetsPath is deprecated.

Store package style sheets in the styles/ directory instead of stylesheets/ in the color-picker package
Package.getStylesheetsPath (/Users/edwinsito/Downloads/Atom.app/Contents/Resources/app/src/package.js:448:9)
Package.getStylesheetPaths (/Users/edwinsito/Downloads/Atom.app/Contents/Resources/app/src/package.js:459:32)

Hi, this was fixed a while ago. Please update to the newest version of color-picker.


Operator error: ProjectID must be set

Hi there,
I'm following the Managed prometheus documentation and setting it up on a non-GKE cluster.
After installing the operator, I get the following error:
{"level":"error","ts":1663839480.3411098,"msg":"instantiating operator failed","error":"invalid options: ProjectID must be set","errorVerbose":"ProjectID must be set\ngithub.com/GoogleCloudPlatform/prometheus-engine/pkg/operator.(*Options).defaultAndValidate\n\t/app/pkg/operator/operator.go:191\ngithub.com/GoogleCloudPlatform/prometheus-engine/pkg/operator.New\n\t/app/pkg/operator/operator.go:252\nmain.main\n\t/app/cmd/operator/main.go:114\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:255\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1581\ninvalid options\ngithub.com/GoogleCloudPlatform/prometheus-engine/pkg/operator.New\n\t/app/pkg/operator/operator.go:253\nmain.main\n\t/app/cmd/operator/main.go:114\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:255\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1581","stacktrace":"runtime.main\n\t/usr/local/go/src/runtime/proc.go:255"}

My question is: how do I pass the project ID to the operator? The documentation seems to skip this.
Thank you

Instructions can be found here: https://cloud.google.com/stackdriver/docs/managed-prometheus/setup-managed#gmp-outside-gke


Update docs to match new package structure

This PR is to accompany (and follow) #405 and contains the doc changes that match the new repository structure and code flow
Signed-off-by<EMAIL_ADDRESS><EMAIL_ADDRESS>

Looks good to me. Later this documentation will be added some information about how to handle the fail installation.


Add OIIO build container

Currently OIIO uses the ci-osl build containers, now that it's an official ASWF project, it should have its own ci-oiio build container.

Addressed in https://github.com/AcademySoftwareFoundation/aswf-docker/pull/199


Reduced Pluvial Calculation

The option to calculate the excess runoff for areas with stormwater infrastructure will be added in the branch: feature/reduced_pluvial.

Issue resolved with PR #14


Play - Not possible to select device_id

It should be possible to select the device_id to play.
Which is not feasible for the moment with this library.
Can you adapt this, so we can add also URL params (device_id next to Body params (options))
->https://beta.developer.spotify.com/console/put-play/
Thanks for this amazing library! :)

+1 Would be great to have this basic function in the next release

I'm happy to inform that this has been implemented and shipped in version 3.0.0.


Uniform way to convert an activity to mf2

This is related to #42.
I'm having trouble converting between AS and MF2 in a general way (trying to adapt ownyourresponses to my use case). I tweaked the web service to fetch likes and reposts, and you can see that the likes/reposts are all mostly blank.
To fix this, I think object_to_json should be given the whole activity (not just the activity's object)
I think I need to do two things to make it work:

object_to_json right now does not convert plain old  verb=post activities very well (it loses all the content)
Change microformats2.activities_to_html to call object_to_json on the activity rather than activity["object"]

Ugh, I wish I could delete issues. Plz ignore


(Staging) Script editor help button's label shows as "toolStripButton4"

OpenCAGE version: <IP_ADDRESS> (Staging)

Cheers! Fixed this, will push it to staging when I do the next update.


feat: Add help menu to the header navigation

Add a new Help menu to the top right of the GUI containing a link to the docs and a link to file an issue on Kuma.
Wasn't totally sure whether the create issue link should go to the Kuma or KumaGUI repo
Notes:
I made a useEnv composable to centralise our environment variables and some of our static strings that aren't yet environment variables but potentially should be (the root url for the docs site for example). One important thing to note here is that it looks like the version is always set on application boot (unless something is more drastically wrong) i.e. before we display anything.
This useEnv also hides references to our build tooling (vite) so we aren't using that naming etc within the rest of the application code.

There are probably a multitude of ways to do this, but this was my preferred and useEnv could potentially be used for replacing these:
https://github.com/search?q=repo%3Akumahq%2Fkuma-gui+kuma.io%2Fdocs+language%3AVue&type=code&l=Vue
.. so we can centrally configure our URLs per environment.
Fixes https://github.com/kumahq/kuma-gui/issues/447
Signed-off-by: John Cowen<EMAIL_ADDRESS>

Hi ! Concerning this :

Wasn't totally sure whether the create issue link should go to the Kuma or KumaGUI repo

Maybe you can provide a link for both of them with an explicit title saying something like "Feedback > Kuma Manager" or "FeedBack > Kuma" ?

I've a few tweaks here following upstream changes:

version now comes from the gui config that is passed to the GUI via the index.html file.
semver-like parsing is added here, super basic parsing just enough to more or less follow what it was doing previously (see https://github.com/kumahq/kuma-gui/blob/7f1d17145684e5c09578992753d7332725e16363/src/store/modules/config/config.ts#L68-L92)
Moved the files to @/utilities

Remaining work after this PR

Replace other instances where we use these variables with useEnv/env
Remove the old docs string parse thing that lives in the vuex store

I wanted to ask about basedOnKuma - the code here doesn't use that as yet, so it's theoretically removing functionality that we need to keep. You mentioned we use this in Kong Mesh? I understand by that that the only time there is a difference between version and basedOnKuma is if we are running from something that isn't kuma specifically but uses kuma (like Kong Mesh)? I'm just wondering exactly what to do here, as its obviously missing right now, and it should be added into the gui config we get from the index.html (along with tagline). If it's just something thats only necessary in Kong Mesh that would be good to know.

I wanted to ask about basedOnKuma - the code here doesn't use that as yet, so it's theoretically removing functionality that we need to keep. You mentioned we use this in Kong Mesh?

Yes. In Kong Mesh, basedOnKuma is the version of the underlying Kuma version which is needed to construct appropriate docs URLs.

I'm just wondering exactly what to do here, as its obviously missing right now, and it should be added into the gui config we get from the index.html (along with tagline). If it's just something thats only necessary in Kong Mesh that would be good to know.

Well, we should do ... what we do right now, no? That logic was specifically added to account for this difference.
It’s not complex logic and only in a very, very limited way the same as "parsing a version string into its semantic versioning components". We just replace the last number with an x and set "dev" for preview versions.
Also, take note of the semver package that we have already installed in the project.
I’ll also re-iterate what I said before: I don’t think there should be any logic whatsoever in a utility for retrieving environment variables. Anything that’s a computed result of some stuff, among which parts are environment variables, is application logic and not an environment variable anymore.

Also, take note of the semver package that we have already installed in the project.

Oh perfect 😆 , I was just thinking I don't want to include a big package just for this, but if we are already using it then 🤷 , should have looked!

Hmm 🤔 turns out we aren't using the semver package on the frontend, only for build tooling. Thanks for the nudge but I think I'm happier sticking with what I have here at least for the moment (unless I'm mistaken that we are actually using it?)
Lemme know, it could do with being removed from package.json if we are ok to just stick with the split/joining until we come to need something more involved.

I’ll also re-iterate what I said before: I don’t think there should be any logic whatsoever in a utility for retrieving environment variables. Anything that’s a computed result of some stuff, among which parts are environment variables, is application logic and not an environment variable anymore.

It's a centralized place to access variables that don't really ever change without having to refresh the page i.e. they are not reactive. These variables might come from build tooling environment variables, runtime backend 'environment variables' passed via our index.html file, or even in the future potentially user/engineer runtime 'environment variables' either via local storage or cookies.
useEnv and it's resulting env hides all those details away so we don't have to worry about them. We just pretend they are all 'env vars'. The fact that we figure some out from another for ease/centralizing doesn't really bother me, and avoids repeating the same logic in multiple places throughout the app, something I'm seeing a lot of.

I've reverted this back to what I had before the upstream work so we can go with that for the moment. Using that upstream work can be a followup PR.

I pulled it all out again, you might want to give it another check before I merge. Otherwise I'll resolve the outstanding conversation and merge away!

you might want to give it another check before I merge.

Looks all good to me.

oh hey @mmorel-35 👋 , sorry I wanted to come back to you on this:

Maybe you can provide a link for both of them with an explicit title saying something like "Feedback > Kuma Manager" or "FeedBack > Kuma" ?

We did chat about this option and figured if we just had one place for people to click then we could just transfer the issue in GH during triage if it needed to go specifically to GUI rather than backend. Kinda easier for us and other folks for there to just be one option/link and then we can triage it from here when it comes in.
But thanks for the suggestion, and good to see you around here 🎉