High CPU load when subscriber is added

Issue template

Hardware description: STM32H743zi Nucleo board, over udp
RTOS: Zephyr
Installation type: micro_ros_setop. Docker containers
Version or commit hash:

Steps to reproduce the issue

Attached code has idle loop calculation. It has a publisher(/counter) at 100Hz and a bool subscriber /sensors/led

If only publisher is enabled,(remove rclc_executor_add_subscription() and reduce executor by 1),the idle and uros task output is below:
    IDLE load 91.2%     UROS load 10.5%
This seems close to correct as the CPU spends most of its time in the idle loop and the UROS load is at 10%

if publisher and subscriber is enabled, the idle and uros task output is below:
    IDLE load 11.9%     UROS load 89.7%

This seems off. The CPU spends ~90% of its time in the uros task and ~10% in idle.
5. uros agent on host is active and running and a connection to the board has been made.
Expected behavior
When publisher and subscriber are enabled, the uros task load is unusually high. Should be close to 10% or a little more
Actual behavior
When publisher and subscriber are enabled, the uros task load is 90%
Additional information
Basic publishing and subscription works.
#include <zephyr.h>
#include <stdio.h>
#include <string.h>

#include <rcl/rcl.h>
#include <rcl/error_handling.h>
#include <std_msgs/msg/int32.h>

#include <rclc/rclc.h>
#include <rclc/executor.h>

#include <rmw_microros/rmw_microros.h>
#include <microros_transports.h>
#include <std_msgs/msg/bool.h>

#include <logging/log.h>

#define MICRO_ROS_APP_STACK 16000
#define MICRO_ROS_APP_TASK_PRIO 5

LOG_MODULE_REGISTER(main, LOG_LEVEL_DBG);

#define RCCHECK(fn) { rcl_ret_t temp_rc = fn; if((temp_rc != RCL_RET_OK)){printk("Failed status on line %d: %d. Aborting.\n",__LINE__,(int)temp_rc);}}
#define RCSOFTCHECK(fn) { rcl_ret_t temp_rc = fn; if((temp_rc != RCL_RET_OK)){printk("Failed status on line %d: %d. Continuing.\n",__LINE__,(int)temp_rc);}}

rcl_publisher_t publisher;
rcl_subscription_t led_subscription;
std_msgs__msg__Int32 msg;
std_msgs__msg__Bool led_msg;
void uros_transport_task(void);

K_THREAD_DEFINE(uros_id, MICRO_ROS_APP_STACK, uros_transport_task, NULL, NULL, NULL,
		MICRO_ROS_APP_TASK_PRIO, 0, 0);

void timer_callback(rcl_timer_t * timer, int64_t last_call_time)
{
	RCLC_UNUSED(last_call_time);
	if (timer != NULL) {
		RCSOFTCHECK(rcl_publish(&publisher, &msg, NULL));
		msg.data++;
	}
}

void led_subscription_callback(const void * msgin)
{
	static int32_t data = 1;
	const std_msgs__msg__Bool * msg = (const std_msgs__msg__Bool *)msgin;
	printk("Received subscription data from Control %d", data++);

}

static k_tid_t idle_tid[CONFIG_MP_NUM_CPUS];

#define GET_IDLE_TID(i, tid) do {\
	if (strcmp(tname, "idle 0" STRINGIFY(i)) == 0) { \
		idle_tid[i] = tid; \
	} \
} while (0);

static void thread_cb(const struct k_thread *cthread, void *user_data)
{
	const char *tname = k_thread_name_get((struct k_thread *)cthread);

	UTIL_LISTIFY(CONFIG_MP_NUM_CPUS, GET_IDLE_TID, (k_tid_t)cthread)
}

static void timeout_cb(struct k_timer *timer)
{
	static uint64_t prev_idle_cycles;
	static uint64_t prev_urostask_cycles;
	static uint64_t total_cycles;
	k_thread_runtime_stats_t rt_stats_all;
	uint64_t idle_cycles = 0;
	int err = 0;

	for (int i = 0; i < CONFIG_MP_NUM_CPUS; i++) {
		k_thread_runtime_stats_t thread_stats;

		err = k_thread_runtime_stats_get(idle_tid[i], &thread_stats);
		if (err < 0) {
			return;
		}

		idle_cycles += thread_stats.execution_cycles;
	}

	k_thread_runtime_stats_t thread_stats_urostask;
	uint64_t urostask_cycles = 0;

	err = k_thread_runtime_stats_get(uros_id, &thread_stats_urostask);
	if (err < 0) {
		return;
	}

	urostask_cycles += thread_stats_urostask.execution_cycles;

	err = k_thread_runtime_stats_all_get(&rt_stats_all);
	if (err < 0) {
		return;
	}

	int idle_load = 1000 - (1000 * (idle_cycles - prev_idle_cycles) /
			(rt_stats_all.execution_cycles - total_cycles));

	prev_idle_cycles = idle_cycles;

	int urostask_load = 1000 - (1000 * (urostask_cycles - prev_urostask_cycles) /
			(rt_stats_all.execution_cycles - total_cycles));

	prev_urostask_cycles = urostask_cycles;

	total_cycles = rt_stats_all.execution_cycles;

	printk("IDLE load %d.%d%%\r\n", idle_load / 10, idle_load % 10);
	printk("UROS load %d.%d%%\r\n", urostask_load / 10, urostask_load % 10);
}

K_TIMER_DEFINE(timer, timeout_cb, NULL);

void main(void)
{

	k_thread_foreach(thread_cb, NULL);

	k_timer_start(&timer, K_MSEC(1000), K_MSEC(1000));

	for (int i = 0; i < CONFIG_MP_NUM_CPUS; i++) {
		printk("\t%s\n", k_thread_name_get(idle_tid[i]));
	}
}

void uros_transport_task(void)
{
    // Set custom transports
	rmw_uros_set_custom_transport(
		MICRO_ROS_FRAMING_REQUIRED,
		(void *) &default_params,
		zephyr_transport_open,
		zephyr_transport_close,
		zephyr_transport_write,
		zephyr_transport_read
	);

	// Init micro-ROS
	rcl_allocator_t allocator = rcl_get_default_allocator();
	rclc_support_t support;

	// create init_options
	RCCHECK(rclc_support_init(&support, 0, NULL, &allocator));

	// create node
	rcl_node_t node;
	RCCHECK(rclc_node_init_default(&node, "ursos_transport_node", "", &support));

	// create publisher
	RCCHECK(rclc_publisher_init_default(&publisher, &node, ROSIDL_GET_MSG_TYPE_SUPPORT(std_msgs, msg, Int32), "/counter"));

	// Creating subscriber
	RCCHECK(rclc_subscription_init_default(&led_subscription, &node, ROSIDL_GET_MSG_TYPE_SUPPORT(std_msgs, msg, Bool), "/sensors/led"));

	// create timer, 10ms, 100Hz
	rcl_timer_t timer;
	const unsigned int timer_timeout_ms = 10;
	RCCHECK(rclc_timer_init_default(
		&timer,
		&support,
		RCL_MS_TO_NS(timer_timeout_ms),
		timer_callback));

	// create executor
	rclc_executor_t executor;
	RCCHECK(rclc_executor_init(&executor, &support.context, 2, &allocator));
	RCCHECK(rclc_executor_add_timer(&executor, &timer));
	RCCHECK(rclc_executor_add_subscription(&executor, &led_subscription, &led_msg, &led_subscription_callback, ON_NEW_DATA));

	while(1){
    	rclc_executor_spin_some(&executor, RCL_MS_TO_NS(1000));
	}

	RCCHECK(rcl_publisher_fini(&publisher, &node))
	RCCHECK(rcl_node_fini(&node))
}

Well, you are in preemptive priority space and your task's main loop is not making any syscall, so your micro-ROS loop is blocking every <5 priority. I guess that IDLE task is priority CONFIG_NUM_PREEMPT_PRIORITIES -1.
You need to handle the execution load of your application, in this case, having a real-time executor that guaranteed the timeout operation if you want a 10% CPU load in the micro-ROS application (assuming this task is your higher priority task):
while(1){
    	rclc_executor_spin_some(&executor, RCL_MS_TO_NS(10));
        // Sleep 90 ms, use Zephyr API. i.e. usleep(90000);
}

@pablogs9 the rclc_executor_spin_some() isn't blocking with the given timeout, waiting for events to occur?
To the OPs point, even at 100Hz shouldn't most of the time be spent in rclc_executor_spin_some() waiting for data to process (idle waiting for the OS to resume execution when data arrives?)

rclc_executor_spin_some will block until some data is available in the executor or the timeout happens.
You can't assume that rclc_executor_spin_some will call OS to idle waiting while data arrives. It depends on the transport implementation.
Have you tried the proposed main loop?

@pablogs9 I think your proposal will work but has the side effect of introducing latency into the system.
I'd imagine we'd want to look at rclc_executor_spin_some() and following that down until we find the interactions with the OS (or looking at the transport shim code directly, I'm not familiar with this system yet) and then seeing how to make that properly blocking. That would seem to give us both low latency and sleep during idle (pending what the OS is doing) no?

I'd imagine we'd want to look at rclc_executor_spin_some() and following that down until we find the interactions with the OS (or looking at the transport shim code directly, I'm not familiar with this system yet) and then seeing how to make that properly blocking. That would seem to give us both low latency and sleep during idle (pending what the OS is doing) no?

That's right, check here: https://github.com/micro-ROS/zephyr_apps/blob/5929a3a3ea4ca2859e7eb5a18a7b00c29552898f/microros_extensions/microros_transports.c#L89

@pablogs9  oh perfect, we can improve that to resolve this issue.
Is there any problem with blocking rclc_executor_spin_some()? The docs indicated that it could block until the timeout occurred (which is entirely fine) so my read was that the api promise was "may block until timeout".

It may block until timeout if there is no event triggered in the executor (data on the sub, timer...). If an event occurs, it won't block the timeout time.

@pablogs9 I don't see anywhere where zephyr primitives are used to wait/sleep along the spin_some path. Is that something not supported/implemented for micro-ros due to limitations of some of the rtoses being supported? Like we know zephyr can do it, but there isn't any blocking/waitset stuff in the microros zephyr transport code for example.
So it seems like along the path once we get to rmw_wait() on the microros side there is no way for rmw_wait() to actually wait, so it runs and returns immediately?
And we appreciate the input here, we may end up helping to improve this once we understand it completely.

The transport is the only point where micro-ROS relies on the OS to wait for incoming data. The middleware controls the timeout time and calls the transport until the timeout is reached or a message is received. So you should be able to tune the RTOS calls in the receive method.

So rmw_wait() is calling transport_read() and using transport_read() to throttle its wakeup? We had speculated that this was one way to avoid processing since if you've got data you need to handle it, whether or not its for your subscriber etc.
We still can't see why, when using the UDP transport and a subscriber subscribing on an event triggered once a second (the subscriber prints and we can see it only print once a second), that the wait wouldn't be sleeping via the blocking call at https://github.com/micro-ROS/zephyr_apps/blob/5929a3a3ea4ca2859e7eb5a18a7b00c29552898f/microros_extensions/microros_transports.c#L164

Maybe the poll() isn't properly sleeping? https://github.com/micro-ROS/zephyr_apps/blob/5929a3a3ea4ca2859e7eb5a18a7b00c29552898f/microros_extensions/microros_transports.c#L168

Not sure about the poll, maybe is misbehaving. Have you reached any conclusion?

@pablogs9 I'll discuss with @gseqBE, I'm thinking we should put some prints around the rmw_wait() call and confirm its exiting, look at network traffic etc, basically confirm that the poll is or isn't waiting.


Route with name "login" not found

I have a problem
Fatal error: Zend\Mvc\Router\Exception\RuntimeException: Route with name "login" not found in C:\wamp\www\Zend\vendor\zendframework\zend-view\src\Helper\Navigation\AbstractHelper.php on line 170
I have already installed csnUser, CsnAuthorization and now CsnAclNavigation throw an error.
When I include
navigation('navigation')->menu()->setUlClass('nav navbar-nav'); ?>
or
navigation('navigation')->menu(); ?> I get an error, when i remove It than it's fine.
I don't know why. I replace line 40-42 in layout.phtml with this code

Hello,
The problem is in the "routes". Take a look the configuration file for CsnAclNavigation https://github.com/coolcsn/CsnAclNavigation/blob/master/config/navigation.global.php.dist
You should move this file to your config/autoload folder and rename it to navigation.global.php.
This file is more like an example. There is no route "login" defined in any module. I think this is the reason for the error you are getting. Try to comment  lines 20 to 27 https://github.com/coolcsn/CsnAclNavigation/blob/master/config/navigation.global.php.dist#L20-L27
The code in Layout.phtml is not a problem.
Just concentrate your attention on https://github.com/coolcsn/CsnAclNavigation/blob/master/config/navigation.global.php.dist  which should be in your config/autoload folder of your app and renamed to navigation.global.php. Make sure the routes you mention in this file exist. They are defined in modeule.congig.php files of the modules. I checked the CsnUser and I can tell the coleagues for some reason didn't defined the route "login". So we are trying to use a route which doesn't exist. I think instead of login you can use a route by  the name "user-index". https://github.com/coolcsn/CsnUser/blob/master/config/module.config.php#L25
We will check again the modules to make sure there are no such errors.
I hope this helps! :)


Damage and Critical button doesn't work

FVT - V9.249
PF2E - <IP_ADDRESS>33
Damage and Critical button doesn't do anything now... Probably cause of the new update for some reason.

I can confirm this one.  Damage buttons don't work on chat cards.


Recent discrepancy view

Add a section on the discrepancies page, below the search field, listing the 5 most recent discrepancies.

Sure, we will have a software engineer get right on that.


Specs pass with mime-types 3

The specs pass with mime-types version 3; as long as users still using Ruby 1.9
manually restrict mime-types to < 3 in their Gemfile, they will be just fine.

To make this pass, it will probably be necessary to use Appraisal the same way that mail is using it.

Fixed on master, thanks!


Add Gitpod and improve the readme

Do all the changes according to this P.R  in solidity-Pathshala  repo
https://github.com/Vikash-8090-Yadav/Web3.0-World/pull/42

@Vikash-8090-Yadav I would like to work on this issue . But Sir, can u tell me what all things I should add and edit.

@AnmolSirola  see this pr  in the web.0-world .
You can easily see the code for this
....
https://github.com/Vikash-8090-Yadav/Web3.0-World/pull/42/commits/03571c521a20bce84b4bec734c8e0c03191ea223

See the code for this only and include that code at the same place in Solidity-Pathshala readme .
HOPE U UNDERSTAND ☺ @AnmolSirola

@Vikash-8090-Yadav Okay Sir, I would like to work on this issue


Sprint 2 is Incomplete

Due: 9/25/2024

[x] Use Case Diagrams - @bdb4
[x] UML Class Diagrams - @jcjordyn130
[x] UML Sequence Diagrams for Each User Story - @ScottReidCS
[x] UML State Diagrams and Activity Diagrams for Each User Story - @MadduxLofton
[x] Architectural Design Diagram for Web Application - @jcjordyn130
[x] Component-level Design Diagram Based on the Architecture - @bdb4

I'll add more use cases for buyers and sellers and update the use case diagram with them.

How's the progress on this looking?

Maddux is still working on it I think.

I finished it last night I just forgot to hit the button.


Remove RuntimeHolder and ScriptStore.

Please select one of the following

[x] I am removing an existing difference between facebook/react-native and microsoft/react-native :thumbsup:
[ ] I am cherry-picking a change from Facebook's react-native into microsoft/react-native :thumbsup:
[ ] I am making a fix / change for the macOS implementation of react-native
[ ] I am making a change required for Microsoft usage of react-native

ScriptStore and RuntimeHolder are currently only used by Microsoft/react-native-windows. This PR removes them from this repository.
Microsoft Reviewers: Open in CodeFlow

Do you have the PR for RNW ready?  (or does it not even need one?)  -- Shouldnt you remove the usage from RNW first?

Do you have the PR for RNW ready? (or does it not even need one?) -- Shouldnt you remove the usage from RNW first?

See https://github.com/microsoft/react-native-windows/pull/3577.

Let make sure the RNW one lands before you submit this one..


Tests empty labels and honor

Fixes #3841 #3845

If I make it broader isn't this more of an integration test?
At the moment is seems that we have a mix of unit/integration tests , but might want to start thinking if we can separate these a bit. Especially if we would decide to start working with the CNCF CI.

My logic here is that we want to test the functionality of this unit - mutateSampleLabels
Also I find in the past that too broader test require refactoring on every code change which I am hoping it can be avoided by smaller unit tests.
I can add one more broader test , but would prefer if we keep this one as well.
Would also be also curious to see which one turns out to be more useful in the long run.

I tend to agree that this is probably fine to test as a unit test.
If the parser gets a unit test itself for the empty label stuff it should be fine.

If I make it broader isn't this more of an integration test?

Integration tests involve running other binaries, which we're not doing here. I want a test for the feature that if a user specifies an empty scrape label with honor labels enabled that it will result in that label not being ingested, and this test does not fully do that.
What the parser does with empty labels is basically unspecified behaviour, so a unittest over there doesn't prevent someone from changing that behaviour, changing the unittest and breaking the actual feature we care about.

@brian-brazil yes that makes total sense we need to cover that.
I added an additional test to make sure the parser doesn't strip empty labels with an additional comment to explain why we need this behaviour.
If you still think this is insufficient  can you give me an example of a possible scenario how this bug can be reintroduced.

My main goal is to prevent reintroducing the bug , but keep the tests as simple as possible to avoid unnecessary refactoring.

This style of testing actually makes refactoring harder, as you need to rewrite the tests if the structure around mutateSamples changes. Just like other tests in this file I would like to test from scrape data all the way to appending, as that is what we really care about.

yep , you are right here. I refactored it and really happy how it turned out.

@fabxc I have refactored the TestScrapeLoopAppend to include e2e ingestion path.
This would make it more difficult to maintain and most likely would require more frequent refactoring, but if @brian-brazil thinks it is important I can back off on this one.
I am thinking that better names for the  tests case labels could be scrapeLabels , discoveryLabels.
it shows the origin of the labels which makes the test a bit easy to understand.

Seems generally fine to me aside from that one comment.

LGTM. @brian-brazil  for final approval

Can you squash down your changes?

@brian-brazil ping

Thanks!


Adds the query() method to the Queries doc page

Hello !
For some reasons, the query() method is not presented in the Queries page of the documentation.
This is very weird to me because it's the most simple and straightforward way of making a GraphQL query, just like you would do REST requests with Axios.
For quite some time I just thought there was no way of doing it with vue-apollo, until yesterday I randomly found the method in the API reference.
It can be super useful in some cases, for example if you need to use a query for a login, then it's very weird to do it with Smart Queries.  (I know the convention is to use mutations for login, but you don't always choose what your backend dev do)
Implementing an infinite scroll with filters can also be quite a hurdle with Smart Queries.
So I just added a section at the end of the page, but in my humble opinion it should be better placed in the page.
For now the "Simple query" example is actually displaying a Smart Query, which feels weird to me. Smart Queries are a super powerful high level opinionated functionality, but not the most natural way of querying.
If you agree with this, I could make other PRs :)

for example if you need to use a query for a login

This doesn't make any sense. Do a mutation.
Also I do not recommend to do the queries manually, you lose reactivity, SSR support, and your code will be imperative instead of descriptive which increase the risk of bugs.


Implement Decision Tree in C++

Implement Decision Tree from scratch in

C++

Create new issue according to the template if you would like to implement a different algorithm (or) in a different language.

I would like to work on this issue.


If available, use the vertex colors in gltf

PR: godotengine#41007
Fixes #21087
This is #41007 for the 3.2 branch. Tested, works as intended.

I would reconsider merging this for 3.2. If content has a vertex color the material would now be on instead of off by default. This is what other gltf importers do. However, this behavior would a large noticeable change.

I would reconsider merging this for 3.2. If content has a vertex color the material vertex color would now be on instead of off by default. This is what other gltf importers do. However, this behavior would a large noticeable change.

Correctly viewed, this is not an extension but a fatal error. When you export vertex colors to your glTF file, you probably expect them to be displayed without further ado.  Sounds crasy at least to mee ;-)

Thanks for the PR, but in such cases it's preferred to use git cherry-pick -x <hash> instead of redoing the commit manually. The former preserves the author information and commit log, and adds a reference to the master commit that is being cherry-picked. This is useful to be able to go back from the cherry-picked commit to the original commit/PR that implemented it, and relevant discussion.
It then looks like this:
commit 13f6efdcc76ce50071e62416049c4673e111e06d (HEAD -> 3.2)
Author:     K. S. Ernest (iFire) Lee<EMAIL_ADDRESS>AuthorDate: Mon Aug 3 11:42:34 2020 -0700
Commit:     Rémi Verschelde<EMAIL_ADDRESS>CommitDate: Tue Sep 29 09:23:10 2020 +0200

    Use the vertex colors by default in gltf.

    (cherry picked from commit 43424e132173553201cd26f5aca064ad30e96bda)


Can't use scope with local packages

I want to publish my package to http://localhost:4873/ the name of the package is @local/my-lib
If I try to do it I get error :

one of the uplinks is down, refuse to publish

without the scope it is working .
My command is

call npm config set @local:registry http://localhost:4873
call npm publish

In my packages.json :

"publishConfig":{
"registry":"http://localhost:4873"
},

https://github.com/verdaccio/verdaccio/issues/55

This is working for me. I think maybe you are missing the proxy part in your config?
  '@*/*':
    # scoped packages
    access: $authenticated
    publish: $authenticated
    proxy: npmjs
    storage: /verdaccio/local_storage

@macdasi related tickets
https://github.com/verdaccio/verdaccio/issues/118
https://github.com/verdaccio/verdaccio/issues/50


Feature/student training data

loading issue when press on save all scan it should be there
trainingdata if student and marks predicted properly so we will not save that student id's trainingData either we will save that student id and marks

I have tested above pr . I am getting traiing data only for those sheets where student id and marks are not scanned properly .
And now load is also shown after scan when we try to save our marks to db . now we cannot click save all scan again and again while saving it to db .


登录时记住账号&密码

Describe the feature:
登录时记住账号&密码
Describe a specific use case for the feature:
每次都要重新输入，真的哭了😭

you can use chrome to remember your password


Discrepancy between time units

https://github.com/kammce/SJSU-Dev2/blob/3acc8e268ac9e30259a7da7aa33fbb7db4dabecc/firmware/library/utility/time.hpp#L23-L33
Uptime() supposedly returns time in nanoseconds, but Milliseconds returns milliseconds by dividing nanoseconds by 1,000 when it should be by 1,000,000. Uptime() seems like it's actually returning microseconds and not nanoseconds.

Whoops. That should be changed. At the moment, we are only getting the time in microseconds. So we should change the API to state that the time in microseconds and not nanoseconds.

@harmandersihra can you make that change and create a PR.

Resolved by #393


Bug in creating Rainbow object from arrays (changes original arrays!)?

For some reason when I create a Rainbow object with numpy arrays the original arrays are changed and have a strange double-transit feature? Some issue with sorting perhaps?

I get this issue for this file also when slicing the rainbow!

Strongly suspect this is an issue with sorting:

The wavelengths were in reverse order and this issue disappears if I correctly order them in the reader before importing into Rainbow

Very weird! I think this must be something with the arrays loaded out of the h5 still referencing the same underlying arrays, which can then be modified inside the Rainbow. I'll take a look at the basic initialization from arrays method to check. In other contexts, I've had luck just multiplying every array by 1, so that the thing that gets stored internally is the result of a calculation, rather than a link to some mutable object somewhere else. I confess I still don't totally understand this perfectly, but hopefully it's a kludge that will work well enough.

OK, I updated _initialize_from_arrays and _initialize_from_dictionaries to (hopefully?) decouple the input arrays from the internal ones. I just pushed this to develop, so pulling down the most recent might (hopefully?) fix the problem?

@catrionamurray , when you get a chance, can you please confirm that the updates I made to this in early August actually fix the problem with Adina's hdf5 file?

Hi Zach, I'm afraid I still have the same issue with v0.3.14!

Blerg. OK. Let's try to figure this out tomorrow!


Shader language custom features

A Shader Language preprocessor processes the shader code to add some custom features.
'#include' statement
Include statement to include the code of another shader file into the code of current shader file. For example:
#import "library/another.shader"

Collecting shader information
Collecting the shader source code information into the data structure. Including but not limited to uniforms, vertex attributes, ins, outs, consts, functions.

#include can only be supported if the graphics card has this extension supported: GL_ARB_shading_language_include

#include can only be supported if the graphics card has this extension supported: GL_ARB_shading_language_include

No, I want to preprocess this statement before compile shader code.

decided to refer https://github.com/KhronosGroup/glslang for 'collecting shader information' to help us build the parser


Research using pytest fixtures

[x] Read up on pytest fixtures
[ ] Make list of good candidates for first use

I think the first set of tests that should make use of a fixture for parametrization are the series of tests for _clean_word().
With such an approach, they can be refactored down to a single test, I believe.
In the future, this can even be consolidated so that all of the tests get exercised with these words.


Adjust namespacing

Updates namespacing of all translation keys.
Namespacing of settings is unchanged.

I think I've got it right this time. 😃

Thank you very much! All changes look syntactically correct (just waiting for a reply to that one question). I did not check whether you missed anything, but if so, we'll notice that later anyway. :)

Yes they can be removed, same as admin and forum

Closed as @tobscure has concluded removal of the scope from key names isn't worth the extra fuss.

@dcsjapan Did I miss that? Where did he say so?

@franzliedke in a private discussion with @dcsjapan

Sorry, I could have phrased that more clearly!


Add requires-python metadata

Add requires-python metadata through the addition of setuptools's python_requires in setup.py.

c.f. https://peps.python.org/pep-0621/#requires-python

The addition of requires-python is to provide guards to keep older CPython versions from installing releases that could contain unrunnable code.

@andhus this is ready for review. Please let me know if you have any questions.

Thanks @andhus! Would you be willing to make patch releases of scantree and dirhash with these in?

Thanks @andhus! Would you be willing to make patch releases of scantree and dirhash with these in?

Done ✅


Date piker

Hello, i see a bug, the date piker is not center in internet explorer 10.
Thanks for your framework

Are you sure you are running the latest version? This bug might have been fixed already https://github.com/Dogfalo/materialize/issues/1136

Yes it is fixed, I have tested it

Ok thanks i'll look :)


Integration Test - Release - 2019/02/25 17:06:35

Auto create for integration test. AnotherAuthorUpdatedArticleFlow

@adunndevster : Thanks for your contribution! The author, @v-caxian, has been notified to review your proposed change.


Allow filtering devices to only those supported by current project

Description
Adding desktop and web support will have the effect of increasing the number of available devices beyond those just plugged in. We should be smart about what we present to our users, so they do not get errors if attempting to run on a device which is lacking an editable host app.
The supported check is fairly simple, and shouldn't be applied if we're running from an application binary. We also shouldn't apply this filtering when running flutter devices
This should also be factored into the daemon somehow, so that IDE's can avoid suggesting devices which will always fail
Related Issues
Fixes https://github.com/flutter/flutter/issues/30724
Tests
I added the following tests: Lots
cc @devoncarew @DanTup

What's the preferred way to wire this up in the IDE? In VS Code we have a "current device" in the status bar, and it lets you switch between devices. The user could have one or more projects open, so I don't think filtering that list will guarantee the selected device is valid for the project they try to launch.
I wonder if we should leave that list to include all devices (eg. it's the "preferred device") and then when you try to launch a project, we verify if the device is valid for that project, and if not we'll prompt with a filtered list (and possibly set that as the selected device in the status bar)?
(I presume we can use ENABLE_FLUTTER_DESKTOP for testing - that'll make a desktop device show up, right?)

What's the preferred way to wire this up in the IDE?
...
I wonder if we should leave that list to include all devices (eg. it's the "preferred device") and then when you try to launch a project, we verify if the device is valid for that project, and if not we'll prompt with a filtered list (and possibly set that as the selected device in the status bar)?

Another possibility is to show all devices in the IDE, and then on an app launch, fail if the device doesn't support the target platform (i.e., have a good error message come back from flutter_tools). the user could then select another device.
@jonahwilliams, without a better understanding of the workflow here, I don't anticipate IntelliJ at least using the daemon protocol's getDevices() projectDirectory method param.


Test ASP.NET Core middleware is out of date for v5

The setup code:
[Fact]
public async Task MiddlewareTest_ReturnsNotFoundForRequest()
{
    using var host = await new HostBuilder()
        .ConfigureWebHost(webBuilder =>
        {
            webBuilder
                .UseTestServer()
                .ConfigureServices(services =>
                {
                    services.AddMyServices();
                })
                .Configure(app =>
                {
                    app.UseMiddleware<MyMiddleware>();
                });
        })
        .StartAsync();

    ...
}

does not work with ASP.NET Core v5. Specifically, the call to Configure( app => ... ) does not compile.
If additional using statements are needed to find an extension method they should be included in the article.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 9421feee-5207-e379-00fb-847cc880014c
Version Independent ID: 8415adee-793e-2ba7-b97b-672b493ba42b
Content: Test ASP.NET Core middleware
Content Source: aspnetcore/test/middleware.md
Product: aspnet-core
Technology: aspnetcore-test
GitHub Login: @Tratcher
Microsoft Alias: riande

Needs using Microsoft.AspNetCore.Hosting


Fix round-trip failure of AES256_GCM_HKDF_4KB on Android 23.

Fixes https://github.com/google/tink/issues/229
I'd love to add a test for this and remove the code comment, but, the effort and added complexity doesn't seem worth it for the size of the change.

https://github.com/google/tink/pull/231/commits/59227a2bdfaf0216c213686cc7ee4dc4a76eead3

Thanks Mark!

Hi @mark-buer ,
This PR changes do not work in my case.
I rebuild tink source code which already includes your changes, but the exception still happens here in my app.
Do you have any further suggestion on how to deal with this?
Thanks.

Hi @tuancoltech
We've successfully been using the workaround in our app.
This PR also fixes the issue we observed in devices in the wild.
It is possible that you've stumbled onto yet-another bug with Android's crypto implementation - it would not surprise me.
Sorry, I have nothing further to suggest.


Raspbian installation follow-up

Proposed changes
Refinement for #2893, which was inadvertently merged too soon.
cc/@NonCreature0714

I have corrected some of the statements here in PR #2965 (see also its related PR #2966 ).
As far as I can tell, the Raspbian package does contains the Bash autocompletion file (it is in the .deb file), and when I install it on my Raspberry, completion works.
In addition, there is now a dedicated section for Raspbian, so I decided that the section on Debian should install the specific Debian for ARMHF package rather than the Raspbian variant. Corollary: the repository for Raspbian in the document will install Docker CE Edge, not Stable, whereas with the Debian URL one can chose between Stable and Edge.


Consistent seeding for sprinkled objects at different pointings in time

This is the problem @danielsf brought up in #31 concerning lenses.
I'm moving it here so that we can separate it from that pull request since this is a problem that is also being worked on by @rbiswas4 for supernovae.

Added to task list under #37

After discussion with @rbiswas4 and @danielsf we decided that since the number of galaxy objects in the proposed first run of Twinkles field is on the order of 250,000 we are safe using the result of (galid % (2^32 -1)) as the seed for numpy's random number generator. Rahul has also shown that none of these values repeats within the field of interest.

As mentioned by @jbkalmbach,  http://nbviewer.ipython.org/gist/rbiswas4/b1952341e75a049f820f shows that in the patch of sky used by @SimonKrughoff contains a small number of galaxies, and the galtileid % (2^32 -1) values are unique

#102 incorporates this into the sprinkler.


Consider Dooble as the default web browser

Please add (as Appimage if possible) Dooble browser.
github.com/textbrowser/dooble
Qt5-based, QtWebENGINE

hello @Ygarr thanks, will check it out.
Does it support ad blocking?

Yes it supports you can look here how:
https://github.com/textbrowser/dooble/tree/master/2.x/Data

Did you ever get the rpm made?  I can make a FreeBSD port of it if necessary-- that would help to get this in.

As for helloSystem, we don't even need a port for this since it does not need to be compiled.
I have made an example .app bundle:
https://github.com/helloSystem/ISO/releases/download/assets/Dooble.zip
Would still need to do something about the ad blocking though.
What are the Pros/Cons of using Dooble vs. Falkon?

ever get the rpm made?
I just were converted successfully with alien from deb to rpm in mageia linux by
sudo alien --to-rpm --scripts Dooble.deb
There was such automatic dependencies resolved/retrieved:
sudo urpmi /home/live/Dooble-2021.02.20-2.x86_64.rpm

To satisfy dependencies, the following packages are going to be installed:
Package Version Release Arch
(medium "Core Release (distrib1)")
lib64assimp3 3.3.1 5.mga8 x86_64
lib64poly2tri1.0 1.0 0.20160413.3> x86_64
lib64pq5 13.1 4.mga8 x86_64
lib64qt53danimation5 5.15.2 1.mga8 x86_64
lib64qt53dcore5 5.15.2 1.mga8 x86_64
lib64qt53dextras5 5.15.2 1.mga8 x86_64
lib64qt53dinput5 5.15.2 1.mga8 x86_64
lib64qt53dlogic5 5.15.2 1.mga8 x86_64
lib64qt53dquick5 5.15.2 1.mga8 x86_64
lib64qt53dquickanimation5 5.15.2 1.mga8 x86_64
lib64qt53dquickextras5 5.15.2 1.mga8 x86_64
lib64qt53dquickinput5 5.15.2 1.mga8 x86_64
lib64qt53dquickrender5 5.15.2 1.mga8 x86_64
lib64qt53dquickscene2d5 5.15.2 1.mga8 x86_64
lib64qt53drender5 5.15.2 1.mga8 x86_64
lib64qt5concurrent5 5.15.2 4.mga8 x86_64
lib64qt5gamepad5 5.15.2 1.mga8 x86_64
lib64qt5serialbus5 5.15.2 1.mga8 x86_64
lib64qt5webview5 5.15.2 1.mga8 x86_64
lib64unixODBC2 2.3.9 1.mga8 x86_64
qt3d5 5.15.2 1.mga8 x86_64
qtgamepad5 5.15.2 1.mga8 x86_64
qtserialbus5 5.15.2 1.mga8 x86_64
qtwebview5 5.15.2 1.mga8 x86_64
(command line)
Dooble 2021.02.20 2 x86_64
374MB of additional disk space will be used.
106MB of packages will be retrieved.
Proceed with the installation of the 25 packages? (Y/n)

Also Dooble supports WebEngine. WebKit was deprecated by Qt.

Falkon 3.1.0 which is our current default is using QtWebEngine 5.15.2.
So the question is, what would we gain/lose by switching to Dooble.
Does the Dooble.app bundle work for you?

..as for me personally, I can use 5+ browsers, while deleting ones that are by default

badwolf

badwolf

Not suitable because it uses Gtk.


Saving Corrected Images Example

Hello @yfukai,
I appreciated the help you gave in #81. I am one of the biologists within the @gwaybio lab and I was wondering if you could provide some clarification. I noticed that the examples provided do not show how to extract the corrected images and save them into a file. Is there a preferred method of saving that works best for BaSiCPy (i.e skimage.io.imsave or plt.savefig)?
I noticed that when I was using plt.savefig for saving the images, the outputted images were much smaller than the original. Is this to be expected?
Thank you!
Jenna

Hi @jenna-tomkinson, thank you for your interest! The default output will be float32, and I recommend saving this in a format which is capable of preserving its data.

I don't recommend plt.savefig as it doesn't save the raw data (it just saves the plotted version with the specified color map)
TIFF (through tifffile or skimage.io.imsave) is a good option but saving multiple channel might be tricky. I recommend saving each channel to a single image file https://stackoverflow.com/questions/57932630/save-32-bit-floating-point-tiff-image
If the downstream analysis is done in Python, using .npy or HDF5 format is the best choice as it works most stable.

I think we can add this to example notebooks. Re-open for now as a reminder.

Hi @yfukai,
Thank you for opening this back up! My lab is very interested in your method for saving the images and we are excited to be able to compare it to our method. You can view the existing solution we have here: https://github.com/WayScience/NF1_SchwannCell_data/blob/main/1_preprocessing_data/PyBaSiC_Pipelines/Illumination_Correction.ipynb.
Thank you for your work on this package!
Jenna Tomkinson

Hi thanks @jenna-tomkinson for your update!, it seems that you're using the older version of BaSiCPy. There will come the newer version (now developed in the dev branch) and I think the performance would change with that (as we have an algorithm update, but the original algorithm can also be used.). I'll update you as soon as we get to the release. (You can already install it from GitHub as pip install git+https://github.com/peng-lab/BaSiCPy@dev though)

The newer version will be found here.
https://github.com/peng-lab/BaSiCPy/tree/dev

Closing for new. Feel free to reopen.


feat: implementing dynamic title to pages

Related Issue

Closes: #1875
Description
Implementing Dynamic Titles for consistency and better SEO

Screenshots

@priyankarpal, I think the better way to add types is to use types provided by NextJs. For example, like this:

What so you say?

yeah we can

I have applied the types provided by Nextjs. Kindly review the PR now. ☺


Datadog feedback

Thanks for submitting a PR! Please check the boxes below:

[x] I have run pre-commit to check linting
[x] I have filled in the "Changes" section below?
[x] I have filled in the "How did you test this code" section below?

Changes

Removed the ability to edit flags, moving to Datadogs in built modals is a huge uplift.
Fixed double modal close button
Removed API logging
Fixed sorting within widget
Added an environment/ project select

How did you test this code?

Please describe.

@kyle-ssg can we get this into prod for a second round of testing


HUE-9487 [editor] Open in Editor Option Redirects to Default DB rather than expected one

What changes were proposed in this pull request?
HUE-9487 [editor] Open in Editor Option Redirects to Default DB rather than expected one
How was this patch tested?
Tested manually in Local hue, the Fix works well

@romainr  , could you please help me with this PR

************* Module notebook.views
desktop/libs/notebook/src/notebook/views.py:58: [C0301(line-too-long), ] Line too long (142/140)
desktop/libs/notebook/src/notebook/views.py:272: [C0301(line-too-long), ] Line too long (152/140)
desktop/libs/notebook/src/notebook/views.py:315: [C0301(line-too-long), ] Line too long (146/140)


String ID with non-URLsafe chars causes 404 when viewing detail page

I have an entity with a string ID field.
If the ID contains non-URLsafe chars like "+" or "/" then the detail links from the list view correctly escapes these chars, i.e. https://my-app.example.com/#/users/edit/x5ig%2BnkzATc%252FCBz , however following that link does not work:
I believe this is because the REST GET request for the user does not correctly escape the ID when using it as a URL parameter:
ng-admin.min.js:25 GET https://my-app.example.com/api/users/x5ig+nkzATc/CBz 404 (Not Found)

It's not an ng-admin issue, and it's the default behaviour of restangular (because you can legitimely call some safe url-encode your id.
Here an example : http://plnkr.co/edit/qrw9Y8rfUUmHM4rOJo1q?p=preview (the user John has 'test+/' as id.
Just used a Restangular interceptor and encodeURIComponent the url.

Yes, this is a bug in restangular. I have commented on that issue which was incorrectly closed.
I think that ng-admin should consider adding the workaround you suggest to its default configuration until the underlying bug in restangular is fixed.
In the meantime, I'll add that workaround to my app.
Thanks for your help.

Your workaround doesn't work; that plunker still sends invalid requests to the backend:
@http: GET /api/users/test+/

However, the "backend.js" has a broken URL parser which accepts these invalid URLs:
var _getModelId = function(url){
  var regex =  /^\/api\/([a-z]+)\/?([a-z0-9\+\/]+)?/g;

A similar example with a real REST backend doesn't work.
I'll try to create a better workaround.

I don't think this can be fixed with a request interceptor.
In general, how could a request interceptor distinguish between a "get" request for a "foo" object with id "1/bar/2" or a "get" request for a "bar" object with id "2" which is a child of "foo" with id "1"?

Indeed, your case can only work if you dont have two nested object to handle, eg with nodejs:
  router.get('/foo/:id')

Will works. But as soon you have two entity to handle, it's not gonna works, eg:
router.get('/foo/:id/bar/:pid')

Will not works. I can't help you here, the only way to solve cleanly this problem is to change the id generator used to avoid conflict or future edge-case (or encode hex before sending, and decode hex them in server side). Imho it's not restangular responsability, '+/' are in URL protocols. You have to adapt your code.
Regards.

This isn't a Restangular bug; it's an ng-admin bug.
The broken code is Application.getRouteFor in admin-config:
getRouteFor(entity, viewUrl, viewType, identifierValue, identifierName) {
        let baseApiUrl = entity.baseApiUrl() || this.baseApiUrl(),
            url = viewUrl || entity.getUrl(viewType, identifierValue, identifierName);

        // If the view or the entity don't define the url, retrieve it from the baseURL of the entity or the app
        if (!url) {
            url = baseApiUrl + entity.name();
            if (identifierValue != null) {
                url += '/' + identifierValue;
            }
        } else if (!/^(?:[a-z]+:)?\/\//.test(url)) {
            // Add baseUrl for relative URL
            url = baseApiUrl + url;
        }

        return url;
    }

I'll look into submitting a PR, and I'll update those Restangular bugs

Hmmm, if it's entityId, have you try to use the url hook which let you define the way you send ng-admin entityId ?
 nga.entity('users')
    .url(function(entity, type, entityId){
      return entity + (entityId ? '/' + your_encoder(entityId) : '');
 })

have you try to use the url hook which let you define the way you send ng-admin entityId

That would fix it, yes.
As I'm already running a fork of ng-admin due to several open bugs (see my PRs), I'll just patch the bug at source and submit a PR with a proper fix.

Fixed by #1088

This still doesn't work for me.
The Restangular request is fixed, if you jump directly to the entity Edit view in question.
However, the List view detail link for an entity with a non-URL-safe id is broken, as the link is escaped with "~" instead of "%".
You can see this in the plunkr linked at the top of this thread: http://plnkr.co/edit/qrw9Y8rfUUmHM4rOJo1q?p=preview


Burn times of BWM items/blocks are wrong

After playing around with JEI fir some time, I noticed, that every burnable item in BWm except bark and nethercoal has an burntime of 300 (1,5 items). This is ridiculous, considering you can saw a log into 6 planks and two bark, making a burn capacity of 6 * 1.5i + 2 * 0.5i  = 10i(i stands for smelted item), already being better than charcoal (considering you can double charcoal by using a kiln this isn't a big problem), BUT you can also cut the planks into sidings, then into mouldings and then into corners, rising the burn capacity to 6 * 2 * 2 * 2 * 1.5i + 2 * 0.5i = 73i, because corners also have a burn time of 300 (1.5i), meaning you can smelt 73 items with JUST ONE LOG.

Yeah, I've been meaning to address that.

Still isn't fixed...
The problem is the Material.WOOD, which is hardcoded into the vanilla furnace to give a burn time of 300.
(see net.minecraft.tileentity.TileEntityFurnace, getItemBurnTime())
You might also add appropriate burn times for wicker, grates, slats, tables and benches.

This seems like a problem that doesn't just extend to my mod, now that I look at it. Wooden slabs from other mods would also have a burn time of 300. I can probably do a workaround by changing the block's material to something else, but that just feels like a band-aid solution.


[BUG] Feature breakdown chart doesn't show anomalous interval

On single-entity detector historical analysis page, anomaly result line chart can't match the feature breakdown chart below.

We can see 5 anomalies on the anomaly line chart above, but the feature breakdown shows only two spikes around 1400. If zoom in the second anomaly , we can see the correct feature breakdown around 1400.

I guess the reason is we always query intervals which anomaly_grade>0 for the anomaly history line chart, but for feature breakdown we may just sample evenly if there are too many intervals, and that may skip the interval which has anomaly.
Suggestion: how about we always query and show the intervals which have anomaly on feature breakdown chart

From looking at the parsing logic, both the anomaly and feature data are coming from the same selected anomaly result, which has anomaly info and feature info. So I'm assuming this is a separate issue regarding some discrepancy in how bucketized results are rendered on anomaly results chart v. feature results chart.
Will first try to reproduce and confirm if the feature data is there, but just not showing up right.


chore: release main

:robot: I have created a release beep boop
core: 0.1.0
0.1.0 (2022-07-14)
Features

Button Component (7705929)

use: 0.1.0
0.1.0 (2022-07-14)
Features

Button Component (7705929)

monorepo: 0.1.0
0.1.0 (2022-07-14)
Features

Button Component (7705929)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/agufaui/agufaui/releases/tag/core-v0.1.0 :sunflower:


Fix Cross Evo Crash

3500!

C H E C K E M
H
E
C
K
E
M

Can we do more specific commit names :|

oh wow I thought it would take the pullreq name...


[DISCUSSION] make a preview of new icons on release

About this discussion
this is inspired by Arcticons
when releasing there should be an image previewing the new icons (or a few important ones)
the image will also contain some info like the version and number of new icons
I made one manually for 2.0.0 (using git diff, some python scripts i made and html) but it can probably be automated

It would be great to mark and filter new icons in the app itself. Something like that, between recent versions that have icon additions.

It would be better to implement categories (e.g. calendars, clocks, social, file browsers...). I think other icon packs already do this. And one of those categories would be "Newly added" (shorter and better than "New version additions")
Also that dot for new icons feels like a notification more than a tag, it would confuse some users
And i think that tabs would be better than chips unless you want to show multiple categories which will make it complicated. what do you think?

@thismoon
It is difficult to say which is better, so I will explain why I suggested this solution.

It is convenient to see what icons are new in the general list. For example, last time you were looking for some icon on C (let's say clock) and remembered by scrolling where it is approximately. So next time you can get there faster and see what's been added. Or search and see in the results marks at new icons. In my opinion a round marking won't be seen as a notification, because you're in a different context. Of course, the marking could be different because practical usefulness is more important than looks.

I consider tabs to be an element of navigation. In this case, I'm filtering new icons in a general list, so the tabs are wrong in meaning.

I didn't categorize everything for 2 reasons. The first is that everyone has different categories in their head, so to make an adequate system, you have to do card sorting. I don't have that option. Making categories without it, people will too often guess in what category to look for the desired icon. You get titles for the sake of titles. Second: if the list consists only of new icons, then it may happen that some category will be empty or with 1-2 icons. It turns out there is little use of the output of the category here.

@x9136
I agree with you on 2 and 3. But something about the round marking seems wrong (to me as a user). while some websites may use round marking on cards/buttons/other elements to indicate that it is a new feature, the user expects the marking to disappear after clicking on the element (which will not happen in our case)

A small badge is a simple circle, used to indicate an unread notification.
Badge – Material Design 3

I think it would be better to use a brighter background for new icons and when tapping on the icon there will be some text indicating that it's a new icon

@thismoon

I think it would be better to use a brighter background for new icons and when tapping on the icon there will be some text indicating that it's a new icon

When you need to explain an indication with text that means it's weak solution. A strong solution requires no explanation. Therefore, I suggest looking for a solution that doesn't need to be further explained or duplicated. For example, the connection between "New version additions" and an icon indication speaks for itself in the past version. Likewise, no explanation is needed when the indication itself says "New".

For the first version, this task can be simplified — it is enough to make 2 categories (headers):

New icons. In this category there will be only those icons that were not in the previous version.
Previously added icons. The rest of the icons will be in this category.


MangaJinx URL Change

Source information
ManhuaScan 1.4.8
Source language
English
Source new URL
https://mgjinx.com/
Other details
No response
Acknowledgements

[X] I have updated all installed extensions.
[X] I have opened WebView and checked that the source URL has not changed yet.
[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I will fill out all of the requested information in this form.

Mangajinx was added in as a mirror for Manhuascan in #849 so I assumed it was a source for it. When using the Mangajinx mirror for the Manhuascan extension, I noticed the link changed from Mangajinx to Mgjinx.

I commented it now, thanks!


Files are overwritten

Subsequently downloaded images are titled "photo_.jpg", and after downloading photos of more items in a row, previous files are overwritten. Is there a way to prevent it? Probably best would be to add the item name as part of the image file title - that would also help organize files. Otherwise, we have to manually rename files after each download.

Yes, I know, this is a bit annoying. Is it OK if I add an option --save-in-dir that creates a directory using the item name and put the pictures inside? Or do you prefer adding the name of the item in the picture name?

You mean it would be a subdirectory of the download folder, right? If so, then yes, that's a good solution! Even better if it takes you less time than renaming files.

Yes, this is it. I'll do it this morning (Paris time).

No rush needed, thanks a lot!

It's done. You can update the package with:
pip install --upgrade vinted-downloader

Then, to save in a subdir of the current directory, use:
python3 vinted_downloader.py --save-in-dir "https://www.vinted.fr/items/1234-item-title"

This will save the pictures in ./1234-item-title.
If you want to save in ./my-ouput/1234-item-title for example, add the -o my-output option:
python3 vinted_downloader.py -o my-output --save-in-dir "https://www.vinted.fr/items/1234-item-title"

The directories are created automatically if they don't already exist.

Thanks for the upgrade, but it's not working for me.
Upgraded the script, run the <python3 vinted_downloader.py --save-in-dir "URL"> command, and I get this error:

which means "cannot" in broken Polish (it's not even a full phrase) and it returns to the folder. No files are created. I tried removing Python, rebooting PC, and installing Python again, along with the vinted downloader, but the result is the same. Do you have any idea what might be the reason?

Oh, sorry, it should be python, not python3. I guess want is "cannot" do is finding python3...

Since I installed the vinted-downloader script, it doesn't matter from what folder I run the command prompt, right? The error appears even if I run the command from the Downloads folder, or the folder where I store the ZIP installers.

Oh, yeah, my bad:
python -m vinted_downloader --save-in-dir "URL"

I'm really sorry, but I've mixed Linux/Windows, sources/not sources when copy-pasting.

Haha, no problem! Third time lucky, as they say. Without you, I wouldn't do it at all, so thanks a lot! Closing the issue.


Proposal: provide ioutil.SafeWriteFile writing to a tmp file before overwriting an existing file

If ioutil.WriteFile fails for some reason during writing/closing, it may destroy an existing file with the same name before reporting an error.
It's not hard to handle this on a case-by-case basis, but I suspect this is a common scenario for which to protect against and perhaps should be supported by ioutil.
See #8984 for a use case.
Implementation:
// SafeWriteFile is a drop-in replacement for ioutil.WriteFile;
// but SafeWriteFile writes data to a temporary file first and
// only upon success renames that file to filename.
func SafeWriteFile(filename string, data []byte, perm os.FileMode) error {
	// open temp file
	f, err := ioutil.TempFile(filepath.Dir(filename), "tmp")
	if err != nil {
		return err
	}
	err = f.Chmod(perm)
	if err != nil {
		return err
	}
	tmpname := f.Name()

	// write data to temp file
	n, err := f.Write(data)
	if err == nil && n < len(data) {
		err = io.ErrShortWrite
	}
	if err1 := f.Close(); err == nil {
		err = err1
	}
	if err != nil {
		return err
	}

	return os.Rename(tmpname, filename)
}

Better func name welcome.

See https://go-review.googlesource.com/c/33018/2/src/cmd/gofmt/gofmt.go#244

This seems like a good idea. I would prefer it to have a WriteFile prefix, but WriteFileSafe is confusing.

Using an adverb would clarify what part is safe (the writing or the file): WriteFileSafely.
But maybe better to just replace the verb: ReplaceFile or something.

In light of #17873, we also need to decide whether the proposed
function should:

avoid rewrite the destination if it's readonly
preserve the destination's permission bits and other file system
properties like ACL, xattr and the like.

Solve the latter point is notoriously non-trivial, and it's something
to think about. I think it's probably one of the reason there is no
CopyFile function in the std.

I think the temporary file prefer on same disk-partition, same filesytem. How about to put the temporary file into same directory? ex: filepath.Join(filepath.Dir(filename), filepath.Base(filename)) + "~~~".

Sorry, already mentioned by grieseme.

In addition to what @minux mentioned, the proposed function should also preserve owner and group information.

Ahh, preserving ownership and group is hard.
I'm almost thinking that this is too big a problem to fix in std and gofmt
needs to choose another fix for ENOSPC problem, namely, make a backup of
the original file and then write to the original file unconditionally, and
if the write succeed, remove the backup.

@minux Yes, that's the other approach I was thinking of. It will make updates much slower if there's a lot of files to change. What I have now preserves permissions, but that is only half the story.

I wonder if the "Safe" name prefix will raise crash safety expectations that won't be fulfilled by the function as proposed. Brad's ReplaceFile nicely avoids this connotation.

@slrz Yes, as I said in the original comment, we need a better name. Here's a few more ideas:
WriteFileAtomically
WriteFileTransaction
WriteFileAndReplace (or ReplaceFile per @bradfitz)

Maybe AtomicWrite or AtomicWriteFile.

The word Replace here still doesn't make it clear whether it replaces the
content only (i.e. preserving ownership/permission/etc.) or the file as a
whole (which might not preserve ownership, permission, etc.)

It seems that we're heading into the area of bikeshedding, but any name with the words 'Safe' or 'Atomic' in them seems to imply to me heavier guarantees of data persistence than the current proposed implementation gives. I would expect f.Sync() to be called in it's implementation, but that incurs serious performance costs.

Probably relevant commentary around atomic writing in https://github.com/golang/go/issues/8868 and https://go-review.googlesource.com/c/1591/.

I haven't seen this mentioned before, but I've used: https://godoc.org/github.com/dchest/safefile before.

This seems very hard and maybe beyond the scope of the library.

We don't see how to do a 100% safe implementation of this on most systems. Gofmt changed to copy the old file to a temp file, then overwrite the old file, and then if the overwrite fails, attempt to rename the tempfile into the old file's place, which is actually different from the initial proposal.
You can have the one that clears permission bits / ACLs on success.
You can have the one that clears permission bits / ACLs on failure.
There doesn't seem to be one that is 100% "overwrite the file (and do nothing else) or else do nothing else." You have to pick which compromise you want that means "safe" in this case. Your choice may not be another person's choice.
If the community converges on a particular semantics that is the "right" one, we can certainly revisit this. But right now we don't know what this should do, especially well enough to put in the standard library.
Objections to declining this proposal?

You have to pick which compromise you want that means "safe" in this case. Your choice may not be another person's choice.

Would it be sensible for the standard library to include one or many of these functions that compromise in one way or another? From what I understand, you'd want the "right" one (as in not many at once) or at least for most people to agree on which is the better one.

I would rather see a third party package provide a set of functions that emphasis different design priorities rather than seeing the standard library provide a hodgepodge of different implementations.


Fix onEffectErrorObservable introduced in #15988

cc @RaananW

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/16020/merge
Test environment:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/16020/merge/index.html
To test a playground add it to the URL, for example:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/16020/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/16020/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/16020/merge
https://gui.babylonjs.com/?snapshot=refs/pull/16020/merge
https://nme.babylonjs.com/?snapshot=refs/pull/16020/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/16020/merge#BCU1XR#0

WebGL2 visualization test reporter:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/16020/merge/testResults/webgl2playwright/index.html

Visualization tests for WebGPU (Experimental)
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/16020/merge/testResults/webgpuplaywright/index.html


fix: improve translation of zh-CN docs

Improve translation of docs page in Simplified Chinese.
Major changes:
.npmrc

Correct punctuations.
Missing phrases: e.g. "in a Rush repo" and "but if used"
Wrong translations: e.g. "most" in "for most operations" was translated to "更多的 (lit. more) ". "may" in "you may need to create additional .npmrc files." was translated to "可以 (lit. can, be able to) " which should be "可能需要 (lit. have to do something possibly) "

rushx

translated into Simp. Chinese

rush-pnpm

translated into Simp. Chinese

rush_upgrade-interactive

translated into Simp. Chinese

rush_remove

translated into Simp. Chinese

@microsoft-github-policy-service agree

@Tanimodori please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
@microsoft-github-policy-service agree [company="{your company}"]

Options:

(default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.

@microsoft-github-policy-service agree

(when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.

@microsoft-github-policy-service agree company="Microsoft"

Contributor License Agreement

@microsoft-github-policy-service agree

@microsoft-github-policy-service agree

@Tanimodori  Thanks for helping fixing these docs! 🏆


onMessageReceived() can't receive Notification in background when app is closed

Hello,
I'm not able to receive any notification in background as system notification in Android and IOS
Here is my Environment for ionic ,cordova and angular
Ionic CLI                     : 5.4.4
Cordova CLI               : 9.0.0<EMAIL_ADDRESS>Cordova Platforms      : android 8.1.0
@angular/cli                : 8.1.3
Here is My package.json for Firebase X plugins:
"dependencies": {
"@ionic-native/firebase-x": "^5.26.0",
"cordova-plugin-firebasex": "^9.1.2-cli",
}
Here is my code I'm using FCM service for notification.
async listenToNotifications() {
return this.firebaseNative.onMessageReceived().subscribe(
 async res => {
    this.translate.get("OK").subscribe(value => {
      this.ok_label = value;
    });
    this.translate.get("CANCEL").subscribe(value => {
      this.cancel_label = value;
    });
    let msg: any = res;
    if (this.platform.is("android")) {
      if (msg.type == "publish_ig") {
        msg.body = msg.postText;
        let alert = await this.alertCtrl.create({
          header: msg.title,
          message: msg.titleText,
          buttons: [
            {
              text: this.cancel_label,
              role: "cancel"
            },
            {
              text: this.ok_label,
              handler: async () => {
                let modal =await this.modalCtrl.create({
                  component:ShareInstagramPage,
                  componentProps:	msg
                });
                modal.present();
              }
            }
          ]
        });
        alert.present();
      }
    } else {

      if (
        msg["gcm.notification.type"] == "publish_ig" &&
        msg.tap
      ) {
        let data = {
          type: msg["gcm.notification.type"],
          titleText: msg["gcm.notification.titleText"],
          origin: msg["gcm.notification.origin"],
          blogId: msg["gcm.notification.blogId"],
          body: msg["gcm.notification.notificationText"],
          igPic: msg["gcm.notification.igPic"],
          screenName: msg["gcm.notification.screenName"],
          media0: msg["gcm.notification.media0"],
          media1: msg["gcm.notification.media1"],
          media2: msg["gcm.notification.media2"],
          media3: msg["gcm.notification.media3"]
        };

        let modal =await this.modalCtrl.create({
          component:ShareInstagramPage,
          componentProps:	msg
        });
        modal.present();
      }
    }
  })

}
And this method listenToNotifications() is calling in app.component.ts when platform is ready.
Currently when i am sending notification via backend I'm receiving notification alert but only when app is open.
Really Appreciate For anyone's help.
Thanks

Background notifications are working fine for myself and other users of this plugin, indicating the issue is not caused by a bug in the plugin code.
Please use the example project as a known working codebase to validate your Firebase configuration.
Please also search for existing closed issues which may help you eg #425


Improve removing traces from old deployments

Signed-off-by: Lukianov Artyom<EMAIL_ADDRESS>

ok to test

retest this please

maybe we should consider using a non-default namespace for all our componenets/services/pvcs/etc...

@davidvossel I added this PR as temporary fix for the problem under the #558

retest this please

retest this please

@rmohr One test failed on timeout
Summarizing 1 Failure:

[Timeout...] CloudInit UserData CloudInit Data Source NoCloud [It] should launch VMs with user-data in k8s secret
/var/lib/jenkins/workspace/kubevirt-functional-tests/go/src/kubevirt.io/kubevirt/tests/vm_userdata_test.go:133

Ran 46 of 48 Specs in 958.535 seconds
FAIL! -- 45 Passed | 1 Failed | 0 Pending | 2 Skipped --- FAIL: TestTests (958.54s)

retest this please


could not launch process: could not find .debug_line section in binary

What version of Go are you using (go version)?

$ go 1.12.6

Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/careersocially/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/careersocially/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build032173936=/tmp/go-build -gno-record-gcc-switches"

What did you do?
I'm using JetBrains goland ide version 2018.1.6.
when i debug program they got error could not launch process: could not find .debug_line section in binary

What did you expect to see?
What did you see instead?

Hello @a2210 - we would need more information than this to investigate this. Perhaps this is an issue with JetBrains and not Go ?
Please give us the exact steps from the command line to reproduce this.

when i debug program in JetBrains goland ide version 2018.1.6 with go version 1.10.2  is work successfully
but when i change my go version 1.12.6 they got error like   could not launch process: could not find .debug_line section in binary

Please give us the exact steps that is required to reproduce this without JetBrains. i.e. - give us the exact steps that JetBrains is doing, and list it out step by step.
You say "debug program". Which program ? What Go command is JetBrains invoking which is causing this failure ? Please note that this issue tracker is about Go, not JetBrains. So any issue has to be specific to the Go command and toolchain. You need to find out what JetBrains is doing and tell us that.


[.Net] add release to nuget pipeline

Why are these changes needed?
This PR adds a workflow which publishes dotnet packages to nuget.org once there's a push towards dotnet/release/* branch

Related issue number

Checks

[ ] I've included any doc changes needed for https://microsoft.github.io/autogen/. See https://microsoft.github.io/autogen/docs/Contribute#documentation to build and test documentation locally.
[ ] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[ ] I've made sure all auto checks have passed.

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

Project coverage is 37.55%. Comparing base (33e42c4) to head (452cb73).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1989   +/-   ##
=======================================
  Coverage   37.55%   37.55%
=======================================
  Files          65       65
  Lines        6910     6910
  Branches     1520     1520
=======================================
  Hits         2595     2595
  Misses       4090     4090
  Partials      225      225

Flag
Coverage Δ

unittests
37.55% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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


[doc] Add logo img to index doc page

Add the logo image to index doc page

will merge once preview looks good

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Only make input paths absolute when -working-directory is passed

This is a partial revert of https://github.com/swiftlang/swift-driver/commit/a9f35bc15f68d4ae0cd3949afa6c78e1a3df8f80
When remotely building and sharing Swift artifacts it is important to maintain
relative paths to avoid serializing any paths that will not be valid on different
machines. Change the logic back to the previous model, and the one used
in the old swift driver, where paths are made absolute only when a
-working-directory flag is passed.

@swift-ci please test

@swift-ci please test

@swift-ci Please test Windows platform


Connected and working in iOS but not in Windows

I've followed the instruction to bringup a docker-openvpn container in Windows 10 Pro, I then tried connecting via OpenVPN Client ios, it is connected and working fine (i.e. I can ping other machines as I'm in LAN environment), but when trying on Windows with latest OpenVPN client, it is connected but not working (i.e. I cannot ping other computers in my LAN). I've checked the log, a couple of warnings and errors might be useful for debugging :

route gateway is not reachable
Unrecognized option or missing parameter(s) : block-outside-dns

Can you pls help advise?
Thanks,
Kun

This error indicates that the software can't read the TCP data from your system for some reason, so it's likely due to some sort of corruption somewhere in your TCP stack.
To fix this, go to Start -> Programs -> Accessories, right-click on Command Prompt, and click Run as Administrator. In Command Prompt, type the following commands, hitting enter after each:
netsh dump
netsh winsock reset
netsh int ip reset log.txt
ipconfig /flushdns
exit
After this, go into your Device Manager, expand Network Adapters, and disable each network adapter showing there (not uninstall; just disable). Once one is disabled, re-enable it; this will refresh all TCP bindings to it. Once you've done this to all the network adapters present there, power down your computer, wait 60 seconds, and power it back up.
it's worth a try

hi @mathieu-aubin
I tried all your instructions on my Windows 10 client but nothing works. Symptoms are a the same as @kunxia described above
I hosted the container on ubuntu on AWS & I can connect my client devices in Android, Ubuntu & MacOS, but not Windows 10
With all respect, power down your computer, wait 60 seconds, and power it back up sounds funny to me but I did try it, but it does not work either :D


Settings crash in 1.9.3

In 1.9.3-google, the app crashes when accessing Settings → Interface.
Cleaning the app data doesn't fix the problem.
Screen recording:
https://github.com/ev-map/EVMap/assets/4492221/f7a58fb3-50f3-4526-ab73-da4129a52da7

thanks! Will be fixed with the next release


Jsdoc https @link text not parsed properly

TS Template added by @mjbvz
TypeScript Version: 4.6.0-dev.20211108
Search Terms

jsdoc
quick info

Does this issue occur when all extensions are disabled?: Yes

After searching the issues, I have found relevant ones :

https://github.com/microsoft/vscode/issues/126180
https://github.com/microsoft/vscode/issues/126626 (closed as duplicates of the first one)

They are closed since v1.58.0 with this commit https://github.com/microsoft/vscode/commit/7339e948305024dbf0479e926e7e5bccb8baa97b. I don't know if they are related or  not.

Using VSCode v1.62 shipped with TypeScript v4.4.3, the url gets splitted after https?.

Using TypeScript v4.2.4 only URLs work, not symbols.

Using TypeScript v4.3.5, everything works fine.
I do not understand why the JSDoc implementation on VSCode is dependent of TypeScript version even in pure JS files. I apologize if TypeScript version older than v4.3 are not supported, and I think they are not by reading the issues about implementing @link.
There is still an issue with the latest version.
I currently do not have the time to investigate more, sorry for that. Thanks for reading me!
Here is the sample of code I used :
class MyClass {
  foo;
}

/**
 * See {@link MyClass} and {@link MyClass.foo foo}.
 * Also, check out {@link http://www.google.com} and
 * {@link https://github.com GitHub}.
 *
 *
 *
 */
function myFunction() {}

VSCode About section :
Version: 1.62.0
Commit: b3318bc0524af3d74034b8bb8a64df0ccf35549a
Date: 2021-11-03T15:18:44.904Z
Electron: 13.5.1
Chrome: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
OS: Linux x64 5.4.0-89-generic

For:
``js
/**
{@link http://www.google.com}
*/
function myFunction() {}

The returned `quickInfo` is:

```js
"documentation": [
        {
            "text": "",
            "kind": "text"
        },
        {
            "text": "{@link ",
            "kind": "link"
        },
        {
            "text": "http ://www.google.com",
            "kind": "linkText"
        },
        {
            "text": "}",
            "kind": "link"
        }
    ],

I do not understand why the JSDoc implementation on VSCode is dependent of TypeScript version even in pure JS files.

VSCode uses the TypeScript language service for IntelliSense in both JavaScript and TypeScript.  This includes JSDoc parsing, which TS implements because it can optionally use it for type checking with checkJs.

There's another issue regarding the display text for @link tags. According to the TSDoc specification and its dependant API Extractor, if we want the display text to be different from the reference, we need to use {@link DECLARATION_REFERENCE | DISPLAY_TEXT }. But doing it this way results in the following tooltip in VS Code:

Notice how the vertical bar (|) is included, even though it is not meant to be included.
While removing the vertical bar does make it display the correct text in the tooltip, this goes against the above documentation, their example code and even the official tsdoc library, as the latter will output a tsdoc-reference-missing-dot warning, since it thinks it's still parsing a declaration reference due to not encountering a vertical bar.
It's worth mentioning that JSDoc does allow omitting the vertical bar, but it also supports having the vertical bar. Their examples showcase that if a vertical bar is used, it isn't displayed, similar to how TSDoc handles the vertical bar.
Tested using TypeScript versions 4.4.4 and 4.5.4

@SchoofsKelvin can you open a separate bug for that? It's worth fixing, but from my perspective it's a separate feature than correctly keeping http and :// together.


Light bulb should be greyed out after the line/keybinding is no longer active

Testing #166761
In the editor, users are trained that whenever they see a lightbulb, they can ctrl+. for a quick fix. However, in a terminal, we can show a lightbulb for a previous line:

This light bulb can still be clicked on, but the keybinding doesn't work here. I suggest greying out (or removing) the lightbulb in this case.

This is a special case where if no command is run, the previous quick fixes are still available, for example if you double hit enter. It's correct that it's yellow but the keybinding should definitely still be working.

The keybinding still works for me even after i've hit enter a few times


Bash auto completion: Path fixes

I was bored of typing long lines at the CLI, so I started implementing a bash auto completion script for kapacitor, only to find that there is already one, well hidden in the git repo (of course I figured that out after I finished my own script). It seems not to be installed by the current .rpm package. Anyhow. I now base on the existing script with improved file name auto completion for -tick and -vars parameters of kapacitor define.
Required for all non-trivial PRs

[x] Rebased/mergable
[x] Tests pass
[ ] CHANGELOG.md updated
[x] Sign CLA (if not already signed)

Comments

How shall I update the changelog? This pull request does not yet have a number.
At $packager: The bash auto completion script seems not to be installed by default

@bbczeuz Look good to go. I had an upstream build failure which is causing your PR to fail. Can you rebase off lastest master, that should fix it? I'll merge on green.


Instantiating a specific integer results in an overflow error, even though it clearly fits within the specified size

Version
1.6
Platform
Darwin computer.local 21.2.0 Darwin Kernel Version 21.2.0: Sun Nov 28 20:28:41 PST 2021; root:xnu-8019.61.5~1/RELEASE_ARM64_T6000 x86_64
Description
Attempting to instantiate the number<PHONE_NUMBER>12969093929703085429980814127835149614277183275038967946009968870203535512256352201271898244626862047232 as a Uint<384, 6> results in overflow errors at compile time.
The following code:
use ruint::{uint, Uint};

fn main() {
    println!("{}", Uint::<384, 6>::MAX);
    let _a = uint!(258664426012969093929703085429980814127835149614277183275038967946009968870203535512256352201271898244626862047232_U384);
}

Resulted in this error:
jules@computer test-uint % cargo run
   Compiling test-uint v0.1.0 (/Users/jules/workspace/test-uint)
error: proc macro panicked
 --> src/main.rs:5:14
  |
5 |     let _a = uint!(258664426012969093929703085429980814127835149614277183275038967946009968870203535512256352201271898244626862047232_U384);
  |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |
  = help: message: attempt to add with overflow

error: could not compile `test-uint` due to previous error

When putting the MAX and the given integer next to each other:
39402006196394479212279040100143613805079739270465446667948293404245721771497210611414266254884915640806627990306815
258664426012969093929703085429980814127835149614277183275038967946009968870203535512256352201271898244626862047232
It's clear that the integer should at the very least fit within the bounds of 384 bits.
So far from simple checks, the compiler will allow it if the number is decremented by 1, but still error if it is incremented by 1. I have not checked any other values for now, though I am capable of successfully instantiating Uints of the same bitsize with much higher values, without any issue.

Upon further inspection, it appears that the panic occurs here, when constructing the limbs.
When I add some before and after prints, this is what the compiler ends up spitting out..
         // Add digit to result
         println!("a");
         limbs[0] += digit; // Never carries
         println!("b");

// Previous output trimmed for brevity
...
a
b
a
b
a
b
a
error: proc macro panicked
 --> src/main.rs:5:28
  |
5 | ...> = uint!(258664426012969093929703085429980814127835149614277183275038967946009968870203535512256352201271898244626862047232_U384);
  |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |
  = help: message: attempt to add with overflow

error: could not compile `test-uint` due to previous error

So it appears there's a minor chance that overflow does occur in this algorithm, in which case a simple fix could be to just use overflowing_add and check for overflow, incrementing the next limb by 1 if it overflows.

Yes, the comment about carries is only valid for power-of-two bases. In fact it is possible to construct arbitrarily long carry propagation like so:
uint!(2135987035920910082395021706169552114602704522356652769947041607822219725780640550022962086936576_U384)

Basically 2**(N*64) + [0..basis)

Version 1.7.0 is published that includes the fix.


Add identifier to TimeDecoratorView.xib (mac)

🕶 Types of changes
Bug fix (non-breaking change which fixes an issue)
🤯 List of changes

[x] Add Identifier to TimeDecoratorView

👫 Relationships
Closes #3442
🔎 Review hints

Clone master and make sure there are many warnings when expanding the LoadMore.
Double check on this PR and make sure no more warnings.

@NghiaTranUIT I don't get those warnings on `master. I'm on Xcode 10.2.1, macOS 10.14.6. Are these warnings happening only on Catalina?

Yup, only Catalina I believe 👍


Api to find if the instance type supports accelerated networking or not

Since azure supports accelerated networking for few instance types.
I believe there should be a way to find if the instance type used to provision the vm/vmss supports accelerated networking or not.
Hard coding the supported instances types in app code is not recommended as when azure gives the support for other instance types then we need to change the code and redeploy which would be an overhead and delay the process.

hi @xccc-msft could you pls have a look? thanks

@akshitjain It looks there is no API to help validate whether the instance type supports accelerated networking as per the REST APIs of  VM and VMSS.
Below links might help you:
Supported VM instances on Windows.
Supported VM instances on Linux.

hi @akshitjain does above info helpful?

@akshitjain We will close this issue for now as no update from your end. Please feel free to reopen if you have further question on this. Thanks.


Labels getting clipped with some sources but not others

Labels are getting clipped with some sources in tile mode, while others are not getting clipped
For an example,
This map is using western-zone-latest.mbtiles from the example https://github.com/maptiler/tileserver-gl/issues/618#issuecomment-1328116302 which was made with  tilemaker. you can see the label is clipped.
https://tiles.wifidb.net/styles/western-zone/?raster#15/22.8167/72.7381

However this is the same style using a planetiler generated mbtiles file
https://tiles.wifidb.net/styles/bright/?raster#15/22.8167/72.7381

What's the difference? Both these are rendered in tile mode.
If I set tileserver to run in static mode, the second example clips text like the first example. The first example does not improve in static mode.
Originally posted by @acalcutt in https://github.com/maplibre/maplibre-gl-native/issues/632#issuecomment-1369099484

Nice we can have a conversation not being offtopic hahaha. So, the real problem is the way the tiles are generated with TileMaker. It keeps only the features that are inside one particular tile. That means it doesn't include point features outside that tile. Planetiler seems to be smarter and include surrounding point features that go outside the tile, hence the non-clipping situation.
When I mentioned static, I mean the possibility of rendering the surrounding tiles, that is, with a margin that could include the point where the labels are rendered. This is my way to solve this my problem because I had my tiles generated with TileMaker. If you use static mode without a margin, labels will be clipped in some situations, probably worse than rendering with tile mode, like you demonstrated.
The Maplibre-GL-Native code already deals with this situation by rendering elements that go outside the tile borders. The only thing it needs is to have the tile data including points outside the tile. This is why TileMaker tiles are more prone to label clipping than Planetiler.

That makes sense.
One of my idea to work around this in tileserver was to set the mode to static when the TileMargin option was set. similar to how I made it switch when using static tile mode  https://github.com/maptiler/tileserver-gl/pull/608 . That kind of makes it hard to have different sourced mbtiles though.

For while, I think it's a good approach. The best solution would be have a better MBTiles source by TileMaker, or have parameters in Maplibre-GL-Native to make it load the surrounding tile data if the user wants to.

The thing I don't get is if this was at the tilemaker generation level, wouldn't that show in inspect when looking at the data?
If I look at https://tiles.wifidb.net/data/western-zone/#14/22.8167/72.7381 you can see the point and the full text

Not in this case, because you are not fetching just one tile, you are fetching everything in this viewing window, that is, at least 4 tiles (maybe much more). You can check in DevTools's Network tab (Chrome, Opera, Firefox and Edge have it).
The problem with label clipping occurs only if the renderer didn't fetch any data yet in that region/zoom level. Tileserver-GL uses more than one renderer at a time, so if two separate renderers are rendering adjacent tiles, there is a bigger chance to have this problem occurring, because when renderer is requested, it tries to reuse data it has already fetched, so adjacent tile data (and label points) are present. If there are not surrounding tiles's data, and a point label is nearby, but outside of the tile of interest, then it will not be rendered in that tile, but when it comes to render the tile where it is, then it will be rendered, resulting in label clipping (because it is showing up in one tile but not in another, when it should appear in both).

I tested forcing tileserver to use a static mode renderer when TileMargin in this PR https://github.com/maptiler/tileserver-gl/pull/694/ and it does seem to work.
I was worried this would affect the other labels I fixed with tile mode in https://github.com/maplibre/maplibre-gl-native/issues/284 , but is seems the TileMargin of 10 was enough to keep those looking ok

Yes, for every map you can find a reasonable margin amount. I went crazy and added a 256 tile margin HAHAHA. Insane amount of extra rendering (768x768 for every 256x256 tile), but never faced label problems again. Of course I really prefer to have data fetched in a better way than rendering data like that.


Web request example using ehttp

Objective

Currently there is no example how to perform web requests from bevy. This PR fixes that and maybe hopefully starts discussion about providing at least basic web request capabilities to the engine.
Fixes https://github.com/bevyengine/bevy/issues/6903

Solution

Provide example how to perform web request, greatly inspired by https://github.com/foxzool/bevy_http_client crate.

Changelog
Added

async_web_request example using ehttp library.

I'm in favor of adding this example: this is a tangible grounded example in a domain where we badly need more.

still not a fan of adding this as an example in Bevy, and as is it doesn't show anything new so it adds more maintenance

still not a fan of adding this as an example in Bevy, and as is it doesn't show anything new so it adds more maintenance

TBH, I don't agree, as it can become a beginning in starting work on providing web request capabilities to the engine.
BTW, is there any issue created for discussing adding web request support to the engine besides the issue that I mentioned in PR description?

still not a fan of adding this as an example in Bevy, and as is it doesn't show anything new so it adds more maintenance

TBH, I don't agree, as it can become a beginning in starting work on providing web request capabilities to the engine.
BTW, is there any issue created for discussing adding web request support to the engine besides the issue that I mentioned in PR description?

No issue yet for adding that in Bevy, it hasn't come up very often.
Could you try to make the example work in wasm? That would be new and useful as a start.

still not a fan of adding this as an example in Bevy, and as is it doesn't show anything new so it adds more maintenance

TBH, I don't agree, as it can become a beginning in starting work on providing web request capabilities to the engine.

BTW, is there any issue created for discussing adding web request support to the engine besides the issue that I mentioned in PR description?

No issue yet for adding that in Bevy, it hasn't come up very often.

I will create one then later then. For someone with my background (mobile games before, now game dev tools with a lot networking) it's a must have in a game engine.

Could you try to make the example work in wasm? That would be new and useful as a start.

Isn't that the issue that tasks don't work on wasm now?

Could you try to make the example work in wasm? That would be new and useful as a start.

Isn't that the issue that tasks don't work on wasm now?

No, they work

Could you try to make the example work in wasm? That would be new and useful as a start.

Isn't that the issue that tasks don't work on wasm now?

No, they work, but you can't get a result from them

So is there a way to get that value? Using a Mutex or something else? Because right now I am not quite sure what do you expect from me- is it to implement the web requests other way than using task or using task differently to achieve that?

@mockersf @SpecificProtagonist @BD103 Example now should work on web as well.

To address @rlidwka is it not possible to just feature gate ehttp dep like so many other features in bevy?

@miketwenty1, this is not a feature, this is an example.
If you need 3rd party dependencies in examples, it might be worth considering to make them as separate crates (with their own cargo.toml) like axum does:
https://github.com/tokio-rs/axum/tree/main/examples

@rlidwka Makes sense. Any discussions you know of, I can follow, in relation to adding async web requests natively within bevy without a 3rd party dep?

Any discussions you know of, I can follow, in relation to adding async web requests natively within bevy without a 3rd party dep?

None.
Imho, this is too rare of use-case to have in bevy core, and for those people who needs it, it's easy enough to implement using any of the 3rd party crates.
I've implemented this before myself a few times in my projects, which you can look at here: https://github.com/bevyengine/bevy/discussions/11108
(that being said, wasm support and other cross-platform concerns can be a compelling argument in favor of having small client in bevy)

I'm going to nominate this PR to be closed. I personally believe that networking is too game-specific and should be handled by 3rd party plugins. Even adding a networking library such as ehttp takes a step in this direction, a step that I'd rather not make.

The work adds features or abstraction of limited value, especially in a way that could easily be recreated outside of the engine.

Closing PRs and Issues in CONTRIBUTING.md

There's no SME for networking, so I'm going to leave this to the maintainers to make the final decision.

I think the energy required to come to a decision here would be better spent elsewhere unfortunately.


[Class 004] - Adding more operations

Descriptions:
In this class, we will introduce 2 new operations to our calculator, multiplication, and division, using previously learned concepts
Goals:

Add multiplication and division
Explain exceptions (using if, not try/catch)

Adding a new class, so moving this 1 up


finsql.exe commande is too long - generatesymbol

Hi,
I am upgrading a 2017CU9 version to BC14CU7.
I have made all the customisation in extension, so the 2017CU9 old base haven't any custom object.
I have made the application upgrade.
I can open my Migrated BC version with web client, with all my data and everything work well.
Now, I want to install my Extension.
I have made the Extension with a docker image , of the version BC14CU7, and everything worked perfectly.
Now, I want to install the package on my migrated BC14CU7 instance.
So, I get my package file , and try to install with the Publish-NAVApp command.
I get this error :
"
Publish-NAVApp : Extension compilation failed
error AL1024: A package with publisher 'Microsoft', name 'Application', and a version compatible with '<IP_ADDRESS>' could
not be loaded. Symbols for the requested app Application by Microsoft <IP_ADDRESS> could not be found in the database
error AL1024: A package with publisher 'Microsoft', name 'System', and a version compatible with '<IP_ADDRESS>' could not
be loaded. Symbols for the requested app System by Microsoft <IP_ADDRESS> could not be found in the database"
So I understand the symbol are not generated in the BC14CU7 database.
So I try this :
cd "C:\Program Files (x86)\Microsoft Dynamics 365 Business Central\140\RoleTailored Client"
.\finsql.exe Command=generatesymbolreference,Database=BC14CU7", ServerName=MyServer
and , I got this error :
The Text generatesymbolreference,Database=BC14CU7", ServerName=MyServer is too long.
Text can have a maximum lengh of 47 characters
So...Cannot generate symbol....
Can you help me please ?
thank you

I find out :
Because of the copy and Past as it is from all the forums, I have copied the Space before each coma.
So , delete the coma, and the commande work well.
Hope will help others.

It helped me, thanks!


Implement cumsum of Variables

For many optimization models that consider time, it would be helpful to be able have a shortcum to calcualte the cumulated sum along a dimension (e.g. to calculate the inventory position as the cumulated sum of all inbound orders minus demand).
This functionalty is available in xarray but apparently not in linopy (as of Version 0.2.2).

A walkaround right now is to use the rolling method and then call .sum() on the result

inventory_position.rolling(time=10000).sum()
(where 10000 is just a large number, can be longer than the size of the dimension)

Hey @hblunck, this would actually be a nice feature. Since the formulation is quite similar, your approach might even fit for the final function by setting the window size to the size of the dimension. I am not sure about the performance, but anyway this could suit for a start. Would you be interested in drafting a PR?

Hey @FabianHofmann , thanks for the encouraging feedback. I did take a shot at it in #147. I don't think that is complete yet, though.


[Bug]: HiveSQL 校验错误

Version
v4.1.0-beta.0
Which SQL?
Hive
SQL content
set hive.xx.select.result.encode.enabled=true;

JavaScript/TypeScript code
No response
What happened?

Relevant log output
No response

done with  https://github.com/DTStack/dt-sql-parser/pull/365

The issue has been resolved in<EMAIL_ADDRESS>