Multi-threaded synchronization

I started playing with ChakraCore in a multi-threaded environment (Rust, using a multi-threaded HTTP server) and stumbled into frequent JsErrorWrongThread errors. It seems to happen when trying to JsSetCurrentContext in a thread while it's active in another thread.
After chatting on gitter, I came to understand there's no synchronization going on in ChakraCore and it's the host's responsibility to handle that.
Coming from V8, they have a v8::Locker RAII which takes care of locking a v8::Isolate (eq to JsRuntime) for a given thread. I believe it works like:

If the isolate is already locked to the current thread, increment a counter (a bit like a JsAdd)
Once the Locker unlocks (instance drops out of scope), decrement the counter (like JsRelease)
At 0, this Isolate is ready to be locked onto a different thread (or the same, really)

This allows efficient usage within the same thread, but also a seamless experience across threads (when using the Locker.)
If JsSetCurrentContext could do that work, it'd be easy to use ChakraCore in multi-threaded environments. I think a different set of functions would be fine too.
Our use case is a multi-threaded HTTP server and also a multi-threaded event loop. Async operations might complete in a different thread.
Related question: What's the cost of switching a context to a different thread?

This is called a "reentrant mutex" (I've been told)

I think we operate on a different model. ChakraCore is designed to supply a runtime pool.
There's no mechanism to check if the runtime is ready to be adopted by a different thread (I assume this is what you want from v8::locker). Rather, each thread using a runtime is responsible to set the runtime free by JsSetCurrentContext(JS_INVALID_REFERENCE) (my understanding is that you can't do this from a different thread) or the host can terminate any long running thread that doesn't return the runtime to the pool. Therefore, a function to query whether the runtime is free isn't that useful since it doesn't lead to any action.

What's the recommended way to run ChakraCore in a highly-concurrent environment (like a high-traffic HTTP server) where isolation is required for each site.
Also, before it comes up: I wish I could run on a single JsRuntime but I need to be able to limit heap per site. A JsContext per site for isolation is not possible until resources can be limited per context.
As far as I understand, I'd need to precisely manage each context to make sure it has been "released" from the thread that previously used it, before using it in the current thread. I also need to make sure no other context is currently using the thread.
I think the "reentrant mutex" might solve the 1-context-per-thread facet, but it doesn't help with making sure the context isn't active elsewhere.
I suppose I could decouple the event loop from the thread pool used for running JsContexts. Might make it easier to manage. I liked the idea of running directly in the event loop since it already has a thread pool.
I'm not sure what the solution is here. Maybe we're the first with this use case (probably not), but I imagine anybody wanting to do something similar would need to write all that logic from scratch. V8 makes this a breeze with the locker and handles mechanism. Maybe ChakraCore could benefit from something similar. I'd also completely understand if this is out of scope for ChakraCore :)

I don't know if this is directly applicable to you and I'd like to know more about use case and architecture. But to have truly concurrent JS execution you need multiple runtimes and you can build a runtime/thread pool. When a service request comes up, you can

grab one free runtime/thread in the pool
create a fresh context for sandboxing purposes (or re-use old ones with associated risk)
set the context in step 2 as current context
run some JS code
JsSetCurrentContext(JS_INVALID_REFERENCE), destroy the context if you need to, and return the thread to the pool when you're done

You can also throttle memory usage per runtime through JsSetRuntimeMemoryLimit, but not per context.
We discussed the usage of ChakraCore in CosmosDB here, which might give you some ideas.


I cant draw an area chart

Expected Behaviour
Drawing an area chart
Actual Behaviour
Lines are drawn but not the area
Steps to Reproduce:
Here is a pen for it: https://codepen.io/anele-mash-mbanga/pen/NzYqby
I am using a universal method to draw the charts and just change the needed properties leaving the default properties intact. Sadly there is no complete example source code here for a working area chart. If there was such I think I could perhaps know what I am doing wrong. This is my code (with defaults provided even for those un-needed properties)
let chart = new frappe.Chart("#mfc4", {
data: {
labels: ['Sun','Mon','Tue','Wed','Thu','Fri','Sat','Sun'],
datasets: [
{name: 'DS 1', values: [18,40,30,35,8,52,17,-4]},
{name: 'DS 2', values: [30,50,-10,15,18,32,27,14]}
]
},
title: '5. Area',
type: 'line',
colors: ['#795548','#4caf50'],
height: 200,
isNavigable: 0,
valuesOverPoints: 0,
barOptions: {
spaceRatio: 0.5,
stacked: 0
},
lineOptions: {dotSize: 4,
hideLine: 0,
hideDots: 0,
heatline: 1,
areaFill: 1
},
axisOptions: {
yAxisMode: 'span',
xAxisMode: 'span',
xIsSeries: 0
},
maxLegendPoints: 20,
maxSlices: 10,
barOptions: { height: 20, depth: 2},
discreteDomains: 1
});
Please kindly advise what I'm doing wrong as I'm not sure if this is a bug / not.
NOTE: Add a GIF/Screenshot if required.
Frappé Charts version:
1.1

I had the same problem. Turns out the docs are wrong (or at least different to the code). I found this out by digging into the source code.
Use "regionFill" rather than "areaFill" as the option name and it works.

@goynang:  yes and they have updated the document now.


BSim fails when attempting to compare with a matching function that originates from an overlay address space

BSim assumes that a function always lives in the default address space and it only stores the "offset" of that function as the address. No address space information is stored alongside this offset in the FunctionDescription object. The default address space is used to attempt to retrieve the matching function to do a comparison. If the function lives in an overlay address space an error will consistently occur.
To Reproduce

Create an overlay address space in your program

Pick a function that was mapped into this new address space (I picked time and renamed the one in the other address space mapped_time)
Perform a BSim query on one of the functions

We successfully find mapped_time as one of the search results

Attempt to compare the two functions and encounter the error

Expected behavior
The BSim tool should be able to compare functions results no matter the address space they live in.
Attachments
Uploading libc with an overlay address space created. For my testing I used the functions time and mapped_time. An error will occur when trying to compare the two functions.
libc.so.6.zip
Environment (please complete the following information):

OS: [Ubuntu 18]
Java Version: [21.0]
Ghidra Version: [11.2]
Ghidra Origin: [locally built]

Just checking in, any update on this?

We should definitely be storing the address space.  I haven't had a chance to evaluate the PR yet but I hope to get to it soon.

Hey @ghidracadabra, Are there any updates for this by chance?


Support fine-tuned OpenAI models

Fine-tuned models may carry identifies such as ft:gpt-3.5-turbo-0613:company-name::ID. Currently, promptfoo doesn't seem to parse these identifiers correctly.
I've attempted the following variations.
  - openai:ft:gpt-3.5-turbo-0613:company-name::ID:
      id: gpt-3.5-custom
  - openai:chat:ft:gpt-3.5-turbo-0613:company-name::ID:
      id: gpt-3.5-custom
  - openai:completion:ft:gpt-3.5-turbo-0613:company-name::ID:
      id: gpt-3.5-custom

An example of an error message.
[FAIL] API response error: TypeError: Cannot read properties of undefined (reading '0'): {"error":{"message":"The model `ft` does not exist","type":"invalid_request_error","param":null,"code":"model_not_found"}}

It seems that name parsing stops after "ft".

Thanks for the report.  b52de61c6e1fd0a9e67d2476a9f3f9153084ad61 should fix this.
The correct format would be openai:chat:ft:gpt-3.5-turbo-0613:company-name::ID: or openai:completion:ft:gpt-3.5-turbo-0613:company-name::ID:, depending on whether the model uses the chat-format or completion-format prompt.

Fixed in 0.26.2 release


How does one set the Delimiters?

It's listed in the top bullet points of why ETA is awesome... but where are the docs?
I can't find a section that seems to describe how to change from <% to {{, etc.

After drilling down from the "Read More" link in the whitespace section, I was able to find the options.
It's called tags, not delimiters. Perhaps that nomenclature should also be reflected in the bullet point list?
https://eta.js.org/docs/api/configuration#list-of-options
Also, it makes mention of "RegExp" escaping the delimiters... but it doesn't give any example of what that means or where it is applicable. Could you expand?
(btw, this is awesome 👍)


Automate the goreleaser job

Follow up on #7964
Should come after #7975
For convenience, the job introduced in the above issue will be called "prepare release" in the context of this issue.
Goals

Trigger the goreleaser job after the "prepare release" PR is merged
The goreleaser job creates the release asset
The goreleaser job creates a PR in the charts repository that bumps the new version

Tasks

Inject the version and changelog by the prepare release job on the PR in away that the goreleaser job will know how to read when its triggered.
Suggestion: Use comments, like shown in this example.
On every push to this PR, a job (maybe the same "prepare release" job) will comment the version and changelog in their latest format on the PR, and the goreleaser job will read the latest comment from this PR.
Read the version and changelog in the goreleaser job when triggered.
Add a step to create the release asset in the goreleaser job
Add a step to open a PR in the charts repository that bumps lakefs version to the provided version, and the chart version to the next patch.

This neat! But, some comments:

Semantics but - "Automate the goreleaser job" the title is not clear - what does it mean? it's already automated job. What part of it lacks automation? Maybe a different workflow should orchestrate between them.

Regarding prepare release PR  - I think it should be all part of the same workflow run and actually run in opposite order -  think if a case where prepare PR finished but then release broke because it runs tests / generated code. So what I suggest is - only after the release artifacts are out (e.g binaries) then we create a PR with changelog and all.

As I discussed with @Isan-Rivkin, we are not sure yet how exactly would such automation work.
So I'm closing this issue, and we'll open a new one once we will have more clarity about the process.


Bluetooth: Host: GATT CCC not stored when CONFIG_BT_SETTINGS_CCC_STORE_ON_WRITE=n

Describe the bug
When CCC or CF store on write is disabled and the other one is enabled, leading to the delayed store being enabled. This cause the value of the corresponding n selected option to not be stored at all.
To Reproduce
See the BabbleSim test with prj_2.conf of this PR: https://github.com/zephyrproject-rtos/zephyr/pull/58470.
Expected behavior
If CONFIG_BT_SETTINGS_CCC_STORE_ON_WRITE or CONFIG_BT_SETTINGS_CF_STORE_ON_WRITE are not selected they should be stored on disconnection.
Impact
The impact of this bug is not big, by default CONFIG_BT_SETTINGS_CCC_STORE_ON_WRITE and CONFIG_BT_SETTINGS_CF_STORE_ON_WRITE are selected.

Thanks for the bug report! Do we know when this bug was introduced?


Remove to_a call in all_ems_in_zone, fix rubocop warnings

This modifies the PerEmsWorkMixin#all_ems_in_zone method so that it just returns a relation, instead of an plain array, as it can currently lead to contortions when you're expecting a relation. It also unnecessarily creates another object.
There's also some rubocop cleanup.
Originally inspired by https://github.com/ManageIQ/manageiq-providers-azure/pull/310
Cross repo tests: https://github.com/ManageIQ/manageiq-cross_repo-tests/pull/24

Cross repo tests are green.


Feature allow update multiple be configs in one request

Proposed changes
currently, doris only support updating one config in a request. This PR allows updating multiple configs in one request. The updates are performed one by one and it's not guaranteed that these updates are atomic. The results of every update will be returned.
Example:
curl -X POST "http://<IP_ADDRESS>:8049/api/update_config?agent_task_trace_threshold_sec=2&enable_segcompaction=false&eable_time_lut=false"

[
    {
        "config_name": "agent_task_trace_threshold_sec",
        "status": "OK",
        "msg": ""
    },
    {
        "config_name": "enable_segcompaction",
        "status": "BAD",
        "msg": "set enable_segcompaction=false failed, reason: [NOT_IMPLEMENTED_ERROR]'enable_segcompaction' is not support to modify."
    },
    {
        "config_name": "enable_time_lut",
        "status": "BAD",
        "msg": "set enable_time_lut=false failed, reason: [NOT_IMPLEMENTED_ERROR]'enable_time_lut' is not support to modify."
    }
]

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 46.29 seconds
stream load tsv:          548 seconds loaded<PHONE_NUMBER>9 Bytes, about 130 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          64 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          28.8 seconds inserted 10000000 Rows, about 347K ops/s
storage size:<PHONE_NUMBER>9 Bytes

run buidall

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 47.62 seconds
stream load tsv:          533 seconds loaded<PHONE_NUMBER>9 Bytes, about 133 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          64 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          32 seconds loaded 861443392 Bytes, about 25 MB/s
insert into select:          28.9 seconds inserted 10000000 Rows, about 346K ops/s
storage size:<PHONE_NUMBER>1 Bytes


Items don't overflow on 2.3

I'm inflating a menu from XML which contains five items, the last three using showAsAction="ifRoom". On ICS, I see the first two items and the overflow vertical ellipsis. On my 2.3 device I see the first three items.

Overflow on devices with a menu key go into the normal options menu. If you want to force an overflow action item you can do so with the absForceOverflow theme attribute. See the 'Forced Overflow' sample in the demos.
There is also a Theme.Sherlock.ForceOverflow which you can use/inherit from.

Sorry, I'd tried absForceOverflow but had applied it to the wrong style. You're absolutely right, thank you.


Best practice recommendation for private / public functions?

Thanks so much for this library. Just getting a handle on moving an API from MVC5 to WebAPI, and before we do so, I'd like to understand how to generate swagger UI that has optional REST endpoints undocumented.
I see the Obsolete attribute, but that really isn't semantically what we're looking for -- the method(s) are not obsolete, simply not something we want to expose to external clients, but keep for internal use only.  What's the best way to do that?  Is there an attribute at work here to flag it for publication or not?  Thanks!

Found it -- there's a good example here.
http://stackoverflow.com/questions/29701573/how-to-omit-methods-from-swagger-documentation-on-webapi-using-swashbuckle
Is it recommended to simply set all the fields to null in the IDocumentFilter-derived class? Is that the way to "Apply" the filter to effectively remove it from display? Thanks much.

FYI, because SB is built on top off WebApi's metadata layer - ApiExplorer, it's also possible to do this with an attribute:
[ApiExplorerSettings(IgnoreApi=true)]
public Order GetOrder(int id)


Framebuffer size mismatch / 64 x 64 default

Hey,
I've just noticed that the size of the framebuffer(s) PxMATRIX_buffer / PxMATRIX_buffer2 is calculated from PxMATRIX_MAX_HEIGHT * PxMATRIX_MAX_WIDTH which is usually 64 x 64 by default. Since the panel dimension is also defined in the constructor, that's kind of redundant and results in more memory being reserved than needed for panels smaller than 64 x 64.
Wouldn't it be better to eliminate PxMATRIX_MAX_HEIGHT and PxMATRIX_MAX_WIDTH and just use the values from the constructor?
This would mean that memory must be allocated dynamically, thus the compiler won't know the exact RAM used by variables though...

Yes ... Very true. I think I opted for wasting some memory rather having potentially memory related crashes with novice users using to much ram (there might even be an old pull request somewhere). What do you think?

I think more users will have problems with the library not working correctly because they use e.g. two panels and haven't set PxMATRIX_MAX_WIDTH correctly.
The ESP8266 has about 60k of free RAM (with SDK but no user code) if I remember correctly. That would even fit a 512x256 panel with double buffering and 4 bit color depth without any problem.
Did you ever run into issues where the compiler told you that you're out of ram?
I used dynamic memory allocation on my own library, so I may give it a try... https://github.com/xsrf/ESP8266Matrix/blob/6a1aa1faaef6c914b32b7a57b692c10ad72c1ac2/ESP8266Matrix.h#L191

btw. is the library still tested on Atmel? The ATmega328P only has 2KB RAM, which is already exceeded by 64x64 if more than one bit color depth is used.

Well ... this is why the AVR example defines
#define PxMATRIX_COLOR_DEPTH 1
#define PxMATRIX_MAX_HEIGHT 32
#define PxMATRIX_MAX_WIDTH 64
but I think you are right. probably time to use dynamic mem allocation.

OK ... can you check out the latest master. I moved the frame buffer and the row_offset data structures to dynamic memory.

I've looked at the changes of 6e1d301645d1d7cd97a0c038a8ec9d5b866f35a6 and also tested the code on an ESP8266 and ESP32. On the ESP8266 it worked fine, but on the ESP32 it won't compile because of https://github.com/2dom/PxMatrix/blob/7c403eef5ac3bc2f61ba8edd3a13708f058ae226/PxMatrix.h#L1161
Guess it should be
uint8_t* bf = &PxMATRIX_bufferp[_display_color*_buffer_size+i*_send_buffer_size];

Fixed ...


Questions about defining a subnet by disabling gradients

I have some questions regarding the method of defining a subnetwork by disabling grads, termed here "subnet-by-disable-grads".
Please excuse the long-ish text below. If there is another place where questions rather than bug reports should be discussed, please let me know (e.g. github discussions).
From #213:

I have to admit that we don't pay too much attention to the SubnetLaplace implementation anymore since the same can be done more intuitively by switching off the unwanted subset's grads. The benefit of the latter is that the Jacobian for the linearized predictive will only be computed over the selected subset. Meanwhile, the former computes the full Jacobian first and then slices it using the subnet indices.

I guess you are referring to this part of the docs and these tests. I assumed that this is just another way of selecting a subset of weights, but that is not the case as it seems.
When using SubnetLaplace, I do see a speedup when doing la.fit(...) and in hyperparameter optimization. So I assume the calculation of the full Jacobian you refer to happens during calls to _glm_predictive_distribution(), where one won't save compute and memory?
Is this also true for subset_of_weights="last_layer", i.e. LLLaplace? I guess not since the code looks as if it cuts out the last layer first and then operates only on that. If so, then what would be the benefit of using "subnet-by-disable-grads" over LLLaplace?
There is laplace.utils.subnetmask.LastLayerSubnetMask, but I guess that is only for testing things given that there are two other methods for defining a last-layer subnet (LLLaplace and subnet-by-disable-grads).
The examples for "subnet-by-disable-grads" I have seen so far seem to focus on last layer, or more general disabling grads layer-wise. Since one cannot use any of the Largest*SubnetMask or RandomSubnetMask to disable individual weight's grads in a tensor via a parameters_to_vector() + vector_to_parameters() round trip, the method seems to be limited to doing last_layer-type subnet selection. Is this correct?
The test in #216 checks that in case of using SubnetLaplace, only non-fixed parameters vary across samples. I think this behavior is unique to SubnetLaplace-based selections, since the sample() method of LLLaplace and its subclasses return only samples of the last layer weights, which is corrected for in _nn_predictive_samples() as far as I can see. I wonder if sample() in case of subnet-by-disable-grads is aware of disabled grads, since all methods which are not in subclasses of SubnetLaplace or LLLaplace seem to generate "just" vectors of length n_params such that parameter samples would also vary for fixed parameters.
Thanks.

SubnetLaplace vs disabling grads
The way I see it, disabling gradient is another way to implement the subnet Laplace. You can just switch off the grad of the parameter you don't want (instead of providing a subnet mask), and the backend will automatically compute the Hessian and Jacobian only for the parameters which have require_grad = True. This is why Laplace is applicable to LLM at all (switch off grads other than the LoRA params' and do Laplace as usual) since it's basically emulating SubnetLaplace.
The main problem of the current implementation of SubnetLaplace is that the Jacobian computation for the GLM predictive is done as I said in #213:
https://github.com/aleximmer/Laplace/blob/553cf7c4e7b5bded8760c3244ed0ff2dbb11b191/laplace/curvature/asdl.py#L92-L93
It computes the full Jacobian (very large!) and just slicing it with the subnet mask.
Of course, for more sophisticated subnet selection, SubnetLaplace is still desirable due to the existence of many helper functions, see https://github.com/aleximmer/Laplace/blob/main/laplace/utils/subnetmask.py
But this is quite orthogonal to the implementation to SubnetLaplace itself, i.e. one can implement it by taking a subnet mask and switching off the grad of the params not in the mask.
Last-layer Laplace
For last-layer Laplace, it's still preferable to use LLLaplace since it's highly optimized. E.g. the Jacobian is computed in a special way unlike SubnetLaplace. The example bit you referred to is just for intuition purpose :)
Sampling
The sample method of Laplace takes into account the disabled gradients. First, the parameters held by Laplace and hence self.n_params are just those with requires_grad = True:
https://github.com/aleximmer/Laplace/blob/553cf7c4e7b5bded8760c3244ed0ff2dbb11b191/laplace/baselaplace.py#L114-L123
Then, in self.sample, Laplace generate sample for those self.n_params only, e.g.:
https://github.com/aleximmer/Laplace/blob/553cf7c4e7b5bded8760c3244ed0ff2dbb11b191/laplace/baselaplace.py#L1495-L1503
Then in self._nn_predictive_samples Laplace simply does
https://github.com/aleximmer/Laplace/blob/553cf7c4e7b5bded8760c3244ed0ff2dbb11b191/laplace/baselaplace.py#L1168
Note that self.params is a reference to the subset of model.parameters(). Calling the above equals updating that subset of params with the sampled params.

I might have missed some of your questions. So please just repeat below in that case, or if you have any follow up questions.

Thanks for the detailed answer, that's highly appreciated.
The explanation of last layer by disabling grads is very helpful. I wasn't aware of the fact that self.params only contains the active ones. As a result, sample() produces vectors of active params only, as in the LLLaplace case. This is different from SubnetLaplace, which always produces samples of active + fixed params (what test in #216 checks for) .

SubnetLaplace vs disabling grads
[...]
Of course, for more sophisticated subnet selection, SubnetLaplace is still desirable due to the existence of many helper functions, see https://github.com/aleximmer/Laplace/blob/main/laplace/utils/subnetmask.py But this is quite orthogonal to the implementation to SubnetLaplace itself, i.e. one can implement it by taking a subnet mask and switching off the grad of the params not in the mask.

That's a good point. However, it looks as if this doesn't work for helpers that operate on individual weights across param tensors, for instance:
import torch as T
from laplace.utils import subnetmask as su

model = T.nn.Sequential(T.nn.Linear(2, 20), T.nn.ReLU(), T.nn.Linear(20, 3))

params = T.nn.utils.parameters_to_vector(model.parameters())
subnetmask = su.LargestMagnitudeSubnetMask(
    model=model, n_params_subnet=int(len(params) * 0.8)
)
fixed_mask = T.ones(len(params), dtype=bool)
fixed_mask[subnetmask.select()] = False

# RuntimeError: you can only change requires_grad flags of leaf variables.
params[fixed_mask].requires_grad = False

This is because one can, from my understanding, only disable grads on a tensor level and not for single entries.
There is probably an obvious solution, but at the moment I can't think of any. I'd appreciate any hints here. Thanks.

Another question I wanted to ask again is: Since LLLaplace and disabling all but the last layer's grads seem to do the same in effect, which of the methods would you recommend?

Good point on disabling grad on the "tensor" level (or more accurately, on the torch.nn.Parameter level). In this case, SubnetLaplace is more flexible.

Since LLLaplace and disabling all but the last layer's grads seem to do the same in effect, which of the methods would you recommend?

I haven't tested this in-depth, but my hunch is that last-layer Laplace via disabling grads is more flexible than LLLaplace. Notice that in the implementation of LLLaplace we have to do many extra steps like creating FeatureExtractor, inferring the last-layer, dealing with feature reduction, etc. When done by disabling grads, one doesn't have to worry about them.
However, again, there are some trade-offs here. For instance, LLLaplace enables last-layer Laplace specific tricks such as in the GLM predictive https://github.com/aleximmer/Laplace/pull/145

Very valuable feedback again, thanks a bunch. So to summarize

subnet selection by disabling grads is more efficient than SubnetLaplace since it avoids calculating full Jacobians
for last layer selection, there are two other methods, namely LLLaplace and laplace.utils.subnetmask.LastLayerSubnetMask (the latter is probably only for testing purposes)
disabling grads on Parameter level doesn't cover all cases that SubnetLaplace offers such as Largest*SubnetMask or RandomSubnetMask
depending on the selection method (disable grads, SubnetLaplace, LLLaplace), sample() returns vectors of different lengths, but this is always corrected for in _nn_predictive_samples()
LLLaplace offers improved performance (#145)

Is this about right?
I feel that this list could go into the documentation. I'm happy to add this somewhere. If you think this is useful, let me know and I'll keep this issue open until then. However if things are being tested and in flux ATM such that documenting it is not worth it, then I'll close this issue and keep it as a temporary reference. Thanks.

I agree that documentation would be good. What would be useful is to distinguish disable-grad & SubnetLaplace, LLLaplace by applications. For example:

Disable-grad: Laplace on specific types of layer/parameter, e.g. in LLM with LoRA.
SubnetLaplace, LLLaplace: If more fine-grained partitioning is desired, as you have written above.

The current documentation website with its single-page layout is not very good UX-wise. So if you want to document this discussion, feel free to do so in the README.
I just rewrote my personal site & blog using Astro and had a very good experience. I might think of finding a way to migrate Laplace's documentation to Starlight soon.


feat(totorial): complete step 3(Rochester)

Closes #
{{short description}}
Changelog
New

{{new thing}}

Changed

{{change thing}}

Removed

{{removed thing}}

Looks good.  I've marked your step 3 as complete.


[FEATURE REQ] spring-data-cosmos paging without incurring cost of cou…

…nt query for custom query using paginationQuery method. #23484

@kushagraThapar I have signed CLA.


Fix: Refactor AsyncExitStack usage to resolve lock handling errors

Fixes #1861
This PR replaces the manual creation of exit_stack = contextlib.AsyncExitStack() with its use as a context manager in the create_completion and create_chat_completion functions.
The original implementation manually managed exit_stack and explicitly called exit_stack.aclose() (in get_event_publisher(on_complete=exit_stack.aclose())), which resulted in the following error when sending a request to llama_cpp.server with "stream": true parameter:
| Traceback (most recent call last):
|   File "/tmp/tmp.mimYBwBzDw/.venv/lib64/python3.11/site-packages/llama_cpp/server/app.py", line 185, in get_event_publisher
|     await on_complete()
|   File "/usr/lib64/python3.11/contextlib.py", line 687, in aclose
|     await self.__aexit__(None, None, None)
|   File "/usr/lib64/python3.11/contextlib.py", line 745, in __aexit__
|     raise exc_details[1]
|   File "/usr/lib64/python3.11/contextlib.py", line 728, in __aexit__
|     cb_suppress = await cb(*exc_details)
|                   ^^^^^^^^^^^^^^^^^^^^^^
|   File "/usr/lib64/python3.11/contextlib.py", line 217, in __aexit__
|     await anext(self.gen)
|   File "/tmp/tmp.mimYBwBzDw/.venv/lib64/python3.11/site-packages/llama_cpp/server/app.py", line 86, in get_llama_proxy
|     llama_inner_lock.release()
|   File "/tmp/tmp.mimYBwBzDw/.venv/lib64/python3.11/site-packages/anyio/_core/_synchronization.py", line 241, in release
|     self._lock.release()
|   File "/tmp/tmp.mimYBwBzDw/.venv/lib64/python3.11/site-packages/anyio/_backends/_asyncio.py", line 1874, in release
|     raise RuntimeError("The current task is not holding this lock")
| RuntimeError: The current task is not holding this lock

This error apparently occurred because an attempt was made to release a lock in an execution context different from the one in which it was acquired.
The changes:

Replace manual AsyncExitStack management with the async with contextlib.AsyncExitStack() pattern.
Removed explicit calls to exit_stack.aclose() and the passing of on_complete=exit_stack.aclose, as resource cleanup is now handled automatically by the context manager.

what was the issue in the branch that the pull request was closed?

what was the issue in the branch that the pull request was closed?

When sending a second request while the first one was still running, the server would freeze and crash.

I fixed this in #1879 it required opening the exit_stack for streaming request inside the streaming response handler. This prevents the attempting at trying to close it from a different task in which it was opened.
I took inspiration from this branch on the use of with async with contextlib.AsyncExitStack()


Train model on custom dataset

Hello, Thanks for your solid work, I have a little question:
How should I use my own dataset to train model, such as st-gcn..., (for some reasons, I pay more attention to upper limb movements, so my skeleton form does not conform to the standard skeleton format)

Hi, xiaoxin. My suggestion is to build a sub-graph for your upper body skeleton annotations. You can define an upper-body graph in https://github.com/kennymckormick/pyskl/blob/main/pyskl/utils/graph.py, and use the defined graph for your skeleton action recognizer.

Thanks for your reply!
Do I follow these steps to train using the custom dataset:

Use the provided diving48_ example generate my Custom Dataset, and select the upper-body keypoints.
add my dataset's graph in here: https://github.com/kennymckormick/pyskl/blob/4d32ea9134858c908923a87b14c73abc2e42d6a1/pyskl/utils/graph.py#L89
add a config file follow configs/stgcn/stgcn_pyskl_ntu60_xsub_3dkp/j.py
then, use this command to train the model: bash tools/dist_train.sh configs/stgcn/stgcn_pyskl_ntu60_xsub_3dkp/mytrainconfig.py
I'm not sure. Could you give me some advice, and the four modalities in config: Joint, Bone, Joint Motion, and Bone Motion, what's the difference between them？

Basically, Yes.
Remember you also need to set graph type as upper_body (Let's say that's the name of ur new graph).
The 4 modalities are all derived from joint coordinates (joint is the joint coordinates itself). To see the specific generation process, please check class JointToBone and ToMotion in the pipelines folder.

Hi, I had a similar problem to you. I want to use the NTU60 dataset, but only take the upper limb joints of the human skeleton. How can I modify it?


⚠ Bofrost.es has degraded performance

In 7da6763, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1394 ms

Resolved: Bofrost.es performance has improved in bda3269 after 2 hours, 10 minutes.


Add -std=c11 flag to default project CFLAGS

Needed for variadic macros and other more modern C features.
Tests using HCLIB_FINISH don't compile on legacy compilers without this.
Newer compilers have these features enabled by default,
but legacy compilers (e.g., gcc 4.8) need an explicit flag.

Why do we need this now?

Our C tests' makefile depends on PROJECT_CFLAGS, which doesn't include -std=c11. This means that if any C test is updated to use the HCLIB_FINISH, it won't compile because the HCLIB_FINISH macro implementation depends on post-C89 features.

Wouldn't -std=c99 be sufficient? What in c11 do we require?

We already require features to C11 to build the runtime. C99 would be sufficient to get HCLIB_FINISH to work, but it seems silly to explicitly specify a standard which is less featureful than the one we require to build the runtime. In the future, it might be a good idea to conditionally generate PROJECT_CFLAGS during the installation so that we don't override the standard if the default is a post-C11 standard—but I'm pretty sure the current versions of GCC and Clang just use gnu11 by default, so this should be fine for now.

What c11 features do we already require?

See 1342ab68fc for one example.

Then should we change the macro you linked to so that it #errors out when c11 support isn't present? It sounds like you're saying c11 support should be required, but that macro is inconsistent?

I should go back and simplify those assertion macros. Anyway, this patch is only fixing an inconsistency between our runtime build flags and our test build flags. Our runtime build system already assumes C11, and the compilers listed in our README all support C11. I don't see any compelling reason to revert back to an earlier version of C.

Sure, so then my question was "should we change the macro you linked to so that it #errors out when c11 support isn't present?" This would seem to address the same type of inconsistency.


RxSwift flatMapFirst to Combine flatMap(maxPublishers: .max(1))?

I believe the two in the title are equivalent. Shouldn't that be mentioned in the cheat sheet?

They are not exactly the same:
https://github.com/CombineCommunity/rxswift-to-combine-cheatsheet/pull/7


Tickets

Big refactor for tickets

I think it's done, someone will need to expand it with lot of tests, you guys decide who will do it as follow up please! 🙏

Lot's of formatting.. because we merged PRs without running cargo fmt please make it an habit...

@alebaffa can you also takeover the substrate fork with untradeable assets? Should be done too ish, some weird check/test was not working.
Also from next month we might wanna use polkadot-XXX tags. Let's discuss it early in the week please 🙏

I just added a few lines of documentation to this branch and now this branch fails !??!? Did anyone (@sinkingsugar @alebaffa ) change the CI code recently - because this doesn't make sense 😅

I just added a few lines of documentation to this branch and now this branch fails !??!? Did anyone (@sinkingsugar @alebaffa ) change the CI code recently - because this doesn't make sense 😅

The "push" CI seems to be working. So this is truly weird. @sinkingsugar @alebaffa you might want to take note of this 😅


Menu doesn't drop down correctly on video pages

Challenge Name
This happens on all of the videos pages https://www.freecodecamp.com/videos/*
Issue Description
When you click the menu button instead of dropping down like normal it is squished and unreadable.
See screenshot.
Browser Information

Browser Name, Version:  Chrome 49
Operating System: Android M
Mobile, Desktop, or Tablet:  Mobile

Screenshot

@hallaathrad

oh wow. that's sexy :) @BerkeleyTrue what do you think? bootstrap fail?

@hallaathrad @BerkeleyTrue  https://gyazo.com/b5e1083ea58c48aa40aff812f5b889a2

That's very helpful, @dwd2010! let's see how we get this one sorted out

One solution could be to wrap the NavbarBrand and Navbar.Toggle in a Navbar.Header, though that would throw off the navbar's margins and would require some messing around with the styling.
Or a Clearfix could be added right after the Navbar.Toggle for small and extra-small devices, but some media queries in client/less/main.less would have to be amended.
I / anyone can submit a PR for whichever option seems best.

Personally, I'd rather we sort issues for specific (i.e. small) devices rather than modifying the whole thing for everyone,  unforeseeably risking breaking it for all.

@hallaathrad, Odd, I test that page on Chrome and Safari on my iPhone 6. it is fine to me.
probably you are right about specific devices.

I can repro this on the live site, but am unable to repro when building on localhost, looks like it has been fixed?

This has been solved in staging. Thanks for the heads up @charlottetan 😜


nixos-rebuild: Add option for building and/or deploying on a remote host

nixos-rebuild: Add option for building and/or deploying on a remote host
This commit adds the options --build-host and --target-host to nixos-rebuild.
--build-host instructs nixos-rebuild to perform all nix builds on the
specified host (via ssh). Build results are then copied back to the
local machine and used when activating the system.
--build-target instructs nixos-rebuild to activate the configuration
not on the local machine but on the specified remote host. Build
results are copied to the target machine and then activated there (via ssh).
It is possible to combine the usage of --build-host and --target-host,
in which case you can perform the build on one remote machine and deploy
the configuration to another remote machine. The only requirement is that
the build host has a working ssh connection to the target host (if the
target is not local), and that the local machine can connect to both
the target and the build host. Also, your user must be allowed to copy
nix closures between the local machine and the target and host machines.
At no point in time are the configuration sources (the nix files) copied
anywhere. Instead, nix evaluation always happens locally
(with nix-instantiate). The drv-file is then copied and realised remotely
(with nix-store).
As a convenience, if only --target-host is specified, --build-host is
implicitly set to that host too. So if you want to build locally and deploy
remotely you have to explicitly set "--build-host localhost".
To activate (test, boot or switch) you need to have root access to the
target host. You can specify this by "--target-host root@myhost".
I have tested the obvious scenarios and they are working. Some of the
combinations of --build-host and --target-host and the various actions might
not make much sense, and should maybe be forbidden (like setting a remote
target host when building a VM), and some combinations might not work at all.

@edolstra @shlevy @domenkozar Do we want do have this kind of functionality in nixos-rebuild, or is it better suited for a separate tool?
Pros: Makes it very convenient to deploy NixOS machines that you for some reason don't want to manage with nixops or similar. Also, this is not a large commit at all. If you were to do this in a separate tool you would have to copy most of the stuff from nixos-rebuild to that tool anyway.
If we think this is a good idea, some feedback on the ui/semantics/implementation is welcome. Documentation will be written when that is settled.
@proger This basically replicates the remote build functionality from upcast, but in a more NixOS-centric fashion. Do you have any input on the user interface described in the commit message?

Nix already has the remote build hook, why do we need --build-host? I like --target-host though

Ah, if you have both build-host and target-host then nothing is copied back to the instantiating machine. Cool. :+1: for me for the concept, haven't done a thorough code review yet

@shlevy Yeah, the remote build hook always copies back to the local machine which is pointless if the target is remote. Also, if everything already is built remotely, but not locally, nix will start building everything locally or possibly on another remote that doesn't have them, while in the end nothing will be copied to the target (this can be somewhat mitigated by having the remote machine as an ssh-binary-cache, though).

:+1: for the idea. This superseeds nixops none backend for my needs.

To test this, build nixos-rebuild like this (configuration.nix can be an empty config, it is not really used):
nix-build '<nixpkgs/nixos>' \
  -I nixpkgs=https://github.com/rickynils/nixpkgs/archive/nixos-rebuild-remote.tar.gz \
  -I nixos-config=./configuration.nix \
  -A config.system.build.nixos-rebuild

Then (since nixos-rebuild re-execs itself we need to use my branch also when building NixOS):
./result/bin/nixos-rebuild \
  -I nixpkgs=https://github.com/rickynils/nixpkgs/archive/nixos-rebuild-remote.tar.gz \
  ...

@rickynils looks neat! As a side comment, it'd be really nice to see an implementation for nix-instantiate+nix-copy-closure using cmdBuildDerivation like hydra does — since around nix 1.9 nix-copy-closure for a derivation started to transfer a bunch of extra stuff and cmdBuildDerivation seems to address a related problem in a cuter way.
You should probably point out somewhere that using import-from-derivation kills all the remote building fun.

The only requirement is that the build host has a working ssh connection to the target host.

So if you want to build remotely and deploy locally you have to set "--targetHost localhost".

These two seem mutually exclusive

Nix already has the remote build hook, why do we need --build-host?

The main problem with the remote build hook is doing remote deployments unnecessarily transfers built store paths back and forth to the client machine. ("starbucks-mode")

@proger Well-spotted, that is mutually exclusive, and the implementation didn't support it either. I've fixed it so that builds are pulled from the build host if the target is local now.
The hydra approach seems nice, thanks for bringing it to my attention.

I've switched the implicit dependency from --build-host ==> --target-host to --target-host ==> --build-host. In other words, if --build-host is not set, it will get the value of --target-host. I think that feels more natural.
Also, build results are now always copied to the target. So if you do nixos-rebuild --build-host myhost build the build results will end up on the local machine in the end. The behavior is in line with how a local-only build behaves (but that particular use case is ofc already served today by the remote build hook).

I really like the idea, as this solve most of my issues where I only manage a few computers manually.
I still wonder how this would work with automatic update features.  I guess we should side-load a module which raise an assertion if the auto-update feature is enabled at the same time.

@nbp Thank you for the feedback! The nix version discrepancy between instantiate/realise had slipped me by, I'll try to fix that. And of course the other, more obvious bugs you pointed out.
Yeah, my use case is just that, those machines that are not really part of a cluster/network of machines, and that needs to be managed independently but still in a nice centralised fashion.
The automatic updates, are these the security updates? How is that handled for ordinary, local, nixos-rebuild?

The automatic updates, are these the security updates? How is that handled for ordinary, local, nixos-rebuild?

Yes, I think this is some sort of cron jobs which does a nixos-rebuild command.  I guess the problem also exists for any instances of nixops.

This is great! Any updates on this?

I have not forgotten about this, just busy with other things. I will fix the outstanding issues as soon as possible.

@nbp I've fixed the Nix building parts now, I hope. Things got a bit messier since we need to build nix both locally and remotely.
I've also made ssh use a master connection (and NIX_SSHOPTS)

Easiest way to test this:
Single-line install with nix-env:
nix-env -iA config.system.build.nixos-rebuild --arg configuration '{}' -I nixpkgs=https://github.com/rickynils/nixpkgs/archive/nixos-rebuild-remote.tar.gz -f '<nixpkgs/nixos>'

The run with _NIXOS_REBUILD_REEXEC=1 to keep nixos-rebuild from re-executing with the the version in NIX_PATH:
_NIXOS_REBUILD_REEXEC=1 nixos-rebuild ...

This way, you can try this out with any existing NixOS configuration.

IMHO this duplicates functionality already provided by NixOps, so I'm not too keen on complicating nixos-rebuild...

@edolstra I agree there is some duplication between this, the remote build hook and NixOps. But...
The build hook supports remote builds but forces everything to be copied back to the local machine.
NixOps doesn't support remote builds except through the build hook (or does it?). Also, NixOps comes with other stuff: the network definition and the stateful deployment model. There are situations where that is not needed or not acceptable. NixOps is a nice tool that has a particular way of handling NixOS deployments, but I don't think that has to be the only way to deploy NixOS on remote hosts.
nixos-rebuild handles NixOS builds and activation. The ssh functionality extends that to remote hosts. I don't see that as a terrible feature creep.
I think that, ideally, the ordinary nix-build tools should support remote-only builds. nixos-rebuild could then be a bit simpler (but would still need the concepts of target and build hosts).
We could also have a separate nixos-rebuild-remote tool. That is OK with me, but it would probably not be able to use nixos-rebuild, but rather re-implement it (like I've done in this PR). This means we have two places to maintain the NixOS activation process in.
To summarize: If people don't regard this tool as useful (because of the existence of NixOps or whatever), then I can move it outside nixpkgs. If people find it useful but don't want to bloat nixos-rebuild, I can move it to a separate (nixos-rebuild-remote?) tool. My opinion is that it is useful (I use it, and have used variants of it for a long time), and that the combination of nixos-rebuild + nixos-rebuild-remote would be less maintainable than this implementation of nixos-rebuild.

This would be useful to me as a lightweight deployment method for smaller things running on a single remote machine.

@rickynils Okay. Can you update the nixos-rebuild manpage and fix the indentation (4 chars per level).

:beers:

@edolstra Indentation fixed and man page updated

:+1: This would be a nice to have.

@edolstra OK to merge now?


Updated Meshery docs logo

This PR updated the Meshery Docs logo
Logo switches between light mode and dark mode

https://github.com/meshery/meshery/assets/51539117/4d445c89-488c-4dac-871a-e161c66ce6d8
Signed commits

[x] Yes, I signed my commits.

🚀 Preview for commit 5e9b955686a949d84b556a376f21a59127a7fdbf at: https://6543c10fb7af60008d8883b4--meshery-docs-preview.netlify.app


Clarify project deletion steps

I just discovered this when deleting a project that had a different name than its organization.

@steved0x : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off

@ktoliver : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Bunch of TODOs in camera_win.cpp

Godot version
4.0 Stable
System information
Windows
Issue description
there exists a lot of unresolved TODOs in file modules/camera/camera_win.cpp
Steps to reproduce
N/A just some TODOs
Minimal reproduction project
N/A

That's not a bug? It's not implemented at the moment

my bad, just wanted to point out the TODOs in that file.
lmk if I should close the issue or keep it as a reminder, as the TODOs might slowly be forgotten.

Duplicate of #46531.


Suggestion: custom getClock() function to allow removing reliance on micros()

First of all, thank you for the fork and continuing work on this useful library.
I have a suggestion that I use in my own custom version of Brett's library as seen in this project: https://github.com/ptashek/mb/tree/master/CruiseControl_W124 (PIDConfig and PIDController classes)
My approach is to use a virtual getClock() method, which allows me to override it as needed at the point of use. In the project above I'm using RTC ticks as my clock, incremented via the RTC periodic interrupt ISR. It's especially useful in projects which need additional timers, or re-configure the TCA clock, rendering millis() and micros() unusable.
The default implementation could still use micros() as it does now.

Thanks for your interesting suggestion!
I do have an Arduino Every (somewhere) and didn't realize that it has an RTC. I'm extremely busy this summer, but sometime later this year, this would be something I'd like to try and implement.  Also looks like the ESP32 dev boards have RTC, so I've got some learning and experimentation to do as I haven't yet worked with the RTC.

While the 32k internal oscillator isn't great on the Atmega4809 it should be good enough for this use case.
Probably the quickest way to start would be something like below. This gives a 1ms resolution of the clock, with a period of 32 clock cycles. Maximum resolution would be around 30 microseconds.
volatile uint32_t pitCounter = 0;

void RTC_init() {
  // Enable  internal 32k oscillator
  _PROTECTED_WRITE(CLKCTRL.OSC32KCTRLA, CLKCTRL_ENABLE_bm);
  // Wait for RTC synchronization
  while (RTC.STATUS > 0) {
    ;
  }
  // Enable RTC and set clock prescaler
  RTC.CTRLA |= RTC_PRESCALER_DIV1_gc | RTC_RTCEN_bm;
  // Set RTC to use internal 32k oscillator
  RTC.CLKSEL = RTC_CLKSEL_INT32K_gc;
  // Wait for PIT synchronization
  while (RTC.PITSTATUS > 0) {
    ;
  }
  // Set periodic interrupt period
  RTC.PITCTRLA |= RTC_PERIOD_CYC32_gc | RTC_PITEN_bm;
  // Enable periodic interrupt (used as clock)
  RTC.PITINTCTRL = RTC_PI_bm;
}

// RTC periodic interrupt handler (clock)
ISR(RTC_PIT_vect) {
  RTC.PITINTFLAGS = RTC_PI_bm;
  pitCounter++;
}


Build fixes

Fixes errors caused by dependency versions in npm build and adds an initial Jenkinsfile for CI.

I tested this and it is working.


Update Android display-test-app to Gradle 8.5

Hopefully this will fix the intermittent CI build failures we have been getting.

@Mergifyio backport release/4.3.x


fixes template for the provioner image url

Description
Changes proposed in this pull request:

fixes template for the provioner image url
...
...

Related issue(s)
https://github.com/kyma-project/control-plane/pull/2737

/test all

/test all

/test all


Option to use alternative CNI plugin

Hi,
This is a super cool project, and I really want to try it out. However, currently there's no way to disable flannel or network policy, which is needed to install alternative CNI plugin (like Calico) that provides some functionality I can't achieve with flannel. Is this something on your radar?
Thanks!

Hey @dangmai, basically it's pretty simple to add.
Here are the two k3s server config flags you need to add to the k3s server config:
      disable-network-policy = true
      flannel-backend  = "none"

To be added to init.tf and control_planes.tf. And also add Calico, or Cilium for that matter, to the kustomization in init.tf.
Here's a clearer video explanation: https://www.loom.com/share/393a4ad632c043ffae0d59349355adae

PR very much welcome! :-)

Yeah I do know that it can be done with k3s like you mentioned, I was just curious how you want to handle it effectively in this library.
Adding defaulted options like flannel_enabled = true and network_policy_enabled = true to terraform.tfvars.example is straightforward, but k3s does have quite a few knobs that are not customizable right now in this library. Maybe something like additional_k3s_server_args = [] would be more universal?

Definitely, both features would be welcome! 🙏

@dangmai As cni options, valid "flannel", "calico", or "cilium".
So "flannel", of course will be the default.


refactor: generateState[ful|less]Widget using multiline text

Dart supports multiline text. I remain other codes using StringBuffer. I thought StringBuffer is a good option but generateStatefulWidget and generateStatelessWidget with multiline is easy to read.
This PR depends on my experience (Sometimes I forgot \t or quote). I respect Parabeac member's code rules.

It is same with https://github.com/Parabeac/Parabeac-Core/blob/6369863ac604a69a6f9dd789ff4143bd673aacca/lib/generation/generators/pb_flutter_writer.dart#L25-L48


python3Packages.praw: 7.1.0 -> 7.1.2

Motivation for this change
Update to latest upstream release 7.1.2
Change log: https://praw.readthedocs.io/en/v7.1.2/package_info/change_log.html
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

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

1 package marked as broken and skipped:

python39Packages.sopel

5 packages built:

python37Packages.praw
python37Packages.sopel
python38Packages.praw
python38Packages.sopel
python39Packages.praw


New Prisma schema from newly created Postgres schema during init: Error parsing attribute "@unique": "Fields that are marked as id should not have an additional @unique."

Same steps as #1222
Steps to Reproduce
Prisma 2 Version: 2.0.0-preview019

Setup

mkdir demo && cd demo
yarn init -y
yarn add prisma2
yarn prisma2 init

Select "Blank Project"
Select "PostgresSQL"
Type out "postgresql://m@localhost:5432/prisma-demo?schema=public"
Select "Create new PostgreSQL schema"
Type "public"
Select "Typescript"
Select "Just the Prisma Schema"

You'll see a prisma schema with the following:
datasource db {
  provider = "postgresql"
  url      = "postgresql://m@localhost:5432/prisma-demo?schema=public&s=&sc=&sch=&sche=&schem="
}

generator photon {
  provider = "photonjs"
}

model User {
  id    String  @default(cuid()) @id @unique
  email String  @unique
  name  String?
  posts Post[]
}

model Post {
  id        String   @default(cuid()) @id @unique
  createdAt DateTime @default(now())
  updatedAt DateTime @updatedAt
  published Boolean
  title     String
  content   String?
  author    User?
}

@unique shows an error.
Error parsing attribute "@unique": Fields that are marked as id should not have an additional @unique.

Related: #1237


{aks} aks-preview vendor 2021-08-01 SDK

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your PR is merged into master branch, a new PR will be created to update src/index.json automatically.
The precondition is to put your code inside this repo and upgrade the version in the PR but do not modify src/index.json.

aks

@FumingZhang, thanks for mentioning it. I restored those 18 recording tests marked with live_only.

We have 18 test cases marked @live_only and it is not necessary to add recording files for them. Could you please remove them?


Windows: exit process now, I mean NOW

Fixes #913

Is there any risk that,

the crash triggers an annoying windows pop-up like “we are investigating what happened… click here to send the report”?
the crash get logged in the system journal?

Oh my. I'm still not sure this is all a good idea to violently terminate the game like this, but hey.

Well I haven't heard any complaints about this on Linux :) The problem on Windows is that _exit is not as violent as it ought to be!

Is there any risk that,

the crash triggers an annoying windows pop-up like “we are investigating what happened… click here to send the report”?
the crash get logged in the system journal?

There isn't any crash unless TerminateProcess mysteriously fails to work correctly. But if that happens and we are forced to crash then yeah, that stuff can occur.


[BUG] Azure Functions with Python 3.11 does not include ODBC Driver for SQL Server anymore

In Azure Functions up to 3.10, it's possible to use pyodbc or other odbc related Libraries with MS SQL Server because the image comes with ODBC Driver V17 shipped. This is really practical with Azure SQL! In 3.11 however, the ODBC driver is not preinstalled. It's trivial to repo if you install pyodbc:
@app.function_name("test_odbc")
@app.route("test_odbc_drivers")
def test_odbc_drivers(req: func.HttpRequest) -> func.HttpResponse:
    import pyodbc
    import json

    drvs = pyodbc.drivers()
    return func.HttpResponse(json.dumps(drvs))

In 3.10 this returns the MS SQL ODBC driver, in 3.11 an empty array only.
I would expect a recent version of the ODBC Driver for MS SQL to be shipped as it's the recommended way to access MS Sql Azure in a Python. I'm fine if it's Version 18 for Python 3.11 (or would even welcome it)
See also this comment
In general there seems to be little docs about such stuff, or only outdated one, see https://github.com/Azure/azure-functions-python-worker/wiki/Preinstalled-Python-Libraries

Please downgrade at 3.10 and try again .

@gavin-aguiar  pls comment.

@aersam We provide the MS SQL Server ODBC 17 driver along with Python 3.11. Have you come across any functionality issues when using ODBC 17 with Python 3.11?  Considering the possibility that Python 3.11 may have introduced changes in the way it loads shared libraries, which could potentially impact this behavior. Thanks

@pdthummar I have come across functionality issues. ODBC 17 is not included with the 3.11 image mcr.microsoft.com/azure-functions/python:4-python3.11. I've verified this by checking the drivers with the command pyodbc.drivers() while in the running container.

Thanks @aersam and @Jazzex. We've identified and addressed the issue, incorporating ODBC Driver 18 for Python 3.11, which will be part of the upcoming host release. To mitigate the issue until fix is deployed, I recommend downgrading the Python version to 3.10.


⚠ SceneTime has degraded performance

In 59111d5, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 1515 ms

Resolved: SceneTime performance has improved in 7c361ad after 7 minutes.


Add newline to display unnumbered list

Add a newline character to make asterisk start a new unnumbered list in userguide.
Gradle Core Team Checklist

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation

I've triggered the following builds for you:

BuildDistributions build

@bot-gradle test and merge

@bot-gradle test and merge

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

I've triggered a build for you.


Print at midnight not printing

This is affecting all background tasks, the bot doesn't have context for bot.say


Export all necessary items in index.ts

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

Project coverage is 81.20%. Comparing base (0ae2081) to head (2576be7).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #101   +/-   ##
=======================================
  Coverage   81.20%   81.20%
=======================================
  Files          22       22
  Lines        1282     1282
  Branches      324      324
=======================================
  Hits         1041     1041
  Misses        233      233
  Partials        8        8

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


Add unit test that shows LineBasedFrameDelimiter correctly handles fr…

…agmented data.
Motivation:
Verify everything works as expected.
Modifications:
Added testcase.
Result:
More test-coverage.

@normanmaurer PTAL

@johnou LGTM... Will merge soon ... Thanks!

Cherry-picked into 4.0 (818bf473f2524be96a267ef8928e5e787d438359) and 4.1 (84410f97af5223876071c4601b80fa76ebc8a57b).
@johnou thanks!


fix: hex8 to rgba

Problem
Seems like currently Chroma::Color generates wrong RGB from HEX8. Here is a proof that #eb09b9c4 has to be 235, 9, 185:

But Chroma::Color#rgb returns 9, 185, 196:
Chroma::Color.new('#EB09B9C4').rgb
=> #<Chroma::ColorModes::Rgb:0x00007fac8de02a40 @a=0.9215686274509803, @b=196, @g=185, @r=9>

Solution:
I have found a six years old issue https://github.com/jfairbank/chroma/issues/6, that was resolved by replacing the order of arguments for FromHexStringValues#from_hex8 method. I have moved it back and now it returns expected RGB:
Chroma::Color.new('#EB09B9C4').rgb
=> #<Chroma::ColorModes::Rgb:0x00007fabb83d8e78 @a=0.7686274509803922, @b=185, @g=9, @r=235>

@rkotov93 FYI I've created a fork/rename of Chroma that I intend to maintain and I've fixed this issue with commit https://github.com/evanleck/kodachroma/commit/b7df42998166dddd7df76d04598d87f70540349e


Enable CI for chart project

Previous patch of #6  has bring an issue that admission-init would fail in a brand new environment, this patch fix it as well as enable CI for later changes.

build details: https://travis-ci.com/volcano-sh/charts/builds/118064946

@k82cn  test would fail until the merge of chart change: https://github.com/volcano-sh/charts/pull/7

/lgtm
/approve


unable to edit RKE1/Import clusters via dashboard -> iframe page is not loading

Rancher Server Setup

Rancher version:2.6-head (06c8898)
Installation option (Docker install/Helm Chart):docker

If Helm Chart, Kubernetes Info:
Cluster Type (RKE1, RKE2, k3s, EKS, etc):k3s
Node Setup:
Version:v1.21.3+k3s1

Proxy/Cert Details:

Information about the Cluster

Kubernetes version: v1.21.4
Cluster Type (Local/Downstream):downstream

If downstream, what type of cluster? (Custom/Imported or specify provider for Hosted/Infrastructure Provider): Digital Ocean

Describe the bug

Unable to edit the cluster through dashboard
To Reproduce

provision the cluster (rke1)
allow cluster to come to an active state
edit the cluster through the hamburger menu ...

Result
iframe page never loads, and user is unable to edit the cluster through the dashboard
Expected Result

all iframe pages are expected to load properly through dashboard
Screenshots

Additional context

I was able to edit the cluster in the same setup using ember
the create iframe page is working fine for me
there were no errors observed in the console,
the only error I see in the rancher logs is http: TLS handshake error from <ip>:56671: remote error: tls: unknown certificate

Edit as Yaml and save gives error { "data": "404 page not found\n" }

Sounds similar to #3939

@nwmac not sure if there's anything you can look at here for Monday in case we run out of time today.

@slickwarren I was reminded that Ember was broken earlier today. Were your tests done during that time when Darren was fixing the build?

No, they were done after that.  Also Sowmya verified on a later commit than I from a build today.

This definitely looks like a UI issue, but I haven't been able to pin it down, will need more help from someone more familiar with the Ember iFrame code...
(I consistently see this in production but not locally)
I get this error in the console:

It looks like default.vue is being rendered twice (I put a break point in its created()), and the second time this.$route is the ember route:

It makes sense to me that the dashboard would error when trying to load this route, but I don't know how it's getting there in the first place :L

The IFRAME code is working okay - inspect the page and you'll see the iframe in the DOM - it remains hidden since it turns out if loads a dashboard page, not an ember page - if you take the 'visibility: hidden' style off, you'll see that.
The URL it is loading is correct:  (e.g.) /c-m-brmpgt62/edit?provider=import&importProvider=other - but it is being served a Vue page, not an Ember page.
I remember @vincent99 said some redirect stuff had changed - we no longer have the dashboard prefix in the URL, so there is now overlap between the /c URL if ember and /c of dashboard,

The root cause was a change to the backend routing which meant Ember routes (/c and /p in particular) were serving the dashboard UI.
This has been fixed now.

on v2.6-b8a44fad559b05f12d973b527d9d547bbe94e8f8-head
Now I can Edit a cluster. I tried with AKSv2 cluster, when I click on Edit Config, I am no longer seeing a blank page.


Support latest react and additional props #9

Updated the PR.

@alexkuz Could you please review this PR? Or maybe give @kof push rights to the repo if he wants to maintain the project and if you don’t mind?

@sapegin I'm sorry I'm not following this issue with proper attention lately.
I don't mind giving rights to @kof if he's up to it, but as for this issue - I'm still not convinced it's necessary, unless there are some performance issues (that should be solved by other means anyway).

I think there should be a better way to achieve what I wanted. Clear perf issue is to create markdown-it instances all the time. Ultimately it will require an incompatible public api change.

I am seeing this error with 0.3.0 when there is an image component in md.  Example -
readme = '# Some test \n This is a test \n ' +
''
Can someone accept this PR if code change is correct?

I have got commit rights, will do soon.
On Sep 17, 2017 10:40, "ajayapte"<EMAIL_ADDRESS>wrote:

I am seeing this error with 0.3.0 when there is an image component in md.
Example -
readme = '# Some test \n This is a test \n ' +
'[image: Image alt text of mine]
https://camo.githubusercontent.com/133bb7f07f1debe42ff7fd91948de49d7867ec73/68747470733a2f2f7777772e796f75747562652e636f6d2f7974732f696d672f72696e676f2f696d672f696d6167652d68682d3430342d76666c503368714e542e706e67
'
Can someone accept this PR if code change is correct?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/alexkuz/markdown-react-js/pull/10#issuecomment-330029786,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AADOWITG0XfiPZPZaZQDGm8xBcUrGjU4ks5sjNr4gaJpZM4JPpKz
.

Any progress on this?

merged

Are there plans to publish these changes to NPM?

done


updated tests so that they do not have to be run from the root folder  (same as previous PR)

Hi @mbreakey3, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Mariah Breakey). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;

LGTM.


[SPARK-20280][CORE] FileStatusCache Weigher integer overflow

What changes were proposed in this pull request?
Weigher.weigh needs to return Int but it is possible for an Array[FileStatus] to have size > Int.maxValue. To avoid this, the size is scaled down by a factor of 32. The maximumWeight of the cache is also scaled down by the same factor.
How was this patch tested?
New test in FileIndexSuite

Test build #75660 has started for PR 17591 at commit f4ae52a.

Test build #75663 has started for PR 17591 at commit ef8e9e9.

Test build #75660 has finished for PR 17591 at commit f4ae52a.

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

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

Merged build finished. Test PASSed.

Test build #75663 has finished for PR 17591 at commit ef8e9e9.

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

Merged build finished. Test PASSed.

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

Test build #75665 has started for PR 17591 at commit e02fc4a.

LGTM

Test build #75665 has finished for PR 17591 at commit e02fc4a.

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

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

Merged build finished. Test PASSed.

Merging to master. Thanks!


Config file ???

Hello!
Where should i put config file and what name of it???
So strange readme without the most important thing - where to put the config and in what form to enter the token - with botXXXXXXXXXXX or just XXXXXXXXXXXXXX

Most CLI applications typically implement a --help flag. You can use Telegram_qBittorrent_Notifier --help to get more information. Below is the output I obtained when running this command on a Linux server:
❯ Telegram_qBittorrent_Notifier --help
NAME:
   Telegram_qBittorrent_Notifier - A simple CLI tool for qBittorrent that sends a notification to Telegram chat via bot on torrent finished

USAGE:
   Telegram_qBittorrent_Notifier [global options] command [command options]

VERSION:
   1.1.2

COMMANDS:
   send     Send a notification with provided torrent information
   help, h  Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --config FILE  Load configuration from FILE (default: "/root/.config/Telegram_qBittorrent_Notifier/config.yaml")
   --help, -h     show help
   --version, -v  print the version

   Telegram

   --telegram-bot-token BOT_TOKEN  Telegram BOT_TOKEN for sending notifications (default: N/A)
   --telegram-chat-id CHAT_ID      Telegram CHAT_ID to receive notifications (default: N/A)

Regarding the format of the telegram-bot-token, I believe the token provided by Telegram's @BotFather does not include the bot prefix that you mentioned.

okay
add file config.yaml
go t odirectory with script
make command Telegram_qBittorrent_Notifier.exe --config config.yaml
and get nothing

oh, it works
just dont say nothing if import was succesful


optimizer: introduce 2 new operators for scanning sys table / CDC table

Recommend to introduce a new physical operator CdcTableScan, because scanning from RW table, sys table or CDC table are completely different in terms of implementation.
Here the if self.predicate().always_true() actaully implies a huge difference in implementation, which should be reflected by different phyiscal operators, instead of such if-else branch.
I guess this might be introduced by sys table before, so it's acceptable for me too keep it as is now and do refactor later.
Originally posted by @fuyufjh in https://github.com/risingwavelabs/risingwave/pull/12535#discussion_r1364865050

+1. Arrangement backfill now requires full TableCatalog, not just the TableDesc. This creates yet another branch between RW Table, Sys Table.
I think we should refactor it before adding full TableCatalog for arrangement backfill to avoid making it even more complicated.

Additionally, they should have their own respective proto definitions as well, rather than rely on the same Chain definition.

[ ] Unify some common functionality between different scan nodes: https://github.com/risingwavelabs/risingwave/pull/13332#issuecomment-1805191654

Separate logical scan for cdc table.

I guess it is not needed for the logical scan, actually, I do not think there are many branches in the logical phase currently. I  think just separate the physical operator is enough

From https://github.com/risingwavelabs/risingwave/issues/13146#issuecomment-1805229754

Unify some common functionality between different scan nodes:

It does not seem there's much in common, both between stream_table_scan and stream_cdc_scan, and also their core parts (generic::TableScan, generic::CdcScan).


Default Alpha Value Not Recognized

Based on given descriptions, Tea should be able to run without any assumptions passed by the user, with a default alpha value of 0.05.
I tried running ar_tv_tea.py with line 35 commented out so that tea.assume(assumptions) does not execute.
This resulted in the following error message:
Traceback (most recent call last):
  File "C:/Users/Melissa Birchfield/PycharmProjects/tea-lang/examples/AR_TV/ar_tv_tea.py", line 37, in <module>
    results = tea.hypothesize(['Score', 'Condition'], ['Condition:AR > TV'])
  File "C:\Users\Melissa Birchfield\PycharmProjects\tea-lang\tea\api.py", line 166, in hypothesize
    result = evaluate(dataset_obj, relationship, assumptions, study_design)
  File "C:\Users\Melissa Birchfield\PycharmProjects\tea-lang\tea\evaluate.py", line 357, in evaluate
    combined_data = BivariateData(vars, study_type, alpha=float(assumptions['alpha']))
KeyError: 'alpha'

It looks like evaluate.py does not account for the possibility that the assumptions could fail to include an alpha value.
I also took a closer look at api.py and solver.py. In both files, the default alpha value is set to 0.01, not 0.05.

#41 should fix the KeyError problem.
@emjun, could we get an input about the values of 0.01 ? I was not sure if this is something we want to change or not. I can address this in the above PR or a separate one if needed.

Let's keep the default as 0.05 unless the end-user overrides in their Tea program by setting an assumption for Tea to use 'alpha' = <anything, could be 0.01>

@MaLiN2223 Could you address this issue in the above PR. I'll then review and then merge all the changes related to alpha at once.

Will do!


Add usg.edu

Add usg.edu to the edu domains

@tschmidtusg First stage of verification passed, official domain is usg.edu as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@tschmidtusg I am sorry, this domain seems to represent an umbrella institution, not a specific single university or a college. Please apply for free educational license with an official document which proves that you are a student. You can do it using "OFFICIAL DOCUMENT" tab at https://www.jetbrains.com/shop/eform/students.
I have to close the request without merging.
Thank you for your understanding!


genericx86-64-ext: deploy flasher artifact

We'd like to deploy both flasher and non-flasher images, but currently,
balena.img is a flasher image always. Upload the flasher image at a
different path to allow us to wire up separately denoted flasher images
before we replace balena.img with a non-flasher image.
Change-type: patch
Changelog-entry: Deploy flasher artifact for genericx86-64-ext
Signed-off-by: Joseph Kogut<EMAIL_ADDRESS>

Is there any benefit to merging this now before the other planned changes to provide a non-flasher image?

I don't like the fact that now we deploy two images that allegedly are flasher and non-flasher, but in effect are both flasher images. Depending on how the change is implemented upstream it could be problematic. And as a principle, deploying something as something else is never a good idea.

I don't like the fact that now we deploy two images that allegedly are flasher and non-flasher, but in effect are both flasher images.

@alexgg I'm not sure I see it that way. In practice, we have a mechanism to upload flasher and non-flasher artifacts. Currently, flasher images are being uploaded as non-flasher images. This PR simply uploads flasher images as flasher images, so that we can switch the non-flasher artifact to being "correct". I could create an arch call topic if that would help unravel this.

@jakogut Currently we upload a single image without qualification, be it flasher or not. I don't say the change won't be needed but I think it should wait until the whole stack can deal with flasher and non-flasher images. Uploading the same artifact as both flasher and non-flasher is logically wrong and cannot be easily fixed in retrospective, so it may happen that once the stack supports downloading both flasher and non-flasher having uploaded the same image as both is problematic.


Doesn't work with Browserify

Hello,
When I load your module in my project, I get this error in console:
Uncaught Error: Cannot find module 'angular'

After inspecting the code I saw that the error throw here: https://github.com/gsklee/ngStorage/blob/master/ngStorage.js#L7
I need to do something your module to work with browserify?
Thanks in advance

Shouldn't be anything special. Have you included angular?

Yes,
I've configured the shim for both angular and ngstorage, I also use ui-router and angular-permissions modules with no problem. But when I add your module it throws an error.
To make things work for me I've modified the order of the startup: https://github.com/rafakato/ngStorage/blob/master/ngStorage.js#L1-L11
If there is a angular in the window object I use it instead of loading it from require.
Again, this works for me, but I didn't make any tests. I've just done this so I can your module. When I have some time I'll try to go deeper in this error.

affects webpack as well.

I have the same issue uglify.  Changing the order of startup like rafakato fixed it for me as well.

Unfortunately, it does not helps in my case (
Browserify Error { [Error: Cannot find module 'angular' from <...> bower_components/ngstorage ...

Same here { [Error: Cannot find module 'angular' from <...> bower_components/ngstorage ...


Update dependencies and migrate deprecated dependencies

Hello,
There are some dependencies in the project that are quite out of date. Here the list
body-parser              ~1.14.1  →         ~1.17.1
cheerio                  ^0.19.0  →         ^0.22.0
express                  ~4.13.0  →         ~4.15.2
fs-extra                 ^0.26.2  →          ^3.0.0
gulp-mustache             ~2.0.1  →          ~2.3.0
kss                       ~2.1.0  →  ~3.0.0-beta.18
lodash                   ~3.10.1  →         ~4.17.4
markdown-it               ^5.1.0  →          ^8.3.1
morgan                    ~1.6.0  →          ~1.8.1
postcss-color-function    ^2.0.0  →          ^3.0.0
postcss-import            ^8.0.2  →          ^9.1.0
postcss-inline-comment    ^2.0.0  →          ^3.0.0
postcss-mixins            ^4.0.0  →          ^5.4.1
postcss-partial-import    ^1.3.0  →          ^3.1.1
q                         ~1.4.1  →          ~1.5.0
run-sequence              ~1.1.0  →          ~1.2.2
socket.io                 ~1.4.0  →          ~1.7.3
vinyl                     ~1.1.0  →          ~2.0.2
vinyl-fs                  ~2.2.1  →          ~2.4.4
yargs                    ~3.30.0  →          ~8.0.1
babel-root-import         ^3.2.2  →          ^4.1.8
chai                      ~3.4.1  →          ~3.5.0
coveralls                ~2.11.2  →         ~2.13.1
del                       ~2.1.0  →          ~2.2.2
dependency-check          ~2.5.1  →          ~2.8.0
gulp-istanbul            ~0.10.0  →          ~1.1.1
gulp-jscs                 ~3.0.2  →          ~4.0.0
gulp-mocha                ~2.2.0  →          ~4.3.1
gulp-ng-annotate          ~1.1.0  →          ~2.0.0
gulp-plumber              ~1.0.1  →          ~1.1.0
jscs                      ~2.6.0  →          ~3.0.7
karma                   ~0.13.15  →          ~1.6.0
karma-coverage            ~0.5.3  →          ~1.1.1
karma-mocha               ~0.2.1  →          ~1.3.0
karma-mocha-reporter      ~1.1.2  →          ~2.2.3
karma-sinon-chai          ~1.1.0  →          ~1.3.1
main-bower-files          ~2.9.0  →         ~2.13.1
phantomjs-prebuilt         2.1.7  →          2.1.14
sinon                    ~1.17.2  →          ~2.2.0
sinon-chai                ~2.8.0  →         ~2.10.0

autoprefixer                    ^6.3.2  →       ^6.7.7
gulp-postcss                    ^6.1.0  →       ^6.4.0
postcss                        ^5.0.14  →      ^5.2.17
postcss-nested                  ^1.0.0  →       ^1.0.1
pug                       ^2.0.0-beta6  →  ^2.0.0-rc.1
babel-core                      ^6.7.2  →      ^6.24.1
babel-preset-es2015            ^6.1.18  →      ^6.24.1
babel-register                  ^6.7.2  →      ^6.24.1
karma-phantomjs-launcher        ~1.0.0  →       ~1.0.4
proxyquire                      ~1.7.3  →      ~1.7.11

There are also, some dependencies that are using still a deprecated version.
npm WARN deprecated<EMAIL_ADDRESS>It's deprecated, please use postcss-scss instead.
npm WARN deprecated<EMAIL_ADDRESS>cssnext is now postcss-cssnext. cssnext is deprecated. See postcss-cssnext migration guide http://cssnext.io/postcss/
npm WARN deprecated<EMAIL_ADDRESS>cssnext is now postcss-cssnext. gulp-cssnext is deprecated. Use gulp-postcss instead. See postcss-cssnext migration guide http://cssnext.io/postcss/

Is there a reason why we keep them out of date? If not, I can prepare a PR.

@DanielaValero Hi! As far as I remember, no reason. You can update, just check with tests that everything is working. PR is very much appreciated, thank you!

Sure, I already started some work on the matter, and for sure will take some more time as the angular one. But will get it in :)
Also, with the latest version of KSS, I think we will be able to support words instead of numbers for the sections.
I will make sure to update readme accordingly, and letting you know with time, if there is any breaking change, so we can announce it accordingly to the users


Open Help on keys alt+shift

Issue Type: Bug
i change language on keys alt+shift. in visual code studio when i press this keys. Open Help. In keybinding i don't find this keys
VS Code version: Code 1.29.1 (bc24f98b5f70467bc689abf41cc5550ca637088e, 2018-11-15T19:07:43.495Z)
OS version: Linux x64 4.15.0-39-generic

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz (8 x 3456)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwarerasterization: disabled_softwarevideo_decode: unavailable_softwarevideo_encode: unavailable_softwarewebgl: enabledwebgl2: enabled

Load (avg)
1, 1, 1

Memory (System)
14.64GB (2.65GB free)

Process Argv
--unity-launch

Screen Reader
no

VM
0%

Extensions (19)

Extension
Author (truncated)
Version

simple-react-snippets
bur
1.2.2

vscode-eslint
dba
1.7.0

vscode-faker
dee
1.3.0

gitlens
eam
8.5.6

tslint
eg2
1.0.40

php-debug
fel
1.12.6

php-intellisense
fel
2.3.10

php-pack
fel
1.0.2

ftp-simple
hum
0.6.8

vscode-gist
ken
1.2.1

php-symbols
lin
2.1.0

Angular-BeastCode
Mik
7.0.15

vscode-exec-node
mir
0.5.0

vscode-language-pack-ru
MS-
1.29.2

python
ms-
2018.10.1

LiveServer
rit
5.2.0

code-settings-sync
Sha
3.2.0

ayu
tea
0.17.0

vscode-todo-highlight
way
1.0.4

(2 theme extensions excluded)

@ekam230
Can you provide some more information:

What is your goal?
Are you trying to set a key binding for language mode?
Is there particular command you do not see in the key bindings?

@ekam230  can you verify 2 things?

Are you using the custom menubar? Please report the value of "window.titleBarStyle" in you settings.
Please report the value of "window.menuBarVisibiliby" in your settings.

I am currently not able to reproduce this with any configuration, but more information can help narrow it down. Thanks.

Yes problem with window.titleBarStyle = custom. When i set "native"  - problem disappears.
I found another solution to the problem. I have a Russian language pack installed(ms-ceintl.vscode-language-pack-ru). When window.titleBarStyle = custom. I delete the Russian plugin. The problem also disappears.
I will use in native mode.
p.s. window.menuBarVisibiliby = default

@ekam230 I want to re-open this as this is a valid bug against the custom menu. It is likely due to a bug in mnemonics with the Russian language pack. Can you try setting window.enableMenuBarMnemonics to false with the custom title bar enabled and see if this reproduces?

i set window.enableMenuBarMnemonics=false and problem also disappears.


Broken tests

The redefinition of PreR constructors using **kwargs broke the initialization used by the test files.

Done here


😱 🎨 Refactor storage adapter

refs #7687
There are four main changes in this PR:

we have outsourced the base storage adapter to npm, because for storage developers it's annoying to inherit from a script within Ghost
we hacked theme storage handling into the default local storage adapter - this was reverted, instead we have added a static theme storage here
use classes instead of prototyping
optimise the storage adapter in general - everything is explained in each commit

The base storage adapter is not yet released.
You can find the implementation here https://github.com/kirrg001/Ghost-Storage-Base/tree/storage-base.
TODO

[x] release ghost-storage-base and change package.json
[x] double check target dir - used by the importer?
[x] test in browser
[x] ensure installing a custom storage adapter still works 😎

Next steps
We would like to change the location of adapters. Right now custom storage adapter live in content/storages. We would like to change this to content/adapters/storages and content/adapters/scheduling.

This is ready for review. After review, i will publish the base storage adapter.

The targetDir option for save is used by the importer, which will need resolving. Other than that this PR looks 👍  - just needs a rebase I think?

The targetDir option for save is used by the importer, which will need resolving

👍 Thanks!

I have updated the PR, ready for final review 👍


Add line edit

This pull request makes the following changes:

add ability to edit line

I didn't know exactly where to put it, so I made a presumption on where it'd look OK. LMK if there's a better place!

It relates to the following issue #s:

Fixes #824

Codecov Report

Merging #886 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #886   +/-   ##
=======================================
  Coverage   97.99%   97.99%
=======================================
  Files          35       35
  Lines         747      747
=======================================
  Hits          732      732
  Misses         15       15

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 6fa8239...24b4553. Read the comment docs.

@colinxfleming a flaker is responsible for the failing test here, but should be good to go otherwise. The PledgeFulfillmentTest

sorry @FeminismIsAwesome , two PRs got submitted for this one. Going to close this one out as resolved. I'll post a reminder for everyone to tag in on any issues so we can avoid accidentally duplicating work in the future.
My bad, sorry!


Create GRPC_USE_TRACERS to support OSS/internal difference

This will match with an internal change, I will send it to you also

Worth noting, this changes nothing in OSS. Tracers are still on by default. This structure just makes the internal part of this easier and cleaner

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

#15458


Deployment issue with role member

I searched for a similar issue in open tickets but could not find any.
I'm having issues when adding and deploying a new user into the role membership in the model. When deploying I'm getting the error attached. Strange part is, it does not happen all the time. Sometime it happens sometime it doesn't. For example, if I get this error, I use VS to deploy the model. VS deploys successfully. After that, if I use Tabular Editor to deploy, it doesn't fail.

Please see issue #403 . For some reason Visual Studio sometimes fills out the MemberID property, but this is not compatible with AzureAD role members, causing errors when deploying with Tabular Editor. I might be able to provide a fix that causes Tabular Editor to strip the MemberID values in the generated deployment script, for any AzureAD role members, but in the mean time, please remove these values manually/through advanced scripting as shown in the other thread.

Thanks a lot for the explanation. Much appreciated. I think the script that removes the MemberID properties will do it for me. I will try that option and close this ticket afterwards.

Script is definitely very useful. Keep up the great work.
Thanks again!

@otykier  I encountered the same issue. As you mentioned VS creates these MemberID properties (example below)
{
            "memberName": "first.last@xyz",
            "memberId": "first.last@xyz",
            "identityProvider": "AzureAD"
}

But VS is able to successfully deploy. When I script the model on the server, it doesn't have memberId.
Is there a workaround you can do?

You need to run this script below before deploying. Works like a charm, thanks to @otykier.
foreach(var role in Model.Roles)
{
// Find all Azure AD role members where MemberID is assigned:
var orgMembers = role.Members.OfType()
.Where(m => m.IdentityProvider == "AzureAD" && !string.IsNullOrEmpty(m.MemberID)).ToList();
// Delete the member and recreate it without assigning MemberID:
foreach(var orgMember in orgMembers)
{
    orgMember.Delete();
    role.AddExternalMember(orgMember.MemberName);
}

}

@datacatsuk I'm aware of that (I linked to it in my comment). I understand that the VS output is maybe incorrect, but my thought process is that if Visual Studio is able to deploy the project successfully, then Tabular Editor should too without workarounds.

Sorry, I haven't noticed the link. I suppose that was a request from the developer to add this workaround in the deployment code directly.


Request: Multiple actions for a binding

I am trying to make a navigation layer which updates my panel when active.
[main]
capslock = overload(nav, toggle(nav))

[nav]
j=left
k=down
l=up
;=right

d=home
f=end

I can execute commands by using command(<command>), and toggle a layer using toggle(<layer>). I would like something like actions(<action1>, <action2>) to do something like
# if capslock held: use nav layer until released. if pressed: toggle nav layer and tell polybar to update an indicator
capslock = overload(nav, actions(toggle(nav),command(polybar-msg action '#navindicator.hook.1'))

Maybe it can have even more actions chained, but I don't really know when you would need more than 2 actions, and using actions(<action1>,actions(<action2>,<action3>)) is also fine.
Oh, and thanks for making keyd, it is so usefull to be able to just switch around keys in an eazy way!

command is run as root, and is probably not what you want. You probably want a script tied to your X session which monitors the output of keyd listen and updates your indicator accordingly.

Ah, that seams like a better solution for this specific case. (It seems like I was using an older version which didn't have a note saying command was run as root in the man). For some usecases it may still be usefull. You can decide if you want to still implement this, or close this issue. Thanks!

I would definitely be interested in executing more than one action for a given input.
Here is my use case: I am using keyd for chording.
Typically, I would like to chord p+r+t+a ⇒ 'participat' and then switch to a “endings” layer to finish the word with, for instance:

'e' ⇒ 'participate',
'd' ⇒ 'participated',
's' ⇒ 'participates',
'g' ⇒ 'participating',
'o' ⇒ 'participation',
and even (why not?) 'n' ⇒ 'participant' with the use of a backspace (or the first round could be 'participa' and then complete from there.

I understand that it is actually possible currently : don’t type anything on the first chord and only switch to the “endings” layer for that word, and then type the full corresponding word during the second input.
However, I see two main drawbacks to doing it that way.
First, not seeing anything appear on the screen until the second series of strokes could be quite confusing, although I suppose one might get used to it after a while.
But, moreover, it seems logical to me that such an “ending” layer could actually be reusable for a lot of words. Instead of having a lot of layers (one per word containing all its possible endings), it would be a lot simpler to have a single “endings” layer, with all relevant words referring to it (think of 'paint', 'mitigate', pretty much all English verbs that are also nouns and sometimes adjectives - and that also applies to French, Esperanto, etc.). Of course, there are irregular verbs, etc, which might require other solutions.

Actually found out that my use case is already covered: https://github.com/rvaiya/keyd/blob/master/docs/keyd.scdoc#L662
So the case of multiple actions remains when they are not “macro followed by layer”.

I would definitely be interested in executing more than one action for a given input.

This is non trivial to implement without breaking current semantics, but is planned for the next major release, which will likely break backward compatibility. Having said that, I believe what you want to achieve can already be done by making use of the existing compound actions (layerm and friends).
I'm not sure what you mean by this:

don’t type anything on the first chord and only switch to the “endings” layer for that word, and then type the full corresponding word during the second input.

Unless by 'chord' you mean typing 'p' then 't' then 'r' etc, rather than holding them down simultaneously (what keyd refers to as a chord). If this is indeed what you mean (something like vim abbreviations), it can be somewhat cumbersomely achieved by abusing layers like so:
[main]
p = swapm(pr, r)

[pr]
t = swapm(prt, t)

[prt]
a = swapm(prta, t)

[prta]
a = swap(prta_completion)

[prta_completion]
e = macro(backspace backspace backspace backspace participate)
d = macro(backspace backspace backspace backspace participated)
s = macro(backspace backspace backspace backspace participates)
g = macro(backspace backspace backspace backspace participating)
o = macro(backspace backspace backspace backspace participation)

But, moreover, it seems logical to me that such an “ending” layer could actually be reusable for a lot of words.

I have toyed with the idea of adding first class support for something like this, but if it ends up getting implemented, it will probably be part of the next major release.

I found another usecase... It is clearing the layers before toggling one.

This is what swap is for.


Figure out a good story for CSS and static assets

For CSS could the API be something like:

let css_rules = [
   css.rule(".class-item", [
      css.color(colors.Pink),
      css.font_family([fonts.cursive(), "Comic Sans MS" ])
      css.font_size(size.em(2.0))
   ]
]

Would the goal be that we can render the CSS with the view (i.e. add style tags in the rendered out view)? I think it would be good if we can render the CSS separate to the view, so some apps could output a css file, what are your thoughts?

I’m actually thinking something more in line with CSS modules or styled-components. I want people to he able to copy and paste CSS without lots of reformatting.
We have to keep in mind that CSS is more than just rules. It’s also media queries, and font definitions, etc.

I'm now thinking that this isn't really Nakai's job. something for another library to solve, perhaps!


iter_inner is either accidentally public or undocumented

The docs show iter_inner method, but this method has the exact same docstring as iter:
https://docs.rs/bevy/latest/bevy/ecs/system/struct.Query.html#method.iter_inner

Those docs do need to be updated but it's not the exact same.
iter_inner states "Returns an Iterator over the query results, with the actual “inner” world lifetime."

Yeah, this could use a bit more context on why exactly you may want to use it.

Following #5742, #4243, and #5591, the function seems to be pretty well documented. Closing.


Admin functionality added

Can @AhubSajid or @JoshC98 look at accepting my pull request to update my testing branch with the changes that Ahub has made.
Thank you :)
Danny

There were some merge requests within this pull requests but it was because the index.js functions had two routes one for my azure link and one for localhost.

Thanks for this @GDoesCode I can work on testing the admin functionality of the applciation


BSOD when FSUIPC is closed while MF Connector is running

Describe the bug
Windows shows blue screen with error UNEXPECTED_KERNEL_MODE_TRAP when FSUIPC stops running while MF Connector is running. There is an infinite loop of messages that FSUIPC has disconnected, then the computer crashes.
Steps To Reproduce
Steps to reproduce the behavior:

Have MF Connector with FSUIPC7 running.
Close FSUIPC7

Expected behavior
Error message shows and MF Connector stops running.
Actual behavior
MF Connector opens infinitely many notification windows that FSUIPC is disconnected, then the computer crashes.
Details

MobiFlight Version: 9.4.0
FlightSim: MSFS2020
FSUIPC7 Version: 7.3.7

Can not reproduce.
MF <IP_ADDRESS> BETA
FS2020  <IP_ADDRESS>
FSUIPC 7.2.16

@DaGinYus - Can you still reproduce this with the 9.5 version and a newer FSUIPC?

The issue seems to have been resolved