[storage] Adds support for Append Blobs

Adds PutAppendBlob and AppendBlock methods
Addresses #275

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

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.microsoft.com.

TTYL, MSBOT;

@BrianBland, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.
Thanks, MSBOT;

@BrianBland thanks for the pull request. LGTM. extraHeaders will let users make use of x-ms-blob-condition-maxsize and x-ms-blob-condition-appendpos, which might be frequently used in the use cases of AppendBlob.
It looks like there's something funny going on about our storage tests. @colemickens have you changed something lately?

@ahmetalpbalkan it looks like I need to change some things up to support the new signing code as of version 2015-02-21 (see https://msdn.microsoft.com/en-us/library/azure/mt584141.aspx)

@BrianBland oh that explains the problem. We were actually planning to switch on SharedKeyLite signing (which is way simpler, doesn't have Content-Length either). If you don't mind making the change to work with 2015-02-21, please go ahead.

Hopefully you don't mind the repeated push trial and error with the CI system. I'm temporarily locked out of my Azure account :disappointed:

@ahmetalpbalkan if you have any idea why TestBlobSASURICorrectness is failing with the new API version, I'm ready to fix it. I can't find any documentation suggesting why this is suddenly invalid.

(Won't be near a computer for a while but I haven't changed anything for
storage tests)
On Feb 8, 2016 7:26 PM, "Brian Bland"<EMAIL_ADDRESS>wrote:

@ahmetalpbalkan https://github.com/ahmetalpbalkan if you have any idea
why TestBlobSASURICorrectness is failing with the new API version, I'm
ready to fix it. I can't find any documentation suggesting why this is
suddenly invalid.
—
Reply to this email directly or view it on GitHub
https://github.com/Azure/azure-sdk-for-go/pull/278#issuecomment-181659283
.

@BrianBland oh that's just comparing a precomputed signature with the existing algorithm. You just need to change the hard-coded computed value with the result of then modified algorithm.

@ahmetalpbalkan I think you're referring to TestGetBlobSASURI. The failing test is getting a 403 status code from the server

Apparently the canonicalizedResource for the presigned blob urls must begin with "/blob", even though the documentation suggests that it should begin with "blob"

@BrianBland I'll follow up on that. Might be a docs issue indeed.

@BrianBland thanks LGTM!

@BrianBland hi there, just circling back on the docs issue here https://msdn.microsoft.com/en-us/library/azure/dn140255.aspx I see that it says canonicalizedresource = "/blob/..., did you see a different value back then?

I thought so, but at least it looks correct now


ak.flatten fails to flatten 1D array

I have a simple array, repr looks like this:
<Array [-0.0848, -0.00858, 0.13, -0.0658] type='4 * float32'>
Applying ak.flatten yields this error:
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-57-80600ed80be4> in <module>
     13         c = px - mc_px
     14         print(repr(c))
---> 15         ak.flatten(c)
     16         delta_px = np.append(delta_px, ak.flatten(px) - ak.flatten(mc_px))
     17

/usr/local/lib/python3.8/site-packages/awkward/operations/structure.py in flatten(array, axis, highlevel, behavior)
   1665
   1666     else:
-> 1667         out = layout.flatten(axis)
   1668
   1669     if highlevel:

ValueError: axis out of range for flatten

(https://github.com/scikit-hep/awkward-1.0/blob/1.1.2/src/libawkward/array/NumpyArray.cpp#L1568)

I am not sure what exactly the problem is, but ak.flatten should also work on arrays of any dimension.

The default axis of ak.flatten is axis=1, and a one-dimensional array doesn't have such an axis (it is out of range).
The main purpose of this function is to reduce the dimension of an array by one, which can't be done to a one-dimensional array. If you want to reduce the dimension of any array to one, that's ak.flatten with axis=None (following NumPy conventions).


Prerelease package support

Add ability to support prerelease packages in our feed and UI.

Dupe of issue #41


Added the InsertionOrder and MemorySize attribute to the config files

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

lgtm


padding_side should be 'left' in generation task?

https://github.com/hpcaitech/ColossalAI/blob/4d5d8f98a49dbbd842742bfd1010384aee70312b/applications/ChatGPT/examples/train_prompts.py#L74

@gongel Thanks and we'll check and improve that.


Add keyboard shortcuts to resize the cropper from the center

On macOS, you can resize while pressing Shift to resize from the center. And ShiftOption to resize from the center while keeping the aspect ratio. Would be useful if the cropper in Kap supported that. It could be useful for being able to expand the cropper for a window to also include the shadow or just more context.
These shortcuts are not even well known for most macOS users, so we need to document it somewhere. Maybe as a Tips section in the preferences?

Right now, pressing shift maintains the aspect ratio. We could have Option resize from center and the combination would be the same, or we can switch to have each key do what macOS does, but that means whoever is using shift for aspect ratio will have to get used to the change. Either way doesn't really change the complexity of the implementation, just a decision we have to make

For the tips section, maybe we could add a window for tips under the Help menu now that we have it

For the tips section, maybe we could add a window for tips under the Help menu now that we have it

👍 I would also add it to the menu bar menu so people will discover it.


Issue with default permalink in frontmatter

Hi!
First of all, thank you for your work on this plugin, I think it's a great idea to use the plugin for Digital Garden as a starting point and this plugin would fix all my current issues with Quartz (lack of support for dataview and excallidraw, and having to keep a separate vault).
I tried using the plugin but I found the following issue:

I synced one file that is inside two folders i.e. in path X/Y/file.md
This was committed under content/X/Y/file.md, as expected.
I built my local copy of the quartz site
I tried to go to the note I had synced at localhost:8080/X/Y/file
5.Here I would expect my note to load, but instead the page was stuck eternally loading

Looking at the public folder in my local copy, I have found that there is a "X/Y/file.html" as expected, but also a "X/Y/file/index.html", which isn't expected and seems to be causing the issue. Looking at the file.md that had been committed by the plugin it seems to have some attributes in the frontmatter that weren't in my original file: path, permalink and PassFrontmatter. I'm not sure what path or PassFrontmatter do, but the permalink attribute seems to be the issue here. It has the value "/X/Y/file/" and removing the forward-slash at the end fixes the problem – the build no longer creates "X/Y/file/index.html" and the page loads normally.

Many thanks for the plugin. It looks promising.. I'm also experiencing this issue, exactly as OP described. I haven't found any way to alter the plugin's behavior, as modifying the frontmatter fields and settings have no effect (and seems to revert after interacting with the plugin).
Fwiw as a user, I consider all of the frontmatter additions to be unexpected behavior and would prefer them to be left out if possible. It would be great it I could adjust this behavior in the config somehow, but changing it appears to do nothing.
How can I go about addressing this in my instance so as to avoid the issue?

Many thanks for the plugin. It looks promising.. I'm also experiencing this issue, exactly as OP described. I haven't found any way to alter the plugin's behavior, as modifying the frontmatter fields and settings have no effect (and seems to revert after interacting with the plugin).
Fwiw as a user, I consider all of the frontmatter additions to be unexpected behavior and would prefer them to be left out if possible. It would be great it I could adjust this behavior in the config somehow, but changing it appears to do nothing.
How can I go about addressing this in my instance so as to avoid the issue?

Fair. I'll update the default configurations and add the options to the plugins settings in Obsidian.

Totally non-critical feedback. :) Thanks again for the nifty plugin!

Should now be configurable with the latest pre-release.


Update request: docker 24.0.5 → 25.0.3

Package name: docker
Latest released version: 25.0.3

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

[X] Checked the nixpkgs pull requests

Notify maintainers
@offlinehacker
@vdemeester
@periklis

Note that this a rather important update, since it bumps runc and fixes CVE-2024-21626

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

Add a :+1: reaction to issues you find important.

Done in #278607


Roblox is subsetting api.roblox.com

Context: https://devforum.roblox.com/t/action-needed-sunsetting-apirobloxcom/1796897
Affected endpoints we currently use:

GET /marketplace/game-pass-product-info -> A new endpoint is not ready at the time of this announcement. Please stay tuned.
GET /developerproducts/list -> Develop Api
POST /universes/create -> A new endpoint is not ready at the time of this announcement. Please stay tuned.

Currently none of these endpoints actually has a replacement we can use. They linked to Develop Api for one but there is no analogous API there.

Update: looks like someone else noticed the developerproducts API issue. There is an API but it doesn't return the necessary data.

Update: roblox has further announced the following:

They will release a replacement API at least 1 month before removing the POST /universes/create endpoint
They acknowledged the developerproducts API issue and will "circle back"
They will release a replacement API at least 1 month before removing the GET /marketplace/productinfo endpoint which is similar to the one we use

All in all it sounds like we should be getting proper replacements for all of these with a reasonable amount of time to switch.

GET /marketplace/game-pass-product-info -> A new endpoint is not ready at the time of this announcement. Please stay tuned.

You could just use https://economy.roblox.com/v2/assets/1818/details as it's been used in Studio for the past year, and they're likely to announce this anyways.

Update: looks like someone else noticed the developerproducts API issue. There is an API but it doesn't return the necessary data.

They just recently created a new API (undocumented) to get a productId from a developerProductId: https://develop.roblox.com/v1/developerproducts/12973870

Thanks for that info!

Looked into this some more. Using the economy API to replace /marketplace/game-pass-product-info won't work because it doesn't work for game passes unfortunately. For example, for the product returned from https://games.roblox.com/v1/games/3084813470/game-passes, neither the id nor productId return the game pass's info:

https://economy.roblox.com/v2/assets/24924423/details
https://economy.roblox.com/v2/assets/1221337967/details

For the developer products, the new endpoint could be used to replace our need for the list endpoint during product creation, but we would still need an analogous API for importing.

Looked into this some more. Using the economy API to replace /marketplace/game-pass-product-info won't work because it doesn't work for game passes unfortunately. For example, for the product returned from https://games.roblox.com/v1/games/3084813470/game-passes, neither the id nor productId return the game

For details by product ID: https://economy.roblox.com/v2/developer-products/1/details
For details by pass ID: https://economy.roblox.com/v1/game-pass/1/game-pass-product-info

POST /universes/create -> A new endpoint is not ready at the time of this announcement. Please stay tuned.
Use https://apis.roblox.com/universes/v1/universes/create?groupId=GROUPID
Request Body:

{
    "templatePlaceId": 95206881
}```

Response body:
```json
{
    "rootPlaceId": number,
    "universeId": number
}

Additionally, for a direct replacement for /developerproducts/list:
https://apis.roblox.com/developer-products/v1/developer-products/list?universeId=13058 Accepts the same params and sends the same response format.

All of these have been resolved now in the latest version: 0.11.6
Thanks @Julli4n for your help with this! Very much appreciated.


Fix XSS via prototype pollution

This PR fixes a a breach for XSS via prototype pollution
map[tag] || map._default checks if the map object has a property tag, and if not goes up the prototype chain to check if the tag is part of the parent object. In this case, since the Object is polluted (because one can paste, for example, in the terminal, code such as Object.prototype.script = [1,'<img/src/onerror=alert(1)>','<img/src/onerror=alert(2)>'] ), the tag exists, and the code picks the bad value.
map.hasOwnProperty(tag) ? ... checks if the map object has the tag property, but doesn’t go up the prototype check to see if tag is inherited from a parent object.
Before:
https://user-images.githubusercontent.com/484013/116165943-c0dc0900-a6b1-11eb-924e-a37ea6d22acc.mov
After:
https://user-images.githubusercontent.com/484013/116165949-c76a8080-a6b1-11eb-8e99-0b157f75dd59.mov

@juliofarah would you mind rebasing this branch? I just setup CI and would like to run the tests with your change before merging it in.

@juliofarah would you mind rebasing this branch? I just setup CI and would like to run the tests with your change before merging it in.

Sure thing! I have just rebased it

Odd, tests didn't run. Oh well.

Released as 1.4.1
➜  domify git:(master) npm publish
npm notice
npm notice 📦<EMAIL_ADDRESS>npm notice === Tarball Contents ===
npm notice 2.9kB index.js
npm notice 675B  package.json
npm notice 1.9kB History.md
npm notice 551B  Readme.md
npm notice === Tarball Details ===
npm notice name:          domify
npm notice version:       1.4.1
npm notice package size:  2.8 kB
npm notice unpacked size: 6.0 kB
npm notice shasum:        2e1e813019646715deeb8d3c5de4d3ef7bddd07e
npm notice integrity:     sha512-x18nuiDHMCZGX[...]PUI0WkIOw5E9w==
npm notice total files:   4
npm notice
+<EMAIL_ADDRESS>


[BUG] Minor errors in the docs

Please confirm

[x] I am running the latest version of this plugin

Describe the bug
Hello,
Some hours ago I was learning how to properly config telekasten, and reading the docs I find some minor errors that I want to report:
In the README:

Usage -> Commands -> panel : This link sends to a non-existant file.

In the docs (:h telakesten):

tag_notation don't have any references to the '@tag' notation.
setup() may have text in the wrong place (line 128).

      -- Tag list theme:
        -- get_cursor: small tag list at cursor; ivy and dropdown like above
      show_tags_theme = "ivy",

setup() also don't have any references to the '@tag' notation.
setup() line 431. There are three options.

Thank you so much for your plugin, your documentation was excellent, and allowed me to set up and understand everything in just a couple of hours!

Thank you for pointing all this out. I will fix it ASAP

Not sure about your points 1 and 3. Aren't they the same? Did I forgot something in 70a01f8?

Sorry, they do look the same, but I was referring to the following:

when running :h telekasten.tag_notation, the documentation had no reference to the @tag notation.

When running :h telekasten.setup(), the documentation also has a small aside regarding supported notations, and that documentation does not include @tag.

Reviewing the commit, I think that the correction of item 3 is missing?
Again, thank you very much!

Should be all good now. If you find other stuff, do not hesitate to report. Any contribution helps.
Thank you very much.


update 3/18

The only files that we updated together were index, sign-up and sign-up2 so I only changed those. It looks like you already made the edits though and pushed them so not much changed I think.

new edits


Update SegmentBuilder.java

this.joinSeparatorSize

Issue

Change

General checklist

[ ] There are no breaking changes
[ ] I have added unit and integration tests for my change
[ ] I have manually run all the unit and integration tests in the module I have added/changed, and they are all green
[ ] I have manually run all the unit and integration tests in the core and main modules, and they are all green

[ ] I have added/updated the documentation
[ ] I have added an example in the examples repo (only for "big" features)

Checklist for adding new model integration

[ ] I have added my new module in the BOM

Checklist for adding new embedding store integration

[ ] I have added a {NameOfIntegration}EmbeddingStoreIT that extends from either EmbeddingStoreIT or EmbeddingStoreWithFilteringIT
[ ] I have added my new module in the BOM

Checklist for changing existing embedding store integration

[ ] I have manually verified that the {NameOfIntegration}EmbeddingStore works correctly with the data persisted using the latest released version of LangChain4j

Hi @yangyu6 please explain the change

I think this is just for consistency with the rest of the code in the constructor

@geoand makes sense 😆


Add instructions for inclusion in pre-commit configuration

I updated the README to include instructions for users so they can easily include flake8p in their git pre-commit hooks, a la flake8's docs.

Thanks for that! I don't actually use the pre-commit hook, so help on this is all the more appreciated.


Add hint when binary is missing

On an error message like "ensure: no binary found", it would be useful to show a hint to the user such as:
"Did you generate the Prisma Go client by running go run github.com/prisma/prisma-client-go generate before running your app?"

not sure if that still makes sense, because when the generated db file is picked up then in theory the binary file is also picked up


A multi-cluster node authorizer to support multi-cluster scenario in ambient mesh

(This is used to request new product features, please visit https://discuss.istio.io for questions on using Istio)
Describe the feature request
It's normal to respectively deploy the control plane and data plane of Istio in different clusters in real production. The deployment pattern in the implementation of service mesh products by cloud providers similar to Install Istio with an External Control Plane has also become normal.
Let's assume the use case of deploying ztunnels in remote cluster and managing them by istiod in external cluster in ambient mesh. However, ztunnel can't be correctly started in remote cluster based on before assumption. After some investigation, we found out that it has some relates with the NodeAuthorizer which fails to authenticate ztunnel in remote cluster.
Basically, this is a really issue occurred in the CSP environment, so we promote a proposal A multi-cluster node authorizer to support multi-cluster scenario in ambient mesh to address this issue.
Affected product area (please put an X in all that apply)
[ ] Ambient
[ ] Docs
[ ] Dual Stack
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Affected features (please put an X in all that apply)
[ ] Multi Cluster
[ ] Virtual Machine
[ ] Multi Control Plane
Additional context
Following the docs Install Istio with an External Control Plane and deploying remote cluster with CNI and ambient enabled via Helm(refer to the ambient enable doc), there are 2 parts error messages from both istiod and ztunnel:
istiod part:
2023-10-22T11:36:59.963289Z  warn  serverca  impersonation failed: pod istio-system/ztunnel-95fqc not found

ztunnel part:
2023-10-22T11:36:59.965968Z ERROR ztunnel::cert_fetcher: unable to prefetch cert for "spiffe://cluster.local/ns/default/sa/sleep", skipping, SigningRequest(Status { code: Unauthenticated, message: "request impersonation authentication failure", metadata: MetadataMap { headers: {"content-type": "application/grpc"} }, source: None })

Same issue, any update?

Same issue, any update?

Hi @imroc, we are moving forward and there should be some discussion on the Istio Ambient Weekly Meeting in recent.

Gotcha, thanks

Hi @imroc, this issue has been fixed, please let me know the details if you want to use it. ^_^


chat with csv

:books: Documentation preview :books:: https://ploomber-doc--32.org.readthedocs.build/en/32/

Demo: https://misty-sunset-6594.ploomberapp.io/
(only sample dataset is working)

Few points:

The app is in a Python script currently using duckdb directly. Do we need to use JupySQL (then I'll need to convert it to notebook).
openAI is returning the entire code including import statements, although I have  included If you're asked to plot, you can return plotting code without any import statements or data loading statements in the prompt. And there is some difference between the result returned in chatGPT. e.g. for the query scatter plot of bill length vs bill depth the open-ai API returns:

import matplotlib.pyplot as plt
# Assuming you want to plot the distribution of flipper lengths
plt.hist(penguins['flipper_length_mm'])
plt.xlabel('Flipper Length (mm)') plt.ylabel('Count')
plt.title('Distribution of Penguin Flipper Lengths')
plt.show()

while chatGPT is returning:
import matplotlib.pyplot as plt

# Create a Matplotlib figure and axis
fig, ax = plt.subplots(figsize=(10, 6))

# Customize your scatter plot
ax.scatter(penguins["bill_length_mm"], penguins["bill_depth_mm"])

# Add labels and a title
ax.set_xlabel("Bill Length (mm)")
ax.set_ylabel("Bill Depth (mm)")
ax.set_title("Scatter Plot of Bill Length vs. Bill Depth")

# Show the plot
plt.show()

So right now there is a hardocded plot in the code.

I'm still trying out the ChatGPT - Solara example : https://itnext.io/python-how-to-build-a-chatgpt-interface-in-solara-fd6a1e15ef95. I'll update once I have some results.

@edublancas

use the existing example as a reference: it already uses jupysql and also fixed the plotting problem: https://github.com/ploomber/doc/blob/main/examples/voila/chat-with-csv/notebook.ipynb
the code only works with histograms and boxplots but we can improve it later

use the existing example as a reference: it already uses jupysql and also fixed the plotting problem: https://github.com/ploomber/doc/blob/main/examples/voila/chat-with-csv/notebook.ipynb
the code only works with histograms and boxplots but we can improve it later

I'm using this notebook as reference and just removed the jupysql part. So I need the build the Solara app in a notebook instead of python script right? And what the Ipython widgets components like Upload button etc? All of those need to be converted to Solara components? @edublancas

yes. you can extract the jupysql + openAI logic from the voila app and then build the components with solara

Deployed the app here: https://damp-term-2947.ploomberapp.io/
There is an issue with the plotting currently: Solara discourages the use of pyplot and jupysql is currently axes returning axes created using pyplot and not matplotlib.Figure. If we use pyplot it disconnects the Solara app immediately. If we try to create a figure using fig.add_axes(ax) then it throws error:

@edublancas

This looks like a Solara web app embedded in a Voila app? (because when I load it, it shows the Voila spinner)

Yes I deployed using the Voila option. Can we deploy notebooks in Docker? I thought it's only fpr .py scripts.

btw, remember to delete applications that you're no longer using.

yes I've already deleted the ones not needed.
@edublancas

Yes I deployed using the Voila option. Can we deploy notebooks in Docker? I thought it's only fpr .py scripts.

why not deploy it as a regular solara app? .py file instead of ipynb
https://docs.cloud.ploomber.io/en/latest/apps/solara.html

Yes I deployed using the Voila option. Can we deploy notebooks in Docker? I thought it's only fpr .py scripts.

why not deploy it as a regular solara app? .py file instead of ipynb
https://docs.cloud.ploomber.io/en/latest/apps/solara.html

that's what i did previously but we need to use the JupySQL magics right? So I converted it to notebook @edublancas

ah. yeah, I forgot about the magic details.
then, you need to transform the magics into regular python code.
https://jupysql.ploomber.io/en/latest/api/python.html
https://github.com/ploomber/jupysql/blob/master/src/sql/run/run.py
many parts of the Python API are undocumented so you'll have to navigate the source code. I think once you get this working, we can document the missing parts of JupySQL's Python API

ah. yeah, I forgot about the magic details.
then, you need to transform the magics into regular python code.
https://jupysql.ploomber.io/en/latest/api/python.html https://github.com/ploomber/jupysql/blob/master/src/sql/run/run.py
many parts of the Python API are undocumented so you'll have to navigate the source code. I think once you get this working, we can document the missing parts of JupySQL's Python API

ok sure!

New dashboard: https://little-sun-4266.ploomberapp.io/

New dashboard: https://holy-voice-3121.ploomberapp.io/
I have converted the notebook to python script. The plot issue is also solved now. @edublancas

I have added the first version of chat interface: https://cool-sun-8688.ploomberapp.io/
There are few glitches like messages occurring multiple times and order is changing. I'll fix these one by one.
Some example queries:

I think the boxplot plot is blank  due to this issue: https://github.com/ploomber/jupysql/issues/923

the data frame controls doesn't seem to work:

It wasn't working previously because there were only 5 records so there was just 1 page. I have changed it to 30 now.
@edublancas

sounds good! please request my review when done!

Chat based interface : https://lively-limit-9311.ploomberapp.io/
The boxplot issue is fixed now. PR: https://github.com/ploomber/jupysql/pull/924
I fixed the bugs that I found (except the clear dataset feature. I will look into it). PFB some samples:

Please review @edublancas

try with a free image, we no longer have a flaticon account (we were not using it so I canceled it)

general feedback:

can we make the enter key to send the message? the only way right now is by clicking on the button
let's see if there's a way to remove the "This website runs on Solara" because it overlaps with the text box
can we add some margin here? the table view and the "download" button overlap - the download feature is a nice touch!

is the visualization library working? since we're using jupysql's plotting features, I guess not. I tried it and it doesn't seem to be working (that's fine, just wondering what's the status)

it's easy to crash this, for example if I ask "what plots can you make?" it crashes. perhaps we can do a try catch? if jupysql doesn't complain, then run it, otherwise just print a generic message that the bot can't answer that question?

can we make the enter key to send the message? the only way right now is by clicking on the button

yes it was that way to allow sending multiple messages. but i think that's not required for our case so I'll remove it.

is the visualization library working? since we're using jupysql's plotting features, I guess not. I tried it and it doesn't seem to be working (that's fine, just wondering what's the status)

I just kept it as a placeholder because we had decided to add support for other libraries after we have the basic structure ready. We would need to write logic here to extract only the plotting code because openai returns the entire code script including imports , data loading etc.
@edublancas

yes it was that way to allow sending multiple messages. but i think that's not required for our case so I'll remove it.

sounds good.

I just kept it as a placeholder because we had decided to add support for other libraries after we have the basic structure ready. We would need to write logic here to extract only the plotting code because openai returns the entire code script including imports , data loading etc.

Ok. I think this app has a lot of potential and we can keep them as an ongoing effort (add more features and showcase it in our socials)
I think for v1, we can hide this control and limit to jupysql's plotting but in the near future we can work on v2 and expand the plotting capabilities

Address the comments. Please let me know if you find more issues.
Latest dashboard: https://lucky-art-0278.ploomberapp.io/
A couple of things:

Currently jupysql is being installed directly from the master branch (Dockerfile).
We need to attribute free flaticon images by providing reference links beneath the image in the app page. But I've just added the links in chat.py file as comments. Is that ok?

@edublancas

the top message:
This Solara app is designed for chatting with your data.

Examples of queries : unique column-name values ;
select top 20 rows from table ;

Example of queries that will return a plot : histogram on column ; boxplot on column

is a bit hard to read
I'd suggest:
Interact with your data using natural language.

Examples:
- show me the unique values of column {column name}
- create a histogram of {column name}
- create a boxplot of {column name}

Found an error:
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/reacton/core.py", line 1661, in _render
    root_element = el.component.f(*el.args, **el.kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app.py", line 231, in Chat
    ask_chatgpt()
  File "/app.py", line 191, in ask_chatgpt
    _, name, column = final.split(" ")
    ^^^^^^^^^^^^^^^
ValueError: too many values to unpack (expected 3)

I think the query was: create a boxplot of body_mass_g for MALE observations (either that or histogram)

Addressed the above comments.
For the 2nd case the query is translated to %sqlplot boxplot body_mass_g WHERE sex = 'MALE' . I've added a try catch. But do we want to handle this case? Maybe we need to create a snippet for male rows and then run boxplot
@edublancas


More flexible font size

Hello
Can someone tell me how to fine tune the font size? double width and height doesn't give any flexibility. In fact, the printer supports setting sizes for almost every character. How to implement it in the library?
Many Thanks

I'm only aware of 2 ways of changing fonts in ESC/POS:
1 - The mentioned width and height multiplier (which can very well be more than the double - e.g. 4x, 8x, etc)
2 - The secondary font type (there's a font A and B you can use) but that's more of style than size.
Other than that you would need to research ESC/POS commands that can change it, and if you find it, it should be very easy to implement the commands in the library.


Should be able to backup/restore single database

Currently, when a user runs a restore from a backup, all of the metadata is replaced with the data from the restore. A user should be able to restore a single database while leaving all other databases in tact.

+1 on this
I would love to be able to do a restore of just a single database from production onto my testing  system for example without wiping out all/overwriting existing metadata for other databases.

+1
The production users are different from develop environment's, if restoring from production database leaks the user information to develop environment, I think it have some security risks.
Dumping only one database from production into develop or testing environment without the metadata sounds a good fix in this case.

+1  Migration of databases into existing environments is impossible because of this.

I also think this is a valuable feature. I came into an environment in which me predecessor scattered some influxdb instances across the various system that I wanted to unify in order to be able to just maintain one set of RPs, QRs and version.
However reading this just put a dead halt on my undertaking as I have to transfer the collected data so far.

+1 Same for me - coming across this crucial shortcoming of the Open Source version today put a hold on our plan to use InfluxDB as the core for our new application platform :(. IMHO, such an essential feature should not be used to separate the commercial from the OS version.

This would be great to have, I'm struggling to migrate from one server to another because of the lack of this feature.. :(

FYI its possible to export / import  a single DB using the following method. Its poorly documented but works for me. Tsm databases required:
Export database using influx_inspect
Beware exported files are in text format and will be huge.
influx_inspect export -database <db name> -datadir <data dir path> -waldir <wal dir path> -out  <export file>

Import database using influx
influx -import <export file>

@jonans I actually found that trick after commenting here, took forever to find out.. First time I'm really working with Influx, so it may be a rookie mistake :)
But for backup and restore purposes, it's not very user friendly to have to export databases that way to be able to restore single databases.. For migration purposes, it's valid tho!

You can add the -compress option to influx_inspect help with the file size...

So I've analyzed the case of influx_inspect to dump and influx to restore into another database name:
This script "almost" works (see Problems listed there, it would work if I use sed as described in comments):
#!/bin/sh
if [ -z "$1" ]
then
  echo "You need to provide source database name as argument"
  exit 1
fi
if [ -z "$2" ]
then
  echo "You need to provide destination database name as argument"
  exit 1
fi
# Probelm 1:
# We cannot use compressed output, because generated file contains database name
# We need to change that database name from "$1" to "$2" before restoring - this is needed to do actual copy instead of just backup and restore on the same database.
# influx_inspect export -database "$1" -datadir /var/lib/influxdb/data/ -waldir /var/lib/influxdb/wal/ -compress -out "$1.out"
# Problem 2:
# influx_inspect CAN ACCESS database bypasing credentials (of course [http] auth-enable = true is set in the config file and influxd daemon restarted !!!)
# Credentials works OK because influx commands doesn't allow access without credentials

influx_inspect export -database "$1" -datadir /var/lib/influxdb/data/ -waldir /var/lib/influxdb/wal/ -out "$1.out" || exit 1

# Problem 3
# Here we need to edit "$1.out" and change database name here from "$1" to "$2", this file is 1.4Gb.
# Of course I can call some kind of `sed` to do it, but still we need uncompressed file, because `sed`itting compressed file will take extra time to decompress and compress again.

influx -username "user_name" -password "password" -import -path "$1.out" || exit 1

rm -f "$1.out"
echo 'OK'
# Problem 4
# It takes 3m 40s, which is quite fast but still 2x slower than use:
# https://github.com/cncf/gha2db/blob/master/cmd/idb_backup/idb_backup.go

Generated output file looks like this:
# INFLUXDB EXPORT: 1677-09-21T00:12:43Z - 2262-04-11T23:47:16Z
# DDL
CREATE DATABASE temp WITH NAME autogen
# DML
# CONTEXT-DATABASE:temp
# CONTEXT-RETENTION-POLICY:autogen
# writing tsm data
# then comes the data

We need to edit it and replace "temp" with "prod" in this case.
Summing up there are serious problems:

The generated output file contains database name, and instructions to create the database with given name. It would be better to support giving database name via influx -database <name_here> when restoring.
influx_inspect is NOT using auth!! It can access database without username and password !! :(
It is still slow, but this time is just about acceptable.

I'll still use my own approach that copies one InfluxDB into another 2x faster and uses auth:
https://github.com/cncf/gha2db/blob/master/cmd/idb_backup/idb_backup.go

To sum things up, I've tried 5 approaches:

I've tried the recommended way:
Backup + restore: https://docs.influxdata.com/influxdb/v1.3/administration/backup_and_restore/
But You can only backup and restore into the same database name, and restoring requires stopping Influx database server.
So this is not usable for our case.

I've tried to copy the entire database into another database using:
SELECT * INTO newdb..:MEASUREMENT FROM /.*/ GROUP BY *
This works, but it takes 1 hour and 30 minutes while generating the database from scratch takes 12-14 minutes.
Much much too slow.

Tried influx_inspect to dump database and influx to restore. It has the following problems:

Dump file contains database name, so needs to be edited to change this name, this also means we can not do compressed dump, because editing compressed file would require decompress and compress again.
influx_inspect bypases auth, so you can access the database without any auth.
It is quite fast at 3m 40s (3 times faster than regenerate database) but still 2x slower than approach (4)

Finally, I've written a tool in go that connects to one InfluxDB database then lists all series, then for each series it is copying its contents into another database. It uses multithreading and takes about 1 minute 50 seconds. This is currently the fastest way of duplicating InfluxDB IMHO: https://github.com/cncf/gha2db/blob/master/cmd/idb_backup/idb_backup.go

I mistakenly used influx restore to transfer one database to a online system. As a result, it overwrite the meta data, causing all data lost from that point of time. I think the doc should explicitly state the effects of influx restore.

+1

@aanthony1243 -- @silentred's mistake resulted in lost data. Is this still true? What needs to be documented about this scenario?

this is resolved in version 1.5.   Users must indicate either the -online or -portable flag to prevent this scenario.  Because the legacy, offline method remains for backward compatibility it would be an improvement to the docs to indicate that this method may result in data loss.  Any new users/new implementations should use the -portable method.
existing users/implementations may find the -online flag useful for importing legacy data without and data loss.


Simple numeric planning Kind refinement

Codecov Report
Patch coverage: 100.00% and no project coverage change.

Comparison is base (96f7940) 85.02% compared to head (b3d6308) 85.03%.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #486   +/-   ##
=======================================
  Coverage   85.02%   85.03%
=======================================
  Files         198      198
  Lines       26050    26053    +3
=======================================
+ Hits        22150    22153    +3
  Misses       3900     3900

Files Changed
Coverage Δ

unified_planning/model/problem.py
78.99% <100.00%> (+0.10%)
:arrow_up:

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


Is there a way to link a page back to the homepage

Hello,
Is it possible to set up the content page link on the homepage to redirect users back to the homepage?
For example, making it so in the site example theme, that the "about" button brings you back to the root of the website?
Thank you!

Nevermind - I have managed to tweak that using forestry menu settings


getBindingIndex() returns different values when executing a shell script for SegNet model on TX1

Hello there,
I am trying to execute the SegNet model on Jetson TX1. I have a test.sh file with the following contents:
NET=/home/nvidia/jetson-inference/20180302-022602-9d48_epoch_1.0

./segnet-console /home/nvidia/catkin_ws_1/src/beginner_tutorials/src/camera_image.png output_city.png \
--prototxt=$NET/deploy.prototxt \
--model=$NET/snapshot_iter_4522.caffemodel \
--labels=$NET/fpv-labels.txt \
--colors=$NET/fpv-deploy-colors.txt \
--input_blob=/home/nvidia/jetson-inference/data \
--output_blob=score_fr

When I execute the test.sh file from the terminal, the segnet model works perfectly. The problem arises when I try running the same with a python script inside a ROS package as I am trying to subscribe to a live feed and then trying to segment the image coming from the feed. The python script is executed using the following command.
rosrun beginner_tutorials pub_sub.py

Here is the python snippet in the pub_sub.py file that I use to call the shell script:
import os
os.system('./test.sh')

The only difference I see when the compare the outputs of both the approaches is that the getBindingIndex() function returns different values when the executable is run under different contexts.
I am posting where the difference arises:
Running test.sh from terminal
[GIE]  /home/nvidia/jetson-inference/20180302-022602-9d48_epoch_1.0/snapshot_iter_4522.caffemodel input  binding index:  0
[GIE]  /home/nvidia/jetson-inference/20180302-022602-9d48_epoch_1.0/snapshot_iter_4522.caffemodel input  dims (b=2 c=3 h=720 w=1280) size=22118400
[cuda]  cudaAllocMapped 22118400 bytes, CPU 0x100ce0000 GPU 0x100ce0000

Running test.sh from a python script within a ROS package
[GIE]  /home/nvidia/jetson-inference/20180302-022602-9d48_epoch_1.0/snapshot_iter_4522.caffemodel input  binding index:  -1
[GIE]  /home/nvidia/jetson-inference/20180302-022602-9d48_epoch_1.0/snapshot_iter_4522.caffemodel input  dims (b=2 c=0 h=0 w=0) size=0
failed to alloc CUDA mapped memory for tensorNet input, 0 bytes

Also to be noted is that the image is available before a call is made from the python script. Could anyone please point out why this odd behaviour is being observed.

Hi @jerisalan , are you able to launch any of the other programs from this repo using this launch method from ROS/python, like imagenet-console or detectnet-console for example?   It may be useful to see if these other programs work, with and without additional command line arguments, to narrow down the root cause.

@dusty-nv Thanks for following up. Well I did not try running the other models in the same way as you mentioned to identify the root cause but I did get a workaround for the issue I was facing.
I had to cd into the location where the segnet-console executable was located and then run the test.sh script. So the command in the python snippet had to be os.system("cd /path/to/segnet-console-dir/ && ./test.sh").


"py" works, but "python" doesn't

It seems that "python" doesn't seem to launch python anymore from CMD (after adding the environment variable). Instead, "py" launches python.

This is a problem, because I think script is calling "python." Is there a way to change this?

You can use script options view, create a profile or add bat-file with python call to you path.
Is py the new name for python executable? some new version?

No, the executable is still "Python.exe" so I am a bit stumped at this point.
Seems like this is something new(er) to Python for version selection. I could be wrong on whether it is new. But you can do the following to specify a version:
py -2
py -3
It may be doing this because I have 2.7 and 3.5 installed.

On Aug 22, 2016, at 12:38 PM, Nikita Gryzlov<EMAIL_ADDRESS>wrote:
You can use script options view, create a profile or add bat-file with python call to you path.
Is py the new name for python executable? some new version?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

@nixel2007 Not sure how to actually do what you've suggested. Where is the script options view, or profile creation? I don't really want to use a bat file preferably.

@Gernatch

Big thanks. This worked.

go to windows folder search for py.exe and rename it to python.exe thats it


feat(compe): implement nvim-compe integration

It works amazingly well. By the way, thanks for creating tmux-complete.vim plugin. :beer:

Hi @wellle, could you merge this? It's a small addition. I reviewed and tested the code, everything works as intended :)

Hey thank you @rainerborene and @kabouzeid for this. And sorry for the delay!


Can the function signature of explicit serialization not use auto?

struct person
{
    constexpr static auto serialize(auto & archive, person & self)
    {
        return archive(self.name, self.age);
    }

    std::string name;
    int age{};
};

Will this cause const person & self not to be matched?
I want to write this way, because it enables the following member variables to be parsed by the IDE, so that I can quickly find that the member variables are written incorrectly, or have been deleted.

You need both overloads for const and non const, but there are many ways to work around what you want to do. One of them is to avoid specifying the members - why don’t you use the zpp::bits::members or just rely on aggregate member detection?

You need both overloads for const and non const

Got it, thank you.

why don’t you use the zpp::bits::members or just rely on aggregate member detection?

Some data are cached data that only exists at runtime. If you don't save them, you can make the saved file smaller and take less time.
Some data are pointers or references to other objects. I think It will cause a lot of trouble if you save them.

The closest I can think of is to use thr mutable keyword and somehow have the serialization detect that the member is mutable, or introduce some kind of wrapper class to members that need skipping

I feel that if we can't implement it gracefully, then we shouldn't implement it.
It's best to do it the C++ way.


password in bash history

Suggestion.
This command does not store password in bash history:
java -jar target/epwg-0.4.0-SNAPSHOT.jar -d data -p $(read -s -p "password: "; echo $REPLY)

thanks for the hint! i've added your suggestion to the readme


Implement iterative Merge Sort Algorithm

Objective: WAP for iterative merge sort algorithm with best time and space complexity.

I would like to work on this issue.

Assigned!


Add react-hot-toast pop-ups for each actions

I would like to add pop-ups using react-hot-toast for all successful or unsuccessful(error) actions like successful login/register, wrong email-password, successful file, URL upload and folder creation. This will enhance the user experience.
Kindly assign this issue to me under GSSoC'23 so that I can make PR @srivastavaritik
here are the changes

Improved css of signup page
Added react-hot-toast pop-ups

Before-

After-

The messages for specific actions

Hi @acecoder7 , you can work on this.


Add Varnish5 compatibility

This is just a working version to build vmod for Varnish5. It probably can be improved.

Hi @liyo , have you tested with PR https://github.com/fastly/libvmod-urlcode/pull/9 ? I did approximatively the same thing copying changes from libvmod-example instead.

Hey @JonathanHuot, I tried your PR #9 but I couldn't make it build on my Varnish5 install. The following error is shown when I try to use it:

configure.ac:13: installing 'build-aux/compile'
configure.ac:13: installing 'build-aux/config.guess'
configure.ac:13: installing 'build-aux/config.sub'
configure.ac:9: installing 'build-aux/install-sh'
configure.ac:9: installing 'build-aux/missing'
automake: warnings are treated as errors
/usr/share/automake-1.14/am/ltlibrary.am: warning: 'libvmod_urlcode.la': linking libtool libraries using a non-POSIX
/usr/share/automake-1.14/am/ltlibrary.am: archiver requires 'AM_PROG_AR' in 'configure.ac'
src/Makefile.am:4:   while processing Libtool library 'libvmod_urlcode.la'
src/Makefile.am: installing 'build-aux/depcomp'
parallel-tests: installing 'build-aux/test-driver'
ERROR: Service 'varnish' failed to build: The command '/bin/sh -c curl -SLO "https://github.com/thomsonreuters/libvmod-urlcode/archive/master.tar.gz"     && mkdir -p /usr/local/varnish-libvmod-urlcode     && tar -xzvf "master.tar.gz" -C /usr/local/varnish-libvmod-urlcode --strip-components=1     && cd /usr/local/varnish-libvmod-urlcode     && ./autogen.sh     && ./configure VARNISHSRC=/usr/local/varnish-cache     && make     && make install' returned a non-zero code: 1

Thanks @liyo, it seems a different automake version was used in my tests. I should have fixed it now. Could you retest it please ?
Thanks in advance!


RISC-V: fixes

Two small commits to enable RISC-V builds

disco_generateKeyPair can't be declared inline as compiler may decide not to inline it (see C99 6.7.4 for complicated explanation ). I was getting following errors when compiling for RISC-V/32

/usr/local/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: bin/tests/test_disco.o: in function `test_N':
test_disco.c:(.text+0x2e): undefined reference to `disco_generateKeyPair'
/usr/local/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: test_disco.c:(.text+0x20c): undefined reference to `disco_generateKeyPair'
/usr/local/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: bin/tests/test_disco.o: in function `.L0 ':
test_disco.c:(.text+0x554): undefined reference to `disco_generateKeyPair'
/usr/local/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: test_disco.c:(.text+0x56c): undefined reference to `disco_generateKeyPair'
/usr/local/lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld: bin/src/disco_asymmetric.o: in function `.L97':
disco_asymmetric.c:(.text+0x53a): undefined reference to `disco_generateKeyPair'

As signed values are compared to unsigned values compiler may produce warnings, which fails a build if compiling with -Wextra -pedantic

Other than that, this library currently compiles for RISC-V but seems there are 2 problems:

test_N aborts - needs investigation
more importantly I needed to disable random number generation because I'm not sure how to get a random number from my microcontroller  (also needs investigation).

I wonder if it makes sense to add DRBG as small devices may have crappy/slow PRNG. Hardware PRNG would be used only to initialize DRBG (and reseeding) which maybe could improve random generation. This would obviously increase code size, so must be opt-in/opt-out option selected at compile time

Hey @henrydcase
Awesome thanks for the PR!
for DRBG you have this: https://github.com/mimoo/disco-c/blob/master/lib/disco_symmetric.h#L53


process didn't exit successfully: /home/XXX/target/debug/build/openssl-c583a0438d8de871/build-script-build (exit code: 101)

error: failed to run custom build command for `openssl v0.9.24`
process didn't exit successfully: `/home/X/target/debug/build/openssl-c583a0438d8de871/build-script-build` (exit code: 101)
--- stderr
thread 'main' panicked at 'Unable to detect OpenSSL version', /home/X/.cargo/registry/src/mirrors.ustc.edu.cn-61ef6e0cd06fb9b8/openssl-0.9.24/build.rs:16:14
note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.

warning: build failed, waiting for other jobs to finish...
error: build failed

VERSION: ~0.20.0

Depending on what platform you are on, and if . you are cross compiling, you need to make sure openssl is available to you.
See https://docs.rs/openssl/0.10.24/openssl/
Alternative, is you can remove the need for openssl in your Cargo.toml
elastic = { git = "0.21.0-pre.5", default_features = false, features = ["rustls-tls"] }

hello @jatsrt, thanks for your reply, this problem occurs on 0.20.10 and Ubuntu19.04, I think it's because the version of OpenSSL on my PC is too new...
It works fine with the latest version of elastic-rs, but it seems since 0.21.x, elastic-rs can only work with elasticsearch@7. It's not compatible with elasticsearch@5 anymore, in our company, we would like to rewrite our elastic microservice in rust, but we are using elasticsearch@5.
Is there a solution to use elasticsearch@5 with elastic-rs, thanks in advance for your help.

@jatsrt Could you help me on this~? I get stuck here for a long time:)

Same issue. Can't build this v0.20 on Arch Linux cuz OpenSSL is too new. Git master builds at the time of this comment though.

We might be able to backport the rusttls-tls feature, but I think we are a little apprehensive about supporting multiple versions of Elasticsearch...
As a workaround, you might want to do one of the following:

Override the reqwest dependency to use the rusttls-tls feature.
Build a static binary via Docker with something like: messense/rust-musl-cross, emk/rust-musl-builder, or rust-embedded/cross.

@GopherJ Does that work for you?

@jatsrt this feature doesn't seem to exist in the version 0.20.10.

@mwilliammyers I think the workaround is emk/rust-musl-builder but it'll be good if the version 0.20.10 uses rustls by default or as feature.


Resync with Python 3.5.2

Changes Unknown when pulling 0f90b357b2a7ae2224e60d97cf11779d6ec046b1 on feature/python-3.5.2 into ** on develop**.

Changes Unknown when pulling 5d5a6efd47f31596136704f086997574e8f4d631 on feature/python-3.5.2 into ** on develop**.

Changes Unknown when pulling 74f3fd3c1fd71bfe8247ad9c7e0fc8a00b537876 on feature/python-3.5.2 into ** on develop**.

Changes Unknown when pulling 4eb837bc509075f1de4f2c0f5b6cb547750c9d21 on feature/python-3.5.2 into ** on develop**.

Changes Unknown when pulling fe3e2c803595a170f2432465d63777fd623fe6a1 on feature/python-3.5.2 into ** on develop**.

Changes Unknown when pulling 684881f970df1f6efc94cfc1370eaadfc9c68f9b on feature/python-3.5.2 into ** on develop**.

Changes Unknown when pulling 684881f970df1f6efc94cfc1370eaadfc9c68f9b on feature/python-3.5.2 into ** on develop**.

Changes Unknown when pulling 9538ced829d3fbf38d14e22eb5503bcd42c55aeb on feature/python-3.5.2 into ** on develop**.

Changes Unknown when pulling 00644cbb03a5de20c8008a29bb330eec66c465b7 on feature/python-3.5.2 into ** on develop**.

Changes Unknown when pulling 00644cbb03a5de20c8008a29bb330eec66c465b7 on feature/python-3.5.2 into ** on develop**.

Changes Unknown when pulling 1b162e1daa597234b9e3eeadf33630cc23b7f261 on feature/python-3.5.2 into ** on develop**.


Terraform helm provider Chart.yaml file missing

Describe the bug:
Can not install cert-manager via the Helm operator in Terraform.
Error is
 Error: could not download chart: Chart.yaml file is missing

I've double checked my config and other helm charts are installing in the same TF project.
Here's the TF resource
resource "helm_release" "cert_manager" {
  name       = "cert-manager"
  repository = "https://charts.jetstack.io"
  chart      = "cert-manager"
  version    = "v1.13.3"
  namespace  = kubernetes_namespace.cert_manager.metadata.0.name
  values = [
    "${file("cert-manager/cert-manager-values.yaml")}"
  ]
  depends_on = [
    kubernetes_namespace.cert_manager
  ]
}

Attempted Fixes:

I've compared my resource definition to the Medium Article and they match up fairly well.
I've tried the version number with and without the v.
I've removed the values section and version with the same result

Expected behaviour:
Helm chart should install
Steps to reproduce the bug:
terraform apply
Anything else we need to know?:
I can install the helm chart fine by running helm manually into the same cluster with the same config, but it will not work in Terraform. In any case, this very much looks like it is unrelated to the k8s cluster or other peripheral elements.
Environment details::

Kubernetes version: 1.26.12
Cloud-provider/provisioner: None, local
cert-manager version: 1.13.3
Install method:  Terraform Helm provider
Terraform version: 1.6.6
Terraform Helm Provider version: 2.12.1

/kind bug

I switched to downloading the chart and using Terraform to apply it until this gets fixed.
Procedure for those interested.
helm repo add jetstack https://charts.jetstack.io
helm repo update
# -d is destination
helm pull jetstack/cert-manager -d ccharts/ --untar

Then the TF file changes to
resource "helm_release" "cert_manager" {
  name = "cert-manager"
  chart = "./charts/cert-manager"
  namespace = kubernetes_namespace.cert_manager.metadata.0.name
  values = [
    "${file("cert-manager-values.yaml")}"
  ]
  depends_on = [
    kubernetes_namespace.cert_manager
  ]
}

This is the problem: https://github.com/hashicorp/terraform-provider-helm/issues/735

Yes, this an issue with Helm where if you have a directory named the same as the chart it will throw this error.


Fix incorrect calc of cacheHitRatio

What changes are proposed in this pull request?
Bug Fix
Why are the changes needed?
fix cacheHitRatio calculation
Does this PR introduce any user facing changes?
No

alluxio-bot, merge this please


[vcpkg baseline][urho3d] Fix dependency readline

Fix find dependency readline: add feature readline and option URHO3D_ENABLE_READLINE.
Fix use readline libraries: add readline's dependency curses:

: && /Library/Developer/CommandLineTools/usr/bin/cc -mtune=generic -fPIC -march=native -msse3 -pthread -Qunused-arguments -fcolor-diagnostics -Wno-argument-outside-range -g -DDEBUG -D_DEBUG -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names  Source/ThirdParty/Lua/CMakeFiles/lua_interpreter.dir/src/lua.c.o -o bin/lua  Source/ThirdParty/Lua/libLua.a  -lm  /Users/vagrant/Data/installed/x64-osx/debug/lib/libreadline.a && :
Undefined symbols for architecture x86_64:
  "_BC", referenced from:
      __rl_init_terminal_io in libreadline.a(terminal.c.o)
  "_PC", referenced from:
      __rl_init_terminal_io in libreadline.a(terminal.c.o)
  "_UP", referenced from:
      __rl_init_terminal_io in libreadline.a(terminal.c.o)
  "_tgetent", referenced from:
      __rl_init_terminal_io in libreadline.a(terminal.c.o)
  "_tgetflag", referenced from:
      __rl_init_terminal_io in libreadline.a(terminal.c.o)
  "_tgetnum", referenced from:
      __rl_get_screen_size in libreadline.a(terminal.c.o)
  "_tgetstr", referenced from:
      _get_term_capabilities in libreadline.a(terminal.c.o)
  "_tgoto", referenced from:
      _open_some_spaces in libreadline.a(display.c.o)
      _delete_chars in libreadline.a(display.c.o)
  "_tputs", referenced from:
      __rl_backspace in libreadline.a(terminal.c.o)
      __rl_cr in libreadline.a(terminal.c.o)
      _rl_ding in libreadline.a(terminal.c.o)
      __rl_standout_on in libreadline.a(terminal.c.o)
      __rl_standout_off in libreadline.a(terminal.c.o)
      __rl_enable_meta_key in libreadline.a(terminal.c.o)
      __rl_disable_meta_key in libreadline.a(terminal.c.o)
      ...
ld: symbol(s) not found for architecture x86_64

Already tested this feature on Windows and OSX.

Add new port readline-unix to enable Linux support and replace port readline-osx, which use make buildsystem.

Related: #21790.

Thanks jack!


Print exception since logging may not have been setup

Note: There's a merge-stop going on...

Yes, but this is really minor and unlikely to break anything..


rect: enhanced rounding and chamfer options

Introduces the extra "cswap" parameter that moves the chamfer and rounding center points.
In the original code the negative roudings and chamfers are only extended in the x direction, this patch allows control over both directions.
Example:
$fn = 32;
translate([0,0,-.51])
distribute(spacing=1.5) {
// rounded examples:
// original
rect(rounding=.25*[1,1,-1,-1]);

// cswap curve for quadrants [-1,1] and [-1,-1]
rect(rounding=.25*[1,1,-1,-1], cswap = [0,1,1,0]);

// chamfered examples:
// original
rect(chamfer=.25*[1,1,-1,-1]);

// cswap chamfer for quadrants [-1,1] and [-1,-1]
// note only affects the negative chamfers
rect(chamfer=.25*[1,1,-1,-1], cswap = [0,1,1,0]);

}

I don't like the cswap parameter name.  Not sure what it should be.  corner_flip?

I don't like the cswap parameter name. Not sure what it should be. corner_flip?

I am horrible at thinking of sensible names, corner_flip sounds perfect.
If that is the consensus, I am happy to change it I am happy.
Also note that a corner flip for a specific quadrant is implemented as a number: zero -> no_flip  /  non zero -> flip.
I was wondering if this should be boolean type, any preference?

Coming up with names can be pretty difficult.  We sometimes struggle.  Go ahead with corner_flip.
The corner_flip parameter should definitely be boolean, and it should be permitted to give a list or give it as a single boolean, so true expands into [true,true,true,true].
Also did you confirm that the anchor overrides work properly for the case when atype=="perim"?

Update:

fixed anchor overrides when atype = "perim"
renamed to corner_flip
added some comments

flip    = true;
chamfer = 5*[0,-1,1,0];
rounding= 5*[-1,0,0,1];

distribute(spacing=40) {
    rect(size=20, atype="perim", chamfer = chamfer, rounding=rounding, corner_flip = flip)
        show_anchors();

    rect(size=20, atype="perim", chamfer = -chamfer, rounding=-rounding, corner_flip = !flip)
        show_anchors();

    rect(size=20, atype="perim", chamfer = -chamfer, rounding=-rounding, corner_flip = flip)
        show_anchors();
}


Node Stuck with Lost Connection Message (Windows NTP Issue)

This could be an NTP issue.
https://iohk.zendesk.com/agent/tickets/92052

It seems the ntp client run just fine.  It was trigger by the user every few minutes, and everytime it returned successfully (the BothSucceded means that queries over ipv4 and ipv6 returned successfully):
[cardano-wallet.api-server:Info:261523] [2020-04-02 10:44:49.10 UTC] [RequestId 20138] [GET] /v2/network/clock
[cardano-wallet.ntp-client:Info:16] [2020-04-02 10:44:49.86 UTC] ntp client run protocol results: BothSucceded [NtpOffset {getNtpOffset = Microsecond (-1057145)},NtpOffset {getNtpOffset = Microsecond (-1057056)},NtpOffset {getNtpOffset = Microsecond (-1056389)},NtpOffset {getNtpOffset = Microsecond (-1055894)},NtpOffset {getNtpOffset = Microsecond (-1058039)},NtpOffset {getNtpOffset = Microsecond (-1051536)}]
[cardano-wallet.ntp-client:Info:16] [2020-04-02 10:44:49.86 UTC] ntp client gives result of NtpDrift (NtpOffset {getNtpOffset = Microsecond (-1058039)})

However, the logs contain these warnings:
[cardano-wallet.api-server:Info:260337] [2020-04-02 10:39:00.05 UTC] [RequestId 20047] [GET] /v2/network/information
[cardano-wallet.api-server:Warning:260337] [2020-04-02 10:39:30.05 UTC] [RequestId 20047] 503 Service Unavailable in 30.0020016s

Which are surrounded by quite a few
[cardano-wallet.api-server:Info:255096] [2020-04-02 10:15:44.05 UTC] [RequestId 19646] [GET] /v2/network/information
[cardano-wallet.api-server:Info:255096] [2020-04-02 10:15:44.05 UTC] [RequestId 19646] 200 OK in 0.003989s

I am not sure what that means, @KtorZ do you recognize theses messages?

Perhaps the wallet server isn't waiting "long enough" for the check to resolve? Seems like the request is failing exactly 30 seconds after it was received, which is an oddly round value :)
I'll check tomorrow what could be the root cause. If the ntp-client is however succeeding, it could be that the api server and the ntp client both use a different timeout value, which is unfortunate.

Is this still live?

Solved. https://iohk.zendesk.com/agent/tickets/92052


Replacing old Wiki markup in all files

Because the pages have been migrated from the old wiki which uses PmWiki markup there is now a confusing mix of PmWiki markup and new MarkDown markup.
It would be cool if someone could write a script which just goes over all files only once and changes all PmWiki markup to Markdown format.
EXCEPT: the Wikilink, image and embed ... that's still useful and mentioned in another ticket.

Fun fact related to the sizing of images!
https://docsify.js.org/#/helpers?id=resizing

This can be closed

fixed by @TheGrandmother


tests: kernel: workq: work: Fix potential race in the test

Test was setting up timer for 1 system tick and then work was
cancelled. It was assumed that work will be cancelled before
timer expires. This is the case for low frequency system clock
(e.g. qemu targets using 100Hz) but there are cases when system
clock has higher frequency (32kHz on nRF). In that case, timer
was occasionally expiring before cancellation and test was
randomly failing.
Relates to #43515.
It fixes following failures.
DEBUG   - DEVICE: START - test_1cpu_running_cancel_sync
DEBUG   - DEVICE:
DEBUG   - DEVICE: Assertion failed at WEST_TOPDIR/zephyr/tests/kernel/workq/work/src/main.c:785: test_1cpu_running_cancel_sync: ctx->busy_rc not equal to K_WORK_RUNNING | K_WORK_CANCELING
DEBUG   - DEVICE:
DEBUG   - DEVICE: FAIL - test_1cpu_running_cancel_sync in 0.16 seconds

Regarding assertion failure. I've only seen it once following the test failure. Same as in the issue. They may be related but still a failure in the test should not lead to assert in the k_work code.
Signed-off-by: Krzysztof Chruscinski<EMAIL_ADDRESS>

I tried out this PR  and got 10/10 passes. Without it I got 9/10 (another day i was getting failures way more often). So statistically this wasn't a sound measurements but I hope it will be stable now


Stop depending on arcs.sdk package from arcs.sdk.wasm

This means we can iterate on the sdk package for jvm, and use suspend functions, without having to worry about updating wasm.
The two versions will drift, and you will only be able to target your particle code to one of jvm or wasm, not both.

Passing presubmit cl/295882144


Add a documentation on how to extend Goss with custom validation

I think it would be useful to write a documentation about how to extend Goss with custom validation.

If you mean how to add a new validation and compile a new version of goss, I can document that.
If you mean a custom validation at runtime, goss doesn't support that unfortunately.

If you mean how to add a new validation and compile a new version of goss, I can document that.

Yes that's what I meant:smile:

Just try Goss on one of our environment and it's working great! Really nice tool :+1:
I've never code in Go but If you need help with the documentation, just ask.

The main problem currently is that the code is very verbose and repetitive. There are some enhancements that I have in mind to simplify this, but want to get a better understanding of golang best practices before refactoring. I'll document the current state, with the assumption that'll get simplified later.
Out of curiosity what kind of custom validator where you looking to add? I'm probably only going to accept checks into the project that are generic enough to have a wide use-case. Would like to keep the tool focused in scope. as much as possible.

Out of curiosity what kind of custom validator where you looking to add?

I'm working for a client with a lot of Bash scripts that validate technical requirements.
Most of the time, these scripts are just checking user, group, process, port... but I won't be surprised to find some twisted logic that require a custom validator. Even if I could probably write a script with this twisted logic and use command to check the return code.

I'm probably only going to accept checks into the project that are generic enough to have a wide use-case.

Fair enough :wink:

Would like to keep the tool focused in scope. as much as possible.

I'm gonna try.
We do have some checks about logical volume. Is that something you will be interested in ?
lvm:
  /dev/mapper/lv_data:
    size:
      gt: 10G

We are also using find -perm to check permissions recursively (for security reason). One use case is to make sure that file under a directory are only readable/writable/executable for the owner.
Not sure about the right way to describe this state...

So sometime in the next two weeks, I'll document some high level guidelines on what to think about when creating a new validation type. I'll also do a simple custom validator so future developers can see the process end-end.
That said, some initial thoughts on guidelines:

Can it be done using golang, without depending on external tools?

This is preferred as it allows for faster execution time, and uses less resource allocation when run in parallel.
Currently goss only runs the following external commands:

Package managers: rpm, dpkg-query, etc..
service service_name status

Does it require root/special user access?

Does it have wide application, I follow the 80/20 rule here. Mostly to keep maintenance easier

Can it be done simply with command?

If yes, any benefit to having a dedicated validator for it?

Is it easy to test in ci?

Currently docker is used, so if something needs more than docker the test suite needs to be modified for it

Another limitation is currently an attribute is matched up against what is found on the system, there isn't support for nested attributes yet in goss, so this would need to be built in if we decide to add checkers that need them.
Having said that, looking at your examples above:
lvm

Can it be done using golang? not sure, but probably
Does it require special user access? yes
Wide application? yes, lvm is pretty common
Can it be done simple with command?

yes: blockdev --getsize64 /dev/mapper/lv_data
or:  lvs -o lv_size /dev/mapper/fedora-home --noheadings

Any benefit to having a dedicated validator for it?

Maybe if it's made more generic and supports more than just size, see below

Is it easy to test in ci?

not sure..

blkdev:
  /dev/mapper/lv_data:
    size:
      # "10G" wouldn't work out the box, this would either need to be modified to
      # something like this:
      gt:<PHONE_NUMBER>0
      # or:
      gt: 10
    fs_type: xfs

Limits

Can it be done using golang? probaly
Does it require special user access? yes
Wide application? yes
Can it be done simple with command?  yes, but probably requires su or sudo
Any benefit to having a dedicated validator for it?

probably, would need to build nested dict object matcher

Is it easy to test in ci?

Probably

I Would be open to a golang version of both of those, if it needs to rely on an external command I woudld be less open to it, but not 100% against if it works cross platform and provides multiple attributes to test against.

Hey @aelsabbahy

So sometime in the next two weeks, I'll document some high level guidelines on what to think about when creating a new validation type. I'll also do a simple custom validator so future developers can see the process end-end.

Excellent!
Thanks for these guidelines, this is really useful.

Another limitation is currently an attribute is matched up against what is found on the system, there isn't support for nested attributes yet in goss, so this would need to be built in if we decide to add checkers that need them.

I'm not sure to understand what you mean ? Do you have an example ?

I Would be open to a golang version of both of those, if it needs to rely on an external command I woudld be less open to it, but not 100% against if it works cross platform and provides multiple attributes to test against.

Ok.
Once your "simple custom validator" will be created I will try to find time to work on that!

Apologies for not following up on the documentation yet, haven't had much free time and I've been prioritizing bug fixes over this.

I'm not sure to understand what you mean ? Do you have an example ?

Currently there's support for this
/tmp:
  attr: attr_value

but not nested attributes like:
/tmp:
  attr:
    nested_attr: attr_value


Upvoting strangely broken

@dukedorje might be helpful for you to review this, don't really know what could have gone wrong here. Seems to be failing proposals-controller.coffee:104

Upvoting is now in the wizard flow.


IO-628: Migration to JUnit Jupiter

This PR upgrades the project's testing framework from JUnit 4.12 to the modern JUnit Jupiter 5.5.4.
Since JUnit 5 Jupiter is not backwards compatible to JUnit 4.x (or even JUnit Vintage), this PR is a bit large, even though a lot of the changes are merely cosmetic (such as changing the argument order,
see details below). In order to make the reviewer's task as easy as possible, this PR does not presume to use JUnit Jupiter's best practices and all its new functionality, but only to migrate the existing tests with as little change as possible. Following PRs may want to improve the tests by using some of JUnit Jupiter's new  features.
This patch includes the following changes:

Maven dependency changes:

junit:junit was replaced with org.junit.jupiter:junit-jupiter.
org.junit-pioneer:junit-pioneer was introduced (see details below in section 2.vii.).

Annotations:

org.junit.jupiter.api.Test was used as a drop in replacement for org.juit.Test without arguments. See 3.ii. and 3.iii. for handling of @Test annotations with expected and timeout arguments respectively.
org.junit.jupiter.params.ParameterizedTest in conjunction with org.junit.jupiter.params.provider.MethodSource was used to replace org.juit.Test in test classes run with org.junit.runners.Parameterized.
org.junit.runners.Parameterized.Parameters annotations were removed, and the methods annotated with them were written to match the signature expected of a @MethodSource.
org.junit.jupiter.api.BeforeEach was used as an drop in replacement for org.junit.Before.
org.junit.jupiter.api.AfterEach was used as a drop in replacement for org.junit.After.
org.junit.jupiter.api.Disabled was used as a drop in replacement for org.junit.Ignore.
org.junitpioneer.jupiter.DefaultLocale was used as a drop in replacement for org.apache.commons.io.testtools.SystemDefaults. This annotation comes from the JUnit Pioneer project, and while it isn't part of the actual JUnit project, it's widely accepted as an extension library for JUnit, and is used in other Apache Commons projects, such as Apache Commons Lang.

Assertions:

org.junit.jupiter.api.Assertions' methods were used as drop in replacements for org.junit.Assert's methods with the same name in the simple case of an assertion without a message.  In the case of an assertion with a message, org.junit.jupiter.api.Assertions' methods were used, but the argument order was changed - Assert's methods take the message as the first argument, while Assertions' methods take the message as the last argument.
org.junit.jupiter.api.Assertions#assertThrows was used to assert that a specific exception was throws instead of an org.junit.Test annotation with an expected argument. This technique has a side bonus of making the tests slightly stricter, as now they can assert the exception was thrown from a specific line and prevent false positives where the test's "set-up" code accidentally threw that exception. The throws clauses of these methods were cleaned up from exceptions that can no longer be thrown in order to avoid compilation warnings.
org.junit.jupiter.api.Assertions#assertTimeout was used to assert a specific block of code completes before a timeout is reach instead of an org.junit.Test annotation with a timeout argument.
org.junit.jupiter.api.Assertions#fail was used in order to explicitly fail a test instead of throwing a junit.framework.AssertionFailedError.

Assumptions

org.junit.jupiter.api.Assumptions' methods were used as drop in replacements for org.junit.Assume's methods with the same name, but the argument order was changed - Assume's methods take the message as the first argument, while Assumptions' methods take the message as the last argument.

Rules

org.junit.jupiter.api.io.TempDir was used instead of the org.junit.rules.TemporaryFolder @Rule, and the code that used them was adapted accordingly. Note that TempDir is stricter than the old TemporaryFolder rule, and will fail the test if any file in the temporary directory cannot be deleted, and thus some tests required specific changes. See 6.ii. and 6.iii. for additional details.
org.apache.commons.io.testtools.SystemDefaultsSwitch was removed from the project, and its functionality replaced by org.junitpioneer.jupiter.DefaultLocale.

Specific changes:

Parameters in JUnit Jupiter (such as those produced by MethodSource) can only be applied to @Test methods, not to other lifecycle methods, such as @BeforeEach. Thus, the design of ReversedLinesFileReaderTestParamFile had to be changed - instead of receiving constructor arguments and storing a state in data members, it was rewritten to be stateless, and manage all its resources in the single test method it has, testDataIntegrityWithBufferedReader. As a side bonus, this change allows to narrow the scope of open resources, and close them immediately after they are no longer needed, instead of preserving them in data members until the @After method is called.
TailerTest opens multiple threads that hold open descriptors on files in the temporary directory which prevent their deletion (at least in Windows), and would fail the test when migrated to @TempDir. These threads had to be explicitly closed in order to allow the tests to pass.
FileUtilsCleanDirectoryTestCase's methods testThrowsOnNullList and testThrowsOnCannotDeleteFile chmod the temporary directory and thus prevent files in it from being deleted at the end of the test. A finally block was added to these tests in order to chmod the temporary directory back to 755 and allow it to be deleted. In addition, the restriction of not running the test on Windows was changed to use JUnit Jupiter's @DisabledOnOs annotation, in order to make the test a tad easier to follow.

reviewers - the CI fails, so this PR is clearly not OK, even though the test work on my machine. Looking in to this now.

Coverage increased (+0.1%) to 89.359% when pulling 85b388a12c56c25354898b65384808b540833194 on mureinik:IO-628-jupiter-migration into<PHONE_NUMBER>afcc6faae25fa927f57df08b51612e on apache:master.

Reviewers - while disabling the JaCoCo report (change 1.iii described above) is required in order to get the jdk-ea build to pass, it seems to be a good idea regardless, as, IIUC, this report is broken on master anyway. If you prefer this patch in a separate PR, just say so.

Please try to get this to work with JaCoCo, we cannot loose this feature for our site.

Please try to get this to work with JaCoCo, we cannot loose this feature for our site.

@garydgregory as I noted, as far as I can see, the JaCoCo report is broken regardless of this PR (the master build I linked to has a bunch of the same errors).
The project reports section on the site (https://commons.apache.org/proper/commons-io/project-reports.html) doesn't have a JaCoCo report (unlike, e.g., Commons Lang), unless it's located somewhere else and I'm missing something basic.

The build you point to https://travis-ci.org/apache/commons-io/jobs/591248951 is a Java 14-EA build, I do not think we need to worry that JaCoCo does not support Java 14-EA at this point because it shadows a version of ASM that does not support Java 14-EA.

The build you point to https://travis-ci.org/apache/commons-io/jobs/591248951 is a Java 14-EA build, I do not think we need to worry that JaCoCo does not support Java 14-EA at this point because it shadows a version of ASM that does not support Java 14-EA.

@garydgregory that's a good point, thanks. I originally overlooked that. I messed around with Travis CI a bit, and redid the last patch so JaCoCo is only disabled for the JDK EA build.

Hi @mureinik,
Thank you for your update.
It seems like in TailerTest there should be a cleaner way to tear down tests than by calling Thead.interrupt(). Can org.apache.commons.io.input.Tailer.stop() be used with or without changes to Tailer to clean up tests in a nicer manner?
Gary

Hi @mureinik,
Thank you for your update.
It seems like in TailerTest there should be a cleaner way to tear down tests than by calling Thead.interrupt(). Can org.apache.commons.io.input.Tailer.stop() be used with or without changes to Tailer to clean up tests in a nicer manner?
Gary

@garydgregory The original JUnit 4 test tried doing that in the tearDown() method, which is wrong (since it's called after the temp dir deletion is attempted). Note this isn't new to JUnit Jupiter - it was too late in JUnit 4 too, but it was pretty harmless there (the deletion failed, and just silently left junk on the filesystem, whereas in Jupiter it fails the test).
By using a shared temp directory, we can delay the deletion till after the end of the entire class, and won't have to try something dirty like explicitly interrupting the thread, which would be arguably cleaner. I've updated the PR with this approach..

Hi @mureinik,
Thank you for your update.
It seems like in TailerTest there should be a cleaner way to tear down tests than by calling Thead.interrupt(). Can org.apache.commons.io.input.Tailer.stop() be used with or without changes to Tailer to clean up tests in a nicer manner?
Gary

@garydgregory The original JUnit 4 test tried doing that in the tearDown() method, which is too late (since it's called after the temp dir deletion is attempted). Note this isn't new to JUnit Jupiter - it was too late in JUnit 4 too, but it was pretty harmless there (the deletion silently failed, and just left some junk on the temp filesystem, whereas in Jupiter it fails the test).
By using a shared temp directory, we can delay the deletion till after the end of the entire class, and won't have to try something dirty like explicitly interrupting the thread, which would be arguably cleaner. I've updated the PR with this approach..

@mureinik
I still see calls to thread.interrupt();; did you forget to remove those?

Hi @mureinik,
Thank you for your update.
It seems like in TailerTest there should be a cleaner way to tear down tests than by calling Thead.interrupt(). Can org.apache.commons.io.input.Tailer.stop() be used with or without changes to Tailer to clean up tests in a nicer manner?
Gary

@garydgregory The original JUnit 4 test tried doing that in the tearDown() method, which is too late (since it's called after the temp dir deletion is attempted). Note this isn't new to JUnit Jupiter - it was too late in JUnit 4 too, but it was pretty harmless there (the deletion silently failed, and just left some junk on the temp filesystem, whereas in Jupiter it fails the test).
By using a shared temp directory, we can delay the deletion till after the end of the entire class, and won't have to try something dirty like explicitly interrupting the thread, which would be arguably cleaner. I've updated the PR with this approach..

@mureinik
I still see calls to thread.interrupt();; did you forget to remove those?

@garydgregory The original JUnit 4 test has some calls to thread.interupt() - in testTailer() and testInterrupt() which I didn't touch (as they are part fo the test logic, not the migration to Jupiter). The diff (https://github.com/apache/commons-io/pull/97/files#diff-8f25c6c9a344f344c3266085f09adeb5) doesn't contain any new calls to interrupt, unless I'm missing something really obvious. Can you elaborate what calls you mean?

Hi @mureinik,
Thank you for your update.
It seems like in TailerTest there should be a cleaner way to tear down tests than by calling Thead.interrupt(). Can org.apache.commons.io.input.Tailer.stop() be used with or without changes to Tailer to clean up tests in a nicer manner?
Gary

@garydgregory The original JUnit 4 test tried doing that in the tearDown() method, which is too late (since it's called after the temp dir deletion is attempted). Note this isn't new to JUnit Jupiter - it was too late in JUnit 4 too, but it was pretty harmless there (the deletion silently failed, and just left some junk on the temp filesystem, whereas in Jupiter it fails the test).
By using a shared temp directory, we can delay the deletion till after the end of the entire class, and won't have to try something dirty like explicitly interrupting the thread, which would be arguably cleaner. I've updated the PR with this approach..

@mureinik
I still see calls to thread.interrupt();; did you forget to remove those?

@garydgregory The original JUnit 4 test has some calls to thread.interupt() - in testTailer() and testInterrupt() which I didn't touch (as they are part fo the test logic, not the migration to Jupiter). The diff (https://github.com/apache/commons-io/pull/97/files#diff-8f25c6c9a344f344c3266085f09adeb5) doesn't contain any new calls to interrupt, unless I'm missing something really obvious. Can you elaborate which calls you're referring to?

@mureinik ,
Ah, I incorrectly assumed that your change would remove all calls to thread.interupt() - in testTailer(). If they were already there, it fair to leave them as is for now. I will complete the review tonight.


Consider force-disabling autocorrect to speed up testing

How to reproduce:

reach http://<IP_ADDRESS>:5000 (currently on Safari on the latest stable macOS)
input getcredit X or getbalance X
text is autocorrected to get credit X or get balance X due to autocorrect

Expected behaviour:

text would be kept at getcredit X

I completely understand this is all happening on the client side and that the autocorrection happening is in no way pushed by the test interface itself, however if possible I suggest to disable autocorrect via javascript to enable faster typing while testing.
Feel free to close and disregard if you don't see this ticket fit for purpose.
Thanks,
GM

Thanks for this! Was good to report it! autocorrect="off" did the trick!


Project Console - UI hangs with spinning icon when trying to edit CLA group with duplicate CLA group name

Background

Launch Project Management Console
Login
Click on the foundation
Click on Configuration icon for any cCLA group
Enter any existing CLA Group name
Click Save
UI hangs with spinning icon. However observed that API call fails with 409 which is as expected

Verified and observed that the issue is fixed

Verified and working fine

The old console is deprecated and removed.


whisper-ctranslate2: 0.4.6 -> 0.5.1

Things done

python312Packages.faster-whisper: unstable-2024-07-26 -> 1.1.0
whisper-ctranslate2: 0.4.6 -> 0.5.1

cc @hexa @happysalada

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 366443

x86_64-linux

:white_check_mark: 10 packages built:

open-webui
open-webui.dist
python311Packages.faster-whisper
python311Packages.faster-whisper.dist
python312Packages.faster-whisper
python312Packages.faster-whisper.dist
whisper-ctranslate2
whisper-ctranslate2.dist
wyoming-faster-whisper
wyoming-faster-whisper.dist

aarch64-linux

:white_check_mark: 8 packages built:

python311Packages.faster-whisper
python311Packages.faster-whisper.dist
python312Packages.faster-whisper
python312Packages.faster-whisper.dist
whisper-ctranslate2
whisper-ctranslate2.dist
wyoming-faster-whisper
wyoming-faster-whisper.dist

x86_64-darwin

:fast_forward: 2 packages marked as broken and skipped:

open-webui
open-webui.dist

:white_check_mark: 6 packages built:

python311Packages.faster-whisper
python311Packages.faster-whisper.dist
python312Packages.faster-whisper
python312Packages.faster-whisper.dist
wyoming-faster-whisper
wyoming-faster-whisper.dist

aarch64-darwin

:white_check_mark: 10 packages built:

open-webui
open-webui.dist
python311Packages.faster-whisper
python311Packages.faster-whisper.dist
python312Packages.faster-whisper
python312Packages.faster-whisper.dist
whisper-ctranslate2
whisper-ctranslate2.dist
wyoming-faster-whisper
wyoming-faster-whisper.dist


add priority for app

LGTM

Current coverage is 44.31% (diff: 66.66%)

Merging #207 into master will increase coverage by 0.22%

@@             master       #207   diff @@
==========================================
  Files            11         11
  Lines          8923       8925     +2
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           3934       3955    +21
+ Misses         3938       3927    -11
+ Partials       1051       1043     -8

Powered by Codecov. Last update 6207447...eb8f95f


Created/Updated timestamps were not persisted to the database.

See http://anshuiitk.blogspot.ca/2010/11/hibernate-pre-database-opertaion-event.html.
Fix has been applied.

Coverage remained the same at 100.0% when pulling d3885aca0ca291cf3178256aff8936bd0cd876d4 on feature/fix_create_listener into 776c996d8d65d94de2c28ad9e711e1a7bf15b94b on develop.


Capability attribute for availability of configuring the server IP address

Problem: Some implementations don't allow freely choosing the IP address of the server targeted by the FTP of the backup file. For avoiding the validation to fail a Capability attribute might be added.

Proposal to the LF ONMI x-haul call on 15th of January 2025:
An additional BackupAndRestoreCapability :: destinationIpConfigurationIsAvail : Boolean = false [1] attribute shall be added.
It shall be equipped with the comment "If true, the device supports defining the IP address of the server for saving the backup file during calling the backupSystem RPC".


Add kafka-payload-processor shaded module

Fixes https://github.com/streamnative/kop/issues/958
Motivation
Current kafka-payload-processor dependency is not compatible with pulsar-client dependency.
Modifications

Change the original kafka-payload-processor artifact id to kafka-payload-processor-original, which is compatible with pulsar-client-original dependency.
Add a new module kafka-payload-processor-shaded whose artifact id is kafka-payload-processor. This module is compatible with pulsar-client dependency.
Add a new module kafka-payload-processor-shaded-tests that contains a basic test for artifact kafka-payload-processor with pulsar-client dependency.

Now this PR is ready to review, PTAL @Demogorgon314


I propose to add a type for the Buffer file

I pass Buffer to Upload and it works for me, but I use typescript and it tells me that the type cannot be Buffer. If Upload takes Buffer type please fix it. Thank you for understanding.

I agree, we should also cover the Buffer type and not only Blob from the browser: https://github.com/tus/tus-js-client/blob/1db985ac2a1531184a26e3e989de4a2d2f90a823/lib/index.d.ts#L9
Would you be willing to open a PR for this?


Hypervisor chapter uses term HSLEN but I think it means HSXLEN

Quote from chapter below. Should be HSXLEN, not HSLEN I believe.
The hstatus register is an HSXLEN-bit read/write register formatted as shown in Hypervisor status register (hstatus) when HSLEN=32 when HSXLEN=32 and Hypervisor status register (hstatus) when HSXLEN=64. when HSXLEN=64. The hstatus register provides facilities analogous to the mstatus register for tracking and controlling the exception behavior of a VS-mode guest.
Hypervisor status register (hstatus) when HSLEN=32
images/bytefield/hstatusreg-rv32.edn

You're correct re the "HSLEN" typo.  Please go ahead and create a PR to fix that.  Thanks.

Cool! My first PR against the new ISA manuals!


Issue#14 fixing code smells

Hi matthew-mcateer, I have tried to solve some code on issue#14, please check it out

Thank you for working on this, @viktoriussuwandi . Let me review this when I wake up.


Update for CUDA 12.4.0

xref: https://github.com/conda-forge/cuda-feedstock/issues/17

@conda-forge-admin, please rerender

This did not build on main on either Azure or Travis CI. Have started two builds:

https://app.travis-ci.com/github/conda-forge/cuda-nvprune-feedstock/builds/269313757
https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=890692&view=results

It looks like packages are up. Though do see CI still running. It may have been accidentally started twice

Remaining CI job timed out in the queue so was marked as errored. Have restarted and it passed in short order (queue usage is much lower)
This should now be complete


Add pretty-print in Json and XMLPath

From<EMAIL_ADDRESS>on January 15, 2012 17:56:24
E.g.
String pretty = from(xml).prettyPrint();
Original issue: http://code.google.com/p/rest-assured/issues/detail?id=147

From<EMAIL_ADDRESS>on January 16, 2012 00:13:20
Also add prettify() method that returns the xml as a prettified string without printing it to the console

From<EMAIL_ADDRESS>on January 16, 2012 02:20:20
Status: Started

From<EMAIL_ADDRESS>on January 16, 2012 02:29:55
Status: Fixed


Active page doesn't change

<paginate
              :page-count="pageCount"
              :click-handler="fetchUsers"
              :force-page="currentPage"
              :prev-text="'>'"
              :next-text="'<'"
              :container-class="'pagination'"
              :page-class="'page-item'">
</paginate>

when fetchUsers is done, pageCount and currentPage will be updated but the active page is still the first page, it should be currentPage.
Do I miss some thing?

Page count should be static - passed once.
If you using route depended initial page number and also modify externally current page you should use :force-page
Page count shoud be calculated somehow in that way:
Math.ceil(users.totalCount/pageLimit)

Just define the v-model for pagination.
Please see : https://github.com/lokyoung/vuejs-paginate/issues/85

I have already used v-model but if I change the v-model with other method than using :click-handler method it didn't change the active page.
<paginate v-if="isPaginationActive"                           :page-count="participantDetail.last_page"                           :click-handler="paginationClickParticipant"                           :prev-text="'Sebelumnya'"                           :next-text="'Selanjutnya'"                           :container-class="'pagination'"                           :page-class="'page-item'"                           :page-link-class="'page-link'"                           :prev-class="'page-item'"                           :prev-link-class="'page-link'"                           :next-class="'page-item'"                           :next-link-class="'page-link'"                           v-model="pageNumber[0]"                           >

@trandaison @ojczeo @sreecodeslayer @ditorahard Please try v2.1.0. Now it support no v-model binding. Any questions please reopen this issue. Thanks!


fix: allow setup-cluster.sh to work with containerd

This fixes an error in setup-cluster.sh create -r when used with
the latest version of Docker Desktop and contained beta feature enabled.
$ docker push <IP_ADDRESS>:5000/fluentd-kubernetes-daemonset:local
4f3d1761e838: Waiting
458526b2e326: Waiting
c783e3bff97b: Waiting
missing content: content digest sha256:458526b2e326a53cbb5e2b6ba41401f0d21d06cbefe8581252c61c73ebc98783: not found
Note: You're trying to push a manifest list/index which references multiple platform specific manifests, but not all of them are available locally or available to the remote repository.
Make sure you have all the referenced content and try again.

Added another fix for the latest Docker Desktop.
• [FAILED] [1.109 seconds]
Guess the correct version of a postgres image [It] can pull the default image
/Users/mnencia/prj/cnpg/tests/utils/version_test.go:42

  [FAILED] while pulling ghcr.io/cloudnative-pg/postgresql:15.3
  Expected
      <string>:
      What's Next?
        View summary of image vulnerabilities and recommendations → docker scout quickview ghcr.io/cloudnative-pg/postgresql:15.3

  to be empty
  In [It] at: /Users/mnencia/prj/cnpg/tests/utils/version_test.go:47 @ 06/30/23 16:27:49.079


RecordInterceptor lifecycle is wrong if record filtered

In what version(s) of Spring for Apache Kafka are you seeing this issue?
2.8.6
Describe the bug
We are using RecordInterceptor to the instrument and measure Kafka handlers. If you are skipping record (by returning null from intercept) rest lifecycle methods success/failure/afterRecord will never be called.
To Reproduce
Create an always skipping record interceptor.
Expected behavior
I expect the same lifecycle for all cases: intercept + (failure OR success) + afterRecord.

It might be related to earlyInterceptionLogic

Lifecycle without early interceptor:
invoke(record) (returns null)
success(record) (not null record, even if invoke returned null)
afterRecord(record) (not null record, even if invoke returned null)

Lifecycle with early interceptor:
invoke(record) (returns null)

There is one more problem related to this.
Let's imagine you have 2 interceptors returning always null combined using CompositeRecordInterceptor.
intercept method will handle only the first one, but other lifecycle methods success/fail/afterRecord will be called for both. It might be harmful if you rely on lifecycle (use thread local to measure execution time for example).


Allow for underscore in GitHub team slugs

If a GitHub team has an underscore in the team name, that underscore is present in the slug utilized by the GitHub API. Therefore, it should not be replaced with a hyphen when using variables such as admin_teams

ci fails as it runs without credentials.. we will migrate it and merge it in a local PR

You're welcome and thank you @mariux

merged in #80


Support Signature

To defense a man-in-the-middle attack.

Committed some code to calculate a signature. #145