it is found that when the number of user groups is greater than 2, the content of the configmap user-groups-map or user-gids-map does not match the actual one.

Environment:

Linux: CentOS Linux release 7.8.2003 (Core)
kubernetes: V1.24.2
CRI: Containerd
LDAP: FreeIPA

What happened:
The k8-ldap-configmap char is installed in the k8s cluster, and it is found that when the number of user's groups is greater than 2, the content of the configmap user-groups-map or user-gids-map does not match the actual one.
values.yaml file
# Default values for k8-ldap-configmap.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.

ldapUrl: 'ldap://<IP_ADDRESS>:389'
ldapTLS: false
ldapTLSVerify: true
ldapTLSCACert: ''
ldapGroupBaseDN: 'cn=groups,cn=accounts,dc=pl,dc=hpc'
ldapUserBaseDN: 'cn=users,cn=accounts,dc=pl,dc=hpc'
ldapBindDN: 'uid=rancher,cn=sysaccounts,cn=etc,dc=pl,dc=hpc'
ldapBindPassword: '1qavfsdfa'
ldapGroupFilter: '(objectClass=posixGroup)'
ldapUserFilter: '(objectClass=posixAccount)'
ldapMemberScheme: 'member'
ldapUserAttrMap: 'name=uid,uid=uidNumber,gid=gidNumber'
ldapGroupAttrMap: 'name=cn,gid=gidNumber'
mappers:
  - user-uid
  - user-gid
  - user-gids
  - user-groups
mappersUserFilter: []
mappersGroupFilter: []
userPrefix: ''
interval: 5s
# Set namespace of generated ConfigMaps
# Defaults to namespace of Chart release
namespaceConfigMap: "default"

extraArgs: []

image:
  repository: docker.io/ohiosupercomputer/k8-ldap-configmap
  pullPolicy: IfNotPresent
  # Overrides the image tag whose default is the chart appVersion.
  tag: ""

imagePullSecrets: []
nameOverride:
fullnameOverride:
namespace:

rbac:
  create: true
  serviceAccount:
    create: true
    # Annotations to add to the service account
    annotations: {}
    # The name of the service account to use.
    # If not set and create is true, a name is generated using the fullname template
    name: ""

podAnnotations: {}

podSecurityContext: {}
  # fsGroup: 2000

securityContext:
  allowPrivilegeEscalation: false
  capabilities:
    drop:
    - ALL
  seccompProfile:
    type: RuntimeDefault
  privileged: false
  readOnlyRootFilesystem: true
  runAsNonRoot: true
  runAsUser: 65534
  runAsGroup: 65534

service:
  # Specifies whether a service should be created
  create: true
  type: ClusterIP
  port: 8080
  annotations:
    prometheus.io/scrape: 'true'
    prometheus.io/path: /metrics

resources:
  limits:
    memory: 128Mi
  requests:
    cpu: 100m
    memory: 50Mi

nodeSelector: {}

tolerations: []

affinity: {}

kubectl get configmap user-groups-map -o yaml
apiVersion: v1
data:
  admin: '["admins"]'
  zhanrd: '["test-1","test-3"]'
kind: ConfigMap
metadata:
  creationTimestamp: "2023-01-09T09:08:41Z"
  name: user-groups-map
  namespace: default
  resourceVersion: "9170354"
  uid: 6fdb1e61-bd34-4cae-a886-a31864686d18

id zhanrd
uid=20000(zhanrd) gid=10000(test-1) groups=10000(test-1),10003(test-3),10002(test-2)

Can you provide what some of the corresponding LDAP data looks like?  We use OpenLDAP 2.4 and for example I have dozens os groups and they all show up here:
# kubectl get configmap user-gids-map -o yaml -n k8-ldap-configmap | grep tdockendorf
  user-tdockendorf: '["1021","2399","3241","3285","3309","4391","4496","4547","4548","5087","5301","5353","5356","5358","5509","5527","5607","6393","6557","6558","6865","6951","6952","6957","7175","7396","7455","65533"]'
  user-tdockendorftest: '["3378","6606","7477"]'

We also use this with Kyverno and OnDemand and so OnDemand will do UID/GID lookup in Ruby and add supplementalGroups that is all GIDs for a user and Kyverno validates that against the configmap so we know it's accurate.
This is my Helm values for OpenLDAP:
---
ldapUrl: ldaps://OMIT:636
ldapGroupBaseDN: dc=osc,dc=edu
ldapUserBaseDN: ou=People,dc=osc,dc=edu
ldapGroupFilter: "(&(objectclass=oscGroup)(status=ACTIVE)(cn=P*))"
ldapUserFilter: "(&(objectclass=oscUser)(!(nsAccountLock=TRUE))(loginDisabled=FALSE))"
mappers:
- user-uid
- user-gid
- user-groups
- user-gids
mappersGroupFilter:
- user-gids=(objectclass=posixGroup)
userPrefix: user-
interval: 5m
nodeSelector:
  node-role.kubernetes.io/infrastructure: ''

We use FreeIPA 4.6.8 for the identification and authorization.
# ipa --version
  VERSION: 4.6.8, API_VERSION: 2.237

The following is the relevant data information of user zhangrq in freeipa, and the display of its data in configmap user-groups-map
# ipa user-show zhangrq --all
  dn: uid=zhangrq,cn=users,cn=accounts,dc=pl,dc=hpc
  User login: zhangrq
  First name: rq
  Last name: zhang
  Full name: rq zhang
  Display name: rq zhang
  Initials: rz
  Home directory: /home/zhangrq
  GECOS<EMAIL_ADDRESS>  Login shell: /bin/sh
  Principal name<EMAIL_ADDRESS>  Principal alias<EMAIL_ADDRESS>  Kerberos principal expiration:<PHONE_NUMBER>0000Z
  User password expiration:<PHONE_NUMBER>2501Z
  Email address<EMAIL_ADDRESS>  UID:<PHONE_NUMBER>
  GID: 10022
  User authentication types: password
  Account disabled: False
  Preserved user: False
  Password: True
  Member of groups: test-3, test-2, ipausers, test-4, test-1
  Kerberos keys available: True
  ipauniqueid: 97e5aa58-a077-11ed-9200-0242ac120002
  krbextradata: AALdftdjcm9vdC9hZG1pbkBQTC5IUEMA
  krblastpwdchange:<PHONE_NUMBER>2501Z
  mepmanagedentry: cn=zhangrq,cn=groups,cn=accounts,dc=pl,dc=hpc
  objectclass: top, person, organizationalperson, inetorgperson, inetuser, posixaccount, krbprincipalaux,
               krbticketpolicyaux, ipaobject, ipasshuser, ipaSshGroupOfPubKeys, mepOriginEntry,
               ipauserauthtypeclass

## the group data of user zhangrq in configmap user-groups-map.
# kubectl get cm user-groups-map -o yaml | grep zhangrq
  zhangrq: '["test-4"]'

When the ldapMemberScheme=member the group membership for users is based on the group's member attribute.  What does the group member list look like for test-1 group, for example?  Seeing ldapsearch output is more useful since that will more closely map to what this project uses since everything is just LDAP queries.
The only other thing I can think would be an issue is if FreeIPA uses paging so it only returns a small number of results per query rather than all results.  I use OpenLDAP where there is no paging enabled.  You can verify with an ldapsearch on (objectClass=posixGroup) and see if it results all groups of only some of the groups in FreeIPA.  If only a partial result is returned try adding --ldap-paged-search flag which needs to be added with extraArgs if using Helm.

Querying the test-1 group member list information through the ldapsearch command is in line with expectations.
# ldapsearch  -vvv -b  "cn=test-1,cn=groups,cn=accounts,dc=pl,dc=hpc"
  ldap_initialize( <DEFAULT> )
  SASL/GSSAPI authentication started
  SASL username<EMAIL_ADDRESS>  SASL SSF: 256
  SASL data security layer installed.
  filter: (objectclass=*)
  requesting: All userApplication attributes
  # extended LDIF
  #
  # LDAPv3
  # base <cn=test-1,cn=groups,cn=accounts,dc=pl,dc=hpc> with scope subtree
  # filter: (objectclass=*)
  # requesting: ALL
  #

  # test-1, groups, accounts, pl.hpc
  dn: cn=test-1,cn=groups,cn=accounts,dc=pl,dc=hpc
  objectClass: top
  objectClass: groupofnames
  objectClass: nestedgroup
  objectClass: ipausergroup
  objectClass: ipaobject
  objectClass: posixgroup
  gidNumber: 10000
  cn: test-1
  ipaUniqueID: c7797ac2-8d9b-11ed-97d0-0242ac120002
  member: uid=zhangran1,cn=users,cn=accounts,dc=pl,dc=hpc
  member: uid=zhangrq,cn=users,cn=accounts,dc=pl,dc=hpc

  # search result
  search: 4
  result: 0 Success

  # numResponses: 2
  # numEntries: 1

Using the ldapsearch command can query all groups in freeipa, and no missing groups are found.In order to prevent paging in the future, the --ldap-paged-search flag is also added. After re-updating, the data display of configmap user-groups-map has not changed.
# ldapsearch  -LLL -b  "cn=groups,cn=accounts,dc=pl,dc=hpc" filter "(objectClass=posixGroup)"
  SASL/GSSAPI authentication started
  SASL username<EMAIL_ADDRESS>  SASL SSF: 256
  SASL data security layer installed.
  dn: cn=groups,cn=accounts,dc=pl,dc=hpc

  dn: cn=admins,cn=groups,cn=accounts,dc=pl,dc=hpc

  dn: cn=ipausers,cn=groups,cn=accounts,dc=pl,dc=hpc

  dn: cn=trust admins,cn=groups,cn=accounts,dc=pl,dc=hpc

  dn: cn=test-1,cn=groups,cn=accounts,dc=pl,dc=hpc

  dn: cn=test-2,cn=groups,cn=accounts,dc=pl,dc=hpc

  dn: cn=test-3,cn=groups,cn=accounts,dc=pl,dc=hpc

  dn: cn=test-4,cn=groups,cn=accounts,dc=pl,dc=hpc

  dn: cn=zhangran1,cn=groups,cn=accounts,dc=pl,dc=hpc

  dn: cn=zhangrq,cn=groups,cn=accounts,dc=pl,dc=hpc

# kubectl exec -it -n k8-ldap-configmap k8-ldap-configmap-6c8c4cf94b-n5d52 -- /bin/sh
  ~ $ ps -ef
  PID   USER     TIME  COMMAND
  1 nobody    0:00 /k8-ldap-configmap --ldap-url=ldap://<IP_ADDRESS>:389 --no-ldap-tls --ldap-tls-verify --ldap-group-base-dn=cn=groups,cn=accounts,dc=pl,dc=hpc --ldap-user-base-dn=cn=users,cn=accounts,dc=pl,dc=hpc --ldap-bind-dn=uid=rancher,cn=sysaccounts,cn=etc,dc=pl,dc=hpc --ldap-group-filter=(objectClass=posixGroup) --ldap-user-filter=(objectClass=posixAccount) --ldap-member-scheme=member --ldap-user-attr-map=name=uid,uid=uidNumber,gid=gidNumber --ldap-group-attr-map=name=cn,gid=gidNumber --mappers=user-uid,user-gid,user-gids,user-groups --namespace=default --interval=5s --listen-address=:8080 --ldap-paged-search --ldap-paged-search-size=2000 --log-level=debug

#  kubectl get cm  user-groups-map -o yaml | grep zhangrq
  zhangrq: '["test-4"]'

Another thing to try is setting ldapMemberScheme=memberof if FreeIPA supports the memberOf plugin to set memberships on the user.  It looks like it might based on one of the outputs where it lists the groups a user is a member of.  Looking at what I run at OSC we are using the memberof mapping so could be a bug in the member mapping.
Running locally at OSC using member I can reproduce the issue.
Using memberof:
# kubectl get cm user-groups-map -o yaml -n k8-ldap-configmap | grep tdockendorf
  user-tdockendorf: '["PZS0708","PAS1936","PDE0001","PZS1118","PDE0006","PDE0009"]'

Writing configmap to different namespace using member:
# kubectl get cm user-groups-map -o yaml | grep tdockendorf
  tdockendorf: '["PDE0009"]'
  user-tdockendorf: '["PZS0708","PDE0009"]'

So looks like there are 2 issues with the member mapping, it's causing duplicate entries when using the username prefix and also not populating all the groups.

This should be fixed with version v0.7.1


Update tdr-generated-graphql to 0.0.386 in scala-steward-dependencies

About this PR
📦 Updates uk.gov.nationalarchives:tdr-generated-graphql from 0.0.385 to 0.0.386
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "uk.gov.nationalarchives", artifactId = "tdr-generated-graphql" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "uk.gov.nationalarchives", artifactId = "tdr-generated-graphql" }
}]

labels: library-update, early-semver-major, semver-spec-patch, commit-count:1

Superseded by #540.


Add support for .proto files

Similar to #29 -- we should allow people to track their protobuf files.

cc @uber/rpc

Huge +1 - no reason to limit this to thrift

:+1:


Additional trailing space in INFO and WARN log levels

Description:
There is an additional trailing space in INFO and WARN log levels.
{"time": "2021-04-27 23:09:17,084", "level": "WARN ", "module": "jsmith/svc", "message": "sample warn log"}
{"time": "2021-04-27 23:09:17,064", "level": "INFO ", "module": "jsmith/svc", "message": "sample info log"}

Steps to reproduce:
Run the bellow program by setting "json" as the log format in Config.toml.
import ballerina/log;

public function main() {
    log:printWarn("sample warn log");
    log:printInfo("sample info log");
}

Affected Versions:
Ballerina Swan Lake Alpha4

This was actually intentionally done so that when logs of all levels get printed, they look consistent in the console output.
With trailing space:
{"time": "2021-04-27 23:09:17,084", "level": "ERROR", "module": "jsmith/svc", "message": "sample error log"}
{"time": "2021-04-27 23:09:17,084", "level": "WARN ", "module": "jsmith/svc", "message": "sample warn log"}
{"time": "2021-04-27 23:09:17,064", "level": "INFO ", "module": "jsmith/svc", "message": "sample info log"}
{"time": "2021-04-27 23:09:17,064", "level": "DEBUG", "module": "jsmith/svc", "message": "sample debug log"}

Without trailing space:
{"time": "2021-04-27 23:09:17,084", "level": "ERROR", "module": "jsmith/svc", "message": "sample error log"}
{"time": "2021-04-27 23:09:17,084", "level": "WARN", "module": "jsmith/svc", "message": "sample warn log"}
{"time": "2021-04-27 23:09:17,064", "level": "INFO", "module": "jsmith/svc", "message": "sample info log"}
{"time": "2021-04-27 23:09:17,064", "level": "DEBUG", "module": "jsmith/svc", "message": "sample debug log"}

Will update like in the 2nd output since Choreo needs to filter logs based on log levels. @daneshk please note.

This is actually updated in Ballerina Swan Lake Alpha5. Could you check. The following are outputs for the two formats.
json:
{"time":"2021-04-28T09:45:16.773+05:30", "level":"ERROR", "module":"", "message":"sample error log"}
{"time":"2021-04-28T09:45:16.790+05:30", "level":"WARN", "module":"", "message":"sample warn log"}
{"time":"2021-04-28T09:45:16.791+05:30", "level":"INFO", "module":"", "message":"sample info log"}
{"time":"2021-04-28T09:45:16.792+05:30", "level":"DEBUG", "module":"", "message":"sample debug log"}

logfmt:
time = 2021-04-28T09:44:36.066+05:30 level = ERROR module = "" message = "sample error log"
time = 2021-04-28T09:44:36.075+05:30 level = WARN  module = "" message = "sample warn log"
time = 2021-04-28T09:44:36.076+05:30 level = INFO  module = "" message = "sample info log"
time = 2021-04-28T09:44:36.077+05:30 level = DEBUG module = "" message = "sample debug log"

The trailing space is only in the logfmt format which was intentionally added so that when logs of all levels get printed, they look consistent in the console output.

Was able to obtain no trailing space in Alpha5 for JSON formatted logs.

Closing since Alpha5 contains the fix


Aurelia-Table Paging shows every single page number

Hey there,
It would be cool if there was a configurable variable to limit the amount of pages in the footer of the table.
Currently I have about 1000 rows of data, and only 10 rows per page, so the page count at the bottom is very long.

Would this be possible to add sometime soon?
Thank you.

Yeah, that feature is on my list, I just haven't found the time to do it. I will work on it as soon I have a chance.
On the meanwhile in the documentation there is an example of a custom paginator, you could use that to build your own that limits the number of visible pages.
On any case, I will add that feature soon.

I'll look into the custom paginator.

I have an implementation working, I just need to work some edge cases, I hope I can get it ready tomorrow

Sounds awesome! Thanks man ;)

So, I committed the improvement, I think it will get the job done.
Would you be so kind to help me test it in master? Once we are happy with it I can make a release and add the documentation.
This are the extra options now you have for the pagination control:
    @bindable paginationSize;
    @bindable boundaryLinks = false;
    @bindable firstText = 'First';
    @bindable lastText = 'Last';
    @bindable directionLinks = true;
    @bindable previousText = '<';
    @bindable nextText = '>';

Thank you sir,
I'll give it a shot!

i've pulled down and added the @bindables. Outside of that, I'm not sure what else I should change.
Can you provide some code from your JS file and HTML file and I'll recreate it locally to test it out?
Thanks!

Well you just need to install the plugin from master (instead of the latest released version), with that you can just specify any of those properties on the pagination like this:
<aut-pagination current-page.bind="currentPage"
                            page-size.bind="pageSize"
                            total-items.bind="totalItems"
                            pagination-size.bind="5"
                            boundary-links.bind="true">

Hey as your message came through I had just figured it out!
Looking good!
Only thing that looks weird is when I go to the last couple pages, there is no data. So I think my data is ending on page 95, but the plugin shows up to 100 pages.
Any reason why that may be?
constructor(entityManager, orderRepository, router) {

    this.pageSize = 10;
    this.paginationSize = 5;
    this.firstText = "Page 1";
    this.lastText = "Last Page";
    this.currentPage = 1;

    this.selectedMDU = {'name': '', id:0};
}

And the HTML
<div class="col-md-8">
                          <aut-pagination current-page.bind="currentPage" pagination-size.bind="paginationSize" boundary-links.bind="true" first-text.bind="firstText" last-text.bind="lastText" total-items.bind="totalItems"></aut-pagination>
                      </div>

My only guess is if the totalITems variable has the wrong number on it... I have code so it stops creating new links once you have reached the end of your items.

Yea, something's weird. I checked out your code and it looks sound.
I did another test. I limited pageSize to 1. paginationSize is 5. I have a total of 100 items being put into the grid.
It's only showing 20 pages. Which of course doesn't show all 100 items.
If I change pageSize to 10, I still get 20 pages....which is too many pages since I only need 10.

That is weird indeed, I will check the code as soon I have chance, thanks for trying it out man.

You're welcome

I have updated the documentation with the examples for the pagination size. It seems to be working as expected. You may want to check it out.


Update hashes

updated hashes of data to download

@yfukai We still have failing unit tests.

Yeah I'm waiting for @YuLiu-web to upload the data to Zenodo, and then I'll update the code to fetch from there...

@YuLiu-web kindly updated the data, we have working tests now!


Add utilities for flex direction

Thanks for your PR, v3.1.0 is now ready !

Thank you for the quick merge and release! Your project solved a thorny issue I was having and I really appreciate it.


[Multi Actions] [BUG] Can't update legacy assistant visibility

When setting the visibility of a legacy assistant that was not edited yet in the assistant builder we get the following error:
Unhandled internal server error: Error: Every action must have a name. Missing names for: retrieval_configuration

Fixed by https://github.com/dust-tt/dust/pull/5662/files


Praj/remove deprecations

Description
Update the ubuntu version and expeditor config.
Check List

[ ] New functionality includes tests
[ ] All buildkite tests pass
[ ] Full omnibus build and tests in buildkite pass
[ ] All commits have been signed-off for the Developer Certificate of Origin. See https://github.com/chef/chef/blob/master/CONTRIBUTING.md#developer-certification-of-origin-dco
[ ] PR title is a worthy inclusion in the CHANGELOG

https://buildkite.com/chef/chef-chef-server-master-omnibus-adhoc/builds/405#f61402f3-6228-4f9f-8366-d8fd6cc0466e


The method buildUnsignedUnstakingWithOnlyCovenantsPsbt has not calculated change to return

The buildUnsignedUnstakingWithOnlyCovenantsPsbt method has not implemented the functionality to auto calculate charge to return to the pool address
Example of the above issue:
https://mempool.space/testnet4/tx/b4dcc2e10c1afdabf1437eb2f8ead1e53063f75067f66030f0424aea0f3ce201

The issue has been resolved in commit e98cf7d912785a30ec35109cedca6ba79646dbd7


Modify the actix websocket server and make it suitable for deploying on Shuttle

The plan is to eventually deploy it in Shuttle so the Gui can connect directly to communicate.

Shuttle currently does not support deploying WS created with actors so it would require significant changes. Closing it for now and likely will require a different approach.


code generation failed when component names duplicated

Hi,
I found that when I create two indexed components with same name in different namespaces, the code generator goes wrong:
namespace DunkHeroes.Inputs.Components
{
    using Entitas;
    using Entitas.CodeGeneration.Attributes;

    [Input]
    public class PlayerIndexComponent : IComponent
    {
        [EntityIndex]
        public int value;
    }
}

namespace DunkHeroes.Game.Components
{
    using Entitas;
    using Entitas.CodeGeneration.Attributes;

    [Game]
    public class PlayerIndexComponent : IComponent
    {
        [PrimaryEntityIndex]
        public int value;
    }
}

PS:My Entitas version is 1.4.2
Cheers

Hi,
Added your components code to project, generated result:
public partial class Contexts {

    public const string DunkHeroesGameComponentsPlayerIndex = "DunkHeroesGameComponentsPlayerIndex";
    public const string DunkHeroesInputsComponentsPlayerIndex = "DunkHeroesInputsComponentsPlayerIndex";

No compilation errors.
Ignore Namespaces is set to false in Entitas 1.4.2 preferences.
Generated by Unity generator(not jenny)

thanks @c0ffeeartc ,after set Ignore Namespaces to false all errors are gone.
And then I get lots of loooong name components :(
Can I have it both ways?

That's current solution. If you have better ideas propose it in new issue, @sschmid may take it or ask to write your own generator.
I don't use namespaces for components, and when name collision happens just come up with another name


SILGen: Peephole existential-to-Any upcasts too.

Recognize an erasure of an opened existential and look through it.

@swift-ci Please test and merge


Airship

include: airship

And thank you

Done, 1.62 has released!

I was gonna make this issue but it was late and I forgot lol


Cannot start bridge configuraiton

Typing ./bridge --migrate-db returns -bash: ./bridge: No such file or directory. I have created a table, stellar_bridge, in mysql, added the bridge.cfg file as shown in the documentation and have successfully compiled the bridge server. I don't know why it's throwing me this error.
Also, when I start godoc -goroot=. -http=:6060 I am able to go to the url successfully but the console throws this error:
2017/12/10 07:02:10 updateMetadata: open doc: no such file or directory
2017/12/10 07:02:10 updateMetadata: open doc: no such file or directory

Would kindly like your help, I am very excited to start building on the Stellar platform. Thank you.

Do you have bridge binary in the working directory?


Unhandled Runtime Error Error: Failed to load model

I'm trying to load a local llama 2 7b model(downloaded from hugging face), but everytime I include the path I constanly get Failed to load model error.
To avoid path complexities I moved the model i.e llama2-7b.bin to my D drive. My nextjs project is in C drive. I don't know what I'm doing wrong, I'm thinking perhaps it has to do with the model itself rather than the path.
Here is the code.
`
import Image from "next/image";
// import openai from "openai";
import path from "path";
import { OpenAI } from "langchain/llms/openai";
import { LlamaModel, LlamaContext, LlamaChatSession } from "node-llama-cpp";
export default async function Home() {
const llamaPath = path.join("D:\", "llama2-7b.bin");
console.log(llamaPath);
const model = new LlamaModel({ modelPath: llamaPath });
return (

);
}
`
The error image along with the code is attached.
PLEASE HELP!

The path.join in the screen shot looks like it will resolve to C:\D\llama2-7B.bin.


Support fallback to Long Polling and Server Sent Events

Currently I couldn't find and documentation, readme etc. that describes if fallback to  Long Polling and/or Server Sent Events are supported by this C++ client. Checking other tickets let me assume that currently the SignalR-Client-Cpp dosen't provide the essential fallback to Long Polling and/or Server Sent Events when WebSockets are not supported by the server or blocked by a firewall.
Please implement at least one fallback and somewhere document this limitation.

You are correct. Currently the only supported transport is websockets. This is tracked here: https://github.com/aspnet/SignalR-Client-Cpp/issues/62 so I will close this issue as a duplicate.


Update vsphere template envvar in conformance test

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

/cherry-pick release-0.12

/approve

forced pushed to trigger jobs since they seemed stuck, no changes


angular-file-upload-shim does not work correctly on Chrome -  Failed to execute 'setRequestHeader' on 'XMLHttpRequest'

When I try to upload a file, I get this error:
Error: Failed to execute 'setRequestHeader' on 'XMLHttpRequest': 'function (xhr) {
			if (!xhr) return;
			config.__XHR = xhr;
			config.xhrFn && config.xhrFn(xhr);
			xhr.upload.addEventListener('progress', function(e) {
				e.config = config;
				deferred.notify ? deferred.notify(e) : promise.progress_fn && $timeout(function(){promise.progress_fn(e)});
			}, false);
			//fix for firefox not firing upload progress end, also IE8-9
			xhr.upload.addEventListener('load', function(e) {
				if (e.lengthComputable) {
					e.config = config;
					deferred.notify ? deferred.notify(e) : promise.progress_fn && $timeout(function(){promise.progress_fn(e)});
				}
			}, false);
		}' is not a valid HTTP header field value.

What I figured out is that $upload sets a fake header called __setXHR_ and angular-file-upload-shim patches some methods to manage the fake header here:
patchXHR('setRequestHeader', function(orig) {
	return function(header, value) {
		if (header === '__setXHR_') {
			initializeUploadListener(this);
			var val = value(this);
			// fix for angular < 1.2.0
			if (val instanceof Function) {
				val(this);
			}
		} else {
			this.__requestHeaders = this.__requestHeaders || {};
			this.__requestHeaders[header] = value;
			orig.apply(this, arguments);
		}
	}
});

The problem is that angular-file-upload-shim conditionally executes most of its code:
 if ((window.XMLHttpRequest && !window.FormData) || (window.FileAPI && FileAPI.forceLoad))

And at least in my browser (Chrome 40.0.2214.93 for Linux), window.FormData is set, and window.FileAPI is not, so the condition isn't met.
In summary:

The fake header is set
The patched XHR function that would process the fake header is not set.
The core javascript libraries cannot process the fake header and everything stops working

Versions:

angular 1.3.12
ng-file-upload 3.0.7

Can you post your code here or create a jsfiddle from the sample jsfiddle on readme file.

+1

You guys need to create a jsfiddle or a running code to show the error. As long as the demo page is working you probably have an error in your setup of the library or conflicting libraries.

Thanks for the update. I fixed the problem by rearrange the javascript files.

This does not work for me when I use it with pace.js. XMLHttpRequest gets replaced by pace, so the setRequestHeaders gets back to its native implementation...

You can probably fix it by rearranging the scripts. Make the pace load first and then angular and then angular-file-upload. or play with the order.

I had the same issue start occurring randomly & it turned out to be due to moving pace.js to load before this lib. I fixed it by removing pace.js

Got same issue. Removing pace.js seems to fix it,  however would be nice to support it

+1 for same issue and removing pace (not changing it's position in the load) fixed the issue.

If you guys want this to be fixed faster please create a jsfiddle showing the error: steps to reproduce.

Loading "ng-file-upload.js" before loading "pace.js" fixed the issue for me.

Same here, have been experiencing error: "XMLHttpRequest cannot load https://foreign_domain.tld/. Request header field _setXHR is not allowed by Access-Control-Allow-Headers in preflight response."
and moving pace.min.js after this library fixed it. Thanks.

I have the same problem and my dep are injected via gulp so...i create a small patch as describe in #832
Bower : pace-ng-file-upload-inlinepatch 0.0.6
https://github.com/Dufgui/pace-ng-file-upload-patch

Hi, how did you guys work out that it is was Pace.js ? I'm not using pace.js but I'm receiving this error, and trying to work out what is the conflict.


Revert rustc version

Turns out it is better to still use rustc 1.66.0, otherwise the downstream TiKV project would require a lot of refactoring works if it wants to update its raft-engine version.
I bumped the version in #343 becauseserde requires rustc > 1.67 for stable build. Seems that we get the CI passed, we just need to update the CI's toolchain version, instead of updating the rustc requirement of raft-engine.

/merge

Just a nitpick, you should use cargo patch to lock the version of toml to get around this issue. Setting a MSRV lower than actually required is not friendly to potential users. And CI and MSRV must align, that's the point of explicitly setting one in the first place.


Unable to initialize Sample Application for Alexa AVS on Ubuntu 16.04

IMPORTANT: Before you create an issue, please take a look at our Issue Reporting Guide.
Briefly summarize your issue:
i am trying to create a Sample AVS application for ubuntu 16.04 (based on https://github.com/alexa/avs-device-sdk/wiki/Ubuntu-Linux-Quick-Start-Guide) but i am facing some errors while initializing my Sample applciation ( from the authorisation part https://github.com/alexa/avs-device-sdk/wiki/Authorization#macOS,-Ubuntu-Linux-16.04-LTS,-and-Raspberry) on running this command /SampleApp/src/SampleApp ./Integration/AlexaClientSDKConfig.json
What is the expected behavior?
##################################
NOT YET AUTHORIZED
##################################
################################################################################################
To authorize, browse to: 'https://amazon.com/us/code' and enter the code: {XXXX}
################################################################################################
What behavior are you observing?
2019-03-26 05:06:07.270 [  1] I sdkVersion: 1.12.0
configFile ./Integration/AlexaClientSDKConfig.json
2019-03-26 05:06:07.276 [  1] C SampleApplication:Failed to initialize SDK!
2019-03-26 05:06:07.278 [  1] C SampleApplication:Failed to initialize SampleApplication
Failed to create to SampleApplication!
Provide the steps to reproduce the issue, if applicable:
following the steps given in the guide for ubuntu 16.04  https://github.com/alexa/avs-device-sdk/wiki/Authorization#macOS,-Ubuntu-Linux-16.04-LTS,-and-Raspberry
Tell us about your environment:
ubuntu 16.04 LTS
What version of the AVS Device SDK are you using?
1.12.0

Tell us what hardware you're using:

[ yes] Desktop / Laptop
[ ] Raspberry Pi
[ ] Other - tell us more:

Tell us about your OS (Type & version):

[yes ] Linux
[ ] MacOS
[ ] Raspbian Stretch
[ ] Raspbian Jessy
[ ] Other - tell us more:

Hi @Mithun6193 Thanks for reaching out. Looking at the output you sent, it seems like the AlexaClientSDKConfig.json file has not been configured correctly. Please follow the steps here to setup the AlexaClientSDKConfig.json file: https://github.com/alexa/avs-device-sdk/wiki/Authorization#Generic-Linux
Additionally if you still face an issue please turn on debug logs by running the sample app as follows:
SampleApp/src/SampleApp ./Integration/AlexaClientSDKConfig.json DEBUG9 and attach the log file to this issue.

once i used the SampleApp/src/SampleApp ./Integration/AlexaClientSDKConfig.json DEBUG9 my error was the same as the one found on this link  https://github.com/alexa/avs-device-sdk/issues/681, thankyou so much for the insight.


Update the perfworker creation script

ubuntu-1610 image is not available anymore.

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences


conntrack error: EOF

Looks like we'll have to put the conntrack code in a loop; I didn't think it would error like this.
<probe> 2015/10/20 15:30:56 report generation took too long (2.39062092s)
<probe> 2015/10/20 15:30:57 report generation took too long (1.363455784s)
<probe> 2015/10/20 15:30:59 report generation took too long (1.62540407s)
<probe> 2015/10/20 15:31:01 conntrack error: EOF
<probe> 2015/10/20 15:31:01 contrack exiting
<probe> 2015/10/20 15:31:01 conntrack error: exit status 1
<probe> 2015/10/20 15:31:01 report generation took too long (2.359883658s)
<probe> 2015/10/20 15:31:03 report generation took too long (1.750524499s)
<probe> 2015/10/20 15:31:07 report generation took too long (4.018827444s)
<probe> 2015/10/20 15:31:09 report generation took too long (1.569338672s)
<probe> 2015/10/20 15:31:11 conntrack error: EOF
<probe> 2015/10/20 15:31:11 conntrack error: exit status 1
<probe> 2015/10/20 15:31:12 report generation took too long (2.966609336s)
<probe> 2015/10/20 15:31:20 report generation took too long (8.000810362s)
<probe> 2015/10/20 15:31:32 report generation took too long (12.848780382s)

@squaremo confirms he sees this too (when running the microwiki load test)

Might be correlated with this dmesg output:
[367431.452283] nf_conntrack: table full, dropping packet
[367431.516315] nf_conntrack: table full, dropping packet
[367431.516342] nf_conntrack: table full, dropping packet
[367431.516371] nf_conntrack: table full, dropping packet
[367431.530993] nf_conntrack: table full, dropping packet
[367431.531025] nf_conntrack: table full, dropping packet

So the reason conntrack is failing on my host is:
WARNING: We have hit ENOBUFS! We are losing events.
This message means that the current netlink socket buffer size is too small.
Please, check --buffer-size in conntrack(8) manpage.
conntrack v1.4.3 (conntrack-tools): Operation failed: No buffer space available

Which I guess is because the probe cannot keep up with the new connections.
In this case, it seems appropriate to retry the conntrack, as in brief spikes of connection loads this could happen but we want to start conntracking again.


Integrate libp2p with ping actor into daemons

one thing I was not too happy with was the "magically" hard-coding the libp2p port. happy to expose it as another CLI option, and default it on the taker. Might be best in a follow-up

bors r+

bors cancel

bors r+


Please add possibility to remove old logs and uploads

Hi @adrianth ,
I see that in server.yaml we can specify few parameters regarding retention period of sessions in the db:
sessionHistoryMaxCount
sessionHistoryMinCount
sessionHistoryAgeDays

Could you please also add possibility for cleaning up old files inside the logs  and uploads dirs?

The clean-up logic also deletes the log files and uploads corresponding to the sessions being selected for removal. If you see any sessions being removed but the logs and uploads for those sessions are still there, we might be dealing with a bug. Please let me know if that's the case.

Yes, the case is exactly this - only the records in the sessions file are cleaned, but the logs and uploads remain existing

Hi @adrianth ,
Were you able to reproduce the bug?

I did try to reproduce this and the clean-up logic seems to be working as expected. I'm still thinking of possible edge cases that are not handled correctly, but so far everything looks good.
A few things to keep in mind:

The clean-up logic is running periodically on a timer, so an old session might not get cleaned-up the very second a new session gets created.
Because sessionHistoryMinCount is set to 2, you will always have at least two sessions in your history, even though you've set sessionHistoryAgeDays to 1. Sessions older that 1 day will only sart to be cleaned-up when you have 3 or more sessions in your history.

Please check again to confirm this is really an issue.


Enhancing template functionality and parity

Added some behavior of tags:

text tag:

Create a title function ({{ text | title "Title" }}). In Discord this will set the field name; in Slack this will add *$TITLE* to the top of the text.
Create an inline function ({{ text | inline true }}). This worka in both Discord and Slack (both will require a title to be set as well).

header tag:

Replace the body with a title function. Similar to above title, except that it sets a title for the entire message. Recommended but not required (especially in Discord).

image tag:

Create a thumbnail function, which determines whether an image is full-sized or thumbnail

Various logical tweaks for Slack/Discord parity.

@theothertomelliott Do you feel okay with me merging this?


Add remaining sounds

I found a few sounds that had been left out the API.

While you're at it, could you fix a slight inconsistency with naming that I noticed?
SILVERFISH_KILL should be SILVERFISH_DEATH to match with all other mob death sounds.

@modwizcode Looking good to merge? A part of the implementation is waiting on this.

Looks good to me, I'll merge when I'm back home.

DO NOT HIT THE MERGE BUTTON.
Do it right and cherry-pick it into master.

@Zidane Why? I haven't seen any attached commit that would cause merge conflicts.

That's why I gotta get to a PC.

@Zidane Why? I haven't seen any attached commit that would cause merge conflicts.


Subqueries

as select item
as source item
as condition

As condition is not covered yet, but I will merge it now


Fix test failure caused by untranslated internal link

Prior to this change the tests would fail with:
Checking 358 external links...
Ran on 300 files!

_site/pcm/best-practices/index.html

linking to internal hash #share-ownership-of-your-project that does not exist (line 557)
share ownership of the project

This fixes the internal anchor to match the translated header text.

Couple strange things that we noticed pairing on this w/ @jmeridth 👍

the link checking errors did not come up when i ran the test locally, test run was clean
when the tests did run via Actions, it failed on the first error it found and stopped, masking the fact that there was a second error that required a further fix.

Hi guys, I finally managed to resolve the link connections, thanks also to your interventions.
You were helpful, especially because I didn't understand what was wrong with the links.
Thanks again.
I'm happy to have been part of the translation of the site.


Use gravatar.loli.net instead of cn.gravatar.com

*.gravatar.com has been blocked in mainland China.

https://github.com/applepi-icpc/UOJ-System/issues/1

LGTM


On i Landing on the moon , colony button not enable

on i landing create colony button not enable

do you have 7 tons of construction parts and electronic parts on the rocket?

Also, if you can't create a colony,  you may have installed the mod incorrectly.


⚠ Bofrost.de has degraded performance

In d55c628, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1714 ms

Resolved: Bofrost.de performance has improved in 4c563cd after 13 minutes.


Document how to stand up NuGet Gallery with MSA/AAD support

The README.md does not have details on how to enable MSA/AAD support for Gallery. We should list the steps required.
/cc: @skofman1

Configuring MSA/AAD for your on-prem gallery instance

Register an app for authenticating with your AAD: Sign in with your work/personal account on https://apps.dev.microsoft.com
Goto Application Registration Portal tab
Under "Converged Applications" click "Add an app"
Give a name.
Under platforms section, create a web platform if one doesn't exist
Check Allow implicit flow and Restrict token issuing to this app
Under target domain add: <Your domain> eg: nuget.org
Under Redirect URIs: https://<Yourdomain>/users/account/authenticate/return (NOTE: this is a must format otherwise it will give error, also note the 'https')
Note down ApplicationId and Application secret.
In your local nuget gallery instance, set the values copied in step 9 in web.config for Keys: Auth.AzureActiveDirectoryV2.ClientId and Auth.AzureActiveDirectoryV2.ClientSecret respectively. Also set the value for key Auth.AzureActiveDirectoryV2.Enabled to true so that you can see the login with microsoft account button on login page of gallery.
Note: This authenticates the gallery with the v2 common workflow, It means any AAD/personal
MSA account will be able to create an account and publish packages to your on-prem gallery. If you want to authenticate with only specific AAD, for now, you will need to make a code change.

Update the AzureActiveDirectoryV2AuthenticatorConfiguration. Set the authority tenant ID to your AAD Tenant ID:

openIdOptions.Authority = String.Format(CultureInfo.InvariantCulture, AzureActiveDirectoryV2Authenticator.Authority, "<Your AAD Tenant ID>");

This should get your gallery up and running integrated with your specific AAD Account.

@shishirx34 , Thanks for the write up! Can you create a wiki page here https://github.com/NuGet/NuGetGallery/wiki with those details.

Done: https://github.com/NuGet/NuGetGallery/wiki/Configuring-MSA-AAD-for-your-on-prem-gallery-instance

Can you also reference the wiki from the README.md ?

https://github.com/NuGet/NuGetGallery/pull/6093


Docker crashes without -t

Prerequisites

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

Description
When using the following command, the processes crashes (without docker's -t):
sudo docker run -i --rm -v $(pwd):/workdir -w /workdir pixivutil2 /bin/bash -c "python PixivUtil2.py -s 2 $1 -x"
with the error
Traceback (most recent call last):
  File "PixivUtil2.py", line 1419, in <module>
    main()
  File "PixivUtil2.py", line 1221, in main
    set_console_title()
  File "PixivUtil2.py", line 933, in set_console_title
    PixivHelper.set_console_title(set_title)
  File "/workdir/PixivHelper.py", line 346, in set_console_title
    sys.stdout.write(f"\x1b]2;{title}\x07")
  File "/usr/local/lib/python3.8/site-packages/colorama/ansitowin32.py", line 41, in write
    self.__convertor.write(text)
  File "/usr/local/lib/python3.8/site-packages/colorama/ansitowin32.py", line 162, in write
    self.write_and_convert(text)
  File "/usr/local/lib/python3.8/site-packages/colorama/ansitowin32.py", line 184, in write_and_convert
    text = self.convert_osc(text)
  File "/usr/local/lib/python3.8/site-packages/colorama/ansitowin32.py", line 257, in convert_osc
    winterm.set_title(params[1])
AttributeError: 'NoneType' object has no attribute 'set_title'

Steps to Reproduce

Run utility with docker
Remove the -it because you plan to run this as a child process of another program
Notice crash

Expected behavior:
I expect the program to work as normally, not requiring any form of input.
Actual behavior:
It crashes
Versions
PixivDownloader2 version **20210215-beta1

This is an issue with node.js, not this library.
 child_process.execFileSync(downloadsh, [ id ], { cwd: process.env.PIXIV2UTIL_DIR, stdio: 'inherit' });
the stdio needs to be specified, as per https://github.com/shelljs/shelljs/wiki/FAQ#running-interactive-programs-with-exec


AACPlayer issue when playing certain stream on Android

Hi, I just manage to spot a difficult to reproduce problem on Android.
Steps I did to see the problem

Upload a acc to AWS S3 using react-native-audio to record the AAC and RN XMLHttpRequest to serve
Be sure that it is serve from aws S3 (no cloudfront in beetween) with content type AAC
Use react-native-audio-streaming to play the content
See it does nothing

Sometimes, with some file or after a delay (?? not sure about it) It does manage to play the file, but sometimes it fail, so it is hard to reproduce. Note that the same file work perfectly on iOS
Debug message
As I was able to find a bugging case on a real android device (ZTE Axon Pro Android 5.0.2 and kernel 3.10.49 on a Qualcomm810 processor), I did get the following pidcat bug (with redacted private header that content private metadata).

This seems to be related to this line:
https://github.com/vbartacek/aacdecoder-android/blob/master/decoder/jni/aac-decoder/aac-decoder.c#L427
I'm pretty noob with aac, but I read somewhere in the net that it can be because my file as an ADIF header instead of an ADTS and thus vbartacek/aacdecoder-android can't read it
Hope you have enough info to help me.

Hello,
I'm sorry but I have no idea about the issue there. If meta informations are not needed for your case, you could try the new implementation with ExoPlayer https://github.com/tlenclos/react-native-audio-streaming/pull/44.

#44 seems month old so I did not give a try but if you think it will work, I will be please to test.

(wrong button)

I rebased it and did an update of the underlying android library. Sadly it does not provide meta information for the moment.

What do you mean by metadata (just to be sure) ?
Shall I redo my work (url/progress) on top of that or this is already feature compatible with iOS.

I mean artist and song name. This is not feature compatible but I'm waiting for a new release of the library.

Ah ID3 tags ? Cool !
Ok :) will it interest you that I do the same stuff I did to send the url and the progress in the RN event, like I did before, but on top of Exoplayer.
By the way Exo player look awesome. I mean when the branch will land, it will be a great progress.
Ty for doing this.

Yes you can if you really need this feature, and we could merge it in my branch then.

+1 happens to me too... any luck resolving the issue?

Still happens to me on Android.. Plugin version is 2.3.2

+1


Update changes.json to make it update socket.js

We forgot about this

@Mid0aria your bot mess lots of things, please check it again
I just found it add a "," in
  type: "duo" ```
  inside `check extra token` part, that make socket cannot get type variable and only show the single mode

how is this comment work tho?

ok the reason socket getting wrong type is still unknown but can be fix my setTimeout
also send a sorry to the bot because i think it was the error :(

also make first time pray/curse not check captcha (the same as hunt/battle check func)

wait a sec i am doing one more thing...
this will be final commit

finally
Changes:
Update quest function so that main token can do quest back to extra token (if you think it not nessescary, u can make a bool to prevent it)
Little change to socket client so that the error section will be bettle when mutiple error appear
Slightly increase first time auto pray/curse so that the bot can check if there was any pray/curse quest exist

Sowwy for making too much commit, next time i will reduce them and make 1 pr with only 3-5 commit :P (but i think the bot at this time will not have anything to update, it nearly perfect)

finnaly
just know that EOL mean end of life :(
what i am doing the whole time :(?


Milestone 3 readiness list (due 03.03.23)

Per each language, the user should be able to:

[ ] #29
[ ] #30
[ ] #20
[ ] #21
[ ] #22
[ ] #23
[ ] #24
[ ] #25
[ ] #26
[ ] #27
[ ] #28

Close as it was converted to GitHub Milestone


Reminders tab not showing!

How can I show the tab/sidebar for my set reminders? The "clock" icon shows the recent files instead of reminders!
Reminder 1.1.15
Ubunut 22.04
Obsidian v1.5.12

Yes, command "Reminder: Show reminders" shows no tab with the results!
Reminder 1.1.15
Windows 11
best regards

can not receive remind and can not set the tab,
Reminder 1.1.15
Windows 10
obsidian 1.6.3
All the best, just found this extension, I think this would be wonderful to me.


Refactor install.sh

This PR attempts to cleanup the install.sh script, which was originally generated by godownloader. Godownloader uses the project's .goreleaser.yaml to autogenerate the install.sh to ensure that the releases always stay in step with the install.sh features (as long as you continually run godownloader). We have not been re-running godownloader since it is now a deprecated project and there is no guarantee that the generated install.sh will function with the release.
This, coupled with multiple recent install.sh related issues that have been filed (in both syft and grype) has led to this PR, which makes the following changes:

refactor of the install.sh to be more friendly to continual maintenance (remove dependence on mutating global variables, breakdown functions into smaller more focused responsibilities, etc)
reworks the logic of the install.sh script to depend on the published checksums file for each release. This file is searched for the appropriate asset to install. Note: dmg and darwin zip files are not included in the checksums file in a production release
adds unit tests for key bash functions, including serving a current release-like snapshot directory and testing the download and install functions to ensure that all assets can be installed by the install.sh functions
adds unit test to test that install.sh can download assets from an actual release. This is due to the fact that the signing process changes the checksums file and zip/dmg assets for mac, so testing only against snapshots is not good enough.
adds acceptance tests that use the install.sh script with more modern bash and less modern sh environments to prove portability on linux systems
adds acceptance test to ensure that install.sh script works on a mac to install a DMG

The above changes are useful for the following primary point: as we create snapshot builds (which is essentially the output of the .goreleaser.yaml specific configuration) we are testing the install.sh against a pseudo-release, so we can see format/os/arch related failures before cutting releases.
There are some caveats:

snapshot != release: the DMG is not created by the build process, but instead, the signing process, which is not performed on snapshot builds. For this reason all-things related to installing DMGs is not included in unit testing or the search-by-checksum file approach. Instead a single acceptance test is used to ensure that installing from an existing release with the current install.sh works alright. (maybe in the future DMG creation can be brought under the standard asset release process?)
The acceptance-level install.sh usage is against the latest release. This leaves us open to possible problems down the line when/if we introduce breaking changes to how we install assets. Ideally we would test against a mocked current release like the unit tests do [+ mocking the github api calls] ... however, that doesn't seem necessary at this time.

Alternative approach considered: I prototyped a version of the install.sh that uses the github API to discover the available assets, however, this was more complicated than using purely the checksums file and we would still use the checksums file anyway for verification of downloads.
Related to anchore/project-toolbox#113

@wagoodman, I just gave the install.sh script a try on my M1 and got the following:
[info] checking github for the current release tag
[info] using release tag='v0.36.0' version='0.36.0' os='darwin' arch='arm64'
[error] could not find release asset for os='darwin' arch='arm64' format='zip'
[error] failed to install syft

great catch @westonsteimel , I see why that wouldn't work --the zip checksum is removed from the checksums file on release (but not snapshot builds), a behavior we hope to correct soon when bumping goreleaser and changing the release process.
I'll make some updates to account for this 👍

@westonsteimel mind trying it out now on your M1?

@wagoodman, it works now!


Tactical nuclear typo destruction.

Given a choice between "what graduation means" and "what it means to graduate," I think the latter better preserves the voice of the original.

@hairboat thoughts on this?

Fine by me!


RuntimeError in creating GestureRecognizer

Have I written custom code (as opposed to using a stock example script provided in MediaPipe)
No
OS Platform and Distribution
windows 11
Mobile device if the issue happens on mobile device
No response
Browser and version if the issue happens on browser
No response
Programming Language and version
Python 3.8, 3.9, 3.10
MediaPipe version
<IP_ADDRESS>
Bazel version
No response
Solution
Gesture Recognition
Android Studio, NDK, SDK versions (if issue is related to building in Android environment)
No response
Xcode & Tulsi version (if issue is related to building for iOS)
No response
Describe the actual behavior
I just:

create a new conda environment with python=3.8 and install the lastest using $ python -m pip install mediapipe

Using official code to create a gesture recognizer :

import mediapipe as mp

BaseOptions = mp.tasks.BaseOptions
GestureRecognizer = mp.tasks.vision.GestureRecognizer
GestureRecognizerOptions = mp.tasks.vision.GestureRecognizerOptions
VisionRunningMode = mp.tasks.vision.RunningMode

# Create a gesture recognizer instance with the image mode:
options = GestureRecognizerOptions(
    base_options=BaseOptions(model_asset_path='/path/to/model.task'),
    running_mode=VisionRunningMode.IMAGE)
with GestureRecognizer.create_from_options(options) as recognizer:
  # The detector is initialized. Use it here.
  # ...

Then I run the Python file and got RuntimeError: Unable to initialize runfiles: ERROR: external/bazel_tools/tools/cpp/runfiles/runfiles.cc(120): cannot find runfiles (argv0="")

Describe the expected behaviour
None

Standalone code/steps you may have used to try to get what you need
import mediapipe as mp

BaseOptions = mp.tasks.BaseOptions
GestureRecognizer = mp.tasks.vision.GestureRecognizer
GestureRecognizerOptions = mp.tasks.vision.GestureRecognizerOptions
VisionRunningMode = mp.tasks.vision.RunningMode

model_path = 'gesture_recognizer.task'
options = GestureRecognizerOptions(
    base_options=BaseOptions(model_asset_path=model_path),
    running_mode=VisionRunningMode.IMAGE)
with GestureRecognizer.create_from_options(options) as recognizer:
    print('Gesture recognizer created.')

Other info / Complete Logs
No response

This has already been fixed in master and will be part of the next release, which is coming within the next couple of days.


Add support for arrays casting

closes #141

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 75.47%. Comparing base (df2118b) to head (edee975).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #150      +/-   ##
==========================================
- Coverage   79.19%   75.47%   -3.72%
==========================================
  Files          54       53       -1
  Lines        3210     3189      -21
==========================================
- Hits         2542     2407     -135
- Misses        668      782     +114

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


D8FlowAccumulation ignore NoData value with --pntr flag

It seems that the new --pntr flag of D8FlowAccumulation ignore the NoData of the D8Pointer raster as the resulting flow accumulation raster has values where it should be NoData. To reproduce with sample data from WhiteboxTools (NoData is a border all around the raster):
whitebox_tools -r=SetNoDataValue -i="Sample64Bit.tif" -o="DEM_nodata.tif" --back_value=9999
whitebox_tools -r=D8Pointer -i="DEM_nodata.tif" -o="D8Pointer.tif"
whitebox_tools -r=D8FlowAccumulation -i="D8Pointer.tif" -o="D8FlowAcc.tif" --pntr

Closing this issue as a reference to a commit by @jblindsay on August 6th. If this issue is still persistent, I can re-open it.

Now it's fixed.


relativeOutputDirectory doesn't work as expected

I have the following plugin configuration:
<resources>  	<resource>  		<source>  			<directory>${project.basedir}/src/test/resources/</directory>  		</source>  		<relativeOutputDirectory>../css</relativeOutputDirectory>  		<destination>${project.basedir}/src/test/resources</destination>  	</resource>  </resources>
Using this directory settings my css files are generated in
${project.basedir}/src/test/resources/
but I think they should go to:
${project.basedir}/src/test/resources/css

I don't think this ever worked eg. Jasig/sass-maven-plugin#70
Failing the requested diagnostic information makes it difficult for me to spend time on.
did you try leaving out the destination element, as the doc says the relativeOutputDirectory is relative to the sources, so it may not be needed

I think I tried almost everything ;)
Sadly I don't get your tests to run, but I think the problem lies here:
https://github.com/GeoDienstenCentrum/sass-maven-plugin/blob/master/src/main/java/nl/geodienstencentrum/maven/plugin/sass/Resource.java#L80
relativeOutputDirectory is not resolved for root directory, but only if there are includedDirectories. And I think relativeOutputDirectory should be relative to destination, not to source as you can see in line 93.

It doesn't make sense to have a relative location to a destination directory, in that case you could just specify the destination by itself... I've never used this option and the code was inherited from the discontinued upstream project.
I'm working on fixing up the tests in #158, the update to Sass 3.5 causes incompatibility issues with scss-lint, de docs for building is described in the developer notes: http://www.geodienstencentrum.nl/sass-maven-plugin/development.html


aria-selected, mouse events, and a smidgen of confusion

I believe that I have hit a bug, but I'm not 100% certain how to fix it, as I don't fully understand the purpose of the source code around applying the aria-selected attribute.
First, the bug: when using the keyboard to navigate the dropdown suggestions, aria-selected is set to true for the item that I select (via "enter"). When I use the mouse, however, to select an item from the dropdown, aria-selected remains false for that item.
The reason is fairly simple, but this is where the intentionality of the code confuses me a bit. The aria-selected attribute is only changed in the goto prototype method at line 189. The goto method isn't called directly in any of the instance event bindings, but is instead called from either next, previous, or open, and only from either next, previous, open. What is clear is that the aria-selected attribute is only set as the user keyboard navigates the dropdown items.
Notably, however, setting that attribute doesn't occur in the select method. So, it is really a happy coincidence that the selected item is marked as aria-selected="true", since it is given that attribute when you keyboard-navigate to it via the up or down arrow, and nothing happens to change it when you hit "enter". Moreover, this clearly leads to the bug described, as the mouse select only fires the select method, so goto isn't called to set the attribute.
The naive solution is simply to duplicate the one line of code that sets the attribute in the select method. This isn't really DRY, however. We could also call to goto from select, but that seems semantically odd and unnecessary. Also, I have tried to do some research to see if there is an ARIA attribute that maps better to "highlighted" that could be used in the goto method, while aria-selected is only set in the select method, but I couldn't really find anything (aria-activedescendant seemed close, but doesn't seem quite right, but I'm nothing close to an ARIA expert).
So, I believe this is a bug. I'm happy to fix it and put in a PR. I just don't know how it ought best to be fixed.
stephen

I believe this is a bug too. I shouldn't be able to arrive in a state where my keyboard has something selected and my mouse has something else selected.

This is possibly an oversight on my behalf, when working solely on aria stuff for keyboard navigation. I've simply been so concentrated on that, I missed that it should rightly be set for mouse too.
Probably up to @LeaVerou to choose which solution is preferred.


ctr+r should default to having an option to reload the window

Opening Show All Commands by pressing ctrl+shift+p has the option Developer: Reload Window, see here:

There, you can see the keybinding ctrl+r bound to reload the window. selecting that option from the command list will properly reload the window. However, pressing ctrl+r gives the a menu to open previously selected workspaces and files. There is nothing there lets you quickly reload the window.
I believe that the first, default option selected when pressing ctrl´r should actually be "Reload Window", the same way as is done in the command selection, and which is also indicated there that it should happen if pressing ctrl+r.

The issue here is that this keybindings that have context that is not currently active (in this case inDevelopment) to still be shown across UI (there are several open issues about why keybindings are shown)

This keybinding here only for cases when you are starting VS Code version from sources while debugging VS Code itself and need to pull updated sources. Same true for Toggle Developer Tools in Help menu.
For regular editor use Recent files will be more used that reloading editor window.
If you really need that keybinding you can change it using command palette with  >Preferences: Open Keyboard Shortcuts, remove context from Reload window and remove shortcut from Open recent.

To add on to @IllusionMH, the UI for removing the development requirement can be accessed via the below "Change When Expression", you'd set it empty for this:

@JacksonKearl I did not mean that it should default to reloading the window, I meant that the default option in the drop-down list when pressing ctrl+r should be to be an item in the list to reload the Window.
I understand the logic behind the isDevelopment due to @IllusionMH's description, but I still think it makes sense to have it as the first option in the list when pressing ctrl+r.

I understand. I don't think this is likely to happen -- on other platforms (macOS) the two have different keybinds which is likely to cause confusion if we group them everywhere when they aren't the same everywhere, or if we group them but only on some platforms.

I meant that the default option in the drop-down list when pressing ctrl+r should be to be an item in the list to reload the Window.

I have no clue what this means.

@bpasero Does this make more sense?

This is the dropdown you get when pressing ctrl+r. It would have been nice with an item there that said "Reload Window", which is selected by default.

To clarify: you expect a "Reload window" in this picker? But why, it is about switching to another workspace.

Yes. Because there is no way to quickly reload the window right now, and I felt that was a good place to place such a functionality so when one presses ctrl+R you can either "load another workspace" or "reload current workspace".
I am completely fine with closing this if it does not make any sense to you.

I am completely fine with closing this if it does not make any sense to you.

👍


Add explicit support for regressors next to classifiers

Problem Description
Currently the focus of Probatus was (binary) Classifiers, however already (silently) there is support for regressors. The docstrings should reflect that as well as the example notebooks.
Desired Outcome
The notebooks and code reflect the reality and even perhaps expand on it functionality wise.
Solution Outline
First start with updating the code (naming of variables and docstring) then finish with the example notebooks. Lastly, update the readme of this repo and its description on github. Don't forget the description on Pypi.

fixed in #248


VNode compatibility with Hyperapp 1.1

Since hyperapp 1.1 changed the spec for virtual doms (attributes instead of props et c), I suggest we change Picodom to match.
Unless there's a particular reason for Picodom and Hyperapp to diverge, it seems like a good idea to keep them as compatible as possible, so that tools that produce or operate on vnodes can be compatible with both (such as Hyperapp-transitions). Also, I presume whatever the reasons for Hyperapp to change (Preact compat?) are as valid for Picodom.

Fixed!


Early enterocyte of colon

def, refs and synonyms added

#gogoeditdiff

#gogoeditdiff

Enterocyte of colon is now colonocyte, so name here should match (early colonocyte)

Member

This term is already early colonocyte, early enterocyte of colon is a synonym


redis-status: Add option to disable hit-ratio check

Is your feature request related to a problem? Please describe.
Hello,
it would be in beneficial if it would be possible to disable individual parameters in the redis-status check. For example if hit-ratio is not a concern, a flag like "--ignorehitratio" would be nice.
Describe the solution you'd like
Flags like "--ignorehitratio" or --"ignorehugepages" and others if the given parameter is considered a non-issue by the user.
Alternatives
No response
Additional context
In not all cases is it possible or allowed to change for example kernel parameters like transparent_hugepage. In this case, if the affects of this is accepted, would be nice if this part of the check could be ignored.

Good point.


Register the package?

@andreasnoack Shall we register this package?  I would prefer it to be registered so that we can depend on it in MixedModels.jl.

Sure. If you don't plan to make any further changes right now then let's go ahead and register it

Good.  Will you do the submission please?  I always have to go back to the documentation and fumble around when trying to do an initial registration.

https://github.com/JuliaRegistries/General/pull/68998

Should be good to go now. It will be available in three days.


fix: remove ToString and implement fmt::Display instead

As pointed out already in #11 (ref std::string::ToString) implementing ToString directly isn't such a great idea, especially since it may panic. Hence this replaces our ToString impl with a Display impl.

Forget what I said above. ToString is implemented for all Display types. I'm dumb.


trying to train and im getting a not enough columns error

  File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/home/NAME/piper/src/python/piper_train/preprocess.py", line 502, in <module>
    main()
  File "/home/NAME/piper/src/python/piper_train/preprocess.py", line 143, in main
    for utt in make_dataset(args):
  File "/home/NAME/piper/src/python/piper_train/preprocess.py", line 423, in ljspeech_dataset
    assert len(row) >= 2, "Not enough columns"
AssertionError: Not enough columns```

my training command:
```python3 -m piper_train.preprocess --language en --input-dir ~/newvoice/Me   --dataset
-format ljspeech   --single-speaker   --sample-rate 22050 --output-dir ~/newvoice/Me/output```

ahh yes please dont use the ``` marks properly

and the format of my dataset is in a .csv file being columns A the path to the audio, and columns B the content of the audio

ok i fixed it by setting everything to 1 column and adding a | between everything, but thats a really janky way of doing it, at that point why not just allow a standard file to be read from?


Testing modifications of global namespaces with a separate testing folder & tsconfig

Issue

I have a file in a src directory which adds a few convenience functions to Map. I have a test file for it in a __test__ directory. The __test__ directory also contains a testing tsconfig.json, which includes the file in the src directory explicity. Tests against the added Map functions fail because Jest doesn't see the additions.

Expected behavior

I would expect that global namespaces modified in included files are recognized in test files. I suspect the includes section of the testing tsconfig.json isn't doing what I think it is.

Link to a minimal repo that reproduces this issue

https://github.com/riggs/ts-jest-example

Incidentally, including a 'side-effect-only' import statement of the file solves the issue (without the include), which is different behavior than 'vanilla' tsc. Is this an artifact of node?

@riggs jest processes all test files one at a time and passes them to ts-jest. Then when ts-jest processes a file, it processes only that file and doesn't consider other files unless they're imported. That's why, adding an import solves the issue in this case - it's expected behavior.
Does that clarify things with this issue?

Indeed it does!


Migrate Checker to ES6 class

This is pure refactoring commit. Reimplement the "Checker" JavaScript class using the modern ES6 class instead of the deprecated Closure Compiler classes.
This is preparation for implementing regression test for #824.

(The diff is horrible, but essentially it's changes of class/function definitions, plus a new constant, and one extra indentation for the rest of the file...)


fix: xmtp multi protocol example debugger issue

Change Summary

Fixes an issue related to state mismatch when validating XMTP frame messages.
Adds back button to multi protocol example

Merge Checklist

[x] PR has a Changeset
[x] PR includes documentation if necessary
[x] PR updates the boilerplates if necessary

Blocked by https://github.com/xmtp/xmtp-node-js-tools/issues/226


Consider adding an optional Cargo like experience

This is a bit relevant to our recent discussion here: https://github.com/j3-fortran/fortran_proposals/issues/55#issuecomment-622974918, but separate.
Right now when developing a new Python package using Conda, you have to create a Conda environment and enable it, for example:
conda create -n dev toml
conda activate dev

and you have to do conda activate dev every time you open a new terminal and want to do any work on your new package.
Rather, I really like how Rust handles this exact problem, and we are developing the same workflow for Fortran, but it would also work for Python and I think Mamba is a great candidate to provide such an interface. The closest tool in Python that allows such a workflow is Poetry, however it fails to easily switch Python versions (https://github.com/python-poetry/poetry/issues/2382) and overall seems fragile so far, but the high level idea I think is correct.
The workflow for Python would be:
$ mamba new mypkg
$ cd mypkg
$ tree
.
├── Mamba.toml
└── src
    └── main.py

1 directory, 2 files
$ mamba build

The last command installs all the dependencies as specified in Mamba.toml using Conda, but does not require you to manually load any environment (it does it behind the scene).
Then this runs the application in src/main.py:
$ mamba run
...
Hello, world!

The actual layout should probably be modified to be compatible with the Python packaging layout, but you get the idea. The way this works is that it runs the app in a Conda environment, but behind the scene, so you never have to manually load anything.
Then of course:
$ mamba test

will run tests, say using pytest or unittests (configurable).
mamba publish would create a pypi package out of this and allow to upload it.
See how Cargo in Rust does it. This could really help making Python development very robust.

hey @certik,
thanks for getting back to this!
It totally sounds like a great idea. I understand that having this kind of workflow would be very nice. My colleague @martinRenou recently added some bash foo that adds a specific command (e.g.cmd xeus) that will jump to the xeus folder and activate the xeus conda environment.
None of what you are saying is impossible, I think it would require minimal glue on top of mamba :) We're currently pushing very hard on getting rid of the remaining Python code (locally I have a small C++ file that exposes a minimal CLI to create new conda environments without any "conda / Python".
This works fine for UNIX so far, Windows will need a couple of changes to properly work but it's well within reach (probably lands within this week).
Are you interested in collaborating for this so we can use mamba for Fortran? I am convinced this would be the ideal tool for you guys and if it's not I am happy to help 100%.
Making mamba-build (a fast conda-build) is a top priority for me and we already have a couple of the important pieces for that.

With conda, creating a dev env is a bit of a process:
conda install -n mypkg-dev mypkg --only-deps
conda activate mypkg
cd mypkg
pip install --no-deps -e .

IIUC the install command will only use the deps from a published package rather than a meta.yaml. I did suggest allowing to use a meta.yaml over in https://github.com/conda/conda/issues/7248#issuecomment-491112938 but it probably got lost in the noise. I still think that would be a very useful feature.
In that issue, automatically activating the environment when cd'ing to a folder was also discussed but I don't personally find it too much of a burden to manually activate an env... and I've no idea how you could even implement that feature!

I strongly recommend that you play with Cargo and Rust just a little bit, to get what I am talking about. It's hard to explain beyond what I tried above, but the end user development experience is miles ahead of Python.
I think we can catch up, but we need to first understand what the goal is. Currently all Python efforts in this area feel like just fixing the biggest issues and calling it good enough. It might be easier to do a video chat to explain it.
On Tue, May 5, 2020, at 6:08 PM, Dave Hirschfeld wrote:

With conda, creating a dev env is a bit of a process:
conda install -n mypkg-dev mypkg --only-deps conda activate mypkg cd mypkg pip install --no-deps -e .
IIUC the install command will only use the deps from a published
package rather than a meta.yaml. I did suggest allowing to use a
meta.yaml over in conda/conda#7248 (comment)
https://github.com/conda/conda/issues/7248#issuecomment-491112938 but
it probably got lost in the noise. I still think that would be a very
useful feature.
In that issue, automatically activating the environment when cd'ing
to a folder was also discussed but I don't personally find it too much
of a burden to manually activate an env... and I've no idea how you
could even implement that feature!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/QuantStack/mamba/issues/200#issuecomment-624371586, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAFAWAWLR5OGNQGQXM276TRQCTAHANCNFSM4MZCZIYA.

Just my 2 cents:
Maybe you should try conda-devenv and/or direnv, even with conda.

There is https://github.com/prefix-dev/pixi now

I see that @wolfv has fixed this issue with pixi! Great job. I played with pixi, and I think it does it exactly as I was imagining. Better in fact, as above I was still thinking of specific to C++ or specific to Python, and pixi does it for both.


pull request for e2e test at 02/03/2017 14:45:07

: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.


Resolve Component Governance bug

Please wait to merge this. I haven't changed the branding in main yet.

Please wait to merge this. I haven't changed the branding in main yet.

Sounds good, lemme know when it's good to go


Add echo timestamp / by line

Add a parsing for echo metadata (https://github.com/dwillis/parler-parse/commit/457c0bcb10176ffdbbd84e9dfac51dfbf4cae8ae) with the new RelTimestamp type (added here ).
Also would like add an fix timestamps option that will give you an estimate by either:

Taking a "scrape time" argument and using that to calculate an estimated real timestamp
Using file metadata (path names with timestamps in them or create date)
Accepting WARC files as input and using that metadata

Closing by https://github.com/ilsken/parler-parse/commit/d47c3bceeb136a0cbedd85e52cabccfaded381bc


Only use rails root if it exists when setting @base_artifact_dir.

This allows for the use of this tool outside of Rails.

For context:
Failure/Error: @base_artifact_dir || Rails.root

    NameError:
        uninitialized constant CapybaraInlineScreenshot::Rails

Oh, great catch @originalhat! (Love your profile pic btw). I'll merge this in now.
Want me to push a new release out? Or do you wanna test it against gem "...", github: "..." first?

@keithpitt thanks for the merge! It looks like it took care of the error locally, feel free to bump whenever is convenient for you. Thanks!

@originalhat 2.2.0 is out! 🚀


Improve error reporting

Hi there, first of all thanks for building a fast zero dependency Wayland compatible bar with excellent documentation in the wiki.
When I started using rwaybar I copied the default config however I then got greeted by less then ideal errors (mostly Error: Os { code: 2, kind: NotFound, message: "No such file or directory" } ). By eliminating most of the config I quickly found out it was due to incorrect font paths.
I think rwaybar could be made easier with better error handling. In the source I saw you bubble errors up using Box<dyn Error>. I have found color_eyre a wonderfull (drop in!) replacement for that. It would make it easy to add context to an error such as the one above.
For example the font not found line: https://github.com/danieldg/rwaybar/blob/a8425f475e3d56271880f4b853eb81aef2133325/src/font.rs#L27
could become:
use color_eyre::{Result, eyre::WrapErr};
pub fn new(name: String, path: PathBuf) -> Result<Self> {
    let file = File::open(&path)
        .wrap_err_with(|| format!("Could not open font {name} at given path {path:?}"))?

I have tried to make errors that actually happen trigger error! instead of the Box<dyn Error> path; font errors in particular should do that.  It looks like I didn't think through that error path well.


Methods for gcd, modulo inverse and modulo exponentiation on big integers.

Many big integer libraries offer functions for greatest-common-divisor,
modulo exponentiation, and modulo inverse.
Would it be reasonable to add these to the Dart bigint library since Dart has already built-in support for big integers?

This is fixed. The int class has gcd, modPow and modInverse implemented. Thanks!


Unify UIEdgeInsets and NSEdgeInsets

🚀
Checklist

[x] I checked the Contributing Guidelines before creating this request.
[x] New extensions are written in Swift 5.0.
[x] New extensions support iOS 8.0+ / tvOS 9.0+ / macOS 10.10+ / watchOS 2.0+, or use @available if not.
[x] I have added tests for new extensions, and they passed.
[x] All extensions have a clear comments explaining their functionality, all parameters and return type in English.
[x] All extensions are declared as public.
[x] I have added a changelog entry describing my changes.

          4 Messages

:book:
Thank you for submitting a pull request to SwifterSwift. The team will review your submission as soon as possible.

:book:
iOS: Executed 620 tests, with 0 failures (0 unexpected) in 8.650 (10.527) seconds

:book:
tvOS: Executed 594 tests, with 0 failures (0 unexpected) in 1.615 (2.048) seconds

:book:
macOS: Executed 458 tests, with 0 failures (0 unexpected) in 0.465 (0.621) seconds

  Generated by :no_entry_sign: Danger

@guykogus Just remove the required status from travis, it seems to be blocking the merge :)


On Mac OS X, rename appleseed.studio binary to appleseed-studio

This to allow launching appleseed.studio by double-clicking on the program's binary.

Fixed.


develop

docs: change README.md
chore(package): change format npm script
docs(readme): change examples
docs(readme): change examples
fix(docs): change API.md

Codecov Report

Merging #39 (58b84b9) into master (9f40061) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master       #39   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           19        19
  Lines          157       157
  Branches        35        35
=========================================
  Hits           157       157

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 9f40061...58b84b9. Read the comment docs.


[dv,usbdev] Tidy up packet classes

Eliminate some redundant functions and unused variables.
Formatting/style guide changes.
Added explanatory comments.

Pass rates unaffected. No functional change.

CI issues unrelated.


Add navigation buttons to PWA Desktop

If you install PWA on desktop, there's no navigation buttons from the browser and you have to use mouse navigation. Not sure if there's a way to inject these via PWA or we need to add code?

After some digging, it seems like bringing back the Desktop navigation button code for the Deskto PWA scenario is the best.

Notes to pass along...

minimal-ui mode will easily bring back the navigation button in Desktop:

But it was intentionally changed to standalone in fd03679c, I believe to prevent the header in mobile:

As of June 2022, a dynamic manifest.json at the client side is no longer viable, so changes will need to be at server-side.
Went into that rabbit hole ... the need to get the user agent to determine if it is mobile vs desktop was fine ... but then hit another stumbling block with how we generate/serve index.html between / and other routes. The amount of changes doesn't seem worth it when we already have GUI code for navigation functionality.


Update important-upgrade-notes.rst

5.37.10 has been released.

Summary

Ticket Link

Hello @anx-ag,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.

Not sure how many 5.37 releases will be shipped, if 5.37.10 is the last one, it should be OK I guess.


hud: add cell alignment to collapsed UX

Hello @yuindustries, @landism,
Please review the following commits I made in branch nicks/ch1027/columns:
c7db3069257d5a3dfc69db46ba370042e38cc3a0 (2018-12-05 13:57:03 -0500)
hud: add cell alignment to collapsed UX


[FormRecognizer] listNextPage is broken

  /**
   * ListCustomModelsNext
   * @param nextLink The nextLink from the previous successful call to the ListCustomModels method.
   * @param options The options parameters.
   */
  listCustomModelsNext(
    nextLink: string,
    options?: coreHttp.OperationOptions
  ): Promise<Models.FormRecognizerClientListCustomModelsNextResponse>

The nextLink from previous result has the following form:
https://jeremy-fr-canary.cognitiveservices.azure.com:443/formrecognizer/v2.0-preview/custom/models?nextLink=2!236!MDAwMTMyIXN1YnNjcmlwdGlvbnMvYThlOGQzYTYzMzdlNDZjZmI3OWM2MzZhZjA3MzAzMDcvbW9kZWxzL2UxNDI1N2Q0LTgxODktNGU3Zi1iNDgxLTdiZDdmNmU2MjI3NS9lMTQyNTdkNC04MTg5LTRlN2YtYjQ4MS03YmQ3ZjZlNjIyNzUuanNvbiEwMDAwMjghOTk5OS0xMi0zMVQyMzo1OTo1OS45OTk5OTk5WiE-&op=full"

My initial investigation:
nextLink from service is a full url to GET the next page of result
the operationSpec has a path parameter of {nextLink} so it replaces that one with the full url
somewhere in core-http, because we try to set the path, and there's :// in the path, so it goes into the code path of setting SCHEME and nulls out host part.
not sure where is the bug.

[2:11 PM] Christopher Radek
Hmmm, I wonder if that x-ms-paths is screwing up the code generator. I'm not sure if our test swagger tests that.
[2:15 PM] Jeremy Meng
right. The operation spec looks strange
const listCustomModelsNextOperationSpec: coreHttp.OperationSpec = {
path: "{nextLink}",
httpMethod: "GET",
responses: {
200: {
bodyMapper: Mappers.Models
},
default: {
bodyMapper: Mappers.ErrorResponse
}
},
queryParameters: [Parameters.op],
urlParameters: [Parameters.endpoint, Parameters.nextLink],
serializer
};
core-http would append path to the base url. and in this case {nextLink} gets in there and is replaced with the full url from the service.

just tried .NET and the code can list all my 117 models without any problem.

The issue seems to be in core-http UrlBuilder which ends up getting a miss formed url with the following format /a/b/https://hostname/api/version/operation/ and seems to be caused by the logic of identifying the scheme when setting the path which assumes that if "://" is found in the path, the scheme is always going to be the first thing in the string


Bug: Long time to debug (with dd) for enum

PHP Version
8.1
CodeIgniter4 Version
4.2.4
CodeIgniter4 Installation Method
Composer (using codeigniter4/appstarter)
Which operating systems have you tested for this bug?
Windows
Which server did you use?
apache
Database
MySQL
What happened?
If we debugging with dd for enum, especially enum cases or enum class itself, its taking long time . but if we debug enum's name or value is not long.
Steps to Reproduce
We create an enum

And debug the enum cases

is taking long time then we get "Maximum execution time" error

Expected Output
Fatal error: Maximum execution time of 120 seconds exceeded in E:\Nova\Latihan\HtmlObject\vendor\kint-php\kint\src\Renderer\RichRenderer.php on line 518
Anything else?
No response

Can you give the minimum code (not a screenshot) to reproduce the issue?

Can you give the minimum code (not a screenshot) to reproduce the issue?
this the enum class file

 false,
            default => true
        };
    }

    public function isAppendable(): bool
    {
        return match ($this) {
            self::Header1, self::Header2, self::Header3, self::Header4, self::Header5, self::Header6,
            self::Strong, self::Emphasized, self::Italic, self::Subscript, self::Superscript
            => false,
            default => true
        };
    }
}

and i try to dd in index controller to see it in screen
dd(HtmlElements::cases());

Can you give the minimum code (not a screenshot) to reproduce the issue?
That i update the thread and add my code

@MrFrost-Nv27 Thank you for update!
I've confirmed the behavior.
It seems an issue in Kint. I created an Issue: https://github.com/kint-php/kint/issues/392

@MrFrost-Nv27 Thank you for update! I've confirmed the behavior.
It seems an issue in Kint. I created an Issue: kint-php/kint#392

Ok thanks for the response

Oke great, thanks

Kint 4.2.0 was released.
If you install CodeIgniter via Composer, composer update will solve this problem.
If not, the next release v4.2.5 would solve this problem.


The functionality related to "UIDeviceOrientationDidChangeNotification" causes a crash.

I experienced a crash when removing EAIntroView from the view hierarchy.
The problem was that I was removing the whole UIViewController that EAIntroView was part of, instead of calling "hideWithFadeOutDuration:". The crash happened because these two lines weren't being called:
[[NSNotificationCenter defaultCenter] removeObserver:self];
[[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications];

It was pretty surprising to see that "beginGeneratingDeviceOrientationNotifications" was being called in the constructor of EAIntroView.
I would expect that calling a constructor doesn't change any global state at all.
(Not to mention that the opposite action isn't called in a "destructor", meaning that the effects aren't always properly reversed).
My suggestion is: The code with side effects should be moved into the willMoveToSuperview: method of EAIntroPage. If the suggestion gets approved, I can implement & test that.

Good catch, thanks for detailed research on this.
I agree with your suggestion and will be happy to see PR.

I reproduced the crash on iOS8 (in iOS9 observers are stored as weak references, and are automatically cleaned up).
With this fix, the crash no longer happens.

Tested by adding the EAIntroView to a superview, moving it to a different superview, then removing it from the view hierarchy.
Tested with an EAIntroView in a storyboard.


 Every-time I run Wot-server.js with sudo su user (as sudo node doesn't work with nvm) I get an timeout error as following. Could you please see why this error is happening and how it can be resolved.
events.js:141
throw er; // Unhandled 'error' event
^
Error: No reply in 247s
at null._onTimeout (/home/pi/wot-pi/node_modules/coap/lib/retry_send.js:70:16)
at Timer.listOnTimeout (timers.js:92:15)

Hi logivity, sorry we missed your message :/ Do you still have this problem? Which chapter are you trying to run the examples from?

I'm having the same problem on my setup - RPi Zero W, only change I made was delete plugin and lines associated with LED control. This occurred by running simple wot server from chapter 7.

Thanks a lot for that report. Which version of Node.js do you use when this happens?

Unfortunately I don't remember exactly - I had to re-install the OS because of other issues, but I think it was the newest version of node.js that supported armv6 (for RPi Zero)

Hi there,
I am experiencing the same problem.
Here's my flow:

cloned git on my Mac

entered part1-2-direct-gateway folder

run npm install

got the attached errors

run node wot-server.js

got the attached message

Hi Carlo. This is due to the version of Node you are using. The Pi code is means for Node 4.x and incompatible with versions > 4.x. The book suggests installing v4.4.2 but you can find newer 4 versions from: https://nodejs.org/en/download/releases/
Let us know if that works. Note that we are working on a new version of the code that should support recent versions but it isn't ready yet.


Cleanup timestamp-query example

This was a great example. I started this change as just removing a console.log that seemed like it shouldn't be there but then I noticed the code didn't actually handle the case when 'timestamp-query' doesn't exist and ended up making a bunch of changes.
I didn't mean to step on anyone's toes. Here's the change though.

Remove console.log from timestamp query sample
This was just filling all of memory with strings. Probably not a big deal since no one is likely to run the sample for hours but still....
Maybe add a <pre> spot that holds the last N queries if you want to see a history?

no need for hasOngoingTimestampReadback
GPUBuffer already has mapState which tells you this state so no need to track it separately.

There's no need for timestampCount
It's already on GPUQuerySet.count

code didn't check if timestamps are supported before adding timestamp section to the render pass so the sample got a validation error if timestamp-query was not avaialble.
Note: you can test this with the webgpu-dev-extension. Type 'timestamp-query' into the "Block Feature" field and reload the page.

Refactor not to use readAsync
This seems like a problematic API. You call readAsync and if the map is pending then your callback is ignored. Ideally, if a callback was the right API design, then every callback you pass should get called and if it's pending then it would need to add your callback to a list of callbacks to be called when it's ready.
Further, the timestamps passed back are only valid during the callback. If you tried to keep them they'd magically disappear as soon as your callback exited since they're directly the mapped buffer which will be unmapped as soon as you exit.
Further, I'd argue for this sample at least, all you want is the last timing.
So, changed the API to just give you the last times. No callbacks.

It's not clear what TimestampQueryManager was really managing.
It wasn't adding the timestamps for you.
Further, because you were adding them yourself you'd have to check yourself, if queries were supported then add them.
Then, beacuse you were adding them yourself it was up to you to choose start and ends indices.
It was also passing out BigInt but BitInt is hard to use correctly. I'd argue you don't need it. IIUC, Number.MAX_SAFE_INTEGER is 104 days of nanoseconds so it's fine to convert and give the user something easy to work with.
So, I changed it to take a pairId and then use that to set both start and end. That way it can auto-subtract the pairs and give you Number. The user doesn't have to deal with BigInt. It still has the issue the timestamps a only kind of valid during the callback but that's not really the contract. Rather, they are always the last read value but at least they don't go to undefined if you happened to save timestamp?

Other: I considered even getting rid of pairId and have addTimestampWrite just auto increment the indices to use. It would then reset to 0 when you call update. With that, it could easily add up the times and give you the total time across passes. That way you wouldn't have to manage the pairIds yourself. On the otherhand, if you wanted individual pass timings you need to know which pass got which pairId. It could pass the pairId back from addTimestamp but I was less sure about that change.
Anyway, I hope this is considered an improvement.
One other thing, I don't understand PerfCounter. If you get one bad outsized timing it seems like it will take an extremely long time to recover though maybe I don't understand the math.

It would be nice if compute boids sample is similar (either use timestampquery-manager or uses same variables): https://github.com/webgpu/webgpu-samples/blob/main/sample/computeBoids/main.ts

It would be nice if compute boids sample is similar (either use timestampquery-manager or uses same variables): https://github.com/webgpu/webgpu-samples/blob/main/sample/computeBoids/main.ts

Sharing the manager would be good! I'll land this but that can be a potential followup

Thank you @greggman for the thorough feedback and retakes! I admit I am more used to playing with the C API rather than the JavaScript one, and some parts of the example were clearly imperfect.
Sorry I could not reply earlier, but I do not fully agree with the proposed change. I'll try my best to explain (but am off course open to counter arguments!):

It's not clear what TimestampQueryManager was really managing.

The logic of the TimestampQueryManager is to be independent from the processing of the query results: the user says "My pipeline needs N timestamps, and here is what to do with the results (the callback)". I agree that my callback API was pretty bad indeed, it should have been a callback set once for all! But I still find it interesting to be a callback rather than moving the elapsed time computation logic inside the manager: if the user has multiple passes and wants to compute various timestamp difference, that's up to them.
You are effectively moving the behavior of onTimestampReadBack within the manager, making it specific, while otherwise the mechanism is generic (and the interpretation of timestamp indices is up to the user, hence it is manually specified in the pass descriptor (typically, using an enum if there are more than 2 timestamps).
I have been using a C equivalent of this manager for a while, and it is something I want to just copy-paste from one project to another without needing to customizing it all the time: it contains no domain-specific behavior.
NB: This is also why the query count was a user argument, and resolveAll called wuith "all".

One other thing, I don't understand PerfCounter. If you get one bad outsized timing it seems like it will take an extremely long time to recover though maybe I don't understand the math.

If it is just for display it may not be ideal, but a typical use case is to measure perf for a benchmark report, which means giving an equal role to all samples. This just computes the mean/stddev w/o storing all samples.
Furthermore, a proper benchmarking requires to accurately know the number of samples. However, reading the stateful passDurationMeasurementNs rather than getting a callback leads to an incorrect sample count, because addSample is now called at each frame rather than each time a timestamp query gets read back (ofc one should also keep track of which passes were invoked in cases some of them do not run at each frame).
Of course a lot of this is mostly a question of genericity over minimalism and any outcome (your version, my proposition, or any other) would make as much sense in the end (the first version of the example was on the opposite side of the spectrum -- no abstraction at all -- and it was (rightfully) deemed hard to read). I only thinking that if, as suggested, we wanted to reuse this manager in other examples, it could be interesting to make it not-too-specific! Again, open to counter-arguments :)


Clean up Github workflows

As a devops engineer I want to understand which actions are related to testing versus deployment versus utilities.

Delete the build_docker workflow, it is redundant
change the name of "build_hub.yml" :name to Build Hub (instead of Router)
Remove production from "build_hub.yml"'s on: statement
Rename release.yml to "release_to_azure.yml"
Rename github_release.yaml to release_to_github.yml

PR https://github.com/CDCgov/prime-reportstream/pull/6584 has been created to resolve this issue


Use of mutation testing in ruby-lirc - Help needed

Hello there!
My name is Ana. I noted that you use the mutation testing tool Mutant in the project.
I am a postdoctoral researcher at the University of Seville (Spain), and my colleagues and I are studying how mutation testing tools are used in practice. With this aim in mind, we have analysed over 3,500 public GitHub repositories using mutation testing tools, including yours! This work has recently been published in a journal paper available at https://link.springer.com/content/pdf/10.1007/s10664-022-10177-8.pdf.
To complete this study, we are asking for your help to understand better how mutation testing is used in practice, please! We would be extremely grateful if you could contribute to this study by answering a brief survey of 21 simple questions (no more than 6 minutes). This is the link to the questionnaire https://forms.gle/FvXNrimWAsJYC1zB9.
We apologize if you have already received message multiple times or if you have already had the opportunity to complete the survey. If you have already shared your feedback, we want to convey our appreciation, kindly disregard this message, and please accept our apologies for any inconvenience.
Drop me an e-mail if you have any questions or comments (anasan@us.es). Thank you very much in advance!!

Hi Ana, sorry for the total lack of response. If I remember correctly I did respond to your survey. Gonna close this issue, but feel free to @ me if I forgot and a response would still be useful!


[Website] Link box name in coverage page to the box description

Summary
It would be good to have the box names listed in the coverage tables linked to the other page that describes the box. You could click on a box (covered or not) and get a description for it.
Steps to reproduce

Open the Website
Go to the coverage section
Find a box you're interested in (in the covered or not covered part), e.g. mebx
You should be able to click on it and it would take you to https://mpeggroup.github.io/FileFormatConformance/?query=mebx

I assume adding a hyperlink for the last part of the path (bold box name) is sufficient?


Create Dockerfile

python 2.7
setup R libraries
fetch and run scripts

Works on mac, can open if it doesn't work on jetstream or other computers.