labels/cidr: Cache GetCIDRLabels computation

Cache the computation of intermediate CIDR labels to speed up GetCIDRLabels and reduce memory usage and allocation rate by deduplicating CIDR strings. Even though now most of the cost is in building up the the resulting "labels.Labels", it is not memoized yet as it is mutable and mutated by e.g. MergeLabels.
Before:
goos: linux
goarch: amd64
pkg: github.com/cilium/cilium/pkg/labels/cidr
cpu: AMD Ryzen 9 5950X 16-Core Processor
BenchmarkGetCIDRLabels/<IP_ADDRESS>/0                 6005072               199.4 ns/op           640 B/op          3 allocs/op
BenchmarkGetCIDRLabels/<IP_ADDRESS>/16               402415              2876 ns/op            3748 B/op         38 allocs/op
BenchmarkGetCIDRLabels/<IP_ADDRESS>/32               216280              5457 ns/op            8032 B/op         70 allocs/op
BenchmarkGetCIDRLabels/<IP_ADDRESS>/24               285751              4113 ns/op            5056 B/op         54 allocs/op
BenchmarkGetCIDRLabels/<IP_ADDRESS>/24               286141              4116 ns/op            5055 B/op         54 allocs/op
BenchmarkGetCIDRLabels/::/0                      6016551               199.6 ns/op           640 B/op          3 allocs/op
BenchmarkGetCIDRLabels/fdff::ff/128                37502             31938 ns/op           30786 B/op        450 allocs/op
BenchmarkGetCIDRLabels/f00d:42::ff/128             35725             33607 ns/op           33658 B/op        450 allocs/op
BenchmarkGetCIDRLabels/f00d:42::ff/96              50270             23798 ns/op           20231 B/op        297 allocs/op

After:
goos: linux
goarch: amd64
pkg: github.com/cilium/cilium/pkg/labels/cidr
cpu: AMD Ryzen 9 5950X 16-Core Processor
BenchmarkGetCIDRLabels/<IP_ADDRESS>/0                 7320565               164.0 ns/op           624 B/op          2 allocs/op
BenchmarkGetCIDRLabels/<IP_ADDRESS>/16              1000000              1083 ns/op            2396 B/op          2 allocs/op
BenchmarkGetCIDRLabels/<IP_ADDRESS>/32               593683              1948 ns/op            5008 B/op          2 allocs/op
BenchmarkGetCIDRLabels/<IP_ADDRESS>/24               337100              3498 ns/op            7728 B/op          3 allocs/op
BenchmarkGetCIDRLabels/<IP_ADDRESS>/24               793645              1427 ns/op            2767 B/op          2 allocs/op
BenchmarkGetCIDRLabels/::/0                      7213646               166.1 ns/op           624 B/op          2 allocs/op
BenchmarkGetCIDRLabels/fdff::ff/128               168543              7064 ns/op           18515 B/op          3 allocs/op
BenchmarkGetCIDRLabels/f00d:42::ff/128            165129              7184 ns/op           18516 B/op          3 allocs/op
BenchmarkGetCIDRLabels/f00d:42::ff/96              91777             13056 ns/op           29283 B/op          6 allocs/op

This significantly reduces allocation rate in ops, but seems to increase memory usage and allocation rate in bytes/s. It might be that the sync.Pool based memoization has poor hit rate. I'll look into a LRU based approach instead and see if that performs better. Based on the graph I don't feel comfortable with the trade-off.


Update 07_boosted-liq-vaults.md

Missing space.

thanks for pointing this out @o0j4yj4y0o.
I'll close this PR since I already had to update the docs with the audit links. Your patch has been added in #102


Record layer version number is ignored.

s2n appears to be perfectly willing to accept version numbers such as 0x0000 in the record layer, and also artificially high ones such as 0x400 or 0xffff. This will lead to interoperability problems with future TLS versions.

Thanks for the note - can you provide some more detail? I think the principle we are following here is "be liberal in what you accept" ... which should promote interoperability.  I believe in general the version number in the record layer isn't particularly meaningful and I've seen proposals to "fix" it to 0x03 0x01 .. for the benefit of some implementations that were overly restrictive.
What behavior would you prefer to see?

Looks like we're honoring the version number now. https://github.com/awslabs/s2n/blob/master/tls/s2n_record_read.c#L75 ?

Looks like we also had a bug in the Record Layer Version number we were writing in the Client Hello: https://github.com/awslabs/s2n/issues/418.
This issue is the reason that the client side bug went undetected for so long, our server code was liberal in what it accepted, so we didn't notice that we introduced a bug in the client side.

Specifically, the RFC states:

Earlier versions of the TLS specification were not fully clear on what the record layer version number (TLSPlaintext.version) should contain when sending ClientHello (i.e., before it is known which version of the protocol will be employed).  Thus, TLS servers compliant with this specification MUST accept any value {03,XX} as the record layer version number for ClientHello.
TLS clients that wish to negotiate with older servers MAY send any value {03,XX} as the record layer version number. Typical values would be {03,00}, the lowest version number supported by the client, and the value of ClientHello.client_version.  No single value will guarantee interoperability with all old servers, but this is a complex topic beyond the scope of this document.

So this looks like s2n is following the RFC by accepting any Record Layer version up until conn->actual_protocol_version_established is set. Once it is set, we enforce that the Record Layer Protocol Version matches the Actual Version Established.


Mic Documentation?

I can't get my new USB microphone to detect my voice in Jasper. The mic works fine on my Windows laptop, so it isn't broken... Are there any file settings I can try changing or any other documents on this? If it matters, I’m running this on Raspbian (yes, the image from the GitHub site) and using TurtleBeach Z22’s as my microphone/speakers. Thanks for the help in advanced.

Nevermind, forgot to read this.


[Implement] Components.callbacks deserialization

Prerequisites

[x] I have written a descriptive issue title
[x] I have verified that I am running the latest version of the RHEA.OpenApi
[x] I have searched open and closed issues to ensure it has not already been reported

Description
[Implement] Components.callbacks deserialization
System Configuration

RHEA.OpenApi version: 0.1.0

closed by 45a618b0aba16fb283c4cf04f5e8b6173bf3fa0d


Custom Volume Range destroys audio quality

Basically what title says - this occurs with just custom volume range on (for volumes under 200%, i.e. 92% as well)
Audio sounds underwater, can't seem to handle high pitches and trills. May be an unintentional drop in bitrate if you're passing the audio through some filter to achieve the audio boost?

Are you sure this only happens when the plugin is enabled? Custom volume range doesn't modify audio, just patches the volume slider to allow higher values

Yep

Interesting. I'll have a look at it

Me and my friend tested it and we couldn't see a difference in audio quality when the plugin was on/off. Could you tell a bit about your setup? Mainly operating system, Discord release channel, mods used, whether you use custom volume range through powercord or goosemod, and other plugins enabled

Yeah sure, I'll send both mine and my friends. Both of us use windows 10 for starters.

My build info ^
# Debugging Information | Result created: Sat, 05 Mar 2022 13:44:41 GMT

[SYSTEM / DISCORD]
Locale="en-US"
OS="Windows 64-bit"
Architecture="x64"
ReleaseChannel="canary"
AppVersion="1.0.45"
BuildNumber="117519"
BuildID="c1e9073"
Experiments="2/101"

[PROCESS VERSIONS]
React="17.0.2"
Electron="13.6.6"
Chrome="91.0.4472.164"
Node="14.16.0"

[POWERCORD]
Commands="7"
Settings="55"
Plugins="11/58"
Themes="1/5"
Labs="0/4"
SettingsSync="false"
CachedFiles="1042"
Account="false"
APIs="9"

[GIT]
Upstream="Official"
Revision="[8b99354]"
Branch="v2"
Latest="true"

[LISTINGS]
PowercordPath="C:\Users\N**\powercord"
DiscordPath="C:\Users\N**\AppData\Local\DiscordCanary\app-1.0.45"
Experiments="2021-08_gif_creator, 2021-07_role_popout"
Labs=""
Plugins="Custom-Volume-Range, PersistFavourites"

My debug information ^
The theme I am using is ClearVision-v6 (as was/is my friend, both at the time of reporting this and now). As one of the developers, I'm was pretty certain this doesn't affect your plugin in the first place, and after unloading the theme and reloading discord I'm pretty certain this is the case.
This is not my usual setup. However, this is the bare minimum setup (+Persist Favorites because I've been reloading discord to check and I didn't want to lose my gifs) that I needed to get the bug to replicate. I'm reasonably certain that Persist Favorites is not the conflicting plugin here, but I can try it in a bit after saving my gifs somewhere
# Debugging Information | Result created: Sat, 19 Feb 2022 00:48:50 GMT

[SYSTEM / DISCORD]
Locale="en-US"
OS="Windows 64-bit"
Architecture="x64"
ReleaseChannel="canary"
AppVersion="1.0.45"
BuildNumber="115515"
BuildID="e5f2092"
Experiments="0/114"

[PROCESS VERSIONS]
React="17.0.2"
Electron="13.6.6"
Chrome="91.0.4472.164"
Node="14.16.0"

[POWERCORD]
Commands="30"
Settings="5"
Plugins="34/38"
Themes="1/2"
Labs="0/4"
SettingsSync="false"
CachedFiles="438"
Account="false"
APIs="9"

[GIT]
Upstream="Official"
Revision="[f254d55]"
Branch="v2"
Latest="true"

[LISTINGS]
PowercordPath="C:\Users\A****\powercord"
DiscordPath="C:\Users\A****\AppData\Local\DiscordCanary\app-1.0.45"
Experiments=""
Labs=""
Plugins="Custom-Volume-Range, In-app-notifs, message-link-embed, powercord-dateviewer, PowercordPluginDownloader, PowercordThemeDownloader, quick-search, scrollable-autocomplete, silent-typing, theme-toggler, time-in-pc, user-details, vpc-shiki, Wolfram, wpm, pronoundb-powercord"

Here was my friend's debug information at the time we found the bug ^
I couldn't get a more current version of his debug out of him. I hope this is useful still
In addition, I don't know if you care at all about the chat logs between my friend and I, but here they are. I was testing the sound quality through jockie bot with the Gormott OST from Xenoblade Chronicles 2 because it contained a lot of trilling towards the start of the song that frequently sounded underwater to me. I had initially believed it to be a fault with jockie bot, because I didn't hear issues in normal vc with others (presumably because people don't trill like a flute when they're speaking lol)
We're both using Canary and powercord.

Even with using the same bot on the same track, i can't hear a difference with the plugin on vs off. Here is a short clip comparing the two (don't mind the audio stuttering, it's probably just some network issue)
If you think it's definitely related to this plugin and the difference is noticable then I'd appreciate a short video comparing them.

Good soundtrack by the way

The audio stutter I'm aware of that's actually part of the actual soundtrack I think so no worries
I'll try to record a clip right now

Okay the bug process is exceptionally complicated... this video will be rather long. I believe I've found a way to replicate

After an EXCEEDINGLY frustrating two hours or so,
Here are the clip(s) (more than one because I was forgetful): (Only plugin on/off is custom volume range)
Here is the song I was using
Here is powercord with no plugins
And here  is the longer comparison between web and powercord with it on
Hopefully those clips illustrate the effect the bug has at least
The bug is interesting to replicate. You can trigger it by turning on the plugin, setting a volume >200% (greater than discord allows), then reloading the app. Discord seems to "remember" the amplification if you disable the plugin after reload and then reload again and accordingly destroys the audio quality in the same way turning music up to 400% (or however much % you had set to before) normally would.
Although this seems like a ridiculous set of steps to follow, it's actually something that I'm sure is easily triggerable by accident if you were to use the function the plugin provides and then disable it at some point only to reenable it again. However, this really doesn't seem to be a problem you can fix. Instead, it should probably just be treated as an issue with discord. It's interesting to note that if you unplug powercord while your discord is bugged out in this state, the bug goes away.
The only way to resolve the bug is to disable plugin in the settings and then hard reset discord (system tray, task manager, or delete roaming folder lmao), or to disable powercord entirely.
After that point, sound returns back to normal.

Sound is always at 100% on all the clips above. No insane 400% amplifier to the sound causing weird sound quality supposedly, although the bug causes it anyway.
I have no clue how this is meant to be fixed. I'm sorry for wasting your time if this isn't fixable at all

Ignore what I'm doing to the volume bar at 0:40 or so by the way I'm just trying to make the volume exactly 100%


Implement disposeAllIdentifiers

Per discussion here: https://github.com/hpoul/file_picker_writable/pull/19#issuecomment-819555749
Note that it looks like a persisted grant can be restored without opening a file picker for the lifetime of the process that obtained the grant even after you have disposed the grant.
After the process exits (the app is restarted) the grant is permanently gone until the user explicitly picks the file again.

Sorry, not sure why I didn't merge this. Looks good, thanks!


Update consumer groups documentation

Updated the documentation to include a specific mention of no longer needing the overrides endpoint in the rate-limiting plugin doc.
Fixed a bullet that should have been written as gte 3.4.x but was written as lte 3.3.x
Added an explanation of how the new consumer groups endpoint works.

Approved by Li Yang in slack


WIP [Deployment Group New Layout]

@josevalim assuming that the UI in that context needs to  to support only those jobs for a user:

Manage secrets overrides of deployment group
For each one of those jobs, here's what we would need on that page

I think we can reduce the number of elements in the deployment group component.
Currently, the component looks like this:

But to support the jobs above, we'd need just something like this:

Maybe we need to talk more about the how we think the secret overrides will work as well.

We definitely need a clarification under deployment group secrets something like "These secrets are only available to this deployment group and take precedence over the team-global secrets."
Quick UI note: I wouldn't put secrets in another box, because nesting boxes makes things look very crowded.

@hugobarauna yes, we are adding the text explaining what the session secrets are about, this is coming soon.
However, I believe your list is incomplete:

In that context, I think we need to support only those jobs for a user:

We also need to support:

For discovery, we should answer how to deploy a new app
How do I add new instances to a deployment group?

1 is optional but 2 needs to be happen here. That's what the "+ add new" buttons close to number of apps and number of instances do. The goal of deployment groups is to deploy stuff, if we don't mention deployment information, in my opinion it will be very incomplete.

Quick UI note: I wouldn't put secrets in another box, because nesting boxes makes things look very crowded.

Quick UI note: I wouldn't put secrets in another box, because nesting boxes makes things look very crowded.

Do you have any suggestions?

Quick UI note: I wouldn't put secrets in another box, because nesting boxes makes things look very crowded.

Do you have any suggestions?

The deployment group already has a box to group all its information, so secrets can be a regular section within that content.

This has been merged manually. I will push soon.


Support red/black deploys

It would nice if Soabase (and the admin console) support red/black deploys. Possibly add a concept of a deployment group to the Discovery APIs and enabling/disabling deployment groups in Discovery.

Done


[WIP] fix targets

Fix the targets registration/deregistration

we should check for draining status(which means the targets are been deregistered)
we shouldn't rely on elbv2.TargetDescription's String, since aws will populate AZ info

Coverage decreased (-1.5%) to 34.038% when pulling 6cae0c4725bca7df8c7ab1cb147a3a4a40a4a198 on M00nF1sh:fix-targets into f23c3eade3a7f0b44ad75a49c29dfcaae7d330a9 on kubernetes-sigs:master.

/lgtm


Update actions/checkout in GitHub Actions workflows to v3

Updates the actions/checkout action used in the GitHub Actions workflows to its newest major version.
Changes in actions/checkout:

v3.5.2

Fix api endpoint for GHES

v3.5.1

Fix slow checkout on Windows

v3.5.0

Add new public key for known_hosts

v3.4.0

Upgrade codeql actions to v2
Upgrade dependencies
Upgrade @actions/io

v3.3.0

Implement branch list using callbacks from exec function
Add in explicit reference to private checkout options
Fix comment typos

v3.2.0

Add GitHub Action to perform release
Fix status badge
Replace datadog/squid with ubuntu/squid Docker image
Wrap pipeline commands for submoduleForeach in quotes
Update @actions/io to 1.1.2
Upgrading version to 3.2.0

v3.1.0

Use @actions/core saveState and getState
Add github-server-url input

v3.0.2

Add input set-safe-directory

v3.0.1

Fixed an issue where checkout failed to run in container jobs due to the new git setting safe.directory
Bumped various npm package versions

v3.0.0

Update to node 16

@althonos: I've rebased the changes to solve the merge conflicts.

Looks like part of those changes have been made in https://github.com/althonos/lightmotif/commit/c7c77f0a40e304bfcf1265eda43b1b684847e8a6. Should I rebase this again? (It still can be merged without conflicts, so strictly speaking it is not necessary to rebase the pull request.)

Thanks, this should be fine, I will squash the commit so no need to rebase.


feat: added node v20 support

node-gyp 5.1.1 (which is installed by lerna) does no longer build with Node v20

Node v20 worker threads: somehow we get false for the main thread inside the test env. Investigating


[Bug] hash_collissions in dbt snapshot

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
snapshot is implemented with the ora_hash() function.
This gives a lot of collissions in a large data set and duplicate ids, causing errors in the merge statement for data volumes of millions of rows.
dbt snapshot will fail once a hash collission appears, and the snapshot tables becomes impossible to update.
Expected Behavior
No collissions,
Steps To Reproduce
run dbt snapshot command on data with a few million updates.
First dbt snapshot command succeeds as there are only inserts, but duplicates in dbt_scd_id exists causing trouble on subsequest runs.
Relevant log output using --debug flag enabled
06:08:52    Database Error in snapshot table_name (snapshots\table_name.sql)
  ORA-30926: unable to get a stable set of rows in the source tables
  Help: https://docs.oracle.com/error-help/db/ora-30926/
  compiled Code at target\run\dbt_project\snapshots\table_name.sql

Environment
- OS: Windows
- Python: 3.11
- dbt: 1.8.1

What Oracle database version are you using dbt with?
19c
Additional Context
No response

I also did not find an issue for this. I recently also ran into this issue.
The solution for now was to override oracle__snapshot_hash_arguments by placing the following in macros/ folder of the dbt project. This may not be the most optimal fix but is a start.
`{% macro oracle__snapshot_hash_arguments(args) -%}
MOD(
TO_NUMBER(
  SUBSTR(STANDARD_HASH(
    {%- for arg in args -%}
    coalesce(cast({{ arg }} as varchar(50) ), '')
    {% if not loop.last %} || '|' || {% endif %}
    {%- endfor -%},
    'SHA256'
  ), 1, 15),
  'XXXXXXXXXXXXXXXXX'
),<PHONE_NUMBER>9999999

)
{%- endmacro %}`

Hi @espenhoh
I understand the issue because we have seen these in the past.
#52
#102
And yes, we decided not to update ORA_HASH function because it would break existing snapshots, Users who are starting fresh snapshots should include the following macro in their dbt project. This uses a much stronger hash function - SHA256
{% macro oracle__snapshot_hash_arguments(args) -%}
    STANDARD_HASH({%- for arg in args -%}
        coalesce(cast({{ arg }} as varchar(4000) ), '')
        {% if not loop.last %} || '|' || {% endif %}
    {%- endfor -%}, 'SHA256')
{%- endmacro %}

For existing snapshots, to migrate, there is an option.
dbt snapshot uses MERGE INTO statement.
MERGE INTO target t
USING staging s
ON (s.dbt_scd_id = d.dbt_scd_id)
So, before using the new hash function you need to UPDATE the column dbt_scd_id in the snapshot table using the STANDARD_HASH function.
UPDATE <SNAPSHOT_TABLE>
SET dbt_scd_id = STANDARD_HASH(<args>, 'SHA256')


Name collision in generated ast.ts

When defining in mydsl.langium file an interface named Reference, the generated ast.ts does not compile.
Langium version: 3.1
Package name: langium
Steps To Reproduce

define an interface named 'Reference' in mydsl.langium
interface Reference {
name:string
}

Build the project
The current behavior
The project fails to build due to a conflict with imported types from langium in src/language/generated/ast.ts:
import type { AstNode, Reference, ReferenceInfo, TypeMetaData } from 'langium';
The expected behavior
Definition of interfaces like AstNode, Reference, ReferenceInfo or TypeMetaData in langium file should not collide with imports.

We have a validation for protecting against name collisions with the JavaScript runtime. See here. We would need a separate list for reserved names of the Langium imports.

Another alternative would be to import types with a specific prefix (e.g. _langium_) and to prohibit rule names in the grammar from starting with this prefix ?
e.g:
import type { AstNode as _langium_AstNode,
Reference as _langium_Reference,
ReferenceInfo as _langium_ReferenceInfo,
TypeMetaData as _langium_TypeMetaData } from 'langium';

I don't know if this concept would be valid for other reserved keywords.


Efficient way to merge several parallel solutions into one disjoint solution?

Hi dear developers:
I have solved a linear system in parallel, now I'd like to merge them into one big solution to do some post-process. With the help of MPI_Send and MPI_Recv (see Issue #1155 ), I find it works well when the problem size is small, but the program will keep running when the problem size is big (for example, the dofs are 30,0000). So do you have some else efficient ways to realize this goal?
The following are codes:
#include "mfem.hpp"
#include <fstream>
#include <iostream>

using namespace std;
using namespace mfem;

#include <mpi.h>

int main(int argc, char** argv)
{
   int n_procs, myid;
   MPI_Init(&argc, &argv);
   MPI_Comm_size(MPI_COMM_WORLD, &n_procs);
   MPI_Comm_rank(MPI_COMM_WORLD, &myid);

   const char *mesh_file = "../data/star.mesh";
   Mesh* mesh = new Mesh(mesh_file, 1, 1);
   for (int i=0; i<5; i++) mesh->UniformRefinement();
   ParMesh* pmesh = new ParMesh(MPI_COMM_WORLD, *mesh);
   int dim = mesh->Dimension();
   int order = 1;

   int* partitioning = mesh->GeneratePartitioning(n_procs);
   FiniteElementCollection* fec = new H1_FECollection(order, dim);
   FiniteElementSpace* glob_fes = new FiniteElementSpace(mesh, fec);
   ParFiniteElementSpace* loc_fes = new ParFiniteElementSpace(pmesh, glob_fes, partitioning, fec);
   HYPRE_Int size = loc_fes->GlobalTrueVSize();
   if (myid == 0)
   {
      cout << "Number of finite element unknowns: " << size << endl;
   }

   ParGridFunction* loc_gf = new ParGridFunction(loc_fes);
   (*loc_gf) = 0.0;

   Array<int> ess_tdof_list;
   if (pmesh->bdr_attributes.Size())
   {
      Array<int> ess_bdr(pmesh->bdr_attributes.Max());
      ess_bdr = 1;
      loc_fes->GetEssentialTrueDofs(ess_bdr, ess_tdof_list);
   }

   ParLinearForm* b = new ParLinearForm(loc_fes);
   ConstantCoefficient one(1.0);
   b->AddDomainIntegrator(new DomainLFIntegrator(one));
   b->Assemble();

   ParBilinearForm* a = new ParBilinearForm(loc_fes);
   a->AddDomainIntegrator(new DiffusionIntegrator(one));
   a->Assemble();
   OperatorPtr A;
   Vector B, X;
   a->FormLinearSystem(ess_tdof_list, *loc_gf, *b, A, X, B);

   Solver *prec = new HypreBoomerAMG;
   CGSolver cg(MPI_COMM_WORLD);
   cg.SetRelTol(1e-12);
   cg.SetMaxIter(2000);
   cg.SetPrintLevel(1);
   if (prec) { cg.SetPreconditioner(*prec); }
   cg.SetOperator(*A);
   cg.Mult(B, X);
   delete prec;
   a->RecoverFEMSolution(X, *b, *loc_gf);

   MPI_Barrier(MPI_COMM_WORLD);

   GridFunction* glob_gf = NULL;   // owned only by root process
   if (myid == 0) {
      glob_gf = new GridFunction(glob_fes);
   }
   Array<int> glob_vdofs, loc_vdofs;
   Vector loc_values;
   int element_counter = 0;
   const int glob_ne = glob_fes->GetNE();

   MPI_Request request;
   MPI_Status status;
   double* message_loc_values;
   int count;

   for (int i = 0; i < glob_ne; i++) {
      if (partitioning[i] == myid) {
         loc_fes->GetElementVDofs(element_counter, loc_vdofs);
         loc_gf->GetSubVector(loc_vdofs, loc_values);

         if (myid == 0) {  // root process, set values
            glob_fes->GetElementVDofs(i, glob_vdofs);
            glob_gf->SetSubVector(glob_vdofs, loc_values);
         }
         else {   // other process, send values to root process
            count = loc_values.Size();
            message_loc_values = new double[count];
            message_loc_values = loc_values.GetData();
            MPI_Send(&count, 1, MPI_INT, 0, 99, MPI_COMM_WORLD);
            // MPI_Isend(&count, 1, MPI_INT, 0, 99, MPI_COMM_WORLD, &request);
            // MPI_Wait(&request, &status);

            MPI_Send(message_loc_values, count, MPI_DOUBLE, 0, 100, MPI_COMM_WORLD);
            // MPI_Isend(message_loc_values, count, MPI_DOUBLE, 0, 100, MPI_COMM_WORLD, &request);
            // MPI_Wait(&request, &status);
         }

         element_counter++;
      }

      if (myid==0 && partitioning[i] != 0) {
         MPI_Recv(&count, 1, MPI_INT, partitioning[i], 99, MPI_COMM_WORLD, &status);
         // MPI_Irecv(&count, 1, MPI_INT, partitioning[i], 99, MPI_COMM_WORLD, &request);
         // MPI_Wait(&request, &status);

         message_loc_values = new double[count];
         MPI_Recv(message_loc_values, count, MPI_DOUBLE, partitioning[i], 100, MPI_COMM_WORLD, &status);
         // MPI_Irecv(message_loc_values, count, MPI_DOUBLE, partitioning[i], 100, MPI_COMM_WORLD, &request);
         // MPI_Wait(&request, &status);

         glob_fes->GetElementVDofs(i, glob_vdofs);
         loc_values = Vector(message_loc_values, count);
         glob_gf->SetSubVector(glob_vdofs, loc_values);
      }

   }

   MPI_Barrier(MPI_COMM_WORLD);

   {
      ostringstream mesh_name, sol_name;
      mesh_name << "ex_par2seq_mesh." << setfill('0') << setw(6) << myid;
      sol_name << "ex_par2seq_sol." << setfill('0') << setw(6) << myid;

      ofstream mesh_ofs(mesh_name.str().c_str());
      mesh_ofs.precision(8);
      pmesh->Print(mesh_ofs);

      ofstream sol_ofs(sol_name.str().c_str());
      sol_ofs.precision(8);
      loc_gf->SaveAsOne(sol_ofs);
   }

   if (myid == 0) {
      std::string out_str("ex_par2seq_solution.dat");
      std::ofstream out(out_str);
      glob_gf->Save(out);
   }

   delete a;
   delete b;
   delete loc_fes;
   delete fec;
   delete pmesh;
   MPI_Finalize();

   return 0;
}

Thanks!
Best Regards!
Hongbo

Hi Hongbo,
This seems a reasonable approach if you want to do it yourself, but if the problem size is really big it may very well not fit into the memory of one MPI task.
One option may be to perform the post-processing / analysis you want on the fly in parallel if possible.
Another option will be to use a parallel I/O library such as ADIOS, see e.g. ex5p.cpp.
Hope this helps,
Tzanio

Hi Hongbo,
This seems a reasonable approach if you want to do it yourself, but if the problem size is really big it may very well not fit into the memory of one MPI task.
One option may be to perform the post-processing / analysis you want on the fly in parallel if possible.
Another option will be to use a parallel I/O library such as ADIOS, see e.g. ex5p.cpp.
Hope this helps,
Tzanio

Hi @tzanio,
Parallel post-processing would be a good choice, actually I have considered this option.
Supposing the Magnetostatics problem with differential equation reads Curl( Curl A) = 0, where A is the magnetic vector potential. After solving this problem using parallel Nedelec elements we obtain ParGridFunction(u) of vector A, now I'd like to compute the magnetic flux density B = Curl A at a point p(x,y,z) in parallel (note that p is not a vertex of any element, but inside one element instead), one option is searching the element (tet_id) which contains p, then using
ElementTransformation* tr = pfes->GetElementTransformation(tet_id); Vector curl_A; u.GetCurl(*tr, curl_A);
However, the accuracy of B computed using this way is low since I used the first order Nedelec elements. Then I consider other way (by the way, moving least-square differentiate method), which needs the values (magnetic vector potential A) of N nearst neighbor nodes of point p(x,y,z). Since in parallel, the nearst nodes may be distributed in different processors, so searching this N nearst nodes and get their values are my problem!
Maybe I need GroupTopology? In this time I'm not sure. Do you have any suggestions?
Parallel I/O library such as ADIOS may work, by I prefer to do parallel post-processing now.
Thanks,
Hongbo


Javascript all-objects output should export all converters

Version
quicktype version 15.0.258
Command
quicktype \
  --src-lang schema \
  json.schema \
  --lang js \
  --runtime-typecheck \
  --acronym-style pascal \
  --converters all-objects \
  --raw-type any \
  -o output.js

Actual Output
output.js:
...
function toData(json) {
    return cast(json, r("Data"));
}

function dataToJson(value) {
    return uncast(value, r("Data"));
}

function toData123(json) {
    return cast(json, r("Data123"));
}

function data123ToJson(value) {
    return uncast(value, r("Data123"));
}
...
module.exports = {
    "dataToJson": dataToJson,
    "toData": toData,
};

Expected Output
Expected output should also export data123ToJson and toData123:
...
module.exports = {
    "dataToJson": dataToJson,
    "toData": toData,
    "data123ToJson": data123ToJson,
    "toData123": toData123,
};

Explanation
Currently the user is able to create converters for all-objects, but those converters can not be used, since they are not exported. @benquarmby @schani
Related
https://github.com/quicktype/quicktype/pull/1236

Interesting. The TypeScript and JavaScript output are quite different. On the TS side there is a Convert class with all converter functions as static members. Convert is a named export. On the JavaScript side each converter function should be a named export, but it is not today.
Looks like there is a defect. I would suggest opening a PR to fix the JS output.
P.S. It would be great if quicktype aligned the exports between TS / JS / Flow. I'm not entirely sure why a class is used when everything is static. Would be a breaking change though.


HTML Semantics

View the source code and update the HTML Semantics to flow more smoothly

added header and nav replaced the div elements

added main, aside, and section to html


Cannot Build Unity SDK

I just cloned repo, fixed link on UnityEngine.dll by copying dll in default location on C drive
then run build, and instead .dll get cache files
Expected Behavior
I should get dll after build
Current Behavior
I'm getting empty TempPE folder and build.force file which is also 0 bytes
Possible Solution
When I run net standart solution it gives me dll
Steps to Reproduce (for bugs)
Open AWSSDK.Unity.sln and hit build
Context
Official unity releases was 5 years ago
Your Environment

AWSSDK.Core version used:
Service assembly and version used:
Operating System and version:
Visual Studio version: 16.0.29728.190
Targeted .NET platform:

.NET Core Info

.NET Core version used for development:
.NET Core version installed in the environment where application runs:
Output of dotnet --info:
Contents of project.json/project.csproj:

Hi @VadimTikhonyuk,
Good evening.
I was able to build AWSSDK.Unity.sln after cloning this repository successfully. Followed the below steps:

Cloned the repository,
Ensured I had installed Unity support in Visual Studio installation
Installed Unity
Adjusted references to Unity DLLs manually in .csproj files. This might be due to fact that the path to Unity DLLs changed in later versions of Unity
Rebuild solution

Please floor the above steps to build the solution.
Thanks,
Ashish


Release Google.Cloud.Dataplex.V1 version 2.2.0

Changes in this release:
New features

Add support for notebook tasks (commit 747c3cc)

Created release for Google.Cloud.Dataplex.V1-2.2.0


[SB8]: some components controls inadvertently exposing internal properties

Multiple components affected, example: https://develop.design-system.pages.dev/?path=/story/foundation-logos--pnud-logo-blue

Link component is exposing a "variant" control which isn't needed.
https://develop.design-system.pages.dev/?path=/story/foundation-typography-links--link-story

"Checkbox" component is exposing label_pos
https://develop.design-system.pages.dev/?path=/story/components-forms-checkbox--checkbox-story

Accordion is exposing headerText and descriptionText

Author card is exposing type and button_option.

Parallax cards is exposing locale.

fixed

Verified


Indicator image invisble in i3bar

Using i3, the indicator is invisble. I'm not sure why, but I'll probably look into it since I'm guessing no one here is running i3.

i3 is an independent WM? the indicator is for Ubuntu exclusively. I'm not sure what to use for a standard, universal indicator. Maybe Qt tray?

I run i3 on ubuntu

Has anyone manage to fix this by any chance?


Simple label based dynamic ui

Hi
Thanks for this simple but powerful lib!
As I have a quite small display I try to use only labels and an image to display my data. I have:
-------------------
Image
Label-1: Title
Label-2: Value
Label-3: Time
-------------------

The setup with static data works great. But when values are updated the whole layout gets messed... I cannot simply rewrite the labels.
Having "Label-2" long_mode defined as LV_LABEL_LONG_ROLL redraws it on the image on top of the display.
Does the whole layout need to be redrawn? Or is there a simpler solution?
Thanks Mario

Hi Mario,
Please post the relevant parts of your code to see what's going on!

Hi,
I tested you code and worked for me fine.
When you enable ROLL mode the label jumps to tops immediately?  If yes, pleas try the ROLL function on GUI with only a single label to minimize the possible issues.

I tried it and I'm sorry, you are right, my example doesn't show the effect. I had to make the label "rolling" to see the problem. Please use a longer text, e.g.
lv_label_set_text(label2, "Measured = 1234.5678 mm/s");

It's still working for me.
Can you send a small, simple code with only a label in question?

Hu, that's strange. I'm using version 5.1.0. Bellow a 'minimal' version...
#include "lvgl/lvgl.h"
#include "lv_drivers/display/fbdev.h"

lv_task_t * refr_task;
lv_style_t styleLabel2;
lv_obj_t * label2;

lv_init();
fbdev_init();
lv_disp_drv_t disp_drv;
lv_disp_drv_init(&disp_drv);
disp_drv.disp_flush = fbdev_flush;
lv_disp_drv_register(&disp_drv);

refr_task = lv_task_create(sysmon_task, 500, LV_TASK_PRIO_LOW, NULL);

/* Label-2 */
lv_style_copy(&styleLabel2, &lv_style_plain);
styleLabel2.text.font = &lv_font_dejavu_20;
styleLabel2.text.letter_space = 2;
styleLabel2.text.line_space = 1;
styleLabel2.text.color = LV_COLOR_MAKE(0x00,0xad,0xa5);

label2 = lv_label_create(lv_scr_act(), NULL);
lv_obj_set_style(label2, &styleLabel2);
lv_label_set_long_mode(label2, LV_LABEL_LONG_ROLL);
lv_label_set_recolor(label2, true);
lv_label_set_text(label2, "Measured = 1234.5678 mm/s");
lv_obj_set_width(label2, 160);
lv_obj_align(label2, NULL, LV_ALIGN_IN_TOP_LEFT, 0, 70);

while(1) {
	lv_tick_inc(5);
	lv_task_handler();
	usleep(5000);
}

void sysmon_task(void * param)
{
}

For me it's still not on the top.
Please attach your lv_conf.h and show an example sysmon_task task as well.
Somewhere must be a difference :)

Sorry for the inconvenience...
The lv_conf.h is below, the sysmon_task is empty and only a placeholder at the moment.
Could the framebuffer driver be the problem?
/**
 * @file lv_conf.h
 *
 */

// #if 0 /*Remove this to enable the content (Delete the last #endif too!)*/

#ifndef LV_CONF_H
#define LV_CONF_H

/*----------------
 * Dynamic memory
 *----------------*/

/* Memory size which will be used by the library
 * to store the graphical objects and other data */
#define LV_MEM_CUSTOM      0                /*1: use custom malloc/free, 0: use the built-in lv_mem_alloc/lv_mem_free*/
#if LV_MEM_CUSTOM == 0
#define LV_MEM_SIZE    (32U * 1024U)        /*Size memory used by `lv_mem_alloc` in bytes (>= 2kB)*/
#define LV_MEM_ATTR                         /*Complier prefix for big array declaration*/
#define LV_MEM_AUTO_DEFRAG  1               /*Automatically defrag on free*/
#else       /*LV_MEM_CUSTOM*/
#define LV_MEM_CUSTOM_INCLUDE <stdlib.h>   /*Header for the dynamic memory function*/
#define LV_MEM_CUSTOM_ALLOC   malloc       /*Wrapper to malloc*/
#define LV_MEM_CUSTOM_FREE    free         /*Wrapper to free*/
#endif     /*LV_MEM_CUSTOM*/

/*===================
   Graphical settings
 *===================*/

/* Horizontal and vertical resolution of the library.*/
#define LV_HOR_RES          (160)
#define LV_VER_RES          (128)
#define LV_DPI              100

/* Size of VDB (Virtual Display Buffer: the internal graphics buffer).
 * Required for buffered drawing, opacity and anti-aliasing
 * VDB makes the double buffering, you don't need to deal with it!
 * Typical size: ~1/10 screen */
#define LV_VDB_SIZE         (20 * LV_HOR_RES)  /*Size of VDB in pixel count (1/10 screen size is good for first)*/
#define LV_VDB_ADR          0                  /*Place VDB to a specific address (e.g. in external RAM) (0: allocate automatically into RAM)*/

/* Use two Virtual Display buffers (VDB) parallelize rendering and flushing (optional)
 * The flushing should use DMA to write the frame buffer in the background*/
#define LV_VDB_DOUBLE       0       /*1: Enable the use of 2 VDBs*/
#define LV_VDB2_ADR         0       /*Place VDB2 to a specific address (e.g. in external RAM) (0: allocate automatically into RAM)*/

/* Enable anti-aliasing (lines, and radiuses will be smoothed) */
#define LV_ANTIALIAS        1       /*1: Enable anti-aliasing*/

/*Screen refresh settings*/
#define LV_REFR_PERIOD      50    /*Screen refresh period in milliseconds*/
#define LV_INV_FIFO_SIZE    32    /*The average count of objects on a screen */

/*=================
   Misc. setting
 *=================*/

/*Input device settings*/
#define LV_INDEV_READ_PERIOD            50                     /*Input device read period in milliseconds*/
#define LV_INDEV_POINT_MARKER           0                      /*Mark the pressed points  (required: USE_LV_REAL_DRAW = 1)*/
#define LV_INDEV_DRAG_LIMIT             10                     /*Drag threshold in pixels */
#define LV_INDEV_DRAG_THROW             20                     /*Drag throw slow-down in [%]. Greater value means faster slow-down */
#define LV_INDEV_LONG_PRESS_TIME        400                    /*Long press time in milliseconds*/
#define LV_INDEV_LONG_PRESS_REP_TIME    100                    /*Repeated trigger period in long press [ms] */

/*Color settings*/
#define LV_COLOR_DEPTH     16                     /*Color depth: 1/8/16/24*/
#define LV_COLOR_TRANSP    LV_COLOR_LIME          /*Images pixels with this color will not be drawn (with chroma keying)*/

/*Text settings*/
#define LV_TXT_UTF8             1                /*Enable UTF-8 coded Unicode character usage */
#define LV_TXT_BREAK_CHARS     " ,.;:-_"         /*Can break texts on these chars*/

/*Graphics feature usage*/
#define USE_LV_ANIMATION        1               /*1: Enable all animations*/
#define USE_LV_SHADOW           1               /*1: Enable shadows*/
#define USE_LV_GROUP            1               /*1: Enable object groups (for keyboards)*/
#define USE_LV_GPU              1               /*1: Enable GPU interface*/
#define USE_LV_REAL_DRAW        1               /*1: Enable function which draw directly to the frame buffer instead of VDB (required if LV_VDB_SIZE = 0)*/
#define USE_LV_FILESYSTEM       1               /*1: Enable file system (required by images*/

/*Compiler attributes*/
#define LV_ATTRIBUTE_TICK_INC                 /* Define a custom attribute to tick increment function */
#define LV_ATTRIBUTE_TASK_HANDLER

/*================
 *  THEME USAGE
 *================*/
#define USE_LV_THEME_TEMPL      0       /*Just for test*/
#define USE_LV_THEME_DEFAULT    0       /*Built mainly from the built-in styles. Consumes very few RAM*/
#define USE_LV_THEME_ALIEN      0       /*Dark futuristic theme*/
#define USE_LV_THEME_NIGHT      0       /*Dark elegant theme*/
#define USE_LV_THEME_MONO       0       /*Mono color theme for monochrome displays*/
#define USE_LV_THEME_MATERIAL   0       /*Flat theme with bold colors and light shadows*/
#define USE_LV_THEME_ZEN        0       /*Peaceful, mainly light theme */

/*==================
 *    FONT USAGE
 *===================*/

/* More info about fonts: https://littlevgl.com/basics#fonts
 * To enable a built-in font use 1,2,4 or 8 values
 * which will determine the bit-per-pixel */
#define LV_FONT_DEFAULT        &lv_font_dejavu_20     /*Always set a default font from the built-in fonts*/

#define USE_LV_FONT_DEJAVU_10              4
#define USE_LV_FONT_DEJAVU_10_LATIN_SUP    4
#define USE_LV_FONT_DEJAVU_10_CYRILLIC     0
#define USE_LV_FONT_SYMBOL_10              0

#define USE_LV_FONT_DEJAVU_20              4
#define USE_LV_FONT_DEJAVU_20_LATIN_SUP    4
#define USE_LV_FONT_DEJAVU_20_CYRILLIC     0
#define USE_LV_FONT_SYMBOL_20              4

#define USE_LV_FONT_DEJAVU_30              4
#define USE_LV_FONT_DEJAVU_30_LATIN_SUP    4
#define USE_LV_FONT_DEJAVU_30_CYRILLIC     0
#define USE_LV_FONT_SYMBOL_30              0

#define USE_LV_FONT_DEJAVU_40              0
#define USE_LV_FONT_DEJAVU_40_LATIN_SUP    0
#define USE_LV_FONT_DEJAVU_40_CYRILLIC     0
#define USE_LV_FONT_SYMBOL_40              0

/*===================
 *  LV_OBJ SETTINGS
 *==================*/
#define LV_OBJ_FREE_NUM_TYPE    uint32_t    /*Type of free number attribute (comment out disable free number)*/
#define LV_OBJ_FREE_PTR         1           /*Enable the free pointer attribute*/

/*==================
 *  LV OBJ X USAGE
 *================*/
/*
 * Documentation of the object types: https://littlevgl.com/object-types
 */

/*****************
 * Simple object
 *****************/

/*Label (dependencies: -*/
#define USE_LV_LABEL    1
#if USE_LV_LABEL != 0
#define LV_LABEL_SCROLL_SPEED       25     /*Hor, or ver. scroll speed [px/sec] in 'LV_LABEL_LONG_SCROLL/ROLL' mode*/
#endif

/*Image (dependencies: lv_label*/
#define USE_LV_IMG      1

/*Line (dependencies: -*/
#define USE_LV_LINE     1

/*******************
 * Container objects
 *******************/

/*Container (dependencies: -*/
#define USE_LV_CONT     1

/*Page (dependencies: lv_cont)*/
#define USE_LV_PAGE     1

/*Window (dependencies: lv_cont, lv_btn, lv_label, lv_img, lv_page)*/
#define USE_LV_WIN      1

/*Tab (dependencies: lv_page, lv_btnm)*/
#define USE_LV_TABVIEW      1
#if USE_LV_TABVIEW != 0
#define LV_TABVIEW_ANIM_TIME    300     /*Time of slide animation [ms] (0: no animation)*/
#endif

/*************************
 * Data visualizer objects
 *************************/

/*Bar (dependencies: -)*/
#define USE_LV_BAR      1

/*Line meter (dependencies: *;)*/
#define USE_LV_LMETER   1

/*Gauge (dependencies:bar, lmeter)*/
#define USE_LV_GAUGE    1

/*Chart (dependencies: -)*/
#define USE_LV_CHART    1

/*LED (dependencies: -)*/
#define USE_LV_LED      1

/*Message box (dependencies: lv_rect, lv_btnm, lv_label)*/
#define USE_LV_MBOX     1

/*Text area (dependencies: lv_label, lv_page)*/
#define USE_LV_TA       1
#if USE_LV_TA != 0
#define LV_TA_CURSOR_BLINK_TIME 400     /*ms*/
#define LV_TA_PWD_SHOW_TIME     1500    /*ms*/
#endif

/*************************
 * User input objects
 *************************/

/*Button (dependencies: lv_cont*/
#define USE_LV_BTN      1

/*Button matrix (dependencies: -)*/
#define USE_LV_BTNM     1

/*Keyboard (dependencies: lv_btnm)*/
#define USE_LV_KB       1

/*Check box (dependencies: lv_btn, lv_label)*/
#define USE_LV_CB       1

/*List (dependencies: lv_page, lv_btn, lv_label, (lv_img optionally for icons ))*/
#define USE_LV_LIST     1
#if USE_LV_LIST != 0
#define LV_LIST_FOCUS_TIME  100 /*Default animation time of focusing to a list element [ms] (0: no animation)  */
#endif

/*Drop down list (dependencies: lv_page, lv_label)*/
#define USE_LV_DDLIST    1
#if USE_LV_DDLIST != 0
#define LV_DDLIST_ANIM_TIME     200     /*Open and close default animation time [ms] (0: no animation)*/
#endif

/*Roller (dependencies: lv_ddlist)*/
#define USE_LV_ROLLER    1
#if USE_LV_ROLLER != 0
#define LV_ROLLER_ANIM_TIME     200     /*Focus animation time [ms] (0: no animation)*/
#endif

/*Slider (dependencies: lv_bar)*/
#define USE_LV_SLIDER    1

/*Switch (dependencies: lv_slider)*/
#define USE_LV_SW       1

#endif /*LV_CONF_H*/

// #endif /*Remove this to enable the content*/

void sysmon_task(void * param)
{
}

Ok, thank you, will try this. Unfortunately I have to wait until Tueseday.
Enjoy the weekend!

Ok. I hope something will turn out!
I will be on a holiday on next week. So won't be able to be active here.
I will be back on April 30.

Hope you had nice holidays!! Found the problem thank to your suggestion about printing the coordinates in the disp_flush function. My framebuffer device driver didn't handle the coords right. Now it works as it was expected!
Thanks!

Great! :)


Update velero/operator-sdk/platformstatus

Sorry for the huge PR to those reviewing, but this does the following:

Uses the github.com/cblecker/platformutils library to get infrastructure status
Upgrades velero to 1.3.1
Upgrades operator-sdk to 0.16.0

/hold
for review comments

Fixed spelling errors. Readding LGTM.

/hold cancel


Adds support for specifying valid context names for an environment

https://github.com/grafana/tanka/issues/58#issuecomment-1054952428
I appreciate the protection spec.apiServer provides, but Tanka does not work for our environments without support for matching on context names. I'm happy to update docs if this is something that would potentially be merged.
Our use case is summed up in the comment at the top.
Example spec.json
{
  "apiVersion": "tanka.dev/v1alpha1",
  "kind": "Environment",
  "metadata": {
    "name": "environments/development"
  },
  "spec": {
    "contextNames": ["automation-generated-context", "local-generated-context"],
    "namespace": "default",
    "resourceDefaults": {},
    "expectVersions": {}
  }
}

There's also a bug this PR fixes with an empty env.Spec.APIServer where the value will never be an empty string in (l LoadResult) Connect() because of the regular expression check in func Parse(data []byte, namespace string) (*v1alpha1.Environment, error).  The fix is to only prepend that if the APIServer is not an empty string.

You don't address "why" you cannot use the apiServer address. Without that, I don't think we can reason about why we should add this feature, which, to our minds would be a regression. Can you explain your need?

Sure, I've outlined our use-case in this issue https://github.com/grafana/tanka/issues/686. Let me know if more details are needed. Thanks!

hi! thanks for the pr :D
I'm generally happy to go forward with this, but I can't follow why you would want to specify multiple contexts in the spec.json.
unless I miss something, kubectl operates on a single context only, and so should tanka (it currently does).
so what's the use-case for having multiple here?

There are two ways of pulling a kubeconfig for our clusters: from our cloud provider CLI, or from Teleport. Both use different naming conventions for the context and we have no control over that. The network our Jenkins instance is on cannot reach the network our Teleport instance is on, meaning users pull configs locally via Teleport and Jenkins pulls configs via our cloud provider CLI. The way Jenkins pulls configs is currently our break-glass solution if Teleport is ever down.
The PR actually has two ways to handle this case, using "example-cluster" for the cluster name
Explicitly listing each context name
  "spec": {
    "contextNames": ["automation-example-cluster", "local-example-cluster"],

Using a regular expression
  "spec": {
    "contextNames": [".*example-cluster.*"],

I can restrict the PR to only support one of the two, if that's desired.

Hi all - let me know if the above explanation justifies the field's support. I also added a reference to this field in the docs as it's currently implemented.

@sh0rez What do you think?


Eliminate remediation cycles

It's been found that for large numbers of participants and/or mirrors, update messages may get dropped which creates harmful cycles of remedial update requests. This PR fixes this problems in two ways:

We enforce consistency about the versions that get bundled into updates. In the previous implementation, we allowed remedial update requests to potentially derail the baseline version of the updates that were getting issued. This could create issues where mirrors which were following along correctly end up needing their own remedial updates because suddenly an update that targets a new version has a baseline version that they weren't prepared for. With this PR, we no longer allow the baseline of mirror updates to be changed; instead we simply issue extra remedial updates (upon request) alongside the very consistent mainline updates.
We explicitly indicate which updates are remedial so that mirrors don't get confused if the baseline version of the update does not match their own.

This PR depends on this update to the traffic message definitions: https://github.com/open-rmf/rmf_internal_msgs/pull/24

Looks like uncrustify is failing

@Yadunund The commits to fix uncrustify will require a new approval.


TeXstudio not found by Zotero Citation Picker

Report ID:
YFFHTNUW-euc
Context:

Windows 10 (tested in a VM from Linux Mageia 7)
Zotero <IP_ADDRESS>
BBT 5.2.117

Expected behavior:
TeXstudio should be found by Zotero Citation Picker
Actual behavior:
TeXstudio is not be found by Zotero Citation Picker:

TeXstudio not found

Guess:
It is related to the fact TeXstudio is not in the Windows' system path and its own one seems:

to have formerly been C:\Program Files (x86)\texstudio,
to now be C:\Program Files\texstudio.

According to https://github.com/texstudio-org/texstudio/issues/1475, the path to TeXstudio on Windows now is C:\Program Files\texstudio.

450 should find texstudio for you.

450 should find texstudio for you.

Indeed: thanks!


Django-huey enforces me to install "redis" lib even if redis worker is not used

As title suggested, django-huey will throw an error asking for redis dependency even if redis worker is not used, here is my toy project configuration which only has huey.SqliteHuey utilized but still asking for redis:
DJANGO_HUEY={
    'default': 'default',
    'queues': {
        'default': {
            'huey_class': 'huey.SqliteHuey',
            'filename': 'huey.db',
            'immediate': False,
            'consumer': {
                'workers': 1,
                'periodic': False,
                'check_worker_health': True,
                'health_check_interval': 20
            }
        },
        'update': {
            'huey_class': 'huey.SqliteHuey',
            'filename': 'huey.db',
            'immediate': False,
            'consumer': {
                'workers': 1,
                'periodic': False,
                'check_worker_health': True,
                'health_check_interval': 20
            }
        }
    }
},

Please fix as huey and contrib.djhuey do not enforce me to install "redis" dep.

Hi @Paper-Folding which is the error you're seeing? Did you try to remove huey.contrib.djhuey from INSTALLED_APPS?

Yeah, I had already removed it from INSTALLED_APPS, basically I was migrating from djhuey to your lib that day and it raised an ImportError asking for "redis".
I had a clean installation for my toy project just now(delete venv environment and re-create one) to try re-producing it, but looks like the issue is gone for no reason.
Apologize for bothering, I'll keep an eye on this error if it re-appears again in the future, for now, let's close the issue.


Implement parent definition for xml files

To get default values and avoid some copy/paste

we can extends the DSL in EntityEditor if needed.


DxTagBox - Warnings in the console

The DevExtreme Angular package's version is 16.2.3-rc.1
Reproduced in example
To reproduce the problem, select an item in DxTagBox and take a look at the console.

This issue is fixed in the context of another issue in the DevExpress Support Center.


Presenting ViewController with custom UIViewAnimationOptions

Hi
Please add a property for setting UIViewAnimationOptions for presenting ViewController. For example, in some cases, I want to present my ViewControllers with UIViewAnimationOptions.curveEaseInOut.
Thanks.

Hi!
When presenting view controllers you can set the transitionType to any of the system or presentr provided animations.
If you can't find one that fits what you want, you would need to create your own PresentrAnimation which is explained in the Readme.
If you believe its useful for other people, you can create a Pull Request to add your animation to Presentr.
:) Thanks


Is this browser side only? Is it possible to use this on my website to test connectivity with turn servers?

If yes, is there any documentation?
ty

Yes this can be used to check turn server connectivity, but it needs to run in a supported browser (currently Chrome and Firefox). Also it's built upon google app engine but you can decouple the tests and integrate them into your website without using any of the UI bits.
You can find the main documentation here and dev documentation here.
The tests themselves live here.


Click handlers do not work on all UXP applications

Version
2.6.10
Reproduction link
https://jsfiddle.net/pzumygcq/
Steps to reproduce

Download and install any UXP application (Pale Moon, Basilisk, and others).
Click on show button (this is important, click handlers work if they are bound when currentFlushTimestamp is 0).
This will show a second button, this button will increment the count variable every time it is clicked, except for UXP applications.

What is expected?
count variable will increment
What is actually happening?
Click handler is not firing.

Several sites in production are not working properly on Pale Moon, and by extension, all other applications currently being built on the Unified XUL Platform.
I was able to trace this issue back to #9446. Since the string hack only identifies the FireFox Useragent it does not properly send UXP applications down the correct path.
Short-term, Goanna could be used as an identifier which will work for Pale Moon and Basilisk. However, a better implementation would be to test if the event.timeStamp is returning the correct values, if yes proceed, if note continue down the FF52 path that was introduced as a bug fix in Issue #9446.
Since multiple applications are using UXP, Goanna is not a consistent identifier aside from Pale Moon and Basilisk.

The reason we introduced that fix is because it was on an outdated version of FF that was in our range of supported browsers. Pale Moon isn't (this is also the first time I ever see this project) and the timeStamp bug should be fixed in the browser. That being said, if someone is up to contribute a fix by using the user agent for it, they can submit a PR

Closing as this seems to be fixed in dev: https://github.com/gamejolt/issue-tracker/issues/1316#issue-473077524

Yes, this issue was resolved in Vue.js. Thank you!


GradientTexture TRES periodically causes editor errors.

Godot version:
3.2 RC4
OS/device including version:
Win10 64-bit
Issue description:
When setting up a GradientTexture resource, the error throws some errors.
Caught the one about image height.
https://github.com/godotengine/godot/blob/1c3aff42dea3f9d9c49e6395dd4a9c848e65cbf6/core/image.cpp#L891
The trace looks like:
>	godot.windows.tools.64.exe!Image::resize(int p_width, int p_height, Image::Interpolation p_interpolation) Line 889	C++
 	godot.windows.tools.64.exe!EditorTexturePreviewPlugin::generate(const Ref<Resource> & p_from, const Vector2 & p_size) Line 136	C++
 	godot.windows.tools.64.exe!EditorResourcePreviewGenerator::generate_from_path(const String & p_path, const Vector2 & p_size) Line 69	C++
 	godot.windows.tools.64.exe!EditorResourcePreview::_generate_preview(Ref<ImageTexture> & r_texture, Ref<ImageTexture> & r_small_texture, const EditorResourcePreview::QueueItem & p_item, const String & cache_base) Line 167	C++
 	godot.windows.tools.64.exe!EditorResourcePreview::_thread() Line 270	C++
 	godot.windows.tools.64.exe!EditorResourcePreview::_thread_func(void * ud) Line 108	C++
 	godot.windows.tools.64.exe!ThreadWindows::thread_callback(void * userdata) Line 55	C++

Hopefully nothing serious, but maybe it's something needing clean up?
Steps to reproduce:

Create a GradientTexture resource.  (Gives first error.)
Create the Gradient inside it.  (Gives the 0 size error.)

Minimal reproduction project:
Doesn't seem to always occur after it exists.  So the steps above are the most reliable method of reproduction.

Additional detail.  Last I looked the height on the texture is 1, but when passing through the preview generation, it becomes 0.6~ something before going into img->resize(new_size.x, new_size.y, Image::INTERPOLATE_CUBIC);

Confirmed in the current master (84abf5a979648081a9076ec6b342f5f9d33093d4) and 3.2 (c87b4f9d71180285b281a6c5992455b7bec04577) branches.
The first error doesn't happen in master though.
In 3.2:
ERROR: texture_get_data: Condition "!texture->active" is true. Returned: Ref<Image>()
   At: drivers/gles2/rasterizer_storage_gles2.cpp:809.
ERROR: resize: Image height must be greater than 0.
   At: core/image.cpp:896.


Error creating an Azure Cloud Service project with more than two python roles

Note: I haven't confirmed this, it's from our manual test results.
New project, Azure Cloud Service
Add role: Worker, Web, Django Web
When prompted for external packages, pick anything
Wait about 5 minutes, there is an error dialog
"The file WebRoleConfiguration.html could not be found within the project templates. Continuing to run, but the resulting project may not build properly."

We don't support these anymore.


feat: mention should work on paste

Mentions should be preserved from copy paste from sendbird-messages
and message input

Make sure you are posting mentions of users from same channel
We dont support pasting of rich text from other applications
For copying simple text, we recommend using paste option in message context-menu

Conditions tested:

paste simple text
paste text with mention
paste text with mention and text
paste text with mention and text and paste again before and after
copy message with mention(only one mention, no other text) and paste
copy message with mention from input and paste(before and after)

fixes: https://sendbird.atlassian.net/browse/UIKIT-2980

LGTM, thanks @sravan-s


'o' sound is a bit rough.

The 'o' sound needs to be re-clipped or something. You can hear sudden clicking as the clip ends.

Ik im late and this is build off of acnl and acnh is out but the 'o' could be rolled out longer just with it quickly fading.


Red flags drop down doesn't 'disappear' in Firefox

If you click on the red flags filter button to retract the menu it only fades part way out.

The menu doesn't actually go away. It sits on top, interfereing with usage of the rest of the app.

I had to get rid of the animation which didn't allow for the menu to retract in Firefox.


Use /dev/md0 as the block device for raid instance storage scratch

Issue #6
ComputeNode.sh configured /etc/fstab to mount /dev/md/0_0 as /scratch
when raid instance storage is used for scratch. This device name is
incorrect and causes the compute node to hang on reboot. This patch
corrects the device name configured in /etc/fstab to /dev/md0.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

I will go ahead and close this as this issue has been fixed on upcoming version. You also have been granted visibility to the beta build, but we are planning to create a new dev branch on this repo soon


Simmetry class improvement

Hi, I was looking at Simmetry class and I believe that this is very useful also in synthesis experiments.
Checking the code with @JosePizarro3 we saw some aflow database info, they are currently not fetched through an API call but hardcoded in nomad.
How about implementing a way of fetching all the info directly from their database? Something similar to what is implement for a PureSubstance querying the PubChem database.
I could take a look into that if you think that it might be interesting @JFRudzinski @ndaelman-hu @Bernadette-Mohr

@hampusnasstrom FYI

There is a paper: https://www.sciencedirect.com/science/article/pii/S0927025614003322?via%3Dihub#s0050
But the question is whether we need to do any API request if someone (maybe @lauri-codes) already did this and hard-coded it in nomad.atomutils. API calls might clutter the normalization and extraction of the Symmetry info.

Oki, I'm open to evaluate the best option

@aalbino2 Thank you for bringing this up. My main question is what data you would want to retrieve?
Typically, we use API calls during the normalization to obtain identifiers that are interoperable with other systems. As @JosePizarro3 pointed out, API calls are a frequent bottleneck and point of failure, but this application is still manageable.

How about implementing a way of fetching all the info directly from their database [AFLOW]? Something similar to what is implement for a PureSubstance querying the PubChem database.

This is a larger data migration project that should be overseen by Markus. These migrations did happen in the past to grow out the NOMAD database. In that sense, they remain useful, and I actually requested such a migration for R2SCAN data a few times now.
However, these migrations also have a political dimension. The original host databases also apply for funding and rightfully don't want to divert traffic away from their site. I'd therefore say that it's best to coordinate these endeavors with Pepe.
Finally, there is already a consortium tackling a common API language where NOMAD and AFLOW both participate in, namely OPTIMADE. From an end user's perspective, the only added values of a data migration to NOMAD are:

they have more choice about the schema they work with locally.
they also can stay fully within the NOMAD system, if that's all they know.

What I had in mind was something similar to what happens in PubChemPureSubstance, e.g., the user is filling one quantity within an instance of that class and on save the api query is filling the other quantities.
In this case the (experimental) user would log their own Sample and indicate the space group. On save, all the quyntities in Simmetry class would be automatically filled with info such as Bravais lattice, or whatever else that right now I'm now aware of.
I also see the Simmetry class as and important connection of data structure between A and C and apart from the API query I would in the future start to use it

In this case the (experimental) user would log their own Sample and indicate the space group. On save, all the quyntities in Simmetry class would be automatically filled with info such as Bravais lattice, or whatever else that right now I'm now aware of.

To start, I suggest going with a function which uses the aflow_prototype dictionary in nomad, and given some quantity (e.g., the space_group_number), it extracts the others. This should cover also cases when someone fills the space_group_symbol or any other related quantities.
Then, we wait for the decision on the API. This method I am talking about do not depend on the specific reading of the information.

This should not be done through an API. The information is so stable and small that it should be available offline. E.g. spglib contains a database of this information, but if it is too limited we should look at other alternatives or built our own.

We also do have an offline version of AFLOW protototype library, but this is actually very different from spacegroup number as it also contains the occupation of Wyckoff positions and is associated with a very specific example structure.

Ok, thanks @lauri-codes @aalbino2 !
I was checking a couple of other things regarding magnetic group symmetries over the weekend, so I see we have a couple of tasks to improve Symmetry. I think I can take over, and I will try to do it as general as possible so that we can use this in a generic way for data from any area.
For now, I will implement a method to resolve Symmetry quantities based on a given input and using spglib / aflow_prototypes from nomad.atomutils.
Later for magnetic symmetries, I want to get some feedback from other people as well. I will separate this in a different issue.
In any case, both implementations will take a while.

Okay, sounds good @JosePizarro3. Just pin me when you need some feedback, I can test it and check if everything needed from my side is included.


call  eth_uninstallFilter when filter is deleted

In order to avoid storing bazillion filters on eth node, uninstall should be called when filter is no longer used.

Fixed by #452


Weblate no longer adds the latest committed translations

📑 I have found these related issues/pull requests
#5070
🛡 Security Policy

[X] I agree to have read this project Security Policy

Description
same problem as #5070

👟 Reproduction steps
.
👀 Expected behavior
.
😓 Actual Behavior
.
🐻 Uptime-Kuma Version
.
💻 Operating System and Arch
.
🌐 Browser
.
🖥 Deployment Environment

Runtime:
Database:
Filesystem used to store the database on:
number of monitors:

📝 Relevant log output
No response

Related pull request: https://github.com/louislam/uptime-kuma/pull/5072#issuecomment-2392591828

Incidentally pushed to the master branch directly... Luckily, it did fix the issue: b719d115006635bcec61ed02f2b5dd3674abcd00


Default GITHUB_TOKEN permissions may not allow writing to PR

The GITHUB_TOKEN used by this action may not have permission to write to the PR.  If that's the case you will see an error like:
Error: Resource not accessible by integration

You can give the the github token extra permissions to allow it to write to the PR.  Specifically
permissions:
    pull-requests: write
    # The contents permission is not specifically required for this action, but it's required to checkout the repo, so most people will want it too.
    # contents: read

See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions for more info.

In my workflow, when I give pull-requests:write, it does not work correctly with error Error: Resource not accessible by integration(result) What should I do?

What does your YAML actually look like?  If you look at the Set up job step you can see that it thinks it has PullRequests: read.

This isn't really something that can be "fixed".  The default GITHUB_TOKEN permissions are set globally to GitHub so they can't just be changed for a single action.  You need to perform the workaround I listed in the description.
The "fix" that would justify closing this issue would just be updating the documentation to state that write permissions are necessary.


Baseline is always zero

It'd be nice if you could set any values to the trendline, let's say 5,3,3,5,6,10 and the baseline would be 3 in this case, instead of 0.
And also, if you set the last value to 10, it'll try to draw down to zero, making the chart look weird.
Another interesting feature would be to define a "fill" color to the shape which forms.

You can try laue https://github.com/QingWei-Li/laue

super interesting, will catch up tomorrow! thanks @QingWei-Li


messy response from model trained with opt-1.3b and Dahoas/rm-static

Hi I ran this pipeline using the default opt 1.3b and the dataset is the default Dahoas/rm-static (https://github.com/microsoft/DeepSpeedExamples/tree/master/applications/DeepSpeed-Chat#-one-single-script-completes-all-three-steps-of-rlhf-training-and-generate-your-first-chatgpt-model). I used one A100-40G.
The chatting performance looks very bad. I know you guys say it is a toy model but I wanna know what I should expect with it. Is the performance normal if we train this chatbot with opt-1.3b and Dahoas/rmstatic? (ps I used one A100-40G).
Chat example 1:
$ python chat.py --path output/step3-models/1.3b/actor/
Enter input (type 'quit' to exit, 'clear' to clean memory): Hello
------------------------------ Round 1 ------------------------------
 Human: Hello
 Assistant:  Hi! My name is Assistant, and I’m here to help you with your research.  Would you like to know more about the history of the United States?
Enter input (type 'quit' to exit, 'clear' to clean memory): No, I am not interested in it
------------------------------ Round 2 ------------------------------
 Human: Hello
 Assistant:  Hi! My name is Assistant, and I’m here to help you with your research.  Would you like to know more about the history of the United States?

 Human: No, I am not interested in it
 Assistant:  OK, let me help you with some facts about the United States.  The United States was founded in 1776, and it was the first country to adopt a constitution.  The United States has been a strong democracy since its founding, and it has been a strong advocate for human rights and civil rights.  The United States has been a strong advocate for peace and security, and it has been a strong advocate for human rights and civil rights.  The United States has been a strong advocate for human rights and civil rights.

Example 2
Human: Hello
 Assistant:  Hi! My name is Assistant, and I’m here to help you with your research.  Would you like to know more about the history of the United States?

 Human: can you write me a poem about roses?
 Assistant:  Yes, that’s a great idea!  Here are some examples of roses:

 Roses are red,
They're sweet,
And they're very pretty.
They're also a symbol of love,
And they're a great way to express your feelings.

 Assistant:  Roses are red,
They're sweet,
And they're very pretty.
They're also a symbol of love,
And they're a great way to express your feelings.  Roses are a symbol of rebirth,
And they're

The performance looks not so cheerful. I wonder if you have any conversational models that you guys trained for developers to download and test?

Hi @treya-lin, thank you for trying DS-Chat. Our users have been able to train all three steps and released HF checkpoints. Please use these and see if you get a proper conversational response: https://huggingface.co/AdamG012


Update README.md and setup.py

Not a problem. Just realized you addressed those requests yourself already. Thanks!


Usage logging should be insensitive to case and punctuation

 Issue by rstrahan
Tuesday May 29, 2018 at 16:07 GMT
Originally opened as https://github.com/rstrahan/aws-ai-qna-bot-2/issues/40

Usage logging should be insensitive to case and punctuation.. ie  i think these examples should be  visualized in Kibana as the same utterance:
Can I make a backup
can I make a backup
can I make a backup?
etc.

so is the fix to strip punc, extra whitespace, and toLowerCase the utterances before logging to elasticsearch?


Add vim-ruby-refactoring plugin

See implemented commands: https://github.com/ecomba/vim-ruby-refactoring

This looks very neat and definitely something that will take time for everyone to remember to use it. Definitely a good fit for a friday brownbag or to use when pairing
:ship:


Remove version: WinSCP.WinSCP version 5.17.3

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://sourceforge.net/projects/winscp/files/WinSCP/5.17.3/WinSCP-5.17.3-Setup.exe/download
Status Code: 200
(Automated message - build 897)

Close with reason: Package still available.;


[wip] Bats assert

exploratory PR trying out https://github.com/ztombol/bats-assert
Actually using the new bats-assert is blocked by tagged releases of both bats-core and bats-assert (https://github.com/ztombol/bats-assert/issues/3) as well as npm-compatible package.json files (https://github.com/ztombol/bats-core/pull/2)
Would also prefer refute to be added before merging: https://github.com/ztombol/bats-assert/issues/4

I would love for bats-core and bats-assert to be picked up across the nodenv org and for https://github.com/jasonkarns/bats-assert to be deprecated.

Any particular reason for the switch? Apart from reducing your maintenance burden, of course :wink:

Mostly, for the reasons listed here: https://github.com/sstephenson/bats/pull/110
I created (my) bats-assert and bats-mock by essentially merging the test helpers. The goal was twofold, to eliminate copy/paste duplication and provide a mechanism to share the code as a package. And secondly, to share effort on maintenance, fixes, improvements across all the projects that used those helpers.
@ztombol's bats-assert library is essentially the same thing. It was extracted primarily from the rbenv test suite, and modified to be more consistent and generalized. It accomplishes both of the goals that I had for my bats-assert repo, with improvements. Ideally, I would like to see that bats-assert become the defacto standard assertion lib for bats. To further that cause, I would like to deprecate my bats-assert in its favor.
And also because I don't have to maintain it personally. :)

closed by #122


K-th Symbol in Grammar code added

Description
Given two integers n and k, return the kth (1-indexed) symbol in the nth row of a table of n rows.
Fixes #1906
Type of change
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)

Checklist:

[x] My code follows the style guidelines(Clean Code) of this project
[x] I have performed a self-review of my own code
[x] I have commented on my code, particularly in hard-to-understand areas
[ ] I have created a helpful and easy to understand README.md
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests/screenshots(if any) that prove my fix is effective or that my feature works

@Surajvatsya delete other files

Since no update, I am closing it


Crawl abusively deletes key binding

I'm not sure why this started happening but Crawl keeps deleting the key binding for my hotbar saving key, which is set to C, no matter what the crawl key is set to. I'm pretty sure I've used this mod before (the same version!) and this did not happen. I've tested it and it happens with Crawl as the only mod loaded (and the Fabric API, ofc).

It's weird. Upon further investigation, it only happens in certain scenarios . However, it shouldn't happen at all. We can see conflicting hotkeys in the menu, we don't need the mod enforcing something upon us. And it fails, too. For example, if we set it to something like Alt + C using a mod like Amecs which also allows for modifier keys, it will fail regardless. It failed for me without Amecs, I did mention no other mods.


[BUG] Empty Folders Aren't Available to Move Pictures Into

[Delete before submission] Please use and reproduce the bug on the latest build from Github Actions (Artifacts)
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to another gallery and create a folder
Now open this gallery
Attempt to move a picture to the new folder
See error

Expected behavior
Empty folders should be available
Screenshots
If applicable, add screenshots to help explain your problem.
Smartphone (please complete the following information):

Device: Google Pixel 6 Pro
OS: Android 14
Version 2.0.0

Additional context
Add any other context about the problem here.

Can't reproduce this.
Make sure you are creating albums under storage/Pictures/ or storage/DCIM/
This app doesn't use full storage access (less permissions) so the only location you can create albums for the time being are under the folders from above.
I will also add full storage access for those who want this feature

Close due to inactivity


Add support for Arch Linux (and its flavors).

This simple patch enables setting up IncludeOS on Arch Linux and its flavors.

Can one of the admins verify this patch with one of the following commands:

"test please" for a one time test run
"ok to test" to accept latest and future commits on this pull request for testing
"add to whitelist" to add the author to the whitelist

It looks good! I don't think there is a need for extra install information in README.md since it's the same steps as the other platforms (on dev branch there is no sudo before ./install.sh).

The only reason I added the extra install information is because I first did sudo ./install.sh but that installed IncludeOS in /root/IncludeOS_install, and ./test.sh expects that folder to be in the home directory of the currect user, and not that of root. The install script already does use sudo whenever it needs to, so there's no need to call it with sudo.
Of course you can change the patch in any way you like :)

I merged this into dev, which will be merged into master soon-ish :) Thanks for the fix :+1:


Polish UI

This PR does the following things:

[x] changes the two editor panel to a single tabbed editor
[x] auto update src query to match the source

Add rudimentary mobile friendliness:
https://github.com/azriel91/dot_ix/assets/2993230/52605504-9358-42a4-8b3b-78936de852f3

Thanks! The mix of scss and tailwind classes is really a mess :smiling_face_with_tear:, maybe productionising the code is better done sooner than later.


Include ipython

It would be nice to install a up-to-date ipython 3.x on the raspberry pi :-)

@JanSchulz - interested in getting involved? Christmas time :christmas_tree: was the motivation for this repository :wink:

@pelson Do you have some intro how to port receipts? Up to now I haven't yet done any conda packaging :-(

conda packaging is fairly easy, and shouldn't be too onerous.
First port of call is to look at existing recipes:

https://github.com/conda/conda-recipes
https://github.com/SciTools/conda-recipes-scitools
https://github.com/TheClimateCorporation/conda-recipes
https://github.com/ioos/conda-recipes
https://bitbucket.org/abilisoft/pkgs

Happy to provide advise if there is anything I can do.

So you just build on the raspberry pi and upload?

Yep, that is about it.


Use thiserror for error handling with less boilerplate

Status: Draft
This PR adds the thiserror crate to handle error types.
In it's current state, this PR removes the functions used to create and reverts back to creating the strings within the error creation. This can be changed to revert back to the creation functions, I had just unfortunately started this PR before the merge and was interested in the discussion of the idea first.
This PR also depends on the macro used to derive one dimensional readers. Until edits can be made to that macro at the same time, this PR should stay as a draft to prevent merging breaking builds.
Todo:

[ ] Handle error conversions from other crates (Ex. std::io::Error).
[ ] Discuss best cast for error creation

thiserror seems nice. I looked through the code changes for this.
I’m a pretty big fan of the updated generator function approach I just merged, but this seems like it would actually bring a fair bit with it as well. I’d like to explore hybridizing the approaches. Part of my reason for that is that it lets us keep decouple a lot of the logic for making exceptions.
Thoughts?

I'm not against the generator functions. Technically, they even reduce boilerplate so an empty string doesn't have to be passed and the conversion to String happens in one place. I'll add them back.


[4.1.0] Backend Throughput : How to specify the unit time

Description:
Hi,
I need to specify the unit time of ma Backend Troughput TPS.
Until wso2 3.x we could do it by changing the synapse configuration in
<API-M_HOME>/repository/deployment/server/synapse-configs/default/api
I can't find now a way to do the same thing with wso2 4.1.0.
Affected product version:
APIM 4.1.0
Affected component:
APIM
Environment details (with versions):

OS: all
Client: all
Env (Docker/K8s): all

@damoebius  from API-M 4.0 onwards, the synapse-configs are fetched from in-memory unlike from file system in 3.2.0. Check the Key Changes in https://apim.docs.wso2.com/en/4.0.0/get-started/about-this-release/.
Anyway, even in 3.2.0, changing your  API xml in synapse-configs was not recommended. When you republish/redeploy the API to Gateway, the change will be overridden. In such case, all the custom meditations should be engaged as Custom mediation policies. refer https://apim.docs.wso2.com/en/3.2.0/learn/api-gateway/message-mediation/changing-the-default-mediation-flow-of-api-requests/. This approach still works with 4.0 as wel..

Thank you @dushaniw
I tried a Throttle Mediation Policy but it's a frontend policy and occurs for each consummers. What i'm looking for is a way to protect backend against every consummers.
ex : 1 req per minute for all consummers (not per consummer)
I'm looking now on a Custom Rate Limiting, but at that time it doesn't work.
FROM
  RequestStream
SELECT
  userId,
  (
    userId ==<EMAIL_ADDRESS>    and apiContext == '/rest/regles'
    and apiVersion == '1.0'
  ) AS isEligible,
  str<EMAIL_ADDRESS>':', '/rest/regles:1.0') as throttleKey
INSERT INTO
  EligibilityStream;
FROM
  EligibilityStream [ isEligible == true ] #
window
.time(1 min)
SELECT
  throttleKey,
  (count(throttleKey) >= 1) as isThrottled
group by
  throttleKey
INSERT
  ALL EVENTS into ResultStream;

with key template : $userId:$apiContext:$apiVersion

Hi @damoebius
If understood correctly, your requirement is to have a rate limit for your API as "req per min" for all the subscriptions + users ?
If so you can use an API level policy (advanced throttle policy applied per API). https://apim.docs.wso2.com/en/3.2.0/learn/rate-limiting/adding-new-throttling-policies/#adding-a-new-advanced-throttling-policy

Thank you @dushaniw but it doesn't work as i want.
I tried API level policy and i got this :

My goal is to limit backend API call regardless of the number of applications


metacontroller does not pick up on updates to webhooks

I ran into an issue where I updated a CompositeController's webhook and applied it, but metacontroller did not pick up the changes.
It continued to sync to the old webhook url.
It picks up on the new webhook url after I manually deleted the metacontroller pod to get it to restart.

I haven't been able to reproduce this yet. Can you give some details on the steps that I should try?
It would also help if you can share anything that looks relevant from the Metacontroller logs. Around the time when you apply an update to the CompositeController, you should see something like this:
Shutting down XYZ CompositeController
[...]
Starting XYZ CompositeController

Do you see anything like that?

Huh interested... I just tested this again and it seems fine. My bad. If I notice anything weird again, I'll re-open with a reproducible test case.
Thanks for taking a look @enisoc !


Input is laggy on mobile or slow clients

Reported by several users:
Typing on mobile or slow clients leads to a noticeable delay. This is probably happening as a result of the live token cost calculation.

This is happening in Firefox on a high power PC as well.

Also happening on Edge on a high power PC.

Should be fine now, we've patched this issue. The initial loading time may still be too long, though. It will be addressed with issue #8


Init the codebase

Init the codebase as Next.js project with:

Typescript
Tailwind

Pull request https://github.com/donaminos/NextPresso/pull/2


Publish 7.6-20220830021557+0000

Publish 7.6-20220830021557+0000

@bot-gradle test and merge

OK, I've already triggered a build for you.


Gh 2446

This PR fixes #2446 by changing object.extend while loop into a forEach loop which include all arguments.
transition.processParams calls objec.extends as follows:
return extend( {}, defaults, params );

The issue is in the object.extend loop:
export function extend ( target, ...sources ) {
    while ( source = sources.shift() ) {

If processParams calls extend with an undefined defaults, the while loop will stop at the second iteration when sources.shift returns the "undefined" default.
By using a forEach loop we iterate all arguments, even if they are undefined.

if you make it a for(var i = 0; i < sources.length, i++) { ... } type loop it'll be faster as well.

Dunno, the whole ractive codebase uses the foreach notation. Also I'd imagine browser compilers would optimize away the differences anyway.

:+1:
It doesn't really matter how you iterate unless you're in a hot path.


0014

Implemented validation function for plugins and app.
Camera validation function has been extended

Referencing the corresponding issue: Fixes #14


[Obsolete] 'cytokine deficiency'

Mondo term (ID and Label)
MONDO_0022918 'cytokine deficiency'
Reason for deprecation
No children
Was added to mirror existing term
No info in GARD: https://rarediseases.info.nih.gov/diseases/9529/cytokine-deficiency
Suggested term to consider
HP_0011112 'Abnormality of serum cytokine level'
cc @GARDInfoCenter

@galyea-gard
do you have any objections to obsoleting this term in Mondo?
thanks!

pinging @galyea-gard

I added this one to my list of terms to be retired when our review process is done.  Thank you Nicole!  Gioconda
From: Nicole Vasilevsky<EMAIL_ADDRESS>Sent: Friday, November 20, 2020 7:21 PM
To: monarch-initiative/mondo<EMAIL_ADDRESS>Cc: Alyea, Gioconda (NIH/NCATS) [C]<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [monarch-initiative/mondo] [Obsolete] 'cytokine deficiency' (#1576)
pinging @galyea-gardhttps://github.com/galyea-gard
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/monarch-initiative/mondo/issues/1576#issuecomment-731472028, or unsubscribehttps://github.com/notifications/unsubscribe-auth/APG3MG4CQTUCZV4HQXNVNSLSQ4BVRANCNFSM4NH7733A.


 I would like a keyboard shortcut to toggle word wrapping. I propose Alt + Z which is the same shortcut used by default in Visual Studio Code.

I propose Alt + Z which is the same shortcut used by default in Visual Studio Code.

It is already available with the same keyboard shortcut.


Refactor state-pension-topup to new-style flow

Description
Similar to #2561, this moves the flow towards the style described in the refactoring documentation. I've concentrated on moving logic out of the flow and into the calculator and presentational concerns into the templates. The idea is to change all the flows to use this approach so we can significantly simplify the DSL.
I done some work on the calculator itself, but I haven't attempted to e.g. extract domain concepts, and some of the logic could possibly be simplified. Since some of the logic in the calculator was quite complicated, I ended up adding quite a few unit tests to check I wasn't breaking anything. However, there is still quite a bit of work to do to move all the tests for this flow towards the new-style approach.
The logic in the calculator would also be considerably improved if we extracted domain concepts i.e. make the code more intention revealing as opposed to just procedural. However, I'm going to stop at this point, because the PR already has a lot of commits.
Although the PR has a lot of commits, the vast majority of them are very small and only affect a few files.
External changes
None. This is just an internal refactoring.

I've added a couple of comments but they shouldn't prevent this from being merged. Looks good to me, @floehopper!

Superseded by #2614. Closing.


merge package from arlac77/npm-package-template-esm-only

package.json

chore(package<EMAIL_ADDRESS>chore(scripts): cover@#overwrite c8 --temp-directory build/coverage ava && c8 report -r lcov --temp-directory build/coverage
chore(scripts): posttest@markdown-doctest

.travis.yml

chore(travis): remove node versions 11.11.0
chore(travis): add node versions -10,-11,11.12.0

Codecov Report

Merging #484 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #484   +/-   ##
=======================================
  Coverage   74.36%   74.36%
=======================================
  Files           2        2
  Lines         476      476
=======================================
  Hits          354      354
  Misses        122      122

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 545b93c...bf236c1. Read the comment docs.

Coverage remained the same at 71.972% when pulling bf236c17d90546090aa374b068409a9c8cfa0708 on template-sync-1 into 545b93cf1be9fb870593a340649601f12c770921 on master.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add public functions to toggle PWREN bits

Discussion started in https://github.com/stm32-rs/stm32f1xx-hal/issues/62 so I'll just copy description from there:
When enabling standby mode, there is a need to set PWREN bit in APB1 ENR register.
Right now it can be achieved by calling constrain on rcc.bkp. https://github.com/stm32-rs/stm32f1xx-hal/blob/master/src/rcc.rs#L367
And while it does set the right bits in the right places, it enables other registers as well, which may to may not be desirable.
Ideally, I'd like to be able to do it manually:
rcc.apb1.enr().modify(|_r, w| {
    w.pwren().set_bit()
});

Or maybe just call a function that does it for me, something like what set_sleepdeep() does: https://github.com/rust-embedded/cortex-m/blob/master/src/peripheral/scb.rs#L585
rcc.apb1.set_pwren();

As suggested by @TheZoq2 in the same issue https://github.com/stm32-rs/stm32f1xx-hal/issues/62#issuecomment-489339751, this is the PR for further discussion.

Thanks for the PR!
I believe that set_pwren is fine, but clear_pwren will break the bkp abstraction as having ownership over the Bkp struct indicates that everything done in constrain still holds.

I find clear_pwren to be explicit enough at what it does to deter people from calling it unintentionally, while constrain on Bkp does stuff implicitly.
Since there is no way to clear PWREN bit and reset changes made by constrain in case you no longer need access to backup registers, I find it quite useful to have both set_pwren and clear_pwren.
Another concern of mine is that one particular feature — access to backup registers — commands implementation of completely independent feature — deep sleep mode. I fully understand why ownership abstraction over Bkp is needed, I'm just not sure prohibiting access to a shared register is the best way to achieve that.

I find clear_pwren to be explicit enough at what it does to deter people from calling it unintentionally, while constrain on Bkp does stuff implicitly.

I disagree, in the current implementation, there is no indication that it would break the backup domain abstraction.

Another concern of mine is that one particular feature — access to backup registers — commands implementation of completely independent feature — deep sleep mode

Agreed, tying the pwr registers and backup domain together isn't a perfect solution and I wouldn't mind having an abstraction where you need pass a PWR token to BKP in order to initialise it. That way, you could hand BKP back in order to disable the pwr regs. I think we may have discussed that in the PR I mentioned, but I can't remember.

One option would be to require passing PWR to clear_pwren so we can check is it interferes with BKP:
    /// Clear power interface clock (PWREN) bit in RCC_APB1ENR
    pub fn clear_pwren(&mut self, pwr: PWR) {
        let backup_register_access = pwr.cr.read().dbp().bit();

        assert!(backup_register_access, "Clearing PWREN will interfere with BKP");

        self.enr().modify(|_r, w| {
            w.pwren().clear_bit()
        })
    }

But then again, it would require some way to unconstrain bkp, which is outside of the scope of this PR.
I think we can keep set_pwren and just remove clear_pwren until someone comes up with a better option. Would that be an OK solution for the time being? Clearing PWREN is not really needed in my use case, as it's cleared automatically after MCU wakes up.

I think we can keep set_pwren and just remove clear_pwren until someone comes up with a better option

That sounds like a good option to me. @TeXitoi You had lots of comments on the RTC, do you see any problems with this approach?
Sidenote:

assert!(backup_register_access, "Clearing PWREN will interfere with BKP");

I'm not a fan of runtime assertions in embedded systems, so I'd prefer something static

I'll try to find the time to review this PR before the end of the week.

clear_pwren would break the backup abstraction, thus I'm against it as is.
I can't find any harm on set_pwren, but what's the point? I can't find any reference to this register except on backup domain and RTC. The goal of the HAL is to abstract the hardware in a way that you cannot do something that would not work. Why do you need to set this register?

but what's the point? I can't find any reference to this register except on backup domain and RTC.

It is used for low power modes. For example, in table 15 in section 5.3.5, it says you need to set PDDS in PWR_CR and WUF in PWR_CSR. If I recall correctly, those can't be written to unless PWRen has been set.

Yes, @TheZoq2 is absolutely correct. I've written a post about the specifics https://vasiliev.me/blog/sending-stm32f1-to-deep-sleep-with-rust/. The lack of access to apb1 from outside hal crate makes setting pwren very unintuitive — by calling constrain on BKP.
Having a way to set pwren in a more obvious way would be very useful, at least in my particular use case.

Nicely written blog post, I have been trying to make deep sleep work as well, but I can't quite get it to go below one milliamp in my project.
I'd be fine with merging this, but since the only use case is to go to sleep which itself is a bit of a strange process, do you think it would make more sense to add a function to do that directly?

I am not entirely sure that would be possible. There is a lot of configuration involved: which low power mode you want to enable, whether or not you want to wake up on a watchdog timer or WKUP pin, which peripherals to disable, etc, etc, etc. Also, the place to finally call wfi may also be very important, as you may want to integrate with different processes. Just too many fiddly bits, in my opinion.

Yea, perhaps it's not as easy as I think it would be, I might give it a try at some point though. For now, i'd be happy to merge this if you remove the clear_pwren function

Done

Very nice, thanks!


Include locations/global in parent field to fix samples

Adds "locations/global" to the parent field specified when calling DLP api. This makes the job name produced consistent with the internal usage and, importantly to these samples, consistent with the job name used in the pubsub message indicating that the job is complete. This should fix certain tests timing out after 15 minutes waiting for the wrong pubsub message.
fixes internal bug b/158100365 (partially: only for Java samples)
Also see internal bug b/158026949 for more context.

[X] I have followed Sample Format Guide
[X] pom.xml parent set to latest shared-configuration
[X] Appropriate changes to README are included in PR
[X] API's need to be enabled to test (tell us) (Nothing new)
[X] Environment Variables need to be set (ask us to set them) (Nothing new)
[X] Tests pass (mvn -P lint clean verify)

(Note- Checkstyle passing is required; Spotbugs, ErrorProne, PMD, etc. ERROR's are advisory only)

[X] Please merge this PR for me once it is approved.

DO NOT MERGE - @sushicw is looking into something first.

@sushicw is looking into something first.

Finished checking, we're good to go. Thanks for the quick hold.


[Feature Request] Add configuration for Pack build

GoogleCloudPlatform/buildpacks: Builders and buildpacks designed to run on Google Cloud's container platforms
https://github.com/GoogleCloudPlatform/cloud-run-button/blob/ff276c6f2ec7ff1b80710426bdc3d8eaafe3e2d6/cmd/cloudshell_open/pack.go#L23
hope to support pack env  configuration

As discussed in #216 there is a way to do this with package.toml and we need to document that.  Sorry for the delay in responding!


docs: Add '--features memory_cache' to test steps

Description:
The existing instructions fail to build swc with this error:
error: Plugin_runner should enable either filesystem, or memory cache

Related issue (if exists):
Fixes https://github.com/swc-project/swc/issues/4838

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Fix build break with libstdc++ versioning enabled

Stop violating the C++ standard's rules here; instead include the relevant header. This avoids a build break when using a standard library implementation that uses an inline namespace within 'std' for versioning purposes (which includes some configurations of libstdc++ in addition to libc++).

Thanks. I don't have write access to the repository; who should I ask to merge this PR?

I'd like to give @ev-mp, @abernste and @matkatz a chance to take a look. Assuming no objections, I'll merge later today / tomorrow and it will be part of the upcoming release.


added connection to db

I made a connection to the database.

I have found no issues with your code :)