Dataset Download

Thank you for this nice work.
I am trying to download the dataset following the standard instruction. All the links are working well except the second zip file: "msls_images_vol_2.zip ". Could you please check and verify this link?

Links work fine on my side. Can you try from a different computer, perhaps from an incognito browser tab?

Links work fine on my side. Can you try from a different computer, perhaps from an incognito browser tab?

Thank you for your quick reply. I have checked on the other computer, but the "msls_images_vol_2.zip " still does not work. Is there any other way to download the second one? The other ones are working well.

When you say it doesn't work, what do you mean?

From: Jeff-Zilence @.>
Sent: 14 December 2021 16:19
To: mapillary/mapillary_sls @.>
Cc: Manuel López Antequera @.>; Comment @.>
Subject: Re: [mapillary/mapillary_sls] Dataset Download (Issue #21)
Links work fine on my side. Can you try from a different computer, perhaps from an incognito browser tab?
Thank you for your quick reply. I have checked on the other computer, but the "msls_images_vol_2.zip " still does not work. Is there any other way to download the second one? The other ones are working well.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/mapillary/mapillary_sls/issues/21#issuecomment-993649195, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAH4OZYSIVOUMCLWXPW75XTUQ5N7FANCNFSM5J76EZIA.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign=notification-email&utm_medium=email&utm_source=github.

When you say it doesn't work, what do you mean?
…
________________________________ From: Jeff-Zilence @.> Sent: 14 December 2021 16:19 To: mapillary/mapillary_sls @.> Cc: Manuel López Antequera @.>; Comment @.> Subject: Re: [mapillary/mapillary_sls] Dataset Download (Issue #21) Links work fine on my side. Can you try from a different computer, perhaps from an incognito browser tab? Thank you for your quick reply. I have checked on the other computer, but the "msls_images_vol_2.zip " still does not work. Is there any other way to download the second one? The other ones are working well. — You are receiving this because you commented. Reply to this email directly, view it on GitHub<#21 (comment)>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAH4OZYSIVOUMCLWXPW75XTUQ5N7FANCNFSM5J76EZIA. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign=notification-email&utm_medium=email&utm_source=github.

When I click the link for the second file, I get "HTTP ERROR 400".

I have tried using different accounts, different browsers, incognito browser tab and different computers. The link of the second file either has no response on Firefox or returns "HTTP ERROR 400" on Chrome.
Is it possible to check the link of "msls_images_vol_2.zip" specifically? Is there any alternative way to download this file?


Not possible to implement WorkspaceSymbolProvider with only offset information?

It appears that it's not really possible to implement WorkspaceSymbolProvider if all you have available from the underlying language analysis engine is offset information (vs. line/col).
The vscode API requires that you provide line/col for every reference up front, which would require opening every file and mapping position information.
Questions:

Could the vscode API allow passing offset information instead of line/col in this case?
Could the vscode API allow a callback that computes line/col (after providing a TextDocument) instead of providing it up-front, since the UX doesn't need this info until after the user chooses to navigate to a reference?
Is there any way to work around this?

Fair request, no workaround as of today. Needs some thinking as this might be an issue in several places...

@aeschli Is this urgent?

@jrieken No rush, we don't have any deadlines yet, but it would be great to have it in one of the next milestones.

@lukehoban Not sure if this is still relevant for vcode-go but you can do option #2


Update SL Dimensions SCD section to comply with the validation rules

Contributions

[X] I have read the contribution docs, and understand what's expected of me.

Link to the page on docs.getdbt.com requiring updates
https://docs.getdbt.com/docs/build/dimensions
What part(s) of the page would you like to see updated?
Current'y it's not very clear how to properly use SCD dimensions:

In the top table in type field we say "There are three types", but in YML there are only 2 options possible, which is fine, but quite confusing
In all dimension examples it's shown metric_time as a dimension, however it's a reserved word and such dimension is not allowed
Note: The SCD dimensions table must have valid_to and valid_from columns. -- it's not clear if these columns are really physically should exist or just configured via validity_params : is_start / is_end

Additional information
No response

update - we've merged a PR https://github.com/dbt-labs/docs.getdbt.com/pull/5409 which addressed this feedback - i really appreciate it!

Thanks for the quick improvement!
However let me reopen the issue with some feedback:

I see the change of metric_time in one place in the doc, however simple page search gives 17 more occurences - I'm sure many of them should be adjusted as well
Overall it would be fantastic to put there some working examples, not some direction of the yml from previous versions. It's still not clear what is required and with what name based on your examples. Let me be specific here:
a) entity_key (required): An entity_key (or some sort of identifier) must be present. -- how I should interpret it? To have any entity of any type or having dimension with the name entity_key?
b) valid_from and valid_to that are required: should I have 2 dimensions named exactly like these or should I mark them via validity_params: is_start/is_end?

Really sorry for bothering you with it. A bit on the background: I'm running multiple projects with DBT for 2+ years, maintaining a dbt fork and consider myself quite an experienced used, and I still can't deal with these SCD2 dimensions without looking into the metricflow code, that's why I decided to help community and open this doc improvement request.
I know that this is not a error debug channel, but here is the error I have (maybe it will give you a hint where it's needed to update the docs, so users do know how to deal with it :) ):
ERROR: Cannot process join to data set with alias subq_9 because it has a validity window set: ValidityWindowJoinDescription(window_start_dimension=TimeDimensionSpec(element_name='valid_from', entity_links=(), time_granularity=TimeGranularity.DAY, date_part=None, aggregation_state=None), window_end_dimension=TimeDimensionSpec(element_name='valid_to', entity_links=(), time_granularity=TimeGranularity.DAY, date_part=None, aggregation_state=None)), but source data set with alias subq_7 does not have a metric time dimension we can use for the window join!

hey @SOVALINUX thanks so much for the detailed write up - no worries at all and i appreciate you providing more context and looking out for the community ✨ - I'm going to look into this next week and see how can make this clearer for you. will revert back and thank you again!
with regards to your error, I'm going to flag this to the team internally to see what they say!

hey @SOVALINUX , thanks for your patience and I've checked with the internal team on this. if you're getting this error, it could be due to the following possibilities:

You need to group by metric_time. If this solves the problem, please let me know so i can pass the info to the team to see if we can improve the error message.
 If so, we might need to see how we're handling the SCD join scenario. A possible workaround for now is including metric time and filtering to a single metric time value.

Let me know if that helps solve the error you're seeing!

hey @SOVALINUX ! sorry for the delay here and I'm working to confirm and clarify this next week!

hey @SOVALINUX , i've opened up a pr to clarify the validity_params confusion - i hope it clarifies how valid_to/valid_from aren't  part of the config and its relation to validity_params. thank you again and let me know if you have any feedback on this!


Issue verification code on matchback

JIRA ticket number
GITPB-415
Context
When a candidate enters their first/last/email we want to check if we have a matching candidate in the system already. If we do, a verification code should be emailed to the candidate that they can then use to 'authenticate' and we can pre-fill the sign up form.
Changes proposed in this pull request

Move logic to save into the step model

This will enable us to perform other model-specific actions - such as requesting out to issue a verification code on the Identity step - on save.
Also renames @registration to @step for clarity.

Move responsibility of updating store to the steps

Previously the RegistrationsController updated the store; this is now encapsulated into the Step model so that we can more easily structure the authentication/matchback logic (i.e. clear the store prior to pre-populating on successful matchback).

Send verification code on matchback

If a candidate enters a first/last/email that matches an existing candidate in the CRM we want to email them a verification code that can be used in a subsequent step to retrieve their details and pre-fill the form.
Guidance to review
The IssueVerificationCode concern is pretty much lifted/shifted from the get-into-teaching-app; the other minor changes aim to align this registration process with the app as well.

I'm going to raise a new PR with the changes on top of the refactoring PR.


[VMSS] Fix subtle issue with VMSS diagnostics set

In PR #4579, @lmazuel is testing a change to msrest that rejects the default Python behavior of treating strings as iterables, which causes this test to fail. Instead of sending a string, we send the string wrapped in a list, which is what is intended. This causes no customer-facing changes.

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

[N/A] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

Command Guidelines

[X] Each command and parameter has a meaningful description.
[N/A] Each new command has a test.

(see Authoring Command Modules)

@lmazuel @tjprescott , is this the only place that is broken, or we are still in the process to dig out all of them?

@yugangw-msft Should be the only place, according to CI in https://github.com/Azure/azure-cli/pull/4579

@yugangw-msft @tjprescott I lost write access to this repo (i.e. I can't merge). If it's on purpose I get it (I'm not technically CLI team). If it's not on purpose, can you add me to the right team?


Use node reference comparison to dermine if table is delete target

AC

CC: @martint @kasiafi

Automation unrelated; broken master


Refactor api package

I refactored the api package, moving all the HTTP-related stuff back into the main package with only business logic in api. I like the result--the api package is nice and clean and the HTTP boilerplate is elsewhere. Thanks for the suggestion @DallanQ! Let me know what you think.
I also switched from PATCH to PUT for updates.

I really like the changes!


Custom Fields

Ability to add custom fields to tasks, users and projects, also use custom fields in automatic actions.

@fguillot are there any plans to add custom fields to roadmap?  Only feature restricting migration to Kanboard.

There is a new Plugin System in the next Version, so you could add anything you want.
https://github.com/fguillot/kanboard/blob/master/doc/plugins.markdown
But a little bit of coding is needed.
I already thought about a plugin or a core function that allows you to add custom fields via GUI. Like the wordpress custom fields: https://codex.wordpress.org/Custom_Fields

@timjcraig I agree with the feature request but there is so much stuff to improve before, I will see how to implement that.

Technically it is now possible with the meta table: https://github.com/fguillot/kanboard/blob/master/doc/plugin-metadata.markdown

THIS!!!  We are going to deploy kanboard in the next week or 2 but one of the items that would really help us would be the ability to add custom fields ... so here is another vote for the ability to have custom fields.

Basically, the feature is accessible programmatically for plugins but there is no user interface at the moment.


Search Bug

link -> https://www.baidu.com , when you search click textfield ,it will refresh.
set  custom density,fillMaxSize cannot work.
搜索框一点就刷新啦啊

@1006245347 Thanks for your feedback! Which platform are you running on? It works well on my Android device.

android  is ok, iOS  cannot not work,  I try   http://wfserver.gree.com/sso/(S(ss2tmixwjcvqebnq4qmn0ahy))/oauth/show?appid=6702ec12-a538-4335-ab88-c2a6174b8800
if you touch textfield in webpage,it can be show

@1006245347 Both the URL and baidu.com are working properly on my Android and iOS devices. I believe this issue is related to either the website or the device. This library does not intercept text field focus.

if textfield in websit could be refresh when you click if ,you click the 'sign in' ,your webviewState should be filter textfield.

@1006245347 I am not sure if I understand you correctly. But it still works well on my side with "sign in" clicked.

android  no problem, iOS can't work

wait a mintues, I show you a video

@1006245347 It's wired. It works well on my iOS device. It seems that you are running your own test code. Could you try to run the sample in this library and see if the problem still exists?

voyager-navigator = { module = "cafe.adriel.voyager:voyager-navigator", version.ref = "voyager" }
voyager-tab-navigator = { module = "cafe.adriel.voyager:voyager-tab-navigator", version.ref = "voyager" }
voyager-bottom-navigator = { module = "cafe.adriel.voyager:voyager-bottom-sheet-navigator", version.ref = "voyager" }
voyager-transitions = { module = "cafe.adriel.voyager:voyager-transitions", version.ref = "voyager" }
voyager-koin = { module = "cafe.adriel.voyager:voyager-koin", version.ref = "voyager" }
voyager = "1.0.0"
I found the bug,your demo just one page,but many pages in our demo ,I add voyager navigator.
object LoginSingleScreen:Screen{
@Composable
override fun Content() {
retryWeb()
}
//    Navigator(LoginSingleScreen) //bug happen
//    retryWeb() //your sample code ,no problem in iOS

Another question,are you chinese? >-<


[Bug] Partition key's type has been changed after executing queries

Expr's uncheckedCastTo() method should return a new instance of casted expr.
The origin expr should remain unchanged.
Fix #3347

@morningman Hi, Please add a UT.

Added


[vcpkg] Add support to pull from git-lfs

Without this PR, checking out sources from a git repository with git-lfs enabled fails with the following error:
Use `git lfs logs last` to view the log.
error: external filter 'git-lfs filter-process' failed
fatal: <... git-lfs file path ...>: smudge filter lfs failed

Related to https://github.com/microsoft/vcpkg/pull/18570.

Yes, thanks @PhoebeHui. In the older PR, I mentioned that the issue was fixed but then I realized it actually isn’t, so I fixed it here.

How common is it for the git bundled with most Linux distros to include git-lfs support?
Do you have any ports which fail without this change but don't fail afterwards? We shouldn't add random support here without a test case.

I have a custom portfile against a Microsoft internal repository with git-lfs enabled. Without this patch here, I am unable to checkout and build the code. I don’t know about a public repository but I could setup a mock repo to reproduce the issue. If you have an alternative suggestion to solve the issue, I’d be happy to hear. Otherwise I am also happy to add test coverage for this fix, if you can give me a pointer to where I should get started with that. Thanks.

Ping @BillyONeal for reply.

I have a custom portfile against a Microsoft internal repository with git-lfs enabled. Without this patch here, I am unable to checkout and build the code. I don’t know about a public repository but I could setup a mock repo to reproduce the issue. If you have an alternative suggestion to solve the issue, I’d be happy to hear. Otherwise I am also happy to add test coverage for this fix, if you can give me a pointer to where I should get started with that. Thanks.

Without a public user it's concerning to add since it adds a new dependency of vcpkg which ports may depend on by accident and thus blow up in users' face if lfs is not ~always installed on all the *nixes.

I'm not against this; I think it's entirely reasonable, and it doesn't break anybody. My questions are:

what happens with LFS data when the origin remote changes?
what happens when git-lfs isn't installed?
does LFS trigger trigger automatically, or is it something that's perhaps triggered by the build system

in other words, if you install a port that requires git-lfs, will it be obvious you need to install git-lfs or will it just fail in a weird way

I'm not against this; I think it's entirely reasonable, and it doesn't break anybody.

+1. I just realized my replies could have been understood to mean that I was opposed to this. Like @strega-nil I'm mostly ensuring we understand the consequences more than worried about the change itself.

unmarking requires:vcpkg-team-review until the author gets back to us.

To reply to @strega-nil-ms questions above in order:

Unless I missed something, each call to vcpkg_from_git will happily overwrite the existing origin URL with whatever URL was provided on the caller side. This assumes the git repository was already checked out using something like --editable? Not sure under which other scenarios, vcpkg would not check out a complete new clone of the repo?
If git-lfs is not installed, there shouldn't be any noticeable difference.
git-lfs will be used automatically, if the repo requires it.

Ping @strega-nil-ms for response.

If git-lfs is not installed, there shouldn't be any noticeable difference.

Is it documented this way or have you actually tried it?

git-lfs will be used automatically, if the repo requires it.

I don't think you answered the question. Note: "in other words, if you install a port that requires git-lfs, will it be obvious you need to install git-lfs or will it just fail in a weird way"

Ping for response.

Convert this PR to draft since there is no response for a long time.

Please temporary close this PR if you don't have spare time to finish it.


Config file should probably contain value names (using JSON?)

This is not something really crucial but I think config file should contain not just values but also names of the property being set. This way it wouldn´t matter in which order the entries are written.
(I was just curious what happens if I mess with the config file a little bit so I came up with this idea after.) Using something like JSON might be a good way to do this.
This could allow for example setting the app automatically by changing the config via command prompt. (I am thinking about this beacuse I may want to create a bundle with some other software and set it up automatically to use it on my other computers or when I do a factory reset etc. But I mean that for my personal use only.) Also it would be beneficial in case you add something in the future, then the old settings would remain valid and the only thing needed to be set would be the new entry added.

Currently iam rewiting FalconX. To prevent any issues with settings not saving or reading. It will now use commandline parameters. This may also be a solution to what you are trying to archieve ;)
https://github.com/ChrisAnd1998/FalconX-Center-Taskbar/releases/tag/<IP_ADDRESS>


SR-4201: DispatchSourceSignal not working on Linux

The observed bug is that signals sent to the main thread
after it called dispatch_main were not triggering the
event handler of a DispatchSourceSignal that had been
previously created and activated to handle that signal.
If plausible signals are added to the sigsuspend mask,
then they are properly routed to the signalfd and the
DispatchSourceSignal event handler runs as expected.
This commit also changes event_epoll to use pthread_sigmask
to block the signal when creating a signalfd because
the Linux man page for sigprocmask states that sigprocmask's
behavior is undefined for multi-threaded programs and
pthread_sigmask should be used instead.

I agree.  This option feels like a complete kludge, but I'm out of ideas.    I hacked together a pretty small C program that shows the same symptoms.   I'll attach that in case it is useful for thinking about the problem or playing with options.

I think what may be broken is that the sigprocmask() should be done before the signalfd_create() maybe?
but what you're doing makes no sense to me: if you only block the signal on the thread that happens to register this signal, it can still be delivered to other threads. I thought on linux sigprocmask() was applying the mask to the process?
If not then I don't understand how libraries can use signals safely (which is a joke in itself anyway) in a process that went multi-threaded.

oh but the manpage says:
sigprocmask() is used to fetch and/or change the signal mask of the
       calling thread.

doh I'm so so so confused.

My memory is paged out.  I can probably find the C programs I was playing with back in March are refresh it.
One issue is that Linux docs flat out says you can't correctly use sigprocmask in a mutli-threaded program. You have to use pthread_sigmask.
http://man7.org/linux/man-pages/man2/sigprocmask.2.html

It might work to lazily add signals to the mask being used in dispatch_signal_thread and poke that thread to wake up and reset its pthread_sigmask.

hmm, actually I think I have a good fix, modulo testing it and making sure it builds and nitpicks like that ;)
From 101af4bb8c554c7073605fe100b527a30fbf8e7a Mon Sep 17 00:00:00 2001
From: Pierre Habouzit<EMAIL_ADDRESS>Date: Fri, 5 May 2017 10:34:20 -0700
Subject: [PATCH] Fix the signal story on linux

- export _dispatch_sigmask() as the way to block signals in a process
  using dispatch
- call it when dispatch_main() is called
- each time dispatch registers a signal handler, register a sigaction that
  will catch signals for threads with wrong masks and will fix the thread
  configuration then raise the signal again so that it is delivered to the
  signalfd as expected.
---
 src/event/event_epoll.c | 22 +++++++++++++++++++++-
 src/init.c              | 23 +++++++++++++++++++++++
 src/internal.h          |  2 ++
 src/queue.c             | 40 ++--------------------------------------
 4 files changed, 48 insertions(+), 39 deletions(-)

diff --git a/src/event/event_epoll.c b/src/event/event_epoll.c
index 3ebff148..c6c2c592 100644
--- a/src/event/event_epoll.c
+++ b/src/event/event_epoll.c
@@ -111,9 +111,26 @@ _dispatch_muxnote_dispose(dispatch_muxnote_t dmn)
 	free(dmn);
 }

+static void
+_dispatch_muxnote_signal_block_and_raise(int signo)
+{
+	// On linux, for signals to be delivered to the signalfd, signals
+	// must be blocked, else any thread that hasn't them blocked may
+	// receive them.  Fix that by lazily noticing, blocking said signal,
+	// and raising the signal again when it happens
+	_dispatch_sigmask();
+	raise(signo);
+}
+
 static dispatch_muxnote_t
 _dispatch_muxnote_create(dispatch_unote_t du, int16_t events)
 {
+	static sigset_t signals_with_unotes;
+	static struct sigaction sa = {
+		.sa_handler = _dispatch_muxnote_signal_block_and_raise,
+		.sa_flags = SA_RESTART,
+	};
+
 	dispatch_muxnote_t dmn;
 	struct stat sb;
 	int fd = du._du->du_ident;
@@ -123,13 +140,16 @@ _dispatch_muxnote_create(dispatch_unote_t du, int16_t events)

 	switch (filter) {
 	case EVFILT_SIGNAL:
+		if (!sigismember(&signals_with_unotes, du->du_ident)) {
+			sigaddset(&signals_with_unotes, du->du_ident);
+			sigaction(du->du_ident, &sa, NULL);
+		}
 		sigemptyset(&sigmask);
 		sigaddset(&sigmask, du._du->du_ident);
 		fd = signalfd(-1, &sigmask, SFD_NONBLOCK | SFD_CLOEXEC);
 		if (fd < 0) {
 			return NULL;
 		}
-		sigprocmask(SIG_BLOCK, &sigmask, NULL);
 		break;

 	case EVFILT_WRITE:
diff --git a/src/init.c b/src/init.c
index c1506422..5490bd91 100644
--- a/src/init.c
+++ b/src/init.c
@@ -74,6 +74,29 @@ dispatch_atfork_child(void)
 	_dispatch_unsafe_fork = 0;
 }

+int
+_dispatch_sigmask(void);
+{
+	sigset_t mask;
+	int r = 0;
+
+	/* Workaround: 6269619 Not all signals can be delivered on any thread */
+	r |= sigfillset(&mask);
+	r |= sigdelset(set, SIGILL);
+	r |= sigdelset(set, SIGTRAP);
+#if HAVE_DECL_SIGEMT
+	r |= sigdelset(set, SIGEMT);
+#endif
+	r |= sigdelset(set, SIGFPE);
+	r |= sigdelset(set, SIGBUS);
+	r |= sigdelset(set, SIGSEGV);
+	r |= sigdelset(set, SIGSYS);
+	r |= sigdelset(set, SIGPIPE);
+	r |= sigdelset(set, SIGPROF);
+	r |= pthread_sigmask(how, set, oset);
+	(void)dispatch_assume_zero(r);
+}
+
 #pragma mark -
 #pragma mark dispatch_globals

diff --git a/src/internal.h b/src/internal.h
index 500030a9..e6e8ccc5 100644
--- a/src/internal.h
+++ b/src/internal.h
@@ -1086,6 +1086,8 @@ extern int _dispatch_kevent_workloop_disabled;
 #endif // DISPATCH_KEVENT_WORKLOOP_FALLBACK
 #endif // __OPEN_SOURCE__

+int _dispatch_sigmask(void);
+
 /* #includes dependent on internal.h */
 #include "object_internal.h"
 #include "semaphore_internal.h"
diff --git a/src/queue.c b/src/queue.c
index 07ae855d..3c1eceb5 100644
--- a/src/queue.c
+++ b/src/queue.c
@@ -70,7 +70,6 @@ static void _dispatch_worker_thread2(int priority, int options, void *context);
 #endif
 #if DISPATCH_USE_PTHREAD_POOL
 static void *_dispatch_worker_thread(void *context);
-static int _dispatch_pthread_sigmask(int how, sigset_t *set, sigset_t *oset);
 #endif

 #if DISPATCH_COCOA_COMPAT
@@ -5884,13 +5883,8 @@ _dispatch_worker_thread(void *context)
 		pqc->dpq_thread_configure();
 	}

-	sigset_t mask;
-	int r;
 	// workaround tweaks the kernel workqueue does for us
-	r = sigfillset(&mask);
-	(void)dispatch_assume_zero(r);
-	r = _dispatch_pthread_sigmask(SIG_BLOCK, &mask, NULL);
-	(void)dispatch_assume_zero(r);
+	_dispatch_sigmask();
 	_dispatch_introspection_thread_add();

 	const int64_t timeout = 5ull * NSEC_PER_SEC;
@@ -5906,37 +5900,6 @@ _dispatch_worker_thread(void *context)
 	_dispatch_release(dq); // retained in _dispatch_global_queue_poke_slow
 	return NULL;
 }
-
-int
-_dispatch_pthread_sigmask(int how, sigset_t *set, sigset_t *oset)
-{
-	int r;
-
-	/* Workaround: 6269619 Not all signals can be delivered on any thread */
-
-	r = sigdelset(set, SIGILL);
-	(void)dispatch_assume_zero(r);
-	r = sigdelset(set, SIGTRAP);
-	(void)dispatch_assume_zero(r);
-#if HAVE_DECL_SIGEMT
-	r = sigdelset(set, SIGEMT);
-	(void)dispatch_assume_zero(r);
-#endif
-	r = sigdelset(set, SIGFPE);
-	(void)dispatch_assume_zero(r);
-	r = sigdelset(set, SIGBUS);
-	(void)dispatch_assume_zero(r);
-	r = sigdelset(set, SIGSEGV);
-	(void)dispatch_assume_zero(r);
-	r = sigdelset(set, SIGSYS);
-	(void)dispatch_assume_zero(r);
-	r = sigdelset(set, SIGPIPE);
-	(void)dispatch_assume_zero(r);
-	r = sigdelset(set, SIGPROF);
-	(void)dispatch_assume_zero(r);
-
-	return pthread_sigmask(how, set, oset);
-}
 #endif // DISPATCH_USE_PTHREAD_POOL
 #if DISPATCH_USE_KEVENT_WORKLOOP && !defined(__OPEN_SOURCE__)

@@ -6430,6 +6393,7 @@ dispatch_main(void)
 		pthread_key_t dispatch_main_key;
 		pthread_key_create(&dispatch_main_key, _dispatch_sig_thread);
 		pthread_setspecific(dispatch_main_key, &dispatch_main_key);
+		_dispatch_sigmask();
 #endif
 		pthread_exit(NULL);
 		DISPATCH_INTERNAL_CRASH(errno, "pthread_exit() returned");
--
2.12.2

github desn't let me attach the diff easily (I know I should create a pull request but for reasons I can't from where I am so bear with me).
the gist of the patch is to expose (in init.c, it has to move away from queue.c) a _dispatch_sigmask() that takes over signals from that thread (IOW if you use dispatch, you decide unequivocally that process-wide signals [as opposed to SIGSEGV, SIGBUS and friends] are taken over by dispatch).
Then each time we register a source for a signal, if it's new, to fix the configuration of threads that have been pthread_created and don't have the right mask, we have a handler that will apply that sigmask and raise the signal again. it's gross but should do the job.

@dgrove-oss can I let you have a look at that idea and massage this patch to victory?
oh and the _dispatch_sigmask() in dispatch_main() is obviously about trying to fix that guy since clearly he's the broken one most of the time ;)

(typically I just realized _dispatch_sigmask() doesn't even build you have to s/set/&mask/g)

sure, I'll take a look later this afternoon.

I couldn't get git apply to do anything reasonable, so I applied via patch and made minor adjustments.  Left it on the branch associated with this PR and haven't squashed away the previous commits yet in case we need them.
It is tantalizingly close to working....if one is patient and waits a couple of seconds before sending the signal to the process, than all is fine.  If one sends the signal too soon, it is missed.
(The test program prints out the kill command from the registration handler, so needing to wait for several seconds after seeing the command seems to indicate a problem somewhere).

hmm, actually there are more kinks to work out.  Although the signal gets delivered to the DispatchSource, we also get into "signal-based spin loop" because the signal handler re-raises the signal, which causes the signal handler to run again, which re-raises, ad infinitum.

How can it spin loop? the signal is supposed to be blocked in all threads, and I mask it too on if we ever hit the handler. I'm very very confused. I'm very confused.

I was trying to see why it seemed like we needed to wait a few seconds before giving the signal.  I stuck debug printfs into the code, including:
diff --git a/src/event/event_epoll.c b/src/event/event_epoll.c
index e4c5cd9..0c33358 100644
--- a/src/event/event_epoll.c
+++ b/src/event/event_epoll.c
@@ -120,12 +120,15 @@ _dispatch_muxnote_dispose(dispatch_muxnote_t dmn)
 static void
 _dispatch_muxnote_signal_block_and_raise(int signo)
 {
+       printf("Entered block_and_raise for %d\n", signo);
        // On linux, for signals to be delivered to the signalfd, signals
        // must be blocked, else any thread that hasn't them blocked may
        // receive them.  Fix that by lazily noticing, blocking said signal,
        // and raising the signal again when it happens
        _dispatch_sigmask();
+       printf("about to re-raise %d\n", signo);
        raise(signo);
+       printf("about exit block_and_raise for %d\n", signo);
 }

If run the test program, and send it a single kill -17,  in addition to getting the message we want (from the DispatchSource event handler), we get endless output of:
Entered block_and_raise for 17
about to re-raise 17
about exit block_and_raise for 17
Entered block_and_raise for 17
about to re-raise 17
about exit block_and_raise for 17
Entered block_and_raise for 17
about to re-raise 17
about exit block_and_raise for 17

I haven't spent too much time digging into why yet, just noting that my earlier comment about it being almost working was not right.

Actually instead of raise() we want to pthread_kill() the manager thread I think, I'll try to amend your branch in that direction, it's probably not too hard by:

having a static pthread_t manager_thread = pthread_self() taken when we register a signal, exactly where I do the sigaction in event_epoll.c
replace the raise with a pthread_kill(manager_thread, signo)

that should have the desired effect.
You have to make sure the manager thread (the one blocking in epoll_wait) also calls _dispatch_sigmask()). If linux has a way to pthread_create() with an initial mask that'd be great too

yep, that fixes it.  Will push shortly.

LGTM please squash

squashed; ready to be tested.

@swift-ci please test

@swift-ci please test

this causes a build failure on Darwin, the _dispatch_sigmask() function is declared with int return value but nothing is returned.


Any good trailheads for troubleshooting logs?

On Ubuntu 18.04, I created some test websites 6 months ago, I believe on version .50.  They ran great.
Upgraded to 0.54 and trying out some sample repos from hugo website and contributors (hyde, vex-hugo, meghna, mkdocs variants).  Nothing renders or I get a few, very few in fact, items from the 'custom' set.  I have tried git clone and git submodule add, neither has the correct effect. And I change my .toml file accordingly for the right theme.  I thought maybe permission issue so I opened folders for read/write for everyone and again no effect.
Reverted back to version 0.52 thinking a few versions back might stabilize, still in same predicament. Also tried hugo extended?
Thanks in advance.

As an aside, I have periodically been getting a permissions issue too.  I try do a render using 'hugo' and server with 'hugo server' and the message is permission denied.  Even if I use sudo and this doesn't occur elsewhere on my system.

Thanks for getting in touch, but it feels like this is a question  that would be better suited to the Hugo Discussion Forum.  We prefer to use GitHub issues only for bugs and enhancements. Feel free to update this issue with a link to the re-posted question (so that other people can find it) or add some more details if you feel this is a genuine bug. You may also find the answers you search for in Hugo Documentation.


Arcadyan KVD21 throwing error "WiFi driver is busy. Please try again later."

HINT Control 1.10.5
OS: MacOS Intel
Gateway:

Arcadyan KVD21
Firmware: 1.00.22
Hardware version: R01

When changing any Wifi setting on my KVD21, for example setting the 2.4 GHz channel to 11, after clicking Save, the following error is thrown:
Request Timeout
{status==408
headers==[content-length=[132],content-type=[application/json],date=[Sun, 09 Jun 2024 02:00:33 GMT],server=[lighttpd/1.4.69]]
requestHeaders==[User-Agent=[homeisp/android/2.12.1],Authorization=[Bearer <redacted>],Accept=[application/json],Accept-Charset=[UTF-8]]
requestBody==
requestUrl==http://<IP_ADDRESS>/TMI/v1/network/configuration/v2?get=ap
requestMethod==GET}
{
  "result": {
    "error": "SetFailed",
    "message": "WiFi driver is busy. Please try again later.",
    "statusCode": 408
  }
}

In the meantime, I'm able to write new configs to the gateway with curl via https://gist.github.com/natemccurdy/03e9e3a8c692d010858add721a32d01c#file-write-gw-config-sh

Duplicate of #44


error in using k_hop_subgraph

🐛 Bug
Hello,
Sometimes (not always) when I run k_hop_subgraph I get the following error:

*** Error in `python': double free or corruption (!prev): 0x00000000012da980 ***

Environment

OS: Debian GNU/Linux 8.10 (jessie)
Python version: Python 3.6.5
PyTorch version: 1.4
CUDA/cuDNN version: V10.0.130 (NVIDIA-SMI 410.78       Driver Version: 410.78       CUDA Version: 10.0)
GCC version: gcc (GCC) 9.1.0
Any other relevant information: I am running on a cluster

Hello,
I solved the issue. In case anyone else has the same problem.  The workaround is to do
pip install --no-binary=:all: numpy
I found the solution in this link. Even though this post is related to TensorFlow, the solution worked for me. It seems that there is a problem with OpenBLAS and the older version of Debian. So either you have to upgrade your Debian (which I was not able because I am running on a cluster),  or you have to install numpy as follows:
pip install --no-binary=:all: numpy
or
pip install --no-binary=:all: --force-reinstall numpy,

Awesome :) Thanks for letting me know.


Maximum flow

Another minor remark: for the source code you wrote "breadth-first-search", but I think it should be "breadth-first search"

Another minor remark: for the source code you wrote "breadth-first-search", but I think it should be "breadth-first search"

You're right, thanks!

Another minor remark: for the source code you wrote "breadth-first-search", but I think it should be "breadth-first search"

You're right, thanks!


Context in /api/generate response grows too big.

What is the issue?
I'm coding my own Chat UI for Ollama and using context feature to implement dialog mode. So every time Ollama generates a response the returned context (embeddings) is saved into chat object. On the next prompt this context is passed into /api/generate then after response resulting context is saved into chat object again.
After upgrading to latest Ollama I've noticed generation speed degraded considerably and the context returned by /api/generate grows too fast compared to previous versions.
Looks like it doubles context size after each generation and soon in relatively small chat with 26 messages it becomes like 3-7Mb in size which causes my UI being unresponsive and also browser freezes because it has to process such a huge amount of data (mostly for debugging like converting JSON to string, but this is not normal anyway). When earlier (at least for the 0.2.1 version I've used) it could be around 8-16Kb which is totally fine and also fits model capacity.
This is pretty hard to measure (and I don't know how to) but I've also noticed that with latest Ollama newer models like gemma2 or llama3.1 do not adhere to context as well as some older models like mistral on earlier Ollama version. This could be related to a context changes, which was broken since 0.2.2 then response was fixed but it looks like the fix was not completely correct.
OS
Linux
GPU
Nvidia
CPU
Intel
Ollama version
0.3.0

Hi, I have similar issues and not sure how to solve it properly. According to description about the context here,  the context returned by current conversation can be used as input for the next conversation. One issue of using context by this way is that the context could expand quickly. If I only want to track results of last 2-3 questions as the context (instead of all history), what are proper ways to do that, thanks!

There was no real issue in using context this way cause it's actually smaller and more efficient than sending whole chat history in JSON. Because this way context is already stored as embeddings. To me it also feels more efficient to process on Ollama side because it does not need to convert text to embeddings but using them as is to provide context for an LLM.
I've written the client code for this feature and using my Chat UI for a 6+ month without any changes. It was perfectly working and clean solution but now it's broken so I'm stick with ollama version 0.2.1 or I have an option to switch to an Open AI like chat endpoint where you pass chat history as a context. Personally I don't feel it's a lot worse but I would not like to rewrite working app because of a bug. Though last broken version I've tried was 0.3.0, maybe there was a fix I dunno. But this issue is still unsolved.

Yeah, it seems that I should use api/chat instead of api/generate, thanks for the information！@slouffka

There was no real issue in using context this way cause it's actually smaller and more efficient than sending whole chat history in JSON. Because this way context is already stored as embeddings. To me it also feels more efficient to process on Ollama side because it does not need to convert text to embeddings but using them as is to provide context for an LLM.
I've written the client code for this feature and using my Chat UI for a 6+ month without any changes. It was perfectly working and clean solution but now it's broken so I'm stick with ollama version 0.2.1 or I have an option to switch to an Open AI like chat endpoint where you pass chat history as a context. Personally I don't feel it's a lot worse but I would not like to rewrite working app because of a bug. Though last broken version I've tried was 0.3.0, maybe there was a fix I dunno. But this issue is still unsolved.

Hi can you please tell me how to use context of previous responses and sent it as context to current one.
I'm unable to achieve it. Everytime I'm hitting Ollama API it's looks like it is considering it as a new session. I'm not sure, can you please let me know how to implement it.
Pls provide code example if possible as you have already worked on it. Thanks in advance

Thanks!
On Thu, Nov 21, 2024, 4:01 AM slouffka @.***> wrote:

Hi can you please tell me how to use context of previous responses and
sent it as context to current one. I'm unable to achieve it. Everytime I'm
hitting Ollama API it's looks like it is considering it as a new session.
I'm not sure, can you please let me know how to implement it. Pls provide
code example if possible as you have already worked on it. Thanks in advance
I used this doc as a reference to implement chat context:
https://github.com/ollama/ollama/blob/main/docs/api.md#generate-a-completion
You should explicitly take the context property from a previous response
and set it as a context property for your new request. Basically that's it.
—
Reply to this email directly, view it on GitHub
https://github.com/ollama/ollama/issues/5980#issuecomment-2489667898,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVEXRVTJBBGP7472R2CPJAL2BUETJAVCNFSM6AAAAABLQIHXC2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOBZGY3DOOBZHA
.
You are receiving this because you commented.Message ID:
@.***>


Choco 3.3.2: what happened to solver.searchLoop.interrupt

We used solver.searchLoop.interrupt to interrupt the solver while it is still searching, for instance, when the user clicked "Abort" in the UI. Unfortunately, it has been deprecated by just throwing an UnsupportedOperationException. What is the recommended way to interrupt the search manually?

Now, there is only one way to stop the search, it is through a org.chocosolver.util.criteria.Criterion which is an interface to be extended, equipped with a single method boolean isMet().
When the stop criterion is met, the method should return true (false otherwise) and the search loop, which regularly checks criteria, stops when at least one the declared one returns true (a disjunction).
Any criterion should be added to the Solver thanks to s.addStopCriterion(Criterion).
For example, when dealing with parallel resolution, the following stop criteria are added to solver:
AtomicInteger finishers = new AtomicInteger(0);
solvers.stream().forEach(s -> s.addStopCriterion(()->finishers.get()>0));
solvers.stream().forEach(s -> s.plugMonitor(new IMonitorClose() {
    @Override
    public void afterClose() {
        int count = finishers.addAndGet(1);
        if(count == solvers.size()){
            finishers.set(0); //reset the counter to 0
        }
    }
}));

Anytime a solver ends, it increments counter by 1.
Anytime a running solver checks the counter and that its value is strictly greater than 0 (i.e., at least one solver already ends), its search ends (and the counter is incremented by 1 too).
The last ending solver reset the counter to 0.

Well, it doesn't comply with the word deprecated ...
Best way to remove the method interrupt is to deprecate it in one version - internally implement it through addStopCritecion method and describe recommended alternative. Please update minimally javadoc of interrupt method.
I used interrupt method with only String argument that is completely missing, without this issue I would probably try to match with deprecated but compilable version and finally found that I wasted my time because deprecated method isn't also functional.

Sorry for the time loss, I'll pay attention to that in the future when I "deprecate" methods or class, to indicate what replaces (if any) the deprecated method or class.
I'll try to follow this advices.
Note that, a method or class annotated as deprecated will presumably be absent in the following release.

Thanks - it works fine!


Do not overwrite myid file unless explicitly stated

By default ansible sets force=yes in the template command. Maintain existing myid file when deploying by setting force_myid=no.
Using this as a role and referencing hosts by alias break myid generation. This allows me to keep the existing myid file.

@sammerry fix comments and I will merge this.

updated naming convention

@sammerry please rebase, your branch has conflicts

Implemented in https://github.com/AnsibleShipyard/ansible-zookeeper/pull/48


Driver: Remove swift-api-extract

Now that API descriptions are emitted during module build jobs when -emit-api-descriptor-path is specified and the build system has been updated to pass that flag when the output is needed, the swift-api-extract frontend alias is no longer used. Delete it and the tests that were specific to invoking swift-api-extract.
Resolves rdar://116537394.

@swift-ci please test

@swift-ci please test


Paint App

Description
Make a GUI/Web application to draw and paint using your cursor. It should have the following options: -

[ ] option to make choose the brush size.
[ ] option to choose different brush colour
[ ] option to save it as an image in any image format
[ ] Undo (optional)
[ ] Clear the whole screen (optional)

Technologies and Language

Python
Javascript
PyQt5 (Recommended)
Tkinter
Mouse Movement Events

Can I work on this issue? Thank You!

Sure. Go for it. 👍

@all-contributors please add pranav6670 for code, doc


padding-top and padding-bottom is wrongly calculated

padding-top and padding-bottom is wrongly calculated when element is closed by default with display: none or DOM-slider-hidden
on the first opening the padding-top and padding-bottom is always 0px

https://jsfiddle.net/tr3v1cky/8/
here is demo, it happens always - seems that box-sizing: border-box is the main problem

@evromalarkey I've published the fix you mentioned and updated the CDN link in the README. Unfortunately, this only seems to fix it after the first call to slideToggle; the transition jumping becomes smooth with every slideToggle after the first one.
I've actually seen this before but I'm still unaware of a solution.

Thanks for the quick fix, I was able to fix it even on the first slide. You have to add paddingTop and paddingBottom when the element is hidden, because before that the padding is always 0, so if you add condition for borderBox here also, it should fix it.
        if (slideDirection === 'down' && isDisplayNoneByDefault) {
            element.classList.add('DOM-slider-hidden');
            element.style.display = visibleDisplayValue;
            contentHeight = Math.max(element.scrollHeight + paddingTop + paddingBottom, 0);
        } // a fixed height is required in order to animate the height

...You have to add paddingTop and paddingBottom when the element is hidden, because before that the padding is always 0, so if you add condition for borderBox here also, it should fix it.
        if (slideDirection === 'down' && isDisplayNoneByDefault) {
            ...
            contentHeight = Math.max(element.scrollHeight + paddingTop + paddingBottom, 0);
        }

Unfortunately, this doesn't work for the FAQs in the example.html I provided


OTP GENERATOR

this is a python module that generates OTP codes for users in various format like only digits, digits and letters and so on

@Mrinank-Bhowmick please assign me this task

sure go for it 👍

I have made a pull request on this issue @Mrinank-Bhowmick

https://github.com/Mrinank-Bhowmick/python-beginner-projects/pull/188

Merged


Cascader: 多选和过滤情况下，修复关键字没有清空的bug

Please make sure these boxes are checked before submitting your PR, thank you!

[ ] Make sure you follow Element's contributing guide (中文 | English | Español | Français).
[ ] Make sure you are merging your commits to dev branch.
[ ] Add some descriptions and refer relative issues for you PR.

Can you give an example of a recurrence of a problem

Can you give an example of a recurrence of a problem

the pic is on the above, hope you review the code ASAP, thanks


Consider throwing a kinder error if the Sass version does not support maps

This can be a confusing one. We should give better reporting if a user tries to build a Map and their Sass version doesn't support it.

This is probably no longer necessary.


add flexible ns to grafana dashboard test

Please provide a description of this PR:
This allows the Grafana sample to be deployed in the provided TelemetryNamespace. Also, updated the VirtualService and Gateway to use v1.

@whitneygriffith: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-telemetry-istiodremote_istio
96792470ee4930b81c7226d000365bf07fe6c624
link
true
/test integ-telemetry-istiodremote

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@whitneygriffith: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-telemetry-istiodremote_istio
96792470ee4930b81c7226d000365bf07fe6c624
link
true
/test integ-telemetry-istiodremote

integ-telemetry-mc_istio
96792470ee4930b81c7226d000365bf07fe6c624
link
true
/test integ-telemetry-mc

lint_istio
96792470ee4930b81c7226d000365bf07fe6c624
link
true
/test lint

integ-telemetry_istio
96792470ee4930b81c7226d000365bf07fe6c624
link
true
/test integ-telemetry

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@whitneygriffith: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-telemetry-istiodremote_istio
96792470ee4930b81c7226d000365bf07fe6c624
link
true
/test integ-telemetry-istiodremote

integ-telemetry-mc_istio
96792470ee4930b81c7226d000365bf07fe6c624
link
true
/test integ-telemetry-mc

lint_istio
96792470ee4930b81c7226d000365bf07fe6c624
link
true
/test lint

integ-telemetry_istio
96792470ee4930b81c7226d000365bf07fe6c624
link
true
/test integ-telemetry

integ-telemetry-discovery_istio
96792470ee4930b81c7226d000365bf07fe6c624
link
true
/test integ-telemetry-discovery

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@whitneygriffith: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-telemetry-istiodremote_istio
96792470ee4930b81c7226d000365bf07fe6c624
link
true
/test integ-telemetry-istiodremote

integ-telemetry-mc_istio
96792470ee4930b81c7226d000365bf07fe6c624
link
true
/test integ-telemetry-mc

lint_istio
96792470ee4930b81c7226d000365bf07fe6c624
link
true
/test lint

integ-telemetry_istio
96792470ee4930b81c7226d000365bf07fe6c624
link
true
/test integ-telemetry

integ-telemetry-discovery_istio
96792470ee4930b81c7226d000365bf07fe6c624
link
true
/test integ-telemetry-discovery

unit-tests-arm64_istio
f21f02c110304095b796cbb4556736ed8dbf2cfd
link
true
/test unit-tests-arm64

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

Just curious, why cannot you test in istio-system?
It will require managing the creation and deletion of istio-system ns for the sake of installing testing artifacts. When the typical flow for a user not using istio-system is to set their existing ns for systemNamespace and/or TelemetryNamespace with the expectation the tests will deploy any testing artifacts to that existing ns.

You also need to create/delete the TelemetryNamespace, why does it matter if it is istio-system?

I am not super against it, just might make things easier for everyone

You also need to create/delete the TelemetryNamespace, why does it matter if it is istio-system?

The user wouldn't deploy the Telemetry Ns just for tests. If their setup includes a ns that is not istio-system for deploying Istio/Telemetry related stuff, the management of Telemetry Ns will already be baked into their process.
By default TelemetryNamespace is set to DefaultSystemNamespace which is istio-system so a user that does not care about using non istio-system will not be impacted by this change.

I understand its continuing the pattern, I just don't understand why someone would care. You cannot pick the namespace of echo-<random suffix> for instance, so why do you need to pick the name of this?

I understand its continuing the pattern, I just don't understand why someone would care. You cannot pick the namespace of echo-<random suffix> for instance, so why do you need to pick the name of this?

If it is the systemNamespace being used here instead of TelemetryNamespace does that alleviate your concern?

Why not just have it create istio-system if it does not exist then?

Why not just have it create istio-system if it does not exist then?

Are you proposing adopting this across the test suite? Where for all resources created for testing purposes (zipkin, grafana, prometheus, etc.) will be deployed to istio-system? If that's the case will we then remove the concept of TelemetryNamespace and SystemNamespace?
I am not opposed to either approach, I am just not sure if there is something truly wrong with the existing strategy of giving the user the choice to dictate target ns using SystemNamespace and TelemetryNamespace flags for us to warrant reverting our strategy.

Also working with Whitney to look into some of the Telemetry e2es. Would it make sense to keep with the existing pattern in tests/documentations of deploying applications (echo, etc) in their own namespace, and deploying telemetry Pods / Services in the root / system namespace? (whether istio-system or something else), for consistency?


[E-GraphQL < T] Change procedures to fit GraphQL

Description
Change refactor, label and create procedures to fix GraphQL
Pull request type

[ ] Bugfix
[ ] Algorithm/Module
[ ] Feature
[X] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):

Related issues
Delete if this PR doesn't resolve any issues. Link the issue if it does.
######################################
Reviewer checklist (the reviewer checks this part)
Module/Algorithm

[ ] Core algorithm/module implementation
[ ] Query module implementation
[ ] Unit tests
[ ] End-to-end tests
[ ] Code documentation
[ ] README short description
[ ] Documentation on memgraph/docs
[ ] Update GQLALchemy signatures in query builder using query module signature generator

######################################

Nice catch! Since remove_label doesn't exist in APOC I assume this is a mistake in the mappings.


Android support?

Is there a way to run this on an android phone? I'd love to be able to use this on my phone

I think this would be a fantastic solution to mobile considering the ip changes so much and port forwarding isnt really possible on 4/5g networks

Hi @DillFrescott , thanks for filing an issue!
I agree with you, and it's something I'm really interested in as well but there is nothing in the works yet, and my Android knowledge needs quite some refreshment before to get the pieces in - any help on that area would be greatly appreciated

https://android.googlesource.com/platform/development/+/master/samples/ToyVpn seems to be a great starting point

since go can already compile for android how about a cli for android?

The Tailscale app has a similar stack (Android + Golang).
https://github.com/tailscale/tailscale-android

https://github.com/anywherelan/awl has an android app and they are a very similar project. Except the dealbreaker is that it currently doesn't support static ip's. Meaning the ip depends on the order the client added you as a connection. Having edgevpn on android would be amazing!
Do we happen to be any closer to implementing this? I'd be happy to help but I cant code lol

Hello,
Any news on that ?
Regards


Source Area/Watershed Delineation for Collection Points

[ ] Review existing maps

Bible

[ ] Small system user manuals  - utility engineers need to do this

[ ] Source water area, potential sources of contamination, what the results were

i.	Source area data derived from terrain analysis upstream of drinking water sources as part of the system description.

Open source code for deriving source area polygons from GPS locations to estimate square kilometer contributing area to drinking water source.
GIS files held as “private” resources for Puerto Rico Water Studies: Confidential Group with sharing permissions managed/owned by Graciela
Table of area and %land cover estimate to include with water system description.
Description of how to use the reuse the code for any small drinking water system analysis (may be more appropriate as an appendix or supplemental training).


error: linking with arm-none-eabi-gcc failed: exit code: 1

Copied Xargo.toml (from cortex-m-quickstart) into blue-pill folder.
Added missing crates/dependencies in to the Cargo.toml.
The compilation was through. However gave linking problem. Please see the log.
$ xargo build --target thumbv7m-none-eabi --example blinky
Compiling nb v0.1.0 (https://github.com/japaric/nb#4696bd09)
Compiling static-ref v0.1.1
Compiling quote v0.3.15
Compiling vcell v0.1.0
Compiling either v1.1.0
Compiling cortex-m-semihosting v0.1.3
Compiling unicode-xid v0.0.4
Compiling typenum v1.9.0
Compiling cortex-m-rt v0.2.4
Compiling r0 v0.2.1
Compiling cortex-m v0.2.11
Compiling cast v0.2.2
Compiling aligned v0.1.1
Compiling volatile-register v0.2.0
Compiling embedded-hal v0.1.0 (https://github.com/japaric/embedded-hal?rev=5295697669f5b48a900aa325b8ebb4d4e8d4b236#52956976)
Compiling synom v0.11.3
Compiling syn v0.11.11
Compiling stm32f103xx v0.6.1
Compiling cortex-m-rtfm v0.1.1
Compiling blue-pill v0.1.0
error: linking with arm-none-eabi-gcc failed: exit code: 1
....
....
= note: /usr/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/crt0.o: In function _start':           (.text+0xe0): undefined reference to __libc_init_array'
/usr/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/crt0.o: In function _start':           (.text+0xf0): undefined reference to exit'
...
...
error: aborting due to previous error(s)
error: Could not compile blue-pill.
$
// log ends

Forgot to mention earlier that as per instruction removed build.rs and memory.x before compilation.

I had similar problems in #16 but the solution is pretty simple as stated in https://japaric.github.io/blue-pill/blue_pill/#usage . I.e. you start with the cortex-m-quickstart crate and remove the build.rs and memory.x . Then you copy build.rs and memory.x from the blue-pill crate to the cortex-m-quickstart directory and copy one of the examples (e.g. blinky.rs) from the blue-pill example folder to the example folder in your cortex-m-quickstart directory. After all you should be able to compile with
xargo build --target thumbv7m-none-eabi --example blinky
After succesfully compiling and linking you can find your binary in target/thumbv7m-none-eabi/debug/examples

Ok. So following is what I did to successfully build blinky.rs for blue-pill.

Cloned the cortex-m-quickstart.
Went inside cortex-m-quickstart
Removed memory.x and build.rs, because these two are coming from blue-pill crate.
Added blue-pill, embedded-hal and cortex-m-rtfm crates into Cargo.toml, the same way it was in the blue-pill Cargo.toml.
Lastly copied blinky.rs from blue-pill.
Ran "xargo build --target thumbv7m-none-eabi --example blinky"

Notes:

The crates which are added into the Cargo.toml, are downloaded from github as per the specified URLs. However some might face problem with downloading https:, this is because your service provider's restrictions. In that case one should use git:.
The blue-pill crate encapsulates a few crates (for example embedded-hal, ..). So why should one need to add those crates separately into the app (blinky.rs)? There should be better way referring to those crates in blinky.rs, (say by first referring to blue-pill and recursively referring the crates). Of course this is a humble suggestion. With this, one doesn't have to modify Cargo.toml within cortex-m-quickstart which is a generic crate.

-Hemant

Hello Hemant,
good to hear that you were able to compile one of the examples. I agree with you that it is somewhat counter intuitive that you have to copy over the examples, the build.rs and memory.x files from the blue-pill to the cortex-m-quickstart directory. Maybe @japaric can tell a little more about his design decisions.

Thanks Christian.
I am exploring Embedded Rust for a week or so. I am impressed by the current status of cortex-m Rust, all done by JorgeAparicio and the collaborators. I think Rust has great future especially in Embedded domain.

that you have to copy over the examples, the build.rs and memory.x files from the blue-pill to the cortex-m-quickstart directory.

As @HemantJoshi said the build.rs and memory.x don't have to be copied over as they are provided by the blue-pill crate.
As for why xargo build --example doesn't work on this repo: that's because this is a library crate. As you have seen applications require some extra files like Xargo.toml and .cargo/config which are provided by cortex-m-quickstart. I'd prefer not to have a copy of those files here because that makes it possible for the copy to get out of date.
That being said, there are some changes in the pipeline (device crates will depend on cortex-m-rt) that would make it reasonable to add .cargo/config here, plus Xargo.toml may not be required in the future when rustup target add thumbv7m-none-eabi works.

Even though blue-pill crate itself doesn't require any additional crate to be encapsulated within it, an app that uses blue-pill (say) blinky.rs does require some crates such as embedded-hal.

I think it makes sense to re-export the embedded-hal traits in blue-pill to avoid having the app depend on embedded-hal again. The other crates like cortex-m-rtfm are rather application specific so I don't know how much it would help to have a crate that re-export all those crates.

Since the blinky worked for me, I am closing the issue.

As @HemantJoshi said the build.rs and memory.x don't have to be copied over as they are provided by the blue-pill crate.

Thanks for making that clear to me, I wasn't aware of that but obviously it makes sense.

As for why xargo build --example doesn't work on this repo: that's because this is a library crate. As you have seen applications require some extra files like Xargo.toml and .cargo/config which are provided by cortex-m-quickstart. I'd prefer not to have a copy of those files here because that makes it possible for the copy to get out of date.

Ok, now that makes sense to me as well although I think it would be really nice to be able to git clone a repo, run xargo build --example and start hacking without having to modify a Cargo.toml or delete files. Maybe an intermediate solution could be a blue-pill-examples repo which is just the cortex-m-quickstart repo with the appropriate Cargo.toml and the bluepill examples. On the other hand that is again one more thing to keep track off and as I see it at the moment you are really busy and moving on fast but I totally agree with Hemant

I am impressed by the current status of cortex-m Rust

which is (as far as I can tell) mostly your accomplishment.


esquisse 零代码生成ggplot2图

https://mirrors.sjtug.sjtu.edu.cn/cran/web/packages/esquisse/vignettes/get-started.html
https://github.com/business-science/free_r_tips/blob/master/028_esquisse_ggplot/028_esquisse_ggplot_builder.R

Releated shiny app has been deployed to duomics.cn


Make Horust compile on Mac (or: local Docker dev environment)

Following https://github.com/FedericoPonzi/Horust/issues/37.
Not yet in working order.

Please disregard, will clean up with the correct ssh key.


Unit Test Base Branch

Summary by CodeRabbit

Bug Fixes

Disabled all unit tests related to various services and components by commenting out their respective test codes, ensuring no erroneous tests are executed.

Chores

Commented out mock data and fixture files to prevent their functionality while maintaining file structure and readiness for future modifications.

hey @coderabbitai help me fix the unit test

@coderabbitai, help me comment out all the failing unit tests in this repo


Rule for comparing pointer with 0 instead of nullptr

I see this in a lot of places in the code, for example, this:
if ( obj == 0 ) continue;

should be this instead:
if ( obj == nullptr ) continue;

Implemented in 3f0c5d6.


Segmentation fault at runtime by accessing uninitialized fields indirectly.

With the help of @doublec on IRC, we found that the following code results in a runtime seg fault.
use "debug"

actor Main
  new create(env:Env) =>
    let f: Foo ref = Foo

class Foo
  var bar: Bar ref
  var baz: Baz

  new ref create() =>
    bar = Bar
    bar.foo = this // This assignment should fail.

    try // Lets us access the uninitialized `baz` field via `bar.foo`
      Debug.out((bar.foo as Foo).baz.x)
    end

    baz = Baz

class Bar
  var foo: (Foo|None) = None

class Baz
	var x: String = "baz"

The Foo class has field that references a Bar, and the Bar class has a field that references a Foo.
If we assign a Bar instance inside the Foo constructor, the compiler lets us then assign this (the Foo) to the new Bar, which then lets us indirectly access fields of Foo that are not yet initialized.
Expected:
The assignment bar.foo = this should fail as a tag assignment to a ref field.
Received:
Segmentation fault when accessing uninitialized baz field of Foo via bar.foo.

Linux 64-bit

ponyc -v
0.2.1-954-ga02c5bf [release]

Can confirm.


Ability to upload videos

I just tried to upload a video
var url = "some_local_path"
request.put("https://mybucket.s3.amazonaws.com/test.mp4")
       .type("video/mp4")
       .set('Content-Type', 'video/mp4')
       .set('X-Amz-Signature', 'somesig')
       .set('X-Amz-Credential', 'somecred')
       .set('Date', 'Thu, 23 Jul 2015')
       .set('X-Amz-Algorithm', 'AWS4-HMAC-SHA256')
       .set('X-Amz-Acl', 'public-read')
       .end(function(err,res){debugger;})

And my mp4 is uploaded but just contains a few lines of text
--zWGdmuxl4sxXXXXXXXXXXXXXXXxQjaHYwaodP7.FWOAa_-s7
content-disposition: form-data; name="test.mp4"

file:///myPath
--zXXdmuxl4sxqXSTnilUXXXXXXXXXXXXwaodP7.FWOAa_-s7--

Any Idea?

No idea without a failing example script with file.


ESP8266 Compilation Error

I'm using the example code and I believe I'm using the correct MQTT library (platformio id #617).  However, when I attempt to build I'm receiving the following compilation error:
/home/pi/.platformio/packages/toolchain-xtensa/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld: .pio/build/esp12e/libc5e/libGoogle Cloud IoT Core JWT.a(CloudIoTCoreMqtt.cpp.o):(.text._ZN16CloudIoTCoreMqtt9startMQTTEv+0xc): undefined reference to `messageReceived(String&, String&)'

I've narrowed it down to the following line of code from the example code provided:
mqtt->startMQTT(); // Opens connection
After poking into the CloudIoTCoreMqtt.cpp and MQTT library, I'm not sure why this is occurring. My c++ skills have some heavy rust on them so if I'm overlooking something obvious, I'd appreciate a looksee.  I have  the following lib_deps defined in my platformio.ini file:
<EMAIL_ADDRESS> Google Cloud IoT Core<EMAIL_ADDRESS>

Maybe the problem is that you don't have defined the function messageReceived(String&, String&)
The implementation of the function messageReceived(String&, String&) is up to you, there's just a declaration in CloudIoTCoreMqtt.cpp but not a definition.
Did you see the example folder? This, for instance, should help: https://github.com/GoogleCloudPlatform/google-cloud-iot-arduino/blob/master/examples/MKR1000-lwmqtt/mkr1000-mqtt.h

I'm going to close this, the example code compiles for me and CI still seems to be working. Thank you @FedeBev for the extra help.


mate.mate-applets: Add missing mate-desktop

Description of changes
Since we do g_settings_new ("org.mate.lockdown"), we will need to pass this to the wrapper.
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

@ofborg test mate


Running multiple "dotnet watch" with dependency overlap periodically fails

I've got a dotnet core solution with several class libraries, an asp.net core web app project and a background worker project that share dependencies to the class libraries.  During development I fire up a dotnet watch run for both projects.  All of my development is currently on Windows.
When I modify a file in a dependency project both watches start builds at almost the same time and fairly often (more than 1/3 of the time) one of the builds will fail from a file being in use by the other build.
CSC : error CS2012: Cannot open 'C:\code\thing\src\Thing.Data\obj\Debug\netcoreapp3.1\Thing.Data.dll' for writing -- 'The process cannot access the file 'C:\code\thing\src\Thing.Data\obj\Debug\netcoreapp3.1\Thing.Data.dll' because it is being used by another process.' [C:\code\thing\src\Thing.Data\Thing.Data.csproj]
Is there already a way to accomplish what I'm trying to do?
If not, the simplest idea I could come up with was to add a flag to dotnet run, something like --with-lock so that dotnet takes a system-wide mutex for each project directory?  That would ensure that even with multiple overlapping watches they wouldn't try to build the same project at the same time.
Any thoughts?

Oops, this belongs in the SDK repo, moving it.


general: Add back wm_version.

Description
The goal of this feature is to be as generic as possible. We call $wm with --version and -v and use whatever exits with 0.
This will stay off by default.
Closes #918
TODO

[ ] Test this on as many WMs as possible. (neofetch --wm_version on)

[x] Openbox
[x] i3
[x] bspwm
[x] dwm
[x] KDE
[x] aewm
[x] blackbox
[x] fluxbox
[x] evilwm

just as a reminder: as it is now it does not work for KDE. https://github.com/dylanaraps/neofetch/pull/954#issuecomment-385636957


Configuration to start Portainer with DockerHub credentials

Question:
I saw that you have a way to specify auth credentials to DockerHub for Portainer to be able to pull private images from there.
Registries -> DockerHub
In my setup I have portainer on several different servers and we could bring one server down and another up at any given time. Is there a way for me to automate the credentials part and start portainer's container with the DockerHub credentials already configured on it?

@vboufleur there is no way to actually specify a configuration at startup time. We could add a flag similar to the --admin-password flag to allow the user to specify Dockerhub credentials on startup (something like --dockerhub-credentials username:password.
You could also leverage the Portainer API to initialize the Dockerhub credentials post deployment.

That flag would be great! Right now I'm manually setting the Dockerhub credentials post deployment.

Considering the upcoming limits to Dockerhub, this would be a great flag to add to Portainer

I wonder if there's enough depth of choices here to want something more like a initial config file that can be imported directly into the database
ie, portainer --restore initial.yaml - where that yaml might be applied to the database only after creation.

Or create a Portainer backup: https://github.com/portainer/portainer/issues/5061
and find a way to restore it via the cli.

yeah, the problem is that the Portainer backup is a binary file, and we don't have a spec for it, so a user will have a hard time knowing what minimum fields they need, or what happens on updates to the internal schema.

I was more thinking of using curl to do a POST to the /api/restore endpoint:
https://documentation.portainer.io/api/api-schema-ce/

yup - that uses the tar file we create on backup, which contains a binary copy of the live boltdb database - which is essentially "internal use only"

I mean, install Portainer and configure however you like it. Create a backup and then on any new environment restore Portainer from that backup to act as the base config.


Dashboard Token Listing: CRVx

Discord Handle of Submitter: omnifient | BTFDCA.finance#7921
Token Symbol: CRVx
Network: Polygon
Token Address: 0x96eac3913bab431c28895f02cf5c56ad2dab8439
Network Explorer Link: https://polygonscan.com/address/0x96eac3913bab431c28895f02cf5c56ad2dab8439
Is a Super Token? true
Address of Underlying Token:  0x172370d5cd63279efa6d502dab29171933a610af
SVG Logo Link: https://2254922201-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MFA0rQI3SzfbVFgp3Ic%2Fuploads%2FF5ZS9RzAWKZnNxm9F85H%2FCurve-Logo-HighRez.png?alt=media&token=51c58ab0-e774-4b30-92ac-69f643400c56
Coingecko or Hardcoded Price?: Coingecko
Coingecko ID: curve-dao-token
Harcoded Price (if Coingecko ID is unavailable):
Token HEX Color: #ffe600
Info on Listing: I'm requesting this listing because BTFDCA has added CRVx as an asset, and it would be nice for holders to see it on the Superfluid App.
Please close only after token has been added to resolver!

listing done: https://console.superfluid.finance/matic/supertokens/0x96Eac3913BAB431c28895F02CF5c56Ad2DaB8439?tab=streams
@msoni89 please add assets


Support for GKE + ConfigSync + ConfigConector + Application Delivery

Hello
We are thinking of developing our Infrastructure as Code and GitOps model based on

GKE + ConfigSync + ConfigConnector + ApplicationDelivery, that is, mainly yaml and gitops repos
for gke, gcp resources and app deployments.
The only thing that does not cover that approach is:

initial GKE bootstrap
forseti policies / audit on GKE

Do you have plans to support GKE, forseti on GKE and definition of resources / apps in GKE in this project?
Cheers

Hi @josemolmomillan,
Thanks for your question and apologies for the delayed response. You can look at our example in https://github.com/GoogleCloudPlatform/healthcare-data-protection-suite/blob/master/examples/tfengine/team.hcl for how to set up a GKE cluster through automation. Note that kubernetes resources deployed through the kubernetes provider does not work through Cloud Build, so will need to be applied separately.
We don't have plans on supporting forseti on GKE as that effort does not seem to be mature at this point. You can however find other examples of k8s resources in the team example above.

Hi @josemolmomillan,
Thanks for your question and apologies for the delayed response. You can look at our example in https://github.com/GoogleCloudPlatform/healthcare-data-protection-suite/blob/master/examples/tfengine/team.hcl for how to set up a GKE cluster through automation. Note that kubernetes resources deployed through the kubernetes provider does not work through Cloud Build, so will need to be applied separately.
We don't have plans on supporting forseti on GKE as that effort does not seem to be mature at this point. You can however find other examples of k8s resources in the team example above.


Allow initial value to change to falsey value

Fixes: https://github.com/erikras/redux-form/issues/559
This allows initialValue and defaultValue to be changed to falsey values, but prevents updates when there is no initial key on the field

interesting. I suspect that I don't use the in operator as much as I should.
Excellent issue reporting and PR. Thanks!

Published as v4.1.4. Thanks again!


Create a curated file for use with kp import

Motivation
When users onboard to kpack we offer a tutorial to get them started.  Steps 3, 4, and 5 of this tutorial instruct the user to create a clusterstore, clusterstack, and a builder configuration.  By providing a file that allows users to bootstrap and update clusterstacks, clusterstores, and clusterbuilders using kp import we have two opportunities:

To minimize the friction of onboarding onto the kpack project and allow users to see value more quickly
Provide a less manual way of to update these resources when new dependencies are made available by a provider of buildpacks and stack images

What
Create a file that contains paths to images that can be used by kp import to create or update clusterbuilder, clusterstack, and clusterstore resources.  Release a new version of this file with paths to new images when the provider of the dependencies releases new versions of buildpacks and stacks.
As we do in the tutorial, I propose we use the resources provided by the Paketo project and reference images they provide.
Solutioning:
The outcomes specified in the above section could be achieved by configuring the file users import as follows:

Create/update three clusterstack resources for each of the Stacks Paketo provides
Create/update a clusterstore with Paketo buildpacks for Java, NodeJS, Go, PHP, Ruby, .NET Core, nginx, and httpd
Create/update clusterbuilders that each use a different Paketo stack (base, full, tiny)

Each of these clusterbuilders should have a buildpack oder definition optimized for the apps for which the associated stack is suitable to build on top of
We can borrow opinions here from Paketo by looking at the builder images they maintain: base, tiny, full

When the Paketo project makes new stacks and buildpack images referenced in the file available, we should release a new version of the file in our Github repo

This will require users to be able to configure the kp-config. I created an issue on the kpack-cli repo: https://github.com/vmware-tanzu/kpack-cli/issues/160

Worth discussing if we want to include all paketo stacks/buildpacks on the repo & where exactly we publish this descriptor.


[azure arm endpoint creation] too many 500 error responses

Hello,
I am trying to use service_endpoint_client to create a new azure ARM service connection, here's the code I am using:
core_client = self.__get_connection().clients_v6_0.get_service_endpoint_client()
        try:
            azure_arm = core_client.create_service_endpoint(
                {
                    "authorization": {
                        "parameters": {
                            "tenantid": "TENANT_ID",
                            "scope": "/subscriptions/SUB_ID/resourcegroups/RG_NAME"
                        },
                        "scheme": "ServicePrincipal"
                    },
                    "data": {
                        "environment": "AzureCloud",
                        "scopeLevel": "Subscription",
                        "subscriptionId": "SUB_ID",
                        "subscriptionName": "SUB_NAME",
                        "creationMode": "Automatic"
                    },
                    "name": "TEST_ME",
                    "type": "azurerm",
                    "isReady": True,
                    "url": "https://management.azure.com/",
                    "serviceEndpointProjectReferences": [
                        {
                            "name": "TEST_ME",
                            "description": "test",
                            "projectReference": {
                                "id": "AZ_DEVOPS_PROJECT_ID"
                            }
                        }
                    ]
                }
            )

The service connection was created successfully but I got this exception:
msrest.exceptions.ClientRequestError: Error occurred in request., RetryError: HTTPSConnectionPool(host='****', port=443): Max retries exceeded with url: /_apis/serviceendpoint/endpoints (Caused by ResponseError('too many 500 error responses'))

Could you please help to identify the issue?

Ok now this issue doesn't exist anymore and I am able to create the service connection but the service connection is created without the creation of the service principal account in azure so the verification of service connection failed with this error:
Failed to obtain the Json Web Token(JWT) using service principal client ID


Random fixes and cleanups

I was going through the code and I noticed few things we could improve... So sorry for the big PR but each commit should explain the rationale (but I did split it in few pieces already as you can see :)).
However, as main things:

Handle run errors
Use systemd to manage processes

The screenshots that are generated here are... Not showing the signal app (as also mentioned in  #1, so not due to these changes), running as this happens already upstream though.
And this is even weirder because the app is actually running according to ps or systemctl
This is quite weird since I do see the apps running properly running the same locally.

Couple of conflicts now the candidate branch has moved, I'll leave off trying to merge it because some of them will change depending on outcome of the comments above! Thanks for all your work on this, and shout if I can help!


let output metrics before the first event when PVC exists

@llamerada-jp LGTM, please squash commits.

@daichimukai
I rebased this PR. Would you check again?


Understanding the mpu_stack_growth test

I'm not sure what this app is supposed to do and there's no README for it with expectations.
It fails very quickly on the Microbit (printout in grow_stack() only happens once), but I'm not sure that's a bug. I think the stack is going out-of-bounds somewhere in the printf() call, which makes it hard to predict what stack out-of-bounds is expected.

@ppannuto maybe you remember how this works?

I'm not sure I have more description to give than what main says it does:
int main(void) {
  register uint32_t* sp asm ("sp");

  printf("\n[TEST] MPU Stack Growth\n");

  printf("This test should recursively add stack frames until exceeding\n");
  printf("the available stack space and triggering a fault\n\n");

  printf("  mem_start:           %p\n", tock_app_memory_begins_at());
  printf("  app_heap_break:      %p\n", sbrk(0));
  printf("  kernel_memory_break: %p\n", tock_app_grant_begins_at());
  printf("  mem_end:             %p\n", tock_app_memory_ends_at());
  printf("  stack pointer (ish): %p\n", sp);

  putchar('\n');

  grow_stack();
}

From Configuration.mk, our default is 0x800 stack:
Configuration.mk:STACK_SIZE       ?= 2048

And the app walks through that reasonably quickly: #define GROW_BY 0x100

This was an early test; I'm not sure it's the most useful as-written. Ditching printf would probably help, but I'm also not sure it's the most critical to refine

I guess I was really referring to the logic in grow_stack(). https://github.com/tock/libtock-c/blob/master/examples/tests/mpu_stack_growth/main.c#L26-L39
static void grow_stack(void) {
  register uint32_t* sp asm ("sp");

  uint32_t buffer[GROW_BY];
  printf("stack: %p - buffer: %p - at_least: 0x%4lx\n",
         sp, buffer, size_is_at_least);

  write_ptr(buffer);
  read_ptr(buffer);

  size_is_at_least += GROW_BY;

  grow_stack();
}

It implied to me that size_is_at_least was important and I thought the buffer and GROW_BY would somehow relate to where the error was. Which I guess is just wrong as long as you don't remember otherwise.
I guess the takeaway here is that as long as exceeding the available stack space occurs, this test passes. I think it should likely be deprecated for tests that under/over-run the stack.

I have a vague memory of trying to do this with some precision, and reading blogs / etc that said it's actually really hard to control and report stack size reliably in C; this was some amalgamation of best-effort practices I found. I agree, it should be deprecated in favor of something more principled -- eventually 🤷🏼 .


feat: sbom-convert cli

This PR includes the initial release of sbom-convert CLI.
Spec discussed here
PR is based on the work made by @houdini91 at #1 and on existing work from the go-cli @puerco, considering best practices, tools, and personal opinions.
Not supported yet:

config from file
options in help command

Several things do need work:

text for commands description
Makefile / Taskfile
Improved CI / PR workflows
cleanup of .gitignore
more public releases (nix/scoop etc)
README.md / CONTRIBUTE.md etc.
Improved error construct and error handling
Tweaking golangci-lint rules
Tests

Notes on implementation:
Structure:  we might want to move "convert" to /pkg from /internal as people might want to integrate the full functionality of convert as a library.
Interface: this CLI accepts only -f or --format and accepted values are spdx spdx-2.2 ... cyclonedx-1.4 etc.
we do not have a --spec-version which might be a better UX. so instead of:
sbom-convert convert samples/bom.spdx.json --debug -f cyclonedx-1.4 -o output.json
to
sbom-convert convert samples/bom.spdx.json --debug -f cyclonedx --spec-version=1.4 -o output.json
I prefer the former, but we can also support both cases.
Output: default behaviour for output is to use stdout if no -o parameter is given. however, since we didn't have validations over the file name, we prefer the spec (ie file.spdx.json). I put an auto fix for names, adding .cdx or .spdx and .json to file names if needed.  I'm happy to change this behavior and revert to "no autofix" but with proper file name validations (name.[format-ext].[encoding-ext]).
Release & Demo:
As you might noticed, I created a repo for homebrew and scoop, which will help releasing for mac/windows.
I tested the release pipeline on my fork: https://github.com/manifest-cyber/sbom-convert/actions you can look at the release in action. It uses goreleaser to release to Fury:

while also tagging and releasing to Github

With proper releases of Docker images (no dockerhub yet)

I know it has a lot of changes in it, I'm happy to answer any questions :)
🥂

@houdini91

Looks good i have no issue with us merging this as is getting 0.0.0 out in to the air .
Added Some comments,
General comment: I try and write down what i was thinking and see if people view this differently. In order to simplify the CLI UX i think its best we break our CLI in to two subcommand one to translate spdx and another for cdx. This will allow simplify the way we up with acutal pFlag default values allowing the user to run the simplist of command go-cli cdx my_cdx.json and go-cli spdx my_spdx.json, in turn this will simplify the usage help message to include said defaults for each subcommand.
For example the subcommand cdx can look similar to the following, note the defaults of the falgs reflect the opposing format latest supported format.

Translate between CycloneDX into SPDX SBOM, Bridging the gap between cyclonedx and spdx

Usage:
  protobom cdx [path] [flags]

Examples:

        protobom cdx sbom.cdx.json           output to default SPDX format.
	protobom cdx sbom.cdx.json -V 2.2    select SPDX specific version
	protobom cdx sbom.cdx.json -E text   select SPDX specific encoding
	protobom cdx sbom.cdx.json -o sbom.spdx.json       output to file
	protobom cdx --uri  text/spdx+text;version=2.2     select specific format URI

Flags:
  -c, --config string     Configuration file path
  -E, --encoding string   Select encoding, options=[text json] (default "json")

  -h, --help              help for protobom
  -D, --level string      Log depth level, options=[panic fatal error warning info debug trace]
  -o, --output string     Output path
      --uri string        Select uri, options=[text/spdx+text;version=2.3 text/spdx+json;version=2.3 text/spdx+text;version=2.2 text/spdx+json;version=2.2 application/vnd.cyclonedx+json;version=1.4 application/vnd.cyclonedx+json;version=1.5]
  -V, --spec-ver string   Select Specific version, options=[2.3 2.2] (default 2.3)
  -v, --verbose count     Log verbosity level [-v,--verbose=1] = info, [-vv,--verbose=2] = debug (default info)
      --version           version for protobom

Once the core library adds another format i would love for this usage to update once we pull in the new library (basing the content of the options and defaults from the underlining core library full format list as well as its default format list.
Another simplification i drop --encoding and --version and only support full uri including type,version and encoding in one string., and simplify default its value in to the underlining core library default value. So something like

Translate between CycloneDX into SPDX SBOM, Bridging the gap between cyclonedx and spdx

Usage:
  protobom cdx [path] [flags]

Examples:

        protobom cdx sbom.cdx.json           output to default SPDX format.
	protobom cdx --uri  text/spdx+text;version=2.2     select specific format URI

Flags:
  -c, --config string     Configuration file path
  -h, --help              help for protobom
  -D, --level string      Log depth level, options=[panic fatal error warning info debug trace]
  -o, --output string     Output path
      --uri string        Select uri, options=[text/spdx+text;version=2.3 text/spdx+json;version=2.3 text/spdx+text;version=2.2 text/spdx+json;version=2.2 application/vnd.cyclonedx+json;version=1.4 application/vnd.cyclonedx+json;version=1.5] (default text/spdx+json;version=2.3)
  -v, --verbose count     Log verbosity level [-v,--verbose=1] = info, [-vv,--verbose=2] = debug (default info)
      --version           version for protobom

You've raised several ideas and I would like to address all of them:

dedicated commands for cdx/spdx. I would argue that's less intuitive, as cdx is used alongside cyclonedx will cause confusions. then, renaming command to sbom-convert cyclonedx sbom.spdx.json is less ergonomic then sbom-convert sbom.cdx.json
Also note that I did not use a format as I'm utilizing the "reverse" functionality - detected format and choosing the reverse.
without it - sbom-convert -f spdx sbom.cdx.json

In addition I removed the "convert" as it would be the default command. (sbom-convert convert == sbom-convert)

Supporting uri is a good idea, but some users just wants to sbom-convert -f spdx sbom.cdx.json and including the
long uri values is just a tiny bit more of a "power user" feature. So having us supports both, makes sense to me.

Sourcing supported formats, and encoding directly from protobom is a cool feature. It requires some string manipulations if we want to convert it to supported encoding/formats/versions which makes sense. however doing it programmatically is a bit overkill as we're not dealing with 5 new formats a month.
Even if we do supports this, we need protobom lib to expose a function or a map of supported uri we can pull from, then on a new release, we will need to upgrade sbom-convert with a PR anyway, I don't think its critical or cannot be resolved manually.

I do agree that sourcing CLI usage options from the same variable will make upgrade much easier, but this is also out of scope for this initial PR :D

@houdini91 @puerco @bardenstein
I have fixed most (almost all issues)

Docker image now 12mb instead of 59mb
Removed some files
Improved build time by removing "386" builds
Added examples
Fixed default command, completion and version commands
CODEOWNERS
Moved convert from internal to pkg (so It can be used as a library)

Missing:

Options into commands (supported version etc), I'll add it on the next PR
Tests
URI support
updated Docs

Awesome

I also support merging the current functionality (when others are good with it) and turning outstanding TODO's into GH issues. That makes it easier to have smaller, easier-to-understand PR changes.
Nice work!


How to pass the user context details from from bot Controller to FormDialog

Bot Info

SDK Platform: .NET
Active Channels: Direct Line
Deployment Environment: Azure Bot Service

Question
How to pass user context details from from bot Controller to FormDialog?
Code Example
public virtual async Task<HttpResponseMessage> Post([FromBody] Activity activity)
        {
            if (activity != null && activity.GetActivityType() == ActivityTypes.Message)
            {
                await Conversation.SendAsync(activity, () =>
                {
                    return Chain.From(() => FormDialog.FromForm(RequestOrder.BuildEnquiryForm));
                });
            }
            else
            {
                HandleSystemMessage(activity);
            }
            return new HttpResponseMessage(System.Net.HttpStatusCode.OK);
        }

public static IForm<RequestOrder> BuildEnquiryForm()
        {

            return new FormBuilder<RequestOrder>()
                .Message("Hello {***Pass current user name?????****}Welcome to request bot!")
                .Field(nameof(IsTermsAgreed))
                .Field(nameof(ServiceRequired))
                .AddRemainingFields()
                .OnCompletion(ProcessParkingPermitRequest)
                .Message("Thank you, I have submitted your request.")
                .Build();
        }

Got the answer from stackoverflow
https://stackoverflow.com/questions/49922222/how-to-pass-the-user-context-details-from-from-bot-controller-to-formdialog/49935715#49935715


Fix/node-numbering

Description
Fix the node numbering issue generated because of attempting to remove duplicated labels.
Now we relay on the backend for that.
Issue linked
Close #3120
Checklist

[x] I have visited and read Develop PyMAPDL.
[x] I have tested my changes locally
[x] I have added necessary documentation or updated existing documentation.
[x] I have followed the PyMAPDL coding style guidelines.
[x] I have added appropriate unit tests that also ensure the minimal coverage criteria.
[x] I have reviewed my changes before submitting this pull request.
[x] I have linked the issue or issues that are solved to the PR if any.
[x] I have assigned this PR to myself.
[x] I have marked this PR as draft if it is not ready to be reviewed yet.
[x] I have made sure that the title of my PR follows Commit naming conventions (e.g. feat: adding new MAPDL command)

Pinging @AlejandroFernandezLuces for review.