Status updates

In lieu of a development blog or similar, I'll use this issue to summarize recent changes. I'm only able to spend a few days per week on this project right now, so the update cadence shouldn't be too fast. Anybody, feel free to comment here or open other issues.
12 February
Just to summarize from the last few weeks...

After you draw a neighbourhood boundary, the "interior" roads where you can add modal filters, see shortcuts, etc should be much more accurate, as of 9 Feb. If you draw a boundary and see red shortcut roads along the perimeter or in unexpected places, please file an issue
The "view shortcuts" page sorts the shortcuts by "likelihood", showing less unrealistic ones last
I started using https://picocss.com/ for styling, and am trying to be consistent about UI patterns. The top bar has breadcrumb navigation that hopefully makes the flow through the app clear. The top right of that has links to the next pages. I'm trying to consistently use links as navigation to different pages / modes, and buttons for actions that don't change the current mode.
Around Feb 2, I added a geocoder and basemap switcher. The different basemaps are buggy, because getting the Z-ordering correct is tough -- need to do something totally different for each basemap, since they use different layer names for things like buildings / land use polygons / road labels.

The biggest next thing I want to start is detecting existing modal filters from OSM, and making sure that works correctly with the edits  / undo tools.

Thanks for opening this issue.
I'm not quite sure if turn restrictions are already implelmented ?
Also, handling the key "https://wiki.openstreetmap.org/wiki/Key:priority" will be quite useful in Europe with our old streets that have narrow sections where there is alternate priority (it's ahint that the way is narrow and that cars drivers have to stop and wait to let other cars drivers exit the section before they can drive through it, so it's not as good as a modal filter, but it's definitely a bottleneck and though trafic is relatively limited)

I'm not quite sure if turn restrictions are already implemented ?

Changing one-way directions or viewing / editing turn restrictions aren't even started. Turn restriction editing is hard and I probably won't get to it for quite a while. In the classic version of the tool, is the editing working well for your cases so far?

Also, handling the key "https://wiki.openstreetmap.org/wiki/Key:priority"

What should the tool do with this? Driving both directions is possible, just not as likely, so for the shortcut calculation, we could make it less likely, and maybe highlight that road and warn the user that any shortcuts using this section of road might be less likely. But beyond that, should it affect anything?

do you have any inputs on what would help you move faster on this project ? Even if the anwser is something like "funding" or "serious UX/UI bandwidth"

4 days per week are dedicated to other projects at least for the next year for me. I have the flexibility of mostly focusing on this tool for my 5th day, and on some weekends I've been doing a bit. But that's just not very much time, and having a 4 day break between working on it is tough. So to move faster, the main thing is a programmer who could work on this. I can help/guide/review PRs during the 4 days, but only focus on the 5th day every week. Luckily with this rewrite, the technical skills should be much easier to fulfill -- if you know anybody who's a frontend developer (TypeScript, Svelte, MapLibre GL), even if they didn't know how the backend is going to work at all, they could make things like the turn restriction editing UIs and everything else. (And in fact, lots of the hard parts of this are UI problems.) The "backend" logic would need someone happy to write Rust and learn about OpenStreetMap and some routing algorithms.

I'm not quite sure if turn restrictions are already implemented ?

Changing one-way directions or viewing / editing turn restrictions aren't even started. Turn restriction editing is hard and I probably won't get to it for quite a while. In the classic version of the tool, is the editing working well for your cases so far?

From what I remember, the features in the classic version are great (I'm just stuck with some areas where I hit known limitations of the tool)

Also, handling the key "https://wiki.openstreetmap.org/wiki/Key:priority"

What should the tool do with this? Driving both directions is possible, just not as likely, so for the shortcut calculation, we could make it less likely, and maybe highlight that road and warn the user that any shortcuts using this section of road might be less likely. But beyond that, should it affect anything?

That's a bit like what I had in mind. Maybe have some sort of coefficient to reduce the likelyhood of the path being a shortcut?

do you have any inputs on what would help you move faster on this project ? Even if the anwser is something like "funding" or "serious UX/UI bandwidth"

4 days per week are dedicated to other projects at least for the next year for me. I have the flexibility of mostly focusing on this tool for my 5th day, and on some weekends I've been doing a bit. But that's just not very much time, and having a 4 day break between working on it is tough. So to move faster, the main thing is a programmer who could work on this. I can help/guide/review PRs during the 4 days, but only focus on the 5th day every week. Luckily with this rewrite, the technical skills should be much easier to fulfill -- if you know anybody who's a frontend developer (TypeScript, Svelte, MapLibre GL), even if they didn't know how the backend is going to work at all, they could make things like the turn restriction editing UIs and everything else. (And in fact, lots of the hard parts of this are UI problems.) The "backend" logic would need someone happy to write Rust and learn about OpenStreetMap and some routing algorithms.
Edit: and besides those two developer skills, if you know anybody UXish who could wireframe how the app should work (especially as complexity creeps back in with one-ways, turn restriction editing, autosaving edits, comparing proposed edits, etc), that would be immensely helpful, because then I can stop figuring this kind of thing out as I go along

I don't have specific idea in mind, but I believe it helps to have these needs laid down and visible to other people.
Also, in case I come across someone who could help on the project, now I won't hesitate to mention it to them :)

16 February
Two big chunks done today. First, existing modal filters from OSM are detected now. You can delete or modify them, add new ones, etc and the savefile handles everything properly, only storing changes. If the OSM basemap later changes, when you load your savefile, the right thing should happen. Existing filters are drawn kind of faded, similar to the v1 tool. BIg limit here is that the detection of existing filters is simple right now -- it's just looking for barrier nodes. There are both false positives and false negatives in areas I've checked. Will keep working on it, but if anybody notices any egregious errors, please comment in #6 with at least a link to the area in OSM.
And second, one-way handling is more or less working. There's a new tool in the edit page to toggle for any road. The UI is clunky, but that kind of polish can happen later (and preferably when I find some design help!). @rouelibre1 let me know if this any problems.
I have a few thoughts about what to try next. Since turn restrictions are useful, I might start them.

It depends on the basemap. The default MapTiler dataviz doesn't show them:

If you change the settings at the top to Streets, then it does:

But actually, I might disable those arrows on the basemap always, because they're fixed, unrelated to the user edits. When you are editing a particular neighbourhood, you should see one-way arrows rendered by the app. Would those be useful to see on all modes of the app?

2 March
Big change to the title screen and overall flow through the app. Everything you do is wrapped as a "project" -- the area you import from OSM, the neighbourhood boundaries you draw, and any edits you make. Everything is auto-saved. It should hopefully be much easier now to continue work from a previous session.
I also filled out a bunch of GH issues to track work. I think https://github.com/dabreegster/ltn/milestone/1 is the minimal amount before I'm going to nudge people from the old version of the tool towards this one.

(and preferably when I find some design help!)

@dabreegster do you still need design help ?
I don't have a solution, but I could try to find some options

Hi! I've restarted some work here, aiming to first get feature parity with the v1 tool and replace it properly with this. Help with design is still probably the most useful, if you know anybody who'd be interested in helping, please send them along!


Training fails after step 900

train_stops_step_901.txt
I'm running the nmt_small.yml model on a cluster with 3 Titan Black GPUs with TF version 1.0.1, and consistently running into issues around step 900. The issue actually seems to have to do with an evaluation that occurs between steps 900-1000.
INFO:tensorflow:Starting evaluation at 2017-03-26-16:21:57
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX TITAN Black, pci bus id: 0000:03:00.0)
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:1) -> (device: 1, name: GeForce GTX TITAN Black, pci bus id: 0000:83:00.0)
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:2) -> (device: 2, name: GeForce GTX TITAN Black, pci bus id: 0000:84:00.0)
W tensorflow/core/framework/op_kernel.cc:993] Out of range: Reached limit of 1
	 [[Node: parallel_read/filenames/limit_epochs/CountUpTo = CountUpTo[T=DT_INT64, _class=["loc:@parallel_read/filenames/limit_epochs/epochs"], limit=1, _device="/job:localhost/replica:0/task:0/cpu:0"](parallel_read/filenames/limit_epochs/epochs)]]
W tensorflow/core/framework/op_kernel.cc:993] Out of range: Reached limit of 1
	 [[Node: parallel_read_1/filenames/limit_epochs/CountUpTo = CountUpTo[T=DT_INT64, _class=["loc:@parallel_read_1/filenames/limit_epochs/epochs"], limit=1, _device="/job:localhost/replica:0/task:0/cpu:0"](parallel_read_1/filenames/limit_epochs/epochs)]]
W tensorflow/core/framework/op_kernel.cc:993] Invalid argument: Tried to read from index 46 but array size is: 46

I am debugging but wanted to report in case it's an easy fix for someone more familiar with the code. I have attached a more complete error log in case it's helpful.

Duplicate of #103


Grafana v8.4.2 Hkube services dashboard shows no data

Neither expr from v6 or v7 work,
6 - > "count(mixin_pod_workload{workload="
7 -> "count(namespace_workload_pod:kube_pod_owner:relabel{workload="
In prometheus  gui, search for an alternative metric that notes the status of pods existance

https://github.com/kubernetes/kube-state-metrics#setup is not installed for our clients, so no metrics are being reported.


unusably slow with a few thousand lines

I was trying to do some bulk editing with cursorless today and found that it becomes unusably slow when it's operating on a bunch of lines (in this case, about 3,236 of them).
Here's a sample (file contents) of the UX:
https://github.com/cursorless-dev/cursorless/assets/67496/c9c5d9c5-8dfb-40bd-8340-fa8364dcf2f0

Did a tiny bit of profiling. "take every line" spends almost all its time in:
function uniqTargets(array: Target[]): Target[] {
  return uniqWith(array, (a, b) => a.isEqual(b));
}

evaluating isEqual. Note that evaluating isEqual involves allocation:
protected getEqualityParameters(): Omit<TParameters, "thatTarget"> {
    const { thatTarget, ...otherCloneParameters } = this.getCloneParameters();

    return {
      ...otherCloneParameters,
    };
  }

Still, at that slow, I wonder whether uniqWith is doing a quadratic number of comparisons.

Yep. When there is a comparator, it is quadratic. 😢
https://github.com/lodash/lodash/blob/2da024c3b4f9947a48517639de7560457cd4ec6c/.internal/baseUniq.js#L20
(And they know this, because they switch to a set based implementation when there is no comparator, and the array is "large".)

And each comparison allocates and recurses. (The root cause is being quadratic, but I'm sure that none of that helps.) https://github.com/epoberezkin/fast-deep-equal claims to be some 5x faster at isEqual, but that 5x will get eaten up at double the lines.

This diff cuts the runtime to about 5s. Still too slow. And also even I can tell it's the wrong approach.
I know how I'd fix this in Go. I'm out of my depth in typescript. Will have to wait for backup.
diff --git a/packages/cursorless-engine/src/processTargets/TargetPipelineRunner.ts b/packages/cursorless-engine/src/processTargets/TargetPipelineRunner.ts
index c5f147d8..80a7a774 100644
--- a/packages/cursorless-engine/src/processTargets/TargetPipelineRunner.ts
+++ b/packages/cursorless-engine/src/processTargets/TargetPipelineRunner.ts
@@ -5,7 +5,7 @@ import {
   Range,
   ScopeType,
 } from "@cursorless/common";
-import { uniqWith, zip } from "lodash";
+import { sortBy, sortedUniqBy, uniqWith, zip } from "lodash";
 import {
   PrimitiveTargetDescriptor,
   RangeTargetDescriptor,
@@ -287,7 +287,8 @@ function calcIsReversed(anchor: Target, active: Target) {
 }

 function uniqTargets(array: Target[]): Target[] {
-  return uniqWith(array, (a, b) => a.isEqual(b));
+  const sorted = sortBy(array, (target) => target.contentRange);
+  return sortedUniqBy(sorted, (a) => a.getEqualityParameters());
 }

 function ensureSingleEditor(anchorTarget: Target, activeTarget: Target) {
diff --git a/packages/cursorless-engine/src/processTargets/targets/BaseTarget.ts b/packages/cursorless-engine/src/processTargets/targets/BaseTarget.ts
index da49eb96..5d3c5216 100644
--- a/packages/cursorless-engine/src/processTargets/targets/BaseTarget.ts
+++ b/packages/cursorless-engine/src/processTargets/targets/BaseTarget.ts
@@ -172,7 +172,7 @@ export default abstract class BaseTarget<
    *
    * @returns The object to be used for determining equality
    */
-  protected getEqualityParameters(): Omit<TParameters, "thatTarget"> {
+  getEqualityParameters(): Omit<TParameters, "thatTarget"> {
     const { thatTarget, ...otherCloneParameters } = this.getCloneParameters();

     return {
diff --git a/packages/cursorless-engine/src/typings/target.types.ts b/packages/cursorless-engine/src/typings/target.types.ts
index c0a34f06..bf093e36 100644
--- a/packages/cursorless-engine/src/typings/target.types.ts
+++ b/packages/cursorless-engine/src/typings/target.types.ts
@@ -161,6 +161,7 @@ export interface Target {
   /** Constructs removal edit */
   constructRemovalEdit(): EditWithRangeUpdater;
   isEqual(target: Target): boolean;
+  getEqualityParameters(): any;
   /**
    * Construct a destination  with the given insertion mode.
    * @param position The insertion modes to use, eg `before`, `after`, `to`

I have a new idea to try tomorrow. Do an initial partition by content range, and then do uniquewith for every array of targets with identical content ranges (with length > 1). Since it will be much harder to get a large set of targets with identical content ranges than just a large set of targets, that should make this almost always linear.


in package manager, handle error when a user specifies an invalid package name or version

If a user uses the "+ Add a package" button to manually add an unlisted item and it fails, we should try to determine and handle the REASON for it failing.

Does it not exist?
Does the specified version not exist?

Then, we should ideally put inline validation, but if not, at least a nicer error as sseen below.

This is a follow-on to #6072


Cluster Name not Configured in Openstack OCCM

Wen creating multiple kubeone cluster in one openstack tenant. We could run i a load balancer issue, if we use the same namespace/service name combination in both.
Then both LB have the same name and will be grabbed by both cloud provider
There is a option int the openstack controller --cluster-name which would solve that problem, as cluster name is part of the lb name.
This is already implemented for azure, aws and the cinder provider.
So we would need this for the cloud provider too.

/reopen
We still need to cherry-pick this to the release/v1.3 branch.


Update dev environment to use Python 3.13

[x] Update Django manually first to avoid bigger issues there
[ ] Recreate Requirements to match Python 3.13

Looks like Psycogp2/Psycogp2-binary  is still waiting for the Windows packages as of today, so can't install yet


ray_ground_filter can not remove ground points

Checklist

[X] I've read the contribution guidelines.
[X] I've searched other issues and no duplicate issues were found.
[X] I'm convinced that this is not my fault but a bug.

Description
test with pointcloud whose frame is not base_link
when set frame_id to base_link https://github.com/autowarefoundation/autoware.universe/blob/main/perception/ground_segmentation/src/ray_ground_filter_nodelet.cpp#L62
it removes ground points correctly

when set frame_id to velodyne_top
it can not remove ground points correctly

Expected behavior
remove ground points correctly when start ray_ground_filter with param frame_id set to a value which is not base_link
Actual behavior
it can not remove ground points correctly if do not transform pointcloud to base_link frame
Steps to reproduce
currently there is no a launch file like scan_ground_filter.launch.py in autoware.  i found this issue when writing test program for ground_segmentation.
if u wanna reproduce this, u can test with a bag whose frame is not base_link, and start ray_ground_filter with frame_id setted same with frame in bag.
Possible causes
when compare current_height with general_height_threshold,
https://github.com/autowarefoundation/autoware.universe/blob/main/perception/ground_segmentation/src/ray_ground_filter_nodelet.cpp#L244-L245
there is an implicit assumption, current_height is height from a fake flat ground。
however now current_height comes from z. https://github.com/autowarefoundation/autoware.universe/blob/main/perception/ground_segmentation/src/ray_ground_filter_nodelet.cpp#L223
so if z is value in base_link frame which is actually on ground, it classify ground points correctly。 if z is value in velodyne_top which is a frame on top  of car, it can not classify correctly.
Additional context
we can add a param like z_offset to tell the height of input pointcloud frame to the flat ground. and refer to z_offset when calculate current_height

@storrrrrrrrm Thanks for creating this issue. As you mentioned, ray ground filter requires the output frame to be base_link implicitly.
Even though, it seems a bit odd to add a z_offset parameter since tf should be used for coordinate transformation.

I think this is the expected behavior of the ray_ground_filter. Why do you want to run it in a different frame?
The way it uses the frame is, it knows where to initialize the ground plane from.

I think this is the expected behavior of the ray_ground_filter. Why do you want to run it in a different frame?
The way it uses the frame is, it knows where to initialize the ground plane from.

it is ok for me that  if ray_ground_filter works only when frmae_id is base_link.  just found that scan_ground_filter has no such limitiation when add test case.  you can have a look at https://github.com/autowarefoundation/autoware.universe/pull/1401
if designed to be worked with base_link only, maybe it is better to set base_frame to a const value in code rather than a ros parameter, or just add some explanation in ray-ground-filter.md :smile:

@storrrrrrrrm
There is another way If you want to test separately ground filter with your non-base_link rosbag. You can run autoware with your pointcloud rosbag and remap pointcloud topic to the ground_filter's input topic like:
ros2 bag play your_rosbag --remap /your/velodyne_top/pointcloud =/perception/obstacle_segmentation/range_cropped/pointcloud
Since current ground_filter processes pointcloud after crop_box so it is better to remap to crob_box_filter's input:
ros2 bag play your_rosbag --remap /your/velodyne_top/pointcloud:=/sensing/lidar/concatenated/pointcloud
you can select ray_ground_filter by replace ScanGroundFilterComponent here: https://github.com/autowarefoundation/autoware.universe/blob/abaea407741d347f6a77761d9b71f31f66db722c/launch/tier4_perception_launch/config/obstacle_segmentation/ground_segmentation/ground_segmentation.param.yaml#L17
Please make sure adding base_frame parameter into setting file.
As my testing on the top lidar extracted from sample-rosbag , ray_ground_filter also worked.
Ray ground filter test:

Scan_ground_filter test:

Note: using current ray_ground_filter without crop_box_filter will show quite different result:

@storrrrrrrrm

if designed to be worked with base_link only, maybe it is better to set base_frame to a const value in code rather than a ros parameter

I agree with this. Could you make change for it in this PR

@storrrrrrrrm

if designed to be worked with base_link only, maybe it is better to set base_frame to a const value in code rather than a ros parameter

I agree with this. Could you make change for it in this PR

sure，just one question,where is 'this PR',when i click this,it jumps to https://github.com/autowarefoundation/autoware.universe/issues/url

oops, sorry. I mean your PR.
https://github.com/autowarefoundation/autoware.universe/pull/1401

@storrrrrrrrm The mentioned PR only adds the test and this issue still needs to be resolved right?

if designed to be worked with base_link only, maybe it is better to set base_frame to a const value in code rather than a ros parameter
base_link could have a different name. e.g. in Carla simulator it's hero. So IMHO this parameter should be configurable.

@storrrrrrrrm The mentioned PR only adds the test and this issue still needs to be resolved right?

no, i added a z_offset and solved this issue  already in #1401, but  @miursh  thought it is odd and it is better to set base_frame to a const value,@badai-nguyen pointed a way to test ray_ground_filter without using unit test,i did not try this since recently i am busy with somthing else.

I checked the code, but this base_frame parameter is not originally needed. because it is supported in filter.cpp as input_frame .
Also, ray ground filter and scan ground filter assume to work on base_link frame.
So, we need to remove base_frame and input_frame is fixed base_link.


Support nested experiment more friendly

fix issue https://github.com/microsoft/nni/issues/2513
now only support choice type
demo: http://<IP_ADDRESS>:9090/detail

layer0 yAxis had have Empty choice, delete null;
yAxis pooling_size had renamed Avg_pool_pooling_size


[sveltekit-pod] Issue Page loader: remove sequential awaits

File: svelte-kit-scss/src/routes/(authenticated)/[username]/[repo]/[issueSearchType=issue_search_type]/+page.server.ts

remove sequential awaits
Discussion:
https://github.com/thisdot/starter.dev-github-showcases/pull/953#discussion_r1031816794
Related SvelteKit feature:
https://kit.svelte.dev/docs/load#promise-unwrapping

Fixed in f65ade1c37c4b6836601ee2412364191c212a629


Update text docs: transparency + wrap

Add missing properties to text API docs:

transparency
wrap

These are already supported by the lib, but were still missing from the documentation.

Thanks @tjinauyeung !


Multiple Tiled layers not loaded correctly due to loop variable reuse

Loop variable i is used for the outer loop:
https://github.com/photonstorm/phaser/blob/c9c85330ab60547b39ba4c9400c258ed7fb2a317/src/tilemap/TilemapParser.js#L227
and for the inner loop:
https://github.com/photonstorm/phaser/blob/c9c85330ab60547b39ba4c9400c258ed7fb2a317/src/tilemap/TilemapParser.js#L244
In the middle of a game jam right now, no time for a PR, but should be easy to fix :)

Fixed via merge.


CMD needs to be defined if ENTRYPOINT is overriden

Problem description
The interaction between CMD and ENTRYPOINT is not fully described. Whenever you override ENTRYPOINT, CMD will be cleared. If you want to use the old CMD with a new ENTRYPOINT, you need to declare both in the new Dockerfile. As an example, take the PHP Dockerfile for fpm (stretch): https://github.com/docker-library/php/blob/master/7.2/stretch/fpm/Dockerfile. If you need to do something like changing the umask using the ENTRYPOINT, but you still want to use CMD ["php-fpm"], you need to declare both in the new Dockerfile. Declaring the ENTRYPOINT only will lead to PHP not executing at all, because the CMD (parameter for the ENTRYPOINT) won't exist.
Problem location
https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact
Project version(s) affected
Docker version 18.01.0-ce, build 03596f5
Suggestions for a fix

Thanks for opening this ticket.
Yes, this may need some additional documentation. Depending on when / where the ENTRYPOINT is overridden, the CMD is reset.
Overriding in the same buildstage / single Dockerfile
When changing the ENTRYPOINT in the same buildstage, the CMD is kept:
FROM busybox

CMD ["foo %d bar\n", "1"]
ENTRYPOINT ["echo"]
ENTRYPOINT ["printf"]

docker build --no-cache -t overridden .

Running the image shows that printf is used:
docker run overridden
foo 1 bar

As can be seen when inspecting the image:
docker inspect --format 'entrypoint: {{json .Config.Entrypoint}} cmd: {{json .Config.Cmd}}' overridden
entrypoint: ["printf"] cmd: ["foo %d bar\n","1"]

Overriding at runtime (--entrypoint)
When overriding at runtime, the CMD is reset
docker run --entrypoint="echo" overridden
# empty output (because CMD is reset)

A new cmd can be set by passing it as argument:
docker run --entrypoint="echo" overridden thisisthenewcommand
thisisthenewcommand

Overridding in a "child" image (FROM ..)
When building a new image that extends the original image, the CMD is reset:
FROM overridden
ENTRYPOINT ["echo"]

docker build --no-cache -t overridden2 .

Running the image shows that the CMD is reset
docker run overridden2
# empty output (because CMD is reset)

As can be seen when inspecting the image:
docker inspect --format 'entrypoint: {{json .Config.Entrypoint}} cmd: {{json .Config.Cmd}}' overridden2
entrypoint: ["echo"] cmd: null

Overriding in a multi-stage build
In a multi-stage build, the situation is the same as when building an image that extends (it just is being done in a single Dockerfile);
FROM busybox AS stage1

CMD ["foo %d bar\n", "1"]
ENTRYPOINT ["echo"]
ENTRYPOINT ["printf"]

FROM stage1
ENTRYPOINT ["echo"]

docker build --no-cache -t overridden3 .

Running the image shows that echo is used, but that the cmd is reset:
docker run overridden3
# empty output (because CMD is reset)

And, again, can be seen when inspecting the image:
docker inspect --format 'entrypoint: {{json .Config.Entrypoint}} cmd: {{json .Config.Cmd}}' overridden3
entrypoint: ["echo"] cmd: null

The Markdown file used to generate that page in the documentation can be found in the docker/cli repository; https://github.com/docker/cli/blob/master/docs/reference/builder.md
Perhaps you're interested in opening a pull-request to enhance the documentation?
/cc @gbarr01 if you have suggestions for wording to use 🤗

The ENTRYPOINT section in the run reference actually mentions the behaviour. (We still need to figure out how to deal with run reference vs docker run command-line reference: it's confusing to have both @gbarr01 )
Other locations that may need to mention this;

ENTRYPOINT section in the Dockerfile best practices
the docker run command line reference currently doesn't describe the flag
the docker create command line reference also currently doesn't describe the flag; possibly we could have a central location to describe it, and share between create and run

Closing this ticket due to its age, and the impending refactor. If you think this is in error, feel free to reopen. Thanks!


Add information on using font icons

I'm a little new to linux and I have figured this much out: to add a font icon to my config, I need to

download the font
list the font under the main config hearer, for example

[bar/mybar]
font-0 = FontAwesome:size=14:antialias=true;3

copy and paste the icon from some source on the web into the config file.

This works fine as long as you have a place where you can copy and paste the font. For example, Font Awesome provides a very helpful little cheatsheet. However, if such a cheat sheet does not exist, as in the case of Material Icons, things become more difficult.
My specific question is how to get those Material Icons into my config. My broader suggestion is to perhaps include some information on how to do this in your wiki, or at least a pointer to a web resource that provides more general instructions on how this works.

Look at the last paragraph in the wiki page 'Fonts':

GNOME Character Map - gucharmap - is a convenient utility for browsing selected fonts. Filter View > > By Unicode Block + Show only glyphs from this font and navigate to Private Use Area.

This tool lets you copy the individual chars from your font.

Yes gucharmap is the go-to tool for that :)
Also you can figure out the exact fontname that you need like this:
fc-list | grep -i <font>

Where <font> is part of the name of the font you are searching for. For example, if I run fc-list | grep -i awesome, I get this:
/usr/share/fonts/TTF/fontawesome-webfont.ttf: FontAwesome:style=Regular

Everything after the path and before the first colon is the name that you put into the polybar config.

Hmm... I must be missing something. When i do that, all the fonts are blank:

I think for FontAwesome you'll need to scroll down a bit for the first items to show up

That's it! I got it. Thank you.


Add gruvbox-light theme

Added Gruvbox color palette names as comments to the corresponding colors in the existing gruvbox-dark theme
Fixed the selection colors that were not yet Gruvbox-themed in the existing gruvbox-dark theme
Added gruvbox-light theme which is basically a copy of gruvbox-dark with color values re-mapped to the light version of the Gruvbox color scheme
Added screenshot and updated readme, so npm test succeeds

Thank you for contributing @schnerring!

Thanks for the quick merge. Can I expect a release for npm soon? 😊

Asking the hard question, huh? ;)
With this PR, we added two new themes since v1.7.0, so I think that warrants a new version. I'll try to get it published by tomorrow.

Lovely stuff, thanks!


Update license year range to 2016

Thanks a lot for this. Had to fix the broken build from master but now ready for a merge.


Filter time series with delta 0

Proposal
Currently there's no querying option that could allow to filter time series with delta 0 (no change between start and end of the selected time range)

Adding a filter to: https://prometheus.io/docs/prometheus/latest/querying/operators/#logical-set-binary-operators

by value
by delta

Maybe there's a way to achieve this behavior at the moment and I missed it, if so my apologies, thanks!

This seems more like a usage question, and it makes more sense to ask questions like this on the prometheus-users mailing list rather than in a GitHub issue. On the mailing list, more people are available to potentially respond to your question, and the whole community can benefit from the answers provided.


[Question]support ONNX opset 11

Hi I am wondering which triton server version is currently supporting onnx opset 11? thanks in advance!

Sorry, found this might be a useless question, I am closing it.


Update s3, sdk-core, sqs to 2.17.25

Updates

software.amazon.awssdk:s3
software.amazon.awssdk:sdk-core
software.amazon.awssdk:sqs

from 2.17.14 to 2.17.25.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "software.amazon.awssdk" } ]

labels: library-update, semver-patch

Superseded by #271.


[Feature] Padded page_index and page_number formatting options

Prerequisites

[x] Did you read FAQ section in readme.md?
[x] Did you test with the latest releases or commit ?
[x] Did you search for existing issues in Issues?

Description
Some image viewing software doesn't support natural sorting order - with parsing numerals and ordering pictures. It makes ordering of manga pages when viewing them - in pathological case - go 0; 1; 10; 100; 11; 12... which is disorienting
Sadly, I'm not always able to use sane image viewer, so pixivutil2-side workaround would be useful for this cases.
Please implement padded_page_index formatting that makes numbers go 000; 001; 002;... 009; 010 and so on.

it should pad with 0 and start from 1 if you use %page_number%
https://github.com/Nandaka/PixivUtil2/blob/master/PixivHelper.py#L233

example:
filenameMangaFormat = %searchTags%\%member_id% %member_token%\%R-18% %urlFilename% - %page_number% - %title%
result:

Oh. Maybe correct readme? There's nothing about padding in there right now


Session problem, in many actions

In to many actions like add product to cart from wishlist, delete from shoping cart, update profile, cancel order the session close and redirect to login, after login againthe actions is done, but almost all the time redirect to login before.

I could not reproduce this issue.


can't reproduce the results reported in paper (CoNSep)

Hey, I need help here. I tried to reproduce your results on consep dataset. Please correct me if the setting is not same as yours:

extract patches: 540 * 540_164 * 164
first stage 50 epochs with msge loss weight = 2 and all the rests are 1. Lr starts from 1e-4 and decays by 0.1 every 25 epochs. The "pretrained" model is ImageNet-ResNet50-Preact_pytorch.tar. batch_seze 8
second stage 50 epochs with msge loss weight = 2 and all the rests are 1. Lr starts from 1e-4 and decays by 0.1 every 25 epochs. The "pretrained" model is -1 (previous phase), batch_size 4
I am running the 'original mode'

My results especially for F1_m(around 0.27) which is the first type are very bad. I also tried different settings but none of them could achieve the number reported in your paper.

Hi @YangjiaqiDig please can you provide the F score that you achieve for all classes, not just F1_m

@simongraham

Here are the tensorboard for stage 2

Good to hear that your results are better with the correct patch extraction strategy.

We typically chose the best binary dice score as the selected epoch. However, this isn't necessarily the best thing to do. You may want to look at all dice scores to select your checkpoint.
Yes, you should compare the the PyTorch results if using this repository.

Thank you!! I'm closing this now


feat: add logging request body

Entropy shall log request_body along with other request related details.

@ishanarya0 let's ignore /ping path for this. so the logs won't be flooded with ping. we can even make it configurable.

@ishanarya0 let's ignore /ping path for this. so the logs won't be flooded with ping. we can even make it configurable.

this is done


Fix msvc warnings

The Microsoft C compiler at warning level 3 (/W3) complains about various integer casts. I assume microui doesn't intend to handle the cases where these casts would overflow. I think it's worth making the casts explicit, to express that this is the intended behavior.

MSVC showing the integer casting warning message because microui uses the wrong type-casting for strlen. strlen on both 32-bit and 64-bit in x86 and amd64 returns an unsigned long  but microui has unsigned as the type. See here.
There are other points I saw where microui uses that same wrong type for a specific purpose. MSVC explicitly sees microui as a C++ file thus it leads to explicit casting since C++ requires you to do so.


Software license issue

I think SHT3x.h and SHT3x.cpp are derived from https://github.com/Risele/SHT3x which is licensed under the GPL-3.0. If I understand the GPL correctly, this repository must be licensed  under the GPL-3.0 too.
Also, Button.h and Button.cpp are licensed under CC BY-SA 3.0, which means that this repository must be licensed  under the CC BY-SA 3.0.
CommUtil.h and M5Timer.h are licensed under LGPL-2.1 (strictly speaking, LGPL-2.1-only and LGPL-2.1-or-later). They cannot be distributed under MIT license.
Note: I love M5Stack products, but everyone must obey the software license...

I also really like M5Stack Hardware, but M5Stack Software is quite underwhelming so far tbh.
Please please up your software game m5stack!

@Gitshaoxiang ping

I ran grep -ri license . and found this library contains following licensed codes:

FreeType license: https://gitlab.freedesktop.org/freetype/freetype/-/blob/master/docs/FTL.TXT

src/base/*
src/freetype/*
src/ft2build.h
src/sfnt/*
src/smooth/*
src/truetype/*

MIT / BSD / FreeBSD license: https://github.com/Bodmer/TFT_eSPI/blob/master/license.txt

TFT_eSPI, Sprite.
This repository doesn't look contain the license notice for those files. Written as "see license in root directory" in source codes, but the license file in the root directory differs the original one.
Files in src/Fonts/* look also come from the same source.

BSD license: https://github.com/m5stack/M5EPD/blob/0.1.1/src/Fonts/GFXFF/license.txt

Those files look parts of TFT_eSPI.

3-clause BSD license: https://github.com/m5stack/M5EPD/blob/0.1.1/src/Fonts/GFXFF/TomThumb.h#L2

Tom Thumb 3x5 font.

MIT license: https://github.com/espressif/WROVER_KIT_LCD/blob/master/README.md

M5EPD_Canvas
Not so sure, but supposed so.
The copyright notice in that file looks broken. (No copyright holder)

MIT license: https://github.com/kikuchan/pngle/blob/master/LICENSE

pngle

MIT license: https://github.com/ricmoo/QRCode/blob/master/LICENSE.txt

qrcode

As far as I understand above licenses (but not so sure):

Missing copyright and license notices must be added to the repository.
Software using this library must have copyright notices for above licenses if they are distributed only in binary form.
Above licenses doesn't prevent this repository licensed under the MIT license, as copyright notices in sources are reachable from anyone.

Though, it would be better to have LICENSE clarify the licenses this library rely on.
Of course, licenses described in the description of this issue prevents this repository licensed under the MIT license.

thank you feedback. we are working to solve this problem now.


removes StaticObjectType flag from water objects.

https://github.com/GarageGames/Torque3D/issues/1458

I'm just waiting to see what other code this will break, haha. If there's nothing obvious it seems fine to me.

Only thing in particular that looked like it may at some point go hinky was the navmesh gen, and it seemed to work out ok anyway. since you wrote that, might be a good notion to re-review that subsection just in case @Areloch or I overlooked a case.


Atom never detects that updates are available

Description
My system never detects Atom updates and always requires me to manually check and update.
Steps to Reproduce

Click "Check for Update"

Expected behavior:
It should say an update is available.
Actual behavior:
It says I have the current version (1.31.2 at the moment)
Reproduces how often:
100%
Versions
You can get this information from copy and pasting the output of atom --version and apm --version from the command line. Also, please include the OS and what version of the OS you're running.
Atom    : 1.31.2
Electron: 2.0.7
Chrome  : 61.0.3163.100
Node    : 8.9.3
apm  2.1.1
npm  6.2.0
node 8.9.3 x64
atom 1.31.2
python 3.7.2
git 2.20.1
This is on OSX.
Additional Information
While I did mention a specific version (1.31.2) this is a recurring issue for me.

Have you already tried this @tedivm?
https://discuss.atom.io/t/i-am-unable-to-update-to-the-latest-version-of-atom-on-macos-how-do-i-fix-this/40054

I've confirmed that all of those folders are owners by the proper user (and already were).
That issue is a bit different than what I'm seeing- with that one a new update is detected but can't be downloaded. My issue is that the updates are never detected to begin with, even when clicking "check for update".

Yeah I think I've seen those instruction help in slightly different cases than documented but thanks for trying :+1:
It sounds like you've had this issue for a while so I assume you've just been manually installing Atom when there's a new release and the last release you manually installed was 1.31.2?  Did updates  work at some point for you and then stopped working?
If you install a more recent version of Atom but not the most recent (so install say 1.33.1), can you update to 1.34.0 from there or does it also say "No update available"?

Okay so my Atom install updated to 1.34, and then stalled again- it's been stuck there since.

Weirdly enough it looks like the new version tried to partially install but then failed, as it's showing up as an option in the dropdown for opening files but the newer version isn't working-

And as you can see here it thinks 1.34 was the most recent version-

I'm also seeing this on two separate laptops (with slightly different version numbers), so my guess is that this is more widespread of an issue than you realize but that people just aren't noticing it.

I'm also seeing this on Windows, next to failures that show the current version as well as telling me the latest version is 1.38.2, and that updating might fix the problem - but updating only provides a link to the GitHub release page, and it's not at all clear that customizations will carry over to a new manual install.

I'm getting this with 1.40.1 when 1.41 is actually available.

For historical perspective, issue #8265 seems to be the same basic issue, but has been locked down with instructions to open a new issue if reproducible.

This never got fixed, but I switched to vscode last month.

This never got fixed, but I switched to vscode last month.


Change tracking pageview step to be more specific

https://trello.com/c/ygYf9Whg/2162-functional-tests-are-failing-analytics-opt-out-tests-on-preview-and-staging
GOV.UK may send hit-only data to Google Analytics (see alphagov/frontend#2536), we need to update our tests to reflect this.
Thanks @karlbaker02 for helping triage and fix this.

Note that https://github.com/alphagov/frontend/pull/2536 is planned to be revered at some point, so this change will become unnecessary, but I think it's best to keep the test specific so we don't get caught out by any future changes.

Note that https://github.com/alphagov/frontend/pull/2536 is planned to be revered at some point, so this change will become unnecessary, but I think it's best to keep the test specific so we don't get caught out by any future changes.


Benchmark react-native-encryptify

@robertjchen @roryabraham
Details

Measured performance metrics are documented in this comment
Fixed Issues

$ https://github.com/Expensify/App/issues/30341
PROPOSAL:
Tests

[ ] Verify that no errors appear in the JS console

Offline tests

QA Steps

[ ] Verify that no errors appear in the JS console

PR Author Checklist

[ ] I linked the correct issue in the ### Fixed Issues section above
[ ] I wrote clear testing steps that cover the changes made in this PR

[ ] I added steps for local testing in the Tests section
[ ] I added steps for the expected offline behavior in the Offline steps section
[ ] I added steps for Staging and/or Production testing in the QA steps section
[ ] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[ ] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[ ] I included screenshots or videos for tests on all platforms
[ ] I ran the tests on all platforms & verified they passed on:

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

[ ] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[ ] I followed proper code patterns (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[ ] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I followed the guidelines as stated in the Review Guidelines
[ ] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] I verified that if a function's arguments changed that all usages have also been updated correctly
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

Measured performance
Web
KEMGenKeys: 5326.2000ms
KEMEncrypt: 3.5000ms
AESEncrypt: 0.3000ms
KEMDecrypt: 122.2000ms
AESDecrypt: 0.1000ms

Under Load: (encrypting/decrypting 100 times)
Encryption | Mean: 0.0850ms, Min: 0.0000ms, Max: 5.2000ms
Decryption | Mean: 0.0320ms, Min: 0.0000ms, Max: 0.2000ms

Under Load: (encrypting/decrypting 1000 times)
Encryption: Mean: 0.0273ms, Min: 0.0000ms, Max: 0.8000ms
Decryption: Mean: 0.0311ms, Min: 0.0000ms, Max: 0.5000ms

Under Load: (encrypting/decrypting 10000 times)
Encryption: Mean: 0.0215ms, Min: 0.0000ms, Max: 1.8000ms
Decryption: Mean: 0.0305ms, Min: 0.0000ms, Max: 46.4000ms

Updates on benchmarking of the E2E encryption library
I now added simple performance metrics for the react-native-encryptify library on all platforms. iOS and Android (native and mWeb) performance metrics are all recorded on simulators, so this might differ on physical devices. I'm going to add additional metrics for physical devices too.
On all web platforms we can see that load time of the .wasm file and function execution durations take longer than on native platforms. This is partly due to WebAssembly (Emscripten) itself, but also due to the fact, that in order to make these function calls async, we needed to move the execution of the WebAssembly part to a separate web worker.
The performance of KemGenKeys() also differs a lot. This may be due to the fact of the different OpenSSL implementations on different platforms. On iOS and Android, we currently use packages from the relevant package managers. On web platforms, we build OpenSSL manually (for WebAssembly).
I also added benchmarks for symmetrical AES functions under heavy load (AesEncrypt/AesDecrypt), since we might encrypt/decrypt a lot of messages in chats/reports with these functions. You can find metrics for 100, 1,000 and 10,000 simultaneous executions. This basically also means, that there are multiple Promises created and resolved simultaneously.
Lmk if there are any other benchmarks we might need or want!
@robertjchen @roryabraham

@robertjchen @roryabraham just added benchmarks for physical devices now too (iOS and Android)...
do we need release/production builds too?

Thanks, going to play with this locally! By release/production builds, do you mean built without debugging (with potential for more performance improvements)?

Closing this PR until we further continue working on E2E encryption


citation format string updated to resqpy 1.3

This change updates the format string which is written into every citation block. Such a change should be applied each time there is a major or minor change in the latest tag.

Codecov Report

Merging #218 (7a4d3bd) into master (003c0fd) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master     #218   +/-   ##
=======================================
  Coverage   49.02%   49.02%
=======================================
  Files          53       53
  Lines       25283    25284    +1
=======================================
+ Hits        12394    12395    +1
  Misses      12889    12889

Impacted Files
Coverage Δ

resqpy/model.py
65.91% <100.00%> (+0.02%)
:arrow_up:

Continue to review full report at Codecov.

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


Feature Request: max length of suggestions to show

It would be nice to have an option called e.g. ZSH_AUTOSUGGEST_SUGGESTION_MAX_SIZE or similar which limits the length of suggestions that can be shown.
I've had to mv some files with long path names and now every time I type mv I get a massive suggestion spanning more than the width of my 1080p monitor which I don't really want.
If we could limit the length of suggestions shown as well as being able to limit the buffer size for which to show suggestions that would be very helpful.

You may be interested in omitting those long mv commands from history. If you do, they won't be suggested by this plugin. Take a look at my comment here: https://github.com/zsh-users/zsh-autosuggestions/issues/425#issuecomment-492933081

Sorry am confused here, isn't this what you're looking for @JonnyHaystack
https://github.com/zsh-users/zsh-autosuggestions#disabling-suggestion-for-large-buffers

@her I believe that is based on the length of the text currently on the command line, not the length of the history items

Oh also I think I meant to post this comment on this issue instead

@JonnyHaystack that makes sense. Maybe the change is pretty straightforward, @ericfreese any suggestions on where to poke around in the code first? Perhaps a spec that tests around this type of functionality to maybe get started?
I know I'm personally worried about performance edge cases where a long line of text grinds things to a halt, but I've not experienced it yet. I can sometimes end up with fantastically long $ curl <foo> commands in my history and I love having them there :)

any suggestions on where to poke around in the code first? Perhaps a spec that tests around this type of functionality to maybe get started?

Sure, a spec sounds like a good place to start. I'd put it under https://github.com/zsh-users/zsh-autosuggestions/tree/master/spec/options/
A brute force way to implement would be to make the change in src/fetch.zsh. Something along the lines of:
[[ $#suggestion > $ZSH_AUTOSUGGEST_MAX_SUGGESTION_LENGTH ]] && unset $suggestion

Though that wouldn't be smart enough to give you the most recent command you ran that is under the length limit (if the last command you ran was too long, it would give you no suggestion at all). For that you'd need to get into modifying each suggestion strategy, which will get complicated, especially for completion strategy, which is pretty hard coded to only return the first completion result.

@JonnyHaystack @her Please try features/history-ignore branch (PR #456). I have yet to write tests, but I think it will work for your use case.
Say that you don't want suggestions for anything 50 chars or over:
ZSH_AUTOSUGGEST_HISTORY_IGNORE="?(#c50,)"

See docs for cN,M globbing flag: http://zsh.sourceforge.net/Doc/Release/Expansion.html#Globbing-Flags

Awesome, I'll give it a try later, thanks!

Merged to develop. Will go out with the next release.

Seems to work perfectly, thank you! :smiley:


Add support for parameter Groups and update dependencies

Updated dependencies via npm audit
Added support for parameter groups

Discovered a bug, will reopen after I fix it.


Improve Makefile.unix::context's dependencies

Summary
This pull request improves the dependencies for Makefile.unix::context rule.

include/math.h, include/float.h, include/stdarg.h, include/setjmp.h are only added to context's dependency if the Kconfig value is set. This prevents context from trying to make include/math.h only to find out there's no command to create the file.
Instead of executing $(CONTEXTDIRS) in a for loop in the context rule, $(CONTEXTDIRS) are added as a dependency to context and a rule is created to create the targets. Real files are used, to prevent needlessly rebuilding the same context over and over and over again.
Instead of making the directory staging, add it as an order-only dependency for context. this ensures the directory is only created if it doesn't exist.

Impact
Makes incremental builds faster. Makes make dependencies more correct by not including files that won't be created.
Testing
Tested by running:
(cd tools && ./configure.sh -a ../incubator-nuttx-apps stm32f3discovery:nsh)
make context

First time running context:
➜  incubator-nuttx git:(improve-make-context) time make context
make[1]: Entering directory '/home/user/code/fitbit/incubator-nuttx/tools'
make[1]: Leaving directory '/home/user/code/fitbit/incubator-nuttx/tools'
make[1]: Entering directory '/home/user/code/fitbit/incubator-nuttx'
make[2]: Entering directory '/home/user/code/fitbit/incubator-nuttx/boards'
make[2]: Leaving directory '/home/user/code/fitbit/incubator-nuttx/boards'
make[2]: Entering directory '/home/user/code/fitbit/incubator-nuttx-apps'
make[3]: Entering directory '/home/user/code/fitbit/incubator-nuttx-apps/platform'
make[3]: Leaving directory '/home/user/code/fitbit/incubator-nuttx-apps/platform'
make[3]: Entering directory '/home/user/code/fitbit/incubator-nuttx-apps/builtin'
make[3]: Leaving directory '/home/user/code/fitbit/incubator-nuttx-apps/builtin'
make[2]: Leaving directory '/home/user/code/fitbit/incubator-nuttx-apps'
make[2]: Entering directory '/home/user/code/fitbit/incubator-nuttx/graphics'
make[3]: Entering directory '/home/user/code/fitbit/incubator-nuttx/graphics/nxglib'
make[3]: Leaving directory '/home/user/code/fitbit/incubator-nuttx/graphics/nxglib'
make[3]: Entering directory '/home/user/code/fitbit/incubator-nuttx/graphics/nxglib'
make[3]: Leaving directory '/home/user/code/fitbit/incubator-nuttx/graphics/nxglib'
make[3]: Entering directory '/home/user/code/fitbit/incubator-nuttx/graphics/nxglib'
make[3]: Leaving directory '/home/user/code/fitbit/incubator-nuttx/graphics/nxglib'
make[2]: Leaving directory '/home/user/code/fitbit/incubator-nuttx/graphics'
make[1]: Leaving directory '/home/user/code/fitbit/incubator-nuttx'
Create .version
make[1]: Entering directory '/home/user/code/fitbit/incubator-nuttx/tools'
make[1]: Leaving directory '/home/user/code/fitbit/incubator-nuttx/tools'
Create version.h
LN: include/arch to arch/arm/include
LN: include/arch/board to /home/user/code/fitbit/incubator-nuttx/boards/arm/stm32/stm32f3discovery/include
LN: include/arch/chip to arch/arm/include/stm32
LN: arch/arm/src/board to /home/user/code/fitbit/incubator-nuttx/boards/arm/stm32/stm32f3discovery/../common
LN: arch/arm/src/board/board to /home/user/code/fitbit/incubator-nuttx/boards/arm/stm32/stm32f3discovery/src
LN: arch/arm/src/chip to arch/arm/src/stm32
LN: /home/user/code/fitbit/incubator-nuttx/drivers/platform to /home/user/code/fitbit/incubator-nuttx/drivers/dummy
make[1]: Entering directory '/home/user/code/fitbit/incubator-nuttx/boards'
make[1]: Leaving directory '/home/user/code/fitbit/incubator-nuttx/boards'
make[1]: Entering directory '/home/user/code/fitbit/incubator-nuttx-apps'
make[2]: Entering directory '/home/user/code/fitbit/incubator-nuttx-apps/platform'
LN: platform/board to /home/user/code/fitbit/incubator-nuttx-apps/platform/dummy
make[2]: Leaving directory '/home/user/code/fitbit/incubator-nuttx-apps/platform'
make[1]: Leaving directory '/home/user/code/fitbit/incubator-nuttx-apps'
make context  0.95s user 0.45s system 109% cpu 1.281 total

second time running context:
➜  incubator-nuttx git:(improve-make-context) time make context
Create .version
Create version.h
LN: include/arch/board to /home/user/code/fitbit/incubator-nuttx/boards/arm/stm32/stm32f3discovery/include
make[1]: Entering directory '/home/user/code/fitbit/incubator-nuttx/boards'
make[1]: Nothing to be done for 'dirlinks'.
make[1]: Leaving directory '/home/user/code/fitbit/incubator-nuttx/boards'
make[1]: Entering directory '/home/user/code/fitbit/incubator-nuttx-apps'
make[2]: Entering directory '/home/user/code/fitbit/incubator-nuttx-apps/platform'
LN: platform/board to /home/user/code/fitbit/incubator-nuttx-apps/platform/dummy
make[2]: Leaving directory '/home/user/code/fitbit/incubator-nuttx-apps/platform'
make[1]: Leaving directory '/home/user/code/fitbit/incubator-nuttx-apps'
make context  0.30s user 0.20s system 121% cpu 0.414 total

@AlanRosenthal Please, don't forget to squash the commits.
Also, you may want to link your email to your GitHub account, so that GitHub is able to count your contributions.

BTW, the CI is complaining about the newly generated .context files.  We'll have to delete those during clean_context.

@AlanRosenthal Please, don't forget to squash the commits. Also, you may want to link your email to your GitHub account, so that GitHub is able to count your contributions.

thanks for the email suggestion, I've added it!

Thanks for the review @Ouss4 @gustavonihei, I believe I have addressed all feedback. Let me know if you have any other comments/suggestions.

There seems to be some dependency issues when building in parallel.

There seems to be some dependency issues when building in parallel.

Since now all the context targets are at the same level of dependency, we are having issues when say the chip context is made before config.h.

There seems to be some dependency issues when building in parallel.

Since now all the context targets are at the same level of dependency, we are having issues when say the chip context is made before config.h.

I believe this is required to ensure config.h and all the simlinks are built before running context rules:
%.context: include/nuttx/config.h dirlinks

I am testing locally and will push if it looks promising

And let's squash the intermediate change into one like @gustavonihei's suggestion.

There seems to be some dependency issues when building in parallel.

Since now all the context targets are at the same level of dependency, we are having issues when say the chip context is made before config.h.

I believe this is required to ensure config.h and all the simlinks are built before running context rules:
%.context: include/nuttx/config.h dirlinks

I am testing locally and will push if it looks promising

Yes, I think this is enough.  The issue was actually dirlinks, this is why we had some chip/Make.defs not found errors.  But I also saw some of the other jobs complaining about config.h.


add a reset() API

We're building a runtime configuration plugin for Hapi+Catalyst apps that needs the ability to completely reset the server.app.config object.  This PR adds support for that capability via a new reset() API exposed on the server.app.config object.
This PR also formalizes the behavior where calling server.app.config.get() returns the entire config object.  This behavior was already exposed by dot-prop:
https://github.com/sindresorhus/dot-prop/blob/master/index.js#L36-L38
But has now been hoisted into the Steerage plugin to ensure that future releases of dot-prop don't break this behavior.

CC: @tlivings @tuckbick @joonastanner


 Naming conventions for data.model.specification.populations

I am having an issue plotting some data saved from a previous run. Specifically, dsPlotFR is looking for a a field called mechanisms, which is not present. Did anyone change the names of the variables mechanisms and mechanism_list under?
Note that I am loading some data that I saved earlier using dsImport.
The specific location dsPlotFR is looking is:
data(1).model.specification.populations
To reproduce this error, I am running the dsPlot2 tutorial code (dsDemos_PlotData2.m).
%% Set up paths
% Get ready...

% Add DynaSim to path if it's not already there
if exist('setupDynaSimPath','file')
    setupDynaSimPath;
else
    error('Add the DynaSim folder to the MATLAB path - e.g. run addpath(genpath(DynaSimPath))');
end

% Set where to save outputs
output_directory = dsGetConfig('demos_path');
study_dir = fullfile(output_directory,'demo_sPING_100cells_3x3');

%% Import the data

% Make sure sample data exists; if not copy it into place
if ~exist(study_dir,'dir')
    dsUnzipDemoData(study_dir);
end

% Load data in traditional DynaSim format
data=dsImport(study_dir);

And then
dsPlotFR(data)
The full error is:
Reference to non-existent field 'mechanisms'.
Error in dsGetNamespaces (line 24)
  for j=1:length(spec.populations(i).mechanisms)
Error in dsGetParentNamespace (line 11)
namespaces=dsGetNamespaces(model);
Error in dsSelectVariables (line 53)
  parent=dsGetParentNamespace(data(1).model,data(1).labels{1});
Error in dsCalcFR (line 123)
options.variable=dsSelectVariables(data(1),options.variable, varargin{:});
Error in dsAnalyzeStudy (line 65)
    results(i)=feval(func{j},data(i),varargin{:});
Error in dsCalcFR (line 73)
  data=dsAnalyzeStudy(data,@dsCalcFR,varargin{:});
Error in dsPlotFR (line 46)
  data=dsCalcFR(data,varargin{:}); % equivalent: data=dsAnalyzeStudy(data,@dsCalcFR);
>>

Again, this is on . Any insight would be great. If I get a chance, I'll just regenerate this data, but I'd rather not if can be avoided.

which line in dsPlotFR? I'm not finding it.

I feel like Jason brought this up at one point awhile ago in one of our meetings. i can't find it documented in the minutes or in the issues.

It appears that there is a specification.mechanisms field as well as a specification.populations/connections.mechanisms and specification.populations/connections.mechanism_list field. The mechanisms fields are structures with name and equations fields. the mechanism_list field is a cell array of paths to the mechanism files.

Also, i get this error:
Downloading file from: https://github.com/DynaSim/DynaSimFiles/blob/master/demos/demo_zips/demo_sPING_100cells_3x3.zip?raw=true ... Error using dsDownloadFiles (line 72)
Requested file not found!

Error in dsUnzipDemoData (line 53)
        dsDownloadFiles(fullfile(demo_zips_path,zipfname));

if you want to avoid resimulating, you could add to the spec with something like:
dsCheckSpecification(studyinfo.base_model.specification)

Ok, I just re-ran the simulation and uploaded it to the DynaSimFiles, so we should be good. Closing the issue, since it's a backwards compatibility issue.


Custom resources User API

This is an initial draft on the format for creating users as custom resources and hiding the Keycloak UI for the standard address space.
The proposal is intended to solve the immediate needs to reduce dependency on Keycloak UI, but may be extended to support groups or other types of credentials or authorization policies.

How do you express that user a can send to address foo and receive from address bar (but not vice versa)?

Would having passwords in secrets not be better than having them in the clear in the yaml used for create?

@grs something like that I guess
authorization:
  - addresses: ["foo"]
    operations: ["send"]
  - addresses: ["bar"]
    operations: ["receive"]

@grs
‘’’
authorization:

addresses: ["foo"]
operations: ["send"]
addresses: ["bar]
operations: ["receive"]
‘’’

Would having passwords in secrets not be better than having them in the clear in the yaml used for create?

@grs
From a security perspective, the difference is that in secrets you base64 encode the password. Maybe we should do that as well.
The issue with secrets, is that they would typically be created by the tenant, whereas the api-server would not have permissions to read that secret in the tenants namespace, so the tenant would have to grant EnMasse permissions to read it. It just seemed a lot more complex from the user POV without bringing any security benefits.
On the other hand, we can perhaps expose this way through a 'type: secret', like this:
authentication:
  type: secret
  secret:
    name: mysecret
    namespace: myproject

@grs @rgodfrey could you have another look at the design doc: https://github.com/EnMasseProject/enmasse/blob/c135ceb7469a004a0dd1ff5abd4b9c277e7173e0/documentation/design_docs/design/user-resource.adoc

@jenmalloy I've written some initial documentation on creating/deleting users.

I'm not entirely convinced by the 'why'.
For the what/how, one point to clarify is that support for wildcards is currently limited (in router) to a single '' at the end of the pattern (e.g. queue- is ok, queue-*-foo is not, nor is *-queue).
Are federated identity type users only able to use the console? If so that might be worth clarifying.
(Another question is whether/how passwords can be chosen/changed by users. With keycloak there is an option to require a new password to be created on first login, though that only works if logging into the console at present. Not arguing this is required behaviour, just pointing out it is something that keycloak offers as an option.)

A couple of high level comments/questions:

I think this proposal gives EnMasse the ability to manage its own local database of the users their credentials and authorisations.  This reminds me of the tomcat-users.xml file of Apache Tomcat.    Is the use-case for this feature standalone developer environments/small organisations without a federated identity system?

The proposal does not make it clear the local database options is an alternative or something that could sit alongside the use of a federated identity system.  Does the user need to make a choice at deployment time - chose the local database option or a federated source?

A clear identity management strategy is key to large organisation, so I think there should be the ability to turn off a local database.

It is not clear to me how create/update/delete work when using a federated source.

Does the create gesture just merely link the user, which must already exist in the federated source otherwise the operation will fail? Does it also mean that if a new user joins an organisation and is provisioned centrally within the federated system, that there needs to be an extra step of something making this API call before the user is ready to use say the EnMasse console?
Or is the idea that create gesture actually causes the record to be created in the federated system itself.  So in the case of keycloak, it would serve as a more convenient API?  If this is the case, how would the API degrade for identity systems which did not support the CRUD of users in this way?

What permissioning model would govern the creation/deletion/update of users?  I need to be able to change my own password, but I probably shouldn't be able to grant myself access to additional resources.

In regulated organisations there are often tight controls around system access.  It needs to be possible for an identity maintainer role to be segregated from other roles.

Is the use-case for this feature standalone developer environments/small organisations without a federated identity system?

Yes. The 'standard' auth service is the 'embedded' authentication service for EnMasse. This API will only work against that auth service. Other auth services supported are 'none' and 'external'. In the case of complex organizations, I think 'external' is supposed to cover that use case.

Does the user need to make a choice at deployment time - chose the local database option or a federated source?

When you deploy EnMasse, you can deploy this 'standard' authentication service if you wish. When you create an Address Space, it can specify which authentication service to use. If the 'standard' authservice is deployed, and the auth service has not been specified in the address space, the 'standard' is used.

It is not clear to me how create/update/delete work when using a federated source

Again, the API is only available when the standard authentication service is deployed, and currently only a user federated to OpenShift is supported in that configuration. It is not indended to cover more specialized use cases covered by the 'external' auth service. In this specific case, a 'create' creates the user in Keycloak ,and 'links' it to the federated identity provider (OpenShift) which is assumed to already exist.

What permissioning model would govern the creation/deletion/update of users? I need to be able to change my own password, but I probably shouldn't be able to grant myself access to additional resources.

This is controlled through the OpenShift RBAC policies configured when deploying EnMasse. The service admin can dictate which OpenShift users is authorized to create/get/delete etc. Those users are isolated from those managed by the User API (unless explicitly 'linked' by creating a federated user back to OpenShift)
Again, I see the purpose of this API more along the lines of the tomcat-users.xml that can be managed as Kubernetes resources, and I the 'external' authentication service mechanism is where we should solve the more complex use cases.

@k-wall @lulf

Is the use-case for this feature standalone developer environments/small organisations without a federated identity system?

Yes. The 'standard' auth service is the 'embedded' authentication service for EnMasse. This API will only work against that auth service. Other auth services supported are 'none' and 'external'. In the case of complex organizations, I think 'external' is supposed to cover that use case.

So an alternative approach would be for some way to add other identity providers which could be federated with (LDAP or whatever).  I think the key here is that the scenario is that where the authorization is being managed inside EnMasse/Keycloak

It is not clear to me how create/update/delete work when using a federated source

Creating would make "adding the linked identity with given permissions", deleting would be the removal of the link.  Updating would clearly just be for modifying permission.

What permissioning model would govern the creation/deletion/update of users? I need to be able to change my own password, but I probably shouldn't be able to grant myself access to additional resources.

So I think we may be evolving to a model where the "OpenShift" user will either have a "view" or a "create/update/delete" role for the address space as a whole, with a clear separation between the operations "OpenShift" users and "messaging" users.

Looks good to me.  Sorry, I was missing the fact that this only targeted the standard address space (despite you having written just that in the introduction).


script does not work on leap days

getting 1-year and 10-year values on a leap day (LeapYear-02-29) will not work.
Need to investigate what the behavior is.

Simple solution to this issue. If the latest reading is on a leap day that is the only information printed.


Small changes in the getting started tutorial

PR Description
I have updated the getting started tutorial to use the generative functions and remove some parts of the code that where not needed.
Some notes

[ ] Please make sure that you placed the files in an appropriate folder

[ ] And that the files have indicative names.

[ ] Please note that Classiq runs automatic code linting, which may minorly alter some files.

[ ] If you're familiar with pre-commit, you may run pre-commit install, and then at each commit, your files will be altered in a similar way

Hello @vivanwin!
Thank you for this PR. We will review it in the upcoming days and get back to you.


voiceInstructionsEnabled not working

Hello, I am using the latest version of the plugin (0.2.2). And it's great. Good job!
Only I'm trying to mute the browser (in multistep), and it doesn't work. Is there a call to mute and unmute along the way?
Thanks for everything

There is no option to mute along the way but it is a great idea

I am using the latest verstion of the plugin (0.2.2) also.
And if I do voiceInstructionsEnabled: false, the app is shut down unexpectly.
But the app runs flexible if voiceInstructionsEnable: true.
So I cannot customize voiceInstruction.
How can I resolve this?


Having issues updating to 0.7.0 via Carthage

Thanks for the latest release 0.7.0
I tried installing it via Carthage, but am having issue:
*** Skipped building Swift-YouTube-Player due to the error:
Dependency "Swift-YouTube-Player" has no shared framework schemes for any of the platforms: iOS

If you believe this to be an error, please file an issue with the maintainers at https://github.com/gilesvangruisen/Swift-YouTube-Player/issues/new

Cartfile:
github "gilesvangruisen/Swift-YouTube-Player"

Hey @jianyaoang really sorry for the delay! Some things got shuffled around in the 0.7.0 and it looks like I mistakenly removed the xcshareddata which broke Carthage. I just pushed a v0.7.1, which should hopefully fix your issue.
Closing for now but please reopen and ping me if this continues to be a problem. Thanks!

@gilesvangruisen Thanks for the 0.7.1 release. However, I am still facing the same issue. When i ran carthage update --platform iOS
*** Skipped building Swift-YouTube-Player due to the error:
Dependency "Swift-YouTube-Player" has no shared framework schemes for any of the platforms: iOS

If you believe this to be an error, please file an issue with the maintainers at https://github.com/gilesvangruisen/Swift-YouTube-Player/issues/new

Am using the latest Carthage version 0.35.0, and set it in my Cartfile as github "gilesvangruisen/Swift-YouTube-Player" == 0.7.1

@jianyaoang shoot, I think you're right! I just pushed 0.7.2, which hopefully has fixed the shared scheme issue. Please let me know if that works, thanks!


[Bug]: Problem in buttons switching from light to dark mode and vice-versa.

Description
When you click on the "Tools," "Prompts," or "Dataset" sections, the background color turns green, like this:

When you change from light mode to dark mode, the button you clicked on doesn't look the same as before. For example, if you were using light mode and switched to dark mode, the green background on the selected button disappeared.

Attach Screenshots (if applicable)
No response
Which browser are you using when experiencing the issue?
Chrome
Checklist

[X] I have checked for existing issues related to this problem.
[X] I have read the Contributing Guidelines.
[X] I am willing to work on this issue (optional).

You might wanna check this out for implementing this
https://tailwindcomponents.com/component/simple-tab-button


Megacheck

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@c8694bc). Click here to learn what that means.
The diff coverage is 0%.

@@            Coverage Diff            @@
##             master      #79   +/-   ##
=========================================
  Coverage          ?   34.64%
=========================================
  Files             ?       58
  Lines             ?    27903
  Branches          ?        0
=========================================
  Hits              ?     9666
  Misses            ?    17206
  Partials          ?     1031

Impacted Files
Coverage Δ

cmd/gobgp/cmd/root.go
0% <0%> (ø)

cmd/gobgp/cmd/common.go
14.78% <0%> (ø)

Continue to review full report at Codecov.

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


Update emojis.json

New Keyword were added in emojis.json file so it's strength will improve .
eg.In "smiley"  tag   added keyword ->"funny" like more etc.

Hi, please fix the conflicts. And once you do that the test will fail due to the formatting, please keep the keyword array on one line.

Check it again maybe now it's right 👍

Looks like there are still conflicts. 🤓

Thanks!


alertmanager  route  pls help me

route:
  group_by: ['alertname', 'cluster', 'service']
  group_wait: 30s
  group_interval: 5m
  repeat_interval: 3h
  receiver: team-X-mails
  routes:
  - match_re:
      service: ^(foo1|foo2|baz)$
    receiver: team-X-mails
    routes:
    - match:
        severity: critical
      receiver: team-X-pager

Is it possible to write like this ?

    routes:
    - match:
        severity: critical
        service: foo1
      receiver: team-X-pager

The proper forum for asking questions is https://groups.google.com/g/prometheus-users?pli=1

Thanks for your report. As stated by @hdost, it looks as if this is actually a question about usage and not development.
It makes more sense to ask questions like this on the prometheus-users mailing list rather than in a GitHub issue. On the mailing list, more people are available to potentially respond to your question, and the whole community can benefit from the answers provided.


Flet 0.20 no longer available and app failing to load on upgrade

flet version 0.20
Operating system Windows
Problem 1. Have upgraded from flet 0.20 to 0.22 and the application is failing to load however reverting to 0.20 does not work. It gives me invalid distribution

Problem 2.
The same app that is running on 0.20 if upgraded is giving issues. FAiling to load a page on route change. I am getting a blank page
Code:
Route Change : function

The login module loads and when swicthing to the dashboard views , its not loading in 022 yet it worked in 0.20. Its also not working in 0.21
Here is part of the login

And also the dashboard view which i have simplified to avoid read a huge chunk of code

I have tested many of the pages and they are loading by simply making them the home page or landing page as follows by commenting the login and the works
#page.views.append(login)
page.views.append(hom)
page.update()

And then bringing back the login to be the home and try to change the route to point to the page representing the hom view ( page.views.append(hom)) as follows and its not working

i got the same problem. when i launch an app with a single view it laucnhes correctly. for apps with multiples pages, i got a blank page

Same issue here...

Could you provide a code repro please?

In my case I found the problem, the _build method of controls was replaced with build and after updating my views with the new naming it works fine.

Could you provide a code repro please?
Here is the repo
https://github.com/gitmatsika/flet-app

i got the same problem. when i launch an app with a single view it laucnhes correctly. for apps with multiples pages, i got a blank page

Did you get a solution

In my case I found the problem, the _build method of controls was replaced with build and after updating my views with the new naming it works fine.

Can i have a snippet of the code you changed for it to work

In my case I found the problem, the _build method of controls was replaced with build and after updating my views with the new naming it works fine.

Can i have a snippet of the code you changed for it to work

0.19 and older:
class CustomView(View):

  def _build(self):
     <...>

0.20 and newer:
class CustomView(View):

  def build(self):
     <...>

Have done this and its not working

Could you provide a code repro please?

This is another error that is poping up
File "D:\projects\py12\Lib\site-packages\flet_core\control.py", line 454, in build_update_commands
innerCmds = ctrl._build_add_commands(
^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'views.Dashboard' has no attribute '_build_add_commands'

In my case I found the problem, the _build method of controls was replaced with build and after updating my views with the new naming it works fine.

Can i have a snippet of the code you changed for it to work

0.19 and older:
class CustomView(View):

  def _build(self):
     <...>

0.20 and newer:
class CustomView(View):

  def build(self):
     <...>

Have done this and its not working

In my case I found the problem, the _build method of controls was replaced with build and after updating my views with the new naming it works fine.

Can i have a snippet of the code you changed for it to work

0.19 and older:
class CustomView(View):

  def _build(self):
     <...>

0.20 and newer:
class CustomView(View):

  def build(self):
     <...>

This is what i am getting and points to the build command
AttributeError: module 'views.Dashboard' has no attribute '_build_add_commands'

I Have managed to resolve the issue. As for the '_build_add_commands' error. I technically copied the same code into a new file with a new name and created my new routes and it worked fine. This was after realising that there is a module that is loading with almost the same code.
Other pages which were not loading was because i was clearing the views (page.views.clear() after changing a route

@gitmatsika Glad to hear you found the solution!


model无法支持分表查询

go version go1.13.8 linux/amd64
2. What version of GoFrame are you using?

github.com/gogf/gf v1.11.6
3. Can this issue be reproduced with the latest release?
no
4. What did you do?
Table = "user"
// Model is the model object of user.
Model = &arModel{g.DB("kernel").Table(Table).Safe()}
    Model.FindOne();

5. What did you expect to see?
Currently, the model only supports single table, but our business scenario is that a table is divided into n tables according to the primary key hash. Can the model support query according to a certain field sub-table?
6. What did you see instead?

@bojiuyunkai Yep, GF's ORM does not support sub-tables currently. Any suggestion will be appreciated.


Slides take 3

I pang people a couple of days ago and I got most of the pending slides, although there are a few LT (and one full talk) missing yet, but that might take some more time.

With the last commit, all official talks have slides. Only some LT are missing


Remove the setting  autoOpenBrowserOnLogin  to follow new settings autoOpenLinksInBrowser

Currently we have a cli config settings called autoOpenBrowserOnLogin which if value is true will open the browser window automatically.
Now we have introduced a new generic settings config called autoOpenLinksInBrowser as per issue #3118 , we will have to

Remove the config settings autoOpenBrowserOnLogin
Make the change in the m365 login so that it respects the config settings autoOpenLinksInBrowser rather than the settings autoOpenBrowserOnLogin
Remove the old settings autoOpenBrowserOnLogin

Since this is a breaking change, we will be introducing the change only in V6.

closing this as the related PR is merged to v6 branch


Delete of device causes cascade delete of related device data (Fuji Roadmap Item)

The issue of device ownership or management of devices will be corrected in the Edinburgh release.  Metadata will be considered the source of device knowledge for all of EdgeX and with the Edinburgh release, any deleting a device in metadata requires removing all associated metadata information in metadata as well (provision watcher, etc.).  Additionally, a blacklist of devices (managed in and by Core Metadata) will be added and any time a device is deleted, the device will be added to the blacklist so that the device does not automatically get provisioned again when auto provisioning of the device is triggered by a device service.
Closely associated to #826

There are two pieces to this and we may split this issue out into two.
1.) Ancillary device data cleanup -- profile watchers, events tied to device name, others
2.) Device list blacklist implementation (#826)

@tsconn23 I thought the consensus was to close this out? When we discussed this in Edinburgh, the rule was that anyone deleting devices from Core Metadata is responsible for cleaning up related objects in Core Metadata. I believe the only such object today is a ProvisionWatcher, but as we decided to punt on dynamic device discovery for Edinburgh, that's not really something we need to worry about.
As for Events and/or Readings in Core Data which reference a deleted device, I think Core Data should just report back an error if asked to validate that the device exists, but otherwise it should just report the events/readings as is if queried...

Closing per Tony's input. Device provisioning / blacklist is handled elsewhere. Deleting a device will cleanup its related commands already. It will also prevent any ingestion of events tied to that device (assuming the appropriate configuration flag is enabled)


No live threads left. Deadlock? (fatal)

I'm getting the following error when I run: ebooks start
/var/lib/gems/2.1.0/gems/twitter_ebooks-3.1.2/bin/ebooks:332:in `join': No live threads left. Deadlock? (fatal)
	from /var/lib/gems/2.1.0/gems/twitter_ebooks-3.1.2/bin/ebooks:332:in `each'
	from /var/lib/gems/2.1.0/gems/twitter_ebooks-3.1.2/bin/ebooks:332:in `start'
	from /var/lib/gems/2.1.0/gems/twitter_ebooks-3.1.2/bin/ebooks:410:in `command'
	from /var/lib/gems/2.1.0/gems/twitter_ebooks-3.1.2/bin/ebooks:422:in `<top (required)>'
	from /usr/local/bin/ebooks:23:in `load'
	from /usr/local/bin/ebooks:23:in `<main>'

I'm running:
ruby 2.1.5p273 (2014-11-13) [x86_64-linux-gnu]
twitter_ebooks (3.1.2, 3.0.0)
Any ideas?

self-sorted
I just needed ruby, ruby-dev and bundles installed before running gem install twitter_ebooks

It would be nice if there were a more specific error for that, but alas, Ruby is strange sometimes


logging: Add assert when no backends defined

Added an assert in the logger thread in case there
is no backends, instead of having that thread spinning
forever.
Signed-off-by: Alberto Escolar Piedras<EMAIL_ADDRESS>Signed-off-by: Krzysztof Chruscinski<EMAIL_ADDRESS>

And silly comment, in general you don't need to bother to add me to the sign off for 1 liners :)

i've heard stories about people bothering. assert is a serious intellectual property ;). note that i also stole your commit message body.

About the assert() vs ASSERT, this is the same as in #10193

Codecov Report

Merging #10513 into master will decrease coverage by <.01%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master   #10513      +/-   ##
==========================================
- Coverage   53.18%   53.18%   -0.01%
==========================================
  Files         210      210
  Lines       25816    25817       +1
  Branches     5682     5683       +1
==========================================
  Hits        13731    13731
  Misses       9780     9780
- Partials     2305     2306       +1

Impacted Files
Coverage Δ

subsys/logging/log_core.c
76.55% <0%> (-0.37%)
:arrow_down:

Continue to review full report at Codecov.

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


Drawings functionality not in demonstrator

Drawings functionality does not appear in the left hand menu / not hooked up to the demonstrator

Present in most recent archives already; App should be reinstalled onto demonstrator machine

Thanks @dkryvosheya - Uploading an image isn't working currently though, could you take a look please

@PhilBarrett  @tony-shannon I'm not aware if Rob already added proxying the image over URL - I'll chase him tomorrow about this feature.

thankyou
T
On 15 June 2017 at 16:11, dkryvosheya<EMAIL_ADDRESS>wrote:

@PhilBarrett https://github.com/philbarrett @tony-shannon
https://github.com/tony-shannon I'm not aware if Rob already added
proxying the image over URL - I'll chase him tomorrow about this feature.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/PulseTile/PulseTile/issues/15#issuecomment-308767360,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA5X3KvyAZBJg8qLF4llPMFz1Lh9w8pqks5sEUmTgaJpZM4NzwO_
.

Parked for now, should I close the issue, @tony-shannon?

Sorry just tested by import image locally (24KB) in size
Still not working, see picture, no response when clicked complete, see console error about being too large

@tony-shannon My guesses are that middleware does not allow us to post the canvas data, I think that Rob can increase the threshold for canvas sizes in this case.

Passed over to QEWD repository; https://github.com/RippleOSI/Ripple-Qewd/issues/42

thanks @dkryvosheya
Again please keep this open until the related QEWD issue has been resolved and retested in the PulseTile UI
thanks
Tony

@dkryvosheya Can you please check the UI side of this again please as Rob has made some changes
see latest chrome error on testing

Rob has confirmed that understanding

I can see that the drawing base64 is being saved against<PHONE_NUMBER> and being retrieved.  The problem is how the base64 data is being used in the UI to re-create the image

Updated the library - not closing the issue at the moment, will play around it over the weekend to see if the solution worked out;

tested & still not quite working..
T

Elder ones (since they were not saved properly) will not be able to display - since they're stored already broken.
I've created a couple of new drawing records for Ivor Cox, and everything is OK.

thanks Dmitry
I'll aim to retest that/those & catchup with you tomorrow, Tuesday 4/7
thanks again
T
On 3 July 2017 at 12:20, dkryvosheya<EMAIL_ADDRESS>wrote:

Elder ones (since they were not saved properly) will not be able to
display - since they're stored already broken.
I've created a couple of new drawing records for Ivor Cox, and everything
is OK.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/PulseTile/PulseTile/issues/15#issuecomment-312620128,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA5X3H2sQT71c72XThUQunJMS_4EwHHzks5sKM6KgaJpZM4NzwO_
.

This seems to be working thanks


[PropertyFieldCodeEditor] code beautify

Category

[x] Enhancement
[ ] Bug
[ ] Question

Version
Please specify what version of the library you are using: [1.14.1]
If you are not using the latest release, please update and see if the issue is resolved before submitting an issue.
Expected / Desired Behavior / Question
Is there any way how to bind shortcut to format(beautify) code when using Code Editor? I have used PropertyFieldCodeEditor for JSON and it would be awesome if the edited file could be formatted.
Thanks!

Hi, I can work on this.

Thanks @nanddeepn - it would be great!

The PR has been merged and will be available in the next release.

The version has been released.


Edit Seeds

Once you've added a seed to a query, there is no way to edit or delete it. There should also be a way of clearing all the seeds in your query.
This should be implemented in such a way that doesn't clutter the query page (A dialog box for example)

Perhaps just a little delete button next to each seed?


[otbn/sca] Improve OTBN SCA capture setup

This PR contains two updates to improve OTBN ECC256 keygen capture setup:

Mute ibex during the OTBN operation to reduce noise
Move seed masking outside of the batch capture loop to prevent "fake leakage".

Thanks @wettermo , @jadephilipoom and @abdullahvarici for the reviews. I've addressed the comments and added one small fix: Since seed masking was factored out of p256_run_keygen() it needed to be added back in p256_ecdsa_gen_secret_key() and p256_ecdsa_gen_keypair() before calling p256_run_keygen().


_AsyncSocket.close cannot be awaited

With _AsyncSocket.close un-awaitable it's possible to stop asyncio event loop before actual cancellation has a chance to execute. At the very least asyncio will show a warning about a pending task.
I see 2 approaches:

_AsyncSocket.close should return a future so that cancellation can be awaited
_AsyncSocket should support __aenter__ and __aexit__

Re-read the code: close is set regardless of future cancellation.


Implement model callback overrides

Description
This PR adds additional functionality to Model to allow/deny callbacks via a property ($allowCallbacks) or a per-execution method (allowCallbacks(bool)). This will help for testing, for extending models, or for unique situations where a developer needs a "safe mode" of model execution.
Checklist:

[X] Securely signed commits
[X] Component(s) with PHPdocs
[X] Unit testing, with >80% coverage
[X] User guide updated
[X] Conforms to style guide

This was a teeny change and has passed some tests already so I’m merging. Thanks @michalsn !


Fix poco client resolved host

What problem does this PR solve?
Issue Number: close https://github.com/pingcap/tiflash/issues/7176
Problem Summary:
What is changed and how it works?
Depends on

https://github.com/pingcap/poco/pull/17

Changes:

introduce a struct UseSSL to initlize SSL and finalize SSL
set remote resolved host on HTTP requests

Check List
Tests

[ ] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/merge

/merge


add feature: save poster locally

This update introduces an automatic poster saving feature for the Moviegrabber plugin, allowing users to seamlessly download and save movie posters directly into their Obsidian vault. Alongside, we've refined the naming convention for both poster images and movie note files, utilizing the movie's title and year for a clear, consistent, and searchable format.
Automatic Poster Saving: Upon enabling this feature in the settings, the plugin will automatically download movie posters when creating new movie notes, saving them in a user-specified directory.

This looks like a great addition. I see only one uncertainty/ issue.

Alongside, we've refined the naming convention for both poster images and movie note files, utilizing the movie's title and year for a clear, consistent, and searchable format.

I dont see any edit in the way movie notes are named, am i correct that this is just an error in the description or did i miss that in the code?
Movie Note names can be created using a template, maybe it would be reasonable to apply that template to the image filename aswell?

I moved it, I think this makes more sense. Also I added notifications for fail and success.

I will test it and then create a new Version.