Deleting confirmation dialog

Some resource can be deleted - benefits, CV, technologies, keys, holidays. It will be nice to add for them deleting confirmation dialog.

After a research I think that we don't need confirmation modals itself. Confirmation dialogue modals appear after users take significant actions to ensure they are aware of the consequences.
In our application,  the user (with right permissions) can delete benefits, CV, technologies, keys and holidays. Deleting these resources don't have big consequences - maybe accidentally deleting filled CV is sad, but only this.
Alternatively, some systems offer an "undo" feature instead of a confirmation, presented as a temporary notification that doesn't demand extra user attention. For instance, Google Gmail provides an undo option after deleting e-mail message.

And I think it will be great thing in the app. But it is harder that add modals, so it needs some vision how to implement this. So for now I leave this task for the future.


GET assets/{vendor,app}.{js,css} 404 not found

The index.hmtl file can correctly locate the javascript and css files when running ember server, but fails to find them when being served via ember-cli-rails.
I'm using ember-cli-rails 0.7.0 on Mac OSX with ember-cli 1.13.13, rails 4.1.0, and Ember 1.13.11.
Here's the template that I'm using in Rails.
<div class="container">
  <base href="/ember_admin">
  <%= include_ember_script_tags :ember_admin %>
  <%= include_ember_stylesheet_tags :ember_admin %>
</div>

And here's the fairly standard index.html I'm using in my Ember app:
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>EmberAdmin</title>
    <meta name="description" content="">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    {{content-for 'head'}}

    <link rel="stylesheet" href="assets/vendor.css">
    <link rel="stylesheet" href="assets/ember-admin.css">

    {{content-for 'head-footer'}}
  </head>
  <body>
    {{content-for 'body'}}

    <script src="assets/vendor.js"></script>
    <script src="assets/ember-admin.js"></script>

    {{content-for 'body-footer'}}
  </body>
</html>

The error I'm getting is GET http://localhost:3000/assets/ember-admin.js 404 (Not Found) (and 3 other variations upon that).
Do you know common causes of this?  Is there any other information I should give that would be helpful in debugging this?

@jeffreybiles thanks for opening this issue!
How have you mounted the Ember assets in your routes.rb file? If so, to what path?
When you access the app through ember-cli-rails, what is the base URL? Is it /ember_admin? If not, does removing the <base> tag resolve this issue?

Thanks for the quick response!
The base url for the ember administration app is indeed /ember_admin.
Here are the ember-cli-rails-related things I have in my routes.rb:
  get 'ember_admin', to: 'pages#ember_admin'
  get 'organization_admin', to: 'pages#organization_admin'
  mount_ember_assets :ember_admin, to: "/ember_admin"
  mount_ember_assets :organization_admin, to: "/organization_admin"

I've also tried it with mount_ember_app instead of mount_ember_assets with no obvious change.
One thing I hadn't been doing before was including the fingerprinting, so now I added the following code based on the link you gave above (although it doesn't seem to change anything)
  var app = new EmberApp(defaults, {
    fingerprint: {
      // matches the `/ember_admin` mount point
      prepend: 'localhost:3000/ember_admin',
    }
  });

@jeffreybiles thanks for the extra context.
For starters, you'd be better off using the mount_ember_app route helper, since it mounts assets and handles splatting child routes:
# config/routes.rb

mount_ember_app :ember_admin, to: "/ember_admin", controller: "pages", action: "ember_admin"
mount_ember_app : organization_admin, to: "/organization_admin", controller: "pages", action: "organization_admin"

I added the following code based on the link you gave above (although it doesn't seem to change anything)

By default, Ember CLI won't prepend your fingerprint to the URL in anything but production. If you want to force fingerprinting (you probably shouldn't, but it might help you debug) you should set prepend to a URL that ends in /:
// ember-cli-build.js

  var app = new EmberApp(defaults, {
    fingerprint: {
      enabled: true,
      prepend: '//cdn.example.com/ember_admin/',
    }
  });

Have you read Mounting multiple Ember applications:
// ember_admin/config/environment.js

module.exports = function(environment) {
  var ENV = {
    modulePrefix: 'ember-admin',
    environment: environment,
    baseURL: '/ember_admin', // used to be '/'
    // ...
  }
};

Aaaaand it works!!!!!
I changed the following two things (both of which seem to be necessary):

Used the routes.rb configuration that you gave me.
Changed the href of the <base> tag to have a slash at the end.
(the baseURL was already set)

Thank you so much for your help!


Develop - add readme

Feature Summary

add readme

Naming convention verification: checked
Coding style verification: checked
new Library: 0
new Class: 0
new File : 0
new loop: 0
new recursive: 0

更正 發錯 PR


Itinerary request lasso selection

Closes #1101
I found as I was working on this that there are two different versions of the Bing Maps API in use in the application.  I upgraded this map from v7 to v8 because I am using some of the functionality in v8, but the _EventScripts partial is still referencing the older v7 API.
It would also be fairly simple now to make the search feature on this page all client side since the list is rendered via knockout now.

@stevejgordon can you take a look at this?


Allows us to sort the categories into genres

We can now sort the categories into genres we choose instead of them appearing in every single genre.

Please work Black

Thank you a ton!


doc

Here are a few ideas for the README:

clear instructions on what dependencies to install and hints at how to do so
instructions on how to launch the thing

We'll do this on Thursday

solved in 49189a69e35cc0139e0653e916f66ed7d2592c16


Password config lost after restart

After restart Joplin and execute plugin it returns 401 and passwords is deleted from config. I added the same password again and it worked.
To reproduce
Joplin for Desktop
Joplin 1.8.1 (prod, darwin)
1_ add issue
2_ refresh Jira status
3_ close and open Joplin
4_ refresh issue status
5_ it shows  "Error: 401" and password is erased

getting the same thing, except I add the password, Apply and try to refresh, the plugin seems to be dead. the context menu to add template doesn't work anymore and I don't see the "Error:401" again until I restart joplin

The password was not stored due to a Joplin settings API bug. With the new API version the issue is solved.


Revert "Fix Lowest Posit Function"

Reverts stillwater-sc/universal#149

turns out that numeric_limits<>::lowest() is defined as:
static constexpr T lowest() noexcept; (since C++11)
Returns the lowest finite value representable by the numeric type T, that is, a finite value x such that there is no other finite value y where y < x. This is different from std::numeric_limits::min() for floating-point types. Only meaningful for bounded types.
This is equivalent to maxneg<>() functions defined for the individual number systems.

sorry, please correct me if I am misunderstanding something.
Lowest is defined as the most negative finite number representable by a posit.
My understanding, is that the lowest  posit number has a binary representation of all 1's, which is returned by minneg.
maxneg returns a binary representation of 1[num_bits - 2 "0's"]1, which is the largest negative value of a posit.

oh nvm I am realizing that if the sign bit is set, the rest of the bits are interpreted after taking the two's complement.
thanks for clearing this up!


Template inheritance

I think Yii should support and recommend/document a method for template (view) inheritance.
I've been playing with a method here: https://gist.github.com/tvdavid/c888a73e5c8eb8c12b86. Any thoughts?
See also: http://mark-story.com/posts/view/view-inheritance-in-cakephp (although I like this solution a lot less, if I see it correctly this doesn't allow you to specify default content for when a section is not overridden)

view file inheritance is kind of an anti pattern. PHP is object oriented. We should use it that way.

It's not really anti-pattern. It works well but requires pre-processing and is already supported via Twig integration, for example.


Research ENS Avatar

https://gist.github.com/Arachnid/9db60bd75277969ee1689c8742b75182
Experiment-only: replacing blockie image (everywhere on in Wallet tab, whatever is easier) with this if available.
If this works out, we can explore showing it at:
A. Replace blockie
B. Display it alongside ENS names (eg. recipient address fields and the my wallet screen)

i found that there is one contract 0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41 (here is URL: https://etherscan.io/contractdiffchecker?a1=0x5ffc014343cd971b7eb70732021e26c35b744cc4) that supports interface 0x59d1d43c. while trying to call its function text or name it returns an empty string for me.
i am not sure in params i passing to the function, seems like it should be ok, like described in their doc https://eips.ethereum.org/EIPS/eip-634#global-keys. also its possible that i am using incorrect contract address, for some ens from https://app.ens.domains it tells that migration is needed for some ens. not sure what it is. Seems like abi and function are right, in other case it would return reverted error.
@hboon do you have icon for your ens name or any other ens record?

I don’t know of any unfortunately.

But try brantly.eth. One of the ENS folks should :)

I set this myself too for tomek.eth

So yeah. Very good idea. If there is an ENS avatar, display this. If there is not, display a blockie.

Thanks!
Over to Vlad :)


feat: add precincts reporting percent override

Description
This PR adds an override to allow specifying a reporting status for precincts in a specific county. To use, you add --precinctsReportingPct='{"bacon":0}', specifying the county IDs and reporting percents, to the CLI. This sets all the subunits to the same reporting percent, as well as overall result, so the above example will set all subunits in Bacon county to 0 as well as the overall percent for Bacon county itself.
Jira Ticket
ELEX-1959
Test Steps
tox
elexclarity 115470 GA --level=precinct --officeID=P --countyName=Bacon --voteCompletionMode=combined --precinctsReportingPct='{"bacon":0}' --filename="tests/fixtures/results/ga_bacon_precincts_11-3.xml"

After
{
  "2020-11-03_GA_G_P_bacon": {
    "id": "2020-11-03_GA_G_P_bacon",
    "source": "clarity",
    "precinctsReportingPct": 0,
    "counts": {
      "2020-11-03_GA_G_P_bacon_donald_j_trump_i_rep": 4018,
      "2020-11-03_GA_G_P_bacon_joseph_r_biden_dem": 625,
      "2020-11-03_GA_G_P_bacon_jo_jorgensen_lib": 25
    },
    "office": "P",
    "lastUpdated": "2020-11-05T16:39:44Z",
    "subunits": {
      "bacon_douglas": {
        "id": "bacon_douglas",
        "counts": {
          "2020-11-03_GA_G_P_bacon_donald_j_trump_i_rep": 4018,
          "2020-11-03_GA_G_P_bacon_joseph_r_biden_dem": 625,
          "2020-11-03_GA_G_P_bacon_jo_jorgensen_lib": 25
        },
        // ...
        "precinctsReportingPct": 0
      }
    }
  }
}

Before
{
  "2020-11-03_GA_G_P_bacon": {
    "id": "2020-11-03_GA_G_P_bacon",
    "source": "clarity",
    "precinctsReportingPct": 100.0,
    "counts": {
      "2020-11-03_GA_G_P_bacon_donald_j_trump_i_rep": 4018,
      "2020-11-03_GA_G_P_bacon_joseph_r_biden_dem": 625,
      "2020-11-03_GA_G_P_bacon_jo_jorgensen_lib": 25
    },
    "office": "P",
    "lastUpdated": "2020-11-05T16:39:44Z",
    "subunits": {
      "bacon_douglas": {
        "id": "bacon_douglas",
        "counts": {
          "2020-11-03_GA_G_P_bacon_donald_j_trump_i_rep": 4018,
          "2020-11-03_GA_G_P_bacon_joseph_r_biden_dem": 625,
          "2020-11-03_GA_G_P_bacon_jo_jorgensen_lib": 25
        },
        // ...
        "precinctsReportingPct": 100,
        "expectedVotes": 4668
      }
    }
  }
}

why does the test use a fixture and not an actual page? also, can we add a unit test for this?

@lennybronner No particular reason, it's just better to use a fixture than have your test hit a live API. Yes, we can add a unit test using that same fixture.

Unit test added.

Why does expected votes go away when we override?

@lennybronner Expected votes only appears when the precinct is fully reporting. It is set to the turnout. Don't ask me why, I didn't write it.


pipeline create namespace exceeds project limit，project usedlimit become empty

What kind of request is this (question/bug/enhancement/feature request):
bug
Steps to reproduce (least amount of steps as possible):

create project  in web test
create namespace1 in project test
start pipeline in project test

Result:
After a while,project usedLimit is null
Other details that may be helpful:
look these pictures
project resource

namespace1 resource

pipeline create namespace,which Resource quota exceeds project limit

look Annotations
namespace1:

pipeline namespace

at last project usedlimit

I think pipeline namesapce resourece exceeds project limit, cause all namespace not correct  for example namespace1

@loganhz any progress? This is a bug or something?


Support DCP standard

First implementation of support for the Distributed Co-simulation Protocol (DCP) standard. This enables communication between Hopsan and other DCP . Hopsan slaves are hard-coded to use UDP protocol for now, but slaves can also use TCP/IP and communicate with hardware through CAN, Bluetooth and USB.
A simple master algorithm is also included. It is currently hard-coded for non-realtime simulation.
Here is a simple test, consisting of five script files:
dcptest.zip
First run the description generating sripts. Then start first the slaves and then the master.
I made the implementation as a new subproject with a simple command-line interface. It could also have been incorporated with HopsanCLI. I would prefer to have it stand-alone, but it shares some utility classes for writing result files and such. It cannot be included directly in HopsanCore due to the additional dependencies.
The implementation is based on the DCPLib subproject, which in turn requires three new dependencies; Asio, Xerces and libzip.
This is still work in process, but I want some feedback before I put too much work into this.

Made some comments, but have not had time to test, have no obvious ideas, seems like a reasonable approach

Just so you know, I am going to remove the command line interface and convert hopsandcp into a library. Then the gui and cli can link against this library directly. The important thing is that hopsancore should not depend on DCPLib.


Some Dragonfly plugins to be added to the list of addons

Thanks for the excellent gem.
We've made a range of dragonfly plugins -- perhaps worth adding them to the list of addons as someone might find them useful as well:
Datastores
https://github.com/tomasc/dragonfly-moped_data_store
https://github.com/tomasc/dragonfly-mongoid_data_store
Analysers & Processors
https://github.com/tomasc/dragonfly_audio
https://github.com/tomasc/dragonfly_harfbuzz
https://github.com/tomasc/dragonfly_pdf
https://github.com/tomasc/dragonfly_phantomjs
https://github.com/tomasc/dragonfly_svg

That's fantastic! they look really useful.
actually please feel free to add them yourself here - you can add a short summary to each if needed: https://github.com/markevans/dragonfly/wiki/Dragonfly-add-ons
It should be editable - let me know if not.

@markevans added them to the list


Execute Handler not getting called for Proxy device

I'm trying to build a Proxy device and initially ran into #1.
Following @ballob's comment and using the Home Assistant code as a guide I've managed to get past the Handler for PROXY_SELECTED not implemented problem (would still be nice to get the TypeScript bindings updated).
The reachableDeviceHandler is getting called regularly but when I issue a command for the test device the onExecute handler is never getting called. There are no errors when I attach chrome console and the console.log  on the first line is not getting called.
It is also not trying to send the command via the cloud path
My app is checked in here

Just from looking at the demo app, and your app, don't you need the index.html file? The demo app uses Webpack to inject your .js bundle to the page, which also has the SDK referenced there. I'm not sure how it would work without that (unless I'm completely missing something).

The index.html is in the dist dir that I excluded from the git as I forgot the html was in there with the rest of the webpack output.
I'll push it when I get back home tonight. Thanks for pointing it out.

@hardillb have you solved this? I have exactly the same problem, identify - ok, reachable - ok, but execute handler is not invoked I just get "Sorry, it looks like the XX is unavailable right now"

No, Still waiting from some input from Google. All they will say over on Reddit is that they are working on an example, but no timeframe.

Ok they have an issues since start of September https://issuetracker.google.com/issues/141005276
One strange info that I found on SO Local execution currently relies on the Home Graph to determine whether to send a command locally. I'm not using Home Graph  so maybe that is the case.
Their smarthome_sdk.js still has some sort of logging framework built in, tried to turn it on, but when I issue execute it's dead silent there, nothing seems to be happening. So probably just have to wait, cause I'm out of ideas right now.

The bit about the Home Graph is useful. My test device does update the Home Graph but only when controlled via the cloud at the moment and my well be out of sync with what I'm asking. I will have a play.
Out of interest do you know where (if anywhere) it mentions needing Home Graph support in the Local Control docs?

No, haven't seen anything about that in the docs...
Further more it seems that after playing with this local execution stuff, and then completely removing it, I can no longer control my test devices by voice :) I always get "Sorry, it looks like the XX is unavailable right now", though it's working If I click on icons on Google Home App. Unlinking, did not seem to help. I'm wondering is there a reverse command for force local ?

I'm experiencing the same issue. If I'm understanding that response about the Home Graph on Stack Overflow correctly, properly responding to the Identify request should update the Home Graph for us to indicate that the device can be controlled locally.

The but I've just noticed when I re-read the SO answer was that Assistant device needs to be the same "room" as the controlled device. My test device isn't. I will create a new device in the same room and test again.

This fact seems to be missing from any of the doc

For what its worth, I have my test device added to the same room as my speaker. It receives execute commands when I identify it as a single device (for test purposes), but it does not receive any execute commands when I identify it as a proxy device.

This is also very counter intuitive for a hub device, I would imaging one hub per house, not one per room. As long as I can discover the hub, and it reports the end devices behind it, it should use the hub

Hey Folks, wanted to provide a quick update here. The current preview release has a few known issues in both the SDK and the platform firmware blocking proper testing and implementation of hub devices. We are working to get these addressed and they will be fixed in the next preview release. At that point we will be able to publish updates docs and samples regarding hubs.
@hardillb The Home Graph behavior is actually different from the initial release when that SO answer was posted, so I've edited it. The current situation is that devices only have to be in the same structure for local execution.

@devunwired any timeframe on this ?:) Strange though that HomeAssistant folks managed to implement it :)

any timeframe on this ?:)

ASAP

Strange though that HomeAssistant folks managed to implement it :)

There are certain conditions under which you can get it working initially, but for execution specifically the implementation will not be stable due to some bugs we needed to fix in the firmware. This is likely why most folks are having difficulty trying to implement it using their instructions.

Better to have #1 linked here.

We've updated this sample to include a hub use case, and included some additional detail in the implementation guide for hubs.
Please note one item in the updated documentation, you have to opt your test devices into the Cast Preview Program to test this functionality with the latest Cast firmware, which has not rolled out yet to production devices.


When a member is marked down, we ping Marathon to death

In markDown, we loop through a range of nodes (which results in each n being a value copy) and then set its status to memberStatusDown. However, because that is being set on the value only, the next api failure will result in reading the original  value memberStatusUp and spawning another go routine. The best way would be to change this  to:
     for i, _ := range c.members {
		// step: check if this is the node and it's marked as up - The double  checking on the
		// nodes status ensures the multiple calls don't create multiple checks
		if c.members[i].status == memberStatusUp && c.members[i].endpoint == endpoint {
			c.members[i].status = memberStatusDown
			go c.healthCheckNode(c.members[i])
			break
		}
	}

We'r actually seeing our Marathon server being crushed by pings and this is our best guess as to what is happening. Am I missing something?

What I was missing is the members is  []*member an array of pointers.
I'm still stumped as to why we're getting a deluge of pings though.

@iderdik thanks for reporting. May I ask what version of Marathon you're using?
I'm vaguely speculating you might be subject to #308 as well.

After delving in to our app a bit more, I discovered that we recreate the marathon Client when we hit a failure which then allows another go routine to be created. We just moved to 1.4.4 as well so #308 is definitely going to be an issue for us.


Starting application by npm start has been blocked by watch option of webpack

I've tested with npm start but I couldn't get started the application well. However, After remove --watch option in start npm scripts, It works well.

Huh, thanks for reporting. I'll fix that right away!

...and done!


Quality of Life/Efficiency/Security Changes

Quality of Life/Efficiency/Security Changes
From the outside, nothing changes/nothing breaks (hopefully). No new arguments were added, no anything, just inside changes.
Separating filtering jobs from filtering builds
Till now, when the user wanted to filter the jobs with --job-config-find, the filtering was done in the Builds.java class together when filtering individual builds of all jobs - this was really unnecessarily inefficient.
I decided to create a class JobConfigFilter whose aim is to filter the jobs when user uses --job-config-find and Builds.java then gets the already filtered subset, so it can only filter the builds of the matched jobs (not all jobs like before), so it should be quicker.
Everything stays the same, no new command line switch was added, the results of the filtering are still the same, just faster.
Updated Jenkins help
As the heading says, I added two lines to help :)
Reworked the detection of escaping parent directory
Now, instead of checking with regex whether the file location is using ../, there is a new static method ConfigFinder.checkIfConfigIsInParent(), which checks if a config file is inside a given parent directory and if not, it throws an exception. This method is then used where it makes sense before creating new ConfigFinder -> BuildReportExtendedPlugin.java, Builds.java, JobConfigFilter.java.

pls, fix the test. Create the  directory strucutre @beforeach and/or @before - as you will see it suitable.
Put all passing tests to one @org.junit.Test and the failing, each to ech own methd @org.junit.Test(expects exception.class)   (I'm not sure with proepr wording, but you will find. TY!
Whether to move it to its own file or not, is up to you. TY@!


nixos-rebuild fails on i3 config on nixos-unstable channel

Describe the bug
I have the following option set in configuration.nix:
services.xserver.windowManager.i3.configFile = ~/.config/i3/config;
on nixos-unstable, a nixos-rebuild fails:
# nixos-rebuild dry-build
building the system configuration...
error: getting attributes of path '/root/.config/i3/config': No such file or directory

To Reproduce
Steps to reproduce the behavior:

set services.xserver.windowManager.i3.configFile to some path involving ~ that doesn't exist for root.
nixos-rebuild

Expected behavior
Successful rebuild.
Additional context
It works if I manually substitute the ~ with my fully qualified home directory.
Metadata

system: "x86_64-linux"
host os: Linux 5.2.17, NixOS, 19.03.173552.bd5e8f35c2e (Koi)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.2.2
channels(root): "nixos-20.03pre194293.2436c27541b"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute:
# a list of nixos modules affected by the problem
module:
services.xserver.windowManager.i3

I think the evaluation is done by nix-daemon, which runs as root on a multi-user environment.
Which user is calling nixos-rebuild, root or somebody else?

I was running nixos-rebuild as root.
I did also try running it as regular user and as you might expect the error did not occur in that case.

The i3 module starts …/bin/i3 and optionally appends the path to your specified configuration file. However, your configured path is a relative one and was substituted within the build progress to the builder's home directory, which is /root/.
https://github.com/NixOS/nixpkgs/blob/4cf8a797ea59c0829ad7f9ec47e152b0795fa991/nixos/modules/services/x11/window-managers/i3.nix#L62-L64
The final path must become absolute, because just one i3 instance will be started. So you should also specify an absolute path to your config, e.g., /home/YOUR-USERNAME/.config/i3/config. Consequently, I do not consider this to be a bug.

So what happens on a multi-user system?

As written in the documentation, if no configFile is provided $HOME/.i3/config will be used. By looking at the module's source, this is not caused by Nix, but by i3.

OK, it seems I misunderstood the use of this config setting. Thanks everyone!


Use Code Coverage test

I'm looking at implementing this resource to measure code coverage - https://about.codecov.io/  -
But we need the rights to the repository to register this project in this service

@shadowhand what do you think about this?

https://github.com/thephpleague/oauth2-google/pull/100

@Yozhef yes I am in favor of it. I have added the required token to this repo's secrets.

@shadowhand thanks this integration is done =)


Stable brake overdrive

Due to the backlash after the brake update, I worked out what I think is a better solution.
Brakes stay the same in the 0-100 range, but have their caps raised to 10,000. Cars will work perfectly with brakes up to 100, while tanks can make use of higher brake power. From my testing, they can stop and turn reliably now.
Overdriven brakes are also way more stable than old ACF-2 brakes. Even if you crank it up to 10k. Regarding spazz:

The tanks I tested didn't spazz at all, even at max input.
Cars only had their wheels spin back and forth slowly at max input (an improvement from the old impromptu space program).
As long as cars use 0-100 input, no spazz is guaranteed.

The only changes that need to be made to existing vehicles is increasing the brake power, which should help.
Also, I think this should be merged to master as well, people were calling for a rollback, but this should fix things.

Is this in the current ACF3? Cause if it is, the brakes are still useless, even in a tank with small physical weight.

https://user-images.githubusercontent.com/40478437/159681430-bcd8b7f2-5179-4300-9e69-b6881588ca38.mp4
Brakes are set at 10k, physical weight is 2k. All acf entities are parented, no armor, no gun. The physical parts are wheels and baseplate.

Just tested with the Dev version and it is indeed fixed and working better than acf2's version ever was.


[AutoRelease] t2-scvmm-2024-06-19-12172(can only be merged by SDK owner)

https://github.com/Azure/sdk-release-request/issues/5269
Live test success
https://dev.azure.com/azure-sdk/internal/_build?definitionId=4718

issue link:https://github.com/Azure/sdk-release-request/issues/5269

/check-enforcer override


Theme problem

Hi,
It seems there is a problem with your theme change code. Because after you load the CSS file, you don't remove the previous one before setting the new one. So it means, CSS files collapse. Try to change the theme a couple of times and you will see the problem.

Hi,
thank you for your interest in this project and pointing out this problem.
This issue is known to me and appears only in situation of changing theme a couple of times in small intervals between them. Currently solution for this is to just reload browser's window. I will try to fix this up properly as soon as I come back to maintanence of this project.

Hi, I think you can postpone fixing this issue for a while. I checked Elastic's documentation source code and it seems they are using style-loader and then unuse the CSS file after a theme change. I guess for this to work, you need to eject and configure webpack. It seems Elastic is going to change their theme system completely and will use Emotion as CSS in JS. It is best to wait and let them change to Emotion so you don't waste your time. Keep up the good work


HMR on example only works on every second change

The example in this repo correctly lists data when first loaded in dev mode. However, every time a change to the file is made and hot-module-reloaded, data becomes an empty array. When a second HMR-triggering change is made, data is again populated correctly.
const Members = () => {
  const yDoc = useYDoc('root', connectMembers)
  const { data } = useYArray(yDoc.getArray('members'))
  // data is either [...] or [], and switches every time yDoc is mounted/unmounted for HMR
  return (<pre children={JSON.stringify(data, null, 2)} />)
}

You can still write to the yDoc and share changes, but data is always empty. In /example, this means a peer would see a bunch of "JohnDoe #0" entries as the button was clicked.
This is an issue with the observable subscription or something and not the example itself. I have replicated this behavior in a blank project that uses create-react-app.

Github messed up as I was submitting this, sorry for the duplicate


fix the searchable fields bug when a field is nested

I made the PR based on release-v0.26.4, but I guess we don't want to merge it on this branch and instead update it to v0.26.5? :thinking:

Since we did the PR on an old branch, we still have the issue with bors settings, we need to merge by hand, bors is stuck currently... once we are sure the tests pass, we will merge it by hand
bors try


EDDI 2.0.0.b5 is crashing VoiceAttack when autoresponding

VA version: <IP_ADDRESS>
E:D Horizons Vanilla and Guardians BETA7
Whenever I jump, land, or enter supercruise, VoiceAttack is crashing.
eddilog.zip

Thank you for reporting this, I've made some changes to the code to catch what I believe is the cause of this error and released a beta 6 version.  Please could you give this a try and let me know if it fixes your issue?

Hi,
thanks for the quick fix! So far, I wasn't able to reproduce the reported issue with version 2.0.0.b6
Cheers

After playing for an hour, it only crashed VA once on a system-jump, so far

Seems like after one crash, it is instable again and crashes VA in any instance on jumps, scans etc.
Note: sometimes - when not crashing it says the sentences without the shipname. As if the variable was not set, or properly initialized. Please find attached, the new logfile.
eddi.zip

closing all applications, including E:D & Launcher, and killing the IVONA center process via task manager seems to help.

Fixed in production release.


string.include? vs string.includes?

In Ruby, the method is string.include?, in the singular, no "s" at the end of "include". In Crystal it is string.includes? in the plural. Not sure if on purpose but I thought to point it out.

It's on purpose. includes? is better grammar, and we don't aim to be compatible with ruby.

@RX14 suggestion on this... I'm referring to the includes? method on collections. This is one case where including the "s" or not can both be valid depending on context, and it has tripped me up. Here are two examples:
do_something if @widget_collection.includes?(widget)

and
do_something if @widgets.include?(widget)

I've used both of these forms in real-world practice, and both are correct. But the latter form is much more common in my work, and in Crystal it spits out undefined method.
From my experience so far, it seems like Crystal is less enthusiastic about having a lot of aliased methods, and I can appreciate that (like Python's "one right way to do it"), but also strives for nice readability like Ruby. So perhaps there is some undefined happy medium?


chore(cicd): cdk examples and e2e tests for metrics

Description of your changes

Add global examples based on CDK v2 using our final packages

➜  cdk git:(examples/cdk) npm run cdk deploy

><EMAIL_ADDRESS>cdk
> cdk "deploy"

Bundling asset CdkAppStack/MyFunction/Code/Stage...
...
✅  CdkAppStack

Stack ARN:
arn:aws:cloudformation:eu-west-1:264025721901:stack/CdkAppStack/aae82b70-5821-11ec-b7f5-023677044a7b

Add an example of e2e test

➜  metrics git:(examples/cdk) npm run test:e2e

><EMAIL_ADDRESS>test:e2e
> jest --group=e2eBundling asset ExampleIntegTest/MyFunction/Code/Stage...  ...d640df993fc53f1db8f40962c2c0e5b9900873153fe428478bc48ce9/index.js  10.7kb
⚡ Done in 7ms
[0%] start: Publishing 26112141b6a636c88b4a429c757121777675f5fc2b6437ed1416d6ea26d51f58:current
[100%] success: Published 26112141b6a636c88b4a429c757121777675f5fc2b6437ed1416d6ea26d51f58:current
ExampleIntegTest: creating CloudFormation changeset...
ExampleIntegTest | 0/4 | 09:27:42 | REVIEW_IN_PROGRESS   | AWS::CloudFormation::Stack | ExampleIntegTest User Initiated
ExampleIntegTest | 0/4 | 09:27:48 | CREATE_IN_PROGRESS   | AWS::CloudFormation::Stack | ExampleIntegTest User Initiated
ExampleIntegTest | 0/4 | 09:27:52 | CREATE_IN_PROGRESS   | AWS::IAM::Role        | MyFunction/ServiceRole (MyFunctionServiceRole3C357FF2)
ExampleIntegTest | 0/4 | 09:27:53 | CREATE_IN_PROGRESS   | AWS::IAM::Role        | MyFunction/ServiceRole (MyFunctionServiceRole3C357FF2) Resource creation Initiated
ExampleIntegTest | 1/4 | 09:28:08 | CREATE_COMPLETE      | AWS::IAM::Role        | MyFunction/ServiceRole (MyFunctionServiceRole3C357FF2)
ExampleIntegTest | 1/4 | 09:28:10 | CREATE_IN_PROGRESS   | AWS::IAM::Policy      | MyFunction/ServiceRole/DefaultPolicy (MyFunctionServiceRoleDefaultPolicyB705ABD4)
ExampleIntegTest | 1/4 | 09:28:11 | CREATE_IN_PROGRESS   | AWS::IAM::Policy      | MyFunction/ServiceRole/DefaultPolicy (MyFunctionServiceRoleDefaultPolicyB705ABD4) Resource creation Initiated
ExampleIntegTest | 2/4 | 09:28:25 | CREATE_COMPLETE      | AWS::IAM::Policy      | MyFunction/ServiceRole/DefaultPolicy (MyFunctionServiceRoleDefaultPolicyB705ABD4)
ExampleIntegTest | 2/4 | 09:28:27 | CREATE_IN_PROGRESS   | AWS::Lambda::Function | MyFunction (MyFunction3BAA72D1)
ExampleIntegTest | 2/4 | 09:28:29 | CREATE_IN_PROGRESS   | AWS::Lambda::Function | MyFunction (MyFunction3BAA72D1) Resource creation Initiated
ExampleIntegTest | 3/4 | 09:28:37 | CREATE_COMPLETE      | AWS::Lambda::Function | MyFunction (MyFunction3BAA72D1)
ExampleIntegTest | 4/4 | 09:28:38 | CREATE_COMPLETE      | AWS::CloudFormation::Stack | ExampleIntegTest
ExampleIntegTest |   0 | 09:28:42 | DELETE_IN_PROGRESS   | AWS::CloudFormation::Stack | ExampleIntegTest User Initiated
ExampleIntegTest |   0 | 09:28:44 | DELETE_IN_PROGRESS   | AWS::Lambda::Function | MyFunction (MyFunction3BAA72D1)
ExampleIntegTest |   1 | 09:28:52 | DELETE_COMPLETE      | AWS::Lambda::Function | MyFunction (MyFunction3BAA72D1)
PASS  tests/e2e/decorator.test.ts (83.021 s)

Test Suites: 1 passed, 1 of 2 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        83.5 s, estimated 90 s
Ran all test suites.

How to verify this change
Global example
cd examples/cdk
npm install
npm run build
npm run cdk deploy

This will deploy 3 lambdas and invoke them twice (to have one cold start and one warm)
Metrics e2e test
Run procedure
cd packages/metrics
npm install
npm run test:e2e

Doc (might be worth to move that in CONTRIBUTING.md ?)
Tests are under test folder and splitted into two categories: Unit tests and e2e tests.
This split happen thanks to jest-runner-groups.
Unit tests, under test/unit folder, don't need AWS Account to run and can only verify your construct's logic and it's capability to be synthesised to Cloud Formation.
Integration tests, under test/e2e folder, will test the deployability (cfn stack deploy) of your construct, potentially its functionality and its deprovisioning capability (cfn stack destroy) and therefore will need an AWS account.
Unit testing
Write
As mentioned before, tests are splitted thanks to jest-runner-groups and therefore needs to be tagged properly by adding the following comments in your unit test file:
/**
 * Tests metrics
 *
 * @group unit/<YOUR CATEGORY>/<YOUR SUB CATEGORY>
 */

Run
npm run test
You can run selective tests by restricting the group to the one you want. For instance npx jest --group=unit/metrics/all.
e2e testing
Write
As mentioned before, tests are splitted thanks to jest-runner-groups and therefore needs to be tagged properly by adding the following comments in your unit test file:
/**
 * Tests data lake catalog
 *
 * @group e2e/<YOUR CATEGORY>/<YOUR SUB CATEGORY>
 */

and leverage aws-cdk package to programatically deploy and destroy stacks. See metrics/tests/e2e/decorator.test.ts as an example.
Run
To run unit tests you can either use projen task

npm run test:e2e which will only run jest integ tests
or jest directly npx jest --group=e2e

You can run selective tests by restricting the group to the one you want. For instance npx jest --group=e2e/other/example.
Two important env variable can be used:

AWS_PROFILE to use the right credentials
DISABLE_TEARDOWN if you don't want your stack to be destroyed at the end of the test (useful in dev mode when iterating over your code).

Example: DISABLE_TEARDOWN=true AWS_PROFILE=ara npx jest --group=integ/other/example
Related issues, RFCs
#136
PR status
Is this ready for review?: YES
Is it a breaking change?: NO
Checklist

[x] My changes meet the tenets criteria
[x] I have performed a self-review of my own code
[x] I have commented my code where necessary, particularly in areas that should be flagged with a TODO, or hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] The code coverage hasn't decreased
[x] I have added tests that prove my change is effective and works
[x] New and existing unit tests pass locally and in Github Actions
[x] Any dependent changes have been merged and published in downstream module
[x] The PR title follows the conventional commit semantics

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@saragerion @ijemmy @flochaz - looks like this lock file was generated by node@16, which will break node@14 users when the want to do npm test

@saragerion @ijemmy @flochaz - looks like this lock file was generated by node@16, which will break node@14 users when the want to do npm test

Thx @michaelbrewer. I am opening an issue and will fix asap.

@saragerion @ijemmy @flochaz - looks like this lock file was generated by node@16, which will break node@14 users when the want to do npm test

Thx @michaelbrewer. I am opening an issue and will fix asap.

For those coming here in the future, the issue was that we recently started recommending<EMAIL_ADDRESS>for development on the project and those still using a lower version right after the switch got their builds broken for a short while.
Using<EMAIL_ADDRESS>and<EMAIL_ADDRESS>should work as expected, if anyone encounters issues with this setup they should please open an issue and provide as many details as possible about the setup.

Sorry about this. I guess things where in flux (so now with the clear contributor guide and the gitpod/CodeSpaces support). It should be clear what the local setup should be.


PostgeSQL (10) Partition partition key expression

Where  is no partition  expression in the partitions tab in the partition list, it could be very helpful
Partition column  expression can be obtained from the pg_get_partkeydef function

verified


yarn run test fails

Hi,
I am evaluating etebase as a possible backend for something I am working on. Congrats for creating all this by the way as it looks super cool :-)
I managed to deploy my own server instance locally which seems to work fine. I can connect to admin, create new users, then log them in and create a calendar with etebase-web.
When I test etebase-js with that instance I get the following results:
Test Suites: 3 failed, 2 passed, 5 total
Tests:       25 failed, 1 skipped, 10 passed, 36 total
Snapshots:   0 total
Time:        5.38s
Ran all test suites.
The server logs are:
INFO:     <IP_ADDRESS>:50912 - "POST /api/v1/authentication/signup/ HTTP/1.1" 409 Conflict
INFO:     <IP_ADDRESS>:50913 - "POST /api/v1/authentication/signup/ HTTP/1.1" 409 Conflict
INFO:     <IP_ADDRESS>:50914 - "POST /api/v1/test/authentication/reset/ HTTP/1.1" 404 Not Found
INFO:     <IP_ADDRESS>:50915 - "GET /api/v1/authentication/is_etebase/ HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:50916 - "GET /api/api/v1/authentication/is_etebase/ HTTP/1.1" 404 Not Found
INFO:     <IP_ADDRESS>:50917 - "POST /api/api/v1/authentication/login_challenge/ HTTP/1.1" 404 Not Found
INFO:     <IP_ADDRESS>:50918 - "POST /api/v1/test/authentication/reset/ HTTP/1.1" 404 Not Found
INFO:     <IP_ADDRESS>:50919 - "POST /api/v1/test/authentication/reset/ HTTP/1.1" 404 Not Found
INFO:     <IP_ADDRESS>:50920 - "POST /api/v1/test/authentication/reset/ HTTP/1.1" 404 Not Found
INFO:     <IP_ADDRESS>:50921 - "POST /api/v1/test/authentication/reset/ HTTP/1.1" 404 Not Found
INFO:     <IP_ADDRESS>:50922 - "POST /api/v1/test/authentication/reset/ HTTP/1.1" 404 Not Found
INFO:     <IP_ADDRESS>:50923 - "POST /api/v1/test/authentication/reset/ HTTP/1.1" 404 Not Found
INFO:     <IP_ADDRESS>:50924 - "POST /api/v1/test/authentication/reset/ HTTP/1.1" 404 Not Found
INFO:     <IP_ADDRESS>:50925 - "POST /api/v1/test/authentication/reset/ HTTP/1.1" 404 Not Found
INFO:     <IP_ADDRESS>:50926 - "POST /api/v1/test/authentication/reset/ HTTP/1.1" 404 Not Found
INFO:     <IP_ADDRESS>:50927 - "POST /api/v1/test/authentication/reset/ HTTP/1.1" 404 Not Found
INFO:     <IP_ADDRESS>:50928 - "POST /api/v1/test/authentication/reset/ HTTP/1.1" 404 Not Found
INFO:     <IP_ADDRESS>:50929 - "POST /api/v1/test/authentication/reset/ HTTP/1.1" 404 Not Found
INFO:     <IP_ADDRESS>:50930 - "POST /api/v1/test/authentication/reset/ HTTP/1.1" 404 Not Found
INFO:     <IP_ADDRESS>:50931 - "POST /api/v1/test/authentication/reset/ HTTP/1.1" 404 Not Found
INFO:     <IP_ADDRESS>:50932 - "POST /api/v1/test/authentication/reset/ HTTP/1.1" 404 Not Found
INFO:     <IP_ADDRESS>:50933 - "POST /api/v1/test/authentication/reset/ HTTP/1.1" 404 Not Found
INFO:     <IP_ADDRESS>:50934 - "POST /api/v1/test/authentication/reset/ HTTP/1.1" 404 Not Found
INFO:     <IP_ADDRESS>:50935 - "POST /api/v1/test/authentication/reset/ HTTP/1.1" 404 Not Found
INFO:     <IP_ADDRESS>:50936 - "POST /api/v1/test/authentication/reset/ HTTP/1.1" 404 Not Found
INFO:     <IP_ADDRESS>:50937 - "POST /api/v1/test/authentication/reset/ HTTP/1.1" 404 Not Found
INFO:     <IP_ADDRESS>:50938 - "POST /api/v1/test/authentication/reset/ HTTP/1.1" 404 Not Found
INFO:     <IP_ADDRESS>:50939 - "POST /api/v1/test/authentication/reset/ HTTP/1.1" 404 Not Found
INFO:     <IP_ADDRESS>:50940 - "POST /api/v1/test/authentication/reset/ HTTP/1.1" 404 Not Found
INFO:     <IP_ADDRESS>:50941 - "POST /api/v1/test/authentication/reset/ HTTP/1.1" 404 Not Found
INFO:     <IP_ADDRESS>:50942 - "POST /api/v1/test/authentication/reset/ HTTP/1.1" 404 Not Found
Can anyone shed some light upon this issue?

You need to run the server in debug mode for the tests to work.
Closing as the question was answered.

How does one "run the server in debug mode" ?
This does not seem to make any difference regarding the failures:
DEBUG=True uvicorn etebase_server.asgi:application --port 8000 --host <IP_ADDRESS>


RTAFB-5840 Adapt Script for Service Studio installation (#114)

PR to redo the https://github.com/OutSystems/OutSystems.SetupTools/pull/114 in order to keep dev releasable

Adapt Script for Service Studio installation
remove unnecessary code

Any further work required on this PR will be followed up here: https://outsystemsrd.atlassian.net/browse/RTAFB-5998.


fix: throttle balance state syncer

What it solves
Resolves #3176
How this PR fixes it

blockPollingInterval increased
onboard's balance state syncer interval increased
patched WC module removed

blockPollingInterval
The blockPollingInterval has been increased from 4 seconds to an hour. This has no knock-on effect as we do not access the block details from the provider but from Web3. Confirmed by testing:

When connecting a Ledger or Trezor there will no longer be overpolling to the RPC. This has been tested on a Trezor T and Nano X, successfully creating a Safe on both.
Note: if the Trezor throws 'Forbidden key path', the 'Safety checks' need to be altered to 'Prompt' in the Trezor Suite.
Onboard's balance state syncer
Onboard's balance state syncer (walletInterface.balance.get) is called every 200ms.
We never access the balance of the connected wallet from onboard and has been patched, also to be an hour
Patched WC module
As the balance state syncer has been patched, the custom WC module that was used to avoid excessive eth_getBalance requests has been removed in place of the official one instead.
How to test it

Connect a Ledger/Trezor directly to the Safe and observe no eth_getBalance over-polling.
WalletConnect should also not over poll.
Transactions should function as usual with all three.

Screenshots
An example of network requests from a Trezor: (note that the initial wallet address selection modal will poll for the address of each available addresses on the device, but no more)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.007%) to 35.548%

Totals

Change from base Build<PHONE_NUMBER>:
-0.007%

Covered Lines:
3554

Relevant Lines:
9044

💛  - Coveralls

I had a bit of clarification of what I should/should not see (thanks Aaron)
I've checked in this PR that the call to eth_balances is only done when you connect with the trezor/ledger to get the balances of all the accounts in the device. But after that there are no more eth_balances calls.
The initial call when the device is connected

After that other calls like eth_call happen, but is not the "5 calls per seconds" like the ones in prod.
Also I created a safe with trezor, ledger and WC (MM phone app) just to make sure those still work fine.
Looks good to me


Frontend

Fix https://github.com/pondersource/oc-sciencemesh/issues/36
Fix view token word here

Can you resolve the conflicts?

The title and the screenshot in the first comment don't seem to be about the CSS of the contacts list that is described in #36 - can you align both of them?

@michielbdejong it was related to the CSS that missing from style.css. I already commit them and PR is merged here https://github.com/pondersource/oc-sciencemesh/pull/37/files#diff-1fc556f95754ee7e33d91044125c44bb9f750c99be4406756ffb27413adfcaf5

Thanks for resolving the merge conflict; still, getting back to https://github.com/pondersource/oc-sciencemesh/pull/37#issuecomment-1380192078 ...
IIUC this PR does two things, 1. Fix #36 and 2. change 'Check token' to 'View token', right?
And you only included a screenshot of the second change?
Can you also include a screenshot of the first change?
And can you update the title to describe what this PR contains?
Thanks!

Thanks for resolving the merge conflict; still, getting back to #37 (comment) ... IIUC this PR does two things, 1. Fix #36 and 2. change 'Check token' to 'View token', right? And you only included a screenshot of the second change? Can you also include a screenshot of the first change? And can you update the title to describe what this PR contains? Thanks!

Here's the contact fix screenshot + the image in title.

I still see the title of this PR as "Frontend"?

@michielbdejong Here's the screenshots from contacts page.


[VL] Pass 1/2 of task off-heap memory size as Velox memory tracker's limit

what's the goal of this PR? what's the issue to solve?

what's the goal of this PR? what's the issue to solve?

To trigger Velox's spill. Velox requires for a limit to be set otherwise it doesn't spill data.
I'm still tweaking on the factor, 1/2 is just a magic number I came up with, finally it could be 0.75 , 0.8, 0.85 or could be configurable, not sure at this time.

Let's at least make ti configurable for now. Let's use 0.75 for now.

@rui-mo


Unselected event in settings page is still being logged

We are using "Auth0 Logs to Application Insights" extension (v2.1) to import events to application insights. Even if "Failed Silent Auth" event is unselected in settings page it is still being imported in application insights.

The same problem happens with. Auth0 Authentication API webhooks.


Colmap Problem

Hello, I noticed that you 've met the same problem before, shown as below. Would you mind sharing your experience on how to tackle with this error?
Error :
Need to run COLMAP
qt.qpa.xcb: could not connect to display :0
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.

Hi,
For my experience, I installed COLMAP based on this link https://colmap.github.io/install.html, and the problem was fixed.

Thank you for your timely suggestions! I 'll check it ASAP.


add bwd upsampling clear check

create PR same as #566 to for rocm-3.10.x branch

@daniellowell This PR is doing the same fix as #566, but for rocm-3.10.x. But since you were able to cherry pick #566 into rocm-3.10.x-staging, do we still need this PR?

@carlushuang I cherry-picked the 566 PR into rocm-3.10.x-staging.


[terra-clinical-result] Fix flowsheet overflow infinite render

Summary

What was changed:
Removed floats from the styling and wrapped the primary and end displays in one container. This allows us to still have both on one line without using floats and it handles window resize better than before.
Added test cases in the existing semantic table test for numeric overflow when there is overflow and when there is not. Also added some additional testing for entered-in-error result and partial error result, just to make sure we've covered everything.
Added a completely new test for paddingstyles in a semantic table since that was not added before.
In general I improved upon the semantic tests by using only flowsheet result cells instead of just the basic terra cell.
Why it was changed:
Teams conversation:
Gupta, Tanya: Issues seen with terra-clinical-result 1.18.0
posted in Terra / General at June 27, 2023 7:15:01 AM CDT
The FlowsheetResultCell subcomponent is triggering an infinite rerender due to a change in value of the numericOverflow state variable. This is causing cells to "flicker" between the cell value and "View Results".
numericOverflow is updated in the useEffect hook based on the relative widths of the cell container and cell content (if the cell content width is larger, it will overflow).
Testing

This change was tested using:

[x] WDIO
[x] Jest
[x] Visual testing (please attach a screenshot or recording)
[ ] Other (please describe below)
[ ] No tests are needed

Reviews
In addition to engineering reviews, this PR needs:

[x] UX review
[x] Accessibility review
[ ] Functional review

Additional Details

This PR resolves:
UXPLATFORM-9260

I've done validation in several different ways.
First were some screenreader checks, nothing should have changed but just wanted to poke around to make sure. Also added a recording of the new test cases I added related to numeric overflow.
https://github.com/cerner/terra-clinical/assets/40574651/20953ae3-fdb1-430e-b2f0-ac1abcb94910
https://github.com/cerner/terra-clinical/assets/40574651/3b501cdd-c2b7-4593-a1ec-ac5425cbd1da
Resizing tests, showing with no zoom and with full zoom.
https://github.com/cerner/terra-clinical/assets/40574651/32edc5f7-c3bd-4c62-96ce-7bf117550775
https://github.com/cerner/terra-clinical/assets/40574651/885e4d44-ec08-4370-92a0-70ac53cc84a9
https://github.com/cerner/terra-clinical/assets/40574651/f9d94b41-f3b0-4119-8b6f-bbeb79baee23
Also added a test for the paddingstyles so here is a screenshot of that

When running jest tests I noticed there was a datagrid snapshot that updated, since that appears to need to be updated in main I kept it in this PR.

Looks good. Thanks, @RayGunY!

@RayGunY Were you able to reproduce the flickering issue and do you have any screenshots/screen recordings validating that the screen flicker is fixed?

@RayGunY Were you able to reproduce the flickering issue and do you have any screenshots/screen recordings validating that the screen flicker is fixed?

Yes I was able to reproduce the issue by adding examples for numeric overflow to the existing semantic table example - the rows for 'numeric with overflow' and 'numeric without overflow'. Both flickered after adding them to the semantic table and after adding my changes the screen recordings I have currently show that the flicker doesn't appear. I can record a video of me recreating the issue in the table without my changes if that would be helpful.

@RayGunY Were you able to reproduce the flickering issue and do you have any screenshots/screen recordings validating that the screen flicker is fixed?

Yes I was able to reproduce the issue by adding examples for numeric overflow to the existing semantic table example - the rows for 'numeric with overflow' and 'numeric without overflow'. Both flickered after adding them to the semantic table and after adding my fixing changes, the screen recordings I have currently show that the flicker doesn't appear. I can record a video of me recreating the issue in the table without my fixing changes if that would be helpful.

Yes, I think having the "before" screen recording would be good for documenting the fix!

@sycombs here is that screen recording of the recreated issue:
https://github.com/cerner/terra-clinical/assets/40574651/c859eca1-9a6d-4dd1-890e-feb1116c36b3

I'm noticing an issue where when loading the page with the semantic table we are getting a very quick flash of the numeric overflow result (one that's too long and we shouldn't see) before it changes to say "View Result". It's not visible from the main site example page because of how that page reloads, but we can see it on the test example page.
I noticed this as I'm getting the WDIO screenshots added finally, we can see in the snapshot for the flowsheet semantic table test that it's showing the overflow number instead of "View Result", it's doing that because of this initial flash issue. Seems like we will need some sort of way to ensure the page has been fully loaded in regards to this section of logic: https://github.com/cerner/terra-clinical/blob/main/packages/terra-clinical-result/src/flowsheet-result-cell/FlowsheetResultCell.jsx#L397-L426
https://github.com/cerner/terra-clinical/assets/40574651/ad72a9f8-dd63-44e6-bc18-e36732b739cc

In regards to my comment above - I think this flash issue is something existing that hasn't been caught yet. Looking at the non-semantic test examples I'm seeing the flash as well (with and without my changes). It's really hard to see in that example so that's probably why it hasn't been noticed, now that we have a working overflow example in the semantic table it's more noticeable. I had to take a recording of a slowed down screen recording to show it slow enough in the non-semantic example.
https://github.com/cerner/terra-clinical/assets/40574651/36420b18-911a-45d6-91c8-933fa756bbf9
Looking into the code I think it's because we have this useEffect to check the container width/content width which then sets numericOverflow to true or false accordingly. It does this check after the initial render, and because numericOverflow is set to false to start it is showing the actual result data the first time it renders.
From the useEffect React docs: "If your Effect wasn’t caused by an interaction (like a click), React will let the browser paint the updated screen first before running your Effect."
So we need to hold off on rendering the page visually until after the checks in the useEffect() have been done. Off the top of my head I'm not 100% sure how we will need to do this as I'm still a bit unfamiliar with React states/hooks. Poking around online I think maybe we need to use something more along the lines of componentDidMount since that doesn't allow the browser to update the screen until it's run through that logic.

In regards to my comment above ....

@RayGunY thank you for the slowed down video, it helped a lot to visualize what's happening!
I agree, it does look like the usage of useEffect (or at least the if condition in it) seems to be the cause that triggers the rerender flash. Since the changes already pre-existed, I don't think we have to fix them with this PR and can log a Jira to investigate and fix this separately since it may require rewriting the useEffect logic.
For your wdio tests, you can use browser.waitUntil() to add a few seconds delay so that you can take the wdio screenshots with "View Result" visible.

In regards to my comment above ...

Since this seems to be a fundamental issue with the useEffect hook that simply wasn't exposed until the recent accessibility changes, do you think this PR is still needed or should we focus on fixing the root cause, i.e. the useEffect? Is this PR just a bandage fix for the flickering issue or are there other improvements for clinical result that should be preserved?

In regards to my comment above ...

Since this seems to be a fundamental issue with the useEffect hook that simply wasn't exposed until the recent accessibility changes, do you think this PR is still needed or should we focus on fixing the root cause, i.e. the useEffect? Is this PR just a bandage fix for the flickering issue or are there other improvements for clinical result that should be preserved?

@sycombs I think this PR is still needed, the changes I have here not only fixes the flickering defect (the really obvious one) but also handles window resizing better than before. I do think the useEffect hook is going to need to be changed as part of improvements to flowsheet, but that should definitely be a separate story. It's not something that is breaking any workflow or overly obvious right now.
@sdadn I'm looking into waitUntil() and I don't think it adds a simple delay, it just waits until a condition is met and times out if that doesn't happen. In our case I'm not sure what condition we'd wait for to ensure that the page has properly rendered. My thought was something like a check for if the text of the overflow cell equals 'View Results' since that's what we know the cell text should be. However getting that text seems like it will be complicated with how everything is structured, I'm trying to look into that right now. Also looking to see if there is a true delay we can add instead of waitUntil().

@sdadn I'm looking into waitUntil() ....

@RayGunY oh I misread and thought you could just pass in the timeout prop. How about browser.pause?

@sdadn I'm looking into waitUntil() ....

@RayGunY oh sorry, I misread and thought you could just pass in the timeout prop. How about browser.pause?

@sdadn I tried using pause and I might just be using it incorrectly but that hasn’t fixed the snapshot issues, still getting the same one I have been. I think for browser.pause the issue is that it’s pausing execution and therefore the browser from doing anything. So while we’re paused, no re-render is happening I’m pretty sure.
I’ve also tried .waitForDisplayed() which Kol suggested, that didn’t work because it waits for the first display rendered which will be the one we don’t want.
I’m looking for other potential solutions but might circle back around to waitUntil() if I can figure out a good condition to check to ensure we’ve re-rendered.

I'm having a hard time getting this test to wait properly. Part of the issue with using things like 'await' and .waitUntil() is that they need to run the test asynchronously - that causes issues with how we fundamentally have these tests set up, specifically related to accessibility checks I believe. I'm also not seeing any other examples within any of the terra libraries where something similar has been used, so I'm not sure if there's a workaround but I'm not familiar enough yet to find it easily.
I'm getting this error when trying out any implementation that uses async in the test file: Cannot destructure property 'violations' of 'result' as it is undefined.
The logs trace back to accessibility checks at Object.toBeAccessible (/Users/ry061521/terra-clinical/node_modules/@cerner/terra-functional-testing/lib/commands/expect/toBeAccessible.js:23:5)
So I turned my attention back to the root cause of the issue - the usage of useEffect. Because this is a layout change happening upon a re-render it seems like useLayoutEffect might be what we want. Here's an excerpt of how that works:
"React’s useLayoutEffect hook is almost identical to the useEffect hook. A function called effect and an array of dependencies are the first and second arguments, respectively, for the useLayoutEffect hook.
After all DOM mutations have been completed by React, useLayoutEffect executes synchronously. If you need to measure the DOM (for example, to determine the scroll position or other styles for an element) and then modify the DOM or cause a synchronous re-render by changing the state, this can be helpful."
Sources:

https://talent500.co/blog/react-useeffect-v-s-uselayouteffect-hook-key-differences/
https://blog.thoughtspile.tech/2021/11/15/unintentional-layout-effect/

I tried out that change and it appears to fix our issue! I slowed down some recordings of the semantic and non-semantic tests. That's good but I'm still having some issues rendering the proper snapshots - that might be some cleaning up I need to do though so I'm working on that right now.
@sdadn @sycombs what do you guys think about changing to useLayoutEffect? It now looks like this:
https://github.com/cerner/terra-clinical/assets/40574651/031f90f5-77d4-483b-ae0b-830a0aec14e1
https://github.com/cerner/terra-clinical/assets/40574651/7e821c9e-de31-4ddd-9bcc-833859944c17

@sdadn @sycombs what do you guys think about changing to useLayoutEffect? It now looks like this:

That was a great find and the results look good! If that was the fix then I'm all for it since it solves the problem completely. Thanks for looking into it and finding a solution!

@sdadn @sycombs what do you guys think about changing to useLayoutEffect? It now looks like this:

@RayGunY That was a great find and the results look good! If that was the fix then I'm all for it since it solves the problem completely. Thanks for looking into it and finding a solution!

No problem at all! Still waiting on wdio to cooperate locally for me so I can re-generate the proper snapshot, will likely have someone else on the team generate it for me and push to this branch. I'll tag you guys again once that's been pushed.

Commented out the test for the semantic table in the wdio flowsheet-result-cell-spec.js file. I added a small comment there and referenced the jira I just logged related to this issue. Jira found here: https://jira2.cerner.com/browse/UXPLATFORM-9327

Build failure is due to outdated snapshots in clinical-data-grid. This PR looks good otherwise.


[event request] Codeunit 5805 "Item Charge Assgnt. (Purch.)" new event publishers in procedures "Assignequally" and "AssignByAmount"

Dear ALAppExtensions Team:
In our solution we extend the item charge funcionality. In order to do this, we would need new event publishers in 5805 "Item Charge Assgnt. (Purch.)", procedures "Assignequally" and "AssignByAmount":
NEW PUBLISHER:
[IntegrationEvent(false, false)]
local procedure OnAssignequallyOnAfterAssgUnitCost(var ItemChargeAssgntPurch: Record "Item Charge Assignment (Purch)")
begin
end;
NEW PUBLISHER:
[IntegrationEvent(false, false)]
local procedure OnAssignEquallyOnAfterItemChargeAssignmentPurchModify(var ItemChargeAssignmentPurch: Record "Item Charge Assignment (Purch)");
begin
end;
NEW PUBLISHER:
[IntegrationEvent(false, false)]
local procedure OnAssignByAmountOnAfterAssgAmount(var ItemChargeAssgntPurch: Record "Item Charge Assignment (Purch)"; var TempItemChargeAssgntPurch: Record "Item Charge Assignment (Purch)" temporary)
begin
end;
NEW PUBLISHER:
[IntegrationEvent(false, false)]
local procedure OnAssignByAmountOnAfterItemChargeAssignmentPurchModify(var ItemChargeAssignmentPurch: Record "Item Charge Assignment (Purch)");
begin
end;
All parameters are referenced as VAR
The code in procedure "Assignequally" in Codeunit 5805 "Item Charge Assgnt. (Purch.)" would be modified as follows:
OLD CODE:
....
.
.
.
if TempItemChargeAssgntPurch.FindSet(true) then begin
RemainingNumOfLines := TempItemChargeAssgntPurch.Count();
repeat
ItemChargeAssgntPurch.Get(
TempItemChargeAssgntPurch."Document Type",
TempItemChargeAssgntPurch."Document No.",
TempItemChargeAssgntPurch."Document Line No.",
TempItemChargeAssgntPurch."Line No.");
ItemChargeAssgntPurch."Qty. to Assign" := Round(TotalQtyToAssign / RemainingNumOfLines, UOMMgt.QtyRndPrecision);
ItemChargeAssgntPurch."Amount to Assign" :=
Round(
ItemChargeAssgntPurch."Qty. to Assign" / TotalQtyToAssign * TotalAmtToAssign,
Currency."Amount Rounding Precision");
TotalQtyToAssign -= ItemChargeAssgntPurch."Qty. to Assign";
TotalAmtToAssign -= ItemChargeAssgntPurch."Amount to Assign";
RemainingNumOfLines := RemainingNumOfLines - 1;
OnAssignEquallyOnBeforeItemChargeAssignmentPurchModify(ItemChargeAssgntPurch);
ItemChargeAssgntPurch.Modify();
until TempItemChargeAssgntPurch.Next = 0;
.
.
.
.....
NEW CODE:
....
.
.
.
   if TempItemChargeAssgntPurch.FindSet(true) then begin
        RemainingNumOfLines := TempItemChargeAssgntPurch.Count();
        repeat
            ItemChargeAssgntPurch.Get(
              TempItemChargeAssgntPurch."Document Type",
              TempItemChargeAssgntPurch."Document No.",
              TempItemChargeAssgntPurch."Document Line No.",
              TempItemChargeAssgntPurch."Line No.");
            ItemChargeAssgntPurch."Qty. to Assign" := Round(TotalQtyToAssign / RemainingNumOfLines, UOMMgt.QtyRndPrecision);
            ItemChargeAssgntPurch."Amount to Assign" :=
              Round(
                ItemChargeAssgntPurch."Qty. to Assign" / TotalQtyToAssign * TotalAmtToAssign,
                Currency."Amount Rounding Precision");

            //start new code
            OnAssignequallyOnAfterAssgUnitCost(ItemChargeAssgntPurch);
            //end new code

            TotalQtyToAssign -= ItemChargeAssgntPurch."Qty. to Assign";
            TotalAmtToAssign -= ItemChargeAssgntPurch."Amount to Assign";
            RemainingNumOfLines := RemainingNumOfLines - 1;
            OnAssignEquallyOnBeforeItemChargeAssignmentPurchModify(ItemChargeAssgntPurch);
            ItemChargeAssgntPurch.Modify();

            //start new code
            OnAssignEquallyOnAfterItemChargeAssignmentPurchModify(ItemChargeAssgntPurch);
            //end new code

        until TempItemChargeAssgntPurch.Next = 0;

.
.
.
The code in procedure "AssignByAmount" in 5805 "Item Charge Assgnt. (Purch.)" would be modified as follows:
OLD CODE:
....
.
.
.
    if TempItemChargeAssgntPurch.FindSet(true) then
        repeat
            ItemChargeAssgntPurch.Get(
              TempItemChargeAssgntPurch."Document Type",
              TempItemChargeAssgntPurch."Document No.",
              TempItemChargeAssgntPurch."Document Line No.",
              TempItemChargeAssgntPurch."Line No.");
            if TotalQtyToAssign <> 0 then begin
                ItemChargeAssgntPurch."Qty. to Assign" :=
                  Round(
                    TempItemChargeAssgntPurch."Applies-to Doc. Line Amount" / TotalAppliesToDocLineAmount * TotalQtyToAssign,
                    UOMMgt.QtyRndPrecision);
                ItemChargeAssgntPurch."Amount to Assign" :=
                  Round(
                    ItemChargeAssgntPurch."Qty. to Assign" / TotalQtyToAssign * TotalAmtToAssign,
                    Currency."Amount Rounding Precision");
                TotalQtyToAssign -= ItemChargeAssgntPurch."Qty. to Assign";
                TotalAmtToAssign -= ItemChargeAssgntPurch."Amount to Assign";
                TotalAppliesToDocLineAmount -= TempItemChargeAssgntPurch."Applies-to Doc. Line Amount";
                OnAssignByAmountOnBeforeItemChargeAssignmentPurchModify(ItemChargeAssgntPurch);
                ItemChargeAssgntPurch.Modify();
            end;
        until TempItemChargeAssgntPurch.Next = 0;

.
.
.
.....
NEW CODE:
....
.
.
.
    if TempItemChargeAssgntPurch.FindSet(true) then
        repeat
            ItemChargeAssgntPurch.Get(
              TempItemChargeAssgntPurch."Document Type",
              TempItemChargeAssgntPurch."Document No.",
              TempItemChargeAssgntPurch."Document Line No.",
              TempItemChargeAssgntPurch."Line No.");
            if TotalQtyToAssign <> 0 then begin
                ItemChargeAssgntPurch."Qty. to Assign" :=
                  Round(
                    TempItemChargeAssgntPurch."Applies-to Doc. Line Amount" / TotalAppliesToDocLineAmount * TotalQtyToAssign,
                    UOMMgt.QtyRndPrecision);
                ItemChargeAssgntPurch."Amount to Assign" :=
                  Round(
                    ItemChargeAssgntPurch."Qty. to Assign" / TotalQtyToAssign * TotalAmtToAssign,
                    Currency."Amount Rounding Precision");

                //start new code
                OnAssignByAmountOnAfterAssgAmount(ItemChargeAssgntPurch, TempItemChargeAssgntPurch);
                //end new code

            TotalQtyToAssign -= ItemChargeAssgntPurch."Qty. to Assign";
                TotalAmtToAssign -= ItemChargeAssgntPurch."Amount to Assign";
                TotalAppliesToDocLineAmount -= TempItemChargeAssgntPurch."Applies-to Doc. Line Amount";
                OnAssignByAmountOnBeforeItemChargeAssignmentPurchModify(ItemChargeAssgntPurch);
                ItemChargeAssgntPurch.Modify();

                //start new code
               OnAssignByAmountOnAfterItemChargeAssignmentPurchModify(ItemChargeAssgntPurch);
                //end new code
            end;
        until TempItemChargeAssgntPurch.Next = 0;

.
.
.
.....
Thanks!

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Get rid of bower dependency

I am using this addon as a nested addon in my project. Since the bootstrap-sass is installed via bower, I have to execute the default blueprint from the parent addon to install the bower dependency.
So, if we use npm package instead of bower, it will be easy to nest this addon.

Yeah that's a good idea and the approach i'm taking with all my new addons. I'm not actively using this one anymore but very happy to take a PR if you want to send me one.

have a look at ui-bootstrap which is my Bootstrap 4.0 addon for an example of this

I will raise a PR. Could you look at the PR I have already raised?

I believe your PR closed this, so closing issue.


Lua::run: Move logging of str parameter to higher log level.

what
This silences a spammy debug log output.
why
When running with the debug log enabled, it spams a useless line for every request, when using a Lua script. It can't be disabled / filtered, because it's logged with the lowest level.
[172433088121.621649] [/something/] [1]
[17243308919.222807] [/] [1]
[17243308919.222807] [/] [1]
[172433090139.589739] [/] [1]

I don't know if 9 is the appropriate level. Alternatively this line could be removed altogether.
references
The line in question was introduced in Nov 2019.

Hi @frozenice,
thanks for your first PR!
I would wait for 1-2 days if anyone wants to comment this PR. But it's good to me so if there won't be any remarks I'll merge this soon.

Okay, no other feedback, merging now - thanks again!


Add a test program for running under American Fuzzy Lop

Add a test program for running under American Fuzzy Lop
: brew install afl-fuzz
: xcodebuild -scheme sbjson -target sbjson clean build CC=afl-clang
: afl-fuzz -i TestData/jsonchecker -o afl-out /Path/to/sbjson @@
Document first AFL run in README

Current coverage is 90.97% (diff: 100%)

Merging #246 into master will increase coverage by 0.41%

@@             master       #246   diff @@
==========================================
  Files            17         17
  Lines          1007       1064    +57
  Methods         229        255    +26
  Messages          0          0
  Branches        105        106     +1
==========================================
+ Hits            912        968    +56
- Misses           57         58     +1
  Partials         38         38

Powered by Codecov. Last update 7663cd7...9021a7c


Max number of floors visible for agents

I think that the agents should have the information how many floors are in the tower. Or maybe just give the agent the information if it's on the last floor as it would useful for any communication so that the last agent doesn't wait for the answer from the floor below which doesn't exist.

I think the only agent that should be able to get the total number of floors in the tower is the agent right at the bottom (and possibly the one above that one). Agents will need to work together to figure out how many floors there are in the tower.

I think that the only other floor an agent should be able to see (if any) would be the 1 below. So only the bottom floor agents know the number of floors as each agent knows which floor they are on.
Personally, I think agents not being able to see any other floors is interesting, as then no agent knows for certain how many floor there are.

First / last agent should know they're on the first / last floor simply because they "can't" communicate with anyone above / below them. Other than that, it would be interesting to add a message asking or revealing how many floors there are in the tower (agents could implement behaviors where they lie about that information)

Thinking about this:

Agent on floor 1 knows by default there is no one above them (since they know they are on floor 1)
Agents on floor x != 1 know by default there is someone above them
We need an information for the agent to know if there is someone under them

Although this being said, I think returning (Bool, Bool) for both presence of agent "above" and "below" would make it easier so people don't write their own checker. People would have to write their own state conclusion that (X, False) -> towerFloors = agent.Floor

From the project specification, its says no-one has ever not reported someone being below them. This is probably just an expression by Pitt (as implementing this is not possible) but I think its something we should consider that agents can't see the floor below them and therefore do not know if they are the bottom floor for certain. They would have to assume it if they received no messages from the floor below.
Maybe, 'line of sight' could be a parameter we explore changing, which would affect how we implement this.

I wrote a function
func (a *Base) SurroundingFloors() (bool, bool) {
	return a.floor != 1, a.floor != a.tower.TotalAgents()/a.tower.agentsPerFloor
}

which tells you if there is someone above you or below you. I'm happy with:

agents can't see the floor below them and therefore do not know if they are the bottom floor for certain

which is something technically independent from "max number of floors". Although it become redundant. There is different levels of exposing information here:

If you tell an agent the max number of floors and the floor they are one, they automatically deduce floorCount, agentBelow?, agentAbove?, lastFloor?
If you tell an agent the floor they are on, they only deduce agentAbove? (which we can even make non-deducible by making the floor count not start at 1, but that's another story)
If you tell an agent the floor they are on and if there is someone above them or below them, they deduce agentBelow?, agentAbove?, and only the last agent deduces lastFloor? and floorCount

I think it's really about what information would we like to expose, and based on that we can change the implementation

Might be worth asking tomorrow if the last agent knows they are the last agent?

First / last agent should know they're on the first / last floor simply because they "can't" communicate with anyone above / below them. Other than that, it would be interesting to add a message asking or revealing how many floors there are in the tower (agents could implement behaviors where they lie about that information)

This shouldn't be allowed as per spec - paraphrasing but "if someone knows how many floors there are, they aren't saying"

Make sense
In that case happy to close the issue and not provide the feature of information about being on first / last floor

Just to comment - the agent on the 1st floor would know they're on the first floor.


ERROR: JAVA_HOME is not set and no 'java'

Steps to Reproduce

... try running an android emulator for the first time
...
...

Logs

Logs

```Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
Exception: Gradle task assembleDebug failed with exit code 1

</details>

Launching lib\main.dart on AOSP on IA Emulator in debug mode...
Running Gradle task 'assembleDebug'...

ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.

Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
Exception: Gradle task assembleDebug failed with exit code 1

please

This might be useful https://stackoverflow.com/questions/64359564/error-java-home-is-not-set-and-no-java-command-could-be-found-in-your-flutter

@lekanGregory
Your question is better suited for support channels like StackOverflow. Please see above link and check if it helps to resolve your issue. Also check this similar issue and underlying comments and see if they help to resolve.
Closing from here, as this isn't a bug, but related to your setup / config.


ko: update outdated files in dev-1.20-ko.5 (1)

This PR resolves #26620 partially (part-1: M1~M20)

[x] M1.  content/en/community/_index.html  | 21(+S) 2(-)
[x] M2.  content/en/docs/concepts/architecture/controller.md  | 1(+XS) 1(-)
[ ] M3.  content/en/docs/concepts/architecture/nodes.md  | 4(+XS) 3(-) // no need to update
[x] M4.  content/en/docs/concepts/cluster-administration/_index.md  | 2(+XS) 2(-)
[x] M5.  content/en/docs/concepts/cluster-administration/logging.md  | 63(+M) 69(-)
[x] M6.  content/en/docs/concepts/cluster-administration/manage-deployment.md  | 16(+S) 7(-)
[ ] M7.  content/en/docs/concepts/configuration/configmap.md  | 1(+XS) 1(-) // no need to update
[x] M8.  content/en/docs/concepts/configuration/overview.md  | 2(+XS) 2(-)
[x] M9.  content/en/docs/concepts/configuration/secret.md  | 2(+XS) 7(-)
[x] M10.  content/en/docs/concepts/containers/container-lifecycle-hooks.md  | 16(+S) 17(-)
[x] M11.  content/en/docs/concepts/extend-kubernetes/api-extension/custom-resources.md  | 2(+XS) 2(-)
[x] M12.  content/en/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md  | 1(+XS) 1(-)
[x] M13.  content/en/docs/concepts/extend-kubernetes/service-catalog.md  | 1(+XS) 1(-)
[x] M14.  content/en/docs/concepts/overview/what-is-kubernetes.md  | 1(+XS) 1(-)
[x] M15.  content/en/docs/concepts/overview/working-with-objects/labels.md  | 2(+XS) 2(-)
[x] M16.  content/en/docs/concepts/overview/working-with-objects/object-management.md  | 2(+XS) 2(-)
[x] M17.  content/en/docs/concepts/policy/pod-security-policy.md  | 1(+XS) 1(-)
[x] M18.  content/en/docs/concepts/policy/resource-quotas.md  | 19(+S) 8(-)
[x] M19.  content/en/docs/concepts/scheduling-eviction/assign-pod-node.md  | 1(+XS) 1(-)
[ ] M20.  content/en/docs/concepts/scheduling-eviction/scheduler-perf-tuning.md  | 1(+XS) 1(-) // no need to update

new file:   content/ko/examples/policy/priority-class-resourcequota.yaml (for M18.  content/en/docs/concepts/policy/resource-quotas.md)

/assign @ClaudiaJKang

/milestone dev-1.20-ko.5

@ClaudiaJKang 이 PR건 리뷰 가능하실까요? 아니면 다른 분을 Assign 해도 될까요?

@pjhwa 님~~ 아무래도 @ClaudiaJKang 께서 확인이 어려우신 것 같네요 ^^
ko.5 일정(머지 타겟 3/4)을 고려해서, 일정 내에 리뷰 가능하신 다른 리뷰어 및 승인자를 assign 하는 것이 어떨까요?
(슬랙으로도 요청 드려보겠습니다~~ ^^)

I just have added one comment - looking forward to seeing author's comment

/unassign @ClaudiaJKang
/assign @pjhwa

@ianychoi @pjhwa 리뷰 감사합니다.. ^^
content/ko/docs/concepts/overview/working-with-objects/labels.md 의 convention 관련 의견에 대해서만 다른 방식으로 처리하였고, https://github.com/kubernetes/website/pull/26691#discussion_r587173051
나머지 의견은 모두 그대로 반영하였습니다!
일정을 고려해서 커밋 스쿼싱도 미리 진행하였습니다.

수고 많으셨습니다!
/lgtm

/lgtm
/approve


dns cache: add force refresh API

Will allow EM to force a DNS refresh for all hosts on network changes.
Signed-off-by: Matt Klein<EMAIL_ADDRESS>Risk Level: Low
Testing: Unit test
Docs Changes: N/A
Release Notes: N/A
Platform Specific Features: N/A

Do we associate resolved addresses with networks or just hope for the best?

We were talking about this internally and we do think that we need to eventually associate DNS results with a particular interface, though the practicality of how this might be done, especially on iOS, needs investigation. cc @goaway @junr03 @Reflejo


No build targets parsed, yet error on save

When I open a project that does not have an associated build target and save a file, I get the error Cannot read property 'exec' of undefined.

Do you have the setting Automatically build on save enabled?

fixed with #271


Import takes too long to load

About "gt_replace_reference_paths.py"
-It takes too long to import "pymel" as it reloads plugins. Find another solution that doesn't require "pymel"

No longer necessary. GT Path Manager handles referrences now.


WIP: Adult census exploration

Feel free to push into this branch!

Hi @lesteve, just to let you know that we changed the jupytext configuration in master to only use python scripts and notebooks to limit synchronization issues.
There is also a make file to generate a rendered version of the notebook that can be browsed online.

Great!


Does Hero support submenu in nav-bar?

Hi,
I am currently using the hero theme for hugo. I've been trying to add a dropdown menu in the navbar. I've seen from other themes that they use a "submenu" and use the parent and children identifier in the config.toml. I've also seen some people suggest the reason submenu isn't working for them is because their theme doesn't support it. I can't find any documentation for the hero theme to tell if it supports submenu. I wanted to ask just in case it's not supported for hero theme.
Best,
William

Ended up building one, so it is possible! Closing out issue

Im glad you got it done. If your repo is public can you share the link, this is quite a common request.

Unfortunately the repo is private, however I can explain how I made it work.
First off, I had to edit my config.toml.
There is an "identifier" property you can throw in. Then for whatever you want inside the dropdown, you need to add the property called "parent", like so:
`[[menu.main]]
name = "Resources"
identifier = "resources"
weight = 3
[[menu.main]]
name = "Blog"
parent = "resources"
url = "/blog/"`
Then in the html there is an "HasChildren" and "{{range .Children}}" properties that will need to be added, like so:

     {{ $currentPage := . }}     {{ range .Site.Menus.main }}     {{ if .HasChildren }}
       <button class="dropbtn">Resources                </button>
         {{ range .Children }}
           {{ .Name }}
         {{ end }}

That's how I was able to get it working. Cheers!

@Bp3289 Apologies I'm about a year late.. But after I've edited the config.toml, can you direct again where to place the above code in the main-menu.html?
Here is the default code:
`

    {{ $currentPage := . }}
    {{ range .Site.Menus.main }}

        {{ .Pre }}
        {{ .Name }}

    {{end}}

`

@Bp3289
I know this post is a bit old but I am also looking to add submenus.
I tried adjusting the layouts/partials/main-menu.html but I am messing up somewheren.
This is what I have:
`

    {{ $currentPage := . }}
    {{ range .Site.Menus.main }}
      {{ if .HasChildren }}
         Resources
 {{ range .Children }}

{{ .Name }}

      {{ end }}

`
But getting unexpected eof error...


EventSourceMapping for ChangeDataCapture could not be created in stack

Hey, thanks for the nice replication guide and the SAM templates you prepared.
In the ChangeDataCapture step I just have the issue that the EventSourceMapping could not be created in my CloudFormation stack.
I am constantly getting an error like:
Resource handler returned message: "Invalid
request provided: Cannot access stream
arn:aws:kinesis:eu-
west-1:*****:stream/*****. Please ensure the role can perform
the GetRecords, GetShardIterator,
DescribeStream, ListShards, and ListStreams
Actions on your stream in IAM. (Service: Lambda, Status Code: 400, Request ID: *****, Extended
Request ID: null)" (RequestToken: *****,
HandlerErrorCode: InvalidRequest)
The following resource(s) failed to create:
[ReplayFromStreamFnDDBEvent]. Rollback
requested by user.

I used the template as it came from this repository.

Found it out myself already. My issue was I used a kinesis stream instead of a dynamodb stream.


feat: customizable alphabet using OcrEngineParams

I made this I don't now if it's good enough to be merged, it just add a parameter with the same default value as before.

I made modifications based on your comment. Please let me know if it's good for you

Sorry for the delay. The changes look good. I'll get them merged soon.


Bad codegen for boolean reductions on thumbv7neon

Using cargo build --release --target thumbv7neon-unknown-linux-gnueabihf:
With packed_simd_2, this:
#[no_mangle]
#[inline(never)]
fn packed_any(s: m8x16) -> bool {
    s.any()
}

compiles to this:
00003e66 <packed_any>:
    3e66:       f960 0acf       vld1.64 {d16-d17}, [r0]
    3e6a:       ff40 0aa1       vpmax.u8        d16, d16, d17
    3e6e:       ec51 0b30       vmov    r0, r1, d16
    3e72:       4308            orrs    r0, r1
    3e74:       bf18            it      ne
    3e76:       2001            movne   r0, #1
    3e78:       4770            bx      lr
        ...

Previously when migrating from simd to packed_simd.
Meta
rustc --version --verbose:
rustc 1.55.0-nightly (b1f8e27b7 2021-07-15)
binary: rustc
commit-hash: b1f8e27b74c541d3d555149c8efa4bfe9385cd56
commit-date: 2021-07-15
host: armv7-unknown-linux-gnueabihf
release: 1.55.0-nightly
LLVM version: 12.0.1

stdsimd rev 715f9ac4e36ee303c3d464121ebb65df8f92416e

packed-simd uses specific arm instructions which we wont be able to do (since target_feature doesn't apply to std).  stdsimd uses an integer "or" reduction, so unfortunately LLVM doesn't know that the vector must contain only 0 or -1.  Perhaps we can add an intrinsic that does a truncation before the reduction and hope that it is smart enough to produce similar code.

Doesn't target_feature apply to std even when compiling std? I expected it to work when NEON-availability is part of the target as with thumbv7neon-unknown-linux-gnueabihf and not an application compile-time option.

Good point--i missed the neon in the target.  It would work for this particular target, but not for any other arm target that doesn't have neon baked in (even if using the target_feature attribute or compiler flag).  I'm guessing other architectures likely see a similar codegen issue, as well.

packed-simd uses specific arm instructions which we wont be able to do (since target_feature doesn't apply to std). stdsimd uses an integer "or" reduction, so unfortunately LLVM doesn't know that the vector must contain only 0 or -1. Perhaps we can add an intrinsic that does a truncation before the reduction and hope that it is smart enough to produce similar code.

LLVM produces better code if truncating to i1 first, but it's still waay worse than packed-simd:
https://llvm.godbolt.org/z/3v71P9Wdo
reduce_or:
        vorr    d16, d1, d0
        vzip.8  d16, d17
        vorr    d16, d17, d16
        vmov.u16        r0, d16[0]
        vmov.32 d17[0], r0
        vmov.u16        r0, d16[1]
        vmov.32 d17[1], r0
        vmov.u16        r0, d16[2]
        vmov.32 d18[0], r0
        vmov.u16        r0, d16[3]
        vmov.32 d18[1], r0
        vorr    d16, d18, d17
        vmov.32 r0, d16[0]
        vmov.32 r1, d16[1]
        orr     r0, r1, r0
        and     r0, r0, #1
        bx      lr

It would work for this particular target, but not for any other arm target that doesn't have neon baked in (even if using the target_feature attribute or compiler flag).

The thumbv7neon-* targets exist precisely to address this problem: To allow things to perform better than after-the-fact +neon by baking NEON in at std compile time.

We actually use the reduce-or intrinsics which does exceptionally poorly: https://llvm.godbolt.org/z/aEha7dh5b

It would work for this particular target, but not for any other arm target that doesn't have neon baked in (even if using the target_feature attribute or compiler flag).

The thumbv7neon-* targets exist precisely to address this problem: To allow things to perform better than after-the-fact +neon by baking NEON in at std compile time.

Yes, it does, but that doesn't help for anyone who wants to runtime check for neon.  It looks to me like this is a case that should be built into the LLVM reduce-or intrinsic for i1.

Yes, it does, but that doesn't help for anyone who wants to runtime check for neon. It looks to me like this is a case that should be built into the LLVM reduce-or intrinsic for i1.

Ideally, yes, but in the interim, it would be great to have a core_simd level conditionally-compiled implementation the produces the same instructions as the same reduction in simd and in packed_simd.

That's a possibility, but I'm concerned about special casing every codegen issue for every target (this is certainly not the only one) and having a heap of target-specific code getting in the way of making stdsimd actually portable and stable.  At a minimum we should also report this to LLVM (it may be relevant to more targets than just armv7)

I agree that reporting to LLVM makes sense and that it's problematic to have a lot of conditional target-specific code. However, another point of view is that if the application programmer can't trust that core::simd compiles to the best instructions, the value proposition for portable SIMD in generally suffers. I think it's less bad to put the target-specific code in core::simd than e.g. in encoding_rs.

I would argue that even with the sometimes-enabled target specific code, it still can't be trusted to compile to the best instructions.  Regardless, I opened https://bugs.llvm.org/show_bug.cgi?id=51122.  It appears there was a similar issue on x86-64 a couple years ago, but that was fixed.

I was able to fix the codegen on Aarch64 by implementing any as self.to_int().horizontal_min() == -1, but this still fails on ARM and produces:
reduce_or:
 push    {r4, r5, r6, r7, r11, lr}
 vld1.64 {d16, d17}, [r0]
 vmin.s8 d16, d16, d17
 vmov.u8 r0, d16[0]
 vmov.u8 r1, d16[1]
 vmov.u8 r2, d16[2]
 vmov.u8 r3, d16[3]
 vmov.u8 r12, d16[4]
 vmov.u8 lr, d16[5]
 vmov.u8 r4, d16[6]
 vmov.u8 r5, d16[7]
 lsl     r0, r0, #24
 lsl     r1, r1, #24
 asr     r6, r0, #24
 asr     r7, r1, #24
 cmp     r6, r1, asr, #24
 asrlt   r7, r0, #24
 lsl     r0, r2, #24
 cmp     r7, r0, asr, #24
 asrge   r7, r0, #24
 lsl     r0, r3, #24
 cmp     r7, r0, asr, #24
 asrge   r7, r0, #24
 lsl     r0, r12, #24
 cmp     r7, r0, asr, #24
 asrge   r7, r0, #24
 lsl     r0, lr, #24
 cmp     r7, r0, asr, #24
 asrge   r7, r0, #24
 lsl     r0, r4, #24
 cmp     r7, r0, asr, #24
 asrge   r7, r0, #24
 lsl     r0, r5, #24
 cmp     r7, r0, asr, #24
 asrge   r7, r0, #24
 and     r0, r7, #255
 sub     r0, r0, #255
 clz     r0, r0
 lsr     r0, r0, #5
 pop     {r4, r5, r6, r7, r11, pc}

LLVM does not seem to be aware of vpmin at all.

We changed some stuff around and LLVM is now LLVM 13. No action on the bug, but is this still an issue today?

I just checked godbolt and yes, it's still an issue (for both armv7 and aarch64).

We've been concerned about this kind of thing for a while, it's... part of what the whole mask representation arguments were about near the start (and this looks somewhat like my examples of LLVM doing bad things from back then 😬).
While I'm unsure we need to be above a target-specific fix (libcore even has these in the scalar numerics, after all), it sounds like this is not just an arm problem... (the indication I'm getting is that this is bad on several targets)
Boolean reductions are a super common operation. Do... we actually have a feeling this is fixable? (Perhaps with a new intrinsic which is UB to use if the input is not a mask type?)

The issue doesn't really have anything to do with our mask representation, but LLVM not lowering well.  The x86 backend has special logic for boolean reductions, and either that logic needs to be pushed up to all targets, or ported to all targets.

This issue is now tracked at https://github.com/llvm/llvm-project/issues/50466

Hrm. I think I would to know slightly more about how our highly generic code gets included in crates from std, if at all, since we mark as many things #[inline] as possible, before addressing this. The code generated is obviously bad, I am just wary about going off only one test example. And one alternative we haven't discussed is the possibility of tweaking the LLVM IR we emit more directly.
If we did solve it here, we might have to do so as a specialization on a length...
https://rustc.godbolt.org/z/9sEo9GPWY

Mmm, I did some investigation and I have begun to doubt that it's worth fixing this in std::simd before codegen, precisely because this IS a super common operation.
You see, miri attempts to run std's tests, so miri needs to be able to manage what we do in tests. We could do an end-run around miri and give more explicit directions in LLVM lowering, but we shouldn't really bother at the library level. And then whatever fix we implemented by manipulating LLVMIR would be better off upstreamed.

FWIW, this wouldn't be the first code in the stdlib that does #[cfg(miri)] to perform an optimization that miri doesn't support (or even does support, except under stricter MIRIFLAGS).
It's also not really that much worse than tweaks made in other places in libcore -- for example, https://github.com/rust-lang/rust/blob/master/library/core/src/num/uint_macros.rs#L1645-L1657 was tuned to match what some specific LLVM vectorization pattern looks for.
IOW I'm not sure there's any reason to favor purity over practicality here... People expect the stdlib to contain the gross hacks so they don't need to, especially for common operations (but also less common ones that are big enough wins, like with that abs_diff).

Well, the abs_diff is an x86-specific thing, and plausibly should have been cfged that way.
But more broadly: Fair enough -- Historically "this is an LLVM codegen bug" tends to imply things won't get fixed until an LLVM dev cares enough to fix it on their end.

I mean, LLVM should fix it, but on our end, we can emit a sequence of llvm.aarch64.neon.{s,u}minp.v{4,8,16}.i{8,16,32} intrinsics when we recognize that the compilation target is aarch64 and we have an applicable vector.
Someone else will probably have to upstream it, though.
I can program in JavaScript, Rust, x86 Assembly, and LLVMIR, not C++.

As always, compile time detection is only somewhat useful as many applications want runtime detection.

That's true. I'll take the partial win, though.

I fixed this in https://github.com/llvm/llvm-project/commit/71dc3de533b9247223c083a3b058859c9759099c via rust-lang/rust#114048 but oddly enough, the optimization only occurs without -Copt-level=3
https://rustc.godbolt.org/z/a7njqsocr

https://rustc.godbolt.org/z/a7njqsocr

it looks like the optimizer is converting the reductions to a bitcast and compare, so to get it to work you'll need to special-case that too in instruction selection (or wherever else in the Arm backend)

Ah, you're right, I thought I made that change too but it was only for wasm.

I fixed this in llvm/llvm-project@71dc3de via rust-lang/rust#114048 but oddly enough, the optimization only occurs without -Copt-level=3
https://rustc.godbolt.org/z/a7njqsocr

Looks like the bad codegen also occurs with lower opt-levels.

Since packed_simd doesn't work with rustc anymore, I need to migrate encoding_rs in Firefox to core::simd. To enable that without regressing performance, I published a workaround crate for this bug. (It's great that apart from this bug core::simd works. Thank you!)


Revision within "rc_quaternion_to_rotation_matrix"

Within file "rc_quaternion.c", and within function "rc_quaternion_to_rotation_matrix".
The calculation for the direction cosine matrix is incorrect.  The upper and lower triangles are not pure reflections of one another, and the signs are opposite for the upper triangle.
Current code:
// compute upper triangle
m->d[0][1] = 2.0f * (q.d[1]*q.d[2] - q.d[0]*q.d[3]);
m->d[0][2] = 2.0f * (q.d[1]*q.d[3] + q.d[0]*q.d[2]);
m->d[1][2] = 2.0f * (q.d[2]*q.d[3] - q.d[0]*q.d[1]);
// mirror lower triangle
m->d[1][0] = m->d[0][1];
m->d[2][0] = m->d[0][2];
m->d[2][1] = m->d[1][2];
Revised code:
// compute upper triangle
m->d[0][1] = 2.0f * (q.d[1]*q.d[2] + q.d[0]*q.d[3]);
m->d[0][2] = 2.0f * (q.d[1]*q.d[3] - q.d[0]*q.d[2]);
m->d[1][2] = 2.0f * (q.d[2]*q.d[3] + q.d[0]*q.d[1]);
// compute lower triangle
m->d[1][0] = 2.0f * (q.d[1]*q.d[2] - q.d[0]*q.d[3]);
m->d[2][0] = 2.0f * (q.d[1]*q.d[3] + q.d[0]*q.d[2]);
m->d[2][1] = 2.0f * (q.d[2]*q.d[3] - q.d[0]*q.d[1]);

fixed in commit 592681bdf3ae4d2fc3514517e46329ef1e35997e