Add support for a Python language server

Is the LSP (and plugin) support at a good point to add additional language servers? I've been looking at lapce-rust, and was wondering if that is the right place to start. I think VSCode is using pylance.

Quote from your link: The Pylance codebase is not open-source
AFAIK most open-source editors use jedi.

Very good point, I missed that! 100% agree an open-source language server is the way to go.

Hello, Lapce currently handles LSP servers. If Jedi is compatible with the LSP protocol, creating a plugin should not be too hard. There are no documentation yet as the plugin system is not mature, but you can find a simple example by following the rust plugin

Do you know where in Lapce you have to register a new plugin? Since the plugin seems to be just another Github repository, I was expecting to find "lapce-rust" in the code, but I don't see it.

The plugins are referenced here. For local development though, every plugins in ~/.lapce/plugins/ will be loaded at runtime.
You can find information on how to configure the Golang plugin I wrote on this PR. You can just change my plugin by yours or a fork of either my plugin or the rust one and it should work!

Not to admit I have no idea what I'm doing, but what is the target you specify for wasm-pack build?

You have different way to do this, but here are the 2 main ones I've been using:

plain old print of the handle_message function: going up the commits of my PR should show you which function I'm talking about.
a lot of LSP servers have a logfile option ( that you can see on the plugin.toml of the go plugin!). Every data received and sent between the LSP server and client ( lapce ) will be written.

Jedi has a command line option to redirect the logs to a file, and I'll set that up. I was wondering more about how does Lapce know to talk to the LSP server. I thought the master branch had basic LSP support to utilize the Rust plugin, but do I need to use your PR? Does Lapce just reach out to an expected server port on localhost if the language_id in start_lsp for the opened file matches?

Master branch does have basic support for LSP servers, mature enough to make rust-analyzer working. When the plugin starts, one of the commands that can be used is start_lsp (see this example). Lapce sets creates a new process using the binary you provided in the command and communicates using jrpc over stdout / stdin of the process. To my knowledge there is no support for a specific file descriptor other than stdout / stdin as of now.
You might not have to use my PR: one of the fixes on it involves the hand of the LSP handshake connection (specifically, on master Lapce does not sends the initialized messages.). Rust analyzer does not care about the answer and starts working, but gopls stops working and soft locks while the handshake is not finalized. I would tend to say this is the correct behavior and rust analyzer is in the wrong but it's another subject. The point is, if you encounter softlock very soon after the capabilites response, it might be worth checking my PR. Keep in mind that I'm planning on closing and reopening a new one very soon as the branch is over a month old (way before 0.1), and a lot of important changes happened since then.

I cleaned the PR, that you can find here if you encounter soft locks and you think it might come from lapce's LSP side

I didn't have any signs of life until I pulled from your PR, and then it's up to something!
lsimons@bestever:~/workspace/lapce/target/release$ ./lapce
Starting lapce-python plugin!
Starting lapce-python plugin!
Received message! {"jsonrpc": "2.0", "id": 0, "result": {"capabilities": {"textDocumentSync": {"openClose": true, "change": 2, "willSave": null, "willSaveWaitUntil": null, "save": true}, "completionProvider": {"triggerCharacters": [".", "'", "\""], "resolveProvider": true}, "hoverProvider": true, "signatureHelpProvider": {"triggerCharacters": ["(", ","]}, "definitionProvider": true, "referencesProvider": true, "documentHighlightProvider": true, "documentSymbolProvider": true, "codeActionProvider": {"codeActionKinds": ["refactor.inline", "refactor.extract"]}, "renameProvider": true, "executeCommandProvider": {"commands": []}, "workspaceSymbolProvider": true, "workspace": {"workspaceFolders": {"supported": true, "changeNotifications": true}, "fileOperations": {}}}}}
Received message! {"jsonrpc":"2.0","id":0,"result":{"capabilities":{"textDocumentSync":{"openClose":true,"change":2,"save":{}},"selectionRangeProvider":true,"hoverProvider":true,"completionProvider":{"resolveProvider":true,"triggerCharacters":[":",".","'"]},"signatureHelpProvider":{"triggerCharacters":["(",",","<"]},"definitionProvider":true,"typeDefinitionProvider":true,"implementationProvider":true,"referencesProvider":true,"documentHighlightProvider":true,"documentSymbolProvider":true,"workspaceSymbolProvider":true,"codeActionProvider":{"codeActionKinds":["","quickfix","refactor","refactor.extract","refactor.inline","refactor.rewrite"],"resolveProvider":true},"codeLensProvider":{"resolveProvider":true},"documentFormattingProvider":true,"documentRangeFormattingProvider":false,"documentOnTypeFormattingProvider":{"firstTriggerCharacter":"=","moreTriggerCharacter":[".",">","{"]},"renameProvider":{"prepareProvider":true},"foldingRangeProvider":true,"declarationProvider":true,"workspace":{"fileOperations":{"willRename":{"filters":[{"scheme":"file","pattern":{"glob":"**/*.rs","matches":"file"}},{"scheme":"file","pattern":{"glob":"**","matches":"folder"}}]}}},"callHierarchyProvider":true,"semanticTokensProvider":{"legend":{"tokenTypes":["comment","keyword","string","number","regexp","operator","namespace","type","struct","class","interface","enum","enumMember","typeParameter","function","method","property","macro","variable","parameter","angle","arithmetic","attribute","attributeBracket","bitwise","boolean","brace","bracket","builtinAttribute","builtinType","character","colon","comma","comparison","constParameter","derive","dot","escapeSequence","formatSpecifier","generic","label","lifetime","logical","macroBang","operator","parenthesis","punctuation","selfKeyword","selfTypeKeyword","semicolon","typeAlias","toolModule","union","unresolvedReference"],"tokenModifiers":["documentation","declaration","definition","static","abstract","deprecated","readonly","defaultLibrary","async","attribute","callable","constant","consuming","controlFlow","crateRoot","injected","intraDocLink","library","mutable","public","reference","trait","unsafe"]},"range":true,"full":{"delta":true}},"inlayHintProvider":{"resolveProvider":true},"experimental":{"externalDocs":true,"hoverRange":true,"joinLines":true,"matchingBrace":true,"moveItem":true,"onEnter":true,"openCargoToml":true,"parentModule":true,"runnables":{"kinds":["cargo"]},"ssr":true,"workspaceSymbolScopeKindFiltering":true}},"serverInfo":{"name":"rust-analyzer","version":"7e95c14ea 2022-05-17 stable"}}}
[ERROR rust_analyzer] failed to find any projects in [AbsPathBuf("/home/lsimons/workspace/pyart/")]
[ERROR rust_analyzer::lsp_utils] rust-analyzer failed to discover workspace
Received message! {"jsonrpc":"2.0","method":"window/showMessage","params":{"type":1,"message":"rust-analyzer failed to discover workspace"}}
Received message! {"jsonrpc":"2.0","id":0,"method":"window/workDoneProgress/create","params":{"token":"rustAnalyzer/Fetching"}}
Received message! {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Fetching","value":{"kind":"begin","title":"Fetching"}}}
Received message! {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Fetching","value":{"kind":"end"}}}
Received message! {"jsonrpc":"2.0","method":"experimental/serverStatus","params":{"health":"ok","quiescent":true,"message":null}}
Received message! {"jsonrpc":"2.0","id":1,"method":"window/workDoneProgress/create","params":{"token":"rustAnalyzer/Indexing"}}
Received message! {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"begin","title":"Indexing","percentage":0}}}
Received message! {"jsonrpc":"2.0","method":"$/progress","params":{"token":"rustAnalyzer/Indexing","value":{"kind":"end"}}}
[ERROR rust_analyzer] Unexpected error: client exited without proper shutdown sequence
client exited without proper shutdown sequence
[ERROR rust_analyzer] Unexpected error: expected initialize request, got error: receiving on an empty and disconnected channel
expected initialize request, got error: receiving on an empty and disconnected channel

The really weird thing is that it seems to be trying to use rust_analzyer, which means maybe I don't understand how language IDs work. I'm stuck out of town for a bit and we'll get back to it next week. I appreciate all the help!

Yeah language ID is not very important ( yet ?). Lapce does not handle lazy loading of plugins ( yet ?) Which means rust analyzer will always launch, and in your case fail, but that's expected as the project you opened is not a rust project!
What I like to do is to filter the messages to print using the language ID ( `if ID == "python" print message ) to make sure there are no false positives.
Unless I'm distracted, I don't see any python logs after "starting Lapce python plugin , which seem to indicate your python server did not start properly, or is not an LSP server. A quick Google search shows that there is a Jedi LSP plugin on top of Jedi, is that what you used ?

I'm using jedi-language-server.
The thing that gave me hope that it's being started is that it creates the log-file specified in plugin.toml. Also, the plugin used to panic until I started using the (gross) absolute path to the language server executable. I agree, though, that there is no activity in that terminal output, and the log file is empty.
I don't think I turned on any extra logging, so maybe the more verbose information is a result of building from your PR?

Hmm, this might be linked. Unfortunately, I won't be able to help you more unless I resort to trying it myself, which I won't have time for now sorry. If the log file is created then yes it should run, perhaps you need to enable verbose for the language server?


suggestion: ability to list and remove snapshots usign tugboat

If this is already in the works that would be wonderful. If someone is already working on this feel free to comment here.
It would be nice if the ability to list and remove  snapshots of a droplet  using the tugboat app as the site is workable for me but annoying to work with from an accessibility stand point, plus the command line is better for me to see if something broke.
Thoughts?

I second this. I'd love to be able to script both the creation and the deletion of snapshots.

Hi all! I havent had a good hack session in a while, so ill see if i can get a basic implementation done possibly over this weekend, no promises! 😄

This is currently blocked by https://github.com/blom/barge/issues/18, need to implement Snapshot API stuff in barge! 👍


Simplify should strip unused class

Describe the feature
When simplifying, it will remove a function() definition that isn't used, but it won't remove a class definition.
Babel plugin or link to the feature description
No response
Additional context
This is what I'm using to call simplifier:
	program.mutate(&mut simplify::simplifier(
		unresolved_mark,
		simplify::Config {
			dce: simplify::dce::Config {
				preserve_imports_with_side_effects: false,
				..Default::default()
			},
			..Default::default()
		},
	));

You should use minifier, because simplifier does not analyze vars

Can you share the input?

Hi @kdy1,
this is what remains of some example code I used after running simplifier:
import { serverQrl } from<EMAIL_ADDRESS>import { _noopQrlDEV } from<EMAIL_ADDRESS>import { componentQrl } from<EMAIL_ADDRESS>import { qrlDEV } from<EMAIL_ADDRESS>import { createConnectTransport } from "@connectrpc/connect-node";
import { createPromiseClient } from "@connectrpc/connect";
import { SomeService } from "~/generated/some/v1/service_connect";
class Grpc {
    static transport = createConnectTransport();
    static service = createPromiseClient(SomeService, this.transport);
}
export const fooServerFunc = serverQrl(/*#__PURE__*/ _noopQrlDEV("fooServerFunc_server_csCvCkREsB4", {
    file: "/user/qwik/src/test.tsx",
    lo: 0,
    hi: 0,
    displayName: "test.tsx_fooServerFunc_server"
}));
export default /*#__PURE__*/ componentQrl(/*#__PURE__*/ qrlDEV(()=>import("./test.tsx_test_component_LUXeXe0DQrg"), "test_component_LUXeXe0DQrg", {
    file: "/user/qwik/src/test.tsx",
    lo: 626,
    hi: 743,
    displayName: "test.tsx_test_component"
}));

Ideally it would only be
import { serverQrl } from<EMAIL_ADDRESS>import { _noopQrlDEV } from<EMAIL_ADDRESS>import { componentQrl } from<EMAIL_ADDRESS>import { qrlDEV } from<EMAIL_ADDRESS>export const fooServerFunc = serverQrl(/*#__PURE__*/ _noopQrlDEV("fooServerFunc_server_csCvCkREsB4", {
    file: "/user/qwik/src/test.tsx",
    lo: 0,
    hi: 0,
    displayName: "test.tsx_fooServerFunc_server"
}));
export default /*#__PURE__*/ componentQrl(/*#__PURE__*/ qrlDEV(()=>import("./test.tsx_test_component_LUXeXe0DQrg"), "test_component_LUXeXe0DQrg", {
    file: "/user/qwik/src/test.tsx",
    lo: 626,
    hi: 743,
    displayName: "test.tsx_test_component"
}));

That's because your class definition contains static initialization that may contain side effect.
    static transport = createConnectTransport();
    static service = createPromiseClient(SomeService, this.transport);

class Grpc {
    static transport = createConnectTransport();
    static service = createPromiseClient(SomeService, this.transport);
}

This class declaration contains static class prop initializations which may contains side effect. So I think it should not be removed. For example:
 function f() {
    console.log(1)
}

class A {
    static a = f()
}

// Output: 1

@CPunisher :facepalm: you're right! This is code with side-effects and as such should not be removed.
I tested it without the statics and the class is removed. @kdy1 so it's already working as it should, sorry for bothering you.


Shall move to IPFS Shipyard org?

I am not sure how active this project is, but I see the issue tracker might use some triaging.
In any case, if this is not actively maintained, I'd like to move it to the ipfs-shipyard org, as it may be a better place.
Thoughts? I will proceed with this if no-one reacts in a couple of weeks.

/remind me to circle back in 2 weeks.

Hi @hsanjuan, I'm the author of this and yes my spare time is limited these days. However, I could devote the time to update this to the latest APIs in ipfs and incorporate what we've learned from using it in Peergos over the years. Would Protocol Labs be interested in sponsoring this work? @momack2

Thanks for the suggestion! Is this on the order of magnitude of a bounty or devgrant (https://github.com/ipfs/devgrants)? There is significant interest from folks in Android-compatible APIs for IPFS - are there useful tweaks we could add with that in mind?
Note - we're releasing ipfs 0.5.0 in the next few weeks, so probably best to wait for those changes before bubbling things up...


Fix jsHint

@lilleyse This should be the pretty quick. The encodeImages pull request had a jsHint error when we merged it in.

I'm going to go ahead and merge this in to get the build passing again


Need to implement versioning for serialization data

Is there any way to get version of serialized data?

I think i'll add this info with serializing and deserialized callbacks. As parameter.


Add statistics about the ads played

Add statistics about the ads played.
I expect two statistics:

Number of ads started
Number of ads played completely

The number may not be the same because some ads may be skipped by the user.

The PR https://github.com/google/shaka-player/pull/2382 resolves it

@ismena I think that this issue is covered with all change in the master. Can you close it and put the version 2.6?


Remove use MakeAssigneeList in webhooks

The webhooks currently use a call to MakeAssigneeList to get the assignees of an issue - however, this causes an SQL deadlock due to use of models.x whilst in a transaction. This call is unnecessary as the assignees are actually provided in the api.PullRequest.
Fix #6088
Signed-off-by: Andrew Thornton<EMAIL_ADDRESS>
Ceterum autem censeo x exempla monstrabit esse delendam.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@8d3bb86). Click here to learn what that means.
The diff coverage is 0%.

@@            Coverage Diff            @@
##             master    #6102   +/-   ##
=========================================
  Coverage          ?   38.86%
=========================================
  Files             ?      345
  Lines             ?    49510
  Branches          ?        0
=========================================
  Hits              ?    19241
  Misses            ?    27486
  Partials          ?     2783

Impacted Files
Coverage Δ

models/webhook_dingtalk.go
0% <0%> (ø)

models/webhook_discord.go
1.39% <0%> (ø)

models/webhook_slack.go
0% <0%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8d3bb86...ff3b664. Read the comment docs.


Propagating exceptions from JS through Python to JS has a memory leak

The following test leaks memory:
it('catching JS exceptions propagated through Python', () => {
  const fn = PyObject.fromJS(() => {
    throw new Error('JS exception');
  });

  assert.isTrue(fn.callable);
  assert.equal(fn.type, 'pymport.js_function');

  const py_catch = pymport('python_helpers').get('dont_catch_exception');

  assert.throws(() => {
    py_catch.call(fn);
  }, /Python exception: JS exception/);
});

Happens only with the fastcall protocol on Python > 3.9

This test does not have the leak:
it'catching JS exceptions propagated through Python', () => {
  const fn = PyObject.fromJS(() => {
    throw new Error('JS exception');
  });

  assert.isTrue(fn.callable);
  assert.equal(fn.type, 'pymport.js_function');

  const py_dont_catch = pymport('python_helpers').get('dont_catch_exception');

  try {
    py_dont_catch.call(fn);
  } catch { }
});

However this one does:
it('catching JS exceptions propagated through Python', () => {
  const fn = PyObject.fromJS(() => {
    throw new Error('JS exception');
  });

  assert.isTrue(fn.callable);
  assert.equal(fn.type, 'pymport.js_function');

  const py_dont_catch = pymport('python_helpers').get('dont_catch_exception');

  try {
    (() => {
      py_dont_catch.call(fn);
    })();
  } catch (e: any) {
    assert.match(e.toString(), /Python exception: JS exception/);
  }
});


Responsive Image height and width

Heya,
I'm currently trying to setup a woocommerce shop with the foundationpress theme. Since a few days there is an issue regarding the new lightbox (photoswipe) wich woocommerce implemented in version 3.
Now the photoswipe plugin is trying to determine height and width of images on the single-product page.
What happens is when you enable the following theme support the zoom function breaks and the user is stuck in the zoom mode because no buttons work on the overlay.
add_theme_support( 'wc-product-gallery-zoom' );
add_theme_support( 'wc-product-gallery-lightbox' );
add_theme_support( 'wc-product-gallery-slider' );

This happens because inside the repsonsive-images.php there is this function wich removes the height and the width.
This one to be more specific:
// Remove inline width and height attributes for post thumbnails
function remove_thumbnail_dimensions( $html, $post_id, $post_image_id ) {
	$html = preg_replace( '/(width|height)=\"\d*\"\s/', '', $html );
	return $html;
}
add_filter( 'post_thumbnail_html', 'remove_thumbnail_dimensions', 10, 3 );

This raises an error in the console with the following message:
Uncaught TypeError: Cannot read property 'x' of undefined
Wich is really fague and frustrating to deal with. After debugging and trying to locate the error I found out that in woocommerce assets (/js/frontend/single-product.js) the ProductGallery is trying to locate the width and height of the through attributes. Here is the snippet doing it. Can be found on line 219 in single-product.js
ProductGallery.prototype.getGalleryItems = function() {
	var $slides = this.$images,
	items   = [];
	if ( $slides.length > 0 ) {
		$slides.each( function( i, el ) {
			var img = $( el ).find( 'img' ),
				large_image_src = img.attr( 'data-large_image' ),
				large_image_w   = img.attr( 'data-large_image_width' ),
				large_image_h   = img.attr( 'data-large_image_height' ),
				item            = {
					src: large_image_src,
					w:   large_image_w,
					h:   large_image_h,
					title: img.attr( 'title' )
				};
                 items.push( item );
	    } );
	}

	return items;
};

The properties large_image_w and large_image_h are both undefined for the image wich is shown directly on the single-product page.
Anyway I'm not sure if the removal of the width and height is neccesary, because my images remain responsive in my Woocommerce instance. However I don't know if this applies to everybody in other cases.
Hope this helps somebody if they run in the same issue as I did.
Keep up the great work with this theme, it really helped me develop my shop!

Just ran into this issue and was going to report it but glad to see someone else found it as well.
The new Woocommerce 3.0 lightbox was broken giving me the "Cannot read property 'x' of undefined".
Ended up disabling the "remove_thumbnail_dimensions" filter for now. It could possibly be wrapped in a "! is_woocommerce()" conditional if still needed elsewhere.

Any fixes for this? I'm having display issues - found this trying to find a solution
I’m having trouble with mobile display blowing out the image and people can’t see the content. I have two similar sites and updated/added the coding to update the images to 3.0 – StudioPres – one using enterprise pro (no problem) & one using Digital Pro (problem)

– DigitalPro – blows out the image.

– EnterprisePro – shows it correctly.
The structure and adding woocommerce support in the child theme with product-attributes.php is done -Both of these were upgraded to Woo 3.0 with same coding added to functions.php and style.css – I’ve gone through the coding on both to see what might be missing – changed @media sizing to be the same – no luck. Any advice? guidance? TIA!
http://specializedsaddles.com/store/product/eurolight-saddle/

It seems that you have width set to 100% inside the style.css
@media only screen and (max-width: 600px) {
	div {
		width: 100% !important;
		float: left;
	}
	.woocommerce div.product .product_title, .woocommerce div.product div[itemprop="description"], .woocommerce div.product div[itemprop="offers"], .woocommerce div.product .button.summary, .woocommerce div.product .woocommerce-tabs {
		width: 100% !important;
	}

I think this is cause your issue.

Seems like you have answered your own question and fixed it yourself by tweaking the remove_thumbnail_dimensions function.


slang-llvm support for ARM

Currently the slang project builds LLVM binaries, that are used to build slang-llvm, which is the preferred mechanism for JIT CPU code.
We build LLVM for the follow targets

Linux x64
MacOS x64
Win x86
Win x64

Supporting ARM would broaden the usefulness of the capability. The actual ask is for linux primarily. In order of decreasing importance...

Linux
MacOS (ideally we'd build a "universal" binary, but that isn't essential)
Windows

Now that we have github actions set up for arm64 on our self-hosted server, using it to build llvm should be possible.

Tentatively putting as nice to have for Q2, but may adjust based on which customers need it

Move to backlog. No customer requests for this feature.


PHP 7.4 Support

This is ready to be merged now.

This is ready to be merged now. 🚀

Ping @m1guelpf.


HTTP 307 Redirect: Authentication information is not forwared

Expected Behavior
We call a REST URL via HTTP GET with the Authorization: Bearer header. As a response we get an HTTP 307 redirect to a different page. We would expect that all headers including the Authorization: Bearer header are forwarded to the new URL and that the correct response from the new URL is returned
Actual Behavior
The actual behavior is that the redirect to the new URL is performed and all headers except the Authorization: Bearer header are forwarded. However, as the new page is requiring authentication in the same way as the original URL, the call fails with an HTTP 401 error.
Reproduction Steps
The API is not public - therefore I cannot describe how somebody else could reproduce the issue.
Is there an existing issue for this?

[X] I have searched the issue tracker for this problem.

Additional Information
No response
Insomnia Version
2023.4.0
What operating system are you using?
macOS
Operating System Version
Ventura 13.4.1
Installation method
Downloaded from the Insomnia page
Last Known Working Insomnia version
No response

Is this on the roadmap? We are also facing this issue.


Add 'Ping' or 'Wake Instance' as a Schedule Task

Set up the ability to Ping as a Task
Feature Information:
I run a network of Minecraft servers behind a Velocity Proxy. Thanks to AMPs amazing configurations, I set all of my servers up to Sleep to save resources EXCEPT for my Hub World, which is always up for players to connect to. Currently, players can travel through portals to each other Networked Server in my AMP instance with the use of a plugin, but unfortunately its a bit of a rough wait as each server they try to join has to wake up before they can be sent through a portal.
If we were able to Ping another instance or an IP, much like the POST/GET request Tasks, then we would be able to enhance the UX by waking up each networked server using the "A Player joins the server" Trigger in the Hub server.
I confirm:

[x] that I have searched for an existing feature request matching the description.

I'm sure you've thought of this, but this would cause a huge spike in CPU and RAM usage as all your worlds would wake up at once until they fall back asleep.

Running the "Start" task will wake the server. You could invoke AMPs API via a plugin on the hub server to cause it to wake up other instances.


fix(grafana): grafana patch 8.0.3 to 8.0.7 for CVE-2021-43798

In CVE-2021-43798 a solution is given for the vulnerability in current grafana version. The image
has to be upgraded to 8.0.7 asap
Checklist

[ ] Architecture Design Records have been added as adr/*.md and appended to list in adr/_index.md.
[ ] The values-schema.yaml file and test/** fixtures have been updated to reflect code changes.
[ ] The OpenApi Schema from redkubes/otomi-api project is compatible with definitions from values-schema.yaml file.

But that is a matter of resetting the cluster state @j-zimnowoda . The code is ok now

What I mean to say is that the manifests for teams also use the same image tag...so the fact that the operators are not yet updated is a matter of reconciliation


WIP: Expose data-flow information in Telamon

Telamon's IR currently represents values as instruction inputs with ir::Operand.
Unfortunately, this does not allows us to manipulate decisions about operands and to
reason about the data flow in the program. This PR introduces a new type ir::Value
that represents a value stored in a variable. It lays the foundations for #41.
This PR is a work in progress, do not merge

Covered by #113


creep.findRemote() not check blocked path

Often creep.findRemote() returns and asign a remote room to the hauler which is at the end not reachable by the path. So the hauler never recycle and blocks the commune, because it has a RN but find no path to it.
The function need to check if the remote room is reachable by path and not blocked by abandon rooms form like invaders.

The commune periodically checks if remotes are accessible. It should be sufficient. Checking every time a creep wants the remote seems excessive

Yea, but at the moment we never check or delete RN. So the creeps will all hang inside the commune of their remote isn't accessible anymore.

Stale, re-open if issue persists


feat: add googlepubsub bindings for v3

Adds support for googlepubsub bindings to v3 based on https://github.com/asyncapi/bindings/pull/213

/rtm


Failed to use portName in EnvoyFilter.RouteConfigurationMatch

Is this the right place to submit this?

[X] This is not a security vulnerability or a crashing bug
[X] This is not a question about how to use Istio

Bug Description
Hi all,
I deployed the BookInfo application in the bookinfo namespace and created the associated BookInfo Gateway following this guide https://istio.io/latest/docs/examples/bookinfo/
Command I used
kubectl create ns bookinfo
kubectl label namespace bookinfo istio-injection=enabled
kubectl apply -n bookinfo -f samples/bookinfo/platform/kube/bookinfo.yaml
kubectl apply -n bookinfo -f samples/bookinfo/networking/bookinfo-gateway.yaml

So far so good, all functions worked as expected. Then, I tried to create an EnvoyFilter only applies to the bookinfo-gateway with the following yaml
apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: bookinfo-gateway-metadata
  namespace: istio-system
spec:
  workloadSelector:
    labels:
      istio: ingressgateway
  configPatches:
  - applyTo: HTTP_ROUTE
    match:
      context: GATEWAY
      routeConfiguration:
        portNumber: 80
        portName: "http" # L11 of https://raw.githubusercontent.com/istio/istio/release-1.16/samples/bookinfo/networking/bookinfo-gateway.yaml
    patch:
      operation: MERGE
      value:
        metadata:
          filter_metadata:
            envoy.filters.http.lua:
              foo: "bar"

I searched the foo value from the generated proxy config via istioctl proxy-config route -n istio-system istio-ingressgateway-566c5fc9cd-vmtks -o yaml | grep foo but found nothing.
I also tried to add a routeConfiguration.gateway with following yaml
...
    match:
      context: GATEWAY
      routeConfiguration:
        portNumber: 80
        portName: "http"
        gateway: "bookinfo/bookinfo-gateway"
    patch:
...

But didn't work either. The only way to have the foo value in the generated proxy configuration is to keep only the portNumber value in the routeConfiguration, like
...
    match:
      context: GATEWAY
      routeConfiguration:
        portNumber: 80
    patch:
...

Any kind of help is greatly appreciated.
Version
$ istioctl version
client version: 1.16.7
control plane version: 1.16.7
data plane version: 1.16.7 (8 proxies)
$ kubectl version --short
Flag --short has been deprecated, and will be removed in the future. The --short output will become the default.
Client Version: v1.24.6
Kustomize Version: v4.5.4
Server Version: v1.24.6-aliyun.1

Additional Information
Target cluster context:<PHONE_NUMBER>66421595-ccc069e51d05640d2bef0572291e7c085
Running with the following config:
istio-namespace: istio-system
full-secrets: false
timeout (mins): 30
include: {  }
exclude: { Namespaces: kube-node-lease,kube-public,kube-system,local-path-storage }
end-time: 2023-08-10 20:50:20.918276858 +0800 CST
Cluster endpoint: https://<IP_ADDRESS>:6443
CLI version:
version.BuildInfo{Version:"1.16.7", GitRevision:"00136097767eec680da8749837a8d79adf110b1a", GolangVersion:"go1.19.11", BuildStatus:"Clean", GitTag:"1.16.7"}
The following Istio control plane revisions/versions were found in the cluster:
Revision default:
&version.MeshInfo{
{
Component: "pilot",
Info:      version.BuildInfo{Version:"1.16.7", GitRevision:"00136097767eec680da8749837a8d79adf110b1a", GolangVersion:"", BuildStatus:"Clean", GitTag:"1.16.7"},
},
}
The following proxy revisions/versions were found in the cluster:
Revision default: Versions {1.16.7}
Fetching proxy logs for the following containers:
bookinfo/details-v1/details-v1-7d4d9d5fcb-r94kv/details
bookinfo/details-v1/details-v1-7d4d9d5fcb-r94kv/istio-proxy
bookinfo/productpage-v1/productpage-v1-66756cddfd-45qvh/istio-proxy
bookinfo/productpage-v1/productpage-v1-66756cddfd-45qvh/productpage
bookinfo/ratings-v1/ratings-v1-85cc46b6d4-2wzh2/istio-proxy
bookinfo/ratings-v1/ratings-v1-85cc46b6d4-2wzh2/ratings
bookinfo/reviews-v1/reviews-v1-777df99c6d-pkpmn/istio-proxy
bookinfo/reviews-v1/reviews-v1-777df99c6d-pkpmn/reviews
bookinfo/reviews-v2/reviews-v2-cdd8fb88b-ldsj6/istio-proxy
bookinfo/reviews-v2/reviews-v2-cdd8fb88b-ldsj6/reviews
bookinfo/reviews-v3/reviews-v3-58b6479b-rmmq7/istio-proxy
bookinfo/reviews-v3/reviews-v3-58b6479b-rmmq7/reviews
istio-system/istio-egressgateway/istio-egressgateway-6796d654d8-s2bd4/istio-proxy
istio-system/istio-ingressgateway/istio-ingressgateway-566c5fc9cd-vmtks/istio-proxy
istio-system/istiod/istiod-549db5fd75-zxqxx/discovery
istio-system/kiali/kiali-64df7bf7cc-ctgl4/kiali
Fetching Istio control plane information from cluster.
Running istio analyze on all namespaces and report as below:
Analysis Report:
Info [IST0102] (Namespace default) The namespace is not enabled for Istio injection. Run 'kubectl label namespace default istio-injection=enabled' to enable it, or 'kubectl label namespace default istio-injection=disabled' to explicitly mark it as not needing injection.
Creating an archive at /root/bug-report.tar.gz.
Cleaning up temporary files in /tmp/bug-report.
Done.
Affected product area

[ ] Ambient
[ ] Docs
[ ] Installation
[X] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
[ ] Upgrade
[ ] Multi Cluster
[ ] Virtual Machine
[ ] Control Plane Revisions

Portname only works for HTTPS. Probably need to update the doc to explain that

@howardjohn Thanks for your explanation. In our usage scenario, we expect to use gateway, portName and portNumber to accurately select the Envoy route configuration to enable or disable the Lua filter for the route individually. I wonder why portName and gateway were originally designed to only work with HTTPS.

It's because in http all them are merged together into one route
On Thu, Aug 10, 2023, 7:59 PM Blaise Wang @.***> wrote:

Portname only works for HTTPS. Probably need to update the doc to explain
that
@howardjohn https://github.com/howardjohn Thanks for your explanation.
In our usage scenario, we expect to use gateway, portName and portNumber to
accurately select the Envoy route configuration to enable or disable the
Lua filter for the route individually. I wonder why portName and gateway
were originally designed to only work with HTTPS.
—
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/issues/46459#issuecomment-1674157185, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEYGXMQBFJ3XBAIADO7QZ3XUWN2DANCNFSM6AAAAAA3LPWRRU
.
You are receiving this because you were mentioned.Message ID:
@.***>


Process.start() gets blocked when read stderr before stdout

In docs, it is said to read both stdout and stderr streams in order to release system resources:

https://api.flutter.dev/flutter/dart-io/Process/start.html

Users must read all data coming on the stdout and stderr streams of processes started with Process.start. If the user does not read all data on the streams the underlying system resources will not be released since there is still pending data.

I'm running on a AWS VM (Debian 11 x64).
Well, I did a execute function that do the recommended steps to execute linux commands. First read stderr stream, then stdout and finally exit code and returns. It worked well for me with commands like ln, chown, chmod, ... But failed (gets blocked) with unzip command. I resolved it partially by adding -qq flag, but I digged more and discovered that order matters (for Dart). So I switch order (first reading stdout, then stderr) and worked fine (with and without -qq flag).
I did other reads on Unix post in StackOverflow (https://stackoverflow.com/a/21654781/4681977) and it is said:

You should not rely on ordering of stdout and stderr. They are two separate streams, and should be treated as such

So I guess there is a Dart bug here (or maybe Dart use other standard).
Thank you
UPDATE: the title maybe confuse someone, not getting blocked on Process.start(), but after process started, when reading stderr stream.

Could you include a code example that demonstrates the issue?

Could you include a code example that demonstrates the issue?

a) Utility function
Future<clib.ProcResult> execute(
  String cmd, [
  List<String>? moreArguments,
]) async {
  // Parsing command into parts
  final parts = cmd.trim().split(' ');

  // Executing process
  late final Process process;
  try {
    process =
        await Process.start(parts.removeAt(0), [...parts, ...?moreArguments]);
  } catch (e) {
    // Failed execution
    return clib.ProcResult(
      failedExecution: true,
      failedExecutionError: e.toString(),
    );
  }

  // Reading stderr
  String stderr = '';
  await for (final list in process.stderr) {
    stderr += String.fromCharCodes(list);
  }

  // Reading stdout
  String stdout = '';
  await for (final list in process.stdout) {
    stdout += String.fromCharCodes(list);
  }

  // Constructing result
  return clib.ProcResult(
    exitCode: await process.exitCode,
    stderr: stderr,
    stdout: stdout,
  );
}

b) Works okay
final res = await execute('pwd');
c) Works okay
final res = await execute('chmod +x /usr/local/bin/dart');
d) Unexpected behavior (gets blocked reading stderr stream)
final res = await execute('unzip dart-sdk.zip');
e) Unexpected behavior (gets blocked reading stderr stream)
final res = await execute('unzip -qq dart-sdk.zip');
As I said before, d) and e) works okay changing the order (reading stdout stream before stderr stream).
** This is the version that failed, now current version of my function writes first to stdin, then reads stdout and finally reads stderr.

Hey @busslina,
I suspect that what is happening is that unzip dart-sdk.zip is blocking wait for someone to read from it's stdout, which you are not doing because you are blocked reading from it's stderr.
Try changing the code to use listen e.g.
process.stderr.listen(...)
process.stdout.listen(...)

Hey @busslina,
Writing to stdout will eventually block when no one is reading from it. Imagine this case:
cat /dev/random | dart myprogram.dart

And myprogram.dart looks something like:
main() {
  while (true) {
    sleep(const Duration(seconds: 5));
    print(Stdin.readLineSync());
  }
}

Since cat /dev/random generates an infinite stream of data and myprogram.data reads the data slowly, cat /dev/random must eventually block because there is no where for the data to go.
The same applies to unzip.
I'm not sure how we could fix that in dart.

Hey @busslina,
Writing to stdout will eventually block when no one is reading from it. Imagine this case:
cat /dev/random | dart myprogram.dart

And myprogram.dart looks something like:
main() {
  while (true) {
    sleep(const Duration(seconds: 5));
    print(Stdin.readLineSync());
  }
}

Since cat /dev/random generates an infinite stream of data and myprogram.data reads the data slowly, cat /dev/random must eventually block because there is no where for the data to go.
The same applies to unzip.
I'm not sure how we could fix that in dart.

Yes, so what I undestand, if the case is an infinite program like cat /etc/random, stdout can block the reading of stderr or viceversa. I got it. But my case is a finit program (unzip), and also tested with -qq flag which tends to avoid printing info. So this is not the same type of case that cat /dev/random | dart myprogram.dart.
I opened this issue because I think Dart is not following the "Unix guidelines" (that I read here, maybe he is wrong, but it makes sense to be order independent both out streams). I understand your point but I think it does not apply here. Also I discovered other bug that is related with this one (https://github.com/dart-lang/sdk/issues/50631), so I assume Dart is not very stable with Process related stuff. Lets say that I will share for anyone the code that I'm using and seems to work okay:
a) execute function
Future<clib.ProcResult> execute(
  String cmd, [
  List<String>? moreArguments,
  void Function(IOSink sink)? stdinCbk,
]) async {
  cmd = cmd.trim();

  // Empty command
  if (cmd.isEmpty) {
    clib.error('Empty command');
  }

  // Parsing command into parts
  final parts = cmd.trim().split(' ');

  // Executing process
  late final Process process;
  final command = parts.removeAt(0);
  try {
    process = await Process.start(command, [...parts, ...?moreArguments]);
  } catch (e) {
    // Failed execution
    return clib.ProcResult(
      command: command,
      failedExecution: true,
      failedExecutionError: e.toString(),
    );
  }

  // Writing to stdin
  if (stdinCbk != null) {
    stdinCbk(process.stdin);
  }

  // Reading stdout
  String stdout = '';
  await for (final list in process.stdout) {
    stdout += String.fromCharCodes(list);
  }

  // Reading stderr
  String stderr = '';
  await for (final list in process.stderr) {
    stderr += String.fromCharCodes(list);
  }

  // Flushing stdin
  await process.stdin.flush();

  // Constructing result
  return clib.ProcResult(
    command: command,
    exitCode: await process.exitCode,
    stderr: stderr,
    stdout: stdout,
  );
}

b) ProcResult class
class ProcResult {
  // Data
  final String command;

  final bool failedExecution;
  final String? failedExecutionError;

  late final int exitCode;
  late final String stderr;
  late final String stdout;

  /// Constructor.
  ProcResult({
    required this.command,
    this.failedExecution = false,
    this.failedExecutionError,
    int? exitCode,
    String? stderr,
    String? stdout,
  }) {
    // Bad usage I
    if (!failedExecution &&
        (exitCode == null || stderr == null || stdout == null)) {
      clib.error('Bad usage I');
    }

    // Bad usage II
    if (failedExecution && failedExecutionError == null) {
      clib.error('Bad usage II');
    }

    // Assigning values
    if (!failedExecution) {
      this.exitCode = exitCode!;
      this.stderr = stderr!;
      this.stdout = stdout!;
    }
  }

  // Getter functions
  //
  // - 01 - Success

  //#region
  /// 01 - Success.
  bool get success {
    return !failedExecution && exitCode == 0;
  }
  //#endregion

  // Functions
  //
  // - 01 - Crash
  // - 02 - Display

  //#region
  ProcResult crash({
    String? msg,
    bool onlyIfExecutionFailed = false,
    void Function()? beforeCrash,
  }) {
    // Failed exection
    if (failedExecution) {
      // Executing before crash function
      if (beforeCrash != null) {
        beforeCrash();
      }

      clib.error(
          'Process execution failed -- ${failedExecutionError!}${msg == null ? '' : ' -- $msg'}');
    }

    if (onlyIfExecutionFailed) {
      return this;
    }

    // Bad exit code
    if (!success) {
      // Executing before crash function
      if (beforeCrash != null) {
        beforeCrash();
      }

      clib.error(
          'Process returned with exit code: $exitCode${msg == null ? '' : ' -- $msg'} -- stderr: $stderr');
    }

    return this;
  }

  /// 02 - Display.
  void display() {
    print(stdout);
  }
  //#endregion

  // Override functions
  //
  // - 01 - To string

  //#region
  /// 01 - To string.
  @override
  String toString() {
    return 'ProcResult($command) -- Exit code: $exitCode -- Stdout: \'$stdout\' -- Stderr: \'$stderr\'';
  }
  //#endregion
}

Hey @busslina ,
I don't think that Dart could easily have different behavior here and it is consistent with other environments that I just looked at i.e. Java, Node.js, Python and Ruby.
One thing that we can probably do better here is documenting the behavior. The Python docs, for example, call out that reading from stdin or stdout can result in a deadlock in four differences places ;-) e.g.

Node.js is more terse but they also highlight the blocking behavior.
Java documents the issue but doesn't suggest a solution.
If you agree, then I'll change this to a documentation bug.

Hey @busslina ,
I don't think that Dart could easily have different behavior here and it is consistent with other environments that I just looked at i.e. Java, Node.js, Python and Ruby.
One thing that we can probably do better here is documenting the behavior. The Python docs, for example, call out that reading from stdin or stdout can result in a deadlock in four differences places ;-) e.g.

Node.js is more terse but they also highlight the blocking behavior.
Java documents the issue but doesn't suggest a solution.
If you agree, then I'll change this to a documentation bug.

Well, Dart is a "young" language and platform, and we can everybody help to keem improving. Personally I like Dart a lot, coming from other languages like Java or Typescript, I think is in a good way. I can say is my preferred language and I want it still being my preferred one.
I will keep open this issue for the case anyone want to add anything, then I'm closing.
Thanks for your time Brian

Hey @busslina ,
It's not that we are locked into design decisions made by other programming languages here but we are building on top of POSIX, which offers certain primitives. And, given those primitives, I don't know how we would accomplish the semantics that you want in a reasonably efficient way.
Please don't close the bug. I think that we need better documentation here.

I have a proposed documentation change here:
https://dart-review.googlesource.com/c/sdk/+/276621


[Feature]: Button Busy/Loading prop

Describe the feature
It's something that I add every time I add the <Button> component to my project.
In the real world, buttons are often used to perform async actions (even shown as one of your examples) and it would be nice if the <Button> component had any tool for dealing with a loading state.
At this point, I'm simply adding loading?: boolean to interface Props, then using it as the second option for disabled in button primitive, and passing as :loading="loading" as slot prop.
There may be a better way of dealing with it, and useful for all shadcn-vue users.
Additional information

[ ] I intend to submit a PR for this feature.
[ ] I have already implemented and/or tested this feature.

We already have loading demo, don't think it's worth to add spinner to "every" button inside this UI library, if you want to add this in your project, you can navigate to Button.vue component and expand logic for every button will be with loading: link

Refer to original library, there is also different loading Demo with same logic: link
@sadeghbarati srry for taging, what you think, need to extend Button.vue or close this issue?

It's ok feel free to tag 👍
the user has to extend Button.vue source but it's good to have an example

we already have an example, so think this issue is not relevant 🤔

@romanhrynevych our ButtonLoadingDemo is hard-coded
Maybe we can have ButtonLoadingHandledWithPropsDemo

@KonradDRAST
Check out React version of shadcn-ui Button for loading
https://github.com/hsuanyi-chou/shadcn-ui-expansions/blob/main/components/ui/loading-button.tsx
https://shadcnui-expansions.typeart.cc/docs/loading-button

https://x.com/buildWithKris/status/1749821303668850894?t=ybeu4B6km-bKC_iiHXXxxg&s=35

@KonradDRAST
Check out React version of shadcn-ui Button for loading
https://github.com/hsuanyi-chou/shadcn-ui-expansions/blob/main/components/ui/loading-button.tsx https://shadcnui-expansions.typeart.cc/docs/loading-button

That's basically what I have now. Custom "AsyncButton" component the is built as a wrapper for Shadcn Button component. + custom prop "loading" added to Button code itself.


Kubelet needs to set-up certificates with nodenames

Is this a BUG REPORT or FEATURE REQUEST?:

Uncomment only one, leave it on its own line:

/kind bug
What happened:
We are currently setting pretty generic kubelet CNs:
openssl x509 -in /etc/kubernetes/ssl/kubelet.pem -text | grep Subject:
        Subject: O=system:nodes, CN=system:node

What you expected to happen:
They should be set to:
        Subject: O=system:nodes, CN=system:node

@JoshVanL can you please look into a fix. The line that needs changing is in:
https://github.com/jetstack/tarmak/blob/master/puppet/modules/tarmak/manifests/worker.pp#L23
Can you make sure that you can build a cluster successfully with 1.7 and provide a PR

/kind puppet

looks like I'm facing this issue, I'm using the same kubeconfig for all nodes, with Subject: O=system:nodes, CN=system:node in Kubernetes 1.11, now I have issue
kubelet[1635]: E0914 21:00:57.033096    1635 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:464: Failed to list *v1.Node: nodes "<IP_ADDRESS>" is forbidden: User "system:node" cannot list nodes at the cluster scope

Is this a mandatory requirement in Kubernetes 1.11? What can I do if I want to use the same kubeconfig for all nodes?


Mentix OCM Auth Provider Normalization

The Mentix OCM Auth Provider currently lacks provider normalization; this can lead to incorrect domain mismatches.

@mirekys can you take this over?


Chance to hit calculation error on lunge dragon scimitar attack style.

According to the wiki :
Lunge, the shared xp controlled style, gives +1 str +1 atk and +1 def virtual levels, 4 ticks.
Block, the defence xp defensive style, gives +3 def virtual levels, 4 ticks.
Against a target with 0 defensive bonuses against any damage type and no other gear equipped besides the d scimitar the plugin shows a 64.55% chance to hit with lunge and an 80.25% chance to hit with block.
That doesn't math right, I couldn't find any information about shared being inherently less accurate so I assume it's  a code issue.

Lunge is a stab attack style which D Scim has +8 accuracy for, compared to +67 on slash styles like Block.
If accounting for that makes the math right, please close with comment.


The new .Net Interactive Notebook file does not work in Help Explorer as File Type.

Mads, I am trying to update my LinqLanguageEditor2022 Extension to use the new .Net Interactive Notebook. I started with trying to add the file type to the FileTypes.json in HelpExplorer Extension, but it does not see the Notebook as a document. See picture from my debug session.

Do you know how to get the Notebook to be seen by the Community.VisualStudio.Toolkit?  Since I am using the toolkit with my LinqLanguageEditor2022 Extension similar to the way it works in HelpExplorer.  The .Net Interactive Notebook solves all the issues I was having in the LinqLanaguageEditor2022 Extension for returning some types of LINQ queries where the result was wrong or incomplete.

Is the notebook a designer surface, by chance? It's not just a textbuffer representation of the file, right?

Mads; Good question, The Notebook I am taking about is the Notebook Editorhttps://marketplace.visualstudio.com/items?itemName=MLNET.notebook from the Visual Studio Marketplace and Github Repository of dotnet/Interactivehttps://github.com/dotnet/interactive and the README.mdhttps://github.com/dotnet/interactive#readme
Danny McNaught
Computer Question
email: @.***

From: Mads Kristensen @.>
Sent: Thursday, July 21, 2022 12:38
To: madskristensen/HelpExplorer @.>
Cc: Danny McNaught @.>; Author @.>
Subject: Re: [madskristensen/HelpExplorer] The new .Net Interactive Notebook file does not work in Help Explorer as File Type. (Issue #22)
Is the notebook a designer surface, by chance? It's not just a textbuffer representation of the file, right?
—
Reply to this email directly, view it on GitHubhttps://github.com/madskristensen/HelpExplorer/issues/22#issuecomment-1191707884, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AQCSP6XBYNTZ2FWJ2SPFK7TVVF4JXANCNFSM54FTLX5A.
You are receiving this because you authored the thread.Message ID: @.***>

Mads;  Further research from dotnet/csharp-notebooks and it's README.md. Also What are Notebooks

Mads; Here is a sample LINQ Query Notebook: I had to zip it since GitHub does not support that file type or so it said when dropped in this window.
Notebook1.zip

Mads; Here is a sample LINQ Query Notebook: I had to zip it since GitHub does not support that file type or so it said when dropped in this window. The file name unzipped is: Notebook1.ipynb
Notebook1.zip

@madskristensen
Mads; Further research, I found that the Notebook Editor is a private Microsoft GitHub Repository. I only found this out by decompiling the Microsoft.VisualStudio.Notebook.dll file. If you have access to: VS-Notebook can you, please ask the authors if it is possible to display the Notebook Editor in a ToolWindow in Visual Studio?

Mads;  Further research from dotnet/csharp-notebookshttps://github.com/dotnet/interactive#readme and it's README.mdhttps://github.com/dotnet/csharp-notebooks#readme. Also What are Notebookshttps://github.com/dotnet/csharp-notebooks/blob/main/notebook-getting-started/01-What are Notebooks.ipynb
Danny McNaught
Computer Question
email: @.***

From: SFC-Sarge @.>
Sent: Thursday, July 21, 2022 15:26
To: madskristensen/HelpExplorer @.>
Cc: Danny McNaught @.>; Your activity @.>
Subject: Re: [madskristensen/HelpExplorer] The new .Net Interactive Notebook file does not work in Help Explorer as File Type. (Issue #22)
Mads; Good question, The Notebook I am taking about is the Notebook Editorhttps://marketplace.visualstudio.com/items?itemName=MLNET.notebook from the Visual Studio Marketplace and Github Repository of dotnet/Interactivehttps://github.com/dotnet/interactive and the README.mdhttps://github.com/dotnet/interactive#readme
Danny McNaught
Computer Question
email: @.***

From: Mads Kristensen @.>
Sent: Thursday, July 21, 2022 12:38
To: madskristensen/HelpExplorer @.>
Cc: Danny McNaught @.>; Author @.>
Subject: Re: [madskristensen/HelpExplorer] The new .Net Interactive Notebook file does not work in Help Explorer as File Type. (Issue #22)
Is the notebook a designer surface, by chance? It's not just a textbuffer representation of the file, right?
—
Reply to this email directly, view it on GitHubhttps://github.com/madskristensen/HelpExplorer/issues/22#issuecomment-1191707884, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AQCSP6XBYNTZ2FWJ2SPFK7TVVF4JXANCNFSM54FTLX5A.
You are receiving this because you authored the thread.Message ID: @.***>
—
Reply to this email directly, view it on GitHubhttps://github.com/madskristensen/HelpExplorer/issues/22#issuecomment-1191852527, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AQCSP6W5LNRWLFR5OQ3B3NDVVGP5PANCNFSM54FTLX5A.
You are receiving this because you are subscribed to this thread.Message ID: @.***>


Content-Type header shoudn't be set on GET

https://github.com/request/request/commit/5225289165a0fb060c30e5a71f69704c3450103f always sets Conent-Type for requests with json:true but this shouldn't happen for GET requests.
It's breaking our servers that see the Content-Type header and blindly go looking for a body.
We can work around it by downgrading but wanted to call your attention to it.

Fixed in #1785 I'll release it tomorrow.

Super fast turnaround - cheers!


(opt)(file cache) make the cache queue percent configurable

Proposed changes
Issue Number: close #xxx

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

run buildall

run buildall

run buildall

run buildall

run buildall

run buildall

LGTM

run buildall

run buildall

run buildall

run buildall

run pipelinex_p0


testing/fstest: package testing/fstest is not in GOROOT

$ make go.sum
--> Ensure dependencies have not been modified
all modules verified
github.com/functionx/fx-core/app imports
	github.com/cosmos/cosmos-sdk/server imports
	github.com/spf13/viper imports
	github.com/spf13/afero imports
	io/fs: package io/fs is not in GOROOT (/usr/lib/go-1.14/src/io/fs)
github.com/functionx/fx-core/app imports
	github.com/cosmos/cosmos-sdk/server imports
	github.com/spf13/viper imports
	github.com/spf13/afero tested by
	github.com/spf13/afero.test imports
	testing/fstest: package testing/fstest is not in GOROOT (/usr/lib/go-1.14/src/testing/fstest)
make: *** [Makefile:105: go.sum] Error 1

Branch: master
OS: Ubuntu

this has been fixed

Same error with the latest master:
$ make go.sum
--> Ensure dependencies have not been modified
all modules verified
github.com/functionx/fx-core/app imports
	github.com/cosmos/cosmos-sdk/server imports
	github.com/spf13/viper imports
	github.com/spf13/afero imports
	io/fs: package io/fs is not in GOROOT (/usr/lib/go-1.14/src/io/fs)
github.com/functionx/fx-core/app imports
	github.com/cosmos/cosmos-sdk/server imports
	github.com/spf13/viper imports
	github.com/spf13/afero tested by
	github.com/spf13/afero.test imports
	testing/fstest: package testing/fstest is not in GOROOT (/usr/lib/go-1.14/src/testing/fstest)
make: *** [Makefile:106: go.sum] Error 1

Maybe you should upgrade golang to version 1.16 or higher

Ok, worked after upgraded to golang 1.17.3.


Fix secondary structure

Using this Secondary Structure dataset for my Master’s thesis we detected that the test subset has more than 364 sequences (due to an error in the used source files), i.e., more than the original new_pisces/NEW364 from ProtTrans paper. It is important to correct this since we are interested in a direct comparison with published results. This pull request aims to solve this problem using the correct subset.
Side note: The difference in the evaluation of models between the bad version and the good one is small, so I expect minimum impact with this change.

@sacdallago Please, merge this PR.


Create individual Python virtualenv's in cmake builds

During cmake builds, instead of using the python interpreter installed locally, use that python interpreter to create a virtualenv for each python script run by cmake. Each virtualenv can then have its own isolated dependencies installed. This removes the dependence on having the correct python libraries installed locally. All you need is a vanilla python 3 interpreter. This also helps fix some unusual python dependency issues when this repository is incorporated into the firebase-cpp-sdk.
Here is an example of the build error in the C++ SDK that this fixes (https://github.com/firebase/firebase-cpp-sdk/runs/6065960193):
[ 83%] Generating nanopb sources
google/firestore/v1/document.proto:20:1: warning: Import google/api/annotations.proto is unused.
google/firestore/v1/query.proto:20:1: warning: Import google/api/annotations.proto is unused.
google/firestore/v1/common.proto:20:1: warning: Import google/api/annotations.proto is unused.
google/firestore/v1/write.proto:20:1: warning: Import google/api/annotations.proto is unused.
google/firestore/admin/index.proto:21:1: warning: Import google/api/annotations.proto is unused.

         *************************************************************
         *** Could not import the Google protobuf Python libraries ***
         *** Try installing package 'python-protobuf' or similar.  ***
         *************************************************************

Traceback (most recent call last):
  File "external/src/firestore/Firestore/Protos/tmpuwkOue.py", line 25
    import nanopb_generator as nanopb
  File "external/src/firestore-build/external/src/nanopb/generator/nanopb_generator.py", line 25
    import google.protobuf.text_format as text_format
  File "external/src/firestore-build/external/src/protobuf/python/google/protobuf/text_format.py", line 51
    import six
ImportError: No module named six
--nanopb_out: protoc-gen-nanopb: Plugin failed with status code 1.

For some reason the build is using a Python interpreter that does not have the six module installed; however, the six module is installed during setup of the runner. So it must be choosing a different Python interpreter. This PR fixes this by setting up a dedicated virtualenv with six installed for running the Python script.
#no-changelog

FYI This script has been copied into the firebase-cpp-sdk as well: https://github.com/firebase/firebase-cpp-sdk/pull/908


Resolve relative icon paths for GDExtensions

See https://github.com/godotengine/godot/issues/82810. This is the same thing we do for libraries, so it should just work, I think.
cc @mihe for testing :)

Thanks!


Missing instructions in the README?

I am trying to use this package with https://github.com/AltThree/Logger, after I add the service provider do I need to add anything into the Logger config file?
I have also ran php artisan vendor:publish and added my API key for Bugsnag but I think I am missing something as this doesn't work.
Thanks

Yes.

Example:
<?php

declare(strict_types=1);

/*
 * This file is part of Alt Three StyleCI.
 *
 * (c) Alt Three Services Limited
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

return [

    /*
    |--------------------------------------------------------------------------
    | Loggers
    |--------------------------------------------------------------------------
    |
    | Here are each of the loggers to call under the hood while logging.
    |
    */

    'loggers' => env('APP_DEBUG', false) ? ['Illuminate\Log\Writer' => ['*']] : [
        'AltThree\Bugsnag\Logger' => ['error', 'critical', 'alert', 'emergency'],
        'AltThree\Logify\Logger'  => ['*'],
    ],

];

That is if you want to use that package.

something as this doesn't work.

What exactly doesn't work. Note that the log function will never work due to the way laravel works.

That's the glovbal function btw.

Exception logging, and logging by injecting a psr logger interface should work just fine though.

Perfect. This now works as expected, thanks.

"'AltThree\Logify\Logger'  => ['*']" causes: PHP Fatal error: Uncaught ReflectionException: Class AltThree\Logify\Logger does not exist
If I remove that, Bugsnag receives the error. What's wrong here?

Looks like you forgot to install that logify package.

If I remove that, Bugsnag receives the error. What's wrong here?

Yeh, you can't use logify. It's not an open source repo. It was merely an example for demonstration. You don't need to include it to have bugsnag work.

Awesome, thanks.

Logify basically is what we use to hook things up to our internal logging system so we can log debug and info messages that aren't suitable for bugsnag.


Show example of using python apis

Document an example of using python's k8s apis, ie create_namespaced_custom_object
cc @davidyuyuan

+1

@davidyuyuan have a look on the updated guide for creating datasets as part of the pipeline https://github.com/IBM/dataset-lifecycle-framework/wiki/PVCs-for-Pipelines-SDK#example-with-creation-of-dataset-as-part-of-the-pipeline-execution

And this is the example pipeline https://github.com/IBM/dataset-lifecycle-framework/blob/master/examples/kubeflow/volumeop.py

@davidyuyuan in line with the approach followed here: https://github.com/kubernetes-client/python/issues/740
You can adopt it as follows:
import yaml
from kubernetes import client

DLF_API='com.ie.ibm.hpsys'
DLF_API_VERSION='v1alpha1'

aConfiguration = client.Configuration()
aConfiguration.host = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
aConfiguration.api_key = {"authorization": "Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}
aConfiguration.verify_ssl = False
clientapi = client.ApiClient(aConfiguration)
customObjectApi = client.CustomObjectsApi(clientapi)

yaml_data= """
{"apiVersion":"com.ie.ibm.hpsys/v1alpha1","kind":"Dataset","metadata":{"name":"your-dataset"},"spec":{"local":{"accessKeyID":"XXXXXXXXXXX","bucket":"mybucket","endpoint":"http://s3.eu.cloud-object-storage.appdomain.cloud","region":"","secretAccessKey":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","type":"COS"}}}
"""

customObjectApi.create_namespaced_custom_object(DLF_API, DLF_API_VERSION, 'default', 'datasets', yaml.load(yaml_data,Loader=yaml.FullLoader))

Let me know if it works for you so I can close this one

@YiannisGkoufas , Here is what I did:
def k8s_ds_op(name: str,
manifest: str,
action: str = "apply") -> PipelineVolume:
with open(manifest, 'r') as fp:
yml = yaml.safe_load(fp)
print(yml)
k8s_resource = V1beta1CustomResourceDefinition(api_version=yml['apiVersion'],
kind=yml['kind'],
metadata=yml['metadata'],
spec=yml['spec'])
rop = ResourceOp(
name=name,
k8s_resource=k8s_resource,
action=action
)
return PipelineVolume(pvc=name).after(rop)
I used V1beta1CustomResourceDefinition because kfp supports v1beta at present. Their latest branch supports V1CustomResourceDefinition. The input YAML is just the CRD of DLF. I think that I did not explain the details well enough. Apologies. I am sure that your sample code above would work as well. Please close this issue. You do not need to change the documentation with the new sample code, either.

Ahhh that's great @davidyuyuan the sample is still valid in python k8s api outside of the pipelines SDK context.


sinowealth: enable additional profiles if specified in the device file

@kierprev, hi, this adds the second profile support for your mouse. Could you try it?

@KierPrev, hi, this adds the second profile support for your mouse. Could you try it?

Yes. Can I overwrite the installation by compiling it again from the updated source?

Yes.

I did it.
How do I tell if it worked?

It should show it.
Did you install libratbag the same way as before?

Where?

Did you install libratbag the same way as before?
Exactly the same way:
git clone https://github.com/libratbag/libratbag.git
cd libratbag
meson builddir
ninja -C builddir
sudo ninja -C builddir install
sudo systemctl restart --now ratbagd.service

It should display in the upper left corner, like so:

Bizarre, what do command -v ratbagd and sudo systemctl stop ratbagd.service && sudo ratbagd --verbose say?

Oh, I think you need to run sudo cp /usr/local/lib/x86_64-linux-gnu/systemd/ratbagd.service /usr/lib/systemd/system/ratbagd.service again, since I updated installation path for ratabgd in #1443

Ahm, after copying the file, and restarting the service, it still doesn't show up, as in your screenshot.

Oh, I think you need to run sudo cp /usr/local/lib/x86_64-linux-gnu/systemd/ratbagd.service /usr/lib/systemd/system/ratbagd.service again, since I updated installation path for ratabgd in #1443

Also, you will probably now have old libratbag executables installed in the old path, so you should do sudo rm /usr/bin/lur-command /usr/bin/ratbagctl /usr/bin/ratbagd to get rid of them.

rm: cannot remove '/usr/bin/lur-command': No such file or directory
rm: cannot remove '/usr/bin/ratbagctl': No such file or directory
rm: cannot remove '/usr/bin/ratbagd': No such file or directory

Oh so you installed libratbag with the patch already installed, it's good! :+1:
Would you try command -v ratbagd and sudo systemctl stop ratbagd.service && sudo ratbagd --verbose still?

Well, that's great and all. You did it!
Glad to help

Thank you for letting me take some of your time, I'm grateful :)

It's funny to help some random people on the internet that you will never met

Oof I merged with a fixup commit in, I'll be more careful from now on


Can't disable SSLv2 in SSLEngine

Expected behavior
SSLContext / SSLEngine should allow applications to opt-out of SSLv2.
Actual behavior
SSLEngine enables SSLv2.
Steps to reproduce
import io.netty.handler.ssl.SslContextBuilder
import io.netty.buffer.PooledByteBufAllocator.DEFAULT
import com.twitter.util.security.{PrivateKeyFile, X509CertificateFile} // available at https://github.com/twitter/util/blob/develop/util-security/src/main/scala/com/twitter/util/security
import java.io.File

val enabled = List("TLSv1.2")
val certFile = "/var/folders/6q/3x79z17d2g55x6c5z0t4s9040000gn/T/svc-test-server.cert7047932748554435997.pem"
val keyFile = "/var/folders/6q/3x79z17d2g55x6c5z0t4s9040000gn/T/svc-test-server.pkcs85450648075735221716.pem"

val key = new PrivateKeyFile(new File(keyFile)).readPrivateKey().get
val cert = new X509CertificateFile(new File(certFile)).readX509Certificate().get

val builder = SslContextBuilder.forServer(key, cert)
val context = builder.build()

val engine = context.newEngine(DEFAULT)
engine.setUseClientMode(false)

engine.getEnabledProtocols // res1: Array[String] = Array(SSLv2Hello, TLSv1, TLSv1.1, TLSv1.2, SSLv2)
engine.setEnabledProtocols(enabled.toArray)
engine.getEnabledProtocols // res3: Array[String] = Array(SSLv2Hello, TLSv1.2, SSLv2)  <--- why is SSLv2 enabled?

Netty version
4.1.25.Final
JVM version (e.g. java -version)
1.8.0_45-b14
OS version (e.g. uname -a)
OS X 10.13.4

@dschobel do you use the native impl or the JDK impl ? Also if you use the native impl what flavour of it :) ?

this is using netty-tcnative-boringssl-static version 2.0.8.Final

@dschobel interesting...  can you also verify with netty-tcnative (non static one) ? I ill need to dig into it a bit more I guess .

same issue with netty-tcnative.
netty 4.1.16.Final + tcnative 2.0.8.Final do the right thing so we at least have a starting point for a bisect, I can give it a shot later this week if you don't find anything in the mean time.

@dschobel hmm are you really sure netty-tcnative does the same ? What openssl version you are using and compile it against ?

@dschobel PTAL https://github.com/netty/netty/pull/7940 ... to make it short its a false-positive and if you use s_client it should not report SSLv2.

@normanmaurer
scala> engine.getEnabledProtocols
res1: Array[String] = Array(SSLv2Hello, TLSv1, TLSv1.1, TLSv1.2)

scala> engine.setEnabledProtocols(enabled.toArray)

scala> engine.getEnabledProtocols
res3: Array[String] = Array(SSLv2Hello, TLSv1.2)

tested against the nightly snapshots, looks like  #7940 did the trick, thanks

@dschobel awesome... Thanks for verifying it :)


Option to Generate / Copy without site titles

the site title is often quite long .. and make the generated list quite unreadable.
having an option to limit the title lengths - or even remove them - would be great

found following line:
https://github.com/coder-chenzhi/EasyTabURL-ChromeExtension/blob/master/js/popup.js#L29
with
contents += tabs[i].title + '\t' + tabs[i].url + '\n';
possibly a change to
contents += tabs[i].title + '\n' + tabs[i].url + '\n\n';
might help readability - if the editor supports switching "word wrap".


add amend mode

Work in Progress 🚧

bump 2.0.0

Terminology:
Let's call the original run origin and the errors run errors.

Currently errors is its own run that potentially doesn't run all the errors from origin.
To avoid this, I've added a post-run action amend that moves all the run info from origin into your latest run, amended with whatever you did in your errors run.

Examples (previous):
Report 1: 350 tests / 50 errors
Report 2: 48 tests / 10 errors
Report 3: 9 tests / 1 error
Normally this would be a case of losing information about 3 tests having been left out of their respective incremental errors runs.
With amend mode, the entire body of the origin run is carried over to your current errors run, amended only by the actual tests that ran. It would potentially look like this:
Report 1: 350 tests / 50 errors (350 run)
Report 2: 350 tests / 12 errors (48 run)
Report 3: 350 tests / 4 errors (9 run)
... ensuring those tests that were failed are not forgotten.

@erictsai6 @manda-linda please publish (and tag/release if you want) the version in the PR


Support for custom headers (setExtraHTTPHeaders)

I added the support for custom headers following the puppeteer api setExtraHTTPHeaders. If you have a page that needs Authorization headers to be seen, now you can pass the custom headers in the request.
Another way of doing the same could have been to pass the custom headers in the request and then use that instead of having a parameter in the url.

I edit the Renderer class to support the setExtraHTTPHeaders for all html, screenshot and pdf types.

@carbogninalberto Thanks for your greate PR.


Fix intermittent Appveyor tests part 2

We are now getting approx a 25% test failure rate on Appveyor
(This is a follow on from #2141 and #2083)
These are divided into two classes
TestDirCacheFlush failures

Build 2137
Build 2135
Build 2116
Build 2112

2018/04/02 14:03:24 Starting test run with cache mode writes
2018/04/02 14:03:26 ERROR : dir/file: File.Remove file error: remove \\?\C:\Users\appveyor\AppData\Local\Temp\1\rclone967468183\dir\file: The process cannot access the file because it is being used by another process.
2018/04/02 14:03:26 ERROR : IO error: remove \\?\C:\Users\appveyor\AppData\Local\Temp\1\rclone967468183\dir\file: The process cannot access the file because it is being used by another process.
--- FAIL: TestDirCacheFlush (10.43s)
	dir.go:189:
			Error Trace:	dir.go:189
			Error:      	Not equal:
			            	expected: mounttest.dirMap{"dir/file 1":struct {}{}, "dir/subdir/":struct {}{}, "otherdir/":struct {}{}, "otherdir/file 1":struct {}{}, "dir/":struct {}{}}
			            	actual  : mounttest.dirMap{"dir/file 1":struct {}{}, "otherdir/":struct {}{}, "otherdir/file 1":struct {}{}, "dir/file 0":struct {}{}, "dir/subdir/":struct {}{}, "dir/":struct {}{}}

			            	Diff:
			            	--- Expected
			            	+++ Actual
			            	@@ -1,3 +1,5 @@
			            	-(mounttest.dirMap) (len=5) {
			            	+(mounttest.dirMap) (len=6) {
			            	  (string) (len=4) "dir/": (struct {}) {
			            	+ },
			            	+ (string) (len=10) "dir/file 0": (struct {}) {
			            	  },
			Test:       	TestDirCacheFlush
			Messages:   	expected vs fuse mount
	fs.go:352:
			Error Trace:	fs.go:352
			            				dir.go:193
			Error:      	failed to delete file
			Test:       	TestDirCacheFlush
			Messages:   	E:dir\file
	fs.go:358:
			Error Trace:	fs.go:358
			            				dir.go:195
			Error:      	Received unexpected error:
			            	remove E:dir: The directory is not empty.
			Test:       	TestDirCacheFlush
FAIL
2018/04/02 14:03:46 Finished test run with cache mode writes
2018/04/02 14:03:46 Unmounting "E:"
The service cmount.test has been stopped.
2018/04/02 14:03:46 Waiting for umount
FAIL	github.com/ncw/rclone/cmd/cmount	45.623s

TestDirCacheFlushOnDirRename failures

Build 2131
Build 2122
Build 2115

2018/04/02 10:33:54 Starting test run with cache mode minimal
--- FAIL: TestDirCacheFlushOnDirRename (0.01s)
	dir.go:222:
			Error Trace:	dir.go:222
			Error:      	Not equal:
			            	expected: mounttest.dirMap{"rid/":struct {}{}, "rid/subdir/":struct {}{}, "rid/file 1":struct {}{}}
			            	actual  : mounttest.dirMap{"rid/":struct {}{}, "rid/subdir/":struct {}{}}

			            	Diff:
			            	--- Expected
			            	+++ Actual
			            	@@ -1,5 +1,3 @@
			            	-(mounttest.dirMap) (len=3) {
			            	+(mounttest.dirMap) (len=2) {
			            	  (string) (len=4) "rid/": (struct {}) {
			            	- },
			            	- (string) (len=10) "rid/file 1": (struct {}) {
			            	  },
			Test:       	TestDirCacheFlushOnDirRename
			Messages:   	expected vs fuse mount
FAIL
2018/04/02 10:34:01 Finished test run with cache mode minimal
2018/04/02 10:34:01 Unmounting "E:"
The service cmount.test has been stopped.
2018/04/02 10:34:01 Waiting for umount

I ran 42f0963bf907daacb6cb718ef14a64a591fab3a0 over 4,000 times on my test Windows 2016 machine.  All the tests passed.  I saw 6 or so retries due to sharing violations.
Will leave this open to see if it works so well with appveyor!

The last 47 Appveyor tests have built without error so I'm going to declare this fixed!


Format help in parsers removing RST spans

Replace double bactick with '. This should be done without affecting sphinx_argparse_cli render.

A note for the future: sphinx_argparse_cli treats simple and double quotes as code span delimiters in its render.


Cant read video on some website

OS/Platform
Windows
Installed
https://ungoogled-software.github.io/ungoogled-chromium-binaries/
Version
129.0.6663.0
Have you tested that this is not an upstream issue or an issue with your configuration?

[ ] I have tried reproducing this issue in Chrome and it could not be reproduced there
[X] I have tried reproducing this issue in vanilla Chromium and it could not be reproduced there
[ ] I have tried reproducing this issue in ungoogled-chromium with a new and empty profile using --user-data-dir command line argument and it could not be reproduced there

Description
Cant read video on X or Reddit
How to Reproduce?
1 : Go to x.com or reddit.com
2 : Try to watch a video
Actual behaviour
On x.com and reddit.com they indicate "This media cant be read"
Expected behaviour
Video is played
Relevant log output
No response
Additional context
No response

We do not provide support for binaries obtained outside of ungoogled-software GitHub organisation and I would not recommend downloading and executing them. Usage of chrlauncher is also discouraged.
Please make sure first that you can reproduce this issue with contributor binaries from https://ungoogled-software.github.io/ungoogled-chromium-binaries/.
Alternatively you may report this issue to where you've obtained the binary from.


fix(rbac): adjust access on TeamRole & TeamRoleBindings for org members & cluster admins

Description
Organization members should be able to view TeamRoles and TeamRoleBindings.
What type of PR is this? (check all applicable)

[ ] 🍕 Feature
[x] 🐛 Bug Fix
[ ] 📝 Documentation Update
[ ] 🎨 Style
[ ] 🧑💻 Code Refactor
[ ] 🔥 Performance Improvements
[ ] ✅ Test
[ ] 🤖 Build
[ ] 🔁 CI
[ ] 📦 Chore (Release)
[ ] ⏩ Revert

Related Tickets & Documents

Related Issue # (issue)
Closes # (issue)
Fixes # (issue)

Remove if not applicable

Added tests?

[ ] 👍 yes
[x] 🙅 no, because they aren't needed
[ ] 🙋 no, because I need help
[ ] Separate ticket for tests # (issue/pr)

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Added to documentation?

[ ] 📜 README.md
[ ] 🤝 Documentation pages updated
[ ] 🙅 no documentation needed
[ ] (if applicable) generated OpenAPI docs for CRD changes

Checklist

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

We still need to update org-admin permissions to include TeamRoleBindings.. Blocking this for a moment

Since Cluster Admins should be able to manage access on the remote cluster, the access to the TeamRole was moved from the Org Admin to the Cluster Admin.
By default the Org Admin includes all access from the other profiles.


wasm3: init at 0.5.0

Motivation for this change
A fast wasm interpreter.
Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 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.

Result of nixpkgs-review pr 127687 at efb3794a run on aarch64-linux 1

1 package failed to build:

wasm3

1 suggestion:

warning: missing-phase-hooks
installPhase should probably contain runHook preInstall and runHook postInstall.
Near pkgs/development/interpreters/wasm3/default.nix:19:3:
   |
19 |   installPhase = "mkdir -p $out/bin/; cp -a wasm3 $out/bin/";
   |   ^

Note that build failures may predate this PR, and could be nondeterministic or hardware dependent.
Please exercise your independent judgement. Does something look off? Please file an issue or reach out on IRC.


Porting registers from IMC TO EMC

Hi,
I am trying to run some software models on RV32EMC using IBEX. I got the following errors from the crt0.S file.
How can I replace the below registers which is above x15 to make it compatible with EMC?As you know in EMC registers x16 to x31 are not available.
_start:
.global _start
/* clear BSS */
la x26, _bss_start
la x27, _bss_end
bge x26, x27, zero_loop_end
zero_loop:
sw x0, 0(x26)
addi x26, x26, 4
ble x26, x27, zero_loop
zero_loop_end:

Well, you'll have to replace x26 and x27 with registers below x15. I don't think that we're using any other registers at this point, so e.g. x14 and x15 should work just fine. If they don't, I think you'll have to do some debugging: the EMC configuration isn't something we are putting effort into supporting at the moment.

The original questions seems to have been answered and there hasn't been further discussion here for more than a month. I am thus closing the issue. Please feel free to reopen it.


Allow removing delayed jobs

hey there,
this PR allows from removing delayed jobs. have added a testcase too.
Thanks

Coverage decreased (-0.32%) to 84.59% when pulling 322936f3d324fa3ca3e40a1c96fdb2e10e0b907b on argvk:remove_delayed into da902a64789ba2c96fdbe98e2e621b61bc44cc93 on gresrun:master.

@argvk Thanks for the quality pull request!

:+1:


SceneTreeTweens tween_property TypeMismatch Error when final_val is given as int, when property is float

Godot version
3.5.stable
System information
Windows 10, GLES3
Issue description
This is definitely more of an enhancement than a bug, but since it does seem to be a regression, I decided to report it (rather than propose it).
SceneTreeTweens that tween_property a float property, throw a TypeMismatch error when the final_val argument is an int. This did not happen with Tweens. They took the int values, and presumed them to be floats if required.
It is also inconsistent with the duration argument, which can be provided as a float OR an int, and does not error either way.

a small overview of the different Tweens and this issue
We use Tween/SceneTreeTween mostly to modify the rect_position/rect_size of Control nodes, which we always set at whole numbers/pixels. This means I keep running into these errors, which invalidate the set-up tweens, and crashes the project when they are further modified.
I do understand that certain properties are typed specifically as floats, and cannot take ints at all. However, in many instances within Godot, providing an int where a float was expected is completely valid, as it is with setting rect_position. The fact that SceneTreeTweens break this seems undesirable.
Steps to reproduce
See MRP.

Create SceneTreeTween, with tween_property. Tween a float property, such as a position.x
Provide an int value as a final_val argument
Start the tween (ui_left in MRP)
You will have gained an Error

Minimal reproduction project
SceneTreeTweenIntVFloat.zip

Should be fixed once #65072 is cherry-picked.


wllvm bitcode generation does not work properly with ccache

I'm using wllvm to build opencv and generate bitcode.  When I changed the configure arguments and rebuild opencv, the .bc files was not generated.
Finally I found the reason is  opencv using ccache when compiling. So if the compiling command is the same with cached one, the wllvm compile command will not be executed.
Solution:
Disable ccache before configure and build.
export CCACHE_DISABLE=1
I think wllvm can add a warning when ccache is enable.

I don’t think this is wllvm’s problem.

I don’t think this is wllvm’s problem.

OK. At least this issue can remind other people.


Annoying styling issues

List of minor but annoying style issues I have not figured out how to modify:

[x] modals (e.g. save or new) focus on first focusable element with a red outline
[ ] ~cursor icon change on mouseup when grabbing the svg element is not possible at the moment because the d3 zoom function suppresses the mouseup event~ will not fix this for now as this would take some time for very little improvement

Can be fixed temporarily by setting tabindex=-1 of elements not to be tabbed

But this hinders navigation by keyboard :(


[BUG] Enforce Lower-case Repository Name for Registry Push

Is your feature request related to a problem? Please describe.
When attempting to use this wonderful GH Action, I happened to be using a repository that is capitalized (OSCAL). Having a registry with a capitalized name breaks the builds with the errors below. It would be preferable to just lowercase the repo name.
Run redhat-actions/push-to-registry@v2
Creating temporary Podman image storage for pulling from Docker daemon
Warning: "fuse-overlayfs" is not found. Install it before running this action. For more detail see https://github.com/redhat-actions/buildah-build/issues/45
Combining image name "cli" and registry "ghcr.io/oscal-club/OSCAL" to form registry path "ghcr.io/oscal-club/OSCAL/cli"
🔍 Checking if "cli:77ec43e8f757473a1e51d6ae5fc89de392c0faf5, cli:issue-1008-publish-container-images, cli:latest" present in the local Podman image storage
/usr/bin/podman version
/usr/bin/podman image exists cli:77ec43e8f757473a1e51d6ae5fc89de392c0faf5
/usr/bin/podman image exists cli:issue-1008-publish-container-images
/usr/bin/podman image exists cli:latest
Tags "cli:77ec43e8f757473a1e51d6ae5fc89de392c0faf5, cli:issue-1008-publish-container-images, cli:latest" found in Podman image storage
🔍 Checking if "cli:77ec43e8f757473a1e51d6ae5fc89de392c0faf5, cli:issue-1008-publish-container-images, cli:latest" present in the local Docker image storage
/usr/bin/podman --root /tmp/podman-from-docker-zmfOHJ pull docker-daemon:cli:77ec43e8f757473a1e51d6ae5fc89de392c0faf5
/usr/bin/podman --root /tmp/podman-from-docker-zmfOHJ pull docker-daemon:cli:issue-1008-publish-container-images
/usr/bin/podman --root /tmp/podman-from-docker-zmfOHJ pull docker-daemon:cli:latest
Tag "cli:77ec43e8f757473a1e51d6ae5fc89de392c0faf5" was found in the Podman image storage, but not in the Docker image storage. The image(s) will be pushed from Podman image storage.
⏳ Pushing "cli:77ec43e8f757473a1e51d6ae5fc89de392c0faf5" to ghcr.io/oscal-club/OSCAL/cli:77ec43e8f757473a1e51d6ae5fc89de392c0faf5, ghcr.io/oscal-club/OSCAL/cli:issue-1008-publish-container-images, ghcr.io/oscal-club/OSCAL/cli:latest as "xee5ch"
/usr/bin/podman push --quiet --digestfile cli-77ec43e8f757473a1e51d6ae5fc89de392c0faf5_digest.txt cli:77ec43e8f757473a1e51d6ae5fc89de392c0faf5 ghcr.io/oscal-club/OSCAL/cli:77ec43e8f757473a1e51d6ae5fc89de392c0faf5 --tls-verify=true --creds=xee5ch:***
Error: invalid reference format: repository name must be lowercase
Removing temporary Podman image storage for pulling from Docker daemon
/usr/bin/podman --root /tmp/podman-from-docker-zmfOHJ rmi -a -f
Error: podman exited with code 125
Error: invalid reference format: repository name must be lowercase

Describe the solution you'd like
Apparently this is part of the registry spec, so albeit it minor, I am surprised others do not want the action to decapitalize the repo and onwer name as well.
Describe alternatives you've considered
After troubleshooting this evening, I use shell commands in GitHub Actions to lowercase the image name in the files.
``
Additional context

sure, a quick test shows the entire repository name must be lowercase.

I can work on this one, @tetchel, does not seem like a huge lift. :-)

That's great. Feel free to work on this. :slightly_smiling_face:


Discuss about the Description Document

How To Do This

Discuss

Update: Discussions will be held inside of the GDrive Document.


Update dependencies: security issues

NSP security checker found two vulnerable modules:
Name    Installed  Patched
qs        0.6.6     >= 1.x<EMAIL_ADDRESS>semver    3.0.1    >=4.3.2

Thanks so much! Sorry for taking so long to see it. Publishing a new version...


Link main headlines

i.e. serlo bird to homepage, subject title to its subject homepage. Don't link "Serlo", though...

@inyono I discussed this with @SimonKoehl, is there a reason why we don't link "Serlo" to the homepage too?

Yeah, there is a reason. If you also link Serlo, it could be confusing where the links lead to. Because "Serlo" and "Mathematik" can be seen together, but each part links to a different page.

Okay, that makes sense. I will change this tomorrow


minimal libc: add strtoll and strtoull functions

Is your enhancement proposal related to a problem? Please describe.
I'm using a Nordic NRF9160 chip. This supports AT_PARSER a lib which servers the built-in cellular modem using AT commands. Due to that fact that this lib needs strtoll and strtoull they added a dependency to newlibc. This dependency is new with the latest SDK that has a new version of AT_PARSER. Using newlibc is not possible for me due to incompatibility with Civetweb.
Describe the solution you'd like
I would be happy if somebody could add strtoll and strtoull functions to the minimal libc.
Describe alternatives you've considered
I tried to switch to newlibc which didn't succeed due to a  incompatibility with Civetweb.
Additional context
Discussion in Nordic Forum
https://github.com/zephyrproject-rtos/zephyr/pull/16511

I tried to switch to newlibc which didn't succeed due to a incompatibility with Civetweb.

@mglettig That would require some investigation, but do you think it would be feasible for you to use newlib if Civetweb and/or newlib are updated such that they can be used together?
The minimal C library, as its name suggests, is supposed to be "minimal", and we should refrain from adding more functions to it just to satisfy the ever-growing demand for more features, until it effectively becomes newlib-nano.
Moreover, you would probably want to use the newlib and take advantage of all the features available in a full C library anyway if you are working with a complex application that includes a web server. Noting that most SoCs that can handle Civetweb (including nRF9160) are not highly resource-constrained, I think the best approach here is to update the relevant components such that Civetweb can be used with newlib.

The minimal C library, as its name suggests, is supposed to be "minimal", and we should refrain from adding more functions to it just to satisfy the ever-growing demand for more features, until it effectively becomes newlib-nano.

hi @stephanosio
have used newlibc yet strtoull() doesn't return expected unsigned 64bit return, wondering where is it messing up?

have used newlibc yet strtoull() doesn't return expected unsigned 64bit return, wondering where is it messing up?

@manoj153 Could you be more specific? i.e. how doesn't it work? example code? etc.

have used newlibc yet strtoull() doesn't return expected unsigned 64bit return, wondering where is it messing up?

@manoj153 Could you be more specific? i.e. how doesn't it work? example code? etc.

provided the snippet code above, my bad forget to include expected value, and what actually i got:
expected (correct) value :<PHONE_NUMBER>0881799325
return value :<PHONE_NUMBER>3709551615

@manoj153 Tested that on qemu_cortex_m3 and it seems to be working fine -- not really sure what the problem is in your case. If you think this is a Zephyr-related bug, please file a bug report with the details and we can have further investigation there.

@mglettig That would require some investigation, but do you think it would be feasible for you to use newlib if Civetweb and/or newlib are updated such that they can be used together?

@stephanosio Yes that would be feasible for us. Would you have time to make Civetweb compatible to newlibc? I'm not sure where the incompatibility comes from but I remember that there was a discussion about this in one of the GitHub issues.

Yes that would be feasible for us. Would you have time to make Civetweb compatible to newlibc?

Not at the moment because I am occupied with other urgent matters, but I will try once I get those sorted out.

I'm not sure where the incompatibility comes from but I remember that there was a discussion about this in one of the GitHub issues.

#16683 suggests that using Newlib alongside Civetweb is not an option "due to heavy conflicts with the POSIX layer."
In general, in line with #13787, I plan to implement and upstream newlib-side Zephyr RTOS support in the future (see https://github.com/zephyrproject-rtos/sdk-ng/issues/350), so that might provide a solution to this problem eventually.
cc @Nukersson @pfalcon @carlescufi

#16683 suggests that using Newlib alongside Civetweb is not an option "due to heavy conflicts with the POSIX layer."

I personally never agreed with that evaluation.  And resolving them is cumbersome, because moving one part may make other break. But eventually it all should converge to a stable state, and I did a bunch of tweaks in that direction previous years.

In general, in line with #13787, I plan to implement and upstream newlib-side Zephyr RTOS support in the future (see zephyrproject-rtos/sdk-ng#350), so that might provide a solution to this problem eventually.

Sounds good.

It would be very nice, if you can implement it. I hope I can find a time to support with reviews and testing.

@manoj153 Tested that on qemu_cortex_m3 and it seems to be working fine -- not really sure what the problem is in your case. If you think this is a Zephyr-related bug, please file a bug report with the details and we can have further investigation there.

my million apologies, there is something done wrong my end earlier, with the latest test, that snippet, is working as intended.


[improvement](statistics, multi catalog)Estimate hive table row count based on file size.

Support estimate table row count based on file size.
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 37.57 seconds
stream load tsv:          456 seconds loaded<PHONE_NUMBER>9 Bytes, about 156 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          57 seconds loaded<PHONE_NUMBER> Bytes, about 18 MB/s
stream load parquet:          29 seconds loaded 861443392 Bytes, about 28 MB/s
insert into select:          70.4 seconds inserted 10000000 Rows, about 142K ops/s
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230630142533_clickbench_pr_170605.html

run buildall

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 39.01 seconds
stream load tsv:          457 seconds loaded<PHONE_NUMBER>9 Bytes, about 156 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          57 seconds loaded<PHONE_NUMBER> Bytes, about 18 MB/s
stream load parquet:          29 seconds loaded 861443392 Bytes, about 28 MB/s
insert into select:          67.5 seconds inserted 10000000 Rows, about 148K ops/s
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230630155348_clickbench_pr_170675.html

run buildall

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 42.11 seconds
stream load tsv:          459 seconds loaded<PHONE_NUMBER>9 Bytes, about 155 MB/s
stream load json:         19 seconds loaded<PHONE_NUMBER> Bytes, about 118 MB/s
stream load orc:          57 seconds loaded<PHONE_NUMBER> Bytes, about 18 MB/s
stream load parquet:          30 seconds loaded 861443392 Bytes, about 27 MB/s
insert into select:          68.7 seconds inserted 10000000 Rows, about 145K ops/s
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230702151100_clickbench_pr_171025.html

run buildall


Update repositories.txt for ams-OSRAM[-Group]

These libraries are written by ams-OSRAM for their products.
The GitHub page https://github.com/ams-OSRAM used to be claimed by an unknown party, therefore ams-OSRAM was using https://github.com/ams-OSRAM-Group (note the suffix -Group). After some trademark claims, ams-OSRAM was given ownership of https://github.com/ams-OSRAM and moved their repos.
This commit updates the Arduino registrations to that new location.

Thanks for the work @MatteoPologruto and @per1234


Can we modify the left/right button?

Thank you for your awesome work! But I want to modify the styles of the button, or even remove the button. Could you please make them as optional, or let dev could modify their style?

Please take a look at #10 to see why we don't support that at the moment.
If you remove the buttons, wouldn't you just end up with a slide show? :thinking:

Hi @leMaik thank you for the response. I checked your comment there and I was wondering if the inline styles are exposed to the devs now? In my case the space between container and arrow is too wide so I need either modify the style or just delete.
As my personal preference, I would like to delete the arrorw but just keep the dots.

I'd be okay with adding a prop to hide the buttons in the desktop version. :+1: Want to create a PR?

Sure I can do that. Do you just want a prop to make the button optional, or also expose the inline style to the devs?

Well... I don't want to, but there are so many requests that I think we should finally add that. :confused: But please split the PRs. :wink:

Hi I am new to npm, I forked this repo and made change to my forked repo, then replace
"material-auto-rotating-carousel": 'version' with my forked github address "https://github.com/mirocody/material-auto-rotating-carousel/tarball/master", to test that. But after doing the npm install it shows cannot find module material-auto-rotating-carousel, do you have any idea how to solve it?

No need to modify anything in the package.json. Just fork it, run npm install and start coding. :wink:

Thanks. I just created PR for hide button and would create a separate PR for exposing the inline style later.
My question for npm is: I try to import my forked(with modification) material-auto-rotating-carousel  to my another project(project A). And in package.json from that project, I have this line "material-auto-rotating-carousel": "github:mirocody/material-auto-rotating-carousel", however after npm install it still shows module not found;
Then I go to local forked material-auto-rotating-carousel folder and do the npm build, and copy the lib folder to the node modules under project A, then everything works.
And I wander if there is a way that I just do npm install and then it would install my forked library with the lib folder? Any idea is appreciated I am totally new to npm, and did not find other solution for this issue

Hmmm and one more question, I tested by npm run storybook and could get the demo, but the code changed in AnimationDemo.js does not apply to the web. 🤔

Go in project A's directory and run npm link <path to your material-auto-rotating-carousel directory>. Voilà, linked! :sunglasses:
Remember that you need to build the project in order to use it linked, run npm run build in the material-auto-… directory.

@mirocody I'm reopening this since your PR adresses this issue :+1: