agree on a proper (template-based?) json library

Currently there doesn't seem to be a standard way to use JSON (in JumpScale) AFAIK. I mean I suppose the standard json library is the standard, but there is no standard way AFAIK to link a json-structure to a class, such that we can easily go from a class to its JSON structure and backwards.
This leads to weird code in the tfchain/rivine JS libraries, where our types implement a json property (should really be a method, but it is a property as it is) and a from_dict method, as to go from a class instance to a json structure and backwards. It is however a very manual way of doing so, forcing code to manually check if a loaded json dict has a property (or sub-sub-...-sub property), and if so, assign it, otherwise assign the reasonable type-nil value).
Examples:

https://github.com/threefoldtech/jumpscale_lib/blob/4b1142c03c8dd85a2e047ed5a8f04836121508f2/JumpscaleLib/clients/blockchain/rivine/types/transaction.py#L611-L622;
https://github.com/threefoldtech/jumpscale_lib/blob/4b1142c03c8dd85a2e047ed5a8f04836121508f2/JumpscaleLib/clients/blockchain/rivine/types/transaction.py#L629-L638
any other type in the Rivine JS library that requires JSON encoding/decoding...

It would simplify and clean up parts of the tfchain/rivine library code a lot if we could somehow couple a class to a JSON structure scheme, and automatically decode/encode from/to JSON using it.

closing since this is not active anymore


Relationship "technology" should be supported

In Structurizr, we can add a technology to relationships. This is especially effective when trying to show that things like http, vpn, okta or some secure connection is required.

Yes, I use it all the time!

Implementation could look like this:
specification {
      element component
    }
    model {
      component client1
      component client2
      component server

      client1 -> server 'uses' 'graphql'
      client2 -> server {
        technology 'graphql'
      }
    }

And on the frontend side technology could be shown under the main label:
___   uses  ___\
   [graphql]   /

or if no label specified:
-[graphql]->

@davydkov , what do you think?


Add BufReader impl

std::io implements a useful std::io::BufReader.
This is my attempt at implementing for embedded-io.

This idea spawned from https://github.com/esp-rs/esp-idf-svc/pull/469

I think this already exists with https://github.com/rmja/buffered-io?
Whether to add it directly to embedded-io is of course another question.

I think this already exists with https://github.com/rmja/buffered-io?

I see that buffered-io only supports embedded-io-async, perhaps I can retarget this PR towards that crate for the non-async feature?

If so where should it go, a new utility crate?
Perhaps into /embedded-io-adapters?

This is probably something that needs to be discussed in the WG meeting
Let me know what comes of that WG meeting. Happy to make some changes, and perhaps to also replicate some of the ideas from buffered-io, such as passing in the buffer rather than allocating.


add metadata update for events

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
-0.5%

Covered Lines:
1122

Relevant Lines:
1263

💛  - Coveralls


python3Packages.osmnx: 0.9 -> 1.1.1

Motivation for this change
Osmnx until 1.0.1 had a dependency on descartes which is marked as broken.
This PR together with #123637 therefore enables osmnx again.
Depends on #123589 as a dependency on rasterio was introduced in osmnx.
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Relase notes)

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

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 128800 at 017b4f11 run on aarch64-linux 1

2 packages failed to build:

python38Packages.osmnx
python39Packages.osmnx

Note that build failures may predate this PR, and could be nondeterministic or hardware dependent.
Please exercise your independent judgement. Does something look off? Please file an issue or reach out on IRC.

wrong log
https://github.com/NixOS/nixpkgs/pull/128800

2 packages built:
python38Packages.osmnx python39Packages.osmnx


67search by category

closes #67

Coverage increased (+0.07%) to 97.826% when pulling f4665ef7ca76f57b5294ca7682720d33034673f1 on 67searchByCategory into c4fcff3967843d4204da21ad1ebaade955c06da6 on master.

Coverage increased (+0.07%) to 97.826% when pulling dd91d4bc4b3ae5f76c5ca40b79a9f586aefa2bb1 on 67searchByCategory into c4fcff3967843d4204da21ad1ebaade955c06da6 on master.

Coverage increased (+0.07%) to 97.826% when pulling 9da1d96041ef88cddc708d01010449734a239047 on 67searchByCategory into 14a07d6e69f0303a32a13f359ff2ab93536f62a5 on master.

Coverage increased (+0.07%) to 97.826% when pulling 368a6393d265dfca342ac26b83fa870a86c9b1f2 on 67searchByCategory into 14a07d6e69f0303a32a13f359ff2ab93536f62a5 on master.


[arm cpu][auto scheduler] Auto scheduler @ arm cpu can not reproduce paper's performance

currently, in the upstream version of auto scheduler on arm cpu can not reproduce OSDI paper's performance. One issue we find is we call wrong compute for arm cpu (https://github.com/apache/tvm/blob/main/python/tvm/relay/op/strategy/arm_cpu.py#L156) and we don't enable winograd for arm cpu too. Open this issue to tracker this.
@jcf94

#7635 Add a fix on arm strategy to choose the right nwhc conv2d implementation with layout rewrite support.


Resizing Viewer causing not responding

Description
When I drag the preview window to detach it from the main window it's ok, but as soon as I try to resize it right after npp is not responding. I can't have on one screen my text and on the oter the preview in fullscreen
Solution
npp should not crash
Alternatives
I only keep the preview within the main window
Additional information
Is there any log somewhere I can give you ?
I'm using a Portable version of npp

Hi @BHMath ,
definitively not how it should work. Thanks for reporting it.
Which version of the plugin are you using?
Using <IP_ADDRESS> I am able to see something similar, using the latest build I can't see it.
Sou could you try to reproduce the issue with other versions as well? Especially the latest build?
BR

I forgot to mention the version. I'm using version <IP_ADDRESS> so the latest i think

This seems to be a tricky one since its related to unexpected behaviour in Windows. It is also mentioned here and affects basically all Notepad++ plugins implemented with .NET and Windows forms.
Anyway, I've found a way to prevent the issue for me, maybe this also works for you.
Please try the latest build which includes the fix. Let me know if this solves the issue for you as well.
BR,
Philipp

Nicely done ! it seems to be working indeed. Thanks !

Thanks for your response. The change will be part of the next release.


Support NAT Traversal

What would you like to be added:
Support enabling NAT Traversal  feature of Submariner

Why is this needed:
Submariner uses 4500/udp when connecting clusters. For connecting clusters that don't allow this default [on-prem firewall etc.] NAT-T is required,

@vthapar the IPsec NATT is already customizable AFAICT. We are only missing the option to disable NAT as tracked here https://github.com/open-cluster-management/submariner-addon/issues/82 - unless I am missing anything?

@nyechiel Yes, I raised the issue before investigating what parts of NATT are supported and what not. @sridhargaddam also mentioned that we may need to support option to set the natt-discovery-port, looking into that too.

@sridhargaddam @vthapar what's the status of this one?


Kubernetes cluster unreachable

Error: Kubernetes cluster unreachable: Get "http://localhost:8080/version": dial tcp <IP_ADDRESS>:8080: connect: connection refused

I'm doing the following to pass kubeconfig
      - name: Set Kube Config
        run: |
          aws eks update-kubeconfig --name ${{ env.CLUSTER_NAME }} --region ${{ env.AWS_REGION }}
          echo 'KUBE_CONFIG_DATA<<EOF' >> $GITHUB_ENV
          echo $(cat ~/.kube/config | base64) >> $GITHUB_ENV
          echo $(cat ~/.kube/config)
          echo 'EOF' >> $GITHUB_ENV

echo $(cat ~/.kube/config)

confirms the correct details
     - name: Deploy DB
        uses<EMAIL_ADDRESS>        env:
          KUBE_CONFIG_DATA: ${{ env.KUBE_CONFIG_DATA }}
        with:
          command: "helm upgrade --install db --namespace=${{ needs.build.outputs.branch }} --create-namespace ./dbs/mariadb --set tag=${{ needs.build.outputs.branch }} --wait"

Hello @jcputter, can you post the snippet which shows how this action is used and the env keys/values provided?

sure, i update the original post

@jcputter I have almost identical setups and it works for me. Can I propose two ideas to try out?

Stick to the same setup however pin the action's version to v1.25.2
Try out the experimental branch (instead of a version tag) to confirm it's not any dependency version issues

Also can you somehow confirm the correct value ends up in the github env?

Confirming that fixing version to v1.25.2 solves the issue for time being.


Set port & metrics port to correct helm args

Solves issue: Incorrect Usage. invalid value "$(PORT)" for flag -port: parse error

How come the e2e pipeline didn't catch this helm error?

Coverage remained the same at 90.699% when pulling d7843aff6226382641fd5091dcb857294e153b93 on args_port into fce56e77f025ebf03443eca5e1bb0ae54fe25f98 on main.


Pan Zoom controls reset after object data update

I'm using the svg-pan-zoom in a form-group form-control with 5 possible svg selections. The controls load fine in the initial window load, but after a new option is selected from the dropdown the svg-pan-zoom controls do not reload. Is there a way to have svg-pan-zoom reload after another option is selected?
html...

 Select a seasonal trend
  <select class="form-control" id="trendSelection" onChange="jsDropDown('svg-id','trends',this.value)">
   <option>Spring</option>
   <option>Summer</option>
   <option>Fall</option>
   <option>Winter</option>
   <option selected>Annual</option>
  </select>

 <object id="svg-id" class="embed-responsive-item" type="image/svg+xml" data="trends/Annual.svg">
 </object>

Javascript

Duplicate of #107
svgPanZoom does not look for data updates. I would recommend creating new objects each time you change select options.


Remove requirement for sorts with unreasonable limits to be "unreasonably slow"

This removes the requirement for sorts with unreasonable limits to be marked as "unreasonably slow."

I feel like the unreasonable limit threshold is a bit low

I didn't touch the limits though :P. So I feel like that comment doesn't really apply to the PR's purpose.

I mean that as in how you determine which sorts to no longer call unreasonably slow

I mean that as in how you determine which sorts to no longer call unreasonably slow

I just kinda winged it TBH. You can feel free to update which algorithms if you want.

https://github.com/Gaming32/ArrayV-v4.0/blob/d25c6771fdde9e7adfa87bb4ebcae4f0f05105db/src/threads/RunComparisonSort.java#L92
https://github.com/Gaming32/ArrayV-v4.0/blob/d25c6771fdde9e7adfa87bb4ebcae4f0f05105db/src/threads/RunDistributionSort.java#L187
Shouldn't these be changed too?

Yes

Also, what about making whether a sort is considered unreasonably slow dependent on the unreasonable limit?
...or for that matter, why even have it?

Also, what about making whether a sort is considered unreasonably slow dependent on the unreasonable limit?
...or for that matter, why even have it?

We don't really want to have anyone calling us out because - let's use an example that is currently marked unreasonable before this pull - Fire (in all its O(n^3) glory) takes too long for some large count of items. My response as its creator?

Also, what about making whether a sort is considered unreasonably slow dependent on the unreasonable limit?
...or for that matter, why even have it?

@EmeraldBlock The unreasonably slow toggle is used by sort threads to change how their delay is calculated.

true, but imo that should be reworked anyway

legends say it is still closed to this day


Multi-touch support & z position

Hello, im using useGesture to pinch, rotate and drag, in my app i have multiple images with this behavior.

I wanted to know if there is a way so i can use gestures in different components(images) at the same time, with multi-touch screens (eg. drag, rotate)

If there is a way to put always on top the component "active".

Hi @raop155, regarding the first question, please try v8.0.0 which is in alpha stage and let me know.
Regarding the second question, remember that this is just a event-based library, with no control over the logic of your components. In your case, if you're using react-spring, you should try to update the component z-index to a high value immediately when you start the gesture. When you release the component, then complete the resting animation and then update the z-index to its original value. You can do something along those lines:
useDrag(({ active }) => {
  if (active) set({ zIndex: 999, ..., immediate: k => k === 'zIndex' });
  else set([{ ... }, { zIndex: 0 }]
})

Thanks @dbismut.
Works perfect for me, but i encounter some issues i couldn't solve with the docs.
Maybe you can take this later in a different thread.

How can i change initial useSpring then by consequence with useGesture :onDrag or :onPinch, because when you do a gesture, it goes to x:0,y:0 first then does the transform. I read about "initial / movement" but i couldnt make it work.

Right now im just passing styles direct to the div, it kind of work

On drag, how can i bound around a parent div. I test with "bounds onDrag" but it just encapsulate bounds around itself.

How can i restrict rotation or scale, i was trying to do it, but i could make it right, it works in my code but if i keep pinching the "d" value keeps increasing internally, so if i want scale down it took longer.

Additionally whats the difference in zoom vs scale.

Thanks you @dbismut
I left my code here-
import React from 'react';
import { useSpring, animated, to } from 'react-spring';
import { useGesture } from 'react-use-gesture';

const GestureImage = ({ imagePath, getTopValue }) => {
  const SCREEN_WIDTH = 1920;
  const SCREEN_HEIGHT = 1080;
  const IMG_WIDTH = 500;
  const IMG_HEIGHT = 280;
  const MIN_ZOOM = -0.5;
  const MAX_ZOOM = 0.5;

  const domTarget = React.useRef(null);
  const [{ x, y, rotateX, rotateY, rotateZ, zoom, scale }, set] = useSpring(() => {
    return {
      rotateX: 0,
      rotateY: 0,
      rotateZ: 0,
      scale: 1,
      zoom: 0,
      x: 0,
      y: 0,
      config: { mass: 5, tension: 350, friction: 40 },
    };
  });

  const [z, setZ] = React.useState(1);
  const [randomX, setRandomX] = React.useState(0);
  const [randomY, setRandomY] = React.useState(0);
  const [randomScale, setRandomScale] = React.useState(1);
  const [randomAngle, setRandomAngle] = React.useState(0);

  const random = (min, max) => {
    return Math.random() * (max - min) + min;
  };

  React.useEffect(() => {
    setRandomX(random(0 + IMG_WIDTH / 2, SCREEN_WIDTH - IMG_WIDTH));
    setRandomY(random(0 + IMG_HEIGHT / 2, SCREEN_HEIGHT - IMG_HEIGHT));
    setRandomScale(random(0.75, 1.25));
    setRandomAngle(random(0, 180));
  }, []);

  useGesture(
    {
      onDragStart: (props) => {
        setZ(getTopValue());
      },
      onDrag: ({ offset: [x, y] }) => {
        set({ x, y });
      },
      onDragEnd: () => {
      },
      onPinch: ({ offset: [d, a] }) => {
        let currentScale = d / 200;
         if (currentScale > MAX_ZOOM) {
          currentScale = MAX_ZOOM;
        } else if (currentScale < MIN_ZOOM) {
          currentScale = MIN_ZOOM;
        }
        set({ zoom: currentScale, rotateZ: a });
      },
      // onMove: ({ xy: [px, py], dragging }) =>
      //   !dragging && set({ rotateX: calcX(py, y.get()), rotateY: calcY(px, x.get()), scale: 1 }),
      // onHover: ({ hovering }) => !hovering && set({ rotateX: 0, rotateY: 0, scale: 1 }),
    },
    {
      domTarget,
      eventOptions: { passive: false },
      drag: {
        // bounds: { left: -100, right: 100, top: -50, bottom: 50 },
        // rubberband: true,
        // initial: () => [x.get(), 0],
      },
    },
  );

  const preventDefault = (e) => {
    e.preventDefault();
  };

  React.useEffect(() => {
    document.addEventListener('gesturestart', preventDefault);
    document.addEventListener('gesturechange', preventDefault);

    return () => {
      document.removeEventListener('gesturestart', preventDefault);
      document.removeEventListener('gesturechange', preventDefault);
    };
  }, []);

  return (
    <animated.div
      ref={domTarget}
      style={{
        position: 'absolute',
        transform: `translate3d(${randomX}px, ${randomY}px, 0px) rotate(${randomAngle}deg) scale(${randomScale})`,
        x,
        y,
        scale: to([scale, zoom], (s, z) => s + z),
        rotateX,
        rotateY,
        rotateZ,
        zIndex: z,
        touchAction: 'none',
        userSelect: 'none',
      }}
    >
      <img width='500' draggable='false' src={imagePath} alt='Arturo Prat gallery' />
    </animated.div>
  );
};

export default GestureImage;

Please create a sandbox. Reading that amount of code is beyond my abilities.

Closing, I'll keep reading this if you need further help.


Feature/graphs

Hey I have created a basic graph rendering control.
It works by having a 2D 'graph space' using decimal and a CellSize for mapping how to project screen coordinates into rectangles in the graph space.
New series implement ISeries  which is a single method
/// <summary>
/// Return the rune that should be drawn on the screen (if any)
/// for the current position in the control
/// </summary>
/// <param name="graphSpace">Projection of the screen location into the chart graph space</param>
GraphCellToRender GetCellValueIfAny (RectangleD graphSpace);

I started out with float instead of decimal but ran into issues with rounding where a given point in graph space would overlap into 2 different cells on the UI.  Those all disappeared when I switched to decimal which is the exact units Type (see test TestNoOverlappingCells).

Let me know if this is too out there or better in a separate library.
I can split out the classes int separate files too if needed.

That is fantastic. Thanks.

Marking this as draft as I have found it is very slow for large numbers of plot points, need to tinker with it a bit.

Once again... AMAZING WORK!!!!!!

Ok I have added the ability for an ISeries to (optionally) draw all at once instead of having to return each cell 1 at a time.
I've added SeriesDrawMode to ISeries and an abstract base class.  That makes it easier for API user to understand the two draw modes.  There are also tests that cover this (see FakeSeries).

AllAtOnce : More efficient but requires user to use methods like GraphSpaceToScreen
CellByCell: Simpler and easier to implement for the API user

I think this PR is ready for review now when you have the time.
/// <summary>
/// Describes a series of data that can be rendered into a <see cref="GraphView"/>>
/// </summary>
public interface ISeries {

	/// <summary>
	/// Indicates which method is used for drawing
	/// </summary>
	SeriesDrawMode DrawMode {get; }

	/// <summary>
	/// Draw method when <see cref="DrawMode"/> is <see cref="SeriesDrawMode.AllAtOnce"/>.
	/// Do custom drawing as needed to fill relevant areas of the graph
	/// </summary>
	/// <param name="graph">Graph series is to be drawn onto</param>
	/// <param name="driver"></param>
	/// <param name="bounds">Visible area of the graph in Console Screen units (excluding margins)</param>
	/// <param name="graphBounds">Visible area of the graph in Graph space units</param>
	void DrawSeries (GraphView graph, ConsoleDriver driver, Rect bounds, RectangleD graphBounds);

	/// <summary>
	/// Draw method when <see cref="DrawMode"/> is <see cref="SeriesDrawMode.CellByCell"/>.
	/// Return the rune that should be drawn on the screen (if any)
	/// for the current position in the control
	/// </summary>
	/// <param name="graphSpace">Projection of the screen location into the chart graph space</param>
	GraphCellToRender GetCellValueIfAny (RectangleD graphSpace);
}

This is a glorious set of controls!
Simply incredible!

Thanks for the indepth review, probably best to start with the use of decimal instead of float
I did start out with using float but ran into issues where points would occasionally double render where the graph location was at the boundary of a console cell.
This test replicates the issue.  We partition the console space 50x30 into graph space units of 0.1 x 0.25 but find that the resulting rectangles overlap with one another (at x=7 y=0 on my computer).  I think this is because of float rounding:
https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html
The result is that an axis tick or scatter series point can wind up appearing twice in two adjacent cells.
[Fact]
public void TestOverlappingRectangleF ()
{
	int width = 50;
	int height = 30;

	var size = new PointF (0.1f, 0.25f);

	List<RectangleF> otherRects = new List<RectangleF> ();

	List<System.Drawing.Point> overlappingPoints = new List<System.Drawing.Point> ();

	for (int x = 0; x < width; x++) {
		for (int y = 0; y < height; y++) {

			var newRect = new RectangleF (x * size.X, y * size.Y,size.X,size.Y);

			Assert.Empty (otherRects.Where (r => r.IntersectsWith (newRect)));
			otherRects.Add (newRect);
		}
	}
}

It is tied up to how you can't use floata == floatb and instead have to use Math.Abs(floata - floatb) < 0.000000001
See:
https://www.jetbrains.com/help/resharper/CompareOfFloatsByEqualityOperator.html
I am open to ideas on how to deal with this issue as I agree it feels janky.
Note that the equivellent test with decimal does not show this issue:

[Fact]
public void TestOverlappingRectangleD ()
{
	int width = 50;
	int height = 30;

	var size = new PointD (0.1M, 0.25M);

	List<RectangleD> otherRects = new List<RectangleD> ();

	List<PointD> overlappingPoints = new List<PointD> ();

	for (int x = 0; x < width; x++) {
		for (int y = 0; y < height; y++) {

			var newRect = new RectangleD (x * size.X, y * size.Y, size.X, size.Y);
			Assert.Empty (otherRects.Where (r => r.IntersectsWith (newRect)));
			otherRects.Add (newRect);
		}
	}
}

This work:
var newRect = new RectangleF ((int)(x * size.X), (int)(y * size.Y), (int)size.X, (int)size.Y);

var newRect = new RectangleF ((int)(x * size.X), (int)(y * size.Y), (int)size.X, (int)size.Y);

So that will round all the RectangleF to integer which results in exact overlaps instead (which IntersectsWith returns false for)
See:
[Fact]
public void TestOverlappingRectangleF ()
{
	int width = 50;
	int height = 30;

	var size = new PointF (0.1f, 0.25f);

	List<RectangleF> otherRects = new List<RectangleF> ();

	List<System.Drawing.Point> overlappingPoints = new List<System.Drawing.Point> ();

	for (int x = 0; x < width; x++) {
		for (int y = 0; y < height; y++) {

			var newRect = new RectangleF ((int)(x * size.X), (int)(y * size.Y), (int)size.X, (int)size.Y);

			// I added this line to show that the returned rectangles are identical when casting to int
			Assert.Empty (otherRects.Where (r => r.Equals (newRect)));
			Assert.Empty (otherRects.Where (r => r.IntersectsWith (newRect)));
			otherRects.Add (newRect);
		}
	}
}

The GraphView control maps integer screen coordinates (e.g. 50,30) into 'graph space'.  For example the user might want a graph
that has an x axis that goes from 0-1 in increments of 0.001.
That is what CellSize does, it lets the user say "Each console cell translates to 0.001 of space on my data".  The Zoom function in the Scenario just adjusts the CellSize so that more of the x/y axis fits into each cell of the console.
If you zoom out far enough points in the scatter graph will disapear, that is because the cell size is large enough that multiple points render into the same cell of the UI.  A Series could deal with that by changing the color (like a heat map) but that's really another issue.

To simplify this for the API user (e.g. when implementing a new Series / Annotation) there are the following methods:
/// Returns the section of the graph that is represented by the given
/// screen position
public RectangleD ScreenToGraphSpace (int col, int row)

/// Calculates the screen location for a given point in graph space.
public Point GraphSpaceToScreen (PointD location)

I am trying to make sure that the mapping between graph space and screen space is deterministic and not subject to rounding (i.e. no adjacent screen cells ever return overlapping rectangles).
The decimal class is exact while the float (and double) are subject to rounding:
https://stackoverflow.com/questions/618535/difference-between-decimal-float-and-double-in-net

Although the decimal type is more precise is too much slower, so you were having this problem of slowness. I think you will have to manipulate these values so that they are within a certain tolerance. Microsoft will never want to change for decimal because they need the floats for scientific purposes :-)

Ok I can have another look at making float work... it might be possible to keep the decimal aspect internal to the class and round things on the way out or rounding these probalematic boundaries in a consistent way.

Ok I have managed to get float working properly.  I have scrapped the SeriesDrawMode and simplified the API for ISeries and IAnnotation implementers.
I've also tidied up elements that were drawing into the margin (still inside the control but into the area reserved for title/axis labels)
I've added a lot of tests for BarSeries and Axis etc.  The classes are designed for inheritance (so you can customise how bars render) so implmenenting FakeBarSeries etc in tests was quite easy.  I went with Fake as a prefix since there are a lot of other tester classes with that prefix.
Finally I have split the big file up and put everything except GraphView into the namespace Graphs (and the files into Core folder).  This is as suggested by @BDisp

@tznind Would you please make some sort of minor change to this PR and do a new push just to kick off the CI/CD. I want to see the code coverage report the new YAML generates before I accept this.
Thanks.

Also, can you please fix the XML doc errors? I think there may be a way to do it without having to add docs to the original files, but I'm not sure. It may just be easier to add some documentation.

I think I have addressed all the points @tig .  Let me know if I missed any.
I have added a public property Contents to FakeDriver (single line addition) which allows tests to evaluate whether the 'console' matches expectations after a render.  I think this makes for more understandable tests for these very graphical (and not interactive) components like annotations and series.  Let me know if there is some hidden danger in this or it is the wrong approach:
[Fact]
public void PathAnnotation_Box()
{
	var gv = GraphViewTests.GetGraph ();

	var path = new PathAnnotation ();
	path.Points.Add (new PointF (1, 1));
	path.Points.Add (new PointF (1, 3));
	path.Points.Add (new PointF (6, 3));
	path.Points.Add (new PointF (6, 1));

	// list the starting point again so that it draws a complete square
	// (otherwise it will miss out the last line along the bottom)
	path.Points.Add (new PointF (1, 1));

	gv.Annotations.Add (path);
	gv.Redraw (gv.Bounds);

	var expected =
@"
 │......
 ┤.    .
 ┤......
0┼┬┬┬┬┬┬┬┬
 0    5";

	GraphViewTests.AssertDriverContentsAre (expected);

}

That's nice @tznind. I already had thought on something like this to see the Redraw output. Many thanks.

This is a fantastic addition to the project. Thank you for your investment in Unit Testing too!
Delighted to be able to merge this in as part of 1.0.0!!!

Thanks for your efforts reviewing too definetly pushed me to get float working properly and is a better feature as a result.


feat(brillig): Allow returning with an empty call stack

See https://github.com/noir-lang/acvm/issues/379

Actually questioning this now. We still need entry point wrappers around functions if we start to do any call-convention-transforming optimizations, and for mundane setup that all the functions need like just initializing static data

@kevaundray thoughts on this?

@kevaundray ping

If theres no strong conviction to add this then I'd opt to not merge and leave the issue open, so that we can discuss this better when Brillig is in a more stable state. I'd lean towards the status quo since it forces us to be intentional about the way we handle call stacks

Based on the above, I'm going to close this PR. We can reopen it after the discussions have been had.


Quit does not execute search for workbook open before trying to save updates.

When exiting the application no search for the workbook open in another application is done before trying to save the data. It is not clear at this point if the changes are applied or not, but the action should be to tell the user to close the other application before trying to save and quit.

Bug was fixed by ensuring that any Excel process created by the application was killed after the task was complete.


Example of integration with existing camera: HC-V520

As an example of integration of the system described in this repo with an existing camera, I will try to integrate a  Panasonic HC-V520 camera.

The HC-V520 has two ways of streaming directly video out of it:

A Wi-Fi channel, that however seems to be using proprietary protocols and that can be used only with Panasonic's application, that so is not of interest of us.
One is HDMI. This is a standard interface.

To connect the camera via HDMI to an existing system, you need some kind of HDMI input card. If you are creating a custom machine to act as a NVR (Network Video Recorder) you can use custom HDMI PCI cards (see for example https://www.thomann.de/it/blackmagic_design_decklink_quad_hdmi_recorder.htm?glp=1&gclid=CjwKCAjwo4mIBhBsEiwAKgzXOF9ozhWJbk565GPWeMplxfpUEXrUWes82iG8gqofiJNLwkfeTnN2UhoCNogQAvD_BwE). If instead you want to use a already available system, it is possible to use a HDMI-to-USB adapter, such as:

Elgato CamLink ( https://www.elgato.com/en/cam-link-4k )

Or also cheaper alternatives (even if in that case I don't know why they are so cheap, see https://scottwyden.com/cam-link-4k-vs-cheap-capture-card/ ):

https://www.amazon.it/Tihokile-Acquisizione-Videocamere-Computer-Cellulari/
https://www.amazon.it/s?k=hdmi+to+usb+video+capture&__mk_it_IT=ÅMÅŽÕÑ&crid=13L3QV5IFFOU9&sprefix=hdmi+to+usb+vi%2Caps%2C212&ref=nb_sb_ss_ts-doa-p_1_14

In any case, for this conversion to work correctly, it should be checked if:

The HDMI-to-USB chipset is correctly supported in Linux (it seems to work according to random commenters in https://www.reddit.com/r/linuxhardware/comments/dzqmvq/did_anyone_tried_an_elgato_cam_link_4k_on_gnulinux/)
The camera is correctly supported by the HDMI-to-USB adapter (for Elgato CamLink, you can check at https://www.elgato.com/en/cam-link/camera-check . The HC-V520 is not in their database, but the HC-V770 that is from the same famility is reported to be working).

Once you got a camcorder and the HDMI-to-USB, the video stream should be available as any other USB Video Device Class (UVC) devices, such for example webcams. The USB UVC device connected to a Linux machine are then accessible via the Video4Linux (V4L) APIs.
Once you have that, you can connect it to Shinobi in two way:

Connect it directly the V4L camera to Shinobi (following https://hub.shinobi.video/articles/view/RlOWhyFVeQ4Nu4J). To be honest, I had problem with this way in the past. Furthermore, in this way only Shinobi can access the camera.
First tream the V4L to RTSP/RTP, and then connect the RTSP/RTP stream via Shinobi: This is the wat that I used in that past, and has been working fine for me. To stream the V4L camera to RTSP, you can use either vlc, ffmpeg or gstreamer utilities.

Note that if one needs to buy a camera specifically for that, rather then buying a camcorder, a HDMI-to-USB adapter and then using the computer to convert the V4L stream to RTSP/RTP, perhaps a better alternative is to directly buy a so-called IP Camera, that is basically a camera that already streams out the RTSP/RTP signal directly, removing the need for the laptop/computer to do the encoding to the selected coded (such as h264) using its CPU or GPU.


Number of "junk" transitions

There are quite a few transitions showing that don't make sense. Would be good to hide these, or figure out what they actually mean. With expansion of categories this has become a little bit worse.
Two seemingly identical transitions for flooding a pond with a goose in it, there are more transitions for the state where there is a feather next to the pond. Maybe possible when there are categories involved to bundle them up into one transition and provide arrows? My concern is if we get categories interacting with categories, we end up with a cartesian product of transitions that could explode in number.

Also in cases like this, we have "Clay bowl with water + empty ground = clay bowl + empty ground". Is this interaction with another human? No idea what causes this, but empty ground -> empty ground transitions might be a good idea to hide for now.

I think the latest category pull request resolves the duplicate transitions related to categories. Not certain about the empty ground issue though.

Two seemingly identical transitions for flooding a pond with a goose in it, there are more transitions for the state where there is a feather next to the pond.

This one is fixed properly.

Also in cases like this, we have "Clay bowl with water + empty ground = clay bowl + empty ground". Is this interaction with another human? No idea what causes this, but empty ground -> empty ground transitions might be a good idea to hide for now.

I tried removing transitions with empty targets however the rabbit bones transition is an important one to keep. The only difference I found between this and the junk transitions is actorMinUseFraction and targetMinUseFraction are set to 0 in their transition file.
I put a bit of a hack in to check if that is a string value (set from the file). The end result works but this could cause issues down the road.
If we can figure out the real cause for these transitions and display them properly that would be better. Feel free to re-open this issue in that case.


using sax xml parser for /institutions

I've added sax xml parsing for heavy xml request /institutions. Original version allocates ~100mb ram for hash representation of entire list of institutions. Now it uses few megabytes with original raw xml.

@cloocher Will you be merging this as I agree with @gorkunov use-case.

@ACPK,
I am happy to merge it once @gorkunov or someone else adds tests for the new code.


Set up CI with Azure Pipelines

[skip ci]
Type of Change
feature or bug fix or documentation or validation or others
API changed or not
Description
detail description
Expected Behavior & Potential Risk
the expected behavior that triggered by this PR
How has this PR been tested?
how to reproduce the test (including hardware information)
Dependency Change?
any library dependency introduced or removed

@wutthichai46 could you please update the descriptions, so we can get to know the details of this PR.
We have a list of Azure CI test here, https://github.com/intel/neural-compressor/tree/master/.azure-pipelines

Hi @wutthichai46 Can you update the PR descriptions, let us know what's the purpose of this PR?


Fix NVDA reading blank on Select2 multiple option

This pull request includes a

[x] Bug fix
[ ] New feature
[ ] Translation

The following changes were made

add unique id on ul
add aria-labelleby on input that is pointing to parent ul

If this is related to an existing ticket, include a link to it as well.
https://github.com/select2/select2/issues/4418

Alright, now that I understand what we are doing here, I can give some recommendations.
We are going to want to assign the aria-labelledby attribute when binding the Search decorator for the selection. This is the decorator where the search field on a multiple select is injected, and it's only used for that. Note that it is possible for multiple selects to exist without a search field, so we don't like to assume that one exists.
https://github.com/select2/select2/blob/d66f8716197567fb95a680211f3c32e9c94f6679/src/js/select2/selection/search.js#L29
We can predict what the ID for the results should be, since we calculate it already for single selects, and we should calculate it the same way for multiple selects. Note that we use container.id as the prefix so we have a consistent ID prefix for all of our elements, which makes it easier for automated tests to verify the state of Select2.
https://github.com/select2/select2/blob/d66f8716197567fb95a680211f3c32e9c94f6679/src/js/select2/selection/single.js#L33-L36
We want to set the ID on the $search element, which is the input that is used for searching and is the one always injected into the multiple select.
this.$search.attr('aria-labelledby', id);

The other useful thing to have would be tests, so we know that this is being consistently assigned. And so when we come in later and wonder why we did this, we will have a test fail when we go to remove it. We already have a few basic ones at
https://github.com/select2/select2/blob/d66f8716197567fb95a680211f3c32e9c94f6679/tests/a11y/search-tests.js

Hi @kevin-brown ,
Thank you so much for the detailed feedback, i'll try to put hours in next week to get this done!

Sorry I don't want to sound dismissing and I appreciate the effort made here but this approach based on aria-labelledby doesn't seem ideal to me.
aria-labelledby is a replacement for the  element. Changing the aria-labelledby value actually changes the name of the select, which is far from ideal.
Instead, the UI pattern fo follow is the combobox one described in the ARIA Authoring Practices:
https://www.w3.org/TR/wai-aria-practices-1.1/#combobox
There are a few examples there, here's one of them:
https://www.w3.org/TR/wai-aria-practices-1.1/examples/combobox/aria1.1pattern/listbox-combo.html
They're based on aria-activedescendant and aria-selected.
Previously:
https://github.com/select2/select2/issues/4349
https://github.com/select2/select2/issues/4350
https://github.com/select2/select2/issues/3735
See also: Making Select2 accessible, a possible plan
https://github.com/wpaccessibility/select2-a11y/issues/1

Thank you for the feedback, I have no trouble changing the approach. The goal here is advancing this issue with the best possible solution.
The examples you give only have one option selected, what would be the solution when focused in the input with multiple items selected  like this :

There's no established UI pattern for that in the ARIA Authoring Practices, nor anything applicable in the ARIA spec I can think of. The closest one is Example 2 here: https://www.w3.org/TR/wai-aria-practices-1.1/examples/listbox/listbox-rearrangeable.html which is closer to a<select> with the mutiple attribute.
Though those "tags" are a common design in select-replacement libraries, they aren't exactly a "native" UI or something close to a native UI. Also, those "tags" are actually outside of the input field. They represent the list of selected options so maybe I'd just use a list, preferably with some text to explain what the list is about.

@afercia It is already a list :

How would you link the list and input when focused together?

Yeah but what I see in the multi-select boxes example, is that also the input field is within a list item:

That defeats the purpose of using a list 🙂What the current list is actually communicating? Semantically (and assistive technologies will get this info) it's saying:

hey, this is a list with 3 items
Alaska, 1 of 3
Minnesota, 2 of 3
edit text (unlabelled input field), 3 of 3

How that can be helpful for users?
Additionally:

the title attributes e.g. title="Alaska" are redundant: there's already visible text with the same value
the "times" character is announced by screen reader, as role="presentation" doesn't hide content from assistive technologies. It just remove semantics (if any). This: × is meaningless.

Re: a way to "link" the selected options to the input field; I'm not sure there's a good way to do it in a way that can be easily understood by assistive technologies users. I'd just use plain text. Maybe visually hidden text.

Alright so from what I understand (correct me if i'm wrong)

Remove input from list
Remove title attributes from list items
Add alternative text from list above input in hidden text (so it would be label, arrow down, then the alternative text (so we put aria-hidden on current list?)
Add aria-hidden on the times character span, when the user does backspace he can erase it anyway

anything else to add to this list @afercia ?

Add alternative text from list above input in hidden text (so it would be label, arrow down, then the alternative text (so we put aria-hidden on current list?)

Not sure I understand this part 🙂 What I meant is, in pseudo-code:

Currently selected options:

Alaska

Minnesota

Add aria-hidden on the times character span, when the user does backspace he can erase it anyway

For what is worth, in the new WordPress block editor (Gutenberg) the "X" icons are actually buttons so they're focusable and operable with a keyboard.

Also, they have an aria-label and an aria-describedby attributes to properly label the button and give more context. Simplified code:

	claycold (1 of 2)
	claycold

<button type="button" aria-label="Remove Tag" aria-describedby="components-form-token-field__token-text-7"></button>

This way, the button is announced as "Remove Tag {brief pause} claycold (1 of 2)".
I do realize this is a bit out of the scope of this pull though 🙂

@afercia would be possible for you to add issues of all the things you mentions that are out of scope of this issue? Because all this great info will be lost and in this PR I don't think we will do every accessibility issue that you list cc @kevin-brown
I understand for the text before the list, but how do we link a focus into the input to the list? Because that visually hidden text will only be accessible if you navigate with the arrow up and arrow down in nvda and jaws. If someone navigates through labels and forms only they will miss this info

One option could be adding an aria-describedby attribute on the input field, pointing to a hidden element that contains text with info on the selected options. This element can be hidden with display: none and aria-describedby should work regardless.
Something like:
<input aria-describedby="selected-options-description" />

No options selected

or:

Currently selected options: Alaska, Minnesota

It could be a bit redundant but it's better than a resounding silence.

would be possible for you to add issues of all the things you mentions that are out of scope of this issue? Because all this great info will be lost

Thanks, yep I do realize there's the risk some feedback will be lost. However, it took me 5 days to reply to the previous comment. I'm afraid I'm a bit busy 🙂

That's a great solution thank you so to we will go with your last solution.
@kevin-brown can you give the green light so we can start working on this please?
@afercia are you okay with me creating the issues, i'll reference to your comments in each issue

@stephenbe I'm super okay, thanks!

@afercia because there is already a list there I suggest we do :
Currently selected options: Alaska, Minnesota

 Alaska

<input aria-describedby="selected-options-description" />

I nevermind that won't work because the user would need to do the arrow to access the list

I wouldn't be too worried for that. With screen readers, the main mode to explore content is by using arrows. The tab key is used mainly within forms or when users discover a quick path to get where they want (e.g. jump to second heading, then press right arrow once, then press tab twice).

I understand, but in this case the user will be focused in the tab so even an arrow down or up won't help if I remember the aria-describedby correctly.

Not sure I understand 🙂

in "browse mode" (arrow keys navigation): the info is available in the list and I'd tend to think some content exploration to get this info would be acceptable for users
in "forms mode" (tab key navigation): the info will be automatically provided by aria-describedby when the input gets focus

well the aria-describedby is only on the span not the list, but actually we could wrap the span and list in a div with the proper id like this :

  Currently selected options:

 Alaska

Minnesota

Well, aria-describedby needs to be set on the input field:
<input class="select2-search__field" type="search" role="textbox" aria-describedby="selected-options-description" ... />

Currently selected options:

As per using a list wrapper as the target for aria-describedby: though the referenced element's content is technically flattened to a string, personally I'd rather reference an element which has the sole responsibility to provide the description.

yeah I miswrote, I edited it out to an id.
Ok correct me if i'm wrong, but the problem I see with having a span with the id and the list underneath is this :
If I focus on the input, the aria-described by will look for an id and find the span and read :

Currently selected options:

The list will not be called out and you want have access to it because you are currently focused on the input. Is that correct?

Ahh yes, sorry I mis-coded the pseudo-code 🙂 I'm assuming there will be some code responsible to put the actual selected values within the hidden span, as in one of the previous examples see https://github.com/select2/select2/pull/5571#issuecomment-516846466

    Currently selected options: Alaska, Minnesota

or, when no option is selected:

    No options selected

Alright great we will go with that once @kevin-brown gives the green light. Thanks for your valuable feedback, very much appreciated!

Sorry for the late response here, I've been following the conversation here but wanted to write up a longer response and have decided that I should throw out that idea.

@kevin-brown can you give the green light so we can start working on this please?

Go for it. I will gladly review the new/updated pull request.
Some things to note along the way:

Make sure any new hard-coded text is added to the English translation and uses that mechanism. This is important because Select2 supports 60+ languages.
I would recommend using the title data (which is currently injected onto the selection) when flattening the text out for display. The actual text might be templated and look odd, but the title is supposed to be the standard for text-only display.

For what is worth, in the new WordPress block editor (Gutenberg) the "X" icons are actually buttons so they're focusable and operable with a keyboard.

This is something I've been looking at, since it's an area where Select2 is very much so accessible at the moment. The only way to remove selected items in a multi-select using your keyboard is to make them appear in the results again and deselect them there. If someone wants to write up a quick ticket (doesn't have to be super detailed, but link back to here), this is an area I would love to improve on for 4.1.0.

@kevin-brown, @stephenbe, and @afercia, thank you for all of the time, thought and effort that you have put into this.

I found this pull request after reproducing the 'times' role="presentation" clear button issue in VoiceOver.
@afercia 26 July

the "times" character is announced by screen readers, as role="presentation" doesn't hide content from assistive technologies. It just removes semantics (if any). This: × is meaningless.

@stephenbe 27 July

Add aria-hidden on the times character span, when the user does backspace he can erase it anyway

This is one of many accessibility issues discussed in the comment thread. However the pull request only addresses one specific issue.
Are there existing pull requests addressing the other issues, or do you have a plan for tackling and testing them en masse, or should I log individual issues so they can be addressed individually? Thanks.

I have opened a pull request at https://github.com/select2/select2/pull/5842 which aims to redo the accessibility of the selection area with multiple and single selects to make them more accessible to screen readers. One of the main changes involves changing the selection to ensure the selected items are read out to the user when the search and other areas are focused.
The pull request includes a list of notable changes, but to be honest the majority of the changes we are putting into place were discussed throughout the years on this pull request as well as many related accessibility tickets.
While I understand that it has been a while, it would be greatly appreciated if anyone could help us test out these changes to ensure this ticket has been fixed. You can test these on your own by recompiling Select2 from the lastest develop branch, or you can wait for the next beta release (which should be out once that pull request is merged). Our goal is to significantly improve the accessibility in time for the upcoming 4.1.0 release of Select2.

Thank you for your work! I've been holding off selecting a multiselect control in a project I'm developing due to this issue; I'm happy to help once I can get it off a CDN.


Django view functions replaced by wrapper

Django 2.2.16
Sentry 0.16.4+
When using sentry 0.16.4+, the resolver has been patched to return phony view functions that wrap calling the actual view function. This breaks anything that uses the resolver matched view function to compare to an imported function, eg we have middleware acting as a guardian with code like this:
@custom_login_required_decorator
def the_view(request):
    request.session["skip"] = 1
    return redirect(reverse("homepage"))

def can_skip(request):
    return "skip" in request.session

class Guardian:
    def process_view(self, request, view_func, view_args, view_kwargs):
        if can_skip(request) or view_func == the_view:
            return
        return redirect(reverse("the_view"))

With sentry 0.16.3 (and every version of sentry-sdk before that, and with raven...), this worked fine. With sentry 0.16.4+, the view_func has been replaced. I'm pretty sure that 193f591 is responsible (and this is by design...). If this is the only way of achieving the functionality you need from the views, then at the very least this deficiency needs to be documented prominently - here perhaps
With sentry 0.17.8 enabled:
(Pdb) p view_func
<function set_client_code at 0x7fc81f1c26a8>
(Pdb) p set_client_code
<portal.utils.login_utils._ExtendedCheckLogin object at 0x7fc8210b54a8>

With sentry 0.17.8, but disabled:
(Pdb) p view_func
<portal.utils.login_utils._ExtendedCheckLogin object at 0x7fc63afbb128>
(Pdb) p set_client_code
<portal.utils.login_utils._ExtendedCheckLogin object at 0x7fc63afbb128>

With sentry 0.16.3 enabled:
(Pdb) p view_func
<portal.utils.login_utils._ExtendedCheckLogin object at 0x7f3324e504a8>
(Pdb) p set_client_code
<portal.utils.login_utils._ExtendedCheckLogin object at 0x7f3324e504a8>

I see. I think we will need to figure out another way to wrap the view function then. Thanks for bringing this up!


GH1773: Fix NuGetHasSource ArgumentCustomization & add ConfigFile to NuGetSourcesSettings

Addresses issue with ArgumentCustomization not being used with NuGetHasSource
Adds ConfigFile to NuGetSourcesSettings so one can work against custom NuGet.config
Adds NuGetSourcesSettings  ConfigFile unit tests
Adds ArgumentCustomization unit test for NuGetHasSource
Adds NuGet sources integration tests (.NET Core on posix excluded as nuget.exe won't run ootb there)
Adds NonInteractive which was missing from NuGetHasSource (user input no good in build scripts 😎 )
Fixes #1773

@devlead your changes have been merged, thanks for your contribution 👍


GitHub: Pass the service name and event type to the worker

And use this information to be explicit about which parser to use to create the Event object.

@TomasTomecek I ment something like this when talking about preserving the information about the type of event received: to be explicit about which parser to use to get the arguments for the Event object from the event data, and don't let Parser.parse_event() second-guess the service and event type again.
This PR re-factors only the GitHub parts, follow up work is required to cover the other parsers, too.
Note, that this change should have no performance impact (#2066 is the one which should reduce the number of Celery tasks which ultimately end up not doing anything), but should make the code more explicit.


Scroll for bar chart

### Problem
We have a large data set. We need to display this dataset with a bar chart. With the current features, the columns of the bar graph appear to be very narrow. Is it possible to add a scroll for the bar chart like this?

Sorry, this feature is not available in the current version of ApexCharts.

Any update on this? We too have large sets of data and would like to have a scrollbar in the chart area.

Have an idea on how to solve this problem. Not a great solution, but it works. In the height propery I just calculate the length of my array and multiply for the height I want for each bar:
this.options = {
    chart: {
        height: array.length * 20,
        ...
    },
    ...
}

Then, I wrapped my chart in a div with a fixed height and the scroll property set to auto:
<div class="graphic-container">
    <!-- Your chart goes here -->
</div>

The graphic-container class only have this:
.graphic-container {
  min-height: 300px;
  max-height: 300px;
  overflow-y: auto;
  overflow-x: hidden;
}

Voilá

The problem with the above solution is the xaxis isn't sticky.
It seems that the chart structure must be changed to achieve sticky xaxis (just like highcharts scrollable),
May I have a future request for it?

Any update on this? :eyes:


Fix faulty URL and block CPT code checking while running locally

Summary
Corrected two existing issues:

The small issue is a faulty URL for the validator script. The URL has been updated to match it's expected value according to the IG.
The larger issue was that the test kit, when running locally, could not validate CPT codes (they do get successfully validated through the hosted server). The goal of the fix is to block CPT validation error messages from appearing only when running locally.

@arscan please take a look when you get a chance. Thank you!

Thanks @ljtucker.  Do you happen to have a public example of a code that isn't working so we can replicate?  There shouldn't be a difference in running this locally, so I have a feeling there is a bug somewhere that we'd like track down in the IG/validator/tx.fhir.org for a global fix. But your workaround here looks pretty straightfoward and isolated.

@arscan Here is an example resource that was triggering the error: https://github.com/drajer-health/uds-plus/blob/master/input/examples/Encounter-de-identified-example.json
It is not a difference in code, only the information the validator service has access to. The hosted server run by your team is providing a list of CPT codes to check against, access to which is a paid service. When running locally, the validator service does not have access to that list, and therefore can't validate the codes, triggering the error.

Thanks @ljtucker.  Note that even when you are using a local validator, it is still configured by default to use tx.fhir.org for terminology validation, which is the same service that the hosted validator on inferno.healthit.gov points to for non-certification related tests (including this one).
We think it might be a caching issue, or maybe an issue with what IGs are loaded on inferno.healthit.gov's validator vs. your local validator (if you remember that can cause some weird behavior).  Also, the fact that the CPT code recently changed potentially might be an issue (regarding caching).
Can you provide the exact error(s) in your local instance here just so we can rule out a few things?  Just filtering out this specific CPT error is an option to make the error go away, but we'd also like to figure out why this is happening.

@arscan here is the screenshot we received from the customer. I can confirm that, as of last Wednesday, the given CPT code could be validated by the hosted server, but not locally. If it was a caching issue exclusively, then an encounter with that cpt code should pass locally without any other code changes once the cache is refreshed. I cannot provide you that exact resource, but I believe the resource I did send you has a similar CPT code attached. Please let me know if there is anything else I can do to help test the caching problem before this PR gets merged. Thank you!

@arscan Thank you for getting it merged! Please keep me updated on if/when you find a long-term solution to the bug. I would like to remove that error blocker if we can be sure the test is accurate in the future. I'll go ahead and write an issue ticket as a reminder.

Note that we are scheduled for our next deployment to inferno.healthit.gov early next week.  Let me know that if that profile URL fix is important enough to expedite though.


[Breaking Change] Swagger Breaking change detected errors but did not set a review required label

In PR https://github.com/Azure/azure-rest-api-specs-pr/pull/18515, the Swagger Breaking Change check detected errors:

But did not flag the PR as VersioningReviewRequired. The Automated Merging Requirements also makes no mention of breaking change review.

@mikekistler I see in log:

processBreakingChangeLabels: PR: https://github.com/Azure/azure-rest-api-specs-pr/pull/18515, targetBranch: main. The addition of 'BreakingChangesReviewRequired' or 'VersioningReviewRequired' labels has been prevented because we checked that the PR is not targeting a production branch.

Per https://aka.ms/azsdk/pr-brch-deep#breaking-changes-and-versioning-issues:

The result of running these checks may result in one of these labels being applied: BreakingChangeReviewRequired or VersioningReviewRequired. If this happens, your PR is blocked from any further review, including ARM review, if applicable.

The breaking change/versioning checks are performed only on PRs targeting the main branch in the public specs repo or RPSaaSMaster branch of the private specs repo.

That explains it! Thanks @konrad-jamrozik !


E2E report coverage from CLI

This is a follow up to PR https://github.com/epinio/epinio/pull/1394 to fix issue https://github.com/epinio/epinio/issues/1347.
This enables coverage reporting for the Epinio CLI used in tests. The results from CLI invocations and the server are merged.
This is currently blocked by this bug (double close channel) in the CLI: https://github.com/epinio/epinio/issues/1417

Codecov Report

Merging #1416 (8e2cbb4) into main (6da485d) will increase coverage by 43.80%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##            main    #1416       +/-   ##
==========================================
+ Coverage   7.71%   51.51%   +43.80%
==========================================
  Files         69      157       +88
  Lines       7324    11619     +4295
==========================================
+ Hits         565     5986     +5421
+ Misses      6719     4803     -1916
- Partials      40      830      +790

Flag
Coverage Δ

acceptance-api
49.60% <100.00%> (?)

acceptance-apps
38.37% <100.00%> (?)

unittests
7.70% <0.00%> (-0.02%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

internal/cli/server.go
88.23% <100.00%> (+44.07%)
:arrow_up:

helpers/bytes/bytes.go
100.00% <0.00%> (ø)

internal/api/v1/service/unbind.go
53.96% <0.00%> (ø)

internal/api/v1/configurationbinding/create.go
76.63% <0.00%> (ø)

pkg/api/core/v1/errors/errors.go
79.78% <0.00%> (ø)

internal/api/v1/configuration/replace.go
60.00% <0.00%> (ø)

helpers/kubernetes/platform/generic/generic.go
48.14% <0.00%> (ø)

...ernal/api/v1/configurationbinding/deletebinding.go
53.84% <0.00%> (ø)

internal/auth/auth.go
29.72% <0.00%> (ø)

helpers/kubernetes/platform/k3s/k3s.go
52.94% <0.00%> (ø)

... and 136 more

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 6da485d...8e2cbb4. Read the comment docs.

Investigating locally, with an extended test (more By commands to show interim data) ...
This passed two times, with focus on the modified test.
Currently running a single-node test of the unfocused suite, with the same extended test.

Single node unfocused has passed local CI for that particular test, even if it not yet complete overall.
I will now push my modified tests into CI here. Either it works or I hopefully will have better output for why not.

:bulb: The extended logging tells all. The use of coverage changes the output of app logs ... Lets step back a bit ... The test uses app logs to get the entire current log for the app. It then runs app logs --follow in the background and uses a Scanner to skip to end of that, by counting lines. The count to skip is derived from the number of lines in the app logs result.
Without coverage app logs generated one line at the end which does not exist in app logs --follow, this the test skips logLength-1 lines to reach the end without getting stuck.
With coverage we have 2 additional lines in app logs. Thus the skip gets stuck because it tries to read over the end. We should only skip logLength-3 lines.
And the relevant CI log:

STEP: getting the current logs in full 05/09/22 10:17:13.406
STEP: ---------------------------------- 05/09/22 10:17:31.3
STEP: LOGS = 8 lines 05/09/22 10:17:31.301
STEP: LOG_ [  0]:  05/09/22 10:17:31.301
STEP: LOG_ [  1]: 🚢  Streaming application logs 05/09/22 10:17:31.301
STEP: LOG_ [  2]: Namespace: namespace-365449127 05/09/22 10:17:31.301
STEP: LOG_ [  3]: Application: apps-104545439 05/09/22 10:17:31.301
STEP: LOG_ [  4]: 🕞  [apps-104545439-6688446775-jfrjk] apps-104545439 [Mon May  9 10:16:55 2022] PHP 8.0.18 Development Server (http://<IP_ADDRESS>:8080/) started  05/09/22 10:17:31.301
STEP: LOG_ [  5]: PASS 05/09/22 10:17:31.301
STEP: LOG_ [  6]: coverage: 5.7% of statements in ./... 05/09/22 10:17:31.301
STEP: LOG_ [  7]:  05/09/22 10:17:31.301
STEP: ---------------------------------- 05/09/22 10:17:31.301
STEP: read all the logs 05/09/22 10:17:31.301
STEP: get to the end of logs 05/09/22 10:17:31.302
STEP: ---------------------------------- 05/09/22 10:17:31.302
STEP: SCAN [  0] 05/09/22 10:17:31.302
STEP: SKIP [  0]:  05/09/22 10:17:38.986
STEP: SCAN [  1] 05/09/22 10:17:38.986
STEP: SKIP [  1]: 🚢  Streaming application logs 05/09/22 10:17:38.987
STEP: SCAN [  2] 05/09/22 10:17:38.987
STEP: SKIP [  2]: Namespace: namespace-365449127 05/09/22 10:17:38.987
STEP: SCAN [  3] 05/09/22 10:17:38.987
STEP: SKIP [  3]: Application: apps-104545439 05/09/22 10:17:38.987
STEP: SCAN [  4] 05/09/22 10:17:38.987
STEP: SKIP [  4]: 🕞  [apps-104545439-6688446775-jfrjk] apps-104545439 [Mon May  9 10:16:55 2022] PHP 8.0.18 Development Server (http://<IP_ADDRESS>:8080/) started  05/09/22 10:17:48.362
STEP: SCAN [  5] 05/09/22 10:17:48.363 :boom:
STEP: removing the app 05/09/22 11:00:10.395
STEP: deleting a namespace 05/09/22 11:00:40.396

And it worked locally because I forgot to activate coverage mode :facepalm:

The plan is to keep the extended logging for these test cases. That way, when the log output changes in the future to the point of breaking the tests again we immediately are likely to have the necessary data to fix it. Instead of having to re-add logging, run everything through CI again, and then fixing.


PsGoogle.fetch() cause JsonParsingException

PsGoogle.fetch() causes JsonParsingException
see https://github.com/yegor256/netbout/issues/786

javax.json.stream.JsonParsingException: Not Found
at com.jcabi.http.response.JsonResponse$VerboseReader.readObject(JsonResponse.java:161)
at org.takes.facets.auth.social.PsGoogle.fetch(PsGoogle.java:150)
at org.takes.facets.auth.social.PsGoogle.enter(PsGoogle.java:129)
at org.takes.facets.auth.PsByFlag.enter(PsByFlag.java:108)
at org.takes.facets.auth.PsChain.enter(PsChain.java:70)
at com.netbout.rest.PsTwice.enter(PsTwice.java:70)
at org.takes.facets.auth.TkAuth.act(TkAuth.java:84)
at org.takes.tk.TkWrap.act(TkWrap.java:59)
at org.takes.facets.forward.TkForward.act(TkForward.java:66)
at org.takes.facets.fallback.TkFallback.route(TkFallback.java:78)
at org.takes.facets.fallback.TkFallback.access$000(TkFallback.java:48)
at org.takes.facets.fallback.TkFallback$1.act(TkFallback.java:60)
at org.takes.tk.TkWrap.act(TkWrap.java:59)
at org.takes.tk.TkWrap.act(TkWrap.java:59)
at org.takes.facets.flash.TkFlash.act(TkFlash.java:104)
at org.takes.tk.TkMeasured$1.act(TkMeasured.java:65)
at org.takes.tk.TkWrap.act(TkWrap.java:59)
at org.takes.tk.TkVersioned$1.act(TkVersioned.java:70)
at org.takes.tk.TkWrap.act(TkWrap.java:59)
at org.takes.tk.TkWithHeaders$1.act(TkWithHeaders.java:69)
at org.takes.tk.TkWrap.act(TkWrap.java:59)
at org.takes.tk.TkWrap.act(TkWrap.java:59)
at org.takes.http.BkBasic.print(BkBasic.java:99)
at org.takes.http.BkBasic.accept(BkBasic.java:77)
at org.takes.http.BkSafe.accept(BkSafe.java:58)
at org.takes.http.BkTimeable.accept(BkTimeable.java:94)
at org.takes.http.BkParallel$1.run(BkParallel.java:97)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: javax.json.stream.JsonParsingException: Unexpected char 78 at (line no=1, column no=1, offset=0)
at org.glassfish.json.JsonTokenizer.unexpectedChar(JsonTokenizer.java:532)
at org.glassfish.json.JsonTokenizer.nextToken(JsonTokenizer.java:415)
at org.glassfish.json.JsonParserImpl$NoneContext.getNextEvent(JsonParserImpl.java:222)
at org.glassfish.json.JsonParserImpl$StateIterator.next(JsonParserImpl.java:172)

@yegor256 I guess the scope has not be set during the authorization code request. I think it is the reason

@dmzaytsev I will find a developer for the task soon...

@dmzaytsev since the ticket has no milestone I set it to 1.0

@dmzaytsev thank you for the ticket reported, I topped your account for 15 mins, transaction 65338452

@tiaped can you please help? Keep in mind this. If you have any technical questions, don't hesitate to ask right here; Total fixed cost of this task is 30 mins (see this for more info)

@davvd I am not sure I can finish this task on time. Could you please find another developper

@davvd I am not sure I can finish this task on time. Could you please find another developper.

@tiaped I deducted 30 points from your rating

@davvd I am not sure I can finish this task on time. Could you please find another developper.

@tiaped no problem, I will try to find somebody else

@dimonn12 can you please help? Keep in mind this. If you have any technical questions, don't hesitate to ask right here... The budget of this issue is 30 mins, which is exactly how much will be paid when the task is done (see this for explanation)

@yegor256 @davvd it's already fixed.
yegor256/netbout#786 resolved
I'm closing the ticket

@dmzaytsev thanks!

@dimonn12 there weren't any messages from you, no need to pay, as I understand (feel free to correct me)


[Feature Request] Upgrade command add option --major --minor --patch

Is your feature request related to a problem? Please describe.

Choose a version to upgrade detech

Describe the solution you'd like

Run nextui-cli upgrade --major/--minor/--patch default --minor
If option major, then detech all updatable versions
If option minor, then detech minor patch updatable versions (default)
If option patch, then detech patch updatable versions

Refference: https://github.com/antfu-collective/taze?tab=readme-ov-file
Describe alternatives you've considered
No
Screenshots or Videos
No response

I would like to work on this issue。

@hasmokan assigned. free feel to contact the team members in Discord if you have any questions.

When I run dev locally and use the upgrade command, even though the version of components is not the latest, it shows that they are already up to date.

maybe in src/helpers/package.ts  ,this code changes version of component?

@hasmokan Thx, i will take a look

@winchesHe once merged, I will continue

@hasmokan Merged


[Probable feature request] Tell bundler to install development dependencies for installed gems

Hi,
while using bundler to install a few dependencies, I face with the need to request bundler to install also their development dependencies.
This might not be an expected behaviour, but I would like to be able to request bundler to do it, as we can do with regular rubygems. Would like to see what is the main opinion here about that? is this something nice for more people?
From: http://guides.rubygems.org/command-reference/#gem-install
--development - Install additional development dependencies
--development-all - Install development dependencies for all gems (including dev deps themselves)

/cheers

Please explain more about why you want this feature, including example uses. Why is this better than checking out a repo and running bundle install? What are you trying to do? How would you enable or disable this option? What would it improve? How are you solving this problem now? Why would Bundler doing this be better than that? Thanks.
On Thu, Jan 15, 2015 at 1:09 AM, Pere Urbón<EMAIL_ADDRESS>wrote:

Hi,
while using bundler to install a few dependencies, I face with the need to request bundler to install also their development dependencies.
This might not be an expected behaviour, but I would like to be able to request bundler to do it, as we can do with regular rubygems. Would like to see what is the main opinion here about that? is this something nice for more people?
From: http://guides.rubygems.org/command-reference/#gem-install
--development - Install additional development dependencies
--development-all - Install development dependencies for all gems (including dev deps themselves)

/cheers
Reply to this email directly or view it on GitHub:
https://github.com/bundler/bundler/issues/3347

Thanks for your answer @indirect, I know this is not what is expected from Bundler, but wanted to share anyway in case it might help.
My situation is the next, we use bundler at https://github.com/elasticsearch/logstash to install a set of plugins (gems), if we're in development environment, we aim to have also their development dependencies downloaded so we can for example fun test.
For us having bundler do that, would mean only one fast and reliable way of doing thing.

@purbon many (perhaps most) gems cannot run their tests after gem install foo --development--all. The Gemfile for each project must be installed using bundle install first. I don't think the feature you are requesting will give you the result you want.
If you want to test logstash against gems, you should just add those gems to the logstash Gemfile and use them. Development gems aren't needed.

Thanks for the comments @indirect.


How to set restriced uris?

In google credentials there is:

Authorized redirect URIs

How to configure this value?

As far as I know the authorized redirect URIs are set when creating or editing the OAuth 2.0 client id credentials.

I have error:
{error: "idpiframe_initialization_failed", details: "Not a valid origin for the client: http://localhos…itelist this origin for your project's client ID."}

In case of Meteor packages to integrate with google login there was mentioned in documentation
https://guide.meteor.com/accounts.html#oauth-configuration

Redirect URL. On the OAuth provider’s side, you’ll need to specify a redirect URL. The URL will look like: https://www.example.com/_oauth/facebook. Replace facebook with the name of the service you are using. Note that you will need to configure two URLs - one for your production app, and one for your development environment, where the URL might be something like http://localhost:3000/_oauth/facebook.

Yeah, the error is pointing to the client ID credentials.
To be honest I don't that much about all the parameters.
If you want to try adding the redirect_uri you just need to add it to the params object.
data() {
		return {
			params: {
				client_id: CLIENT_ID,
				redirect_uri: "..."
			},
          }
}

I wish I could help you more. Last time I did something alike it was trial and error and it was a long time ago.


Adding SideCI to Tools

I just add SideCI.
https://www.sideci.com/
User can use TsLint without install, just github auth and open GitHub Pull Request.
(My Editor remove extra spaces, sorry.

@sumyapp thank you for contribution, but I am sorry, I don't feel like this resource belongs to this list.


Update Appendix A content of Developer Guide

Update Appendix A content of Developer Guide

Looks good to merge!

LGTM!


release v0.6

still needs the subprojects to be updated. @matthew-white can you do that once the frontend state is correct?


Get NetNewsWire for Playdate building

Just putting down a marker. Sniping all nerds.

Hoping it was obvious I wasn’t being serious. :)


Create univ-montpellier

Montpellier University has changed their mail, here one of the new ones

@JonathanMAS Could you please tell us what is the new email domain? If it is univ-montpellier.fr (emails ends with @univ-montpellier.fr) , please rename lib/domains/fr/univ-montpellier to lib/domains/fr/univ-montpellier.txt in your request.

@JonathanMAS You might miss my previous comment. Please reply.

@JonathanMAS You might miss my previous comment. Please reply.

Sorry for the answer time.
By the way, I had learn that the previous mails are still in use, so don't need to delete them. (The university of montpellier have 3 differents sections, and subsections. Teachers say me that the university network has a chaotic refactoring ^^' )

@JonathanMAS Thank you for the update! Pull request merged. Thank you!


error on  "W.setdiag(0)" function

The error messages are:
A = graph.adjacency(dist, idx).astype(np.float32)
File "lib/graph.py", line 74, in adjacency
W.setdiag(0)
File "/usr/lib/python2.7/dist-packages/scipy/sparse/base.py", line 684, in setdiag
max_index = min(M, N-k, len(values))
TypeError: object of type 'int' has no len()
When I execute the code  from the usage.ipynb, the above error message prompted。
my python version is 2.7.6

It may be an issue with python 2.7, I've never run the code on python 2. Can you try with python 3.x?

OK


Support local file-based read-only build cache

Expected Behavior
A local read-only build cache directory should be able to serve cached artifacts even if the local directory is write protected (such as a shared volume mounted read-only so that multiple build servers can share the same cache).
Current Behavior
This does not work with either buildCache.local or buildCache.remote, for separate reasons outlined below.
Note this does not require actually "mounting" a remote volume in read-only mode, as a simple local file path with no write access (either owned by another user, or having no write access) will also show the same behavior:
mkdir /tmp/ro-cache
chmod a-w /tmp/ro-cache

Context
Gradle has 2 methods of handling build cache: local (i.e., in ~/.gradle/caches by default), and remote (such as Gradle Enterprise or other remote build cache). The remote build cache is able to support read-only caches, but local build cache requires that the directory be writable.
The simplest idea of implementing this would be to point buildCache.local to the read-only directory, with isPush=false:
buildCache {
    local {
        isEnabled = true
        isPush = false
        directory = "/mnt/gradle-ro-cache"
    }
}

However, despite setting isPush=false, this does not work because DirectoryBuildCacheServiceFactory.checkDirectory() requires that the directory be writable:
            if (!directory.canWrite()) {
                throw new IllegalArgumentException(String.format("Cache directory %s must be writable", directory));
            }

This is presumably because the local DirectoryBuildCache still writes lock files even if isPush=false.
The second idea would be to use something like a simple buildCache.remote<HttpBuildCache>{} and point the url to the read-only path as a file:/// URI.
buildCache {
    remote<HttpBuildCache> {
        isPush = false
        setUrl("file:///mnt/gradle-ro-cache/")
    }
}

this also does not work, reporting only:
Could not load entry 1b3eb85812b22b0eff26eb6abdbb4f1b from remote build cache: URI does not specify a valid host name: file:/mnt/gradle-ro-cache/1b3eb85812b22b0eff26eb6abdbb4f1b

It becomes a "relatively" simple change to create our own version of DirectoryBuildCache that does not require directory.canWrite(), and registering that with its own separate service factory that can be used with for example:
buildCache {
    registerBuildCacheService(ReadOnlyBuildCache::class.java, ReadOnlyBuildCacheServiceFactory::class.java)
    remote<ReadOnlyBuildCache> {
        isPush = false
        directory = "/mnt/gradle-ro/cache/"
    }
}

The problem is that we have to copy and paste the original DirectoryBuildCache and DirectoryBuildCacheServiceFactory in their entirety, because we cannot reuse any parts of either of those in a delegation pattern for example, because a) the factory throws if the directory is not writable, and b) ReadOnlyBuildCache cannot extend DirectoryBuildCache due to how registerBuildCacheService compares the BuildCache class. So we have to reimplement both from scratch.
That becomes more difficult because these being internal classes, the @Inject constructors change from version to version, which means we require a new version of the implementation as of Gradle 7.3 for example, so now the implementation is tightly coupled to the Gradle version.
If any of those issues were addressed in a way that allows a read-only file path to be used, then it would completely remove the need for copy/pasting the DirectoryBuildCache code in order to support this.

Allow DirectoryBuildCache to support a read-only mode: no need for lock files, etc.
A new implementation that can be used with buildCache.remote that isn't geared towards remote HTTP requests and can use a file:/// path instead.

In our particular case, using a shared volume mounted read-only is the easiest solution with AWS build servers, where we can mount an EFS volume read-only. A separate build server mounts the same volume read+write and seeds the build cache on some preset schedule (nightly for example).

For posterity, this is the implementation we've used for dropping in read-only support so that a CI server can opt into this behavior just by adding the -I init script and setting the path to the read-only build cache directory.
https://gist.github.com/jhansche/161a0f0f849bc7d50619ead10af3e42b
This implementation works in Gradle v7.0 - v7.2. But as of v7.3, the injected dependencies have changed, which makes this difficult to manage in a reusable way.


how to spawn 3 obstacles simultaneously

I am trying to figure out how to spawn 3 obstacles at the same time. I can only do it one at a time. Ill give u the code. I am talking about line 42.43.44. I bold it in the notes. Thanks.
Chapter 3 dangerous skies
avatar = game.createAvatar("dragon") #change ths to "phoenix" if you want
if avatar.getScore() > 20:
    avatar.setSpeed(25)

game.setControl("simple")
game.setBackground("jungle")
game.setGravity(300)

coin = game.createResource("gem")
coin.setScore(10)

block = game.createObstacle("ruin")
block.setHP(8)
block.setReward(10)
block.setDamage(5)

rock = game.createObstacle("rock")
rock.setHP(3)
rock.setReward(15)
rock.setDamage(5)

fog = game.createObstacle("fog")
fog.setHP(1)
fog.setReward(2)
fog.setDamage(100)

coin = game.createResource("feather")
coin.setScore(5)
coin.setAddHP(5)

game.addTextDirections("This is the wall that you can't touch, also very hard to break so try to stay away of it.")

game.spawnBottomLane(block)
game.spawnTopLane(rock)

game.addTextDirections("This is the fog it is very weak that easy to break but also creat a lot of damage that can kill you straightaway.")
game.spawnMiddleLane(fog)
while avatar.getScore() < 500:
    choice = game.randomInt(3)
    if choice == 1:
        for i in range(2):
            **_game.spawnTopLane(block)
            game.s pawnBottomLane(block)
            game.spawnMiddleLane(rock)_**
    if choice == 2:
        for i in range(3):
            game.spawnBottomLane(block)
            game.spawnTopLane(block)
    if choice == 3:
        for i in range(2):
            game.spawnMiddleLane(fog)
            for i in range(2):
                game.spawnMiddleLane(coin)
            game.spawnTopLane(rock)
            game.spawnBottomLane(rock)
    if avatar.getScore() > 100:
        for i in range(3):
            game.spawnTopLane(coin)
            for i in range(5):
                game.spawnBottomLane(rock)
            game.spawnMiddleLane(coin)
            for i in range(5):
                game.spawnTopLane(rock)
            game.spawnBottomLane(coin)
            for i in range(5):
                game.spawnTopLane(rock)
    if avatar.getScore() > 220:
        avatar.setSpeed(25)
        avatar.setSpeed(50)
        avatar.setSpeed(75)
        avatar.setSpeed(85)
        rock.setReward(20)
        block.setReward(15)
        fog.setReward(7)
        block.setHP(2)
        rock.setHP(2)
        fog.setHP(1)
        avatar.setShootSpeed(50)
        for i in range(3):
            for i in range(10):
                game.spawnTopLane(rock)
            for i in range(10):
                game.spawnMiddleLane(block)
            for i in range(10):
                game.spawnBottomLane(fog)

    if avatar.getScore() > 500:
        game.win()

Our forum is a better place for level help–can you post there? Thanks!


Login using providers is not working on local

Describe the bug
Login using providers is not working.
To Reproduce
Steps to reproduce the behavior:

On the Login page click on Google or Github

Expected behavior

It should redirect to GitHub or Google's authentication.

Additional context
generated URL is incorrect. In caucus/src/pages/Login/Login.tsx handleLogin function is creating URL as ${backend_URL}/auth/${provider} but the provider is given as /google /github making incorrect request as ${backend_URL}/auth//google instead of ${backend_URL}/auth/google

@Rishabh-malhotraa Please check

Thanks for raising the issue @taksuparth , I'll take a look

Closing this issue as fix for this is merged!


[NuGet] EntityFramework.Commands has Windows 5.0 runtime

The NuGet Package EntityFramework.Commands has Windows 5.0 runtime.  Is this an error or there is a new runtime called Windows 5.0?
Link: https://www.nuget.org/packages/EntityFramework.Commands/

It's due to the temporary TFM netcore50. We still need to update it to uwp10.

@bricelam ok, I could get that when I saw the metadata using NuGet API but "Windows 5.0" is a bit confusing especially when Win10 will be launched soon.

:smile: We're not the only ones: https://www.nuget.org/packages/System.Runtime/

Blocked on aspnet/dnx#2302

Re-opening. This was regressed in 78559e6321aec1d6b0aa67abb08673452235d99e

@bricelam what do we need to do? Need to fix it for RC1?

Just use uwp10.0 instead of netcore50. It's not functionally important.

Closing as we have packages that work. We will continue to do whatever is needed to make things work.


casing fixes

Sorry for all the commits/reverts on the #8038 issue - I had my changes accidentally in the branch for another change and didn't want to leave it there.
Fixes #8038

@Rick-Anderson @scottaddie Thoughts on this one? It's all set to merge.


Is it correct tag name?

I'm not sure that the tag name is correct in usage.
       ......                <**FileReaderInput** as="binary" id="my-file-input"                              onChange={this.handleChange}>           <button>Select a file!</button>         </FileReaderInput>
FileReaderInput should be FileInput, right?

Yeah, thanks.


STORY: Implement Updated Footer

Definition of Ready

[x] Does this meet the INVEST criteria?
[x] Does this have a clearly defined user?
[x] Does this have an estimate?
[x] Does this have acceptance criteria?
[x] Does this have sufficient context (wireframes, business rules, etc.)?
[x] Is this traceable to a feature, epic, or PI?

Acceptance Criteria
As the EPA I want the updated footer to be displayed so that it is compliant with the updated template
Given a user has accessed the EASEY In functionality
When the application is displayed
Then it is displayed with the updated footer
Developer link for the wide template: https://xd.adobe.com/view/08505c73-3291-4c0a-819f-982951ae417f-5d03/specs/ (open the code tab "</>" to view downloadable assets, EPA Logo an EPA Seal, both available as SVG, PNG, and PDF)
Definition of Done

[x] Have all Acceptance Criteria been agreed to and validated by the scrum team?
[x] Has the code been unit tested and peer reviewed?
[x] Have the functional tests been executed?
[x] Have all defects been reviewed and dispositioned, resolved, or deferred?
[x] Has the user story been accepted by the Product Owner?
[x] Is the user story ready to be deployed to the staging/integration environment?

Test Case: TC94 - Passed

Product Owner has accepted the story - Closed