Face Liveness and Antispoof

Issue Description
After some check with different real human images, the result is ok with its speed.
However, when I tried to check on cartoon, the result shown the face spoofing and liveness model would be too noisy ?...
The original image

The result image

Steps to Reproduce
const config = {
  backend: 'tensorflow',
  modelBasePath: `file://${path.resolve('./node_modules/@vladmandic/human/models')}`,
  wasmPath: './node_modules/@tensorflow/tfjs-backend-wasm/dist/',
  debug: true,
  async: false,
  filter: { enabled: true, flip: true, },
  face: {
    enabled: true,
    detector: {
      enabled: true, rotation: false,
      minConfidence: 0.5,
      iouThreshold: 0.3,
      maxDetected: 50,
    },
    mesh: { enabled: false },
    iris: { enabled: false },
    description: { enabled: false },
    emotion: { enabled: false },
    antispoof: { enabled: true },
    liveness: { enabled: true },
  },
  hand: { enabled: false },
  body: { enabled: false },
  object: {
    enabled: true,
    minConfidence: 0.15,
    iouThreshold: 0.3,
    maxDetected: 50,
  },
};

// Method to generate those boxes
const Canvas = require('canvas');
const pixel = require('pixel-util');

// Draw Image
var image = new Canvas.Image;
image.src = await pixel.createBuffer('your-image-file');
const canvas = Canvas.createCanvas(image.width, image.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(image, 0, 0);

const drawRect = (text, box) => {
    const [x, y, width, height] = box;
    const color = Math.floor(Math.random()*16777215).toString(16);
    ctx.strokeStyle = '#' + color;
    ctx.font = '0.875em Arial';

    // Draw rectangles and text
    ctx.beginPath();
    ctx.fillStyle = '#' + color;
    ctx.lineWidth = Math.ceil((image.height + image.width) * 0.0025);
    ctx.fillText(text, x+15, y+30);
    ctx.rect(x, y, width, height);
    ctx.stroke();
  }

  for (const face of result.face) {
    drawRect(`#Face${face.id} [(${(face.score * 100).toFixed(2)})% | Real : ${(face.real * 100).toFixed(2)}% | Live : ${(face.live * 100).toFixed(2)}%]`, face.box);
  }

for (const obj of result.object) {
    if (obj.label !== 'person') { continue; }
    drawRect(`${obj.label} [(${(obj.score * 100).toFixed(2)})%]`, obj.box);
  }

  fs.writeFileSync('your-png-output-path', canvas.toBuffer('image/png'));

Expected Behavior
Lower liveness and real score on those faces ?....
Environment

Human library version : NPM v2.7.3
Built-in demo or custom code : Custom Code
Type of module used : NPM version
TensorFlow/JS version (if not using bundled module)

@tensorflow/tfjs-node": "^3.18.0"

Browser or NodeJS and version : NodeJS v14.17.3
OS and Hardware platform (e.g. Windows 10, Ubuntu Linux on x64, Android 10)? Mac OSX 12.1
Packager (if any) (e.g, webpack, rollup, parcel, esbuild, etc.)?
Framework (if any) (e.g. React, NextJS, etc.)?

Diagnostics

Check out any applicable diagnostic steps

Additional
A even more difficult problem is separating person and hot toy which will be out of scope of this project.

none of the models in this project are designed to work with cartoon images. to work reliable, models would need to be fully retrained. the fact that it works at all is more than i expect.
sorry, i don't know what you expect me to add here?

none of the models in this project are designed to work with cartoon images. to work reliable, models would need to be fully retrained. the fact that it works at all is more than i expect. sorry, i don't know what you expect me to add here?

The question would be about face anti spoofing and liveness. As cartoon faces may not classified with high real and live score ?

They would need to be retrained as well with cartoon images.


Wrong data range for LPIPS calculation?

In nerfstudio, the LPIPS metrics in all models are calculated with torchmetrics LearnedPerceptualImagePatchSimilarity module, like here, but actually, as they noted in their document, this module expects data range to be [-1, 1], but it seems that currently rgb values with data range [0, 1] are sent in and thus will cause the LPIPS metrics to be lower & better than they should be.
This problem is easy to be resolved by setting normalize to True when instantiating the LearnedPerceptualImagePatchSimilarity module.
self.lpips = LearnedPerceptualImagePatchSimilarity(normalize=True)

Fixed in #1425


User Story 6.1 and 8.1: when u create a new org, by default it shows 10000 members and  10000 applicants.

Tested in base branch, when a new org is created, by default the Members and Applicants are shown as 10000.

when u search for a org (if the org have no members yet), by default it shows 10000 members.

After one applicant applies,  it shows 1 applicant and 10000 members.

after the org accept the applicant, it shows 1 member and 10000 applicant.

@aditilamkhede @xJamesScott @adroit22
In the mobile view  when signed in as Org owner the default value 10,000 is displayed in Applicant tab and Members tab when no member is added
https://user-images.githubusercontent.com/51660881/121086891-bc773580-c7b1-11eb-8977-af59bb40e3ef.mp4
when  members  are added it displayes  number of applicants added as members and No applicant tab is displayed as 10,000 in Applicant tab

@hiran11 Pushed a bug fix

Issue is fixed and looks good


Misleading Error When Header Name Used in BEGIN/END

When @"Header_Name" is used in BEGIN and END blocks, the error message is misleading, e.g.
$ goawk --csv  -H 'BEGIN { print @"HEADER" }' /dev/null
@ only supported if header parsing enabled; use -H or add "header" to INPUTMODE

Good point, thanks. Do you think just a better error message would help, for example:
$ goawk --csv  -H 'BEGIN { print @"HEADER" }' /dev/null
no field names for @; use -H or add "header" to INPUTMODE, or use "getline" if in BEGIN

I think just a better error would suffice.  Maybe something like @ not supported in BEGIN/END if headers are enabled.
Would it be too much work to make a parser error?

Yeah, I thought about that -- unfortunately you can't easily make it a parser error, as you can specify the input mode as run time, either by setting INPUTMODE in the BEGIN block, or by setting a variable with goawk -v. From the examples in the docs:
$ goawk 'BEGIN { INPUTMODE="csv header" } @"State"=="New York" { print @"Abbreviation" }' testdata/csv/states.csv
NY
$ goawk -v 'INPUTMODE=csv header' '@"State"=="New York" { print @"Abbreviation" }' testdata/csv/states.csv
NY

You can also use @"HEADER" in BEGIN if you've already read the first line manually with getline, for example:
$ echo -e 'FOO,BAR\nfoo,bar' | go run . --csv -H 'BEGIN { getline; print @"FOO" }'
foo

That's why the error message I've proposed is a bit more verbose. However, it shouldn't be "or use getline" it should be "and use getline":
$ echo -e 'FOO,BAR\nfoo,bar' | ./goawk --csv -H 'BEGIN { print @"FOO" }'
no field names for @; use -H or add "header" to INPUTMODE, and use "getline" first if in BEGIN


Accepting default dict parameter value with no user input causes string "default" to be put into dict parameter

Cookiecutter version: 1.5
Template project url: private repo, minimal example is attached
Python version: 2.7.10
Operating System: Mac OS X 10.10.5

Description:
I'm using dict parameter and trying to let it use default value. When prompted, [default] is shown as dict parameter default value. Then, if I respond to prompt with:

Just enter (i.e. no user input) - project cutting fails due to an error, as cookiecutter puts default into dict parameter (i.e. it becomes string instead of dict).
String "default" and enter - project is cooked successfully with default value.

In two words, just accepting default value for dict parameter by providing no user input causes string "default" to be put into a dict parameter instead of default value provided in cookiecutter.json.
If you allow some speculation, this happens because click.prompt does not call value_proc if no user input is given
See console session logs below.
What I've run:
Failure:
cookiecutter minimal-example/
app_name [dict_default_bug]:
dict [default]:
Unable to create file 'placeholder.md'
Error message: 'str object' has no attribute 'foo'
Context: {
    "cookiecutter": {
        "app_name": "dict_default_bug",
        "dict": "default"
    }
}

Success:
cookiecutter minimal-example/
app_name [dict_default_bug]:
dict [default]: default

minimal-example.zip

Hi @e-kolpakov! 👋
Thank you for this detailed bug report. It helped me implement a fix in no time.
Can you please try out #884?


Fix environment variable formatting for CTR data sync function

It seems wrong the current kvsConsumerTrigger Lambda function uses an environment variable in the following format of kvsConsumerTrigger - rather than SNAKE_CASE as per others.
This renaming scheme brings it inline with the INVOKE_TELEPHONY_INTEGRATION_API_ARN style used with the CTRDataSyncFunction and HandleContactEventsFunction Lambda functions.

Ping @jinalkathiara / @Peng-Wen / @atulwan80

@magnetikonline  Can you sign your commit and then I can merge it

Thanks @jinalkathiara - commit now signed.


Issue with k8s.io/docs/tasks/configure-pod-container/configure-service-account/

projected:
sources:
- serviceAccountToken:
The projected volume is not have serviceAccountToken in sources and throw error while creating the pod with it.

Hi @kumarlakshman
Sorry about the wait. Can you explain more about the trouble you had following that page?

/triage needs-information


Update the go-micro and micro descriptions

Just a little update for the go-micro and micro descriptions from the author :)

Thanks!


[API Integration] Internet Archive

Provider API Endpoint / Documentation

Internet Archive has CC-licensed images: https://archive.org/
This integration could be limited to images only using mediatype:"image"
https://archive.org/details/image?and[]=mediatype%3A"image"
There are close to 3.5 million images available.
To filter by license, the CC abbreviations can be used. For example:
https://archive.org/details/image?and[]=mediatype%3A"image"&and[]=licenseurl:http*by-nc*
...gives more than 110,000 results.
There is more information about license search here:
https://help.archive.org/hc/en-us/articles/360018359991-Search-A-Basic-Guide
API docs
Example query
Ticket work required beyond this point
Provider description

Licenses Provided

Provider API Technical info

Checklist to complete before beginning development

No development should be done on a Provider API Script until the following info is gathered:

[ ] Verify there is a way to retrieve the entire relevant portion of the provider's collection in a systematic way via their API.
[ ] Verify the API provides license info (license type and version; license URL provides both, and is preferred)
[ ] Verify the API provides stable direct links to individual works.
[ ] Verify the API provides a stable landing page URL to individual works.
[ ] Note other info the API provides, such as thumbnails, dimensions, attribution info (required if non-CC0 licenses will be kept), title, description, other meta data, tags, etc.
[ ] Attach example responses to API queries that have the relevant info.

General Recommendations for implementation

The script should be in the src/cc_catalog_airflow/dags/provider_api_scripts/ directory.
The script should have a test suite in the same directory.
The script must use the ImageStore class (Import this from
src/cc_catalog_airflow/dags/provider_api_scripts/common/storage/image.py).
The script should use the DelayedRequester class (Import this from
src/cc_catalog_airflow/dags/provider_api_scripts/common/requester.py).
The script must not use anything from
src/cc_catalog_airflow/dags/provider_api_scripts/modules/etlMods.py, since
that module is deprecated.
If the provider API has can be queried by 'upload date' or something similar,
the script should take a --date parameter when run as a script, giving the
date for which we should collect images. The form should be YYYY-MM-DD (so,
the script can be run via python my_favorite_provider.py --date 2018-01-01).
The script must provide a main function that takes the same parameters as from
the CLI. In our example from above, we'd then have a main function
my_favorite_provider.main(date). The main should do the same thing calling
from the CLI would do.
The script must conform to PEP8. Please use pycodestyle (available via
pip install pycodestyle) to check for compliance.
The script should use small, testable functions.
The test suite for the script may break PEP8 rules regarding long lines where
appropriate (e.g., long strings for testing).

Examples of other Provider API Scripts

For example Provider API Scripts and accompanying test suites, please see

src/cc_catalog_airflow/dags/provider_api_scripts/flickr.py and
src/cc_catalog_airflow/dags/provider_api_scripts/test_flickr.py, or
src/cc_catalog_airflow/dags/provider_api_scripts/wikimedia_commons.py and
src/cc_catalog_airflow/dags/provider_api_scripts/test_wikimedia_commons.py.

API docs
Example query

Thank you @stragu for requesting this. We will do further research and determine prioritization.

I've updated the original ticket from @stragu to include our standard format for new providers, and the links you included as well @mathemancer
This is now ready for community contribution.

Hi @kgodey ! What does "not suitable for work as repo is in maintenance" mean?
Did the feature make it into the addon at all?

@stragu Please see this blog post for more details: https://opensource.creativecommons.org/blog/entries/2020-12-07-upcoming-changes-to-community/

Oh that's a real shame about the reduced capacity.
So if we would like the Internet Archive to be added to the CC Search Browser Extension, I should reopen this issue there? https://github.com/creativecommons/ccsearch-browser-extension/issues/64
Or does it simply mean that no new sources will be added to the extension?

Unfortunately, no new sources will be added at this time. Hopefully that will change in the future.

@kgodey that's unfortunate, but thank you for your work and your quick replies. All the best!


41 | First Missing Positive | C++

Title - 41 | First Missing Positive | C++
What will change -
Adding a solution to this problem.
Type of Issue -
Please add/delete options that are not relevant.

[x] Adding New Code
[ ] Improving Code
[ ] Improving Documentation
[ ] Bug Fix

Programming Language
Please add/delete options that are not relevant.

[ ] Python
[x] C++
[ ] Java
[ ] SQL

Self Check

Ask for issue assignment and wait to get assigned to it before making Pull Request.
Add your file in the proper folder
Clean Code and Documentation for better readability
Add Title and Description of the program in the file

:star2: Star it :fork_and_knife:Fork it :handshake: Contribute to it!
Discord server ✉ - https://discord.gg/CXksGdn
Happy Coding,

Please assign it to me.

please assign some tasks to me

@aditsawant Assigned it to you, make sure only this code is committed in the pull request, Thanks

@hjpassion Sure, make an Issue for whichever Leetcode Solution you'd like to contribute and see to it that no one else has done it

Please assign to me also


close compaction by default

We'd better close compaction before it is stable

Greate job!

Coverage increased (+0.03%) to 68.285% when pulling 340ea194a0a336a81ef75dd58562b16a43aae6d3 on close_compaction into b5bc63abfa631906eb1793d8998c8135081d2225 on master.


docker cp only accepts truncated container IDs

docker cp command only allows for truncated container IDs and does not support full ones.

Hi @HubertKaluzny
Thanks for the report.
This is a docker engine issue, though, and should be filed on http://github.com/moby/moby
This here is the tracker for the registry.


Feat: messaging icon and bottom to top icon needs to be fixed in mobile view

Describe the feature

Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

Hello @anuragverma108 please assign this issue to me under gssoc 24

Sorry I cross checked it is fine in mobile


Undocumented requirements

Running tests in a clean environment shows that point match optimization imports cv2, matplotlib, and jinja2 which are not currently in requirements.txt.  I was only erroring on cv2 as it was the first one called.
Not sure I understand why these issues aren't showing up in CI stuff.

According to Forrest this is because the environment used for testing is built off the combined requirements from render-modules as well as render-python-apps
This is fine, but we should add these as requirements while they are necessary.


Unable to create router for some containers

Do you want to request a feature or report a bug?

Bug

What did you do?
Creating a new container through docker-compose.
I tried to create the container "manually" from portainer, but same behavior.
broken:
  workify:
    image: "registry.gitlab.com/thetrigger/workify-backend:latest"

working:
  workify:
    image: "containous/whoami"

labels:
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.workify-backend.rule=Host(`be.workify.ncs.oibi.dev`)"
      - "traefik.http.routers.workify-backend.tls=true"
      - "traefik.http.routers.workify-backend.tls.certresolver=le"

The problem seems triggered by the image from ASP.NET Core 3 (tried with ubuntu and alpine)
I tried with another software that's based on 2.2 and it's working.
Simple 3.1 Dockerfile (not working)
# Stage 1
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build
WORKDIR /build

EXPOSE 80
COPY . .
RUN dotnet restore
RUN dotnet publish -c Release -o /app
# Stage 2
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1 AS final
WORKDIR /app
COPY --from=build /app .
ENTRYPOINT ["dotnet", "Workify.dll"]

Working 2.2:
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2-stretch-slim AS base
WORKDIR /app
EXPOSE 80

[ .. omitted ..]

FROM mcr.microsoft.com/dotnet/core/sdk:2.2-stretch AS build

[ .. omitted ..]

What did you expect to see?

Working router and https certificates

What did you see instead?

No http router and no certificates

Output of traefik version: 2.1
docker: Docker version 19.03.5, build 633a0ea838
Traefil: 2.1.8

What is your environment & configuration (arguments, toml, provider, platform, ...)?
version: "3.3"

services:

  traefik:
    image: "traefik:v2.1"
    container_name: "traefik"
    command:
      - "--log.level=DEBUG"
      - "--api.dashboard=true"
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--providers.docker.network=traefik2_default"
      - "--entrypoints.web.address=:80"
      - "--entryPoints.websecure.address=:443"
      - "--certificatesResolvers.le.acme.email=-omitted-"
      - "--certificatesResolvers.le.acme.storage=/etc/traefik/acme/acme.json"
      - "--certificatesresolvers.le.acme.tlschallenge=true"
      - "--certificatesResolvers.le.acme.httpChallenge.entryPoint=web"
      - "--certificatesResolvers.le.acme.dnsChallenge=true"
      - "--accesslog=true"
      - "--accesslog.filepath=/logs/access.log"
      - "--accesslog.bufferingsize=100"
    networks:
      - traefik2_default
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock:ro"
      - "/opt/traefik2/configuration/:/configuration/"
      - "/opt/traefik2/acme:/etc/traefik/acme" # chmod 600 acme
      - "/opt/traefik2/logs:/logs/"
    labels:
      - "traefik.enable=true"
      - "traefik.docker.network=traefik2_default"
      - "traefik.http.routers.api.rule=Host(`traefik.oibi.dev`)" # || Path(`/*`)"
      - "traefik.http.routers.api.tls=true"
      - "traefik.http.routers.api.tls.certresolver=le"
      - "traefik.http.routers.api.service=api@internal"
      - "traefik.http.routers.api.middlewares=dashboardBasicAuth"
      - "traefik.http.middlewares.dashboardBasicAuth.basicauth.users=-omitted-"
      # ANY HTTP to HTTPS redirect
      - "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
      - "traefik.http.routers.http-catchall.middlewares=redirect-to-https"
      - "traefik.http.routers.http-catchall.rule=hostregexp(`{host:[a-z-.]+}`)"

networks:
  traefik2_default:
    external: true

If applicable, please paste the log output in DEBUG level (--log.level=DEBUG switch)
since route is ignored:
time="2020-03-20T16:56:31Z" level=debug msg="Serving default certificate for request: \"be.workify.ncs.oibi.dev\""

Hi! I'm Træfiker :robot: the bot in charge of communication regulation.
Thanks for your interest in Traefik!
We dedicate the issue tracker to bug reports and feature requests only. My advanced AI has spotted that your issue might be a configuration problem or relates to something that doesn't look like a bug.
To confirm this, please join our Community Forum and reach out to us on the Traefik section.
In case I'm wrong (well, that would be embarrassing :sweat_smile:), my developers will re-open the issue and fix me!
In the meantime, you can double check Traefik's documentation.

It's not a configuration problem


Reflowing paragraph in GFM starting with asterisk results in each line starting with asterisk.

Prerequisites

[x] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: https://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: https://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description
[Description of the issue]
Reflowing a paragraph starting with an asterisk (for bold first sentence) results in each new line starting with an asterisk.
Steps to Reproduce

Start a paragraph with something
Write some more
Reflow

Expected behavior: [What you expect to happen]
**Bold text** this is my really long string which I want to be reflowed nicely
but it isn't

Actual behavior: [What actually happens]
**Bold text** this is my really long string which I want to be reflowed nicely
*but it isn't

Reproduces how often: [What percentage of the time does it reproduce?]
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.
Additional Information
Any additional information, configuration or data that might be necessary to reproduce the issue.

Thanks for contributing!
We noticed that this looks like a duplicate of https://github.com/atom/atom/issues/18024 so you can subscribe there for updates if you'd like.

Because we treat our issues list as the Atom team's backlog, we close duplicates to focus our work and not have to touch the same chunk of code for the same reason multiple times. This is also why we may mark something as duplicate that isn't an exact duplicate but is closely related.
For information on how to use GitHub's search feature to find out if something is a duplicate before filing, see the How Can I Contribute? section of the Atom CONTRIBUTING guide.


just set nmdc-schema import tag to main for now

Relates to #131  ?
@turbomam

this would undo setting the tagged release.
Do we want to import "main" branch or tag release? Tagged release are better. Closing as OBE.

Boy, I'm having a hard time remembering what I meant by this issue. It makes sense to me that @mslarae13 closed it.
What does OBE mean?

https://community.atlassian.com/t5/Jira-questions/What-does-OBE-Overcome-By-Events-test-execution-status-actually/qaq-p/1288005 ?


Add support for Umbraco 11

The below error appears when trying to use this package with Umbraco 11:

System.MissingMethodException: Method not found: 'Void Umbraco.Extensions.ServiceCollectionExtensions.AddUnique(Microsoft.Extensions.DependencyInjection.IServiceCollection)'.
   at Our.Umbraco.PersonalisationGroups.Core.ServicesConfiguration.AddProviders(IServiceCollection services, IConfigurationSection configSection)
   at Our.Umbraco.PersonalisationGroups.Core.ServicesConfiguration.AddPersonalisationGroups(IUmbracoBuilder builder, IConfiguration config)

AddUnique requires both a TService and TImplementing in Umbraco 11, so I believe switching this to AddSingleton should resolve the issue?

Thanks @rickbutterfield - I had planned some time over the holidays to check this package worked OK on 11.  Thanks for answering it for me and fixing it!  Does look like this will work on 10 too so it'll just be a case of releasing a patch that'll then work on both versions.

I've released 3.2.3 now with this update.  Thanks again and Merry Christmas!


Router should get context path when starting up

Rather than having to set the base url and base href the router should pick up the context URL when the app starts and use that as the base for the routes.

What is the "context url"? I haven't seen that term before. Where can we derive it from?

Everything after the domain:
http://www.foo.com/some/context/url

And how does that relate to the base tag?

See gitter... Someone was having a very hard time getting it to correctly route under the context.
If the app was running under /context1 rather than going to /context1/route1 it wanted to take them to /route1
In multi-app sites that could be part of a whole other app.
I haven't set up an Aurelia app to run below the root context but I don't see why the router can't handle that on its own.
Here's what he said he had to do to get it working. In the JSP he had to render this into the HTML:

and then when configuring the router:
var base = document.getElementByTagName(“base”)[0].href.replace(location.protocal + “//“ + location.host, “”);
config.map([
{ route: [base, base + "firstroute"] ... },
{ route: [base + "secondroute"] ... },
]);
None of this should be necessary.

I have got a workaround for this, but it's very clunky:
In the index file, add a base tag with the context path (be aware that this is JSP templating, NOT Aurelia templating). Don't forget the trailing slash!
<base href="${pageContext.request.contextPath}/" />

And in configureRouter(), do the following.
var base = document.getElementByTagName("base")[0].href.replace(location.protocol + "//" + location.host, "");

config.map([
   { route: [base, base + "firstroute"], ... },
   { route: [base + "secondroute"], ... },
   { route: [base + "thirdroute"], ... }
]);

It would be nice if Aurelia picks up this "base" from the base tag automatically, or we can enable it somehow (config.options.useBaseURL = true). Angular does this out of the box, by the way.
As it is now, all the route hrefs will have the context path stripped away.

We're happy to address this. It sounds like a good contribution that could come from the community. Is anyone interested in putting together a pull request for this?

I could take a look if you can point me to where I should start. I haven't messed with the router at all.

Start by looking at the history-browser library. It's relatively small and important to this issue.

Okay, will do

On May 20, 2016, at 2:25 PM, Rob Eisenberg<EMAIL_ADDRESS>wrote:
Start by looking at the history-browser library. It's relatively small and important to this issue.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub https://github.com/aurelia/router/issues/341#issuecomment-220682453

Be aware that the <base> tag breaks SVG id's, so this should also work without it: https://github.com/aurelia/router/issues/382


chore: promote test15 to version 0.0.27

chore: promote test15 to version 0.0.27
this commit will trigger a pipeline to generate the actual kubernetes resources to perform the promotion which will create a second commit on this Pull Request before it can merge

@q1323829945: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

verify
fe122060cc1d9d98d48f69276a00fac1c93f8cb2
link
/test verify

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.


Consider moving EventProcessor to the root namespace

The EventProcessor is the main way for people to interact with Event Hubs. It should be easy to find and putting it in the root namespace might help with that.

Closing as we've rolled up EventProcessor into EventHubConsumerClient.


Missing dataset file

Hi Julien,
I just tried to run your app, but I get this exception:
Apr 29 08:48:39 snips snips-skill-server[22199]: INFO:snips_skill_server_lib::runner            : [onboard][err] Traceback (most recent call last):
Apr 29 08:48:39 snips snips-skill-server[22199]: INFO:snips_skill_server_lib::runner            : [onboard][err]   File "./action-onboard.py", line 144, in <module>
Apr 29 08:48:39 snips snips-skill-server[22199]: INFO:snips_skill_server_lib::runner            : [onboard][err]     OnBoardingApp()
Apr 29 08:48:39 snips snips-skill-server[22199]: INFO:snips_skill_server_lib::runner            : [onboard][err]   File "./action-onboard.py", line 41, in __init__
Apr 29 08:48:39 snips snips-skill-server[22199]: INFO:snips_skill_server_lib::runner            : [onboard][err]     for _ in self._assistant.dataset.intent_per_name.keys()
Apr 29 08:48:39 snips snips-skill-server[22199]: INFO:snips_skill_server_lib::runner            : [onboard][err]   File "/var/lib/snips/skills/snips-app-onboarding/venv/lib/python3.5/site-packages/snips_app_helpers/snips/assistant.py", li
ne 107, in dataset
Apr 29 08:48:39 snips snips-skill-server[22199]: INFO:snips_skill_server_lib::runner            : [onboard][err]     self.language, self._original_path.parent / "dataset.json"
Apr 29 08:48:39 snips snips-skill-server[22199]: INFO:snips_skill_server_lib::runner            : [onboard][err]   File "/var/lib/snips/skills/snips-app-onboarding/venv/lib/python3.5/site-packages/snips_app_helpers/snips/dataset/__init__.
py", line 176, in from_json
Apr 29 08:48:39 snips snips-skill-server[22199]: INFO:snips_skill_server_lib::runner            : [onboard][err]     raise ValueError('Missing dataset file @ %s' % str(filepath))
Apr 29 08:48:39 snips snips-skill-server[22199]: INFO:snips_skill_server_lib::runner            : [onboard][err] ValueError: Missing dataset file @ /usr/share/snips/assistant/dataset.json
Apr 29 08:48:39 snips snips-skill-server[22199]: WARN:snips_skill_server_lib::handler::nosandbox: child onboard has stopped with status `exit code: 1`
Apr 29 08:48:39 snips snips-skill-server[22199]: INFO:snips_skill_server_lib::runner            : restarting action onboard (restart_fails: 2)

Are you trying to load the Snips NLU dataset that has been used to train the assistant? As far as I know, that file is not in the /usr/share/snips/assistant directory. At least not when I deploy assistants from the Snips Console.

Hi koan,
Not sure what is your assistant install procedure.
I am using sam to deploy the assistant (tested on the pi for now only with default config). Just removed

I just added your app to my assistant in Snips Console.and did sam install assistant on Raspbian.

might it be a permission problem ?
-rw-r--r-- 1 pi pi 929K Apr 29 12:10 /usr/share/snips/assistant/dataset.json
Thanks for your interest in the app.

I really don't have this file in my assistant:
pi@snips:~ $ ls -l /usr/share/snips/assistant
total 36
-rw-r--r-- 1 pi pi 10584 Apr 29 16:25 assistant.json
drwxr-xr-x 3 pi pi  4096 Apr 29 18:25 custom_asr
drwxr-xr-x 4 pi pi  4096 Apr 29 18:25 custom_dialogue
drwxr-xr-x 7 pi pi  4096 Apr 29 18:25 nlu_engine
drwxr-xr-x 9 pi pi  4096 Apr 29 18:25 snippets
-rw-r--r-- 1 pi pi   755 Apr 29 16:25 Snipsfile.yaml
-rw-r--r-- 1 pi pi    26 Apr 29 16:25 trained_assistant.json

I never had this file in any of my assistants. Otherwise, I would have discovered it and I would have written your onboarding app myself some time ago ;-)
I wiped my assistant directory and did sam install assistant, but the only files I see are the ones above. I also downloaded the zip file manually and inspected it, and the result is the same: no dataset.json.
I even created an assistant from scratch, added your app to it and deployed it. The result is the same.
This is with Snips Flow 0.62.3 on Raspbian 9.8.

Maybe a difference since I am console admin ...
I will ask today.
Sorry for the inconveniance (I wasn't aware of that if that is that's the case)
thanks for the feedback.

Discussed with our CTO today,
Sadly this dataset.json is only shipped with admin account and is not planned to be accessible for now from console...
While I hope this feature blocage will be removed with time, but I have received no encouraging indication (it is locked in part because some of the user pay for dataset augmentation while willing to ship their assistant in production env without data to avoid assistant replication + few other reasons ).
I am really disapointed to say that this app will not serve anyone except internal snipsters ....
Will update the readme to reflect that.


Updated Docker client version (fixes #500)

Codecov Report

Merging #501 into master will decrease coverage by 0.15%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #501      +/-   ##
==========================================
- Coverage    77.4%   77.25%   -0.16%
==========================================
  Files          11       11
  Lines        1288     1288
==========================================
- Hits          997      995       -2
- Misses        231      232       +1
- Partials       60       61       +1

Flag
Coverage Δ

#unittests
77.25% <ø> (-0.16%)
:arrow_down:

Impacted Files
Coverage Δ

selenoid.go
87.09% <0%> (-0.47%)
: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 846280b...a056eb5. Read the comment docs.


❓ Question:  Uploads

🙋♂ Question
When will the expired uploads get deleted from the server? I cannot create the same link name even though the last upload expired! I also manually deleted the file from the server but couldn't create a new link with same name!

The expired shares should get deleted every hour with a cron job. If you delete the files the share still exists because it is still in the database.


is there a way to delete the image vectors after montage finish calculate in CompleteMontage.cxx

the oImages, sImages, bImages is no longer used after montage Update, i want to release the momory they occupied
montage->Update(); // calculate registration transforms
oImages.clear();
oImages.shrink_to_fit();
sImages.clear();
sImages.shrink_to_fit();
bImages.clear();
bImages.shrink_to_fit();

also i want to delete montage after resample Update
delete montage ;
delete resampleF;

yet the deconstruct funtion is protected, i change it to public, the program
will coredump, is there a better way to release memory that mid variables no longer used in CompleteMontage,
as i want to send the resample output to a matlab dll, my pc will be out of memory if not released before GetOutput

You could put the code into a code block, e.g.:
ClassWhichAllocatesMemory var1;
// do stuff
someResult = var1.someMethod();
// now we no longer need var1

the usual solution:
someResult;
{
  ClassWhichAllocatesMemory var1;
  // do stuff
  someResult = var1.someMethod();
} // when this block is closed, var1 goes out of scope and is deallocated
someResult.use();

But in this instance there are two more options:
for (size_t t = 0; t < stageTiles.LinearSize(); t++)
{
  montage->SetInputTile(t, nullptr); // release montage's pointer to the image
}

This should get the images' reference counters down to zero, causing them to be deallocated.
But as variable montage is a pointer, this should have the same effect and is shorter: montage = nullptr;. It will cause the montage to be deallocated, along with its internal variables.

Reopen issues if there are further details.


NFC: Remove use of GreedyPatternRewriter for first-level tile and distribute

The core functionality is moved into a utility method and called by walking over the function, instead of relying on GreedyPatternRewriter + Transformation Filter for applying the pattern only once.

@antiagainst This seems to fail in the lowering_matmul_promotion.mlir lit test. I cant understand why though. It is meant to be an NFC. Any pointers?

never mind. Found the issue. Sorry for the noise.


add support for track_total_hits

Description
In ES v7+, add support for track_total_hits to fix aggretation queries to allow more than 10000 hits.

Checklist

[x] I have reviewed the contributing guidelines.
[ ] I have included unit tests for my changes or additions.
[ ] I have successfully run make test-docker with my changes.
[x] I have manually tested all relevant modes of the change in this PR.
[x] I have updated the documentation.
[ ] I have updated the changelog.

Questions or Comments

Only manually tested on ES 7+. Did not test if this change breaks lower than that.


Allowlist support for deleting entries

Is your feature request related to a problem? Please describe.
As a user, I would like to filter the keys in my Event with an explicit allowlist, and delete all other keys.
Describe the solution you'd like
An additional parameter in the delete_entries processor
delete_entries:
     delete_all_except: [ “key-one”, "key-two”, "key-three” ]

This would result in the Event only containing the three keys above, and all others will be deleted. We could consider having each element be a regex pattern instead of just a string, but this would impact performance, since we would have to match each key against every pattern until there was a match. For keys that don't match any patterns, they would be matched against every pattern in the list. Given that, I am proposing not support regex yet
Describe alternatives you've considered (Optional)
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Currently we have like
- delete_entries:
    with_keys: [ "message" ].

To be consistent, may be we can add this capability as :
- delete_entries:
    with_keys: [ "message" ]
    with_keys_except: [ "message" ]

Or Simply :

delete_entries:
include_keys: [ "message" ]
exclude_keys : [ "message" ]

Adding include_keys and exclude_keys can be generic extension to all mutation processors to allowlist or deny_list.

FWIW I like all_keys_except as a naming convention.
This would be really useful for us. We're working on configuring ingestion from DynamoDB in AWS and we want to delete all the keys except a known few. Part of the problem is the keys are dynamic.
Is there currently a way to do this? Does with_keys allow partial matching?
- delete_entries:
    with_keys: [ "message.*" ].


Vaults only show up if in the same region and subscription

The list of vaults is only from the current region and subscription that you are in and not from anywhere.
How do I get it to list all the vaults I can see similar to the Microsoft.Solutions.ResourceSelector does via
"options": {
"filter": {
"subscription": "All",
"location": "All"
}
},
?
Thanks
--Chuck

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: b19ba7bf-3f25-66c2-ba2a-8798a86d0686
Version Independent ID: 03799e10-e8e5-5c1a-c821-4f09c6294bba
Content: KeyVaultCertificateSelector UI element - Azure Managed Applications
Content Source: articles/azure-resource-manager/managed-applications/microsoft-keyvault-keyvaultcertificateselector.md
Service: managed-applications
GitHub Login: @tfitzmac
Microsoft Alias: tomfitz

@chuckthompsonprofisee Thanks for your query, our team will review and circle back to you at the earliest.

@chuckthompsonprofisee We do not have this capability as yet. If interested, I would recommend you to share it as a feature request from here and upvote it and other features that are of interest. In general, Azure feature team would check feasibility of a feature request, prioritize against existing feature backlog, add in roadmap as appropriate and would announce and/or update the related Azure document once a feature request is addressed.
Just FYI, this azure-docs repository deals about feedback related to particular Azure document page (like correcting doc bugs, doc enhancements, product issues related to wrong doc instructions, etc.) so going forward if you want to share any feedback related to particular Azure document then I suggest you to share such feedback here. But on the other hand if you need help in resolving a product related issue or question then I suggest you to ask the question in public forums like Microsoft Q&A, etc.
As at this point it appears that there's no edits or updates needed for the referred Azure documentation so closing this issue for now. If there are further questions regarding this matter or feedback on the referred Azure documentation, please do let us know and we will gladly continue the discussion.


fetch requests fails as network errors on chrome console

Prerequisites

[ ] I am running the latest version. (up upgrade)
[x] I searched to see if the issue already exists.
[x] I inspected the verbose debug output with the -v, --verbose flag.
[ ] Are you an Up Pro subscriber?

Description
Our function randomly stops working and keeps interrupting requests either immediately or after a while. Sometimes a lot less time to fail than the timeout.
here are some error logs on cloudwatch:
 "message": "error creating handler: waiting for http://<IP_ADDRESS>:36785  to be in listening state: timed out after 15s"
RequestId: id Error: Runtime exited with error: exit status 1
Runtime.ExitError

Lambda execution failed with status 200 due to customer function error: RequestId: id Error: Runtime exited with error: exit status 1. Lambda request id: id
To give you more background, our function is a graphql server using graphql yoga. Here's how it's configured:
const server = new GraphQLServer({
    typeDefs: './src/schema.graphql',
    resolvers,
    middlewares: [permissions],
    resolverValidationOptions: {
        requireResolversForResolveType: false,
    },
    context: req => ({ ...req, db }),
});

server.start(
    {
        playground: false,
        validationRules,
        formatError,
    },
    ({ port }) => {
        console.log(`server started at port: ${port}`);
        console.log('process.env.PORT', process.env.PORT);
    }
);

now I understand that PORT is managed by up, so it's given as is. Once I noticed that the logs above print not the same port numbers, I tried to set the port of the server to process.env.PORT but that didn't solve the problem.
What's weird is that our production server has the same config without changing the port number, keeping it to the default of graphql yoga which is port 4000.
So how does that work?
each lambda invocation means a new PORT, right?
shouldn't the graphql server listen to the same port number, or would it work on the default 4000
Now all that above wasn't enough to pinpoint the exact location of the issue, It's still vague.
More error logs:
{"fields":{"app-name","commit":"123","error":"net/http: timeout awaiting response headers","id":"0","plugin":"relay","stage":"staging","version":"504"},"level":"warn","timestamp":"2021-02-06T20:11:50.190274865Z","message":"request timeout"}
2021/02/06 20:11:50 http: proxy error: net/http: timeout awaiting response headers
Any help is highly appreciated.
2021/02/06 20:11:50 http: proxy error: net/http: timeout awaiting response headers
[Network error]: {"name":"ServerParseError","response":{},"statusCode":502,"bodyText":""}
UPDATE:
just noticed that the server actually starts using the same port that UP defines at runtime:
    "message": "process.env.PORT 38369"
    "message": "server started at port: 38369"
    "message": "error creating handler: waiting for http://<IP_ADDRESS>:38369 to be in listening state: timed out after 15s"

So judging by the last error message, does it mean that the server/up is taking a lot of time to be in listening state ?
any way to debug/increase that 15second number?

Unfortunately debugging that is pretty app-specific, since it means your app is either taking too long (say connecting to databases before, reading files etc) before listening on PORT. Sometimes it can be as simple as forgetting to pass process.env.PORT or perhaps passing it incorrectly to the server (if it expects a number instead of string for example).

Hey @tj
Increasing the timeout did fix a big chunk of the issue to make development a little bit easier than before. But the problem still occurs randomly; first fetch sometimes, immediately sometimes, sometimes it's really slow to respond, etc.
Since you mentioned connecting the database, what we use is a Prisma 1 server hosted on EC2. That Prisma server in turns connects to our RDS database. Do you think the issue might be related to these parts?
I just don't want this issue to come to the production server once I merge the code there. Anything else I could do to better debug this?

Locally it works perfectly fine though. So the requests passing through apigw and lambda run into unreported issue it seem.

For whoever struggles with this in the future, make sure to remove docker completely.


bigloo: unbreak on x86_64-darwin

Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release 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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Any clue why the SDK bump fixes the referenced libstring issue? Seems weird, since AFAICT, libstring shouldn't be related to the SDK at all?

Oh, the SDK bump is not necessary...


Create: 1985-Find-The-Kth-Largest-Integer-In-The-Array.py

File(s) Modified: 1985-Find-The-Kth-Largest-Integer-In-The-Array.py
Language(s) Used: python
Submission URL: https://leetcode.com/submissions/detail/815758747/

Thanks for contributing!


Vision capabilities to Chat?

Do you have plans to add support for Vision to the Chat Completions API?  I wanted to check before taking any deeper look.  Thanks!

Yes would be great to add in, I could possibly look at adding this in week or so, or PR 's are welcome if you fancy adding it in.


pull request for e2e test at 01/22/2017 09:15:15

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Alias group - Strange update

Describe the bug
ALL alias group file dosen't update when we click Apply. We have to delete or change md5 sum file in /var/db/aliastables.
To Reproduce
Steps to reproduce the behavior:

Go to Firewall -> Aliases -> Add alias

Name: IP_ALIAS1
Type: host
-Content: <IP_ADDRESS>

Go to Firewall -> Aliases -> Add alias

Name: IP_ALIAS2
Type: host
-Content: <IP_ADDRESS>

Go to Firewall -> Aliases -> Add alias

Name: IP_ALIAS_GOUP
Type: host
-Content: IP_ALIAS1,IP_ALIAS2
Click Apply

File /var/db/aliastables/IP_ALIAS_GOUP.txt should contain two entries:
<IP_ADDRESS>
<IP_ADDRESS>
Now (remve IP_ALIAS2 from alias group):
Go to Firewall -> Aliases -> IP_ALIAS_GOUP -> Change alias

Content: IP_ALIAS1
Click save and Apply

a) Go to Firewall -> Diagnostic -> pftable -> show -> IP_ALIAS_GOUP (should contain one entry)
b) File /var/db/aliastables/IP_ALIAS_GOUP.txt should contain one entry:
<IP_ADDRESS>
But still contains two (<IP_ADDRESS>,<IP_ADDRESS>)
To update IP_ALIAS_GOUP pftable we have to remove IP_ALIAS_GOUP.md5.txt or change md5 entries in this file (and then click aply) or after change IP_ALIAS_GOUP and clicking apply wait about 2-4 minutes.
The same happens when you add aliases to a exist group.
Expected behavior
Correct update of the aliases group and pftables
Environment
OPNsense Version:
OPNsense 19.1.6-amd64
Clean install from OPNsense-19.1.4-OpenSSL-dvd-amd64.iso

@advcron thanks for the report, I've prepared a patch on master https://github.com/opnsense/core/commit/3dc5f7150337434d838c79260278b148fa1afda6. Since there are more changes stashed for the python 2->3 conversion, it probably won't fit the current stable version.

@AdSchellevis I run OPNsense 19.1.6-amd64 and this patch works.
After click Aplay alias gorup update immediately.
Thank you very much for the patch


fail to install git

PS C:\Users\wy461> scoop install git
Scoop uses Git to update itself. Run 'scoop install git' and try again.
Installing 'git' (2.32.0.windows.2) [64bit]
The SSL connection could not be established, see inner exception.
URL https://gh.haval.gq/git-for-windows/git/releases/download/v2.32.0.windows.2/PortableGit-<IP_ADDRESS>-64-bit.7z.exe#/dl.7z is not valid
PS `C:\Users\wy461>

and I try to download this package through chrome failed too. The report is “ERR_SSL_VERSION_OR_CIPHER_MISMATCH”

the manifest of git from 3rd bucket, and the mirror https://gh.haval.gq/ is down or outdated right now.
install following manifest of main bucket : scoop install main/git


Fix framework assemblies duplicates

Important note: this was checked and adjusted for Protocols, as the issue happens during Validator on Pipeline.
Automationscripts work on DataMiner (as per Mieke) without this fix being necessary.
Drivers are uncertain if they work on DataMiner. Tests seem to indicate the drivers work, though theoretically (and from the validator stage in pipeline) they shouldn't.
QA was done using a custom pipeline using a SolutionConverterNew in jenkins, temporarily active on
Protocols\Skyline\Communications CDMR Agent   3.0.1.X

Final note, I retested this version. Pipeline of CDMR Agent still runs.


[🐞] SSG/static error during build (qwik-city 0.1.0-beta6)

Which component is affected?
Qwik City (routing)
Describe the bug
See Steps to reproduce for more details. Error is not present in beta5.
Reproduction
Couldn't make a StackBlitz repro due to it erroring out with seemingly unrelated error…
Steps to reproduce
$ npm create<EMAIL_ADDRESS># latest version as of filing of this bug
[…]
✔ Where would you like to create your new project? … test
✔ Select a starter › Basic App (QwikCity)
✔ Would you like to install npm dependencies? … no
[…]

$ cd test
$ npm install --save-dev<EMAIL_ADDRESS>$ npm run qwik add static
[…]
✔ Ready to apply the static updates to your app? › Yes looks good, finish update!

✔ Updating app...
🦄  Success!  Added static to your app
[…]

$ npm run build
[…]
✓ Built client modules

failed to load config from /run/user/1000/test/adaptors/static/vite.config.ts
error during build:
Error: Cannot find module<EMAIL_ADDRESS>    at createEsmNotFoundErr (node:internal/modules/cjs/loader:1060:15)
    at finalizeEsmResolution (node:internal/modules/cjs/loader:1053:15)
    at trySelf (node:internal/modules/cjs/loader:514:12)
    at Module._resolveFilename (node:internal/modules/cjs/loader:1016:24)
    at Module._load (node:internal/modules/cjs/loader:885:27)
    at Module.require (node:internal/modules/cjs/loader:1105:19)
    at require (node:internal/modules/cjs/helpers:103:18)
    at Object.<anonymous> (/run/user/1000/test/node_modules/@builder.io/qwik-city/adaptors/static/vite/index.cjs:40:30)
    at Module._compile (node:internal/modules/cjs/loader:1218:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1272:10)

System Info
System:
    OS: Linux 6.1 Arch Linux
    CPU: (12) x64 AMD Ryzen 5 5600G with Radeon Graphics
    Memory: 5.57 GB / 15.27 GB
    Container: Yes
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 19.3.0 - /usr/bin/node
    Yarn: 1.22.19 - /usr/bin/yarn
    npm: 8.19.2 - /usr/bin/npm
  Browsers:
    Brave Browser: <IP_ADDRESS>
    Chromium: 108.0.5359.124
    Firefox: 108.0.1
  npmPackages:
    @builder.io/qwik: 0.16.1 => 0.16.1
    @builder.io/qwik-city: 0.1.0-beta6 => 0.1.0-beta6
    vite: 4.0.1 => 4.0.1

Additional Information
No response

I observed the same one.


strange slowing down when compute some gradients with complex128

When I tried to do grad computation on complex128 matrix I noticed there are some cases the compiled function is very slow on GPU. The slow behavior only happens to the grad with specific arguments while for a similar other one the computation time is normal. I tried to rewrite the elementwise complex multiplication on my own and the problem is solved. An example function can be as following
def test_fun_scan(scale, mats, vec):
    scale = scale[:,None,None] + 0j
    cmats = scale * mats
    vec, _ = lax.scan(lambda v, m: (m @ v, None), vec+0j, cmats)
    return vec

scale = jnp.ones(11)
batch_mats = jnp.zeros((2000, 11, 10, 10))
vec = jnp.ones((10, 2))

and grad wrt scale is several times slower than wrt mats when I vmapped the function in mats. Changing the scan into python loop makes the problem much more severe, while rewriting the complex multiplication resolves it.
For a full example and benchmark, please see the following colab:
https://colab.research.google.com/drive/1g8zmhzT1obIOiRMSiPk7E3o34QjUJWOl?usp=sharing
I'm assuming there might be something wrong with the compiler, and I also noticed sometimes the jnp.exp function also has some performance problem when doing grad calculation, but I didn't exact a example for it.

Thanks for the report! The behavior does not arise on CPU, so I suspect this is an XLA:GPU issue. GPU hardware in general does not have good support for 64-bit operations, so often when you find GPU-specific performance issues in 64-bit, so less attention has been paid to optimizing this type of code. And indeed, the issue goes away when disabling X64.

I wonder if it would be possible to isolate the complex128 multiplication issue with a simpler XLA program? If we could do that, we would have more likelihood of a useful bug report to XLA:GPU.

Thank you for the reply! Unfortunately I need the x64 precision in my application. For now I managed to bypass it by using the custom complex multiplication as in the latter part of the example and was able to get a ~8x speedup.
I was not able to isolate the issue to a complex128 multiplication and the following scan or loop (or just a long list of commands?) seems to be necessary. Doing only a element multiplication and calculating its gradient work just fine.

I think this problem is gone in recent jax versions. I will close the issue.


Unsafe optimization

Before
for (var e in a) a.hasOwnProperty(e) && ((b = a[e]) ? this[e] = b(c) : "target" === e ? this.target = d : this[e] = c[e]);

After
(b = a[e]) -> b = a[e], which changed meaning.
for (var e in a) a.hasOwnProperty(e) && (b = a[e] ? this[e] = b(c) : 'target' === e ? this.target = d : this[e] = c[e]);

Another case, probably already fixed
before
(a = rb ? zb(a, c) : Ab(a, c)) ? (b = nb.getPooled(ub.beforeInput, b, c, d), b.data = a, Ra(b)) : b = null;

after
a = rb ? zb(a, c) : Ab(a, c) ? (b = nb.getPooled(ub.beforeInput, b, c, d), b.data = a, Ra(b)) : b = null;

Yet again - ()

This is the last issue. I am fixing all the broken moments manually, and after this moment everything is working!


Unable to nest Extract generic inside conditional

Bug Report
🔎 Search Terms
Generic, nested generics, Extract, inner join, intersection, union
🕗 Version & Regression Information

This is the behavior in every version I tried, and I reviewed the FAQ for entries about never

⏯ Playground Link
Playground link with relevant code
💻 Code

type Food = 'applez' | 'banana' | 'pizza'
type Fruit = 'apple' | 'banana'

type WorkingAllVerbose = Food extends (Fruit extends Food ? Fruit : never) ? Food : never // never
type WorkingOuterExtract = Food extends Extract<Fruit, Food> ? Food : never // never
type WorkingInnerVerbose = Extract<Food, Fruit extends Food ? Fruit : never> // never
type BrokenInnerExtract = Extract<Food, Extract<Fruit, Food>> // 'banana' 🙁

🙁 Actual behavior
BrokenInnerExtract is syntactically identical to the 3 types above it, but it has type banana
🙂 Expected behavior
BrokenInnerExtract should be of type never

These aren't the same because the type expression Fruit extends Food ? Fruit : never isn't distributive over Fruit the way Extract is. This identical to a nondistributive Extract:
type NonDisExtract<T, U> = [T] extends [U] ? T : never;
type WorkingInnerVerbose = Extract<Food, Fruit extends Food ? Fruit : never> // never
type TrueEquivalentInnerExtract = Extract<Food, NonDisExtract<Fruit, Food>> // never

Thank you so much for the quick & thoughtful response!
Wrapping T & U so they can't distribute makes sense, although I still have a mental block on why abstracting it into a generic makes it distributive. If you have a reference link I'd love to learn more, but happy to close this & read up on type theory.

I need to write a big FAQ entry on it


allow ManyToManyPersister to handle identification types

Not sure if I've followed all of the directions in the contributing guide accordingly but this is the issue i created.

@dadamssg While patch seems correct, I'd like if possible to see what was the issue you experienced that this patch solves.
Ideally, through a phpunit test case.

@guilhermeblanco crap. this patch is not correct. i hastily missed adding the $types as the 3rd argument.

@dadamssg you don't need to close it... just commit the other fix and rebase squashing the commits into one.

@guilhermeblanco sorry. I'm terrible with git. I deleted my local branch, created a new one with the same name and --forced that to my github. I think I may have orphaned this pull requests branch and made this all way more complicated than it should be :(
I'll reopen this one if you can guide me through it, leave this one closed and create a new pull request, or not touch anything and let you guys handle the bug fix :/

@dadamssg oh... your force a push. There's nothing to do anymore. Please open a new PR.
I still need a test where you experienced this issue to prevent future breakages.

@guilhermeblanco not sure i'm going to be able to do that either. I just downloaded phing and attempted to run the tests and i get
$ php ../phing-latest.phar
Buildfile: /Users/dadamssg/Code/doctrine2/build.xml
 [property] Loading /Users/dadamssg/Code/doctrine2/build.properties

BUILD FAILED
/Users/dadamssg/Code/doctrine2/build.xml:72:19: Could not create task/type: 'macrodef'. Make sure that this class has been declared using taskdef / typedef.
Total time: 0.1221 seconds

I've never used phing before.

i'm just going to composer install and get phpunit and try to work with that. I'm not sure i should be attempting to use phing at all anyways

@dadamssg This should be enough for you to run tests:
git clone ... orm
cd orm
composer install
./vendor/bin/phpunit

Look at examples on how to reproduce test cases in the path: tests/Doctrine/Tests/ORM/Functional/Ticket

@guilhermeblanco I attempted to get a handle on how to write a test but unfortunately there's too much going on for me to come up with anything. I think i need a better understanding of doctrine's internals to write a working test.


Name change when moving away from the PCL

Linked to #5 and #6
When moving to the NetStandart.Library the timer no longer is PCL, so the name needs changing to avoid confusion.

As I am still supporting PCL I won't change the name for now.


Which license

The LICENSE file contains the MIT license (which talks about "software"). The paper itself states that it is released under CC-BY-NC-SA. So which one is it?

True. I checked to include CC license on Github but as far as I could see it's not an available option, only offers software related licenses. So in the sense of the code of the document (mediawiki) -which after all is a piece of software- i think that MIT covers it well. On the PDF since its printed and not open to instant modifications, a CC license seemed more suitable.

Can copyright tags be used?

@bhack I didn't know those existed. Yes, we should definitely include the Creative Commons license we used on the PDF version then.


Feature request: Allow to configure copyrate/cleanrate on IBM Spectrum Virtualize systems

Cleaning and background copying should be configurable, as it has massive impact on the storage system.
In fact, a flash copy mapping with a copy rate > 0 will always end up in a independent copy of the source volume, while a copy rate of zero makes the target a snapshot, which stores only deltas.
Cleaning becomes important when snapshots with dependencies are being deleted.

This feature request has been routed wrongly - it should go to IBM/ibm-block-csi-driver instead of the operator. I will close the issue here


Add all_dependencies method to Base Entities

This is an initial effort to migrate _all_dependencies into gemd-python.  At present, recursive_foreach and recursive_flatmap can crawl a structure to recover all objects but cannot do so in a way that reveals layers that are helpful in batching.
The current structure of the method calls don't feel quite right, and at least feel like they motivate creation of a has_spec mixin.

I agree with this for HasSpec. I have run into this issue before, and it would be potentially nice to have a more structured inheritance pattern there to distinguish between run and spec objects.
Would it be alot of work?

I started prototyping it and it turned into a research project about overloading python setters because ingredient_run has special logic.


Add sublime text editor

Been thinking of adding Sublime Text 3 to scoop for a while. It isn't exactly open source, however this bucket is meant for non open source apps. The beta as far as I am aware is free, but if you have a license you can enter it in which disables free version notifications that pop-up every time you save.
The app installs fine, but I wouldn't recommend using it through scoop if you already have it installed on your system. It is the portable version which has some implications. Your data (packages, etc) will be stored in the sublime-text folder and everytime that scoop is updated, your packages will be removed with the old version. I don't know whether it is possible to change this to using AppData. Perhaps later it can magically extract the non-portable executable and use that instead of the portable zip version.
Another issue that I havn't tested but I assume will occur is file association. I have nearly every text based file assoiciated with sublime text so that when I open that file it will open with sublime text. I assume if sublime is installed with scoop this may not work properly anymore. If it does work, then when it is updated it may break the association due to the movement of directory (or maybe not if it is referenced to the shim).
Anyway, thoughts? I probably won't use it unless some of these issues are resolved, but others might want to try it out, maybe they will have solutions? Would be nice to have in scoop. :smile:

I wouldn't add this without consent from Sublime HQ.

Homebrew-cask which is an extension of homebrew for installing Mac applications has it included in their collection of apps. I doubt Sublime HQ would respond due the the slowed pace of updates lately for sublime text (also i'm lazy :smile:). As I said above I don't think I would ever use sublime text through scoop unless some of the issues above where adressed, so I think I close this pull request for now.
The manifest works if anyone has any interest in playing around with it, fixing some of the issues or using it privately.

Asking wouldn't hurt, and I don't think ST dev can be said to be slow any more. Also, the fact that someone has done a similar thing wihout consent doesn't mean that Sublime HQ agrees (or disagrees) with it.
I once asked about their opinion on installing trial versions on CI servers for testing and their reply was quick and positive.
I sound grumpy, but I'm just writing fast and short. Just an opinion.

Alright, I have sent off an email to the developers, so it will be interesting to see what we get back. For now I will keep this pull request closed until further notice. I was already hesistant about adding this to scoop, just wanted to see some opinions. :smile:
My opinion remains the same, it would be cool if we could use Sublime Text in scoop, but in its current state I don't think it is particularly advantages over the executable installer. I also believe we should get consent from Sublime HQ first as well, so we'll wait for that before progressing.

Agreed. It'd be cool to be able to install ST from scoop, but an --install-prefix would be desirable in this case. I don't think scoop has/wants that?

Could you please describe what an --install-prefix is? I cannot seem to find anything specific on the web.

Take a look at https://github.com/lukesampson/scoop/issues/126

Alright I have emailed Sublime HQ and we have a response. :)

Sales Team<EMAIL_ADDRESS>(sent by<EMAIL_ADDRESS>Hi Scott,
Thanks for your email.
Yes, you may use the free install of Sublime as part of your package. If you could credit us in some way on your install page that would be great.
Cheers

Thoughts?

@scottwillmoore I reckon just put the credit in pre_install or post_install

Thanks. I think this is a worthwhile addition for now, although obviously there are issues with updates as with Ruby and NodeJS. I think travelling directories might eventually be the solution for this, although that hasn't been explored fully.
Some people seem to have a preference for control over where things get installed, whereas my preference is low or zero cognitive burden for installing an app—a good solution for me is one that just works, not one that can work if you know the right combination of command line arguments.

@deevus Scoop also has a "notes: "Useful information here." which will be dsiplayed when the manifest is installed.
@lukesampson Yeah I believe a simple implementation of travelling directories, or using symlinks to link the directories to an external folder scoop/apps/sublime_text/b3083/Packages  -> scoop/apps/sublime_text/Packages which does not move when you install a new version would be a better idea.
If you want to have lots of control and adjust settings to install an app, scoop is not your app. :smile: That said, the scoop apps should be made so they work just as good as a manually installed app.

@scottwillmoore The more you know :) You'd think I would considering my contributions of late haha

@deevus It's like you havn't even read the wiki! I'm kidding. Also do you have any ideas about what the note should say? I'm not a legal guru so would it be something like: Copyright Sublime HQ, or a thank you note: Thanks for Sublime HQ's permission to include Sublme Text? I am not really sure.

@scottwillmoore yeah if symlinks worked on Windows that'd be much easier. Unfortunately creating symlinks  (or directory junctions or whatever) requires Administrator elevation so that's a deal-breaker.
How about

This is a beta version of Sublime Text 3. For more information please see http://www.sublimetext.com/3

Yep that note sounds good, I have added it to this pull-request. Ah I wasn't aware that you require adminstrator elavation. I guess travelling directories will work fine then. How about we implement and then we can find any issues that occur when using travelling directories?

Gah I rebased and merged from command line and it didn't detect it as merged :(


added margins for <600px screen width

Margins originally collapsed when window sizes are <600px, making the text uncomfortable to read.
Added them back in (20% screen width on each side) to improve readability on small screens/mobile devices.

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

Replaced by #13


Stop quicker (don't wait for timeout)

Closes #41

Codecov Report

Merging #43 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master    #43   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          11     11
  Lines         365    377   +12
  Branches       31     32    +1
=====================================
+ Hits          365    377   +12

Impacted Files
Coverage Δ

cabbage/worker.py
100% <100%> (ø)
:arrow_up:

cabbage/testing.py
100% <100%> (ø)
:arrow_up:

cabbage/postgres.py
100% <100%> (ø)
:arrow_up:

cabbage/store.py
100% <100%> (ø)
: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 0e4c35a...c468042. Read the comment docs.

This PR is integrated in #51. Maybe it's not useful to merge it (it introduces conflicts that are already solved over there.


Compiling empty files fails

When one ore more files of my glob folder are empty (have no content, but exist), the error undefined:undefined File context created without an input path occurs. I think this could be related to https://github.com/sass/node-sass/issues/924
What can i do?

I just ran our tests with the latest version of Node Sass (3.2) and this no longer appears to be an issue. Please update update to the latest version and try again

I tried it with latest version of gulp-sass, following your instructions and it failed.
After that, i reinstalled latest node-sass (3.2) globally (not locally, and it´s not in my package.json) but still no success.
I am on a Windows 8.1 system

@Snugug this is a node-sass issue. If you somehow call render or renderSync without either data or file it will throw this non-sensical error. That is what appears to be happening here

one ore more files of my glob folder are empty

Interesting, although we have code in 2.0.3 that should break out before render gets called.
@jmartsch Can you please 2.x check what version of Gulp Sass you're using?

IMHO this is poor UX on our side of things. I've left my feels in https://github.com/sass/node-sass/pull/956#discussion_r33430645

:+1: @xzyfer

@Snugug My gulp-sass version was 2.0.1. Now with latest gulp-sass everything runs fine without errors.


vue-social-chat

https://github.com/ktquez/vue-social-chat

This repository is only for reporting bugs or issues. If you need support, please use
other channels:

Write an email -<EMAIL_ADDRESS>

Create support ticket on https://bagisto.uvdesk.com

Visit forums to get support from our community (https://forums.bagisto.com)

Alternatively, you may use Facebook (https://www.facebook.com/groups/bagisto/).
We promise that more channels are coming soon!!!

We will implement this feature in the upcoming Bagisto releases, as it can provide added value for users.

an extension for Whatsapp is available https://bagisto.com/en/extensions/laravel-ecommerce-whatsapp-contact/
for Facebook messenger you can follow https://developers.facebook.com/docs/messenger-platform/discovery/facebook-chat-plugin/


Trying to debug daily metaflux recipe

The daily metaflux recipe has been running for 3!!! days (cc @cisaacstern).  Testing if this is related to e.g. only some of the files here.

Up till 2012 went really fast

2018-2022 also went through in a reasonable time...maybe there is something wrong with one of the files from 2012-2018?

Or it is an issue when there are too many files in the recipe. Testing 2012-2018 now to figure that out.

I am leaning towards the fact that too many files somehow affect the outcome of this. I believe I have tested all files in different chunks at this point, and in smaller batches, they all went through.

2012-end worked well, going back on the start in increments now.

@jbusecke anything I can do to help here?

I am not quite sure what the pickoff point here was, but all work on this dataset has been moved to https://github.com/leap-stc/metaflux_feedstock


Upgrade rocksdb

Summary
Upgrade rocksdb to a more recent version
Motivation
We are currently using version 6.29 which was released in the first half of 2022. The most recent version of rocksdb is 8.10. There might have been useful for us improvements in this more recent version, e.g. related to performance.
Solution
Upgrade and test

The most recent rocksdb version supported by conan is 8.8.1 ; it is a relatively fresh version (as of today), released Nov 2023, there are no newer 8.8.x releases at this time.

Most recent RocksDB version is 9.1 https://github.com/facebook/rocksdb/releases/tag/v9.1.0
Is version 6.X considered end-of-life and should it be still used?

We don't count on support for dependencies, so end-of-life doesn't matter. If you (or someone else watching) wants to take a stab at updating the dependency, just change the version number in conanfile.py and try to build. If it builds and passes tests without issue, great! Otherwise, work will be needed to change our code to use the new API, whatever it is. We're not budgeting time to work on this right now.

FWIW I did start work for upgrade to 8.8.1 (just as @thejohnfreeman said - just upgrade version in conanfile.py ), found  compilation error and moved on to other priorities.


Implement some window properties for x11 shell

Implements:

set_size
get_size
set_min_size
resizable
get_position
set_position
set_level
set_window_state (only for WindowBuilder)

Also, dropdown example from nursery is now functional on x11 backend.

Thanks! I was actually wondering if we need WindowHandle::set_level on any platform, but I'll open another issue for that.

either set_position or get_position is not correct. When using dropdown example from nursery on a window manager with a top bar. the drop down is not positioned correctly. Zulip discussion

Well, since you are not assigning a window gravity (and IMO you should not), the functions might not really do exactly what you expect. The ConfigureRequest generated by set_position will be interpreted by the WM to be the position for the top left corner of the frame window. The implementation for get_position however calculates the position of the top left corner of your child window.
Both positions are correct, they just do not "do the same thing". Which one is correct depends on the exact definition of these method (and I guess is not really defined).

translate_coordinates(window.id, geom.root, 0, 0) fixes it from gnome and xmonad( with top bar)

Different desktop environments
## Gnome
![Screenshot from 2021-06-13 10-02-25](https://user-images.githubusercontent.com/49202620/121795622-0cca1980-cc30-11eb-9d1a-22d83ef0f587.png)
Xmonad

_NET_FRAME_EXTENTS does not appear in https://github.com/xmonad/xmonad, so I guess it is unsupported. And the open issues seem to suggest that xmonad does not implement ICCCM's window gravities anyway, but I guess a tiling WM can get away with that easily...
No idea if it is possible with xmonad for a window to request to be floating, but I would expect that a floating window requesting position (0,0) will end up with its window decorations off-screen. :-(

working with gnome, kde, lxde, xmonad
gnome

kde

lxde

xmonad


virt-manager: add requests as dependency

Motivation for this change
https://bugs.archlinux.org/task/47187
Things done

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

[ ] NixOS
[ ] macOS
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Thanks. I had it in https://github.com/NixOS/nixpkgs/pull/25481 but forgot to keep it in the eventual commit.

Ah, indeed!


Struggling with dynamic link in CustomTypes - .Any() / Char.IsLetterOrDigit

Hi Folks, Thank you for a great RulesEngine!
I am having some success and some struggle with authoring expressions  --
"Expression": ""dougy".All(Char.IsLetterOrDigit)"
https://dotnetfiddle.net/737myq
Exception while parsing expression "dougy".Any(Char.IsLetterOrDigit) - No property or field 'IsLetterOrDigit' exists in type 'Char'
TestChar-1 :
IsSuccess- False
Exception while parsing expression "dougy".All(c=>Char.IsLetterOrDigit(c) || c=='_') - No applicable method 'IsLetterOrDigit' exists in type 'Char'
TestAll :
IsSuccess- False
Exception while parsing expression "dougy".All() - No applicable method 'All' exists in type 'String'

The expression context is not the same as writing regular .NET code, please refer to https://dynamic-linq.net/expression-language
that's the library the RulesEngine is using for parsin the expressions (see "Accessible Types" section)

Thank you for the kind reply - can you suggest a way I might accomplish -
new String[] { \"first\", \"second\", \"third\" }.Any((c) => c == \"first\")"

It's in wiki!  Thanks!
 "Expression": "Utils.CheckContains(input1.country, \"india,usa,canada,France\") == true"


UNICEF Web Accessibility Standards epic

In order to fully comply with UNICEF's Web Accessibility Standards (2020/06/17), we need to consider the items below.
Some are already in place, some are quick fixes, some are long-term, and finally some are for content developers and should be added to the Digitization Guidance.
Rationale
UNICEF wants everyone who visits its websites to feel welcome and to find the experience rewarding. To help make our websites a positive place for everyone, we use the Web Content Accessibility Guidelines (WCAG) 2.0. developed by the World Wide Web Consortium (W3C), in cooperation with individuals and organizations throughout the world, to provide a single shared standard for web content accessibility that meets the needs of individuals, organizations, and governments internationally. The guidelines explain how to make web content more accessible for people with disabilities and more user friendly for everyone.
The guidelines have three levels of accessibility (A, AA, and AAA). UNICEF has chosen Level AA as the target for UNICEF websites. This is in line with international best practice.
These standards, should provide staff with the know-how to create an accessible website or request to request it from vendors in line with the Procedures for Establishing and Managing UNICEF's Public-Facing Websites, Social Media Channels and Mobile Applications.
Guiding principles
Web accessibility refers to the practice of making websites usable by everybody, including those with different disabilities. The effective application of accessible design and development practices should ensure that all users have equal access to our information and site functionality.
As a UN agency, UNICEF is a promoter of web accessibility, embodying the principles of the UN Convention on the Rights of Persons with Disabilities.
Embracing web accessibility also ensures that information or resources we produce that are relevant to disabled children are fully usable by all persons with disabilities.
Colour
Approximately 1 in 12 men and 1 in 200 women experience some sort of colour deficiency. Some cannot distinguish red, green and blue. Others have difficulties distinguishing foreground from background if the contrast is insufficient. Ensuring proper contrast between foreground and background also benefits partially sighted users and anyone using a mobile device in sunny conditions.

Ensure that all information conveyed with colour is also available without colour.

[ ] Avoid statements such as “Press the green button to submit your results.” Ensure that understanding the purpose of the button does not rely on colour alone.

[ ] Use additional visual cues where appropriate. For example, if obligatory fields are colored red, also include an additional indicator such as the word “Required” in the label for the field.

[ ] Use a visual distinction, other than colour, to style links within text (for example, underlining or bold styling).

Ensure that all text contrasts sufficiently with its background when viewed by someone with colour vision deficiency, or when viewed on a black and white screen.
Avoid using red and green or blue and yellow together as foreground and background colours. These combinations will appear as shades of gray to colourblind users, making any text very difficult to read.

Follow these rules from WCAG 2.0 to ensure sufficient contrast between foreground and background:
Use a colour-contrast checker tool (such as: http://colorsafe.co/) to confirm whether your colour combinations meet the above standards.

[ ] The visual presentation of text and images of text should have a contrast ratio of at least 4.5:1.

[ ] Large-scale text and images of large-scale text should have a contrast ratio of at least 3:1.

[ ] Logos and incidental text that are purely decorative, that are not visible to anyone, or that are part of a picture that contains significant other visual content have no contrast requirement.

Forms
Badly designed forms can cause difficulties for people with vision, mobility, or cognitive impairments. Accessible forms need to have a clear relationship between form labels and fields for users who cannot see the form. They must also have a clear, logical order that works via a keyboard for assistive technologies. Clarity, predictability, and division of forms into manageable sections are also important for people with certain cognitive disabilities.
Included in #699
Images
Images are not directly accessible to someone who cannot see. If an image is used to convey meaning, it is therefore important to provide equivalent information in text format that can be used by assistive technologies. In addition, text in bitmap images cannot be easily adapted to suit user preferences in the same way as regular text (for example, color contrast will not be modifiable and font resizing functionality in browsers will not work on it). Important contextual information will also be missing if images are used without considering appropriate semantic markup such as headings and lists.

[ ] Images should have alternative text that conveys their meaning to users of assistive technology who cannot see them on the page. For example: img=“search.gif” alt=“search”

When employing alternative text:

[ ] Ensure that the text presents the same content and function as the image and that the alternative text makes sense within the context the image is used on the page.

[ ] When an image contains words that are important to understanding the content, the alt text should include those words. Such inclusion will allow the alt text to play the same function on the page as the image.

[ ] All linked images must contain descriptive alt text that designates the destination/function of the link.

[ ] Do not use “picture of” or “image of” in the alternative text; it is unnecessary. Similarly, avoid placeholder words or programming references such as “picture1” or “Oct.jpg.”

[ ] Keep alt text reasonably short while still being adequately descriptive.

[ ] In cases where an image is purely decorative, always apply empty alt text (alt=””). Doing so will convey to assistive technology that the image is decorative and that the file name of the image should not be announced. Decorative images can also be added using CSS to avoid the need for alternative text.

[ ] Avoid providing redundant alternative text that is available adjacent to the image. In cases like this, it is better to consider the image as decorative than to present the same text twice.

[ ] Avoid using lengthy descriptions that do not carry any essential information, e.g. describing colors etc.

[ ] For more complicated images like charts, you may need to use the “longdesc” attribute. This provides a link to a longer description of the image (for example, <img src= “chart.gif” alt=“a complex chart” longdesc=“chartdesc.html”>).

[ ] When using imagemaps, ensure that all the  elements for each selectable region have descriptive alt text.

[ ] Avoid using images of text unless the particular presentation of the text is essential (for example in logos or charts). If an image containing text needs to be used, then a text alternative should always be provided using “alt” text or longdesc as appropriate.

[ ] Avoid adding text in images via CSS. Images placed with CSS cannot have “alt” text added.

[ ] Be especially careful that images are not used in place of meaningful page elements such as headings or navigational lists, which can help assistive technology users better comprehend pages. Do not use the “meta keywords” field to add keywords to pages.

While following the above principles, remember that providing images to complement text can be a useful aid to enhance comprehension for sighted users. It can also be especially useful for people with dyslexia or learning difficulties. As long as a text alternative is provided, do not ignore the potential for images such as illustrations, charts, and maps to act as communication aids.
Links
Creating links with regard to accessibility is essential for providing a smooth experience for users of assistive technology. Screen readers provide the ability to navigate through the links on a page; link text should therefore be descriptive and short, and should make sense out of context.
Empty link text is also an issue because the presence of the link may still be announced by assistive technology and cause confusion.
Broken links are a general usability issue for all users, but they can be particularly frustrating for users of assistive technology who will need to expend additional effort on identifying an alternative path to the information the broken link should have led to.

[ ] Make link text descriptive of the link destination.

[ ] Do not use short, non-descriptive phrases like “click here,” “more,” or “available online” as the entire link text. Link text should be meaningful enough to make sense when read out of context.

[ ] Don’t make link text longer than necessary to adequately describe the linked-to resource. Shorter links are easier for users of assistive technology to use.

[ ] Indicate when a link is to a non-HTML page (e.g., PDF) and indicate the file format and size. Include the information on file format and size within or directly after the link (e.g., Strategic Plan 2014-2017 (PDF 115Kb)).

[ ] Ensure that you have no “empty” links in the code without visual link text (e.g., ).

[ ] Links with the same text that go to different locations must be readily distinguishable.

[ ] All linked images must have descriptive alt text. (See “Accessibility: Images.”)

[ ] Color alone must not be used to distinguish links from surrounding text. (See "Color.")

[ ] Ensure that there are no broken links on sites.

Navigation

[ ] Navigational mechanisms should always be presented in a uniform, well-structured, and logical order so as to avoid confusion or disorientation. Ensuring that repeated components occur in the same order on each page of a site helps users become comfortable that they will be able to predict where they can find things. This logicality helps users with cognitive limitations, users with low vision, and also those who are blind.

[ ] There should also be multiple ways to locate a particular web page, unless it is part of a process such as a check-out or search function. This multi-functionality makes it possible for users to locate content in a manner that best meets their needs. Users may find one technique easier or more comprehensible to use than another.

[ ] It is also important that navigation be accessible via a keyboard. When content can be operated through a keyboard or alternate keyboard, it is operable by people with no vision (who cannot use devices such as mice that require eye-hand coordination) as well as by people who must use alternate keyboards or input devices that act as keyboard emulators.

A consistent and predictable navigation scheme is a very important aid to website accessibility.

[ ] Ensure that navigation mechanisms repeated on multiple web pages occur in the same relative order each time they are repeated.

For example:

[ ] The search field should always be in the same place on each page.

[ ] “Skip navigation” links should be provided as the first link on every page. This premier positioning allows users to have a consistent way to quickly bypass header information and navigational content so they can begin interacting with the main content of a page.

[ ] “Skip to top” links should be provided at the bottom of each page so that keyboard users can easily jump to the top of the page when required. Ensure that your Content Management System (CMS) creates pages and links that search engines can crawl.

[ ] Ensure that navigation mechanisms are presented consistently across pages.

[ ] For example, the search function should not be labelled “search” on one page and “find” on another.

[ ] Include multiple ways of navigating a site, including at least either a search function or a sitemap as well as navigational links between pages.

[ ] Never use graphical text within your navigation scheme. HTML text should be used instead because it is resizable and easily read out by screen readers.

[ ] Ensure that the website can be navigated without using a mouse. This can be tested by pressing the tab key on your dashboard to see the cursor move through links, form fields, and objects. Keyboard focus should be easily trackable on the page. The selected link or control should be highlighted using a prominent rectangle or change in color with sufficient contrast.

Tables
Tables represent a complicated environment for visually-impaired users. That is because such individuals cannot easily see and understand the table structure. It is therefore necessary to add mark-up that will help screen-reader users navigate tables.

[ ] Using complicated, nested tables for layout may cause content to be rendered in the wrong order by screen readers. CSS should be used for layout instead.

[ ] On UNICEF sites, HTML tables (using the HTML  element) should only be used to display tabular data. They should not be used for design or layout purposes.

When using data tables:
(c) For simple tables:

[ ] Identify row and column headers with the  tag.

(d) For more complex tables:

[ ] Where the header is not in the first row or column, use the “scope” attribute to associate header cells and data cells.

[ ] Where data cells are associated with more than one row and/or column heading, use “id” and “header” attributes to associate header cells and data cells in data tables.

[ ] Do not misuse structural HTML tags to create visual effects within tables. For example, do not use the table header tag to create bold formatting on text that isn’t a heading. Instead use CSS to control visual formatting.

[ ] Captions may usefully be added for screen-reader users. The “caption” element acts like a title or heading for the table. It ensures that the table identifier remains associated with the table, including visually (by default). In addition, using the caption element allows screen reading software to navigate directly to the caption for a table, if one is present.

[ ] Don’t use white space characters (e.g., space, tab, line break, or carriage return) to format text as tables or columns.

[ ] Don’t use the HTML  element to markup tabular information. Instead use the HTML table element.

Titles and headings
Descriptive titles are important indicators of a page’s content and are the first thing a user of a screen reader will hear read aloud to him or her on a page. With headings, sighted users perceive them as a visual cue to the structure of a document – headings are often in a larger, bold font and are separated from paragraphs by blank lines.
Marking up headings appropriately ensures that this structure will be available for users of assistive technology. In a 2014 survey, 66% of screen-reader users said they used headings as shortcuts to navigate through pages, making this the most popular screen-reader navigation technique.

[ ] Always provide a meaningful, concise page title in the  tag. The title should describe the page’s content.

[ ] Ensure you use correct heading markup for headings – e.g., , , , . Do not indicate headings using just bold or larger text.

[ ] Include a single  heading on each page for the main page’s heading.

[ ] Make the text of headings informative and avoid having multiple headings with identical text (e.g., “More Details”) unless the structure of the page provides adequate differentiation between them.

[ ] To facilitate navigation and understanding of the overall document structure, use headings that are properly nested (e.g., h1 followed by h2, h2 followed by h2 or h3, h3 followed by h3 or h4, etc.).

Video
Providing a text transcript for all videos and audio files guarantees a basic level of access to the information being communicated because textual content is more easily manipulated by assistive technologies. Transcripts are also useful for SEO, since they give search engines text to index.
Captioning videos with dialogue is an essential service for users with a hearing impairment, but it can also be useful for people whose first language is different from that of the video or for users who need to access the video with the sound off – e.g., in a noisy environment without headphones. It is also essential to consider the keyboard usability of the video or audio player technology you use, since many assistive technologies rely upon the keyboard when viewing the content.

[ ] Supply closed caption files of any dialogue when you upload a pre-recorded video.

[ ] Provide a descriptive text transcript of any video or audio file.

[ ] Provide clear instructions for using video or audio content. Do not create pages with nothing but an embedded video on them. If you do so, people without the appropriate viewing technology will only see an empty page. Provide information on the page about the content of the video (which will also be beneficial for SEO).

[ ] For videos hosted on UNICEF’s websites, never play videos automatically when a page opens. The video audio will run at the same time as the user’s screen reader audio and the user will need to search for the controls on the page to stop the video.

[ ] For videos hosted on UNICEF’s websites, avoid flashing or flickering content. Videos with content that flashes more than three times in a second may trigger migraines or induce seizures in users with photosensitive epilepsy as well as other photosensitive seizure disorders.

Good to cross-reference with the documentation on accessibility for wagtail.


Add option for running Elm executable(s) local to project directory

What is the change?: Add a config option to prepend <project directory>/node_modules/bin to the PATH when running the Elm executable(s). The options.local object is defined in the sb-exec readme.
Why did I do this?: To support a "virtual environment" style of Elm projects. I like to install language compilers in a local sandbox rather than use a system-wide binary. This means I can, for example, use different versions of a language in different projects.

Hi @mrattner!
Elmjutsu 9.0.0 now allows relative paths (relative to elm.json) for Elm Path.  Would that be enough for your use case?

That feature should cover what I want, and is more flexible than what I've come up with here--thank you for implementing it! :+1:
I can't get it to work, unfortunately, so I opened an issue: #141