Add Precision to ROUND AQL method

Scope & Purpose
Add Precision to AQL Method
RETURN ROUND(1.12345) // 1
RETURN ROUND(1.12345,1) // 1.1
RETURN ROUND(1.12345,2) // 1.12
RETURN ROUND(1.12345,3) // 1.123
RETURN ROUND(1.12345,4) // 1.1235
RETURN ROUND(1.12345,5) // 1.12345

[ ] :hankey: Bugfix (requires CHANGELOG entry)
[x] :pizza: New feature (requires CHANGELOG entry, feature documentation and release notes)
[ ] :fire: Performance improvement
[ ] :hammer: Refactoring/simplification
[ ] :book: CHANGELOG entry made

Backports:

[x] Backport for 3.9: [(Please link PR)](https://github.com/arangodb/arangodb/pull/15328)

Related Information
(Please reference tickets / specification / other PRs etc)

[ ] Docs PR:
[ ] Enterprise PR:
[ ] GitHub issue / Jira ticket number:
[ ] Design document:

Testing & Verification
(Please pick either of the following options)

[ ] This change is a trivial rework / code cleanup without any test coverage.
[ ] The behavior in this PR was manually tested
[ ] This change is already covered by existing tests, such as (please describe tests).
[ ] This PR adds tests that were used to verify all changes:

[ ] Added new C++ Unit tests
[ ] Added new integration tests (e.g. in shell_server / shell_server_aql)
[ ] Added new resilience tests (only if the feature is impacted by failovers)

[ ] There are tests in an external testing repository:
[ ] I ensured this code runs with ASan / TSan or other static verification tools

Link to Jenkins PR run:
Documentation

All new features should be accompanied by corresponding documentation.
Bugs and features should furthermore be documented in the CHANGELOG so that
support, end users, and other developers have a concise overview.

[ ] Added entry to Release Notes
[ ] Added a new section in the Manual
[ ] Added a new section in the HTTP API
[ ] Added Swagger examples for the HTTP API
[ ] Updated license information in LICENSES-OTHER-COMPONENTS.md for 3rd party libraries

External contributors / CLA Note
Please note that for legal reasons we require you to sign the Contributor Agreement
before we can accept your pull requests.

@solisoft : thanks a lot for your contribution!
I'd like to work on integrating your patch, but for legal reasons we need you to fill out and sign our Contributor License Agreement (CLA). We are using a Apache 2 CLA for ArangoDB, which can be found here: https://www.arangodb.com/documents/cla.pdf. You can scan and email the CLA PDF file to<EMAIL_ADDRESS>or send it via fax to +49-221-2722999-88.
Sorry for the trouble, but I am not allowed to accept contributions without having the CLA in place.
Thanks!

The main purpose of this change is to allow rounding values for displaying it ... By exemple I have a lot of charts to create and datasets are numbers like 13.19182726 ... and I only need the rounded value for display ... I understand the issue and I'll think about a fix.

@goedderz : while it is true that in our case we cannot represent certain numbers exactly in a fixed-width floating-point value, rounding a value to a near representable value may still be useful.
For example, rounding the value of 1.29 to the nearest representable value for 1.3 (e.g. 1.3000000000000000444089209850062616169452667236328125) may be more desirable than going with 1.29. Because the 1.3xxx value may well be truncated for displaying later, so it will likely come out as 1.3.
If the issue is explained in the docs, I think that some rounding functionality is still a useful thing to add.
However, we will only be able to integrate the PR with a signed CLA.

just sent the CLA doc to<EMAIL_ADDRESS>

@solisoft : I will move this forward during the next few days, ensuring review, testing and such. As I will not be working tomorrow and the day after, it may be delayed until some point next week.
But I will take all the blame if this does not make progress until mid next week :sweat_smile:.

@solisoft: after reading the suggestion from @goedderz, I think it could make sense to turn this function from ROUND(number, precision) -> number into TO_FIXED(number, precision) -> string. WDYT?

@jsteemann good idea !

Oh ok good to know

Functionality continued via PR https://github.com/arangodb/arangodb/pull/15414.
That is a separate PR because unfortunately our CI infrastructure doesn't support pulling from different origins.

@Fruchtgummi : I moved the changes over to another PR (https://github.com/arangodb/arangodb/pull/15414) a while ago and wanted to land them in our devel.
Unfortunately it turned out to be more complicated than I thought, because the serialization of numeric values to strings using the C++ standard library turned out to be not portable (i.e. different results on different platforms).
There is hope that std::fmt will help here, but I haven't tried it yet due to lack of time.
I will revisit the issue in a few weeks when I will have more time. We can leave this PR here (and mine) open so it is not forgotten. I am still in favor of adding that functionality once there is a reliable and portable solution.


Make generated jwt attributes in a predictable order

Follow up PR for the #1338

I don't really like the approach to change internals of JSONObject via reflection. Are there no clean alternatives?
What problem does this PR address that PR #1338 does not? Is it an alternative or are both PRs required?

@finkmanAtSap Even thou it's a reflection I found it to be a cleaner approach than storing JSONObject under an ArrayList then sorting it and then doing some string manipulations. We could discuss here the performance gains too, but i dont thinks it plays a critical role here. PR #1338  is an alternative.

I'm not sure if we are solving the right problem after thinking some about it:
JSONObject is order-agnostic because it claims this is a fundamental property of JSON.
Shouldn't then AuthenticationToken.equals also return true for two tokens who are equal except for the order of their JSON properties? I think the equals implementation of our Token interface returns false in this case which might be questionable.
With reflection, we are introducing something that could cause more problems than this solves in my opinion.
The failing test itself has limited value IMO if it requires the exact same token strings for two instances to be equal. There are no sources of randomness inside the logic, so I am not sure why it would ever produce different results for the same token.
Yet, we are trying really hard to produce JWTs whose String representation is identical for the same properties. If we decide that we really do need that, I think we should use a LinkedHashMap/TreeMap to store the properties instead of a JSONObject and then use a JSON serializer that produces consistent results. JSONObject tells us it is not the right implementation to produce consistent JSONs.
I think performance is very negligible here because it is just unit tests whose runtimes are dominated by other parts of the code. The objects in question are tiny data structures that are only sorted for token creation.
But I understand we do not want to put too much effort on this and the reflection solution is giving us just that. I'm just  scared of yet another consumer complaining because our test modules break their unit tests at one point.


glfwWindowShouldClose window !=NULL Linux

Hi i keep getting a window != null asserstion when i try and code.
this is the error i get
g++ -std=c++17 -O2 -o VulkanTest main.cpp -lglfw -lvulkan -ldl -lpthread -lX11 -lXxf86vm -lXrandr -lXi
./VulkanTest
17 extensions supported
VulkanTest: /build/glfw/src/glfw-3.3.4/src/window.c:477: glfwWindowShouldClose: Assertion `window != NULL' failed.
make: *** [Makefile:10: test] Aborted (core dumped)
this is the code used if anyone is interested.
`
#define GLFW_INCLUDE_VULKAN
#include <GLFW/glfw3.h>
#define GLM_FORCE_RADIANS
#define GLM_FORCE_DEPTH_ZERO_TO_ONE
#include <glm/vec4.hpp>
#include <glm/mat4x4.hpp>
#include
int main() {
glfwInit();
glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API);
GLFWwindow* window = glfwCreateWindow(800, 600, "Vulkan window", nullptr, nullptr);

uint32_t extensionCount = 0;
vkEnumerateInstanceExtensionProperties(nullptr, &extensionCount, nullptr);

std::cout << extensionCount << " extensions supported\n";

glm::mat4 matrix;
glm::vec4 vec;
auto test = matrix * vec;

while(!glfwWindowShouldClose(window)) {
	glfwPollEvents();
}

glfwDestroyWindow(window);

glfwTerminate();

return 0;

}
`
The code is offical code which makes me think bug with glfw.
im using xfce which appears to use wayland so im using glfw-wayland 3.3.4-1 from official repository.
Is anyone else having the same problem? thanks

ok it turns out im using x11 which makes no sense as the system comes installed with a "dtd-wayland" in its startup, but anyway if someone has the same error as me try running
echo $XDG_SESSION_TYPE in teriminal and then make sure you have got correct glfw version


Add native support for SRI

Is your feature request related to a problem? Please describe.
https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity
Describe the solution you'd like
Use https://github.com/JonasKruckenberg/rollup-plugin-sri by default to add tokens to the tags.
Describe alternatives you've considered
Guide, option

@Exelord Looking into it further, it appears that Vite has a special hook for transforming the index HTML file: https://vitejs.dev/guide/api-plugin.html#transformindexhtml – I’m going to take a look at modifying the plugin to make use of it.
Also opened an issue there to track: https://github.com/JonasKruckenberg/rollup-plugin-sri/issues/99

Hello again, it’s out :)
https://github.com/small-tech/vite-plugin-sri
Also note that Jonas is also working on getting his more generic/configurable rollup plugin that mine was inspired by working with Vite too. You can keep an eye on the progress of that here: https://github.com/JonasKruckenberg/rollup-plugin-sri/issues/99

@aral nice! @Exelord if everything you need from Vite to create this plugin is already available, let's close this issue. Consider sending the plugin to https://github.com/vitejs/awesome-vite once it is ready so others can discover it, and also share it in the #plugins channel in https://chat.vitejs.dev

Im also proposing to make it a default in Vite :) Its a core security feature which shouldn't be optional. The whole community can benefit from it.

Is it possible generate SRI directly to manifest file? Not just change in index HTML file (which I don't use it).

@pepa-linha Created vite-plugin-manifest-sri, which might be useful for your use case.

@ElMassimo Thanks, it looks good. (I created something similar, I have to modify the manifest more, because, for example, styles that are like input for Rollup are not generated in it)

Im also proposing to make it a default in Vite :) Its a core security feature which shouldn't be optional. The whole community can benefit from it.

Just like the integrity option of VueCLI

"None of them support integrity hashes on dynamically loaded modules." - I may be in the process of making this general observation as well, but I am super-new to both Vite and Vue so I do think I'm still missing something in my understanding. I am adding my details to this thread in case others are observing something similar, looking for a little guidance myself, and offering to help, if I can.
Specifically, it appears to me that something (...probably the Vue plug in? Or vite itsef?) adds additional javascript content to the output .js files AFTER the transformIndexHtml has completed in the SRI plugins, even with enforce: 'post'. Since the SRI plugins compute the corresponding modules' Javascript files' hashes BEFORE this additional content is added, the hashes no longer represent the contents, and fail both SRI and CSP.
This appears to be the case empirically for both vite-plugin-sri and rollup-plugin-sri. I didn't actually try vite-plugin-manifest-sri, but by inspection it appears it will have the same issue.
In any case, certainly looking forward to figuring out a good way to support SRI and CSP with a statically generated single page Vue application. If anyone can help me understand and configure a build without the additional Javascript, I'd greatly appreciate it. Alternately, if there is a mechanism for ensuring that transformIndexHtml or some similar hook could run AFTER the .js files' final content is complete, I'll be happy to help update the plugins.  I have so far been unable to locate where in vite or the vue plug-in this "extra code" is added, so if anyone on this thread already has that dialed in, guidance is appreciated.
And, bottom line: Thanks to everyone involved, with both Vite and the various existing SRI plug-ins; I appreciate what you have done here. Pinging for awareness, it looks like @estahn may take [over as maintainer]((https://github.com/JonasKruckenberg/rollup-plugin-sri/issues/393) for @JonasKruckenberg, and @aral is already in this thread.
-Tim

@TimJohns I'm not sure vite-plugin-manifest-sri is susceptible to the problem you mentioned, as it uses writeBundle which is "the last hook of the output generation phase".

Has there been any discussions about this?
I'm thinking of trying to write a plugin for augmenting dynamic import capabilities, but it doesn't look like it would be possible.
As far as I know, the only way would be to inject a configurable document.createElement('script') based import() shim that would be able to know each bundles final contents, (or read a precomputed map of bundle ids to hashes), and include it on the script element. Anyways that's what webpack seems to be doing 😅.
From the plugin api docs it seems possible to rewrite import() statements to something else, but I can't tell if we'd have access to the bundles at that point. Can anyone advise?

In my case, The vite-plugin-sri and rollup-plugin-sri plugins are not work.
In transformIndexHtml generateBundle hooks, we get old content with script chunks.
Because the vite:build-import-analysis built-in plugin will override some content in generateBundle hook.
At the same time, the order of user-configured plugins cannot be later than that of built-in plugins.
https://github.com/vitejs/vite/blob/733fab8548e363fecc04c096e21a3a18abf62dd4/packages/vite/src/node/plugins/index.ts#L100

In my case, The vite-plugin-sri and rollup-plugin-sri plugins are not work.
In transformIndexHtml generateBundle hooks, we get old content with script chunks. Because the vite:build-import-analysis built-in plugin will override some content in generateBundle hook. At the same time, the order of user-configured plugins cannot be later than that of built-in plugins.
https://github.com/vitejs/vite/blob/733fab8548e363fecc04c096e21a3a18abf62dd4/packages/vite/src/node/plugins/index.ts#L100

I make a plugin to resolve this problem
https://github.com/yoyo930021/vite-plugin-sri3

Hi,
it seems to me that both rollup-plugin-sri and vite-plugin-sri are inactive and haven't been updated in a long time - maybe that could be the motivation to include this as part of standard vite build? (I agree with somebody up the thread that there is basically no reason not to have SRI and it should be on by default...)

If the Vite team is interested, I'm willing to submit a PR to contribute by integrating the plugin I wrote above.

Hey all, this seems a bit late - but this sort of ties into the whole CSP & SRI conversations that's happening here:
I've just released V1 of vite-plugin-csp-guard - Handles your CSP, and allows you to hash at dev and build time.
Check it out
Lots of documentation here, however planning to add more, especially when concerning SRI
Repo is here
Please check it out - any feedback is welcome!

FYI, vite-plugin-sri has been archived. So I feel the need to do this is even higher now.
@RockiRider does your plugin do SRI as well? The way I see it, CSP and SRI are orthogonal (though both useful!)

To continue, I'd be willing to help with this as well, @yoyo930021 also said they'd be willing to submit a PR.
As this discussion is long and hard to follow, let me tag a core team member - @bluwy, sorry if this is spam, but could you please chime in as to what Vite team thinks? If there are people willing to make a PR that would still be work for you, but I think we would appreciate an official stance on whether this should be part of Vite. Thanks!

any updates or modern workarounds guys? 😅

for security reason, we should Have this feature, both for generated and dynamic chunks.

Also would like this in Vite for moving over one of the last wepback projects we've got.
The has workaround tag should probably be removed with the main 2 plugins that served as workarounds no longer being maintained


CLI subcommand to print config for certain file

Is currently done. Needs some refactoring one #4 is implemented.

Looks still pretty decent after #4 landed. Can be revised later if needed.


Add scripts for speech-to-text using whisper and stt+forced alignment with whisperX

Adds two functions for using Whisper or WhisperX to transcribe an audio file, and can perform speaker diarization and forced alignment of text output if using WhisperX.

hey @900miles do you mind importing the packages you use in your process.py file and adding them to the dependencies of the package?

New commit should allow working directly with Audio objects. I've also added a requirements.txt but I've never really made one before so I'm not sure if I did it correctly.

instead of a requirements.txt just add it to the pyproject.toml

also perhaps change the filename to speech2text.

Done and done!


Component failed to fetch

Another day another issue, unfortunately this one I don't have an easy fix for. I came back to the dashboard today to find everything "Unavailable".

Data for sensors stops at 21:48 (Pacific)

I found this single line in the home-assistant.log:
2024-06-27 21:48:13.627 ERROR (MainThread) [custom_components.leslies_pool.sensor] Error fetching leslies_pool data: Error fetching data: Expecting value: line 9 column 1 (char 8)
From the UI this is the slightly more detailed log version, but not really any more useful:
This error originated from a custom integration.

Logger: custom_components.leslies_pool.sensor
Source: helpers/update_coordinator.py:344
integration: Leslie's Pool Water Tests (documentation, issues)
First occurred: June 27, 2024 at 9:48:13 PM (1 occurrences)
Last logged: June 27, 2024 at 9:48:13 PM

Error fetching leslies_pool data: Error fetching data: Expecting value: line 9 column 1 (char 8)

There is nothing else in my logs for +/- 3mn and those other log entries are issues with other integrations that I'm aware of. I did restart home assistant and the data came back. If it errors out again I'll let you know. My "make developers cry" level of python suggestion: When in doubt, more try/except!

This seems to be happening every day or so.
This error originated from a custom integration.

Logger: custom_components.leslies_pool.sensor
Source: helpers/update_coordinator.py:344
integration: Leslie's Pool Water Tests (documentation, issues)
First occurred: July 1, 2024 at 3:06:05 PM (1 occurrences)
Last logged: July 1, 2024 at 3:06:05 PM

Error fetching leslies_pool data: Error fetching data: Expecting value: line 9 column 1 (char 8)

If you've got some suggestions as to how I can get more data out of this to help debug, I'd be glad to do so.

Hmm i can spin up a VM and just add a ton of logging - See if i can replicate on my end but if i cant ill let you know or make some additional debugging flags

Same here, happening every day.


NATIVE-138: Create and update android app icons

Did you kind of follow this way to generate these icons?

Open your project in Android Studio
Right click on the app folder, then click on New and then click on Image Asset
In the Icon Type field select Launcher Icons (Adaptative and Legacy)
In the pathfield, select your image file
Once done, click on the Nextbutton and then on the finish button

We used this guide to generate the icons initially: https://github.com/bamlab/generator-rn-toolbox/blob/master/generators/assets/README.md#assets-setup
We should try to stay compatible to this generator. Also is the source for the new icons the assets/ driectory in the root of the repo?

Thanks @thimmy687 for already delivering it! :)
backup:
Uploading adaptive-icons.zip…

Can be reopened if this is useful.


Added options in pages/nodes to plot by node flag values.

Fix for #106
..as a first pass. Yet to do the flags bit wise.
Would also be good to have better labels for the node flags I suppose.

Code LGTM, I haven't tried it out though.
See comment about the cache versions, good to merge otherwise.

Thanks, Jerome. I did change the cache version for it to work, didn't commit it. Sorry about that, and I'll add a demo as well.

[
https://github.com/tskit-dev/tsqc/assets/25925005/a456bca5-a61d-4009-bd29-d8a0cc80fdb1
](url)

Can you add an issue to track doing the flags values bitwise please @savitakartik ?

Is there any way to have the zoom not change when toggling flags?

Is there any way to have the zoom not change when toggling flags?

Ah thanks for raising Ben. I'll have a look.


Spree 0.70.0.rc2 error

Trying to use extensions with edge spree. Got this error:
/usr/lib/ruby/gems/1.8/gems/activerecord-3.1.1.rc2/lib/active_record/base.rb:1088:in method_missing': undefined method register' for #Class:0xb2bce384 (NoMethodError)
from /home/fodoj/Rails/engrave/vendor/gems/spree_store_credits/lib/spree_store_credits.rb:15:in `activate'

This is fixed on both 0-70-stable and master (1.0.0)


Remove getDefaultProps from plain Javascript class

motivation
getDefaultProps is not available in ES6 class declaration for components. Adding it here may cause confusion to new comers.

By analyzing the blame information on this pull request, we identified @hramos and @scarlac to be potential reviewers.

Thank you for your pull request and welcome to our community. We require contributors to sign our Contributor License Agreement, and we don't seem to have you on file. In order for us to review and merge your code, please sign up at https://code.facebook.com/cla - and if you have received this in error or have any questions, please drop us a line at<EMAIL_ADDRESS>Thanks!

Thank you for signing our Contributor License Agreement. We can now accept your code for this (and any) Facebook open source project. Thanks!

The only issue was the syntax, can you add back the default props?
  static defaultProps = {
  };
}

@romidane updated the pull request.

@ide : Sure thing I've added back the default props.

@romidane updated the pull request.

@ide : I made the change. Had to double just with the style guide :)

I noticed this PR is to the 0.31-stable branch. Can you please resubmit a PR to master?

@romidane updated the pull request.

@ide: Seems like the syntax problem has been resolved on master already

Ah ok, will merge in that case.


InvalidArgumentError:  Default MaxPoolingOp only supports NHWC on device type CPU. Why this happen after onnx2keras?

Hi again,
I have done this steps:
onnx_model = onnx.load(FILE_PATH+"mnist_test.onnx")
k_model_onnx = onnx_to_keras(onnx_model, ['input_1'], name_policy="short")
k_model_onnx.summary()

Model: "model"
__________________________________________________________________________________________________
Layer (type)                    Output Shape         Param #     Connected to
==================================================================================================
input_1 (InputLayer)            [(None, 28, 28, 1)]  0
__________________________________________________________________________________________________
adjusted (Permute)              (None, 1, 28, 28)    0           input_1[0][0]
__________________________________________________________________________________________________
convolut (Conv2D)               (None, 32, 26, 26)   320         adjusted[0][0]
__________________________________________________________________________________________________
conv2d/I (Activation)           (None, 32, 26, 26)   0           convolut[0][0]
__________________________________________________________________________________________________
convolut_1 (Conv2D)             (None, 64, 24, 24)   18496       conv2d/I[0][0]
__________________________________________________________________________________________________
conv2d_1 (Activation)           (None, 64, 24, 24)   0           convolut_1[0][0]
__________________________________________________________________________________________________
conv2d_1_1_pad (ZeroPadding2D)  (None, 64, 24, 24)   0           conv2d_1[0][0]
__________________________________________________________________________________________________
conv2d_1_1 (MaxPooling2D)       (None, 64, 12, 12)   0           conv2d_1_1_pad[0][0]
__________________________________________________________________________________________________
conv2d_1_2 (Permute)            (None, 12, 12, 64)   0           conv2d_1_1[0][0]
__________________________________________________________________________________________________
flatten/ (Reshape)              (None, None)         0           conv2d_1_2[0][0]
__________________________________________________________________________________________________
transfor_reshape (Reshape)      (None, 9216)         0           flatten/[0][0]
__________________________________________________________________________________________________
transfor (Dense)                (None,<PHONE_NUMBER>     transfor_reshape[0][0]
__________________________________________________________________________________________________
biased_t_const2 (Lambda)        (128,)               0           input_1[0][0]
__________________________________________________________________________________________________
biased_t (Lambda)               (None, 128)          0           transfor[0][0]
                                                                 biased_t_const2[0][0]
__________________________________________________________________________________________________
dense/Id (Activation)           (None, 128)          0           biased_t[0][0]
__________________________________________________________________________________________________
transfor_1 (Dense)              (None, 10)           1280        dense/Id[0][0]
__________________________________________________________________________________________________
biased_t_1_const2 (Lambda)      (10,)                0           input_1[0][0]
__________________________________________________________________________________________________
biased_t_1 (Lambda)             (None, 10)           0           transfor_1[0][0]
                                                                 biased_t_1_const2[0][0]
__________________________________________________________________________________________________
dense_1/ (Activation)           (None, 10)           0           biased_t_1[0][0]
==================================================================================================
Total params: 1,199,744
Trainable params: 1,199,744
Non-trainable params: 0
__________________________________________________________________________________________________

y_pred_onnx = k_model_onnx.predict(x_test)

Result :
Tensor("model/transfor/MatMul:0", shape=(None, 128), dtype=float32) Tensor("model/biased_t_const2/Const:0", shape=(128,), dtype=float32)
Tensor("model/transfor_1/MatMul:0", shape=(None, 10), dtype=float32) Tensor("model/biased_t_1_const2/Const:0", shape=(10,), dtype=float32)
---------------------------------------------------------------------------
InvalidArgumentError                      Traceback (most recent call last)
<ipython-input-16-c199c87d14d2> in <module>()
----> 1 y_pred_onnx = k_model_onnx.predict(x_test)

7 frames
/usr/local/lib/python3.6/dist-packages/tensorflow/python/eager/execute.py in quick_execute(op_name, num_outputs, inputs, attrs, ctx, name)
     58     ctx.ensure_initialized()
     59     tensors = pywrap_tfe.TFE_Py_Execute(ctx._handle, device_name, op_name,
---> 60                                         inputs, attrs, num_outputs)
     61   except core._NotOkStatusException as e:
     62     if name is not None:

InvalidArgumentError:  Default MaxPoolingOp only supports NHWC on device type CPU
	 [[node model/conv2d_1_1/MaxPool (defined at <ipython-input-16-c199c87d14d2>:1) ]] [Op:__inference_predict_function_2104]

Function call stack:
predict_function

I have no idea what this mean and why it has happen.
Thanks and sorry!

Hello @M-Tonin.
InvalidArgumentError:  Default MaxPoolingOp only supports NHWC on device type CPU

There are 2 options to fix:

You can try save your model and then load using GPU device
You can try to pass change_ordering=True argument to the converter call (it's experimental and may fail)

But after this, the shape doesn't match. I have create the model in keras after I have saved model.h5 and model.onnx. In another project I have load the model.h5 and predict x_test and thats ok and now  I am trying to load model.onnx and convert to keras model (change_ordering=True, name_policy="short") and when I try to predict using this model I have shape does not match.
WARNING:tensorflow:Model was constructed with shape (None, 28, 1, 28) for input Tensor("input_1_55:0", shape=(None, 28, 1, 28), dtype=float32), but it was called on an input with incompatible shape (None, 28, 28).
WARNING:tensorflow:Model was constructed with shape (None, 28, 1, 28) for input Tensor("input_1_55:0", shape=(None, 28, 1, 28), dtype=float32), but it was called on an input with incompatible shape (None, 28, 28).
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-72-b08c625d5e00> in <module>()
----> 1 y_predas = k_model_onnx.predict(x_test)

10 frames
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/func_graph.py in wrapper(*args, **kwargs)
    966           except Exception as e:  # pylint:disable=broad-except
    967             if hasattr(e, "ag_error_metadata"):
--> 968               raise e.ag_error_metadata.to_exception(e)
    969             else:
    970               raise

ValueError: in user code:

    /usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/training.py:1150 predict_function  *
        outputs = self.distribute_strategy.run(
    /usr/local/lib/python3.6/dist-packages/tensorflow/python/distribute/distribute_lib.py:951 run  **
        return self._extended.call_for_each_replica(fn, args=args, kwargs=kwargs)
    /usr/local/lib/python3.6/dist-packages/tensorflow/python/distribute/distribute_lib.py:2290 call_for_each_replica
        return self._call_for_each_replica(fn, args, kwargs)
    /usr/local/lib/python3.6/dist-packages/tensorflow/python/distribute/distribute_lib.py:2649 _call_for_each_replica
        return fn(*args, **kwargs)
    /usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/training.py:1125 predict_step  **
        return self(x, training=False)
    /usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/base_layer.py:927 __call__
        outputs = call_fn(cast_inputs, *args, **kwargs)
    /usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/network.py:719 call
        convert_kwargs_to_constants=base_layer_utils.call_context().saving)
    /usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/network.py:888 _run_internal_graph
        output_tensors = layer(computed_tensors, **kwargs)
    /usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/base_layer.py:886 __call__
        self.name)
    /usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/input_spec.py:180 assert_input_compatibility
        str(x.shape.as_list()))

    ValueError: Input 0 of layer adjusted is incompatible with the layer: expected ndim=4, found ndim=3. Full shape received: [None, 28, 28]

I tryed to use the argument input_shape=, but not sucessfull

I encountered the same problem.if i set change_ordering=True,it errors: ValueError: Operands could not be broadcast together with shapes (32, 16, 96) (96, 1, 96)
my code:
`import onnx
from onnx2keras import onnx_to_keras
Load ONNX model
onnx_model = onnx.load('model.onnx')
Call the converter (input - is the main model input name, can be different for your model)
k_model = onnx_to_keras(onnx_model, ['input'], change_ordering=True)`
my onnx file in model.zip
model.zip
@nerox8664

If you are using google colab my solution was switch the run mode to "GPU/TPU" and remove change_ordering.

keras_output = k_model.predict(input_np_keras)
I know that solution,but I execute this line of code and report an error, how to run kmodel on "GPU/TPU"? @nerox8664

k_model = \
    pytorch_to_keras(model, input_var, (3, 256, 128),
                     verbose=True, name_policy='short',
                     change_ordering=False)
keras_output = k_model.predict(input_np_keras)

I know that solution,but I execute this line of code and report an error, how to run kmodel on "GPU/TPU"? @nerox8664

I know where the problem is, thank you very much

I'm facing the same issue. Also, set change_ordering=True is inconsistent, it works fine for resnet, resnext, but it gets ValueError same as @lawo123 for se_resnext using this pytorch repo: https://github.com/Cadene/pretrained-models.pytorch
Could you guys please share some information how to overcome this problem? @nerox8664 @lawo123

Encountered this problem as well.


AN failing with error: "market and outcome not found for shareToken"

"market and outcome not found for shareToken 0x113e21c8f602a03218f9dc3dbe574f4893fa759a (0x2e3637153e3f5a906af750135b375f87847232de30c48bd89770327384b0b0aa"
is the exact error being seen. This could potentially be related to the problem being fixed by upgrading our blockstream version
...
Moving this to "Unreproducible Bugs" for now. Might be fixed by Scott's change, but we can keep an eye out for it.
-adrake33

this just means data, somewhere, went missing. We now have a new table called "transaction_hashes", which might be interesting to see where/when the data went missing.


Make sure first part of version string is numeric

If the first part of the version string is not numeric upgrades fail.  This is only an issue with non-release builds.

Issue fixed and merged into release 5.2.5 and master.


$validatorProvider is not working for me

I configured the global validation settings as below in app.js and I am loading the controller using loadplugin. Global configuration is not picking up in this case.
Note: Inline configuration of options works
app.config(function ($stateProvider, $urlRouterProvider,$validatorProvider){
         $validatorProvider.setDefaults({
            errorElement: 'small',
            errorClass: 'help-block',
        });

        $stateProvider
            .state ('admin', {
                url: '/admin',
                templateUrl: 'views/admin.html',
                controller: 'adminCtrl',
                resolve: {
                    loadPlugin: function($ocLazyLoad) {
                        return $ocLazyLoad.load ([
                            {
                                name: 'vendors',
                                files: [
                                    'vendors/bower_components/autosize/dist/autosize.min.js',
                                    'vendors/bower_components/jquery-validation/dist/jquery.validate.min.js',
                                    'vendors/bower_components/jpkleemans-angular-validate/dist/angular-validate.min.js',

                                    'js/controllers/adminCtrl.js'
                                ]
                            }
                        ])
                    }
                }
            });

})

Hi, $validatorProvider is only available when angular-validate.min.js is loaded.
Because you use lazy loading, the dependency resolver of Angular doesn't know how to inject $validatorProvider into your config function.

I got your point!
I also loading the angular-validate.min.js in index.html. I know lazy loading overriding the config.

Oh Yes, I removed it and it works well thanks


add note about new terminology

Add note that we're now saying "Evolution Masternodes"

Superseded by #10


Source file error when editing existing claim

The Issue
When copying data from an existing claim, you should not need to select the source file again since the original blobs should be used in the updated claim. Thanks @reillysmith for finding this one.
Steps to reproduce

Type existing claim name in Publish screen
Use "Use data from my existing claim" option to copy claim data
Publish and get error message about source

Expected behaviour
Edit claim without adding source
Actual behaviour
Error about source
System Configuration

LBRY Daemon version: 0.14.2
LBRY App version: 0.14.3
LBRY Installation ID:
Operating system: Windows

Anything Else

Screenshots

I didn't test, but I doubt #464 fixes this. I actually think that error message is coming from the daemon, though I agree it's likely an app issue.

@btzr-io  - any update on this one? I know you made some progress, but did you get stuck?

Discussion with @btzr-io:
btzr [28 minutes ago
I know  is the app forces you to add a path every time otherwise you get an error:
error occurred when attempting to publish your file: source
jiggytom [27 minutes ago]
yep, and that's exactly what we are trying to solve. So it cold be a backend issue, or maybe we aren't passing something correctly when a path is not selected.
btzr [19 minutes ago]
that's where I'm stuck, how / why does it stores the path if isn't need it?
jiggytom
[13 minutes ago]
Yea I'm not sure, sorry. I think it still needs the path, but if the path is the same, don't re-upload the file. What happens now is that the content gets re-uploaded as new data even though nothing changed with the file itself. Should be able to update claim and leave file intact. Want me to  comment on the issue
btzr [5 minutes ago]
https://lbryio.github.io/lbry/#publish
btzr [4 minutes ago]
it says  -> 'file_path'(optional)
btzr [3 minutes ago]

If no path is given but a metadata dict is provided, the source from the given metadata will be used.
(edited)
jiggytom
[3 minutes ago]
yea, so it is an app issue then
jiggytom
[3 minutes ago]
or should be...just need to check if its an update and if the file is not selected (optional), don't pass/check for the file_path?
btzr [2 minutes ago]
https://github.com/lbryio/lbry-app/blob/master/ui/js/component/publishForm/view.jsx#L118
btzr [< 1 minute ago]
I guess this is what don't get passed -> metadata dict, not sure what it's that yet ?

@btzr-io @tzarebczan to debug further:

Open console.
Perform broken publish.
Observe request. Is it making it to daemon properly? Is it returning errors?
If daemon is erroring, what is being passed? Is it passing a signature that the API docs report as valid?
If yes, it's a bug in the daemon and has to be passed there. But could just as easily be app-side.

@kauffj  As far as I know when there is no path provided it should use source but it never get passed ^^

https://github.com/lbryio/lbry/blob/master/lbrynet/daemon/Publisher.py#L41

Also the API docs aren't really clear about this:
https://lbryio.github.io/lbry/#publish

@tzarebczan can you confirm this exists purely daemon side by determining a precise API call that fails when it shouldn't? Then we can open this on the daemon.

@kauffj sure, will take a look tomorrow. I thought it was fixed already, had a comment on slack.

@kauffj  Already mention this but here is it again -> daemon expects  a fallback source when no file_path is passed, the app only pass file_path: 7a853f1

But if the daemon says a source isn't required, a source shouldn't be required. I'm not inclined to add a fix for this app side (which also later ought to be removed), when we can just fix it in the right place.

Can confirm I am seeing the same as @btzr-io
Original publish:
{"jsonrpc":"2.0","method":"publish","params":{"name":"lbryio","bid":0.01,"metadata":{"title":"test pub 1","language":"en","license":"","licenseUrl":null,"nsfw":false},"file_path":"C:\\Users\\Tom-LaptopVM\\Downloads\\lbryio.jpg"},"id":126}
daemon log:
2017-08-30 08:12:44,973 INFO     lbrynet.daemon.Daemon:1838: Publish: {'claim_address': None, 'name': u'lbryio', 'bid': 0.01, 'claim_dict': {'version': '_0_0_1', 'claimType': 'streamType', 'stream': {'version': '_0_0_1', 'metadata': {u'language': u'en', u'license': u'', u'title': u'test pub 1', 'version': '_0_1_0', u'nsfw': False, u'licenseUrl': None}}}, 'file_path': u'C:\\Users\\Tom-LaptopVM\\Downloads\\lbryio.jpg', 'change_address': None}
Update publish:
{"jsonrpc":"2.0","method":"publish","params":{"name":"lbryio","bid":0.02,"metadata":{"title":"test pub 2","description":"update to publish","language":"en","license":"","licenseUrl":null,"nsfw":false}},"id":211}
daemon log:
2017-08-30 08:18:48,490 INFO     lbrynet.daemon.Daemon:1838: Publish: {'claim_address': None, 'name': u'lbryio', 'bid': 0.02, 'claim_dict': {'version': '_0_0_1', 'claimType': 'streamType', 'stream': {'version': '_0_0_1', 'metadata': {u'description': u'update to publish', u'license': u'', u'title': u'test pub 2', u'language': u'en', 'version': '_0_1_0', u'nsfw': False, u'licenseUrl': None}}}, 'file_path': None, 'change_address': None}
2017-08-30 08:18:48,605 ERROR    lbrynet.daemon.auth.server:353: Failed to process publish: 'source'
Traceback (most recent call last):
  File "site-packages\twisted\internet\defer.py", line 1299, in _inlineCallbacks
  File "site-packages\lbrynet\core\Wallet.py", line 933, in claim_name
  File "site-packages\lbryschema\claim.py", line 139, in load_dict
  File "site-packages\lbryschema\encoding.py", line 36, in decode_fields
KeyError: 'source'

@kauffj I think the daemon is saying that it does require the source to be specified (from the original claim) if a new file isn't selected. Are you saying that the daemon should just figure that part out on its own as opposed to filling it from the app?

@kauffj where does it says the source isn't required?

If provided, a lbry stream of this file will be used in 'sources'.
If no path is given but a metadata dict is provided, the source
from the given metadata will be used.

@btzr-io you're right, my mistake.


Re-Evaluate iOS support

After reading a few blog posts on the libGDX site I think it may be a good idea to look into iOS support once again. They currently provide two back ends for iOS. The first is Intel's Multi-OS engine, and the second is MobiDevelop's RoboVM fork which is not discontinued.

This is definitely a good enhancement, but there are two issues:

It requires a Mac
It requires an iPhone or iPad

I'd be happy if someone could contribute that to me.

This is definitely a good enhancement, but there are two issues:

It requires a Mac
It requires an iPhone or iPad

I'd be happy if someone could contribute that to me.

Although we could use a VM!


fix combo detect

@patel-madhuri there are many issues in #12003, including a design issue #12268
I only enable combo0 and with the fixes in 2nd commit, the test can pass 20+ seeds.
This test is a bit complex. One trick to debug this is to just enable certain randomization and fix issues gradually.
hope you can continue working on it and also enable all combos. Maybe there are still some debug bugs


chore: Add About Page (WEB-47)

Task
Issue Description:
Currently the app has an About Page placeholder instead of an actual About page.
Implementation Steps:

Update page.tsx within the about dir to look like the About page in figma
Mock the description data, use descriptions provided in figma

Steps to contribute. NEVER COMMIT TO MAIN. NEVER COMMIT TO MAIN. It should always be on your own branch and that branch name should match the issue. Ensure that you are addressing the correct issue. Each issue will be listed as something like a chore, fix, bug, etc. Your commit message MUST start with one of these tags that correspond with your issue. Followed by your commit message and your commit message must end with the branch name, for example (WEB-1)
An example commit message would look like this: chore: create contributing guidelines (WEB-8)
Commit messages should not be written in an action or present tense. It also should not mention tasks unrelated to the issue "Creating Contributing Guidelines and will work on next task" is not what we would want to see as a commit message.
After a pull request is approved, the branch should be deleted once merged.

PR opened for this task: https://github.com/dallassoftwaredevelopers/DSDsite/pull/98


TypeError: Cannot read property '$options' of undefined - After Nuxt JS upgrade to 2.14.12

Previous Nuxt version 2.14.6
Upgrade version 2.14.12
mode: 'spa' has been modified into ssr: false,
Error in console -
TypeError: Cannot read property '$options' of undefined
at Object.get (app.js:2495)
at Store.initialize (app.js:18822)
at Array.wrappedActionHandler (app.js:27261)
at Store.dispatch (app.js:26926)
at Store.boundDispatch [as dispatch] (app.js:26816)
at _callee$ (app.js:8353)
at tryCatch (app.js:8624)
at Generator.invoke [as _invoke] (app.js:8858)
at Generator.prototype. [as next] (app.js:8676)
at asyncGeneratorStep (app.js:91)
Error being thrown for the below piece of code in /_nuxt/app.js
get: function get() {
return this.$root.$options.$nuxt;
},
What is Expected?
Working like version v2.14.6
What is actually happening?
TypeError

I don't have the privilege to do that. Can you please ask for some relevant info I can help you with @Atinux ?
Do we need to modify any specific configuration in the nuxt.config file after the recent upgrades?
P.S I have deleted yarn.lock and node_modules folder, and then did a reinstall it did not help.

I don't have the privilege to do that. Can you please ask for some relevant info I can help you with @Atinux ?
Do we need to modify any specific configuration in the nuxt.config file after the recent upgrades?
P.S I have deleted yarn.lock and node_modules folder, and then did a reinstall it did not help.

I don't have the privilege to do that. Can you please ask for some relevant info I can help you with @Atinux ?
Do we need to modify any specific configuration in the nuxt.config file after the recent upgrades?
P.S I have deleted yarn.lock and node_modules folder, and then did a reinstall it did not help.

I don't have the privilege to do that. Can you please ask for some relevant info I can help you with @Atinux ?
Do we need to modify any specific configuration in the nuxt.config file after the recent upgrades?
P.S I have deleted yarn.lock and node_modules folder, and then did a reinstall it did not help.

@danielroe I checked the sandbox, and it indeed does not have the issue I am facing.
So int the nux.config I am having --
const options = {
srcDir: './src',
buildDir: './.nuxt',
buildModules: [
'@nuxtjs/vuetify',
],
build: {
analyze: false,
cache: true,
},
modules: ['nuxt-i18n' ],
vuetify: {
treeShake: true,
}
}
module.exports = options
After build when the .nuxt directory is generated, in the App.js folder this.$root is not available -
get: function get() {
return this.$root.$options.$nuxt;
},
Hence I am getting the above mentioned error.
I tried replacing the instances of Vue.prototype.nuxt by this.$nuxt, which is being used in locale.js file - but this.$nuxt is also not available.

@danielroe I checked the sandbox, and it indeed does not have the issue I am facing.
So int the nux.config I am having --
const options = {
srcDir: './src',
buildDir: './.nuxt',
buildModules: [
'@nuxtjs/vuetify',
],
build: {
analyze: false,
cache: true,
},
modules: ['nuxt-i18n' ],
vuetify: {
treeShake: true,
}
}
module.exports = options
After build when the .nuxt directory is generated, in the App.js folder this.$root is not available -
get: function get() {
return this.$root.$options.$nuxt;
},
Hence I am getting the above mentioned error.
I tried replacing the instances of Vue.prototype.nuxt by this.$nuxt, which is being used in locale.js file - but this.$nuxt is also not available.


Add DPG: SantéMPI

Automatic addition of a new digital public good submitted through the online form available at https://digitalpublicgoods.net/submission

Checklist for conducting technical review against DPG Standard:

[ ] Clear Ownership
[ ] Platform Independence
[ ]  Documentation
[ ] Mechanism For Extracting Data
[ ] Do No Harm By Design
[ ] Data Privacy & Security
[ ] Adherence to Standards & Best Practices
[ ] Adherence to Privacy and Applicable Laws
[ ] Inappropriate & Illegal Content
[ ] Protection From Harassment
[ ] Development & Deployment countries

@lacabra SanteMPI has a few indicator gaps to clarify namely: platform independence and protection from harassment.  I have contacted the product owner and will iterate as soon as we hear from them. Thanks.


GetClassToClassKeywordFixer - introduction

$ php php-cs-fixer describe get_class_to_class_keyword`

Description of get_class_to_class_keyword rule.
Replace `get_class` calls on object variables with class keyword syntax.

Fixer applying this rule is risky.
Risky if the `get_class` function is overridden.

Fixing examples:
 * Example #1.
   ---------- begin diff ----------
   --- Original
   +++ New
   @@ -1,2 +1,2 @@
    <?php
   -get_class($a);
   +$a::class;

   ----------- end diff -----------

 * Example #2.
   ---------- begin diff ----------
   --- Original
   +++ New
   @@ -1,4 +1,4 @@
    <?php

    $date = new \DateTimeImmutable();
   -$class = get_class($date);
   +$class = $date::class;

   ----------- end diff -----------

Coverage increased (+0.009%) to 92.368% when pulling 30d73864dcc210b4db4c2ade76a2eaf4190da1d9 on paulbalandan:get-class-to-class-keyword into a339a06f3116d18050173f45f0c574651bbaa259 on FriendsOfPHP:master.

I always considered accessing class constants via object instances a hacky/bad practice, is it not?

I would agree if we talk about class constant defined as part of class.
I would rather treat ::class as language keyword in this context.

you cannot create class constant inside class (Fatal error: A class constant must not be called 'class'; it is reserved for class)
calling ::class is also one extra opCode tan calling regular class-level constant (showing it's slightly different concept under the hood) ref

looking good! :+1:
currently blocked by https://github.com/FriendsOfPHP/PHP-CS-Fixer/pull/6058

Thank you @paulbalandan.

Thanks, @SpacePossum


Exclude folders with wildcards

Being able to exclude entire folders seems very beneficial! This comes in handy when working with package managers like npm or go's vendor directory among others.
Proposed syntax:
watchers:
 - extension: js
   tasks:
    - command: npm build
   directory: js
   excludes:
    - node_modules/*

Or maybe have a new field be a regex, to be used in place of both extension and excludes
watchers:
 - match: /(?!(\/?node_modules).)\/.+\.js$/
   tasks:
    - command: npm build

or alternatively with globs and not_matches
watchers:
 - matches: /**/*.js
   not_matches: */node_modules/*
   tasks:
    - command: npm build

Thoughts on this? I'd gladly create a pull request if desired.

Thanks for your issue and suggestion. It looks useful. I'll be glad if you would create a pull request. Thanks.

Glad to hear it! Which one of the proposed solutions looks best to you?


When canceling a deployment I immediately get a Last Deployment Successful message

The Last Deployment Successful message is displayed immediately after a deployment is canceled.
https://github.com/user-attachments/assets/1d646f9a-4fd1-4ccb-958d-69ca7498245d

We can use the same pattern we use for Secrets where we use the Connect API to get the status of the last deployment / publish time. We need to investigate if there is a good API endpoint for us to use for that, and what the work would entail.
We should double check that a deployment failure isn't hidden by a cancellation.

The issue here is that cancellation doesn't actually cancel the deployment - it merely dismisses it from the sidebar and closes the VS Code notification.
Any deployment with a cancelled local ID has its events / callbacks suppressed but several events don't contain a localId to compare.
So what occurs is the deployment file can be written when we hit the "Create Deployment Record" step, but the actual failure could occur later - in the case of a failure happening during the validate step. Because the in progress deployment is dismissed and we are showing the "Last Deployment" status in the sidebar it shows every status as the deployment file is written.
To reproduce this you can create a deployment that deploys with no issue, but has an error when running. For example: having a typo on the fastapi import:
from fastapi import FstAPI

Deploying writes a valid deployment record, until validation occurs then we get:
[deployment_error]
code = 'deployedContentNotRunning'
message = 'Deployed content does not seem to be running. See the logs in Connect for details.'
operation = 'publish/validateDeployment'

Currently we write the deployment record (via writeDeploymentRecord):

in the middle of our publishWithClient before creating/uploading the bundle
at the end of creating and uploading the bundle
and when we emit error events

Because we keep the deployment record up-to-date throughout the deploy process, showing the "last deployed state" while a deploy is occurring will cause confusion.
Since VS Code can be stopped at anytime maintaining an "in-progress" state inside of the deployment record file would be inadvisable.

Any deployment with a cancelled local ID has its events / callbacks suppressed but several events don't contain a localId to compare.

So what occurs is the deployment file can be written when we hit the "Create Deployment Record" step, but the actual failure could occur later - in the case of a failure happening during the validate step. Because the in progress deployment is dismissed and we are showing the "Last Deployment" status in the sidebar it shows every status as the deployment file is written.

Because we keep the deployment record up-to-date throughout the deploy process, showing the "last deployed state" while a deploy is occurring will cause confusion.

Since VS Code can be stopped at anytime maintaining an "in-progress" state inside of the deployment record file would be inadvisable.

I wonder if this is telling us that maintaining state like this in the deployment file + using that to drive (some of, and only sometimes?) the UI isn't helpful for us? Maybe an approach where the status isn't kept locally in a file but actually looks at the server would be better? That has it's own tradeoffs, and we would need at least some cache/local state even if it's "just" what's in the DOM. But if what we have here makes it hard for us to not reflect confusing states, we should think if there's a better approach we could take that makes it easier for us.
Or maybe that we need to change up the way we're doing that? For one example: if we had localId on all of the events / callbacks would that make cancel more of an actual cancel (at least locally, I fully understand that on the connect server it's not and that we aren't tackling that right now)?

Maybe an approach where the status isn't kept locally in a file but actually looks at the server would be better?

This is exactly what I was thinking. I will dig into the Connect API docs to see if there is a good option for getting the status we'd like to display.

Looking over the Connect APIs available, we cannot exclusively rely on them for the information we'd like to present.

GET /v1/content/{guid}

contains last_deployed_time but the description mentions "The timestamp (RFC3339) indicating when this content last had a successful bundle deployment performed."
It doesn't contain last error information we get from the event stream

GET /v1/content/{guid}/bundles/{id}

doesn't contain error information either

We also want to present our pre-check failures which never hit Connect - for example: setting a Python version that isn't on the server.

Based on what we currently show in the deployment status section of the sidebar I think the best option would be to respect that something is still being deployed.
Rather than attempting to hide the current deployment in progress when "Cancel" is pressed we can instead show "Deployment in Progress...". Keeping that displayed would prevent the confusing statuses from Deployment record updates, and would better reflect what is occurring in Publisher.
The reason we introduced the cancel was to address hung deployments (#2057): we can still address that by removing our disabling of the "Deploy Your Project" button when a deployment is in progress.

#2498 will remove the need for this one. Closing this in favor of that, for the time being.


Dynamically allocate operation fields to minimize static_variant size

Currently the in-memory size of an operation object depends on the size of the largest operation in the static_variant.  As @bytemaster points out in #99, this creates incentives to try to optimize down the size of the largest operation.

I would like to propose an alternative:  Have individual operation types be subclasses of a common base class instead of template-based static variants.  Then each operation only takes the space it needs, and it does not matter so much if very large operations are occasionally required.
It seems there is a tradeoff here:

One-size-fits-all static_variant approach used in existing code.  Avoids dynamic allocation, but requires much memory per operation.
Every operation dynamically sized.  Avoids memory bloat, but requires dynamic allocation per operation.
Hybrid approach.  Avoids memory bloat, and avoids dynamic allocation on the common path.  Rare operations require dynamic sizing.  Inserts implementation details into operations.hpp (e.g. creating a dynamic_optional<T> and using it to wrap fields we want to be dynamically allocated), and creates more code complexity (those dynamic_optional now have to be null-checked and dereferenced everywhere).

We don't need dynamic_optional we just need a heap which is a auto-allocated, never null, unique_ptr.   We wouldn't use it at the operation level, but at the field level allowing the operations to remain static variants.
I'll take responsibility for this refactor when the time comes, but this is an optimization issue only.

I created fc::smart_ref which does this.   With the refactor of fees in #144 this is no longer a necessary fix.
Also, the largest operation size is about 288 bytes in memory and there are about 4 operations (create account/asset and update account/asset) that are about this size.    Based upon the distribution of the sizes of various objects, this shouldn't be much of an issue:
[
   {"name":"graphene::chain::account_create_operation","mem_size":288,"wire_size":67},
   {"name":"graphene::chain::account_update_operation","mem_size":280,"wire_size":13},
   {"name":"graphene::chain::asset_create_operation","mem_size":280,"wire_size":59},
   {"name":"graphene::chain::asset_update_operation","mem_size":224,"wire_size":57},
   {"name":"graphene::chain::delegate_update_global_parameters_operation","mem_size":184,"wire_size":119},
   {"name":"graphene::chain::proposal_update_operation","mem_size":176,"wire_size":17},
   {"name":"graphene::chain::asset_issue_operation","mem_size":160,"wire_size":21},
   {"name":"graphene::chain::withdraw_permission_claim_operation","mem_size":160,"wire_size":22},
   {"name":"graphene::chain::override_transfer_operation","mem_size":160,"wire_size":22},
   {"name":"graphene::chain::transfer_operation","mem_size":152,"wire_size":21},
   {"name":"graphene::chain::witness_create_operation","mem_size":112,"wire_size":72},
   {"name":"graphene::chain::asset_publish_feed_operation","mem_size":96,"wire_size":51},
   {"name":"graphene::chain::worker_create_operation","mem_size":96,"wire_size":29},
   {"name":"graphene::chain::custom_operation","mem_size":80,"wire_size":14},
   {"name":"graphene::chain::balance_claim_operation","mem_size":80,"wire_size":53},
   {"name":"graphene::chain::proposal_create_operation","mem_size":72,"wire_size":16},
   {"name":"graphene::chain::assert_operation","mem_size":72,"wire_size":12},
   {"name":"graphene::chain::limit_order_create_operation","mem_size":64,"wire_size":33},
   {"name":"graphene::chain::fill_order_operation","mem_size":64,"wire_size":36},
   {"name":"graphene::chain::withdraw_permission_update_operation","mem_size":64,"wire_size":33},
   {"name":"graphene::chain::call_order_update_operation","mem_size":56,"wire_size":28},
   {"name":"graphene::chain::asset_global_settle_operation","mem_size":56,"wire_size":29},
   {"name":"graphene::chain::withdraw_permission_create_operation","mem_size":56,"wire_size":32},
   {"name":"graphene::chain::vesting_balance_create_operation","mem_size":56,"wire_size":33},
   {"name":"graphene::chain::asset_update_bitasset_operation","mem_size":48,"wire_size":25},
   {"name":"graphene::chain::asset_update_feed_producers_operation","mem_size":48,"wire_size":12},
   {"name":"graphene::chain::delegate_create_operation","mem_size":48,"wire_size":11},
   {"name":"graphene::chain::asset_reserve_operation","mem_size":40,"wire_size":19},
   {"name":"graphene::chain::asset_settle_operation","mem_size":40,"wire_size":19},
   {"name":"graphene::chain::vesting_balance_withdraw_operation","mem_size":40,"wire_size":20},
   {"name":"graphene::chain::account_whitelist_operation","mem_size":32,"wire_size":12},
   {"name":"graphene::chain::asset_fund_fee_pool_operation","mem_size":32,"wire_size":19},
   {"name":"graphene::chain::witness_withdraw_pay_operation","mem_size":32,"wire_size":19},
   {"name":"graphene::chain::proposal_delete_operation","mem_size":32,"wire_size":12},
   {"name":"graphene::chain::withdraw_permission_delete_operation","mem_size":32,"wire_size":12},
   {"name":"graphene::chain::limit_order_cancel_operation","mem_size":24,"wire_size":11},
   {"name":"graphene::chain::account_upgrade_operation","mem_size":24,"wire_size":11},
   {"name":"graphene::chain::account_transfer_operation","mem_size":24,"wire_size":11}
]


typo: mutli -> multi

Docs Build status updates of commit 2eadf41:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/best-practices/data-partitioning-strategies.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


flappy birdy

Your checklist for this pull request
Author name
lolxdop

About your game
The player has to dodge the pipes by controlling the bird.

Use W to move upwards & use S to move downwards.

Code
Check off the items that are true.

[x] The game was made using the Sprig editor.
[x] The game is placed in the in the /games directory.
[x] The code is significantly different from all other games in the Sprig gallery (except for games labeled "demo").
[x] The game runs without errors.
[x] The name of the file/game contains only alphanumeric characters, -s, or _s.
[x] The game name is not the same as the others from gallery

Image (If an image is used)

[x] The image is in the /games/img directory.
[x] The name of the image matches the name of your file.

Thanks for your PR!

I have authorized to Vercel and approved the deployment still it is showing to authorize and deploy.Also am I going to get the Sprig console?

I have authorized to Vercel and approved the deployment still it is showing to authorize and deploy.

Just ignore it:)

Also am I going to get the Sprig console?

Depends more on you than me:)

yes
it is flappy bird.

also i used a little bit of code from gallery coz i was not able to get custom background so i just got that code

srry for late reply i was sleeping

i was offline.

also this is my sisters laptop so she gives me for sometime srry.

ohh ur from brazil.I am from india.

also this is my sisters laptop so she gives me for sometime srry.

No worries, take your time:)

ohh ur from brazil.I am from india.

Nice!

also i used a little bit of code from gallery coz i was not able to get custom background so i just got that code

Which game?

The one named flappy bird but no gravity and worse.btw how will i know if i am going to get the sprig?

I want the console because i want to code my own pokemon game so i made a simple and easy game fast so ill get a console.and then make my pokemon game.

The one named flappy bird but no gravity and worse.

It's too similar... Please make an original game:)

btw how will i know if i am going to get the sprig?

you'll get when this PR be merged

what is PR merge?

what is PR merge?

When this Pull Request is approved

how will its get approved?
also how will i get to know if its is approveed?
also how much time it will take?

how will its get approved? also how will i get to know if its is approveed?

Will appear here a check mark

also how much time it will take?

depends more on you

Closing this PR due to inactivity. If you want it reopened, ping me here.


Do we want clap's context-aware usage strings or our custom usage strings?

It looks like all utilities specify their own usage string. For example, sort:
fn get_usage() -> String {
    format!(
        "{0} [OPTION]... [FILE]...
Write the sorted concatenation of all FILE(s) to standard output.
Mandatory arguments for long options are mandatory for short options too.
With no FILE, or when FILE is -, read standard input.",
        NAME
    )
}

Quoting clap's documentation of usage():

CAUTION: Using this setting disables claps "context-aware" usage strings. After this
setting is set, this will be the only usage string displayed to the user!

This means that when you give the wrong argument (let's say you write sort -o x -o y), you don't get a usage string about the misused flag (USAGE: sort --output <FILENAME>), but you always get our custom usage string.
I quite like the context-aware usage strings, and I wondered if we could not specify our own usage strings but let clap generate them instead in all cases. In the help output they'd look a bit different (sort [FLAGS] [OPTIONS] [--] [files]..., or sort [OPTIONS] [--] [files]... if we enable UnifiedHelpMessage).
Thoughts?

I'm like it in principle (although I'd like to see some actual messaging); it would be less code for an added feature (win-win).
But I don't think clap will support correct usage strings for busybox-type executables (eg, clap will display USAGE: sort ... instead of USAGE: coreutils sort ... when using coreutils sort ...). If we could get the usage to display a correct executable string, I'd be tentatively for the change.

We can get clap to display the correct usage string by explicitly setting the binary name by using bin_name().

I've pushed a new version of #2471 which incorporates the changes I was making.
Once that's merged, we can take a look at this change fairly easily using the execution_phrase!() macro in that PR.

A bit late here, but I'm in favor of having clap generate the usage messages. I particularly like that it groups arguments into flags (true/false by mere presence) and options (with arbitrary arguments) in the help text. This grouping is also included in the usage strings, which fits imo. It's trivial, but I like it.


Implement Excel File Reading Functionality Resolve#27

The application would be able to read from an Excel file

Codecov Report

Merging #31 (9c36a5a) into master (d9fc4aa) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #31   +/-   ##
=========================================
  Coverage     72.15%   72.15%
  Complexity      399      399
=========================================
  Files            70       70
  Lines          1232     1232
  Branches        125      125
=========================================
  Hits            889      889
  Misses          311      311
  Partials         32       32

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 2e0e55a...9c36a5a. Read the comment docs.


Fix a11y tests

Failing in CI with:
audio-ui:
> Task :audio-ui:testDebugUnitTest
292
293com.google.android.horologist.audio.ui.VolumeScreenA11yScreenshotTest > volumeScreenAtMinimums FAILED
294    java.lang.AssertionError at VolumeScreenA11yScreenshotTest.kt:64

media-ui:
com.google.android.horologist.media.ui.BrowseScreenA11yScreenshotTest > secondPage FAILED
    java.lang.AssertionError at BrowseScreenA11yScreenshotTest.kt:92

com.google.android.horologist.media.ui.BrowseScreenA11yScreenshotTest > browseScreen FAILED
    java.lang.AssertionError at BrowseScreenA11yScreenshotTest.kt:71

com.google.android.horologist.media.ui.BrowseScreenA11yTallScreenshotTest > browseScreen FAILED
    java.lang.AssertionError at BrowseScreenA11yTallScreenshotTest.kt:69

com.google.android.horologist.media.ui.MediaPlayerA11yScreenshotTest > mediaPlayer FAILED
    java.lang.AssertionError at MediaPlayerA11yScreenshotTest.kt:83

> Task :media-ui:testDebugUnitTest FAILED
104 tests completed, 4 failed

java.lang.AssertionError: Images differ (by 0.7%) - see details in file:///home/runner/work/horologist/horologist/audio-ui/out/failures/delta-com.google.android.horologist.audio.ui_VolumeScreenA11yScreenshotTest_volumeScreenAtMinimums.png
Thumbnail for current rendering stored at file:///home/runner/work/horologist/horologist/audio-ui/out/failures/com.google.android.horologist.audio.ui_VolumeScreenA11yScreenshotTest_volumeScreenAtMinimums.png
	at org.junit.Assert.fail(Assert.java:89)
	at app.cash.paparazzi.internal.ImageUtils.assertImageSimilar(ImageUtils.kt:207)
	at app.cash.paparazzi.SnapshotVerifier$newFrameHandler$1.handle(SnapshotVerifier.kt:50)
	at com.google.android.horologist.paparazzi.a11y.A11ySnapshotHandler$newFrameHandler$1.handle(A11ySnapshotHandler.kt:71)
	at com.google.android.horologist.paparazzi.WearSnapshotHandler$newFrameHandler$1.handle(WearSnapshotHandler.kt:59)

I might bump this, might be JDK differences, and we can probably tolerate 1%,

0.3, 0.5 and 0.9% - bumping to 1%.

Fixed in https://github.com/google/horologist/pull/538


Added scaffolding for blank template detection

Please describe the change you are making
This change adds the necessary scaffolding for later blank template detection.
Are you the owner of the code you are sending in, or do you have permission of the owner?
Yes
The code will be published under the BSD 3 clause license. Have you read and understood this license?
Yes

Hey @thecreed thank you for your review. However, this PR needs an approving review from one of the maintainers of this project.
If you would like to comment on your use case, it would help us a lot in developing this library further.


Fix "DeniedRequiresTLS" value for activation request

Hi,
The value corresponding to a Negative Response "Requires TLS" after sending a Routing Activation Request is invalid.
Currently this value is set to "0x06", but according to the ISO-13400 standard, the "0x06" value corresponds to an unknown activation type.
Referring to the standard, we can state that the Negative Response Code "Requires TLS" should be set to "0x07" :

After reception of a routing activation request message with a routing activation type, which requires the
secure TLS connection to the DoIP entity then each DoIP entity supporting the secure TCP communication
shall send the routing activation response message with the response code set to 0x07.

This patch applies the correct correction to the "DeniedRequiresTLS" value.
Sincerely,
Clément Ramirez

Can you also add the correct 0x6 and update the comment to say "table 49" instead of 48? I'm not sure where the mistake came in. The AutoSAR spec seems to have only referenced a few of them so I imagine copy/paste error from one of the other sources.
6 should be DeniedUnsupportedActivationType
https://github.com/wireshark/wireshark/blob/e9c737abbe5b3cdb0245333750a05df3cad26975/epan/dissectors/packet-doip.c#L244

Thanks for your fast reply,
The DeniedUnsupportedActivationType has been added to the ResponseCode Class and the comment for the table number is now set to 49.


Unable to fetch data on client side if useNuxtData used before useFetch

Environment

Operating System: Darwin
Node Version:     v20.5.0
Nuxt Version:     3.6.5
Nitro Version:    2.5.2
Package Manager<EMAIL_ADDRESS>Builder:          vite
User Config:      devtools
Runtime Modules:  -
Build Modules:    -

Reproduction
Github: https://github.com/RomanSkrypnik/nuxt-server-false-issue
Videos:

https://monosnap.com/direct/UYhZDjC21caXQAovqKsuAGyEMm4Pi0
https://monosnap.com/direct/lDKGf7wxSvv58r6TTCPuIk0ZNRk7KH

Describe the bug
Using useNuxtData before useFetch on client side prevents request to API
If I try to comment/remove useNuxtData before useFetch - it will work just fine
Also, using useNuxtData with useFetch on server side works fine
Additional context
No response
Logs
No response

I'm facing the same issue.  I've found following in the source code
useNuxtData  initializes the key  in the nuxt app payload here: https://github.com/nuxt/nuxt/blob/a5cc858a4c390fc4d95a39d6c0851da60f381350/packages/nuxt/src/app/composables/asyncData.ts#L342 and nuxt.payload.data[key] = null
useFetch uses useAsyncData , which checks if nuxt.payload.data[key] ist not undefined - hasCachedData will be always true , after calling useNuxtData:
https://github.com/nuxt/nuxt/blob/a5cc858a4c390fc4d95a39d6c0851da60f381350/packages/nuxt/src/app/composables/asyncData.ts#L144

@RomanSkrypnik @dimonixx have you tried with the latest release (3.8.1)?


Version for developers

New files added to build a developer version of SeedSigner OS with the command:
./builder -i dev

Brief info about the changes:
✅ Lot of Kernel modules enabled
✅ HDMI output
✅ USB
✅ Serial/TTL
✅ Software for wireless
...
Developer build, should be used ONLY for developing purposes.

LGTM


Intermittent test failure: sqlite3.OperationalError: database table is locked: _enrichment_jobs

e.g. in https://github.com/datasette/datasette-enrichments-re2/actions/runs/7037458342/job/19152289050
Traceback (most recent call last):
  File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/datasette_enrichments/__init__.py", line 219, in run_enrichment
    await db.execute_write(
  File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/datasette/database.py", line 113, in execute_write
    results = await self.execute_write_fn(_inner, block=block)
  File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/datasette/database.py", line 167, in execute_write_fn
    raise result
  File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/datasette/database.py", line 189, in _execute_writes
    result = task.fn(conn)
  File "/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/datasette/database.py", line 110, in _inner
    return conn.execute(sql, params or [])
sqlite3.OperationalError: database table is locked: _enrichment_jobs
=========================== short test summary info ============================
FAILED tests/test_enrichments_re2.py::test_re2[post2-expected2] - asyncio.exceptions.TimeoutError
========================= 1 failed, 4 passed in 2.42s ==========================

That's this code here: https://github.com/datasette/datasette-enrichments/blob/e3b220d52b1a896ea75dba53f9a409aeed511471/datasette_enrichments/init.py#L216-L227
        async def run_enrichment():
            next_cursor = job["next_cursor"]
            # Set state to running
            await db.execute_write(
                """
                update _enrichment_jobs
                set status = 'running'
                where id = ?
                """,
                (job["id"],),
            )

This is weird, because the db.execute_write() mechanism sends writes through an in-memory queue to avoid any chance of them running at the same time in a way that would suffer from locked tables.

I'm not happy about this fix. I switched from using an in-memory named database:
https://github.com/datasette/datasette-enrichments-re2/blob/4e425f8e5c8c26f65d84b98b93f5058c7fbec011/tests/test_enrichments_re2.py#L7-L17
To an on-disk database:
https://github.com/datasette/datasette-enrichments-re2/blob/2d1e767b6024d78a558cb88c6e39af135d1f366a/tests/test_enrichments_re2.py#L8-L16
I did that because I had a hunch that switching to WAL mode might help the problem, and then I spotted on the SQLite forum that in-memory databases cannot use WAL mode: https://sqlite.org/forum/info/a44bddd65750d084
It does seem to have fixed the intermittent test failure, but I'm really unhappy because I want to be able to reliably use in-memory databases without running into this problem.


Linking error tch 0.1.1 & Centos 7

When I try to run a binary using tch = 0.1.1 on centos 7, I get a linking error:
/usr/bin/ld: warning: libgomp-8bba0e50.so.1, needed by /home/maxence/zezima/market-analytics/target/release/build/torch-sys-c846cc9c89b11e6f/out/libtorch/libtorch/lib/libc10.so, not found (try using -rpath or -rpath-link). Note that I'm not installing libtorch manually.
When I look at the content of the OUT_DIR of the build script, I can see libgomp-8bba0e50.so.1. So the lib is not missing, just not linked.
See the full error output https://gist.github.com/jean-airoldie/c908704722181f2d0dfc27bf64bcf668.

Not really sure what is going on there. Maybe you could try tweaking LIBRARY_PATH and LD_LIBRARY_PATH to include the path in which libgomp-8bba0e50.so.1 is to see if this helps ?

The path where libgomp is located is in lib where all the other libs are located. To me it seems like a link flag is missing altogether for libgomp.
I'll test on fedora to see if this is specific to centos 7.

Seems to be centos 7 specific. And building with cmake doesnt make a difference.

Did you manage to fix this with any additional flag like -lgomp ?
If it's also an issue when building the minimal C++ example from PyTorch using cmake, it may be worth opening an issue on the pytorch repo too (I'm not sure if this is what you mean by "And building with cmake doesn't make a difference").

The official shared library has RUNPATH set to $ORIGIN. (You can check by readelf -d libtorch.so) So, I expect the dynamic linker is able to find libgomp-8bba0e50.so.1 in same directory.
However, ld fail for some reason. Maybe you can check if DT_RUNPATH and DT_RPATH env vars are set, and check ldd -v libtorch.so.

Did you manage to fix this with any additional flag like -lgomp ?

Adding lgomp doesn't work unfortunately, it's the first thing I tried.

I'm not sure if this is what you mean by "And building with cmake doesn't make a difference".

Tried building with both make & cmake just in case. But it didn't matter. I thought it might be a building issue, but it doesn't seem to be the case.
Just realized the the output static lib is called liblibtorch.a, which seems quite suspicious, so I'll investigate that.

Yep that's indeed the culprit. I'll submit a PR to fix this. I see two potential solutions to this problem:

We name the library differently depending of the build TARGET, which is quite finicky since we have to test with every OS.
We renamed the compiled lib to libtorch.a at the end of the build, so we don't have to change behaviour across OS. That's probably what I'll do.

Hum, I tested against fedora and I still get liblibtorch.a. So I assume that this is the behaviour on all OS but that somehow some are resistant to the error.

According to the cc doc for the compile fn:

The name output should be the name of the library. For backwards compatibility, the output may start with lib and end with .a. The Rust compilier will create the assembly with the lib prefix and .a extension. MSVC will create a file without prefix, ending with .lib.

From what I understand, this means that the name passed to the compile fn should either be libtorch.a or torch, not but not libtorch, like we currently have.

Unfortunately, this fix has broken the project linker on MacOSX:
ld: library not found for -lgomp
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Any suggestions?

Sorry about that, I guess we would need CI for macos too.
I don't have a mac to test this but maybe fixing it is as easy as tweaking the last lines of torch-sys/build.rs to look like the following.
  if !target.contains("msvc") && !target.contains("apple") {
        println!("cargo:rustc-link-lib=gomp");
    }

@vegapit would you be able to give this a try ?

I sure can. The good news is that your suggestion does the trick. Feel free to commit.

I just pushed the change, thanks for reporting the issue. I'll also have a look at having macOS supported in our travis CI.

Superb, thanks a lot for the fast update.

Similar error again.
I use latest master branch 49c926737a0e6e9df5a02893ca987fcc9ac4d5d7 on CentOS 7.
I get a linking error:
note: /usr/bin/ld: warning: libgomp-753e6e92.so.1, needed by /home/xiaoniu/.cache/cargo/debug/build/torch-sys-26fd490960495512/out/libtorch/libtorch/lib/libtorch.so, not found (try using -rpath or -rpath-link)

-lgoml has already been passed.
libgomp-753e6e92.so.1 can be found in
Manually add LD_LIBRARY_PATH=/home/xiaoniu/.cache/cargo/debug/build/torch-sys-26fd490960495512/out/libtorch/libtorch/lib/ solve this error, but create another erro:
/home/xiaoniu/.cache/cargo/debug/deps/libtorch_sys-adab35afbf0ab68f.rlib(torch_api.o): In function c10::Device::validate(): /home/xiaoniu/.cache/cargo/debug/build/torch-sys-26fd490960495512/out/libtorch/libtorch/include/c10/core/Device.h:93: undefined reference to c10::Error::Error(c10::SourceLocation, std::string const&)
Build tool:
cc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16)
ldd (GNU libc) 2.17
full error: https://gist.github.com/xiaoniu-578fa6bff964d005/292c906b60912adc9b623d43fa49af4c

I wonder if it could be some gcc C++11 ABI incompatibility rather than the issue described earlier in this thread.
To check this, maybe you could download the pre-cxx11 abi version of libtorch here.
Once you've extracted the content of the zip file, adjust your environment variables via:
export LIBTORCH=/path/to/libtorch
export LD_LIBRARY_PATH=${LIBTORCH}/lib:$LD_LIBRARY_PATH
export LIBTORCH_CXX11_ABI=0

And try a cargo clean then to recompile.

@LaurentMazare Solved. Thank you!


Add basic workflow for running tests

Remove deprecated travis config and add a super basic actions workflow to run the tests for future pr's.

I have rebased #2 to the latest, but the test does not seem to be running.

I have rebased #2 to the latest, but the test does not seem to be running.

Thanks @wzshiming, investigation underway.


Design and implement activity storing system

Is your feature request related to a problem? Please describe.

Describe the solution you'd like
There is a need to standardize this data within a separate entity. Each record should be linked to a project/repo and user (normally we have this data). After indexing it we can use it for project and user timelines on corresponding Nest pages.
Additional context
https://docs.github.com/en/rest/activity/events?apiVersion=2022-11-28#list-public-events

So we ll store this activity in db?

So we ll store this activity in db?

Yes, and index it using our index engine.

Got it !

Can I take up this issue ?

Yes, just note it's a purely backend tasks that will require dealing with models and sync process updates.


Merge columns

test temporary ignored, as dropping column is not supported in BigQuery currently.
Merge implementation for bigquery is added and ready to run when drops will be supported.

ergeColumn i

thanks for the comment - I haven't found any MergeColumnGenerator in core liquibase implementation. Is there something like that, that I missed? Additionally, MergeColumnChange is generating sql directly in generateStatements method so I do not see the way it could be redefined later?

thanks for the comment - I haven't found any MergeColumnGenerator in core liquibase implementation. Is there something like that, that I missed? Additionally, MergeColumnChange is generating sql directly in generateStatements method so I do not see the way it could be redefined later?

Ok - od there is no generator then pleased neglect my comment. IT is in general strange that all changes can be controller by overwriting corresponding SQL generator class and this one not. Thanks for finding this workaround!


Sometimes, measurements are not taken correctly

Steps to reproduce:
Run any benchmark
If running with dynamic iteration calculation, it will often throw an exception because it tries to create a NormalDistribution with mean 0 and stddev 0 because all measurements are 0

Debugging to inspect the data or disabling dynamic iteration calculation reveals the data to be very sparce

This issue is not observed in previous version

Debugging has revealed that the LoopIterations variable has not been set, thus the benchmarks return immediatly


String.Join optimization for single item lists

Port https://github.com/dotnet/coreclr/pull/1460 to CoreRT.
Unlike CoreClr, CoreRT uses the StringBuilderCache in Join(String, String[], int, int) so there was only 1 change to bring over there.

Hi @bbowyersmyth, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;

LGTM
cc @AlexGhiondea

LGTM!


Remove input read indices, make reference index optional and combine same sample together

PR checklist

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

@nf-core-bot fix linting

Push the updated samtools merge to nf-core
The patch being pushed to nf-core and updated. https://github.com/nf-core/modules/pull/4258

Update bin/check_samplesheet.py not to append the _T* suffixes so that you don't need the replaceAll
The script being updated only validate the samplesheet not transform it. https://github.com/sanger-tol/variantcalling/pull/59/commits/d6fa00f37eb2729b6c67b3d0a4d36f02e1536b35

patch for samtools/merge module being pushed to nf-core
combine fai and gzi input fields for samtool/merge module but didn't update the pattern, following all other cases in samtools modules
combine fai and gzi parameters for the whole workflow
remove sort_input parameters and sorting input bam/cram before merging
not changing the sample names in sample_checking script


Add tests to #27

closes #27

Codecov Report

Merging #30 into master will increase coverage by 0.29%.
The diff coverage is 55.55%.

@@            Coverage Diff             @@
##           master      #30      +/-   ##
==========================================
+ Coverage   57.28%   57.57%   +0.29%
==========================================
  Files          27       27
  Lines         714      719       +5
==========================================
+ Hits          409      414       +5
  Misses        200      200
  Partials      105      105

Impacted Files
Coverage Δ

internal/workspace/localInstall.go
41.04% <55.55%> (+1.75%)
:arrow_up:

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 bcf464a...b7c8270. Read the comment docs.


[ArPow] Remove runtime patch

As part of https://github.com/dotnet/installer/pull/11506 a patch was introduced to build allconfigurations only when building non-portable.  This issue is addressed in https://github.com/dotnet/runtime/pull/58122.  Once this change is picked up by source-build, the patch can be removed.

Another patch was added as part of https://github.com/dotnet/source-build/issues/2404 which should also get backported.


ETL #1  - Master Data - DIMENSION ETLs

Title of ticket:
Description
The purpose of this task is create ETL (Initial Load + Incremental) for Master Dimension tables listed below. This task evolved / reduced from 21 to 3, and with other sub task created for Fact tables ETLs. This development can be done locally with AXIS DB Back up restore on Local SQL DB and VS Community with SSDT, EDW Postgres on Local

dimECOffice -DONE
dimECGroups - DONE
dimRequesterTypes - DONE
dimRequestTypes - DOne
dimExtensionTypes - DONE
dimRequestStatuses - Done
dimRequestforDocumentStatuses - New! - DONE
dimReceivedModes - DONE
dimDeliveryModes - DONE
dimprogramoffices - DONE
dimFeeTypes - DONE
dimPaymentmodes - DONE

Dependencies
Are there any dependencies?
DOD

[x] Create ETL DataFlow, ControlFlow for above mentioned DIM tables
[X]  Design, Develop logic for Initial Full Load and Incremental Load
[x]  Develop Queries - Inline(PARAMETERIZED), since AXIS DB SP, View creation will not allowed ???
[x]  TEST MIGRATION - FULL INITIAL LOAD, UPDATE/INCREMENTAL
[ ]

@mpilchar @lmullane : This will get split off as per the ETL fragments logic, can change to multiple tasks with 8,5,8 store points.

@mpilchar @lmullane @VineetBala-AOT : As discussed,  I am splitting this task to several other sub tasks, so 21 points will be combination of (3+5+5+5+3+5). there is residue/extra for integration and change of etl. dev plans due to infra. wait. Refer Comments on #1302

Increased estimate from 3 to 5, due the technical limitation with ETL for POSTGRES DRIVERS with SSIS

@VineetBala-AOT , @richard-aot  - Lets sit on this Master Data ETLs tomorrow. we can discuss few approaches related with Datatypes, Incremental update strategy and a general template logic for all SSIS.


Random Grpc crashes when cpu is made offline/pinned to a specific process dynamically

Grpc Version
1.10.1
What operating system (Linux, Windows,...) and version?
Linux
What runtime / compiler are you using (e.g. python version or version of gcc)
gcc
Issue
gRPC segfaults found when CPU is isolated or made offline dynamically.
I am running a grpc server which supports both synchronous and asynchronous API's. We have a requirement to reserve certain VCPUs for specific processes and also have requirement to make some cores offline for performance limitations.
We are seeing some random cores in gRPC when we does this.
We also reserve CPU cores based on thread siblings which will not be in sequence.
Ex: If there are 32 vcpus(16 cores), if we limit cpu cores to 9, then we will make rest of the cores as offline.
     Also we will be isolating few cores out of these 9 for specific processes. Lets say of we reserve 3 cores, then vcpus 0,1,2 & 16,17,18 will be isolated.

No crashes are observed when we try to make this server run on a specific set of available CPUs.
I came across similar issue in gRPC forums, but that is related to when new CPU cores are newly added.
https://github.com/grpc/grpc/issues/14711
Could you please let me know if this is some known issue and already fixed or a new issue altogether
Any quick help is appreciated.
Crash:
(gdb) bt
#0  0x00000000006c2c37 in grpc_stats_inc_server_cqs_checked(int) ()
#1  0x00000000006d7476 in ?? ()
#2  0x00000000006c4d0e in ?? ()
#3  0x00000000006cf578 in ?? ()
#4  0x00000000006c4d0e in ?? ()
#5  0x00000000006c4f4c in grpc_core::ExecCtx::Flush() ()
#6  0x000000000072f41c in ?? ()
#7  0x00000000006d4625 in ?? ()
#8  0x00000000006d4e6b in grpc_completion_queue_next ()
#9  0x00000000006a59c8 in grpc::CompletionQueue::AsyncNextInternal(void**, bool*, gpr_timespec) ()
#10 0x00000000005653d6 in grpc::CompletionQueue::AsyncNext<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l,<PHONE_NUMBER>l> > > > (this=0x1575da0, tag=0x7fbe2bffe488, ok=0x7fbe2bffe487, deadline=...) at /usr/include/grpcpp/impl/codegen/completion_queue.h:188

(gdb) bt
#0  0x00000000007052ec in ?? ()
#1  0x00000000006f7d85 in grpc_combiner_continue_exec_ctx() ()
#2  0x00000000006c320d in grpc_core::ExecCtx::Flush() ()
#3  0x00000000006cebda in grpc_call_start_batch ()
#4  0x00000000006a87ec in grpc::Server::PerformOpsOnCall(grpc::internal::CallOpSetInterface*, grpc::internal::Call*) ()
#5  0x00000000004441f9 in grpc::internal::Call::PerformOps (this=0x7f4231ffa4c0, ops=0x7f4231ffa270) at /usr/include/grpcpp/impl/codegen/call.h:692

#0  0x00007fbc06a5276b in do_lookup_x () from /lib64/ld-linux-x86-64.so.2
#1  0x00007fbc06a5309f in _dl_lookup_symbol_x () from /lib64/ld-linux-x86-64.so.2
#2  0x00007fbc06a57dee in _dl_fixup () from /lib64/ld-linux-x86-64.so.2
#3  0x00007fbc06a5faaa in _dl_runtime_resolve_xsavec () from /lib64/ld-linux-x86-64.so.2
#4  0x000000000072d921 in ?? ()
#5  0x0000000000735e5d in ?? ()
#6  0x0000000000702608 in ?? ()
#7  0x0000000000702bf1 in ?? ()
#8  0x00000000006f9b65 in grpc_combiner_continue_exec_ctx() ()
#9  0x00000000006c4fed in grpc_core::ExecCtx::Flush() ()
#10 0x000000000072f49c in ?? ()
#11 0x00000000006d46a5 in ?? ()
#12 0x00000000006d4eeb in grpc_completion_queue_next ()
#13 0x00000000006a5a48 in grpc::CompletionQueue::AsyncNextInternal(void**, bool*, gpr_timespec) ()
#14 0x00000000005653d6 in grpc::CompletionQueue::AsyncNext<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l,<PHONE_NUMBER>l> > > > (this=0x102add0, tag=0x7fbbe0de8488, ok=0x7fbbe0de8487, deadline=...) at /usr/include/grpcpp/impl/codegen/completion_queue.h:188

Hi,
I further debugged the issue and found below code which can cause crash during stats increment in gRPC.
It is because of not making vcpus in sequence.
File => src/core/lib/debug/stats.h
#define GRPC_THREAD_STATS_DATA() \
  (&grpc_stats_per_cpu_storage[grpc_core::ExecCtx::Get()->starting_cpu()])

File => src/core/lib/debug/stats.cc
void grpc_stats_init(void) {
  g_num_cores = GPR_MAX(1, gpr_cpu_num_cores());
  grpc_stats_per_cpu_storage = static_cast<grpc_stats_data*>(
      gpr_zalloc(sizeof(grpc_stats_data) * g_num_cores));
}

File => src/core/lib/iomgr/exec_ctx.h
unsigned starting_cpu_ = gpr_cpu_current_cpu();
File => src/core/lib/gpr/cpu_linux.cc
unsigned gpr_cpu_current_cpu(void) {
#ifdef GPR_MUSL_LIBC_COMPAT
  // sched_getcpu() is undefined on musl
  return 0;
#else
  if (gpr_cpu_num_cores() == 1) {
    return 0;
  }
  int cpu = sched_getcpu();
  if (cpu < 0) {
    gpr_log(GPR_ERROR, "Error determining current CPU: %s\n", strerror(errno));
    return 0;
  }
  return static_cast<unsigned>(cpu);
#endif
}

Thanks,
Karthik

Can you attempt to reproduce this with the latest gRPC release? gRPC v1.10.1 is 4 years old, and a lot has changed since then.

Closing this, no user reply in 3 months.


Deploy

https://cloud.google.com/build/docs/deploying-builds/deploy-firebase

I tried enabling the APIs from the first button in my link above, but it won’t let me. Might need Eric to try enabling them.


Feature Request: Trailing comma in maps

A trailing comma in maps make for cleaner diffs when adding to or removing from the map.
Bad:
$map: (
  key_one: value_one,
  key_two: value_two
);

Good:
$map: (
  key_one: value_one,
  key_two: value_two,
);

Would love to receive a pull request implementing this feature!
For anyone interested in implementing this, see @tysongach's set of tests in #816.


Fix resource status not displaying for multisub apps

https://github.com/open-cluster-management/backlog/issues/13116

Change the way we get the cluster names from the node
Updated the unit tests to work with the new data

/test sonarcloud


Allow changing subscription options

Previously, change(customer_id, sub_id, opts, key) was shadowed by its similar-looking clause.
Closes #35

Coverage increased (+0.7%) to 77.536% when pulling d81b1376a983909fa5867b8b8128a315d599e4a2 on gmile:opts-for-subscription into b0d5b7b76282cd346c5ae3860bf6f7e05f4b5f48 on robconery:master.


Override ember serve with staticboot content

When running ember serve staticboot content should be shown rather than standard index.html

You may find this RFC of some interest: https://github.com/ember-cli/rfcs/pull/80


Add common app label, use namespace transformer, remove appending obj…

…ect name from names

bump

@soellman Can you PTAL (or add me as an admin on this repo)?

@soellman Can you PTAL (or add me as an admin on this repo)?

YES! @soellman, having @morgante help to admin this repo would be great!

bump

bump

Sorry this fell by the wayside!
I like adding the app:autoneg label. The appended object types on resource names are part of the kubebuilder scaffolding - I'd prefer not to change them unless there's a compelling reason to override the kubebuilder default.
If we keep the additional app label and we don't keep the resource name changes, there would be just the modification to kustomization.yaml.
If you'd like to submit another commit, I'd be happy to merge. Sorry again this didn't get attention!

what about the  removal of namespace from resources in favour of namespace being configured in kusomtization.yaml ?

What is your use case wanting to change the namespace name from autoneg-system? Are you trying to deploy autoneg to each namespace and if so, why?

What is your use case wanting to change the namespace name from autoneg-system? Are you trying to deploy autoneg to each namespace and if so, why?

What I mean is that since the namespace is specified in kustomization.yaml, putting them in the individual resource files is redundant.

Ah yes I understand, you're completely right that it's redundant!
The namespace specification is also part of the kubebuilder scaffolding, so if we're removing it only as part of a refactor, then I'd prefer not to make that change. It would keep those files simpler to accept a merge of new upstream changes from kubebuilder.
Unless there's some other aspect I'm not considering?

Ah yes I understand, you're completely right that it's redundant!
The namespace specification is also part of the kubebuilder scaffolding, so if we're removing it only as part of a refactor, then I'd prefer not to make that change. It would keep those files simpler to accept a merge of new upstream changes from kubebuilder.
Unless there's some other aspect I'm not considering?

Ah ok, I am unaware of these kubebuilder defaults. As such a PR should probably be made to kubebuilder itself to remove these redundancies. I'll fix this PR to only add app label

Sounds great, thanks!

PTAL @soellman