Customer Headers in Webhooks

I think it would be an awesome feature to allow custom headers in webhooks. The main thought is this would let us use systems that require some kind of authentication for the webhooks.
Talked about this in discord, tagging @vviers.

we plan on working on this

Neat! A workaround is passing requests through an external service like cloudflare workers to rewrite them, but that is a pain to setup and then annoying to maintain.

I made this PR to add headers in webhook settings, I put some screencast in the description
https://github.com/gristlabs/grist-core/pull/832

With @CamilleLegeron working on webhooks in #832, I wonder if we could sneak a field for this into the migration she'll be introducing. Just a generic options column would do, we wouldn't have to commit to any representation yet. We typically have an options columns on tables for non-relational stuff that shouldn't require every Grist document everywhere in the world to be migrated when something is added, but there isn't one yet on the _grist_Triggers table. Doing it now would save another migration later.

What about security if there is an authorization secret ?
Inside webhook settings page maybe add an input for secret and another for none secret ? And that way we can encrypte the secret and set both in options column

Thinking about what headers could be great to custom, I'm only thinking of the authorization parameter. How about adding only Authorization input in the webhooks params and see later if other needs arise?

Thinking about what headers could be great to custom, I'm only thinking of the authorization parameter. How about adding only Authorization input in the webhooks params and see later if other needs arise?
Wdyt @paulfitz ?

There's nothing very special to Grist about webhooks. Could be worth looking at what similar apps offer, to see if there is any consensus?

What about security if there is an authorization secret ?
Inside webhook settings page maybe add an input for secret and another for none secret ? And that way we can encrypt the secret and set both in options column

The security question is interesting. The webhook URL itself may have a sensitive key in it, which is part of why it is not stored directly in the document but in a secrets table in the home database. This makes some things more awkward and some things simpler., and makes adding more encryption in the future easier. It could make sense to treat material for Authorization header in the same way, at least partially.
I wonder if this needs actually two features:

A way to store and retrieve secrets associated with a particular document (the secrets table is intended for that purpose)
A way to include a secret in a header, for example with some kind of syntax that could later extend to pulling information from the payload itself or elsewhere? Like Authorization: {secrets.AUTH_SECRET} or something. Maybe this is too ambitious. But it would mean the header configuration itself wouldn't have to be treated as a secret.

I tend to think it be more interesting to change this issue title so it tracks three similar features that will probably be implemented altogether (otherwise please mention your disagreement about that), which are the ability to customize the following things for webhooks:

the method;
the body;
the headers;

(as stated in an above comment)

Hey,
Following a quick talk with @fflorent and some users, I just wanted to add my 2 cents on the potential use cases for this feature.

Send an email when there is a new record or updated record (via tools like Brevo or Mailchimp)
Send a notification when new record or updated record (via tools like Mattermost or Teams)

And probably a lot more to come !
Looking forward to it, thanks for the job done.

Regarding the implementation, what about allowing configuring a column in which it is expected to return these items thanks to a formula, like:
import json
return {
  'method': 'PATCH', # Defaults to Post
  'headers': { # Headers to append to the one sent by the webhooks (like the headers)
    'X-Specific-Header': $someColumn,
    'X-Common-Header': 'Common value for all records',
  },
  'body': json.dumps({ # the body, defaults to nothing
    'whatever': $someOtherColumn
  }),
  'queryParams': 'blah=' + $queryParams # Defaults to empty string.
  # Other stuffs?
}

(The queryParam property came to my mind when writing this formula)
What do you think?

We would need to clarify the User Story, prevent security issues and have a design mockup for this issue.

Tracking progress here :

[x] add Authorisation header in webhooks (#941)
[ ] allow user to specify the shape of a header sent via webhooks
[ ] allow user to specify the shape of a payload sent via webhooks
[ ] allow user to specify query params sent via webhooks
[ ] allow user to specify the HTTP verb used by webhooks

@hooksie1 could you please rename this issue to the more generic "Custom HTTP queries for webhooks"


Update check result not announced

Whenever I select Help > Update check, using the latest release I do not receive the "No update available" message.
portable 0.23.0 as well as 0.23.1-ci.144, Win7

It works now. Probably something on my end.


this implements an error handler that catches group() with complete=T…

…rue and complex logic expressions. I've also added a new small method _get_response_texts() [counterpart to _get_response_codes()].

This PR resolves #351.


Adding Latent SDE

Hi Patrick,
Following up on the last discussion, I create a pull request containing

Small change in diffrax.misc.sde_kl_divegence i.e., handling context and compute KL
Add a new notebook of Latent SDEs as a new file examples/neural_sde_vae.ipynb
Rename examples/neural_sde.ipynb to examples/neural_sde_gan.ipynb (fix link in the description as well)
Update mkdocs.yml

Looks like the formatting is failing. Have a look at CONTRIBUTING.md.
I've not really gone through most of the example yet; I'll leave a proper review of that once everything so far has been organised.
I will say that I don't think I really believe what's happening here, mathematically. In the infinite-training limit you're just matching the SDE against a single trajectory, so it collapses to an ODE (zero noise). Have a look at the Lorenz example in torchsde for a more convincing (to me) example of training a latent SDE as a generative model, rather than this case which I think is pretty much just supervised learning.
(The real giveaway here is that you're using context=None in sde_kl_divergence. Whilst you don't have to have a context for the abstract notion of "KL divergence between two SDEs", you absolutely need one to have a meaningful latent SDE.)

Thanks for the detailed review. I will get back on this after a few days :)

Sorry for taking so long.
In recently commits, I have changed diffrax.misc.sde_kl_divergence where the vector field is contructed based on the control term of the input SDE as MultiTerm.  I also make a simple unit test for this.
I've implemented the notebook of Latent SDE for Lorenz data as you suggested to make it more like VAE than just supervised learning.
Your other comments into the recent changes are included as well.

Hi all, thank you for the great work! I was just trying to run the code from the pull request and encountered this error
NotImplementedError                       Traceback (most recent call last)
Cell In [13], line 4
      1 while iter < train_iters:
      2     # optimizing
      3     _, training_key = jrandom.split(training_key)
----> 4     loss, grads = make_step(latent_sde)
      5     loss = loss.item()
      6     updates, opt_state = optim.update(grads, opt_state)

File ~/diffrax/.env/lib/python3.8/site-packages/equinox/jit.py:95, in _JitWrapper.__call__(_JitWrapper__self, *args, **kwargs)
     94 def __call__(__self, *args, **kwargs):
---> 95     return __self._fun_wrapper(False, args, kwargs)

File ~/diffrax/.env/lib/python3.8/site-packages/equinox/jit.py:91, in _JitWrapper._fun_wrapper(self, is_lower, args, kwargs)
     89     return self._cached.lower(dynamic, static)
     90 else:
---> 91     dynamic_out, static_out = self._cached(dynamic, static)
     92     return combine(dynamic_out, static_out.value)

    [... skipping hidden 11 frame]

File ~/diffrax/.env/lib/python3.8/site-packages/jax/experimental/host_callback.py:1806, in <lambda>(j)
   1803 id_p.def_abstract_eval(lambda *args: args)
   1804 xla.register_translation(id_p, lambda ctx, avals_in, avals_out, *args: args)
...
   1687           )))
   1688 else:
-> 1689   raise NotImplementedError(f"outfeed rewrite {eqn.primitive}")

NotImplementedError: outfeed rewrite closed_call

Was not sure if there was something I missed? I didn't change anything in the code. This occurs when I call the make_step() function.
Thanks in advance!

Hmm. This looks like a bug in core JAX -- closed_call looks like a new JAX primitive, which jax.experimental.host_callback.call hasn't been updated to be able to handle.
I'm not sure when closed_call is used, but you should be able to construct a MWE by using jax.experimental.host_callback.call inside a function called by whatever-it-is that generates closed_call. (i.e. without Diffrax.)

Hmm. This looks like a bug in core JAX -- closed_call looks like a new JAX primitive, which jax.experimental.host_callback.call hasn't been updated to be able to handle.
I'm not sure when closed_call is used, but you should be able to construct a MWE by using jax.experimental.host_callback.call inside a function called by whatever-it-is that generates closed_call. (In particular this should be doable without Diffrax.)

Thanks for the quick reply Patrick! I see, this makes sense. It's strange that the other examples in Diffrax do still seem to work, I'll investigate this a bit more.

@patrick-kidger Sorry for taking so long. I will try to get back to this pull request in a couple of days. What I can think of now is to handle the case that diffusion matrices are diagonal.
@harrisonzhu508 I will take a look at the bug. If other examples do not have the problem, it may be because of the current implementation of latent SDE.

Hi @patrick-kidger ,
I tried to make sde_kl_divergence can handle more general cases but I do not have a complete solution.
If I understand correctly, the goal of materialise_vf to find the PyTree structure of the output of vf_prod. However, such an output should agree with PyTree structure of the ouput of drift (as ODETerm) which we always can have access. Therefore, we may not need to materialise vf_prod.  Also we may not need to convert everything into arrays.
If we can restrict our case where both drift and diffusion has the same PyTree structure (and leaf nodes are jnp.ndarray), we can simple handle block-diagonal diffusions using tree_map and  checking the shape of array in leaf nodes.
The current implementation can handle block diagonal difussion matrices having PyTree as
drift = {
        "block1": jnp.zeros((2,)),
        "block2": jnp.zeros((2,)),
        "block3": jnp.zeros((3,)),
    }
    diffusion = {
        "block1": jnp.ones((2,)),
        "block2": jnp.ones((2, 3)),
        "block3": jnp.ones((3, 4)),
    }

The first block corresponds to WeaklyDiagonalControlTerm. The remaining ones correspond to the general ControlTerm. I did not make any experiments on this part but a unit test to test this.
I also pass context using args in vf(t, y, args) but this may break the API that args should be PyTree while context is a function.
The difficulty I encounter when handling the more general case can be described in this code.
import jax.tree_util as jtu
import jax.numpy as jnp

vf_prod = {'block1': jnp.ones((2,)), 'block2': jnp.ones((1))}
diffusion = {'block1': jnp.ones((2,)), "block2": [[1., 1., 1.]]}

# vf_prod_tree obtained either from `materialise_vf` or input `drift`
vf_prod_tree = jtu.tree_structure(vf_prod) # PyTreeDef({'block1': *, 'block2': *})
diffusion_tree = jtu.tree_structure(diffusion) # PyTreeDef({'block1': *, 'block2': [[*, *, *]]})

transposed = jtu.tree_map(lambda *xs: list(xs), *[vf_prod, diffusion])
# PyTreeDef({'block1': [*, *], 'block2': [*, [[*, *, *]]]})

# next step is to convert the diffusion part of `block2` to array. But we don't know how
# maybe can use `is_leaf` in `jtu.tree_map`. But what is the condition to decide a leaf?

Hi @harrisonzhu508, you can run the current code with jax=0.3.15 (while waiting for further update). The latest version of equinox=0.7.1 works fine.
As Patrick mentioned, it must be something to do with JAX core. I also find that the bug occurs when we use eqx.filter_value_and_grad (eqx.filter_jit still works). This is related to this pull request (google/jax#10711) and host_callback does not handle this yet.

Thanks a lot!

Hi @anh-tong, thanks a lot for the very clean implementation again! I was trying to reproduce an example that is very similar to https://github.com/google-research/torchsde/blob/master/examples/latent_sde.py. Running the latter script yields the attached. But using your notebook implementation, I've noticed that the posterior sample paths seem to collapse to a deterministic function (even in intervals where there's no data), I was wondering if you noticed something similar too? Thanks a lot!

Hi @anh-tong, thanks a lot for the very clean implementation again! I was trying to reproduce an example that is very similar to https://github.com/google-research/torchsde/blob/master/examples/latent_sde.py. Running the latter script yields the attached. But using your notebook implementation, I've noticed that the posterior sample paths seem to collapse to a deterministic function (even in intervals where there's no data), I was wondering if you noticed something similar too? Thanks a lot!

Hi, I guess this happens because the current parameter setting with kl_anneal_iters = 1000 may not be suitable for the data in the plot.  Please try kl_anneal_iters = 100 instead (like in torchsde).
kl_anneal_iters actually helps the training to figure out a good set of parameters at the early stage by prioritizing optimizing the likelihood over KL divergence.
Fitting the data in the figure is relatively simple so that it may not take so long to reach a part with a reasonable likelihood. The collapsing is explained in this paper(see Section 5) as the model only learn via likelihood.

Hi @anh-tong, thanks a lot for the very clean implementation again! I was trying to reproduce an example that is very similar to https://github.com/google-research/torchsde/blob/master/examples/latent_sde.py. Running the latter script yields the attached. But using your notebook implementation, I've noticed that the posterior sample paths seem to collapse to a deterministic function (even in intervals where there's no data), I was wondering if you noticed something similar too? Thanks a lot!

Hi, I guess this happens because the current parameter setting with kl_anneal_iters = 1000 may not be suitable for the data in the plot. Please try kl_anneal_iters = 100 instead (like in torchsde).
kl_anneal_iters actually helps the training to figure out a good set of parameters at the early stage by prioritizing optimizing the likelihood over KL divergence. Fitting the data in the figure is relatively simple so that it may not take so long to reach a part with a reasonable likelihood. The collapsing is explained in this paper(see Section 5) as the model only learns via likelihoods.

That makes sense, thanks for the explanation! I haven't got it working (I'm training on samples from a stochastic process) but I'll try and play around with the KL annealing!


Fix missing or wrong implementations in node.go

Some types in ast/node.go were not implementing the Node type, and some implementations were missing Idx0 and Idx1 functions for their type, which results in errors when attempting to use/import some of the types. I have corrected all the faulty implementations. I believe I have implemented the Idx0 and Idx1 functions correctly, but please review those changes and see if I did anything wrong.

Fixed the incorrect index implementations mentioned in the review in the latest commit.

Thanks!


Impossible to change binary dir for userver subdirectory

https://t.me/vfarme

Basically I have a monorepo with a structure like
- service_1
- service_2
- service_3
- third_party
  - userver

Each service can be deployed separately (or together) in a separate docker container. Every time I deploy or develop a service I need to rebuild userver along with the service source code, which takes really long time. make install would allow me to install userver in a separate docker image that I could use to build services. I do the same with Qt for example. When you install Qt you can just select modules you need to via find_package, so you don't need to constantly rebuild Qt.

@Anton3

build userver in a separate build dir, specify a custom build dir for userver in add_subdirectory, and bake the prebuilt userver build dir into the docker image

https://t.me/vfarme

So here is what I did (only for debug build in purpose).
I cloned userver to the docker under /opt/userver/userver, built userver in the docker under /opt/userver/userver/build-debug. Then in my CMakeLists.txt I did
set(USERVER_DIR /opt/userver/userver)

include(${USERVER_DIR}/cmake/SetupEnvironment.cmake)
include(GNUInstallDirs)

add_subdirectory(${USERVER_DIR} ${USERVER_DIR}/build-debug)

Now when I try to build my service I am getting a compilation error: https://pastebin.com/uP6fWicd
Looks like for some reason it's starting building userver again in project directory

@Anton3

I see, that's because we use CMAKE_BINARY_DIR instead of CMAKE_CURRENT_BINARY_DIR in quite a lot of places

Now that cmake install is implemented, changing binary dir is no longer relevant


Issue function for the Standardisation Repository

I would like to have the issue function within this repository:
https://github.com/catenax-ng/product-catena-x-standardization

For the sake of courtesy, some content would have been nice :(

I apologise, I have discussed the issue with Fabian and Siegfried by phone. They have asked me to create an issue for documentation. That's why I didn't write any further content.
Issue function is already there

HI @evgenyvinokurov thanks for raising an issue so that we could also share what we already did for your private repostory 😉
some hint for me did you deleted the pre defined issue template things and modified it by yourself?
i would suggest raising empty issue should not be possible.

already fixed in the following commit
https://github.com/catenax-ng/product-onboarding/pull/27/commits/7a238644dd3071a9388bee1d7347f013bcc7ae63
so issues are know working for your repository
https://github.com/catenax-ng/product-catena-x-standardization/issues
Please review and close the issue if your fine with it.


ANSI C Frontend

C is a lot easier to access than Rust etc.
import stdio.h;

This would be nice to see array vs field types actually look different in signature. Also function signatures would look a lot better.

This can start with just a header file parser, which is already useful.

cpp -include stdio.h /dev/null

tokenize C
parse C

c types can be prefixed as C_unsigned_char etc.

C type implication
C_signed_int => C_int


Test scaffolding

What Changed

Added basic tests with karma/mocha/chai
Minor cleanup of some underlying issues with the initialization
Duplicates #12, moving towards to "library pattern"

Issues

Fixes #11
Closes #12 (Steals code from @creade !)

:thumbsup:


Partition review fixes

Overview
Fixes to the partition work based off testing and reviews
Checklist

[x] Code is written and works correctly;
[x] Changes are covered by tests;
[ ] Documentation reflects the changes;

Closing this since we have another PR coming for this.


Fix: list obj has no attribute strip

Line: 1046
Expecting a string as an input, whereas in this specific case, a list was passed.
for _byte in test_hex_string.strip().split(" "):
AttributeError: 'list' object has no attribute 'strip'
Fix:
Change GIF signatures from a single list to two keys in the dict.

excellent, good catch!


How could i retrain the color_propagation model

Hi, thank you for sharing. How could i retrain the color_propagation model?

Sorry, we do not have time to release the training scripts for color_propagation. You can check the testing scripts for 'color_propagation' and modify the training scripts in 'seg_propagation' accordingly.

Sorry, we do not have time to release the training scripts for color_propagation. You can check the testing scripts for 'color_propagation' and modify the training scripts in 'seg_propagation' accordingly.

thanks for your reply


UVI Request

--- UVI JSON ---
{
  "vendor_name": "Linux",
  "product_name": "Kernel",
  "product_version": "versions from  to before v4.14.237",
  "vulnerability_type": "unspecified",
  "affected_component": "unspecified",
  "attack_vector": "unspecified",
  "impact": "unspecified",
  "credit": "",
  "references": [
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=b235f1037c0f9253ae45ff440a33a93e964ad2ec"
  ],
  "extended_references": [
    {
      "type": "commit",
      "value": "b235f1037c0f9253ae45ff440a33a93e964ad2ec",
      "note": "fixed"
    }
  ],
  "reporter": "joshbressers",
  "reporter_id": 1692786,
  "notes": "",
  "description": "drm: Lock pointer access in drm_master_release()\n\nThis is an automated ID intended to aid in discovery of potential security vulnerabilities. The actual impact and attack plausibility have not yet been proven.\nThis ID is fixed in Linux Kernel version v4.14.237 by commit b235f1037c0f9253ae45ff440a33a93e964ad2ec. For more details please see the references link."
}
--- UVI JSON ---

This issue has been assigned UVI-2021-1000856


Create smarty/smarty CVE-2023-28447.yaml

Add smarty vulnerability
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-28447 https://github.com/smarty-php/smarty/security/advisories/GHSA-7j98-h7fp-4vwj

Thanks @jolelievre


XEMM Taker Filled trade info is incorrect

Describe the bug
// A clear and concise description of what the bug is.

filled trade info incorrect
run history --verbose
Steps To Reproduce
// A concise description of the steps to reproduce the buggy behavior:
run xemm and wait for fill on any market.
check fill trade info of taker exchange with exchange and bot.
I checked binance seems to be working fine.
should be a kucoin issue.
Here are the steps to reproduce the issue (see attachments in the section below):

Set up your configuration file with these parameters: ...
Start the bot using this command: ...
...

Screenshots
// If applicable, add screenshots to help explain your problem.
Release version
// Include your bot's version number (Can be found at the upper left corner of your CLI).
v1.0.0
Attachments
// Please attach your config file and log file to help us debug. It would be difficult for us to help you without those!
WARNING: Do NOT publish any exchange API keys or your wallet's private key. Whoever has access to them may steal your assets!
Optional: your discord username:

Hi @leastchaos can you share your logs or config file so we can have a look? Just checking if you happen to encounter errors while executing trades on the client. Thank you

Hi @rapcmia, I don't have the logs now but there was no issue in trade execution for these trades. Just history --verbose doesn't match actual trades executed. I think the trade history issue should just be for kucoin only


Update kinesis-stream-reader to get Librato source reporting back in place

Also update Puma to 3.4.0 - we were running a pretty ancient version (2.11) previously and it would no longer compile when installing gems.

👍


Release Selected

Start Date
No response
Implementation PR
#6
Reference Issues
No response
Summary
Users should be able to release only selected elements rather than everything that is currently work in progress.
Basic Example

Bob models a new car body
Bob wants to release just the new doors for others and keep the rest work in progress
Bob selects the doors
Bob runs the "ReleaseSelected" command

Drawbacks

Will require quite a bit of work to Crash & Crash.Server
Will require 'Release changes'

Unresolved questions
No response

Added Release Selected in this PR


License confusion?

Out of curiosity I followed the nix expressions and ended up in project.nix, which specifies BSD3, and so does the .cabal file, which even points to LICENSE. That file though seems to be MIT, which is also what github thinks this is licensed under.
Just thought I'd leave a note here.

Thank you for reporting this, I've updated the LICENSE file to BSD3.


Documentation is incorrect for timer "stop" function

It appears in the sample code the "stop" function is referred to as "end."  In its current form, the example code breaks because of this.

yeah sorry about that, fixed in https://github.com/mapbox/cumulative-timer/commit/dd2e6cbc988becdc2e440c20d7142003fa295322


CommonErrorHandler for asyncAcks and AckMode.MANUAL

Back port issue of: https://github.com/spring-projects/spring-kafka/issues/2677

Fixed via: https://github.com/spring-projects/spring-kafka/commit/8725b654e43f79704def2d073f6385e89297075a


Click popover bug

Describe the bug
Popover does not disappear correctly.
To Reproduce
Steps to reproduce the behavior.
Case 1

Go to 'Popover > Triggering'
Click on button 'Click popover'
Click on button 'Click popover' again
Popover doesn't disappear

Case 2

Go to 'Popover > Triggering'
Click on button 'Click popover'
Click on popover body
Click outside
Popover doesn't disappear

Expected behavior
In both above cases popover should disappear.

I have implemented those at https://flowbite-svelte.com/components/popover#Triggering so you can compare.

Hey @jjagielka,
I've fixed the issue (https://github.com/themesberg/flowbite/commit/961096580f25d04480419e2289a91f369f883f5a) when you click outside the popover component not closing. On the other hand, I would argue against toggling the visibility of the popover when clicking on the trigger element - the reason for this is because we also show it when clicking AND focusing it, meaning that even if you click it one, twice, or three times the element is still focused.
This in comparison with the dropdown component where we actually toggle the visibility of the dropdown is different because we don't show the dropdown menu when focusing the button, but only when there's an explicit action of opening it by hitting "ENTER" for keyboards or by clicking it via the mouse.
The Popover is different compared to the Dropdown from this POV - if you want to use the toggle functionality you can just use the Dropdown component instead - otherwise there would be no substantial difference between the two other than how we describe it and how the examples look.
Cheers,
Zoltan

if Click outside of browser Popover doesn't disappear, is this right?


Support Signed Byte and Unsigned Short Vertex Buffer Formats

In BGFX:

[x] Add the Int8 and Uint16 to the AttribType enum in bgfx.h
[x] Add capabilities for BGFX_CAPS_VERTEX_ATTRIB_INT8 and BGFX_CAPS_VERTEX_ATTRIB_UINT16
[x] Add the fulfilling format in the respective renderer_d3d11, d3d12, gl, mtl, and noop

In Babylon.js:

[x] Add ATTRIB_TYPE_INT8 and ATTRIB_TYPE_UINT16 as readonly values in NativeEngine.
[x] Fix up the switch case to route them correctly to native engine

In BabylonNative:

[x] Define ATTRIB_TYPE_INT8 and ATTRIBT_TYPE_UINT16 to map to the enum values from bgfx.h

All done!


requestPermission in connect, but no reject when denied

<!--
Have you read the plugins' Code of Conduct? By creating an Issue, you are expected to comply with it, including treating everyone with respect: https://github.com/tripflex/wifiwizard2/blob/master/CODE_OF_CONDUCT.md
-->
Prerequisites
Check all boxes if you have done the following:

[ ] Checked that your issue isn't already filed: https://github.com/tripflex/wifiwizard2/issues
[ ] Make sure you fill out the Issue Type below

Issue type
Select all that apply

[ x] Bug
[ ] Enhancement
[ ] Task
[ ] Question
[ ] Other

Description
[Description of the issue]
Steps to Reproduce

[First Step]
call connect method
[Second Step]
deny the permission
[and so on...]
can not get reject error

Expected behavior: [What you expect to happen]
Actual behavior: [What actually happens]
Reproduces how often: [What percentage of the time does it reproduce?]
Versions
Please include the plugin version that you are using and also include the OS, version and device you are using.
Additional Information
Any additional information, configuration or data that might be necessary to reproduce the issue.

@JackZhai2018 Did you find any solution for this issue ?


Gui Revamp

Mega PR incoming uh oh
Probably need at least 2 people to review this 🥲
closes #82
partially completes #81, due to appointment storage handlers + sample data added in this pr also

Codecov Report
Patch coverage: 8.20% and project coverage change: -2.93 :warning:

Comparison is base (23e4265) 36.64% compared to head (baa9644) 33.71%.

Additional details and impacted files
@@             Coverage Diff              @@
##             master      #93      +/-   ##
============================================
- Coverage     36.64%   33.71%   -2.93%
- Complexity      495      503       +8
============================================
  Files           165      171       +6
  Lines          3261     3633     +372
  Branches        321      364      +43
============================================
+ Hits           1195     1225      +30
- Misses         2015     2351     +336
- Partials         51       57       +6

Impacted Files
Coverage Δ

...main/java/seedu/address/commons/core/Messages.java
0.00% <ø> (ø)

...rc/main/java/seedu/address/logic/LogicManager.java
50.00% <0.00%> (-5.18%)
:arrow_down:

...edu/address/logic/commands/AddCustomerCommand.java
0.00% <0.00%> (ø)

...eedu/address/logic/commands/AddServiceCommand.java
0.00% <0.00%> (ø)

...eedu/address/logic/commands/AddVehicleCommand.java
0.00% <0.00%> (ø)

...java/seedu/address/logic/commands/ListCommand.java
100.00% <ø> (ø)

...u/address/logic/commands/ListCustomersCommand.java
0.00% <0.00%> (ø)

...du/address/logic/commands/ListServicesCommand.java
0.00% <0.00%> (ø)

...du/address/logic/commands/ListVehiclesCommand.java
0.00% <0.00%> (ø)

...du/address/logic/commands/ViewCustomerCommand.java
0.00% <0.00%> (ø)

... and 29 more

... and 2 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


⚛ Placeholder Website Fixes

Description
There are a few issues in the placeholder website.

The placeholder site has been fixed. https://ams.lingxi.li/


Logging $25 @bounty

https://docs.nestjs.com/techniques/logger

Hi this seems to still be open, can I work on it?


feat: Adds Ceph logo as icon for Helm charts

Describe what this PR does
Adds icon to the Helm charts, will show up at hub.helm.sh
It now looks like this (default grey icon):
https://hub.helm.sh/charts?q=ceph-csi
It will look like some of the examples here:
https://hub.helm.sh/
Added the logo to the repo since it I think the urls provided by the images at https://ceph.io/logos/ aren't static.
For example: https://i2.wp.com/ceph.io/wp-content/uploads/2016/07/Ceph_Logo_Stacked_RGB_120411_fa.png does not look futureproof.
Also pulled the logo through kraken.io and reduced the size from 45kb to 16kb :)
Helm lint advised to do this:
https://travis-ci.org/ceph/ceph-csi/jobs/572233234#L483

I think it is required, unless this will be backported to a different
branch as well.

The logo is not present yet, it is added with this PR and becomes
available once merged.
The URL works for other files just fine, i.e. https://raw.githubusercontent.com/ceph/ceph-csi/master/README.md

I think it is required, unless this will be backported to a different branch as well.

Its good to backport to other branches too!

I think it is required, unless this will be backported to a different
branch as well.

It will still work when it is backported since the image is present on the master.
@humblec How should I backport this?

LGTM. Approved. If the logo need to be taken from other place or backport or asset path change is required, we will get it by a followup PR.


Make the name of 'referesh-offsets' thread unique for different DynamicPartitionKafkaInputDStream instances

Currently the thread names for allrefreshOffsetsScheduler instances are same, which can't be distinguished in logs.
Set the name to refresh-offsets-%d won't solve the problem.
For each thread name, append a random uuid (only use first 8 chars).

LGTM

Current coverage is 75.26%

Merging #356 into master will decrease coverage by -0.45% as of 6197684

@@            master    #356   diff @@
======================================
  Files           45      45
  Stmts         4673    4673
  Branches       418     418
  Methods
======================================
- Hit           3538    3517    -21
+ Partial        181     178     -3
- Missed         954     978    +24

Review entire Coverage Diff as of 6197684

Powered by Codecov. Updated on successful CI builds.

The coverage decrease should be a false alarm, as this PR did not touch C# codes.


add loglog plot and fix type errors in examples

Here are the changes:

Add a loglog plot. One example can be viewed here(plot_025.png).

Two examples (test_mnist.ml and test_neural.ml) got type inconsistency problems. According to commit 09b6c, I assume it's safe to change Owl_dense_matrix_s to Owl_dense_matrix.S after the update of API. So far both examples run correctly and owl compiles without error.

Add some unmentioned coding style from CS3110 OCaml Style Guide.

This is a good PR. Thanks Jianxin. Changing Owl_dense_matrix_s/d/c/z and etc. to intermediate modules may cause some type issue in some modules, thanks for fixing them. 👍

@jzstark maybe also consider adding semilogx and semilogy two functions, both should be straightforward based on loglog? :)

Sure it will be done


Lock sign on icon

I have a lock sign on one of my FreeOTP buttons and I can not open this single one. So I’m not able to sign in to this specific account. What is wrong? Every other symbol works but this doesn’t. Is there no support for the “Deutsche Bahn” anymore? I have the latest iPhone update and also the latest update from FreeOTP. I need this 2 way identification for my account there is no other way to get access to it.

Having the same issue

the lock sign means that the token was additionally protected (for example, for iOS by FaceID). These protected tokens are not included into the recovery process or when you set up a new phone. So, the access to the protected token is gone. The fact that they are displayed in the app is misleading.

If you have access to the old phone and are able to unlock the token, is there any way to transfer it to the new phone?


Missing of referebce documentation for Microsoft.Azure.Storage.Common

There is no documentation for Microsoft.Azure.Storage.Common. Could you please provide reference document for the above namespace?
https://docs.microsoft.com/ja-jp/dotnet/api/overview/azure/storage/client?view=azure-dotnet
We sometimes need to check the reference how to use APIs but we cannot check that. For example, we cannot find the doc for "Microsoft.Azure.Storage.OperationContext".
Currently we need to check source code directly....
https://github.com/Azure/azure-storage-net/blob/master/Lib/Common/OperationContext.cs

@ToshinaoOnodera To understand the issue better, could you please provide more details on the issue you are experiencing? Do point any specific step or document section that you’re unable to follow? Also, kindly do share a screenshot of the issue after concealing any private details. Looking forward to your reply.

As you can see the above image, there is no "Microsoft.Azure.Common" namespace. However, we provide some class under "Microsoft.Azure.Common" namespace such as "https://github.com/Azure/azure-storage-net/tree/master/Lib/Common".
So we should provide the documentation for "Microsoft.Azure.Common" namespace.
If you need further clarification, please let me know.

@ToshinaoOnodera Thanks for bring this to our attention. Your feedback has been shared with the content owner for further review.

@ToshinaoOnodera Thanks for the feedback, we created an internal bug to the Storage Service team to notify them about the lack of documentation related to the mentioned name spaces. I'll go ahead and close this issue.


FR: Display the whole hierarchy instead of just the local relationships

I love the idea of this plugin and I would love to see a view where we could see the whole outline hierarchy at once, instead of just the relationships in the current pane.
Currently, I build the hierarchy myself in a sort of master outline note, and then use block references to bounce back and forth between individual notes and the outline, but if I could just generate that outline from the relationships that would be a huge overhead savings.

Thanks for the FR :)
I agree, this would be really useful! A bit of a secret, you can kind of do this already... You see, I've been working on this feature since the beginning. This issue speaks about it already #3. It turns out to be deceptively difficult though. If you try out the existing feature you'll see the problem.
If you open the list/matrix view, you'll see the Create Index button. If you click it, and open up the console log, you'll see a nested markdown list going all the way down the children tree. It isn't perfect, as you'll see. But I'm working on it!

@FTWynn will you let me know if this works in 0.8.19 :)
Clicking the Create Index button will now copy the index to your clipboard

Confirmed on the root note up to six levels deep for now! Child notes only copy the hierarchy relative to them.

What do you mean they only copy the hierarchy relative to them? Can you show me an example with the expected output

@SkepticMystic same thing I mentioned in the other thread—I'm pretty sure @FTWynn is asking for all the hierarchies at once. For example, my landing page only has one NT right now l

but the etymology page has lots

Ideally it would be structured to report the relationships. So in my second example this would do:

Although I think you'd need to do something to distinguish the "implied" vs real NTs RTs and BTs in my example--maybe a prefix in the settings?

I think I'm confused... It seems like there are a few different points here:

Show the entire hierarchy from the 'top' of the vault.
Show more than just child relationships.
Print the immediate neighbours to the current note

For each of those points:

Can't you just go to the 'top' note and create the index from there? Given that the index is relative to the current note, creating the index from the top should show you all children going down.
The way I have implemented it only considers child relations in a way that would be difficult to do differently.
This is different from what I thought the point of the index was. I assumed it should be a TOC type structure only going down from the current note

I have no top note, there are multiple interlocking hierarchies. I wanted the index so I could fix things and make it coherent, but even then there will be multiple hierarchies
2 + 3.  That's fine! It's okay if it's not doable. Here's an idea of a list of thesauri to compare to: https://www.asindexing.org/about-indexing/thesauri/online-thesauri-and-authority-files/

For 1. I could add an option to generate an index for all top notes at once.
A top note would be defined as a note with no parents. What do you think? This would be the same as manually going to each top note and pasting each index into one big one

Would be easy to do.
Just to confirm I'm understanding correctly, it would just copy what's already in the matrix view to your clipboard? So it would put the neighbours of the current note into the clipboard

1 sounds perfect, yes! Perhaps the feature could be "breadcrumb overview" or "full index" or something if you were looking for phrasing?
I'm not sure if I am understanding #3 though—I think yes? I was generally hoping to generate a whole hierarchy list so I could see things and then regularize them/correct errors :)

For 3. could you give me a bigger example. I think I'm struggling to see the full feature from the example you gave

yes -but i'll need a few days, have a conference today and moving tomorrow — don't be afraid to ping me if I forget

Whew, what a week! Time to resurface and describe more what I'm talking about!
So the goal I have is to recreate Beau Haan's approach to permanent notes (described in the video here), but to generate the permanent notes page. Linked timestamp shows the permanent notes page, but he start walking through the process at the 8 minute mark.
https://youtu.be/KoddCmn3eL0?t=1581
A key goal of the system is making it easy to navigate and click through, which means fluidly moving around that hierarchy of notes a lot while keeping the bigger picture in mind. Currently my permanent notes page (which is the top level page for breadcrumbs purposes) looks like this:

I can then put that note in the sidebar, and get something that looks like this as I work on individual notes.

That way I can navigate around the hierarchy by clicking, but also not lose my bearings.
Note that right now I'm using block refs, which I generate in the changelog at the bottom, to make it all work. I'm worried about how brittle this is, and breadcrumbs' approach seems much more robust. It leads to some weird questions in the individual notes (do I link to the full note, or the outline index block?). Also, If the hierarchy is generated instead of manual, there could then be other interesting ways to display it as well.
So, that's the user story I'm working through.

Made a bit of progress on this. There are now two commands for Breadcrumbs:

Create a local idnex (does what the Create Index button used to do)
Create a global index (does what I specified in point 3.)

@FTWynn I think there are a few different ideas floating around in this thread, so I'm struggling to grasp them individually as practical points I can add to the code. Perhaps we can discuss this on Discord, it would help me get a more coherent picture of what your FR is. Do you mind messaging me when you're able and we can discuss this? My handle on the Obsidian server is also @SkepticMystic 😄

@brimwats can I get that bigger example 😅
I hope your conference and move went well!

@brimwats can I get that bigger example 😅
I hope your conference and move went well!

Yes...except breadcrumbs no longer seems to work? I dunno something about the "create hierarchies" broke things for me. I can give you a zipped folder maybe?

@SkepticMystic here are two different folders with multiple hierarchies (thogh 600 is only 1 level deep rn)
500 - Research PKB & Methods.zip
600 - Etymologies & Onomastics.zip

@FTWynn @brimwats I think this FR is now possible in 2.1.0 :D
Using the new Down View, you can see an auto-updating index of all notes going down the child tree from the current note.
Press the Freeze button to stop it from changing

it is!! thanks so much 😀

Gonna consider this working, then.
Please do make another FR if your intention was something else


Inconsistent xmlns attributes in each def

I'm compiling a sprite and checking the file into my repo. But I'm getting inconsistent results. Sometimes, the xmlns attribute is added to each embedded <svg>, sometimes it is not. This is causing minor inconvenience, as it causes diffs in our pull requests when there aren't actual changes.
I've referenced what you wrote here about the inline setting and tried adding inline: false to my config, but it doesn't seem to solve the problem.
Here's my pipe:
.pipe(svgSprite({
  mode: {
    defs: {
      dest: '.',
      prefix: '',
      sprite: 'sprite.svg'
    }
  },
  svg: {
    dimensionAttributes: false
  },
}))

Thanks in advance!

@benjarwar I've got no explanation why it should give you inconsistent results, unfortunately, and I never experienced something similar. Could you please send me the source SVGs you're working with as well as tell me your Node / Gulp versions so I can try to reproduce it?

@benjarwar Thanks! Yeah, some sample SVGs (in the same style as used for the client project) would probably help to reproduce this. :)

Can you tell me which is the expected behavior, given my config without an inline value? Should the nested <svg> elements have xmlns attributes, or no?

@benjarwar Hard to say off the top of my head (and I don't exactly remember), it might depend on the input SVG. In any case, namespace declarations should be spripped when inline: true.

Setting inline: true seems to only affect the root level <svg> element. The nested elements still have xmlns attributes (and it's in the nested elements that I've seen inconsistencies).

Also experiencing this in https://github.com/rhinogram/rhinostyle if you pull-down, install deps, and run gulp icons

@jkphl ☝ That repo I linked to is a good example of source SVGs and what's being built. You can find the built icons in https://github.com/rhinogram/rhinostyle/blob/master/build/svg/sprite.svg

I'm also experiencing problems with xmlns attribute added to each symbol, if I use version 1.3.7. However if I use the 1.2.14 version, as also material-design-icons use, the problem disappears.

I didn't dig deeper into this so far, but I think this might be some SVGO plugin and its default behaviour. Maybe have a look at the removeXMLNS, removeEditorsNSData or removeUnusedNS plugin and disable it (see here for documentation).

@Kreeg no, but only because I haven't been using this library since 2017. 😅

Ok, feel free to create a new issue. A lot of changes have been done since 2017 :)


feat(meta): enlarge the meta length

What problem does this PR solve?

Issue Number: close #6451
What is changed and how it works?

Enlarge all string varchar length
For address, set length to 256 because a valid dns name is limited to 253, ref to: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/

Check List
Tests
Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
 `None`.

/area engine
/status ptal

/cc @amyangfei  @CharlesCheung96

/run-all-tests

/run-dm-compatibility-test
/run-dm-integration-test
/run-kafka-integration-test
/run-integration-test

/merge

Codecov Report

Merging #6452 (b1ee63b) into master (f14088c) will increase coverage by 0.1784%.
The diff coverage is 76.2863%.

:exclamation: Current head b1ee63b differs from pull request most recent head 4e13088. Consider uploading reports for the commit 4e13088 to get more accurate results

Flag
Coverage Δ

cdc
66.0473% <71.9101%> (+0.1539%)
:arrow_up:

dm
52.0459% <ø> (+0.0327%)
:arrow_up:

engine
64.0704% <82.7777%> (+0.6073%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.
@@               Coverage Diff                @@
##             master      #6452        +/-   ##
================================================
+ Coverage   59.2403%   59.4188%   +0.1784%
================================================
  Files           754        758         +4
  Lines         86755      87065       +310
================================================
+ Hits          51394      51733       +339
+ Misses        30799      30755        -44
- Partials       4562       4577        +15


Allow use of env variables for providerconfig

What problem are you facing?
In a regulated environment, we are evaluating the usage of crossplane and the terraform provider.
While evaluating the use of different providerconfigs, we did not find a way to inject environment variables from a secret to the provider config.
Like this here:
https://github.com/crossplane-contrib/provider-aws/blob/master/examples/providerconfig/secret.yaml#L18
  credentials:
  - source: Secret
     secretRef:
       namespace: crossplane-system
       name: example-creds
       key: credentials

we have tried something like this:
  credentials:
  -  source: Secret
      env: MY_ENV_VAR
      secretRef:
        namespace: crossplane-system
        name: example-creds
        key: credentials

But currently, it is not possible in the provider-terraform to inject the env variable only. The credential requires you to provide a filename:
https://github.com/upbound/provider-terraform/blob/main/package/crds/tf.upbound.io_providerconfigs.yaml#L112
Trying with filename doesn't seem to do anything:
  credentials:
  - source: Secret
     filename: myfilename
     env: MY_ENV_VAR
     secretRef:
       namespace: crossplane-system
       name: example-creds
       key: credentials

btw:
supplying a full path or a relative path doesn't work neither:
  credentials:
  - source: Secret
     filename: /mypath/myfilename
     # filename: ./auth/myfilename # doesn't work neither
     secretRef:
       namespace: crossplane-system
       name: example-creds
       key: credentials

Related PR - https://github.com/upbound/provider-terraform/pull/74 for Workspace ENV vars, but not from ProviderConfig


Icon request

Kiwi Browser (com.kiwibrowser.browser)
Retro Music (code.name.monkey.retromusic)
Zoom (us.zoom.videomeetings)
Timestamp Camera (com.jeyluta.timestampcamera)
Sheets (com.google.android.apps.docs.editors.sheets)
Shopee (com.shopee.id)
Tokopedia (com.tokopedia.tkpd)
Mitra Tokopedia (com.tokopedia.kelontongapp)

Hello! Weʼre switching to a new system for icon requests in order to be able to better manage them. From now on, icon requests can be submitted here: https://forms.gle/Fx8vZAiWdW1Tyjo57. If your icon request hasnʼt yet been fulfiled, it has been copied to our new icon request database, meaning no action is required. Consequently, this issue will be closed.


Livestream gui

Pull Request
What type of PR is this? (check all applicable)

[ ] Refactor
[x] Feature
[ ] Bug Fix
[ ] Optimization
[ ] Documentation Update

Description
Adds a gui for the MATE livestream. Use the new competition_launch.py in surface_main
Related Tickets & Documents

Related Issue #
Closes #118

I'm not entirely sure why it show so many commits on this branch, I made it this morning


Warn if replace section replaces nothing

If I make a typo in the [replace] section and spell the name of the crate wrong, I don't get any warnings and errors.
I think replacing a crate that does not exist anywhere in the graph should be at least a warning.

Similar to https://github.com/rust-lang/cargo/issues/3099, but seems reasonable to me for sure


Report title should include project name

The date structure for the Report already includes a projectName field, but it is never set during testing phase.

I can't imagine how to get the project name or what that even is exactly, so I will close this issue for now.


Move grafana dashboards to osparc-ops-deployment-configuration

The grafana dashboards are per-deployment assets and should thus, like the maintenance pages, go into the osparc-ops-deployment-configuration repo, at least conceptually.

resolves https://github.com/ITISFoundation/osparc-ops-environments/issues/555


core-to-plc: compile (trivially) via PIR

This makes it so that the Core plugin goes via PIR in a very trivial way: it does the trivial embedding of PLC into PIR, and then invokes the compiler (which will just lower it back again).
However, this does put the dependencies in place and set up the plugin scaffolding, which is useful.

Can we do the following: parse golden files, check for equality using the Eq instance of Type/Term and if successful, then rewrite the golden file, otherwise show an error?

Interesting idea. Sadly, I don't think we have that option if we keep using the tasty golden library, which just expects to compare the files as ByteStrings.


console isn't working

Yeah um, I press F2 but it only decreases my volume.
Help pls.

This isn't the right repository for this issue. Nevertheless, I assume you've got a laptop. In that case, it's your laptop's fault. Have you tried pressing FN + F2?

Oh, I forgot about that. Thanks it works now.


Do we need to show buffer graphic on the map?

@ScottOppmann @NikkiGolding @lindsayking
Scott and I were chatting. Do we want to show the buffer graphic on the map
The results lists is generated from buffer.
The buffer graphic is drawn on the  map  but features are not filtered.
Do we want to show the graphic on the buffer?

#186
Answer to this question is making it transparent

#186
Answer to this question is making it transparent


How to change the color of the cursor itself

I am using monokai-pro in neovim (specifically LunarVim).  I have a very hard time seeing the actual cursor: it is dark blue.  I would like the cursor to be white, but I can't figure out how to accomplish that particular override.  How would this be accomplished in the setup?

Can you provide me with an image? I think it may be because of the terminal cursor instead? Because the cursor has color white in monokai-pro


Obsolete phosphoenolpyruvate carboxykinase deficiency, mitochondrial

phosphoenolpyruvate carboxykinase deficiency, mitochondrial MONDO:0009864
Obsoleted in Orphanet
Suggested term to consider Phosphoenolpyruvate carboxykinase deficiency
0000-001-9310-0163
Thank you, Gioconda Alyea

@galyea123
This term is a real disease (we have cross-ref to other sources) and should not be obsoleted.
It has been obsoleted in Orphanet because it is not considered rare anymore. This subset should be updated after the next rare subset update.

[like]  Gioconda Alyea reacted to your message:

From: Sabrina Toro @.>
Sent: Friday, March 22, 2024 5:13:55 PM
To: monarch-initiative/mondo @.>
Cc: Gioconda Alyea @.>; Mention @.>
Subject: Re: [monarch-initiative/mondo] Obsolete phosphoenolpyruvate carboxykinase deficiency, mitochondrial (Issue #7419)
@galyea123https://github.com/galyea123
This term is a real disease (we have cross-ref to other sources) and should not be obsoleted.
It has been obsoleted in Orphanet because it is not considered rare anymore. This subset should be updated after the next rare subset update.
—
Reply to this email directly, view it on GitHubhttps://github.com/monarch-initiative/mondo/issues/7419#issuecomment-2015541670, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A4QAWDZIQ52BSCI4X6S2DF3YZRRFHAVCNFSM6AAAAABEY4OWHGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMJVGU2DCNRXGA.
You are receiving this because you were mentioned.Message ID: @.***>
Any review, use, distribution or disclosure by others is strictly prohibited.


Compound preLaunchTask

Refs: https://github.com/microsoft/vscode/issues/45676

[x] macOS: @weinand
[x] windows: @alexr00

Complexity: 3
Have a compound configuration, which references a preLaunchTask.
Example of a compound configuration  can be found here
Verify:

The compound preLaunchTask gets executed before the launch configurations get launched
You can have a compound configuration in the workspace settings file. This compound configuration can reference a task that is defineind in the workspace configuration file.
In case of a task error, none of the compound configurations are started

It looks like with the current insiders build, I can now define "tasks" inside the .code-workspace file (in the normal build it complains it is not allowed). According to the description here, a compound can use one of these tasks as preLaunchTask; out of curiosity I downloaded the build and got it working.
However, a configuration defined in the .code-workspace file may have a preLaunchTask as well - but I cannot use it because it complains with the same error as in this comment: https://github.com/microsoft/vscode/issues/58818#issuecomment-424688853. Is there a particular reason you're implementing the more complicated feature while the simple one (i.e. preLaunchTask for individual configs) is not supported/broken? I would expect that since tasks can now be defined in a .code-workspace file, they can also be referenced by both launch configs and compounds.

Tasks are specific to the location in which they are defined an cannot be referenced outside of that location. Example:  a task defined in a tasks.json cannot be referenced from another folder's tasks.json or from a code-workspace file. Tasks are currently very tied to a folder, so any change to make them cross-folder is currently out of scope.

What I see in the insider build is that I can define tasks in a workspace file, and I can reference them as preLaunchTask from the compounds section defined in that same workspace file => the very same thing that is described in this issue.
And what I do not understand - and was trying to clarify in the previous comment - is why I cannot reference those tasks as preLaunchTask from the configurations section defined also in the same workspace file. I mean, if the tasks are tied to a folder, you've already solved this problem when deciding tasks in the workspace file are acceptable...
What am I missing here?

You're right, looks like that doesn't work. New issue for that: https://github.com/microsoft/vscode/issues/83992


logging: log_backend_ble: add level prefix and improve flag settings

Two changes:

Enable the logging level prefix as default. I think this adds a lot of value and allows for easy filtering of messages on the receiving device
For those flags that have an equivalent Kconfig option, match its value

@vChavezB I am tagging you because you worked on this module.

Two cents on this:
Could we instead use the BLE UART emulator? This emulator acts as an UART driver and enables BLE Logging through the UART backend.
BLE Logging backend was initially going to be deprecated when the emulator was introduced but there were some comments on the BT UART emulator being experimental and 'less simple' (see: https://github.com/zephyrproject-rtos/zephyr/pull/68076#issuecomment-1945971326 and https://github.com/zephyrproject-rtos/zephyr/pull/69881#discussion_r1520816304).
Given the emulator has been released for the LTS and I'm planning to keep maintaining it, perhaps we sould start the deprecation process for the Logging Backend?
CC: @bjarki-andreasen @jori-nordic @vChavezB

@ubieda just to validate, the uart emulator is NUS right?

just to validate, the uart emulator is NUS right?

Correct

Two cents on this:
Could we instead use the BLE UART emulator? This emulator acts as an UART driver and enables BLE Logging through the UART backend.
BLE Logging backend was initially going to be deprecated when the emulator was introduced but there were some comments on the BT UART emulator being experimental and 'less simple' (see: https://github.com/zephyrproject-rtos/zephyr/pull/68076#issuecomment-1945971326 and https://github.com/zephyrproject-rtos/zephyr/pull/69881#discussion_r1520816304).
Given the emulator has been released for the LTS and I'm planning to keep maintaining it, perhaps we sould start the deprecation process for the Logging Backend?
CC: @bjarki-andreasen @jori-nordic @vChavezB

I am not familiar with the BT UART emulator so I won't comment directly on it but what I like about the BLE logging backend is:

It's simple and straightforward, doesn't require many more Kconfig options
It inherits the logging configuration
I can still keep my wired RTT console connection and see logs there as well if I want to. Would the UART emulator allow that or would it clash with the RTT console?
Small flash memory footprint. How does that compare to the UART emulator?

Well, at the time, I also argued that the emulator was more complex, but, it is more flexible. The emulator does provide a more scalable solution compared to the dedicated ble logging backend. I think it makes most sense to make the shell/logging uart backends multi instance (if they arent already) and deprecate the ble log backend

Understood. I was looking for the BT UART emulator (through the UART_BT option) to try it out but it seems that it does not exist in the nRF Connect SDK v2.7.0, which is what I use.
I know that this conversation is now shifting to a Nordic Semiconductor domain but I would appreciate if anyone could explain how to achieve what I am looking for.
For now I am thinking of keeping the BLE logging backend enabled and apply local patches to it like this diff.
Otherwise, I think the PR can be closed.

@dathpo Good news: UART_BT is on NCS 2.7.0 :)
Here's how you try it on Logging. Check out:
west build -b nrf52840dk/nrf52840 -S nus-console samples/subsys/logging/logger

@dathpo Good news: UART_BT is on NCS 2.7.0 :)
Here's how you try it on Logging. Check out:
west build -b nrf52840dk/nrf52840 -S nus-console samples/subsys/logging/logger

Thanks @ubieda, I can see the sample. It turns out I was running the UART_BT search on an NCS clone that didn't have the modules setup, including the zephyr repository.
I will close the PR once I run the example if I don't have any related questions, if everyone is ok with that.

@ubieda I tested the logging functionality with UART_BT and it works well after applying a few tweaks. The points I had to tweak:

If I keep the MTU as with its current default value of 20, I enter an infinite loop of connecting and logs being streamed, but the conn.c:1528 warning Unable to allocate buffer within timeout is thrown before pairing and subscription, which triggers a disconnection. The same error occurs on the following attempts. I have tried increasing the TX buffers but it doesn't make a difference. I see that you are working on https://github.com/zephyrproject-rtos/zephyr/pull/77178 but I was wondering if there is anyway I can avoid this issue without increasing the default MTU value in uart_bt.c?
When compiling with the default CONFIG_UART_LOG_LEVEL, which seems to be INF, I get endless Ring buffer full, discard prints on the console, and which seem to also jam any BLE connection with my target due to the repeated sends. Setting the log level to WRN or setting that print to DBG allows me to continue. Perhaps the message should be at the DBG level? Unless I've misunderstood and there is a problem with my setup.

If I keep the MTU as with its current default value of 20, I enter an infinite loop of connecting and logs being streamed, but the conn.c:1528 warning Unable to allocate buffer within timeout is thrown before pairing and subscription, which triggers a disconnection. The same error occurs on the following attempts. I have tried increasing the TX buffers but it doesn't make a difference. I see that you are working on serial: bluetooth: Maximize notification payload size based on ATT MTU #77178 but I was wondering if there is anyway I can avoid this issue without increasing the default MTU value in uart_bt.c?

Not sure about this one: can you capture an issue with repro steps? I'll take a look.

2. When compiling with the default CONFIG_UART_LOG_LEVEL, which seems to be INF, I get endless Ring buffer full, discard prints on the console, and which seem to also jam any BLE connection with my target due to the repeated sends. Setting the log level to WRN or setting that print to DBG allows me to continue. Perhaps the message should be at the DBG level? Unless I've misunderstood and there is a problem with my setup.

This seems like an oversight on my part: We can change this to be LOG_WRN_ONCE so it doesn't clutter the logs (see: #70282). Would you like to file a PR for this?

Issue captured: https://github.com/zephyrproject-rtos/zephyr/issues/77435
PR opened: https://github.com/zephyrproject-rtos/zephyr/pull/77430

Thanks @ubieda, I will close this this PR now.


Failed to create database on initial launch

⚠ Please verify that this bug has NOT been reported before.

[X] I checked and didn't find similar issue

🛡 Security Policy

[X] I agree to have read this project Security Policy

Description
Install on OMV 7.4.7-1
Container fails to start with the following error:
[SERVER] ERROR: Failed to prepare your database: PRAGMA journal_mode = WAL - SQLITE_IOERR: disk I/O error
This may or may not be related to the data drive being a mergerfs pool.
👟 Reproduction steps
Create a docker compose file using the interactive compose.yaml generator.
Save it and run it using the Compose GUI in OMV.
👀 Expected behavior
Dockge running without an error.
😓 Actual Behavior
Dockge failing to run and giving the error:
[SERVER] ERROR: Failed to prepare your database: PRAGMA journal_mode = WAL - SQLITE_IOERR: disk I/O error
Dockge Version
1.4.2
💻 Operating System and Arch
Debian 12
🌐 Browser
Firefox 128.0.3
🐋 Docker Version
No response
🟩 NodeJS Version
No response
📝 Relevant log output
2024-09-03T10:31:42Z [SERVER] INFO: Welcome to dockge!
2024-09-03T10:31:42Z [SERVER] INFO: NODE_ENV: production
2024-09-03T10:31:42Z [SERVER] INFO: Server Type: HTTP
2024-09-03T10:31:42Z [SERVER] INFO: Data Dir: ./data/
2024-09-03T10:31:42Z [DB] INFO: Database Type: sqlite
2024-09-03T10:31:42Z [SERVER] ERROR: Failed to prepare your database: PRAGMA journal_mode = WAL - SQLITE_IOERR: disk I/O error

I have the same error trying to install dockge on omv docker, also using a mergerfs pool. All files get created correctly.


MM-35837 Improve batching of channel-related actions on post receipt

One of the causes of slowdowns when receiving a post is that a lot of components re-render due to changes in state.entities.channels.channels (which happens whenever any channel changes). A lot of components depend on this object, particularly the sidebar.
Because of how the post receiving actions are written, we dispatch a few rounds of actions as we're updating various fields containing unread information. It's easier to see this when we add an artificial delay between the batches since you'll see the re-render flicker happen a few times as everything happens.
https://user-images.githubusercontent.com/3277310/121036766-ec581600-c77c-11eb-9071-d16045a921d1.mov
By making the code a bit clunkier, we remove an extra re-render and cut a fair bit of time off the render.
https://user-images.githubusercontent.com/3277310/121038000-e9a9f080-c77d-11eb-9aa7-8939307e3f25.mov
I compared the time taken by each conn.onmessage call done when the websocket event for the new post was received, and while the times were a bit inconsistent run to run (I blame my Macbook's thermal throttling), there seemed to be about a 40-50% decrease in time taken when viewing a channel with only a few posts.

Ticket Link
https://mattermost.atlassian.net/browse/MM-35837
Release Note
Reduced time taken re-rendering when a post is received

As a followup to this, I'd like to look at why exactly everything re-renders when state.entities.channels.channels changes. Some things like the outer components of the sidebar re-rendering makes sense since the unread state changing could affect sort order and which DMs are displayed, but each sidebar item appears to be re-rendering which is concerning. That could also tie to how the performance issues seem to have been exacerbated by the new sidebar.
I'm also still unsure of how longer threads tie into this except for long threads just having poorer performance to begin with.

As a followup to this, I'd like to look at why exactly everything re-renders when state.entities.channels.channels changes. Some things like the outer components of the sidebar re-rendering makes sense since the unread state changing could affect sort order and which DMs are displayed, but each sidebar item appears to be re-rendering which is concerning. That could also tie to how the performance issues seem to have been exacerbated by the new sidebar.
I'm also still unsure of how longer threads tie into this except for long threads just having poorer performance to begin with.

@hmhealey my branch here did some work to prevent re-rendering of a lot of the top-level components when state.entities.channels.channels changes. I didn't do much with the sidebar though.

@hmhealey got some conflicts and a test failing too

Cherry pick is scheduled.

Error trying doing the automated Cherry picking. Please do this manually
+++ Updating remotes...
Fetching upstream
Failed to add the RSA host key for IP address '<IP_ADDRESS>' to the list of known hosts (/app/.ssh/known_hosts).
From github.com:mattermost/mattermost-webapp
 * [new branch]          MM-35191-show-banner-in-user-timezone -> upstream/MM-35191-show-banner-in-user-timezone
   28a011444..950e8fcd0  MM-35538-display-purchase-modal-when-coming-from-email -> upstream/MM-35538-display-purchase-modal-when-coming-from-email
 * [new branch]          ben_aws-direct        -> upstream/ben_aws-direct
   c8d48f656..f9c3e50b6  cloud                 -> upstream/cloud
 * [new branch]          lock-release-6.0      -> upstream/lock-release-6.0
   32cae8417..cd24e9d9e  master                -> upstream/master
 * [new branch]          release-5.35-perf-fix -> upstream/release-5.35-perf-fix
 * [new branch]          release-6.0           -> upstream/release-6.0
Fetching origin
Failed to add the RSA host key for IP address '<IP_ADDRESS>' to the list of known hosts (/app/.ssh/known_hosts).
+++ Updating remotes done...
+++ Creating local branch automated-cherry-pick-of-mattermost-webapp-#8222-upstream-release-5.35-1623339561
Switched to a new branch 'automated-cherry-pick-of-mattermost-webapp-#8222-upstream-release-5.35-1623339561'
Branch 'automated-cherry-pick-of-mattermost-webapp-#8222-upstream-release-5.35-1623339561' set up to track remote branch 'release-5.35' from 'upstream'.

+++ About to attempt cherry pick of PR #8222 with merge commit cd24e9d9e7c4c1d5e3dcab921b5b52fabb8b27fc.

error: could not apply cd24e9d9e... MM-35837 Improve batching of channel-related actions on post receipt (#8222)
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'

+++ Conflicts detected:

UU actions/new_post.test.js
UU actions/new_post.ts
UU actions/post_actions.test.js
UU packages/mattermost-redux/src/actions/channels.ts
Aborting.

+++ Aborting in-progress git cherry-pick.

+++ Returning you to the master branch and cleaning up.

/cherry-pick release-5.36

Cherry pick is scheduled.

Error trying doing the automated Cherry picking. Please do this manually
+++ Updating remotes...
Fetching upstream
Failed to add the RSA host key for IP address '<IP_ADDRESS>' to the list of known hosts (/app/.ssh/known_hosts).
From github.com:mattermost/mattermost-webapp
   5101c3a25..6fd366aee  MM-34437           -> upstream/MM-34437
 * [new branch]          MM-36235           -> upstream/MM-36235
   f9c3e50b6..ea1ccc1dc  cloud              -> upstream/cloud
 * [new branch]          emoji-data         -> upstream/emoji-data
 * [new branch]          emoji-makefile     -> upstream/emoji-makefile
   f0f7f4a4b..533795f2e  master             -> upstream/master
   54cfea033..28aee0b08  mm-35853           -> upstream/mm-35853
 * [new branch]          mm-36490           -> upstream/mm-36490
 * [new tag]             cloud-2021-06-16-1 -> cloud-2021-06-16-1
 * [new tag]             v5.36.0            -> v5.36.0
Fetching origin
Failed to add the RSA host key for IP address '<IP_ADDRESS>' to the list of known hosts (/app/.ssh/known_hosts).
+++ Updating remotes done...
+++ Creating local branch automated-cherry-pick-of-mattermost-webapp-#8222-upstream-release-5.36-1623959155
Switched to a new branch 'automated-cherry-pick-of-mattermost-webapp-#8222-upstream-release-5.36-1623959155'
Branch 'automated-cherry-pick-of-mattermost-webapp-#8222-upstream-release-5.36-1623959155' set up to track remote branch 'release-5.36' from 'upstream'.

+++ About to attempt cherry pick of PR #8222 with merge commit cd24e9d9e7c4c1d5e3dcab921b5b52fabb8b27fc.

error: could not apply cd24e9d9e... MM-35837 Improve batching of channel-related actions on post receipt (#8222)
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'

+++ Conflicts detected:

UU actions/new_post.ts
Aborting.

+++ Aborting in-progress git cherry-pick.

+++ Returning you to the master branch and cleaning up.


core: refactor command line options parse (minor)

Saw the recent commit about --version and while reading the code did a small refactor.
Nothing special, put a newline between each "argument block", moved --help on top (check and eventually exit) and removed the showHelp variable since it's not needed below.

@fufexan @vaxerski is it ok now?


Fix the AddTSRMarker Bug

See #617 for more details on the issue and proposed fix
This code was tested by ensuring that ada_feeding's "Check TSR" code (e.g., [here](actions where they ask the researcher to check the TSR)) does not crash.

Before creating a pull request

[N/A] Document new methods and classes
[X] Format code with make format

Before merging a pull request

[ ] Set version target by selecting a milestone on the right side
[ ] Summarize this change in CHANGELOG.md
[N/A] Add unit test(s) for this change

Associated libada PR (to change python bindings accordingly)


[Swift] Add support for BridgeObject-based Set/Dictionary

In https://github.com/apple/swift/pull/19688, we’re switching the variant type of Set and Dictionary from a custom enum to a BridgeObject. Add support for this to lldb.

@swift-ci please test

This adds yet another variant to the pile of supported layouts, with some parts going back to Swift 3 or even earlier.
I'll submit a cleanup removing obsolete variants when this is over.

Please kindly test with the following PR:
https://github.com/apple/swift/pull/19688
@swift-ci test

21:01:54 AssertionError: False is not True : 'frame variable -d run -- d2' returns expected result, got '([NSObject : AnyObject]) d2 = {}'
..
21:03:44 FAIL: test_dictionary_nsobject_any_object_dsym (lang/swift/variables/dict_nsobj_anyobj/TestSwiftDictionaryNSObjectAnyObject.py)
21:03:44 FAIL: test_dictionary_nsobject_any_object_dwarf (lang/swift/variables/dict_nsobj_anyobj/TestSwiftDictionaryNSObjectAnyObject.py)

Hm, the tests might not have picked up the correct swiftc.

https://github.com/apple/swift/pull/19688
@swift-ci test

🤔 Looks like some of the tests might be using a previous compiler release, or that we still depend on some aspect of the obsolete layouts. I’ll spin the removals off to a separate PR.

apple/swift#19688
@swift-ci test


Signing plugin fails build with multiple publications of the same artifacts

Current Behavior
Signing fails if project has more than one publication of the same artifacts:
A problem was found with the configuration of task ':signPub2Publication' (type 'Sign').
  - Gradle detected a problem with the following location: '<path-to-project>/build/libs/signing-plugin-inputs-problem-1.0-SNAPSHOT.jar.asc'.

    Reason: Task ':publishPub1PublicationToMavenRepository' uses this output of task ':signPub2Publication' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed.

    Possible solutions:
      1. Declare task ':signPub2Publication' as an input of ':publishPub1PublicationToMavenRepository'.
      2. Declare an explicit dependency on ':signPub2Publication' from ':publishPub1PublicationToMavenRepository' using Task#dependsOn.
      3. Declare an explicit dependency on ':signPub2Publication' from ':publishPub1PublicationToMavenRepository' using Task#mustRunAfter.

    For more information, please refer to https://docs.gradle.org/8.10.2/userguide/validation_problems.html#implicit_dependency in the Gradle documentation.

Expected Behavior
Signing plugin works fine with any number of publications within a project.
Context (optional)
Perhaps, the signing plugin should be able to detect that it's requested to sign the same artifact twice and reuse the same task/output.
Another solution could be to separate output files per signing task.
Self-contained Reproducer Project
https://github.com/ALikhachev/signing-plugin-inputs-problem-repro
Gradle version
8.10.2
Build scan URL (optional)
No response
Your Environment (optional)
No response

This issue will be closed as a duplicate of

https://github.com/gradle/gradle/issues/15568

Please add your use case and 👍 to that issue.
If you think our analysis is wrong, please provide us with more detailed information explaining why.

The root cause is that we generate the files in the same place, which is what the related issue is about.


feat: spire key methods

📦 Pull Request
Ticket: https://magiclink.atlassian.net/browse/PDEEXP-2014
✅ Fixed Issues

[List any fixed issues here like: Fixes #XXXX]

🚨 Test instructions
[Describe any additional context required to test the PR/feature/bug fix.]
⚠ Don't forget to add a semver label!
Please 🚨 ONLY ADD ONE 🚨 of the following labels, failing to do so may lead to adverse versioning of your changes when published:

patch: Bug Fix?
minor: New Feature?
major: Breaking Change?
skip-release: It's unnecessary to publish this change.

Special Note
Please avoid adding any of the Priority labels as they conflict with the labels above ☝

📦 Published PR as canary version: Canary Versions

:sparkles: Test out this PR locally via:
npm install<EMAIL_ADDRESS># or
yarn add<EMAIL_ADDRESS>

:rocket: PR was released in<EMAIL_ADDRESS>:rocket:


Better way to notify the user to install pysen-ls

Hello I like the project.
I understand most users will read the README and install pysen-ls accordingly, but when the user doesn't,
it takes a while for VSCode to show the user these two pop-up windows.

The user also needs to navigate to the "output" window to see that pysen-ls is not found.
I think it'll improve the user experience if the error windowed showed immediately and notified the user that pysen-ls is not found in the corresponding environment.

Sounds good :+1:
It is better to show an error window that says "pysen-ls is unavailable" in such an environment.


Make conf thread safe

Moving PromiseKit.conf to a static variable would enable (thread safe) lazy initialization. Something like:
struct Configuration {

    let label: String

}

struct ConfContainer {

    static var _conf: Configuration = Configuration (label: "Default")

    static let conf = { return _conf }()

}

ConfContainer._conf = Configuration (label: "As Set")
print (ConfContainer.conf.label)

-> "As Set"
The actual implementation should probably log a warning if the _conf var is set after conf has been initialized.
I got the idea from this stack overflow post. The post actually says that global variables initialize lazily but this this didn't work in my playground. I suppose it might work in a project.
I'm happy to work up a PR (eventually, not immediately), but if you are interested in going this way we should discuss naming and design first.
Breaking change, obviously.

We have a contract that you set this thread-safely in the docs.
When this was objc, we wrapped it in a dispatch_once to prevent it being set more than once and make it threed safe, but Swift does not expose this (claiming instead you can use the static initialization you provide), but that doesn't allow us to enforce it is only set once, we had some nice unconventional code for that.
Either way, not sure this is worth it. Setting the conf is only supported once on main, before any promise usage, by contract.
Still whatever, if you want to do it, go for it. It cannot change the API obv.

but that doesn't allow us to enforce it is only set once

I guess I don't understand what you mean by "enforce". let provides "set once" semantics enforced by the compiler.

Either way, not sure this is worth it

I only looked at it today because I got a thread sanitizer warning on an overnight test run. However, this was one warning over thousands of test runs, and the race is actually in the test code not the production code.
Nonetheless, if a library user botches the "contract" their app could crash. Such a problem could go unnoticed during testing. This solution makes this (admittedly unlikely) crash impossible (although execution would proceed with an unexpected conf).

Still whatever, if you want to do it, go for it. It cannot change the API obv.

I read this as if you want to waste your time on this be my guest, but don't waste mine. On those terms, I won't bother. I'm not likely to be bitten by this in production. If I'm misreading your intention let me know.

Yeah I don't like that it's a contract, but dispatch_once is not available to Swift. Your proposal presumably works, but it seems like a hack based on behavior that can vary (this has recently been discussed on Twitter). I’m not sure it's worth it.
Seems weird you're getting a thread sanitizer warning, but I guess it's thorough.
Ideally SwiftPM will support compile time settings for deps at some point, but I don't expect that to happen.
Like, as I say, I'm fine with it, provided we're 100% sure it's safe.
Seems like a hack though, what we want is a dispatch_once type thing.
var conf: Conf {
   set {
      dispatch_once{ _conf = newValue }
   }
   get { _conf }
}

Code we had was more complicated than that. I forget.

per https://docs.swift.org/swift-book/LanguageGuide/Properties.html
"Stored type properties are lazily initialized on their first access. They are guaranteed to be initialized only once, even when accessed by multiple threads simultaneously, and they do not need to be marked with the lazy modifier."
Doesn't this mean that we would be relying on a documented behavior of the language, not a hack? Granted, it doesn't explicitly say that subsequent reads of the let property are guaranteed to be thread safe. I remember reading this in the official documentation some time ago (for lets in general, not specifically static lets), but I only find it in blog posts and articles now.


TC-IDM-10.7: Implement command checking test

Please see https://github.com/project-chip/connectedhomeip/issues/36716 for why the OTA requestor command is skipped in CI. The goal of this PR is not to fix the OTA requestor issue, but to catch it in cert.
https://github.com/CHIP-Specifications/chip-test-plans/pull/4798 for test plan

re-drafting this - as pointed out in the test plans, we can play some games here with the ACL in order to ensure we're not doing anything with side effects. At that point, doing the full ACE test is a relatively straightforward extension that covers the same functionality. So I'm going to change this to do that instead.

whoopsie doodles - changed the branch name thinking this would stay open. Lesson learned. Ah well. Will open a new one.


bugfix for CDAP-20537

Seeing null input schema error when using Salesforce plugin v 1.4.4
https://cdap.atlassian.net/browse/CDAP-20537

Pleas raise a PR against develop as well.


neovim-unwrapped: fix disallowedRequisites check

Description of changes
see https://nix.dev/manual/nix/2.18/release-notes/rl-2.2
or https://nix.dev/manual/nix/2.18/language/advanced-attributes#adv-attr-outputChecks
This seems to be the only package affected, per
comm -12 <(rg -l 'allowedReferences|allowedRequisites|disallowedReferences|disallowedRequisites|maxClosureSize|maxSize' | sort | uniq) \
<(rg -l 'structuredAttrs' | sort | uniq)

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

#334915


Sharing of Scenario Trends graph

Discussed in https://github.com/ludeknovy/jtl-reporter/discussions/240

Originally posted by johnqa October  3, 2023
Hi,
It's great to be able to share reports but it would be wonderful if we could also share Scenario Trends graph for a quick overview in time of how our AUT performs.
Thanks,
John

Merged.
^^ @johnqa

Great, do you want me to test it? Or you will create a new release and version?

It's available in latest images.
I will create a new version later.


Port Hyperledger Code to new Repositories

Chaincode, dev_network, API, all get their own repositories for cleaner versioning


Port core CLI features to .NET Core (aside from host start)

Most CLI features should be relatively easy to port to .NET Core and work cross platform. Func new, publish, etc.

Moving to backlog, since it doesn't make that much sense to do this without being able to run the host locally.

closing this as a dup of #13


Config webpack for lazy loading

This is a technical detail of https://github.com/mitodl/ocw-hugo-themes/issues/648 that I think is best handled separately from the videoJS / nanogallery changes.
Webpack (and other bundling tools) support dynamic resource loading along the lines of:
// js bundle entrypoint
const loadVideoJs = () => import("./init_videojs").then(module => module.initVideoJs())

// init_videojs_example.js
import "videojs" // very large
const initVideoJs = () => { /* initialization code */ }

When a dynamic import like import("./init_videojs_example") is used:

webpack automatically splits our js into separate chunks, putting ./init_videojs_example and its dependencies in a separate chunk from the entrypoint
Initially, the chunk containing initVideoJs is not loaded. When the import is called (here via initVideoJs()) the corresponding chunk is loaded.

However, this does not work with our current webpack configuration because of how we've set set publicPath. Currently, lazy-loading like above results in requests like:
// in development ... wrong port 3000 should be 3001 (3000 is hugo, 3001 is webpack)
http://localhost:3000/static_sharedjs/base-theme_assets_js_init_videojs_example.js

// in production ... note the missing "/" after static_shared
http://localhost:3000/static_sharedjs/810.5c09f.js

Acceptance Criteria

[ ] lazy-loading like demonstrated above should be possible in ocw
[ ] our other assets should still load, both in production and in development.

The reason this is not working now is that when webpack tries to lookup the location of a dynamically imported module, it looks in publicPath. It almost works in production, but is farther from working in development.
In production, I believe we have publicPath set slightly wrong: it's missing a slash on the end (hence webpack looking in static_sharedjs rather than static_shared/js. (I suspect we've added Hugo code to tolerate the missing slash, which is why our assets load. But I'm not sure.) Easy fix.
In development, we run Hugo on port 3000 and webpack on port 3001. We set webpack asset URLs through Hugo: webpack_url.html partial prepends the webpack url to an input url. By using it, we indicate that assets should be loaded from localhost:3001.
But when webpack loads stuff dynamically, it uses URLs based on the publicPath set in webpack.dev.ts, and does not go through webpack_url.html partial.
What I think we should do is:

Fix the production publicPath to include a trailing /
Use an absolute URL as the development public path, http://localhost:3001/static_shared ... will need to either stop using webpack_url when including js/css, or edit webpack_url to not alter fully qualified urls.

There are some aspects of webpack_url.html partial that confuse me... Maybe we can talk to @gumaerc about it tomorrow.

@ChristopherChudzicki Great stuff 👏