-H "xdebug: probe" injects trace of headers into response body

With the intent to debug CDN, peered or multi-tiered proxy behavior, this header will trigger code to write the request and response headers to the response body at each proxy where the request is processed.
This has been proven to be significantly easier to use and more stable than log-headers. So that has been removed.
As with all xdebug features, a security layer should be applied to control who is allowed to submit this header and see this type of response data.

Why put the trace information into the body instead of a header?  We have moved away from xml.  JSON would be a better format to represent this data.

Why put the trace information into the body instead of a header?

I wanted to avoid changing/adding headers in code that is meant to analyze headers.

We have moved away from xml. JSON would be a better format to represent this data.

Writing this out to JSON would be great, and make post-processing a little simplier, but I wasn't sure how to delimit the probe-body JSON from origin-body JSON. I have a better understanding now, and I could change that.
Also this data is is somewhat easier for humans to parse, but now I have a tool that color codes and filter deltas between hosts.

@a-canary ping me when you are ready for me to look at this again.

[approve ci autest]

squash and rebase.

@bryancall when will the docs be updated?
https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/xdebug.en.html


can not reopen tcp connection on the netty 4.1.19.Final

Expected behavior
Just want to make any connection,but it does't work.
Actual behavior

make a connection
close the connection
make a connection again
fail with exception

Steps to reproduce
look above
Minimal yet complete reproducer code (or URL to code)
QuoteClient#onConnect(String hostname,int port)
       // event loop
        EventLoopGroup worker = new NioEventLoopGroup();
        Bootstrap bootstrap = new Bootstrap();
        bootstrap.group(worker);

        // declare to be client
        bootstrap.channel(NioSocketChannel.class);

        bootstrap.handler(new ChannelInitializer<SocketChannel>() {
            @Override
            protected void initChannel(SocketChannel socketChannel) throws Exception {
                ChannelPipeline pipeline = socketChannel.pipeline();
                pipeline.addLast(new HsMessageDecoder());
                pipeline.addLast(new HsMessageEncoder());
                pipeline.addLast(new HsPacketEncoder());
                pipeline.addLast(handler);
            }
        });

        // make a connection
        ChannelFuture connectFuture = bootstrap.connect(new InetSocketAddress(hostname, port));
        connectFuture.syncUninterruptibly();
        Channel channel = connectFuture.channel();

       return channel ;

close()
    public void close(Channel channel) {
            ChannelFuture closeFuture = channel.disconnect();
            closeFuture.syncUninterruptibly();
            System.out.println("Is close the channel?-->" + !closeFuture.channel().isActive());

ClientMain.java
    public static void main(String[] args) {
        QuoteClient client = QuoteClient.getInstance() ;
        try {
            Channel channel = client.onConnect("hq.hscloud.cn" , 9999) ;
            Thread.sleep(5000);

            client.close(channelId);

            Thread.sleep(5000);

            channel = client.onConnect("hq.hscloud.cn" , 9999) ;

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

the result with exception below
Is close the channel?-->true
java.nio.channels.ClosedChannelException
	at io.netty.channel.AbstractChannel$AbstractUnsafe.ensureOpen(...)(Unknown Source)

Netty version
v4.1.19.Final
JVM version (e.g. java -version)
JDK1.8
OS version (e.g. uname -a)
Window 10+

Anyone can help me?I just can't understand what's wrong with my code


Fix lock modal content rendering outside modal

The .content was not a child to .modal so was rendering outside. This is a recent regression but I'm not certain when it was introduced.
Before

After

There seems to be another tag imbalance in the file, checking...

Ok should be resolved.
The cause of the whole issue was the extra </div> between .header and .content introduced in https://github.com/go-gitea/gitea/commit/dc081959dbf5aea99f975b79275d43efe681bc25#diff-dacece2bf48efcf3ffe10ecc5aa7166ec77341638c790a2521c29480311c1714R589.

@silverwind thanks :) - will test


ROX-23299: Platform CVEs view to query db for PlatformCVEs pages

Description
Added a view interface to query db for PlatformCVEs. This PR adds queries to support PlatformCVEs list and single pages. GraphQL resolvers and support for clusters list and single pages will be added in followup PRs.
This PR also updates the cluster proto and adds a search tag to cluster type. The migration for the same will be added in a followup PR.
Checklist

[ ] Investigated and inspected CI test results
[ ] Unit test and regression tests added
~[ ] Evaluated and added CHANGELOG entry if required~
~[ ] Determined and documented upgrade steps~
~[ ] Documented user facing changes (create PR based on openshift/openshift-docs and merge into rhacs-docs)~

If any of these don't apply, please comment below.
Testing Performed
Here I tell how I validated my change
Unit tests
Reminder for reviewers
In addition to reviewing code here, reviewers must also review testing and request further testing in case the
performed one does not seem sufficient. As a reviewer, you must not approve the change until you understand the
performed testing and you are satisfied with it.

Overall LGTM. Just one question, I saw the jira include the field "ClusterVulnerability" which is not included in this PR. What is it? Is it the severity?

I added ClusterVulnerability to mean the ClusterCVE proto object. I think I will add code to fetch the serialized column and unmarshal in a graphQL query and not in this view. That way we can only fetch serialized if requested by user.


Have someone successfully connect 1 tag with 4 anchors?

Hello! I am using this lib for indoor positioning project and now I can connect 1 tag with 3 anchors. And now I want to connect with 4 but it seems not working. Have someone successfully connect 1 tag with 4 anchors? I using the example code DW1000Ranging_ANCHOR. Plz give me some advise thx

Yeah. I wonder if this is the answer. Do you work with 4 anchors? Or more ...

I have a very basic question. Can you read the distance of a tag from all the anchors through only a single anchor?

Have someone successfully connect 1 tag with 4 anchors?

Hi @jack880019
Of course, it is possible. I've tried it once, but never used it afterwards.
Check this line:
In DW1000Ranging.cpp
//Max devices we put in the networkDevices array ! Each DW1000Device is 74 Bytes in SRAM memory for now. #define MAX_DEVICES 4
You have to increase this number.
Piotr

@pascalbros Thanks. I close this.


Title: FC Training - Info for presenters

Is this webpage only for presenters or is it intended to be a landing page for both presenters and participants?

We have a different page for the training that will be for participants. that page has been used for the sign-up and it is the same page as we used last year, so it works, and it is official, so there is no problem sharing it.
I know some placeholder content I put on the landing page make it seem as it is for the participants also, but that is not my intention.


Request - Make Bins Sided

I love your bins Aidan, I really do.. but for one thing that makes them difficult to use. Please update bins to either be like gas tanks with configurable sides or simply just makes bins able to input and/or output on all sides similar to how Thermal Expansion caches or Storage Drawer drawers work. This would greatly increase the flexibility of bins.
Cheers!

Addendum since we're talking bin changes anyway.. ability to lock the type of object to the bin. IE: Even if the bin is empty it is still tagged as say "bones" even with quantity zero. Makes them much more useful for the many, many scenarios where you want to "prestage" a bin as a set item type and not worry about accidently taking out the last item and the bin losing what it is. Think farms, etc.
Wasn't a huge deal before as, to be honest, the old limit on items was a bit tame. The new tiered ones are much more useful and as such, are proper replacements for TE caches and other equivalent items minus the caveats listed in this post. :)


RX 580 Users: can you select Orinoco Framebufffer in macOS Ventura?

Hello... and sorry to ask you the same question you asked in Reddit two years ago ( https://www.reddit.com/r/hackintosh/comments/vv1i4g/rx_580_users_can_you_select_orinoco_framebufffer/ ).
Still no ideas yet on your side?
Working fine, as you may know, prior to Ventura...
Thanks for your work BTW, I've implemented low power PowerPlay tables for my Sapphire RX580 successfully following your docs.
Patrice

I have been banned from this reddit, so I couldn't respond.
Besides using device properties, I don't know another way.
How did you verify that the framebuffer is not used?

Hello,
I’ve checked with IORegistry Explorer and it’s easy for me to see it: I have a partition with Big Sur and Orinoco is injected properly (via devices properties) but as soon as I go back to Ventura, the generic AmdFramebuffer is used.
I thought you had found (maybe) the « why ». A bug on the Apple side? On the OpenCore side?
I use 0.8.8 No ACPI to not disturb my Windows boot and didn’t tried a more recent OC build or latest Clover though…
Thanks for your support anyway.

I know you closed it but anyway: no difference with OC 0.9.7...

Maybe you have to inject the property via SSDT instead. It has an entry for Orinoco in it: https://github.com/5T33Z0/OC-Little-Translated/blob/main/11_Graphics/GPU/AMD_Radeon_Tweaks/mattystonnie/SSDT-RX580.dsl

I just saw this on the Whatvergreen repo

When should I use a named framebuffer?
Named framebuffers (Baladi, Futomaki, Lotus, etc.), enabled by "Clover GPU injection" or any other methods should never ever be used. This way of GPU injection is a common mistake, preventing automatic configuration of various important GPU parameters. This will inavoidably lead to borked GPU functioning in quite a number of cases.

Maybe you have to inject the property via SSDT instead. It has an entry for Orinoco in it: https://github.com/5T33Z0/OC-Little-Translated/blob/main/11_Graphics/GPU/AMD_Radeon_Tweaks/mattystonnie/SSDT-RX580.dsl

Already tried with a similar SSDT, no go!

I just saw this on the Whatvergreen repo

When should I use a named framebuffer?
Named framebuffers (Baladi, Futomaki, Lotus, etc.), enabled by "Clover GPU injection" or any other methods should never ever be used. This way of GPU injection is a common mistake, preventing automatic configuration of various important GPU parameters. This will inavoidably lead to borked GPU functioning in quite a number of cases.

Well, it works as is so, let it be then… Thanks again!

Just to complete:
Tried my HP RX5500 instead with ATY,Boa as device properties and it worked. Performance is a tad lower than the Sapphire Pulse RX580 but this hack is used as a basic desktop computer so, doesn't matter. Power consumption is way lower too.


Service endpoint cannot referenced in co-dependent services

If there is a server that requires a worker, but the worker needs the environment variable like:
envs: {
     COMPASS_BASE_ENDPOINT: fromServiceEndpoint: "server:api"
}

Then we get the following error by ns dev
"server" is referenced in "fromServiceEndpoint" but it is not in the server stack. Please explitly add this server to the `requires` list.

But specifying the server as required in the worker leads to circular references, and ns dev goes into deadlock.
(never mind the typo in the error message)

So this is for a situation where: server depends on worker, and worker depends on server, is that right?
We don't support cyclic dependencies -- maybe yet. :-)

Yes, indeed it is cyclic dependence from an abstract point of view. However, it would be good to have a way where I can relay on, for example, the DNS-based service discovery that K8S provides in some way.


Fix typo in README.rst

Fix typo in line 445:

To run rhe dashboard you need to clone the repo.

Thanks :)


Make comparison of feature names in _validate_features order agnostic

Encountered this problem when I tried to wrap a model into an service. I serialised my model into a pickle file. My service extracts the same set of features from the input, de-serialises the model and calls the predict method on it with extracted features. I ran into feature_names mismatch error, even though the feature names in the training and input data match. This is because of the following line:
if self.feature_names != data.feature_names:
    ...

Both self.feature_names and data.feature_names are both lists, and Python compares both order and values of items when two lists are compared. Modified the code to make the comparison order agnostic.
Disclaimer: I'm not a data scientist, but engineer trying to production-ise an ML model. If the order-specific comparison is intentional, please close the PR.

Codecov Report

Merging #2620 into master will increase coverage by 0.05%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #2620      +/-   ##
==========================================
+ Coverage   37.59%   37.64%   +0.05%
==========================================
  Files          82       82
  Lines        7254     7254
  Branches      710      710
==========================================
+ Hits         2727     2731       +4
- Misses       4385     4386       +1
+ Partials      142      137       -5

Impacted Files
Coverage Δ

src/data/sparse_page_raw_format.cc
82.69% <0%> (-1.93%)
:arrow_down:

src/data/simple_dmatrix.cc
57.33% <0%> (+0.66%)
:arrow_up:

src/objective/regression_obj.cc
87.43% <0%> (+1.09%)
:arrow_up:

src/predictor/cpu_predictor.cc
73.54% <0%> (+1.29%)
:arrow_up:

Continue to review full report at Codecov.

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

Internally, features are determined by their order.


Row level security in embedded charts [Guidance needed]

Hi,
I need some guidance on how to embed superset charts with row level security. Here is what I am thinking to do:
1- Create an user in superset for my custom application
2- When an user wants to see any chart, custom app sends its credentials to superset from backend and set the row level security RLS (where clause). A JWT token return to the front end
3- Front end passes JWT token to iFrame.
So the question is is it possible to set some session details to be used for RLS when logging in from external application?

@amitmiran137 Hey fellow PMC, If you happen to know, please help. 🙏

This is such an interesting topic for me these days .
We have a few different solutions for that but lately we are considering a few other options to what would be the ultimate row level security solution .
I'll update here soon once we'll finish up with the details

@sadiqkhoja @amitmiran137  I have a question we are using OAUTH with flask using keycloak as authorization server. However, when my application tries to initiate a new session in superset on its behalf the browser based authorization flow works but the charts required re login (assuming keycloak does not work with xhr when token exchange is done) and yes we are also passing id which we want the role level security applied on it. (We dont send any token in iframe url) assuming global session is inititated.

@amitmiran137 not sure if you are able to circle back to this, and @sadiqkhoja I'm not sure if this is still a pressing need. I'm tempted to close this ore move it to a Discussion if it's not an "issue" really, but I don't mean to be overly dismissive.

Haven't heard anything in a couple weeks here, so I'm closing as a "won't fix." I'll still be happy to convert to a Q&A Discussion if needed.


Fix certificates (bsc#1069205)

In the certs macros, do not assume "names" are always names and "ips" are always IPs: just filter with the is_ip() filter and act accordingly.
Fix certifcates for dex: there were entries like DNS:DNS:dex
Minor shortcuts in the arguments.
Fixes: bsc#1069205

As for the bug itself, I also think it would be interesting to raise a warning in the UI if an IP address was entered, stating that it's not a recommended practice to set the Kubernetes External FQDN field to an IP address for multiple reasons (HA, IP replacement...).

As for the bug itself, I also think it would be interesting to raise a warning in the UI if an IP address was entered, stating that it's not a recommended practice to set the Kubernetes External FQDN field to an IP address for multiple reasons (HA, IP replacement...).

I wouldn't do that: the external address could perfectly be an IP address, for example, when using virtual IPs with Pacemaker, floating IPs, etc

I wouldn't do that: the external address could perfectly be an IP address, for example, when using virtual IPs with Pacemaker, floating IPs, etc

For this field in particular (Kubernetes External FQDN field) we have always encouraged a FQDN to be used.
Pacemaker, floating IP's, keepalived... lots of different solutions, but nothing as easy as RR DNS with a low TTL that you can modify in case of a disaster. Virtual IP's across datacenters is also a very tricky matter...

If this PR includes the /etc/hosts bit on https://github.com/kubic-project/salt/pull/319, it will also close bsc#1070154


Laravel 5.6 Shift

This pull request includes the changes for upgrading to Laravel 5.6. Feel free to commit any additional changes to the shift-6269 branch.
Before merging, you should:

Checkout the shift-6269 branch
Review all pull request comments for additional changes
Update your dependencies for Laravel 5.6
Run composer update (if the pre-scripts fail, add --no-scripts)
Thoroughly test your application

If you need help with your upgrade, check out the Shift Human Services or join the Shifty Coders Slack room to get answers to all your Laravel questions.

ℹ Laravel 5.6 introduced a logging configuration file. You should ensure the log and log_level settings previously in the config/app.php are now set in config/logging.php.

❌ Laravel 5.6 requires PHP 7.1.3. You have a modified dependency for PHP in your composer.json. Ensure it meets the new version requirement of >=7.1.3.

⚠ Shift could not upgrade the following project files since they differed from the default Laravel version. You should compare these project files against the default Laravel 5.6 versions and merge any changes:

[ ] .env.example

❌ Shift could not upgrade tests/CreatesApplication.php. You will need to compare yours against the 5.6 version and merge any new changes.

❌ Shift could not upgrade the following configuration files since they differed from the default Laravel version. You will need to compare these configuration files against the Laravel 5.6 configuration files and merge any changes:

[ ] config/app.php
[ ] config/auth.php
[ ] config/filesystems.php
[ ] config/mail.php
[ ] config/services.php

ℹ In Laravel 5.6, Blade will double encode special characters by default. If you would like to maintain the previous behavior of preventing double encoding, you may add Blade::withoutDoubleEncoding() to your AppServiceProvider boot method.

ℹ All of the underlying Symfony components used by Laravel have been upgraded to Symfony 4.0. If you are directly interacting with Symfony components, you should review the Symfony change log and update your application accordingly.

ℹ Laravel 5.6 uses Bootstrap 4 by default. Shift did not update your front-end resources or dependencies as this could impact your UI. If you are using Bootstrap and wish to continue using Bootstrap 3, you should add Paginator::useBootstrapThree() to your AppServiceProvider boot method.

ℹ The previously deprecated optimize Artisan command has been removed. With recent improvements to PHP itself including the OPcache, the optimize command no longer provides any relevant performance benefit.

ℹ If you have manually upgraded your app from previous versions of Laravel, you should run the Laravel Linter to ensure your app is fully upgraded to the latest version of Laravel.

ℹ Shift noticed you have additional namespaces in your project. You should consider using the Consolidate Namespaces Shift to simplify your namespaces into the default Laravel App namespace.

Will be merged as soon as bugsnag/bugsnag-laravel#286 has been fixed.


freeradius : added service to module-list

The freeradius service was merged with #34587
but the module was not added to module-list.
Motivation for this change
This commit fixes that and enables the use of
services.freeradius in nixos configuration.
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Fits CONTRIBUTING.md.

Thank you ! (and sorry for forgetting this in the first place...)


feat: 🎸 add fadeInScale animation

:tada: This PR is included in version 1.2.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


HDDS-9437. Intermittent failure in test-scm-decommission

What changes were proposed in this pull request?
The robot test currently was decommissioning the scm node that we were running the tests from. Hence the tests were abruptly stopping without any Pass/Fail message.
Changing the exec container to s3g to prevent this.
What is the link to the Apache JIRA
HDDS-9437
How was this patch tested?
Passed CI: https://github.com/LZD-PratyushBhatt/ozone/actions/runs/6505325429/job/17669363810?pr=8

Thanks @LZD-PratyushBhatt for the fix.


LocalAccountId should be always expected in AccountInfo and shouldn't have nullable type

Library

[ ]<EMAIL_ADDRESS>or<EMAIL_ADDRESS>[x] @azure/msal-browser@dev
[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>
Description
Recent PR #2516 added localAccountId to AccountInfo and it was added as an nullable field (string?):
export type AccountInfo = {
    homeAccountId: string;
    environment: string;
    tenantId: string;
    username: string;
    name?: string;
    localAccountId?: string;
};

If oid claim is present in ID token, then localAccountId is set to oid, otherwise it set to a value of sub claim.
From the code here:
const localAccountId = !StringUtils.isEmpty(idToken.claims.oid)
    ? idToken.claims.oid
    : idToken.claims.sub;

oid is optional claim which is present in ID token only if profile scope was requested, but sub is a required claim according to Open ID Connect specification:
https://openid.net/specs/openid-connect-core-1_0.html#IDToken
It means that localAccountId is always have a value, same as every user always have a unique ID.
Please make the localAccountid as a required field in AccountInfo, so it would make code that consumes AccountInfo cleaner.

Will do. Please expect a PR soon.

#2559 addresses this!


Recurring Process Triggering Work Flow More Than Once

A Recurring Process I setup to trigger a workflow on a daily basis is often triggering the workflow more than once. Basically, the Recurring Process finds all the contacts whose Next Home Anniversary is today. It triggers a workflow called ABPR: Home Anniversary that adds some other logic, calls a Child Workflow that sends the email and then updates Next Home Anniversary to next year. I have occasionally seen more than one email sent to the same Contact. I updated to your latest version and ran some tests with 2 test Contacts. Looking at the Process Sessions for ABPR: Home Anniversary, in the latest run it was triggered 3 times for each Contact. Attached is the screen shot of the Process Sessions. I will change the logic in ABPR: Home Anniversary to update the Next Home Anniversary prior to calling the child workflow. I hope that will minimize the impact on my clients but doesn't solve the root problem. This is a great solution that is very useful. I hope there is a correction that can be made.

Did you by any chance manually change the next run date on your recurring process record after you initially created it? That can result in duplicate executions being triggered. Also, can you verify you have just a single recurring process record that calls your main workflow?
Finally, can you uncheck the option to automatically delete completed workflow jobs on the "Recurring workflow runner" workflow and see how many process sessions it fires every day?

Yes, I did change the next run date several times in the process of testing it. Is there a way to delete the duplicate executions? Yes, I only have a single Recurring Process calling the main workflow. I already have unchecked to automatically delete workflows. That was the screen shot I posted. These emails go to clients so I stopped sending them out and set up a couple test Contacts with my email address.  It was set to send out daily and since I didn’t want to wait that long, I just kept changing the next run date and time.  The last run gave me 14 duplicate executions.  Sounds like I have been making it worse.
My questions are:

Is there a way to delete the duplicate executions?  I suppose I could delete and recreate the Recurring Process.
How do you change the run time without creating a duplicate execution?
Thank you

Paul
From: Lucas Alexander<EMAIL_ADDRESS>Sent: March 25, 2018 5:07 PM
To: lucasalexander/AlexanderDevelopment.ProcessRunner<EMAIL_ADDRESS>Cc: Paul Talbot<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [lucasalexander/AlexanderDevelopment.ProcessRunner] Recurring Process Triggering Work Flow More Than Once (#1)
Did you by any chance manually change the next run date on your recurring process record after you initially created it? That can result in duplicate executions being triggered. Also, can you verify you have just a single recurring process record that calls your main workflow?
Finally, can you uncheck the option to automatically delete completed workflow jobs on the "Recurring workflow runner" workflow and see how many process sessions it fires every day?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/lucasalexander/AlexanderDevelopment.ProcessRunner/issues/1#issuecomment-376011349, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AaiqhCq3T-ES1aTkt8KiXYuu0Ek44Kh-ks5tiCMOgaJpZM4S5yvn.

On the completed workflows, can you show the process sessions associated with the recurring process record? That's where you should see duplicate waiting workflows if there are any.

If there are duplicate waiting workflows, you should be able to just delete them.
Right now I don't think there's a way to prevent duplicates from spawning on a manual change, so I would just advise checking for duplicates after any manual changes.

Lucas,
That is straight forward.  Thanks for your reply.
Paul
From: Lucas Alexander<EMAIL_ADDRESS>Sent: March 26, 2018 10:15 AM
To: lucasalexander/AlexanderDevelopment.ProcessRunner<EMAIL_ADDRESS>Cc: Paul Talbot<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [lucasalexander/AlexanderDevelopment.ProcessRunner] Recurring Process Triggering Work Flow More Than Once (#1)
On the completed workflows, can you show the process sessions associated with the recurring process record? That's where you should see duplicate waiting workflows if there are any.

If there are duplicate waiting workflows, you should be able to just delete them.
Right now I don't think there's a way to prevent duplicates from spawning on a manual change, so I would just advise checking for duplicates after any manual changes.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/lucasalexander/AlexanderDevelopment.ProcessRunner/issues/1#issuecomment-376222997, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AaiqhFyvukTyqoPfMDg97tBV_RXNq2NIks5tiRP6gaJpZM4S5yvn.

Lucas,
Great project!  I have a suggestion that prevents duplicate triggering.  As you've noted, your approach will always retrigger the main workflow and queue up a new instance every time you change the underlying Recurring process record.
My solution was to insert a CancelWaitingWorkflowInstances custom workflow step at the top of the workflow that stops any duplicate waiting workflow instances.  The custom step ensures you only have one waiting workflow with the indicated name running at any given time against each record.  I pasted in a copy in here if you are interested in incorporating it.  But it is super useful as a separate Workflow step because you can use it in lots of other places.   The only trick to to remember that the workflow name is important.
I borrowed directly from this post with a few tweaks to make allow testing and running outside of workflow: https://community.dynamics.com/crm/b/mscrmshop/archive/2012/10/29/workflow-assembly-to-cancel-waiting-workflows-part-1
Simply insert the custom step at the top of your "Workflow processes runner" workflow:

Thanks again Lucas!
Don Schiavone

/* CancelWaitingWorkflowInstances Custom Workflow Step */
using System;
using System.Globalization;
using System.Activities;
using Microsoft.Xrm.Sdk;
using Microsoft.Xrm.Sdk.Workflow;
using Microsoft.Xrm.Sdk.Query;
namespace Schiavone.Workflow.Utilities
{
public class CancelWaitingWorkflowInstances : WorkFlowActivityBase
{
protected override void Execute(CodeActivityContext context)
{
if (context == null)
{
throw new ArgumentNullException("serviceProvider");
}
        // Construct the Local plug-in context.
        LocalWorkflowContext localcontext = new LocalWorkflowContext(context);
        localcontext.Trace(string.Format(CultureInfo.InvariantCulture, "Entered {0}.Execute()", this.DisplayName));
        ExecuteCRMWorkFlowActivity(context, localcontext);
    }
    public override void ExecuteCRMWorkFlowActivity(CodeActivityContext executionContext, LocalWorkflowContext context)
    {
        //Get the tracing service
        ITracingService tracingService = executionContext.GetExtension<ITracingService>();

        //Get the context
        IOrganizationServiceFactory serviceFactory = executionContext.GetExtension<IOrganizationServiceFactory>();
        IOrganizationService service = serviceFactory.CreateOrganizationService(context.WorkflowExecutionContext.UserId);

        Guid workflowExecutionContextOperationId = context.WorkflowExecutionContext.PrimaryEntityId;
        //get workflow name from the input property
        string sWorkflowName = workflowName.Get<string>(executionContext);

        Guid relatedEntityId = context.WorkflowExecutionContext.PrimaryEntityId;
        bool bCancelThisInstanceToo = cancelThisInstanceToo.Get<bool>(executionContext);
        //Get a service context to use linq queries and ...
        //var ServiceContext = new OrganizationServiceContext(service);
        // var ServiceContext = context.OrganizationService;

        tracingService.Trace(string.Format("workflowExecutionContextOperationId={0}, sWorkflowName={1}, relatedEntityId={2}, bCancelThisInstanceToo={3} ",
            workflowExecutionContextOperationId, sWorkflowName, relatedEntityId, bCancelThisInstanceToo));

        int count = DoCancelWaitingWorkflowInstances(workflowExecutionContextOperationId, sWorkflowName, relatedEntityId, bCancelThisInstanceToo, service);

        tracingService.Trace(string.Format("numberOfCancelledWorkflows={0}", numberOfCancelledWorkflows));
        numberOfCancelledWorkflows.Set(executionContext, count);

        // Throw an exception so we can see the Trace (debugging only)
        var shouldForceException = forceException.Get(executionContext);
        if (shouldForceException) throw new InvalidPluginExecutionException();

    }
    public static int DoCancelWaitingWorkflowInstances(Guid workflowExecutionContextOperationId, string sWorkflowName,
     Guid relatedEntityId, bool bCancelThisInstanceToo, IOrganizationService service)
    {
        Guid primaryEntityId = relatedEntityId;

        // http://mscrmshop.blogspot.com/2012/10/workflow-assembly-to-cancel-waiting.html
        int iCancelledCount = 0;
        try
        {
            QueryExpression query = new QueryExpression("asyncoperation");

            // get columns
            ColumnSet cols = new ColumnSet(new string[] { "asyncoperationid", "statecode" });

            // conditions
            // name of the workflow -input property
            ConditionExpression c1 = new ConditionExpression("name", ConditionOperator.Equal, sWorkflowName);
            // entity id
            ConditionExpression c2 = new ConditionExpression("regardingobjectid", ConditionOperator.Equal, primaryEntityId);
            // statecode of waiting
            ConditionExpression c3 = new ConditionExpression("statecode", ConditionOperator.Equal, 1);

            //create the filter
            FilterExpression filter = new FilterExpression();
            filter.FilterOperator = LogicalOperator.And;
            filter.AddCondition(c1);
            filter.AddCondition(c2);
            filter.AddCondition(c3);

            query.ColumnSet = cols;
            query.Criteria.AddFilter(filter);

            //get the collection of results
            EntityCollection colResults = service.RetrieveMultiple(query);

            foreach (Entity async in colResults.Entities)
            {
                Entity e = async;
                // If we want to preserve this particular workflow instance, then skip the part where we cancel it
                if (!bCancelThisInstanceToo && (e.Id == workflowExecutionContextOperationId))
                    continue;

                //change the status of the system job
                e["statecode"] = new OptionSetValue(3); //cancelled

                //update the object
                service.Update(e);
                iCancelledCount++;
            }

        }//end try
        // Catch any service fault exceptions that Microsoft Dynamics CRM throws.
        catch (Exception ex)
        {
            // You can handle an exception here or pass it back to the calling method.
            throw;
        }

        return iCancelledCount;
    }

    [Input("Workflow Name")]
    [Default("workflow name")]
    public InArgument<string> workflowName { get; set; }

    [Input("Cancel this workflow instance too?")]
    [Default("false")]
    public InArgument<Boolean> cancelThisInstanceToo { get; set; }

    [Input("Force Exception? (To View Tracing)")]
    [Default("false")]
    public InArgument<Boolean> forceException { get; set; }

    [Output("Number of cancelled workflows")]
    public OutArgument<int> numberOfCancelledWorkflows { get; set; }

}

}


FMUv4: CPU load > 95%

Describe the bug
With current master, I'm seeing > 96% CPU load on FMUv4 (pixracer), leading to log dropouts etc.
It seems that the load is high on boot, and then drops to around ~80% after a few seconds, and increases back to 95% when arming.
Tested with 270e12a4dfbe5ea24035483beabca90f3bd4b18d
I have not yet found the time to check other FMUs.
To Reproduce
Just flash a pixracer and arm it.
Log File
https://review.px4.io/plot_app?log=695a3060-e155-4622-b625-d5b870a50871

mavlink (2 instances) ~= 17% cpu

Can you run mavlink status streams on a full operational system? I would guess we this could be trimmed.
https://github.com/PX4/Firmware/pull/12967 might save a small amount

wq:rate_ctrl (inner loop + output module) ~= 11%

This can be decreased slightly by setting IMU_GYRO_RATEMAX to 400 (your PWM_RATE)

Here's the output of mavlink status streams: (Sorry for the screenshot, QGC doesn't let me copy-paste)

Should be resolved, although there's plenty of room for further improvement.


tf.FixedLenFeature to  tf.io.FixedLenFeature

Tensorflow code update

Thanks for this update!

Please upgrade your code as per Tensor flow 2.x versions there are more changes required apart from this.

Ref:
1)https://stackoverflow.com/questions/36215346/tensorflow-module-object-has-no-attribute-fixedlenfeature
2)https://stackoverflow.com/questions/59226533/attributeerror-module-tensorflow-has-no-attribute-get-variable
3)https://stackoverflow.com/questions/59953127/tensorflow-2-1-0-has-no-attribute-random-normal
4)https://stackoverflow.com/questions/42326245/tensorflow-error-in-import-tf-nn-rnn-cell
5)https://stackoverflow.com/questions/55870127/module-tensorflow-has-no-attribute-contrib


Refactor assets to ES modules

It seems that more and more and more people are using ES modules and tools such as webpack to bundle client-side code, and datagrid's assets are not ready for such approach.
I'm opening this issue to keep track of the progress on this.

There were few tries before and few issues regarding this here... Everyone wants it. But no one ever prepared any PR. If U do it I'm sure they will gladly accept it, most of contributors to datagrid are mostly backend devs also so it's a bit trickier for them...

There were few tries before and few issues regarding this here... Everyone wants it. But no one ever prepared any PR. If U do it I'm sure they will gladly accept it, most of contributors to datagrid are mostly backend devs also so it's a bit trickier for them...


Use phootwork/file from master that fix PHP7 problems

Problem with class phootwork/lang/String

Hey @Nas1k can you tell me, what are you trying to repair? At the moment I cannot accept this PR as it would change this package and as such the one on packagist as well. However, I'm here to help fixing your issue with you.

Seems like, the php-code-generator is broken because of the phootwork/file package, which - when I release a new version - would work again?

@gossi Yes it's correct. When are you planning release new version for phootwork/file? Thanks.

done.


Add C version of MeasureString_Wrapping_Dots test

This is one funky bug... It works fine on macOS with Pango 1.42 and it doesn't work on Ubuntu 16.04 with Pango 1.38.1. The problem is that on Ubuntu the "." characters are not marked with "char_break" logical attribute so the Pango layout fails to insert a line break. On macOS all the characters have the "char_break" logical attribute and it returns the correct result.

The fix in Pango was implemented in https://github.com/GNOME/pango/commit/e8316c1c6f46b844b265478622d3a581305b70b6#diff-3d8168315b940c3e9d29a4991735a9a7 so any version newer than 1.40.14 is fine. I'll bump the minimum requirement.


Bootstrap v4.0.0

Gentelella does not work on bootstrap v4.0?

Hi, in short no.

Once Bootstrap 4 goes out of beta, this issue can/should be re-opened. This is quite a huge project with a large user base. It wouldn't be wise to push beta code (what BS4 currently is) into production.

Duplicate of #268


bugfix: change nanocl to use cargo in test

- What I did
Changed the CLI command from nanocl ... to use cargo ... to accommodate for nanocl not being set in PATH.
- Description for the changelog

Changed the CLI command from nanocl ... to use cargo ....
- A picture of a cute animal (not mandatory but encouraged)

Thx!


Callsign prefix for Anguilla vp2

What would you like to add?

Is this resource available in a usable format or does it require some work?

Additional context

the data comes from here, if it's included there but not here, then there's an issue, but otherwise it's something to take up with country-files

My bad, the correct prefix is vp2e, not vp2. The bot correctly identifies the full prefix.

To add upon this. the specific database file we use does not contain subdivisions of countries (provinces, states, etc). However, a different file is published by the same person that does include subdivisions, the only problem is that it has a different format (it might also not be as complete but I'm not sure about that). We've explored in the past what would be required to use it, and it's a bit more involved than we have time to. We may very well revisit that in the future though.

My view goes something like this … when I originally queried VP2, I did not realize that VP2 was not definitive for dxcc. Perhaps I should entered the entire callsign instead of what I assumed was a definitive prefix. The error message led me to believe that VP2 was not in the country list. Next time I’ll enter the entire callsign. It would have been handy if QRM merely said ‘not definitive’ and provoked me to enter more/all.


Add google-chrome to default config

The default config was not matching my installation of google-chrome from the Arch AUR. Since it looks like we need to do exact match on app names, I added a new line for this, which is working for me. Let me know if there's a cleaner way to support case insensitivity on app name.

Thansk for the pr!


PowerShellGet needs to check compatibility before installing a script or module

For reference, see the discussion on PowerShell/PowerShell#10318.
That PR ensures that the workflow keyword results in a parse error. If you build that PR and run it, and try to run the PowerShellGet tests, you get an error when one of the tests tries to install Fabrikam-ServerScript from www.poshtestgallery.com. The error occurs because that script has a workflow defined within it, and that no longer parses, so the installation fails. The error occurs when PowerShellGet tries to get the script info, which requires parsing the script, which won't work in PowerShell 7.
The simple solution to this is for PowerShellGet to check if a script/module has workflow in it before it tries to install it, and prevent that installation from happening with an appropriate error message in PowerShell 6+. Users can still save the script (this does not do any parsing checks), but they won't be able to install such a script, and they'll know why because the error message will tell them the script includes a PowerShell workflow, which is not supported on PowerShell 6 or later.
Steps to reproduce
# Note you need to register www.poshtestgallery.com as a repo and save
# the repo's name in $repoName before you run this command on
# PowerShell 6 or later.
Install-Script Fabrikam-ServerScript -Repository $repoName

Expected behavior
An error message indicating that the script cannot be installed because it contains PowerShell workflow, which is not available in PowerShell 6 or later.
Actual behavior
On PowerShell 6, the script installs.
On PowerShell 7 with the PR code: an error is generated because the script does not parse.
Environment data
> $PSVersionTable
Name                           Value
----                           -----
PSVersion                      7.0.0-preview.2
PSEdition                      Core
GitCommitId                    7.0.0-preview.2-63-g00949ab3522c66bc2efdcb62779d64c7546a5830
OS                             Microsoft Windows 10.0.17763
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

> Get-Module -ListAvailable PowerShellGet,PackageManagement
    Directory: C:\Users\kirka\OneDrive\Documents\PowerShell\Modules

ModuleType Version    PreRelease Name                                PSEdition ExportedCommands
---------- -------    ---------- ----                                --------- ----------------
Script     1.4.3                 PackageManagement                   Desk      {Find-Package, Get-Package, Get-PackageProvider, Get-PackageSource…}
Script     2.2                   PowerShellGet                       Desk      {Find-Command, Find-DSCResource, Find-Module, Find-RoleCapability…}

    Directory: C:\Program Files\PowerShell\Modules

ModuleType Version    PreRelease Name                                PSEdition ExportedCommands
---------- -------    ---------- ----                                --------- ----------------
Script     1.4                   PackageManagement                   Desk      {Find-Package, Get-Package, Get-PackageProvider, Get-PackageSource…}
Script     1.2.3                 PackageManagement                   Desk      {Find-Package, Get-Package, Get-PackageProvider, Get-PackageSource…}
Script     <IP_ADDRESS>               PackageManagement                   Desk      {Find-Package, Get-Package, Get-PackageProvider, Get-PackageSource…}
Script     2.1.4                 PowerShellGet                       Desk      {Find-Command, Find-DSCResource, Find-Module, Find-RoleCapability…}
Script     2.0.3                 PowerShellGet                       Desk      {Find-Command, Find-DSCResource, Find-Module, Find-RoleCapability…}
Script     2.0.0                 PowerShellGet                       Desk      {Find-Command, Find-DSCResource, Find-Module, Find-RoleCapability…}

    Directory: C:\users\kirka\source\repos\powershell\src\powershell-win-core\bin\debug\netcoreapp3.0\win7-x64\publish\Modules

ModuleType Version    PreRelease Name                                PSEdition ExportedCommands
---------- -------    ---------- ----                                --------- ----------------
Script     1.4.3                 PackageManagement                   Desk      {Find-Package, Get-Package, Get-PackageProvider, Get-PackageSource…}
Script     2.2                   PowerShellGet                       Desk      {Find-Command, Find-DSCResource, Find-Module, Find-RoleCapability…}

> Get-PackageProvider -ListAvailable
Name                     Version          DynamicOptions
----                     -------          --------------
NuGet                    <IP_ADDRESS>          Destination, ExcludeVersion, Scope, SkipDependencies, Headers, FilterOnTag, Contains, AllowPrereleaseVersions, ConfigFile, SkipValidate
PowerShellGet            <IP_ADDRESS>          PackageManagementProvider, Type, Scope, AllowClobber, SkipPublisherCheck, InstallUpdate, NoPathUpdate, AllowPrereleaseVersions, Filter, Tag, Includes, DscResource, RoleCapability, Command, Acce…
PowerShellGet            <IP_ADDRESS>
PowerShellGet            <IP_ADDRESS>
PowerShellGet            <IP_ADDRESS>

@KirkMunro thanks for working on this PR and opening the issue in this repo, we will track this request here...thanks!


[beta] More of a pedagogical issue.

The hover state should be introduced (typically when discussing how to style links) then extend to other elements such as paragraphs, ids, and classes. Doing so is pedagogically more sound and makes the course easier to follow.

@masters-george - are you referencing the challenge Add a Box-shadow to a Card-like Element, and that it comes before the Adjust the Hover State of an Anchor Tag in the Applied Visual Design section? If so, we just had an issue come up that's similar ( #12979 ). I think taking your point and that issue, we can make the material flow better by removing the hover requirement on the box-shadow challenge.
Thanks for taking the time to review the new challenges!

Hi Heather K.
Thanks for getting back to me. I would agree with you. When we cover the
hover state with anchors (the most common use case), then it would make
sense to follow it with another module that says essentially by the way you
can use the hover state with other tags (such as the paragraph tag).
George Masters
instructional Designer /Trainer
408.242.4632
On Tue, Jan 31, 2017 at 12:03 PM, Heather K<EMAIL_ADDRESS>wrote:

@masters-george https://github.com/masters-george - are you referencing
the challenge Add a Box-shadow to a Card-like Element, and that it comes
before the Adjust the Hover State of an Anchor Tag in the Applied Visual
Design section? If so, we just had an issue come up that's similar (
#12979 https://github.com/freeCodeCamp/freeCodeCamp/issues/12979 ). I
think taking your point and that issue, we can make the material flow
better by removing the hover requirement on the box-shadow challenge.
Thanks for taking the time to review the new challenges!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/freeCodeCamp/freeCodeCamp/issues/12964#issuecomment-276475263,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AXlRNHtuPxBhBXZjuEmCZACKszOFiuYAks5rX5OsgaJpZM4Lw_Ry
.


Add check functions and fix bug

Add check functions for the SDP and the (polynomial) problem.
Fix a bug introduced in v0.3 when not using a subblock of a variable in any constraint

Codecov Report
Patch coverage: 64.49% and project coverage change: -2.08 :warning:

Comparison is base (dd2221e) 83.78% compared to head (3b131b8) 81.70%.

:exclamation: Current head 3b131b8 differs from pull request most recent head 447700a. Consider uploading reports for the commit 447700a to get more accurate results

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #28      +/-   ##
==========================================
- Coverage   83.78%   81.70%   -2.08%
==========================================
  Files           6        7       +1
  Lines        1375     1503     +128
==========================================
+ Hits         1152     1228      +76
- Misses        223      275      +52

Impacted Files
Coverage Δ

src/ClusteredLowRankSolver.jl
100.00% <ø> (ø)

src/solver.jl
84.97% <15.38%> (-2.73%)
:arrow_down:

src/checks.jl
68.80% <68.80%> (ø)

src/interface.jl
86.00% <75.00%> (-1.80%)
:arrow_down:

... and 3 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Use full Python images

The slim images just are missing things that dependencies might assume are there, like CA bundles for libcurl, etc. It may not be very usable to keep using these slim ones. But I'd really rather figure out how to get things running on the bare VMs, so cluster startup time isn't worse.

it would be fine to pre-pull the full fat python images on the base AMI btw


feat(dashboard-store): create dashboard store skeleton

To Reviewers

[ ] Skip (style, chore ONLY)
[ ] Not that difficult

Type of Change

[x] New feature
[ ] Bug fixes
[ ] Feature improvement
[ ] Refactor
[ ] Others (performance improvement, refactoring, CI/CD, etc.)

Checklist

[ ] Error / Warning / Lint / Type

Description
SSIA
Things to Talk About

Thank you for reviewing! I apply some changes you've comment!


[Ansible] General cleanup and add missing APT package

Cleanup platform specific packages names. Add the list of APT packages names to be installed to the
variables files, and cleanup the dirty if from the Ansible tasks.
Add libcurl4-openssl-dev to the APT packages list. This is needed when running the testing jobs for Azure-DCAP-Client with Open Enclave.

bors r+


older Holderof drops not showing requirements

As far as i remember, https://canary.kodadot.xyz/ahp/drops/chroma was a holderof drop, yet, if i navigate to it, it has just an empty public sale state

data issue? cc @preschian

data issue? cc @preschian

fixed, correct, migration db issue


Add support for specifying a single test file to be run

This still requires the entire source be loaded, but is great in watch mode.
Run example:
npm run test:watch --single_file=**/Details.spec.js

Coverage remained the same at 85.987% when pulling 8ecff29f0063e1ba6fe708bc1adbd70bfdd04767 on mparke:karma-single-file-support into 6851995c69311f7a063d379006e03b1366c32a46 on linode:master.

Coverage remained the same at 85.987% when pulling 8ecff29f0063e1ba6fe708bc1adbd70bfdd04767 on mparke:karma-single-file-support into 6851995c69311f7a063d379006e03b1366c32a46 on linode:master.


ODK-A to WAStD

ODK-A API docs
ODK Briefcase API
see also this thread

ODK publish to JSON > JSON listener in WAStD > custom serializer, or
OpenRosa API call from script, then WAStD utils import, or
host ODK-A ourselves, access db directly

Current implementation: wastd.observations.utils reads ODK-A API, downloads XML, transforms to JSON, stores in files as JSON (including URLs to media assets), imports JSON to WAStD ORM, downloads URLs to local files.
Process is perfect balance between automation and flexibility for production use in 2017/18 while under active development.
A better process would be to write an API endpoint listening to ODK-A JSON output from forms.


Masterizando a mente do programador

Why:
Closes [issue link]

What's being changed:

Check off the following:

[x] I have reviewed my changes in staging (look for the latest deployment event in your pull request's timeline, then click View deployment).
[x] For content changes, I have completed the self-review checklist.

Writer impact (This section is for GitHub staff members only):

[x] This pull request impacts the contribution experience

[x] I have added the 'writer impact' label
[ ] I have added a description and/or a video demo of the changes below (e.g. a "before and after video")

@Ostars-eye
<//>

"i am content
and free from pain
i am doing the work that works for me
i am good
and getting better
i am growing
and i am going in my own pace
i am held
and supported by those who love me
i am in charge of how i feel
and i choose to be happy
i am loved
and i am worthy
i am more than my circumstances dictate
i am happy
and i am healing
i am optimistic
because today
is a new day
i am at peace
i am whole
i am proof enough
of who i am
and what i deserve
i am responsible for myself
i am safe
and surrounded by love and support
i am growing
i am evolving
i am understood
and my perspective is important
i am valued
and i am helpful
i am well rested
and excited for the day
i am worthy
of investing in myself
i belong here
i deserve to take up space
i breathe in healing
i exhale pain
i breathe in trust
i exhale doubt
i can be soft in my heart
and firm in my boundaries
i control my response
i choose wisdom
i choose peace
i choose understanding
i choose joy
i celebrate the good qualities and
others and myself
i deserve an affirming touch
on my own terms
i deserve information
i deserve moments of silence
i deserve self-respect
and a clean environment
i can do all things
in love
i can hold two opposing feelings at once
it means i am processing
i do not have to linger in dark places
i do not rise
and fall for another
i do not rush through my life
i temper speed with stillness
i embrace change
seamlessly
and rise
to the new opportunity it presents
i grow towards my interest
like a plant reaching for the sun
i have everything i need
to succeed
i invite abundance
i invite art
and music into my life
i nourish myself with kind words
and joyful foods
i make time to experience grief
and sadness when necessary
i practice gratitude for all that i have
and all that is yet to come
i release fear
i release the cycle of depression
i seek out mystery in the ordinary
i strive for joy peace
and love
i welcome the wisdom that comes with
growing older
i welcome what is
i welcome what will come
i will allow myself to evolve
letting go create space for
opportunities to come
my body is beautiful
in this moment
and at its current size
my body is worthy of being cared for
and adorned in beautiful garments
today i celebrate
that i am younger than i am ever going
to be
today is an opportunity to grow and to
learn
when i feel fear
i feed trust
when i focus on my reason for being
i am infinitely brave
when i forgive myself
i free myself
when i release shame
i move into myself more beautifully
words may shake me
but they do not make me
i am here already"


A program that tries to solve Maxwell's Equations

Dear MFEM Developers and other Community Members,
I was trying to write a program that solves typical Maxwell's equations in a nice domain. Unfortunately, the errors don't converge to 0. I have referred to examples and the mini app Electromagnetics and ask a somehow experienced MFEM user to help me. But we couldn't figure out whether the problems are. I am not sure whether it is polite to ask others to help me debugging. Maybe you can find the problems in my codes very quickly while they may take me forever to find out, thinking about this, I posted this issue.
Thank you in advance.
//              Maxwell's Equations
//
// Description: This program solves the following equations:
//                  dE/dt - curl H = J,
//                  dH/dt + curl E = 0
//              with exact solution
//                  u = e^(-pi*t)[sin(pi*y),sin(pi*z),sin(pi*x)
//                                 cos(pi*z),cos(pi*x),cos(pi*y)].
//              Consider we are working on a cubical mesh on \Omega with
//              initial condition u(0) = [sin(pi*y),sin(pi*z),sin(pi*x)
//                                        cos(pi*z),cos(pi*x),cos(pi*y)],
//              and calculated boundary condition n * E = given field.

#include "mfem.hpp"
#include <memory>
#include <iostream>
#include <fstream>

using namespace std;
using namespace mfem;

// analytic solution and boundary condition
void analytic_E(const Vector &, const double, Vector &);
void analytic_H(const Vector &, const double, Vector &);

// right hand side
void rhs_J(const Vector &, const double , Vector &);
void rhs_K(const Vector &, const double , Vector &);

// initial condition
void initial_E(const Vector &, Vector &);
void initial_H(const Vector &, Vector &);

#define M_PI           3.14159265358979323846

/* After spatial discretization, the model can be written as
 *       du/dt = M^{-1} * (Ku + b)
 * where M is the mass matrix.
 * Class time_operator represents the right hand side of the above system
 * of ODEs.
 */
class time_operator : public TimeDependentOperator
{
private:
  Array<FiniteElementSpace *> fes;

  Array<int> ess_tdof_list_E;
  Array<int> ess_tdof_list_H;

  Array<int> &block_offsets;

  BilinearForm *Mass_E;      // (dEdt, D)
  BilinearForm *Mass_H;      // (dHdt, B)
  MixedBilinearForm *Curl_D;      // -(curl H, D)
  MixedBilinearForm *Curl_B;      // (curl E, B)

  LinearForm *Jform;       // (J, D)
  LinearForm *Kform;       // 0
  BlockVector rhs;
  BlockMatrix Curl;

  SparseMatrix Mmat_E, Mmat_H;
  BlockMatrix *T;       // T = M + dt*Curl
  BlockMatrix *mass_mat;

  CGSolver M_solver;     // Krylov solver for inverting the mass matrix
  // DSmoother M_prec;      // Preconditioner fot the mass matrix M

  //CGSolver T_solver;
  //  DSmoother T_prec;
  Solver  *T_solver;

  mutable Vector z;       // auxiliary vector
  VectorFunctionCoefficient *input_rhs_J, *input_rhs_K;
  Coefficient &epsilon, μ

public:
  time_operator(Array<FiniteElementSpace *>, Array<Array<int> *> &,
                          Array<int> &, BlockVector &, Coefficient &,
                          Coefficient &);

  // Compute the right hand side of the ODE system
  virtual void Mult(const Vector &, Vector &) const;

  // Solve k = f(x + dt*k, t) using the Backward-Euler method, for the unknown k.
  virtual void ImplicitSolve(const double, const Vector &, Vector &);

  // Update the RHS with current time t
  void UpdateRHS();

  virtual ~time_operator();
};

int main(int argc, char *argv[])
{
  // 1. Parse command line options.
  // const char *mesh_file ="square.msh";
  const char *mesh_file ="box3.msh";
  int order = 1;
  int ref_levels = 1;
  int ode_solver_type = 1;
  double t_final = 1.0;
  double dt = 1.0e-2;
  bool visualization = true;
  int vis_steps = 5;

  int precision = 8;
  cout.precision(precision);

  OptionsParser args(argc, argv);
  args.AddOption(&order, "-o", "--order",
                 "Finite element order (polynomial degree).");
  args.AddOption(&ref_levels, "-r", "--refine",
                 "Number of times to refine the mesh uniformly.");
  args.AddOption(&ode_solver_type, "-s", "--ode-solver",
                 "ODE solver: Please refer to part 3");
  args.AddOption(&t_final, "-tf", "--t-final",
                 "Final time; start tiem is 0.");
  args.AddOption(&dt,"-dt", "--time-step",
                 "Time step.");
  args.AddOption(&visualization, "-vis", "--visualization", "-no-vis",
                 "--no-visualization",
                 "Enable or disable GLVis visualization.");
  args.AddOption(&vis_steps, "-vs", "--visualization-steps",
                 "visualize every n-th timestep.");
  args.Parse();
  if(!args.Good())
  {
    args.PrintUsage(cout);
    return 1;
  }
  args.PrintOptions(cout);

  // 2. Read the mesh from the given mesh file.
  Mesh *mesh = new Mesh(mesh_file, 1, 1);
  int dim = mesh->Dimension();
  int sdim = mesh->SpaceDimension();
  std::cout<< "sdim = " << sdim << "\n";

  // 3. Define the ODE solver used for time integration.
  ODESolver *ode_solver;
  switch(ode_solver_type)
  {
    // Implicit L-stable methods
    case 1:  ode_solver = new BackwardEulerSolver; break;
    case 2:  ode_solver = new SDIRK23Solver(2); break;
    case 3:  ode_solver = new SDIRK33Solver; break;
    // Explicit methods
    case 11: ode_solver = new ForwardEulerSolver; break;
    case 12: ode_solver = new RK2Solver(0.5); break; // midpoint method
    case 13: ode_solver = new RK3SSPSolver; break;
    case 14: ode_solver = new RK4Solver; break;
    // Implicit A-stable methods (not L-stable)
    case 22: ode_solver = new ImplicitMidpointSolver; break;
    case 23: ode_solver = new SDIRK23Solver; break;
    case 24: ode_solver = new SDIRK34Solver; break;
    default:
       cout << "Unknown ODE solver type: " << ode_solver_type << '\n';
       delete mesh;
       return 3;
  }

  // 4. Refine the mesh to increas the resolution.
  for(int lev=0; lev<ref_levels; lev++)
  {
    mesh->UniformRefinement();
  }

  // 5. Define the finite element space on the mesh
  ND_FECollection E_coll(order, dim);
  ND_FECollection H_coll(order, dim);
  FiniteElementSpace Espace(mesh, &E_coll);
  FiniteElementSpace Hspace(mesh, &H_coll);

  Array<FiniteElementSpace *> spaces(2);
  spaces[0] = &Espace;       spaces[1] = &Hspace;

  int e_size = Espace.GetTrueVSize();
  int h_size = Hspace.GetTrueVSize();
  cout << "Number of unknows: " << e_size+h_size << endl;

  Array<Array<int> *> ess_bdr(2);
  Array<int> ess_bdr_E(Espace.GetMesh()->bdr_attributes.Max());
  Array<int> ess_bdr_H(Hspace.GetMesh()->bdr_attributes.Max());
  ess_bdr_E = 1;                          ess_bdr_H = 1;
  ess_bdr[0] = &ess_bdr_E;                ess_bdr[1] = &ess_bdr_H;

  // 6. Define the BlockStructure of the problem, i.e. define the array of
  //    offsets for each variable. The last component of the Array is the sum
  //    of the dimensions of each block.
  Array<int> block_offsets(3); // number of variables + 1
  block_offsets[0] = 0;
  block_offsets[1] = Espace.GetVSize();
  block_offsets[2] = Hspace.GetVSize();
  block_offsets.PartialSum();

  std::cout << "***********************************************************\n";
  std::cout << "dim(E) = " << block_offsets[1] - block_offsets[0] << "\n";
  std::cout << "dim(H) = " << block_offsets[2] - block_offsets[1] << "\n";
  std::cout << "dim(E+H) = " << block_offsets.Last() << "\n";
  std::cout << "***********************************************************\n";

  // 7. Set the boundary condtion.
  VectorFunctionCoefficient E_exact(sdim, analytic_E);
  VectorFunctionCoefficient H_exact(sdim, analytic_H);
  VectorFunctionCoefficient J(sdim, rhs_J);
  VectorFunctionCoefficient K(sdim, rhs_K);

  VectorFunctionCoefficient E_0(sdim, initial_E);
  VectorFunctionCoefficient H_0(sdim, initial_H);
  E_exact.SetTime(0.0);
  H_exact.SetTime(0.0);

  BlockVector u(block_offsets);

  // 8. Define the grid function for the current solution. And
  // initialize the energy operator
  GridFunction E, H;
  E.MakeRef(&Espace, u.GetBlock(0), 0);
  H.MakeRef(&Hspace, u.GetBlock(1), 0);
  E.ProjectCoefficient(E_0); // search for project coefficient
  H.ProjectCoefficient(H_0);

  int order_quad = max(2, 2*order+1);
  const IntegrationRule *irs[Geometry::NumGeom];
  for(int i=0; i<Geometry::NumGeom; ++i)
  {
    irs[i] = &(IntRules.Get(i, order_quad));
  }

  // 9. Initialize the diffusion-reaction operator and perform time
  //    integration (loop ovet the time iterations, ti, with a time
  //    step dt).

  ConstantCoefficient epsilon(1.0), mu(1.0);

  time_operator oper(spaces, ess_bdr, block_offsets, u, epsilon, mu);

  cout << "Integrating the ODE." << endl;
  double t = 0.0;
  oper.SetTime(t);
//  oper.UpdateRHS();
  ode_solver->Init(oper);

  bool last_step = false;
  for(int ti = 0; !last_step; ti++)
  {
    if(t+dt >= t_final - dt/2)
    {
      last_step = true;
    }

    E_exact.SetTime(t);
    H_exact.SetTime(t);

    ode_solver->Step(u, t, dt);

    if(last_step || (ti % vis_steps) == 0)
    {
      cout << "step " << ti << ", t = " << t << endl;

      // E.MakeRef(&Espace, u.GetBlock(0), 0);
      //H.MakeRef(&Hspace, u.GetBlock(1), 0);
      E = u.GetBlock(0);
      H = u.GetBlock(1);

      double err_E = E.ComputeL2Error(E_exact,irs);
      double norm_E = ComputeLpNorm(2., E_exact, *mesh, irs);
      double err_H = H.ComputeL2Error(H_exact, irs);
      double norm_H = ComputeLpNorm(2., H_exact, *mesh, irs);

      cout << "||u_h - u_ex|| = " << err_E << "\n";
      cout << "||u_h - u_ex|| / || u_ex || = " << err_E / norm_E << "\n";
      cout << "||v_h - v_ex|| = " << err_H << "\n";
      cout << "||v_h - v_ex|| / || v_ex || = " << err_H / norm_H << "\n";
    }
    oper.UpdateRHS();
  }

  // 8. Free the memory
  delete mesh;
  delete ode_solver;

  return 0;
}

time_operator::time_operator(Array<FiniteElementSpace *> spaces,
                             Array<Array<int> *> &ess_bdr,
                             Array<int> &block, BlockVector &u,
                             Coefficient &epsilon_, Coefficient &mu_)
  : TimeDependentOperator(spaces[0]->GetVSize() + spaces[1]->GetVSize(), 0.0),
     fes(spaces), block_offsets(block), rhs(block),
    epsilon(epsilon_), mu(mu_), Jform(NULL), Kform(NULL), mass_mat(NULL), T(NULL),
    Mass_E(NULL), Mass_H(NULL), Curl_D(NULL), Curl_B(NULL), Curl(block), z(height)
{
  //  Array<int> ess_tdof_list;
  this->SetTime(0.0);
  fes[0]->GetEssentialTrueDofs(*ess_bdr[0], ess_tdof_list_E);
  fes[1]->GetEssentialTrueDofs(*ess_bdr[1], ess_tdof_list_H);

  // set the right hand
  input_rhs_J = new VectorFunctionCoefficient(3, &rhs_J);
  input_rhs_J->SetTime(this->GetTime());
  input_rhs_K = new VectorFunctionCoefficient(3, &rhs_K);
  input_rhs_K->SetTime(this->GetTime());
  UpdateRHS();

  // bilinear forms
  Mass_E = new BilinearForm(fes[0]);
  Mass_E->AddDomainIntegrator(new VectorFEMassIntegrator(epsilon));
  Mass_E->Assemble();
  Mass_E->FormSystemMatrix(ess_tdof_list_E, Mmat_E);

  Mass_H = new BilinearForm(fes[1]);
  Mass_H->AddDomainIntegrator(new VectorFEMassIntegrator(mu));
  Mass_H->Assemble();
  Mass_H->FormSystemMatrix(ess_tdof_list_H, Mmat_H);

  mass_mat = new BlockMatrix(block_offsets);
  mass_mat->SetBlock(0, 0, &Mmat_E);
  mass_mat->SetBlock(1, 1, &Mmat_H);

  M_solver.iterative_mode = false;
  M_solver.SetRelTol(1e-8);
  M_solver.SetAbsTol(0.0);
  M_solver.SetMaxIter(30);
  M_solver.SetPrintLevel(0);
  //  M_solver.SetPreconditioner(M_prec);
  M_solver.SetOperator(*mass_mat);

  Curl_D = new MixedBilinearForm(fes[1], fes[0]);
  Curl_D->AddDomainIntegrator(new MixedVectorCurlIntegrator());
  Curl_D->Assemble();
  Curl_D->EliminateEssentialBCFromTrialDofs(*ess_bdr[0], u.GetBlock(0), rhs.GetBlock(0));
  //Curl_D->EliminateEssentialBC(*ess_bdr[0], u.GetBlock(0), rhs.GetBlock(0));
  Curl_D->Finalize();

  Curl_B = new MixedBilinearForm(fes[0], fes[1]);
  Curl_B->AddDomainIntegrator(new MixedVectorCurlIntegrator());
  Curl_B->Assemble();
  // Curl_B->EliminateEssentialBC(*ess_bdr[1], u.GetBlock(1), rhs.GetBlock(1));
  Curl_B->EliminateEssentialBCFromTrialDofs(*ess_bdr[1], u.GetBlock(1), rhs.GetBlock(1));
  Curl_B->Finalize();

  // dE/dt - curl H = J
  SparseMatrix &NegCurl_D(Curl_D->SpMat());
  NegCurl_D *= -1.;
  Curl.SetBlock(0,1, &NegCurl_D);
  Curl.SetBlock(1,0, &Curl_B->SpMat());

  GMRESSolver *j_gmres = new GMRESSolver;
  j_gmres->iterative_mode = false;
  j_gmres->SetRelTol(1e-8);
  j_gmres->SetAbsTol(0.0);
  j_gmres->SetMaxIter(300);
  j_gmres->SetPrintLevel(-1);
//  j_gmres->SetPreconditioner(*J_prec);
  T_solver = j_gmres;
  // T_solver.iterative_mode = false;
  // T_solver.SetRelTol(1e-8);
  // T_solver.SetAbsTol(0.0);
  // T_solver.SetMaxIter(30);
  // T_solver.SetPrintLevel(0);
  // T_solver.SetPreconditioner(T_prec);
}

void time_operator::Mult(const Vector &u, Vector &du_dt) const
{
  Curl.Mult(u, z);
  z.Neg();
  z += rhs;
  M_solver.Mult(z, du_dt);
}

void time_operator::ImplicitSolve(const double dt, const Vector &u,
                                  Vector &du_dt)
{
  delete T;
  T = new BlockMatrix(block_offsets);

  SparseMatrix &NegCurl_D(Curl_D->SpMat());
  NegCurl_D *= -1.;
  NegCurl_D *= dt;
  SparseMatrix &Curl_Bmat(Curl_B->SpMat());
  Curl_Bmat *= dt;

  T->SetBlock(0, 0, &Mmat_E);
  T->SetBlock(1, 1, &Mmat_H);
  T->SetBlock(0, 1, &NegCurl_D);
  T->SetBlock(1, 0, &Curl_Bmat);
  T_solver->SetOperator(*T);

  Curl.Mult(u, z);
  z.Neg();
  z += rhs;
  T_solver->Mult(z, du_dt);
}

void time_operator::UpdateRHS()
{
  input_rhs_J->SetTime(this->GetTime());

  delete Jform;
  Jform = new LinearForm(fes[0]);
  Jform->Update(fes[0], rhs.GetBlock(0), 0);
  Jform->AddDomainIntegrator(new VectorFEDomainLFIntegrator(*input_rhs_J));
  Jform->Assemble();

  input_rhs_K->SetTime(this->GetTime());

  delete Kform;
  Kform = new LinearForm(fes[1]);
  Kform->Update(fes[1], rhs.GetBlock(1), 0);
  Kform->AddDomainIntegrator(new VectorFEDomainLFIntegrator(*input_rhs_K));
  Kform->Assemble();
}

time_operator::~time_operator()
{
  delete Mass_E;
  delete Mass_H;
  delete Curl_D;
  delete Curl_B;
  delete input_rhs_J;
  delete input_rhs_K;
  delete Jform;
  delete Kform;
  delete T;
}

void analytic_E(const Vector &r, const double t, Vector &E)
{
  E(0) = exp(-M_PI*t)*sin(M_PI*r(1));
  E(1) = exp(-M_PI*t)*sin(M_PI*r(2));
  E(2) = exp(-M_PI*t)*sin(M_PI*r(0));
}

void analytic_H(const Vector &r, const double t, Vector &H)
{
  H(0) = -exp(-M_PI*t)*cos(M_PI*r(2));
  H(1) = -exp(-M_PI*t)*cos(M_PI*r(0));
  H(2) = -exp(-M_PI*t)*cos(M_PI*r(1));
}

void rhs_J(const Vector &r, const double t, Vector &J)
{
   J(0) = -2.0*M_PI*exp(-M_PI*t)*sin(M_PI*r(1));
   J(1) = -2.0*M_PI*exp(-M_PI*t)*sin(M_PI*r(2));
   J(2) = -2.0*M_PI*exp(-M_PI*t)*sin(M_PI*r(0));
}

void rhs_K(const Vector &r, const double t, Vector &K)
{
  K(0) = 0.0;
  K(1) = 0.0;
  K(2) = 0.0;
}

void initial_E(const Vector &r, Vector &E_0)
{
  E_0(0) = sin(M_PI*r(1));
  E_0(1) = sin(M_PI*r(2));
  E_0(2) = sin(M_PI*r(0));
}

void initial_H(const Vector &r, Vector &H_0)
{
  H_0(0) = -cos(M_PI*r(2));
  H_0(1) = -cos(M_PI*r(0));
  H_0(2) = -cos(M_PI*r(1));
}

Sorry for the format. I was editing but accidentally hit "Return".

Hello, @AndromathArcanitus ,
I have not seen this formulation of the Maxwell equations before.  Typically if one wants to solve the coupled first order system of equations one solves for E in H(Curl) and B in H(Div) (in other words E using ND_FECollection and B using RT_FECollection).  I suspect that the divergence of H (and possibly E) is drifting away from zero.  If you need to solve for H in H(Curl) you might consider including a constraint on the weak divergence of H to keep it near zero but you'll probably want to confirm that this is the issue first.  The easier solution might be to switch to the mixed formulation using H(Curl) and H(Div) (it's even possible to solve for H in H(Curl) and D in H(Div) if solving for H is desired).
Best wishes,
Mark

Dear Mark,
Thank you so much for replying, I will need some time to think this over.
Best regards,
Yu

Hi Yu, I will close this issue for now, but please don't hesitate to reopen it if you have further questions.


formula_installer: fix error if a compatible bottle was not found

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew typecheck with your changes locally?
[ ] Have you successfully run brew tests with your changes locally?

Formula#bottle has a quirk where it returns nil if a bottle with an incompatible location is found, while bottle_for_tag does not do this.
Fixes #12099.

Review period skipped due to critical label.


As discussed at the ESS Metadata Workshop the <bindingDesc> should not be nested in <physMedium> but only in <physDesc>.

[Edit: code formatting]

Fixed by 71e6c4c5ed5a377dc884bb2a8619faaba084e726


Check settings name

From RF User Guide:
"
Settings used to be also space-insensitive, but that was deprecated in Robot Framework 3.1 and trying to use something like [T a g s] causes an error in Robot Framework 3.2. Possible spaces between brackets and the name (e.g. [ Tags ]) are still allowed.
"

There is setting-name-not-in-title-case rule. It will detect [arguments] but not [ Arguments ]. Should we create another rule for extra checks or rather rework setting-name-not-in-title-case (together with rule name change, ie invalid-setting-name)? @mnojek

For reference there is section-name-invalid which checks case, spacing and formatting (*** Name ***)

I think we can close this issue, because having spaces between the brackets is allowed, and I think there is no need to report it. We can add a rule that will enforce [ Tags ] or [Tags] based on the configuration, but I would say such rule would not be very useful (or would be?).
Lowercased setting like [documentation] are reported by [W] 0306 Setting name '[documentation]' should use title or upper case (setting-name-not-in-title-case), and settings with spaces between characters like [t e a r d o w n] are also detected - [E] 0408 Non-existing setting 't e a r d o w n'. Did you mean: Teardown (non-existing-setting).
So I think there is nothing more to add here. @bhirsz Let me know if I'm missing something.


Polygon Annotations

Currently, the ADB integration only supports import and export of bounding box annotations. We should also support polygon annotations.

This code might be relevant as a reference for converting an LS annotation to ADB polygon: https://github.com/aperture-data/demos/pull/108/files#diff-730bb072221639d32232563135045d20011330acf7bf5d218ef7c8952a82c793R436-R489


feat: Sort tickets and grey out old tickets.

Fixes #1478
Changes: sorted tickets so that event with earliest start date time appears first. Greyed out pictures of events on tickets which have ended and set alpha to 0.5 for ended events.
Screenshots for the change:

@liveHarshit @nikit19 please review

Do you want me to make a new fragment or just add a filter to existing fragment to show current and past tickets

No need to add a new fragment. Just filter in the same fragment by providing an option. Also, handle back stack properly. See how it is done in Eventbrite.

Okay, working on it

No need to add a new fragment. Just filter in the same fragment by providing an option. Also, handle back stack properly. See how it is done in Eventbrite.

Done please review.

Gif or screenshots?

No need to add an option for upcoming. Just add option for past. And after back pressed it should restore to upcoming tickets.

No need to add an option for upcoming. Just add option for past. And after back pressed it should restore to upcoming tickets.

Okay working on it.

Will push after #1506 gets merge, so as to use it's setToolbar function.

What if device back button is pressed?

And if there are no tickets in the past.

What if device back button is pressed?

works as intended, goes back to normal ordersunderuserfragment.

And if there are no tickets in the past.

No tickets card is shown.

And if there are no tickets in the past.

No tickets card is shown.

The same card should not show. Only the circle icon at same position and written No past tickets under that.

What if device back button is pressed?

works as intended, goes back to normal ordersunderuserfragment.

Okay, hide navigation also.

And now do not gray past tickets.

And now do not gray past tickets.

Okay, I won't grey the entire card, I will just make the event image back and white as in Eventbrite.

And if there are no tickets in the past.

No tickets card is shown.

The same card should not show. Only the circle icon at same position and written No past tickets under that.

Adding this and hiding navigation bar

@liveHarshit made suggested changes. Please review.

Nice. Please attach GIF also

Why you change in the previous UI. Cardboard is not looking good.

I thought all other cards were using cardview that's why. I will revert.

I thought all other cards were using cardview that's why. I will revert.

No, they are for retry. yes, revert.

@liveHarshit reverted please review


Custom text style for title and message added in PanaraInfoDialogWidget

Now with version v0.1.5 you can use PanaraCustomDialog and fully customise the dialog content.


Pass clickhouse backend config path from gluten to clickhouse backend

What changes were proposed in this pull request?
Add config: spark.gluten.sql.columnar.backend.ch.config.file as config file path of clickhouse backend
Like this
substrait plan:advanced_extensions {
  enhancement {
    [type.googleapis.com/substrait.Expression] {
      literal {
        map {
          key_values {
            key {
              string: "spark.gluten.sql.columnar.backend.ch.config.file"
            }
            value {
              string: "/data1/liyang/cppproject/spark/spark-3.1.1-bin-hadoop2.7/ch/conf/config.xml"
            }
          }
          key_values {
            key {
              string: "spark.sql.execution.arrow.maxRecordsPerBatch"
            }
            value {
              string: "32768"
            }
          }
        }
      }
    }
  }
}

Related PR: https://github.com/Kyligence/ClickHouse/pull/118

This PR is related to Support loading setting from config file and improve logging

Please modify the PR header

done.


Protective case?

Does anyone know if a full cover / case exists for the V3? I've scoured the internet to no avail. I assume due to the niche nature and ownership of the V3 that no 3rd party companies have manufactured a case for it, but I thought I'd check here.
Looking for something at least somewhat rugged that would fit the V3 and maybe protect it a bit from accidental drops or scrapes / scuffs.

The only thing i could find is some vinyl skin here but in my opinion that would barely protect from scratches. I couldn't even find some generic silicone case on aliexpress lol.
Really want to buy this tablet one day but it would be really difficult to use without a case I guess. Not only because I'm usually worried that I'm gonna drop it but also I've heard it's kinda hard to hold due to it's straight edge which would get more round with a protective case.
I guess the only option is to wait or contact some rugged case manufacturers like UAG or Spigen. I'm currently using UAG case on Surface Go and really like it. I've seen them also offering one for Surface Pro 9 so even active cooling is not a problem for them.


QuorumLeaderAutoDowningNodeThatIsUnreachable spec is fragile

Somehow "DOWN itself when quorum is broken" test case of QuorumLeaderAutoDowningNodeThatIsUnreachableWithFailureDetectorPuppet spec fails frequently.
I guess cluster does not terminate after down itself when using FailureDetectorPuppet.

fixed


Ensure VRF uniqueness

VRF uniqueness could be violated because the VRF output itself was not
included in the the computation of s, the commitment to the VRF and
zero knowledge proof.
Fixes #567

Codecov Report

Merging #568 into master will increase coverage by 0.03%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master    #568      +/-   ##
=========================================
+ Coverage   59.36%   59.4%   +0.03%
=========================================
  Files          29      29
  Lines        2124    2126       +2
=========================================
+ Hits         1261    1263       +2
  Misses        593     593
  Partials      270     270

Impacted Files
Coverage Δ

core/keyserver/keyserver.go
36.69% <ø> (ø)
:arrow_up:

integration/testutil.go
69.69% <ø> (ø)
:arrow_up:

core/client/kt/requests.go
0% <ø> (ø)
:arrow_up:

core/client/kt/verify.go
27.9% <ø> (ø)
:arrow_up:

core/keyserver/validate.go
65.95% <ø> (ø)
:arrow_up:

core/crypto/vrf/p256/unmarshal.go
82.85% <ø> (ø)

core/crypto/vrf/p256/p256.go
78.68% <100%> (ø)

Continue to review full report at Codecov.

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

Codecov Report

Merging #568 into master will increase coverage by 0.11%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #568      +/-   ##
==========================================
+ Coverage   59.36%   59.48%   +0.11%
==========================================
  Files          29       29
  Lines        2124     2130       +6
==========================================
+ Hits         1261     1267       +6
  Misses        593      593
  Partials      270      270

Impacted Files
Coverage Δ

core/crypto/vrf/p256/p256.go
79.36% <100%> (+1.03%)
:arrow_up:

Continue to review full report at Codecov.

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


cache cleanup for CRAN

Fixes #191

Codecov Report

Merging #192 (05790b7) into master (41d1987) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master     #192   +/-   ##
=======================================
  Coverage   96.19%   96.19%
=======================================
  Files          17       17
  Lines        1654     1657    +3
=======================================
+ Hits         1591     1594    +3
  Misses         63       63

Impacted Files
Coverage Δ

R/get_nhdplushr.R
93.43% <ø> (ø)

R/get_vaa.R
64.28% <100.00%> (ø)

R/plot_nhdplus.R
99.52% <100.00%> (+<0.01%)
:arrow_up:

R/subset_nhdplus.R
95.75% <100.00%> (+0.03%)
:arrow_up:

Continue to review full report at Codecov.

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


[Feature-Request] Podman, Fedora and Red Hat Device Edge OS support

Start with the why:
Alignment with Red Hat Edge GTM where customers are using Red Hat OS and its different infrastructure options for production-level support and security features that are compliant with IEC 62443 SL2+ and NERC-CIP customer scenarios.
Move to the what:
support for DepthAI applications on Red Hat Device Edge on bare metal and/or Podman support
Move to the how:
Create RPMs packing and commit to Fedora/EPEL and/or Centos Stream.. also look at new Robotic spin for alignment to targeted ROS2 on Fedora.

Hi @jarcher
This is at the moment out of scope from our end - but if anyone would like to open a PR addressing this, we could take a look.
Would also have to check what the Fedora / CentOS Streams require for continued updates


Fix upgrade with complex objects. Support pagination, sorting.

Fixes updates with complex objects (e.g. github profile in a sessions collection). (I don't really like this fix - you have a comment saying need to find better approach with arangojs iirc - I agree - I may revisit this at some point...)
Added support for $select field selection.
Added support for pagination
Added debugging using debug module (this really helped)
Added support for sorting

Small comments. Looks good. Would you mind squashing?

cleaned up.  sure go ahead and squash the commits on merge.


Segment EOAs from Contracts in logged transfer data

Problem
At scale over time it will be hugely important to be able to segment where transfers come from EOAs (generally UI users) vs. from contracts (integrations)
Not sure if this is misleading, but afaik it's difficult and/or expensive to resolve this type using an Ethereum address alone
https://ethereum.stackexchange.com/questions/132717/how-to-determine-whether-an-address-is-an-eoa-or-a-contract-address
Proposed Solution
One idea is logging a new column in cartographer like caller_source_ui that is true whenever transfers are initiated through the Bridge UI
There might be better ideas. This is also not as helpful if you are using onchain data
Acceptance Criteria

[ ] Able to segment out transfer data ideally between EOAs and contracts OR at least between UI users vs. non-UI users

I've mentioned before that we should have a "metadata" field in xcall that allows us to specify metadata that gets emitted in xcall and would let us add some extra info to the call, then that would let us add sources. Cc @LayneHaber

@rhlsthrm can we close this due to txorigin change?

We have the data to segment EOAs from contracts but we do not know UI vs non-UI. I will close this for now.


MIMXRT1064-EVK support

Summary
Board support for the MIMXRT1064-EVK development board.
Impact
New board support.
Testing
nsh build configuration.

I have added FlexSPI NOR driver into this PR.

Hi @jturnsek, this looks really good, thanks! We should also add some documentation (apart from README.txt which you already did), but I am not quite sure what current docs policy is. Those changes were needed few months ago, but sice then, Documentation/platforms folder has been introduced. @v01d, could you please share some light into this? Is there also a need to change boards/README.txt, README.md etc as I did with Teensy or those files are set to deletion when all docs is migrated to platforms/?

@jturnsek - any luck on the build error?

Hi @jturnsek, this looks really good, thanks! We should also add some documentation (apart from README.txt which you already did), but I am not quite sure what current docs policy is. Those changes were needed few months ago, but sice then, Documentation/platforms folder has been introduced. @v01d, could you please share some light into this? Is there also a need to change boards/README.txt, README.md etc as I did with Teensy or those files are set to deletion when all docs is migrated to platforms/?

The intention is to fully document boards under Documentation/. This also involves identifying documentation which pertains to the arch and SoC level (which is sometimes present in board READMEs). There's no doc yet for arm and stm32, but we could have a blank skeleton for that so that new stm32 boards can already be documented there.
If you wish to have this as part of this PR I can create that skeleton first.

@davids5 I know where the problem is, but did not find the solution yet. I have checked and I do not enable exceptions or unwinding.
AR (create): libboard.a   imxrt_boot.o imxrt_flexspi_nor_boot.o imxrt_flexspi_nor_flash.o imxrt_appinit.o imxrt_bringup.o imxrt_autoleds.o
make[2]: Leaving directory '/home/jernej/nuttx/nuttx/boards/arm/imxrt/imxrt1064-evk/src'
LD: nuttx
/usr/lib/gcc/arm-none-eabi/9.2.1/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o):(.ARM.exidx+0x0): relocation truncated to fit: R_ARM_PREL31 against `.text'
make[1]: *** [Makefile:156: nuttx] Error 1
make[1]: Leaving directory '/home/jernej/nuttx/nuttx/arch/arm/src'
make: *** [tools/Makefile.unix:422: nuttx] Error 2
Do you have some clue?

The intention is to fully document boards under Documentation/. This also involves identifying documentation which pertains to the arch and SoC level (which is sometimes present in board READMEs). There's no doc yet for arm and stm32, but we could have a blank skeleton for that so that new stm32 boards can already be documented there.
If you wish to have this as part of this PR I can create that skeleton first.

Thanks for clarifying this. I have basic skeleton for imxrt series (MCU series used in this board) ready, but so far it´s more like a list of peripherals than proper documentation. But if we merge that basics into mainline then this PR could add Documentation/platforms/arm/imxrt/imxrt1064-evk folder with proper documentation. Arch level documentation would still be missing though.

@davids5 Hi, I am still having problems with the CI. Could you please take a look?

The intention is to fully document boards under Documentation/. This also involves identifying documentation which pertains to the arch and SoC level (which is sometimes present in board READMEs). There's no doc yet for arm and stm32, but we could have a blank skeleton for that so that new stm32 boards can already be documented there.
If you wish to have this as part of this PR I can create that skeleton first.

Thanks for clarifying this. I have basic skeleton for imxrt series (MCU series used in this board) ready, but so far it´s more like a list of peripherals than proper documentation. But if we merge that basics into mainline then this PR could add Documentation/platforms/arm/imxrt/imxrt1064-evk folder with proper documentation. Arch level documentation would still be missing though.

Sure, that's good enough for now. It can be improved later. Please also remove the teensy-4.x README when you submit that part of the docs.

@jturnsek - I do not think moving it to RAM is correct.  Moving it around in the FLASH may resolve it.
It will be a while before I can get to this.  In the short term we can always black list that config in CI and document it as not building in the README.

@davids5 It is actually relocating from flash to sram at init as it is .text. Doing it like this is solving the linking problem with nshocram configuration. I am getting the successful build actually. But the CI is still failling and I can not find out a reason from the build log. Am I missing something? Maybe you can look into logs to see what is going on there?

@jturnsek OK good - I will take a look once it finishes.

hmm that may be tomorrow :(

@jturnsek - I had a look I think that you need to rebase on master and run https://github.com/apache/incubator-nuttx/blob/master/tools/refresh.sh or make oldconfig and make savedefconfig to update the new defconfigs for the 1064 for the new board manually.

@davids5 OK, will do that this evening.

@davids5 CI checks successful. Thank you very much. It has been a good day:)

@jturnsek - Thank you for the contribution, and sticking with it!

@jturnsek does the driver support the SIP Flash (W2532JV) by any chance?

@CFD2 : It should not be a problem, except flash size shall be changed from 8192 to 4096. Better still, config option shall be used instead of fixed value (something to be done to improve things).


Future development of the CEDs Owl and its namespace policy

Throughout much of the excellent webinar introducing the draft CEDS ontology, I was wondering about whether consideration has been given at this point to how the ontology namespace will develop going forward and based on what principles beyond OWL. Like other large (and some small) description languages such as schema.org, CTDL, and Dublin Core, CEDS is continuously evolving. Some of these languages have defined policies regarding the structure of URI/IRIs, guidance and constraints when changes are suggested or new terms added. These namespace policies turn out to be critical to the principled management of the languages. For example:

CTDL: https://credreg.net/page/namespacepolicy
Dublin Core: https://www.dublincore.org/specifications/dublin-core/dcmi-namespace/

While I realize that potential content of such a policy for a CEDS ontology namespace is still in early development, I nevertheless  wonder whether there are any current intensions to articulate and publish such a namespace policy.

Great advice. I can see that CTDL and Dublin Core are using the persistent uniform resource locator (PURL.org). Are you aware of other ontology standards using that as a namespace standard? Any pros/cons for utilizing that standard versus going with a direct ceds.ed.gov?

@AEMDuaneBrown CTDL also uses it. I (and I believe @stuartasutton ) would recommend you don't. You absolutely do need a strategy for persistent URLs, but running you own purl server would be better than using PURL.org which has been quite problematic.

+1 to Phil. I recommend that you not use the public PURL.org service run by the Internet Archive.  If CEDS can guarantee the integrity of the namespace in "perpetuity" :-), there is no need for the redirection that services like PURL.org provide.

We will be using http://ceds.ed.gov/terms# as the official namespace.


Popup blocker detected in headless mode

Puppeteer version: v2.0
Platform / OS version: MacOS v10.15.2
URLs (if applicable):
Node.js version: v10.16.3

What steps will reproduce the problem?
Please include code that reproduces the issue.

Enable headless mode
args: ["--disable-popup-blocking", "--allow-popups-during-page-unload"],

What is the expected result?
Should be disabling popup blocker
What happens instead?
Popup blocker enabled

According to this post. This was reported in this issue

It persists on 14.4.1
Same code works fine in headful and timeouts waiting for popup in headless


Unable to Create Encounter

I am unable to create an encounter with either the Custom Monster button or the button included on monster pages. In the Encounter Builder dialog, the Encounter dropdown is populated only with {0}, and whether I select that or type in a new encounter name, the Add button does nothing. The dialog stays open, and the Encounters list in the side bar remains empty.

If you hit, F12 on your keyboard and select "console" do you see any errors being reported by google chrome.

Error in response to storage.get: TypeError: Toolbox.settings.encounters.forEach is not a function
    at Object.callback (chrome-extension://fffggleecacldpcipbechibchfikglgh/scripts/toolbox.loader.js:170:44)
    at _Loader.encounters (chrome-extension://fffggleecacldpcipbechibchfikglgh/scripts/toolbox.loader.js:165:23)
    at _Loader.build (chrome-extension://fffggleecacldpcipbechibchfikglgh/scripts/toolbox.loader.js:38:12)
    at Object.callback (chrome-extension://fffggleecacldpcipbechibchfikglgh/scripts/toolbox.loader.js:72:18)

Other than that, just some failed GET requests because I have Facebook blocked.

Can you try removing the extension and re-adding it?

Looks like that resolved it.
Weird, I thought I tried that. Also, it was happening on multiple computers, so I assume it had something to do with sync.

Yeah, there is a bug with the sync and encounters. I think I have it patched in the next release. but the next release has some other features. So I am just testing everything as best as a single developer can.

Sounds good. If you need beta testers, let me know.

Just so you know if you know how to load extensions via developers mode on Google Chrome you can always download this repo and it would basically allow you to test upcoming features.
This repo is basically a sorta stable beta. It usually has features that the version on the chrome store doesn't.
For example, this version includes a Custom Character Theme Color picker and the ability to sort skills by clicking on the headings.
It also comes with a BUGGY GitHub Gist Sync option. lol


Cloud anchors / scene persistency

[x] Review the documentation: https://docs.viromedia.com/
[x] Search for existing issues: https://github.com/viromedia/viro
[x] Use the latest ViroReact release: https://docs.viromedia.com/docs/releases

Description
I've been looking a bit and not seeing any info on cloud anchors or scene persistency. Is this available in Viro yet? Having anchors be able to reappear in accurate positions (not geo coordinates because GPS is loose) is an extremely powerful feature enabling software to be used to augment a user's real life space without image or object markers.

Hello Naphier,
The Cloud Anchors feature is already integrated in ViroCore, but not in ViroReact.
The team is already working on adding the bridge to ViroReact so the feature can be consumed in there.
For now, it can be used only in ViroCore (native Android projects), if it helps, the documentation is in here.
Best regards!

Awesome. Thanks!
Is there a timeline? Does it need help? Not sure I could dedicate time but may try if it's not already being worked.

Oh, contribution is always wanted!
Join us on Discord (link is on the README) and we will gladly discuss how you can help.

Thanks, I was blind and could not see that image for the life of me!
I'll see what I can do to help. Closing this.

Hey folks, just checking in on progress for bridging ARCloud / Cloud Anchors for RN. <3


[fix #3] Small documentation problem

Updated README.md

[x] Duplicate lines removed  - closes #3

Thanks.


Naming change and asmdef shortening

This is a two-fold PR for two very different reasons. Also, it's kind of a tough one...
Unity has recently become a bit nervous around scoped registries, especially when it comes to their name and trademarks. This shows in things such as the new Package Manager TOS (that call out what is / is not allowed to do with packages inside Unity), and also in an uptake of change requests to packages and products using "something something Unity" in their name.

To be on the safe side here, I'd recommend changing the package name, dropping the "unity" part.
We were running into issues with long filenames on the assembly files on Windows, especially with submodules in git and nested projects; thus I shortened the asmdef names as well and put it into typical format for asmdefs.

Let me know what you think. At this point it's of course unclear what UT will do, but I wanted to put that out for discussion rather sooner than later :)

Thank you for pointing this out. I agree that having Unity in the name could lead to confusion and we should change our naming scheme for Unity projects (currently it is halodi-[technology]-[function] or eve-[technology]-[function]). I'll discuss this internally and rename all our package at once (probably this week).
I wished Windows fixed their long path name issues, we'll make sure the new name is shorter.

I merged the asmdef renames, but held off on renaming the package (makes updates harder). I've added ticket #27 to think about this more.