PEP 458:  Seeking Alternative Words for a Few Terms

I would like to find better words for a few terms used in PEP 458.  Suggestions and feedback is appreciated.
A. Offline and Online keys
Online keys are stored on PyPI infrastructure, allow automated signing of metadata, and are easily read by attackers if PyPI is compromised.  An offline key is the opposite, and may be owned and used by PyPI administrators to sign PyPI roles (e.g., root.json and targets/claimed.json), or by developers who sign their delegated metadata (e.g., targets/claimed/django.json).
alternative terms:

off-pypi, on-pypi
off-site, on-site
managed, automated

B. Claimed and Unclaimed roles
The claimed roles are managed and signed by developers.  In contrast, the unclaimed role is signed by PyPI administrators in an automated fashion.
alternative terms:

pypi-claimed, developer-claimed
developer-signed, pypi-signed
developer-managed, pypi-managed

Feedback given by distutils-sig community member:
"Although on the terminology front, I don't really understand what an
"online key" and an "offline key" are. My mind translates them as
"worse" and "better" from context, but that's about all. I'm not
asking for an explanation (I can look that up) but as terms being
encountered by the non-specialist, they contribute to the difficulty
in reading the proposals. If there's any better way of naming these
two types of keys, that would be accessible to the non-specialist,
that would be a great help."
"I'm not keen on the term "unclaimed". All projects on PyPI right now
are "unclaimed" by that usage, which is emphatically not what
"unclaimed" means intuitively to me. Surely "pip" is "claimed" by the
PyPA? Maybe "unverified" works as a term (as in, verifying your
account when signing up to a forum). I get the idea that unclaimed
implies there's a risk, and sure there is, but this smacks of using a
loaded term to rub people's noses in the fact that what they've been
happily using for years "isn't safe". This happens a lot with security
debates, and IMO actively discourages people from buying into the
changes."

I tend to like off-pypi / on-pypi for online and offline keys.  We do want
to make it clear that a breach of PyPI puts those keys at risk and I feel
this term conveys it better than the others.
For claimed / unclaimed, I find developer-signed / pypi-signed to be the
most intuitive.  To me, "managed" sounds too much like editing the code and
"claimed" doesn't mean much at all.
However, it is more valuable to hear from people who haven't spent the past
few years speaking the "project lingo".  :)
On Wed, Jan 7, 2015 at 1:24 PM, Vladimir Diaz<EMAIL_ADDRESS>wrote:

I would like to find better words for a few terms used in PEP 458.
Suggestions and feedback is appreciated.
A. Offline and Online keys
Online keys are stored on PyPI infrastructure, allow automated signing of
metadata, and are easily read by attackers if PyPI is compromised. An
offline key is the opposite, and may be owned and used by PyPI
administrators to sign PyPI roles (e.g., root.json and
targets/claimed.json), or by developers who sign their delegated metadata
(e.g., targets/claimed/django.json).
alternative terms:

off-pypi, on-pypi
off-site, on-site
managed, automated

B. Claimed and Unclaimed roles
The claimed role is managed and signed by developers. In contrast, the
unclaimed role is signed by PyPI administrators in an automated fashion.
alternative terms:

pypi-claimed, developer-claimed
developer-signed, pypi-signed
developer-managed, pypi-managed

Feedback given by distutils-sig community member:
"Although on the terminology front, I don't really understand what an
"online key" and an "offline key" are. My mind translates them as
"worse" and "better" from context, but that's about all. I'm not
asking for an explanation (I can look that up) but as terms being
encountered by the non-specialist, they contribute to the difficulty
in reading the proposals. If there's any better way of naming these
two types of keys, that would be accessible to the non-specialist,
that would be a great help."
"I'm not keen on the term "unclaimed". All projects on PyPI right now
are "unclaimed" by that usage, which is emphatically not what
"unclaimed" means intuitively to me. Surely "pip" is "claimed" by the
PyPA? Maybe "unverified" works as a term (as in, verifying your
account when signing up to a forum). I get the idea that unclaimed
implies there's a risk, and sure there is, but this smacks of using a
loaded term to rub people's noses in the fact that what they've been
happily using for years "isn't safe". This happens a lot with security
debates, and IMO actively discourages people from buying into the
changes."
—
Reply to this email directly or view it on GitHub
https://github.com/pypa/interoperability-peps/issues/13.

I like on-pypi/off-pypi and developer-signed/pypi-signed.
For keys, I think off-pypi effectively conveys that those keys may still be online somewhere, just on a far more restricted service without quite so many attack vectors as the main PyPI server. The PEP doesn't specifically care that they be offline entirely, it just cares that an attack on PyPI itself won't compromise them. Avoiding common points of attack on the PyPI service and the off-pypi keys is then the responsibility of the PyPI maintainers, and outside the scope of the PEP.
For signing, I definitely like the switch in naming emphasis to "Who are you trusting?". With the current TLS based approach, you're trusting the developer, PyPI, the TLS endpoint termination provider and the TLS CA system. With PyPI signed packages, you're trusting the developer and PyPI, while with developer signed packages you're just trusting the developer.

On 7 January 2015 at 22:53, ncoghlan<EMAIL_ADDRESS>wrote:

For signing, I definitely like the switch in naming emphasis to "Who are
you trusting?". With the current TLS based approach, you're trusting the
developer, PyPI, the TLS endpoint termination provider and the TLS CA
system. With PyPI signed packages, you're trusting the developer and PyPI,
while with developer signed packages you're just trusting the developer.

I just wanted to add that even with developer-signed packages, you do trust
PyPI to tell you (with off-pypi, pypi-signed keys) what the right public
keys of the developers are, but that is the extent of the trust.

True, there's still a requirement to trust the PyPI administrators (who are in effect acting as a CA for developer signing keys), just not the online PyPI service itself.

On 8 January 2015 at 02:11, ncoghlan<EMAIL_ADDRESS>wrote:

True, there's still a requirement to trust the PyPI administrators (who
are in effect acting as a CA for developer signing keys), just not the
online PyPI service itself.

Yes. Good analogy :)

The alternative terms on-pypi, off-pypi, pypi-signed, and developer-signed were added in PR https://github.com/pypa/interoperability-peps/issues/17


Update reference-analysis-tools-strings.yml

fix 2 problems:

fix false positive by not hitting, if there was a word character before ida:

regex: /ida[gqtuw]?(\.exe)?$/i
-<EMAIL_ADDRESS>@ file+0x2F7

405d4c2ef7419bf265edef0fe86c8ba1ed634b10dccaaa0a6c6b953645598619

regex didn't match ida64.exe because it required one of the characters in the brackets.

-<EMAIL_ADDRESS>@ file+0x2F7 is this actually a reference to the IDA filename, or a FP?

more generally, the four character pattern "ida[t...]" seems like it might very easily show up in random strings. should we restrict it further, like ensuring its not found within a substring, but only a whole string?

yes, fp.
I think the $ in the end prevents it from hitting any random substring.

thank you, @ruppde!


Introspected CockroachDB schema has different field type than original Prisma schema that was migrated

https://github.com/prisma/migrations-ci/commit/e30759d59b54d1aaf1f8bd7236a71b258c523b76 shows 2 schemas.diff where the type of a field is different different in the schema introspected from a databases that created based on a first introspected schema of the example database.

https://github.com/prisma/migrations-ci/commit/e30759d59b54d1aaf1f8bd7236a71b258c523b76#diff-3cfebb6cd03f022a25275af8d5bf5a990572342af05d6515e994d3d21f620ce0 (results/cockroachdb-serverless/introspection-ci-5134.noalyss-folder/schemas.diff)...
190,195c190,195
<   ex_enable Unsupported("char") @default(dbgenerated("'Y':::STRING::\"char\""))
---
>   ex_enable String  @default(dbgenerated("'Y':::STRING::\"char\"")) @db.Char(1)
225,226c225,226
<   fi_debit     Unsupported("char") @default(dbgenerated("'d':::STRING::\"char\""))
---
>   fi_debit     String        @default(dbgenerated("'d':::STRING::\"char\"")) @db.Char(1)

Here we go from a Unsupported("char") to a String @db.Char(1) with an identical @default
Original SQL is ex_enable "char" DEFAULT 'Y'::"char" NOT NULL.
https://github.com/prisma/migrations-ci/commit/e30759d59b54d1aaf1f8bd7236a71b258c523b76#diff-fc00c6eeb3b064b49cdf3509d9dcbb78a5d3818ff28a72412b75e4da485ecc87 (results/cockroachdb-serverless/introspection-ci-5134.northwind/schemas.diff)20,21c20,21
<   customer_id           String                @db.Char
<   customer_type_id      String                @db.Char
---
>   customer_id           String                @db.Char(1)
>   customer_type_id      String                @db.Char(1)
29c29
<   customer_type_id       String                   @id(map: "pk_customer_demographics") @db.Char
---
>   customer_type_id       String                   @id(map: "pk_customer_demographics") @db.Char(1)
35c35
<   customer_id            String                   @id(map: "pk_customers") @db.Char
---
>   customer_id            String                   @id(map: "pk_customers") @db.Char(1)
98c98
<   customer_id      String?         @db.Char
---
>   customer_id      String?         @db.Char(1)
135c135
<   region_description String        @db.Char
---
>   region_description String        @db.Char(1)
164c164
<   territory_description String                 @db.Char
---
>   territory_description String                 @db.Char(1)

Here we fo from String                @db.Char to String                @db.Char(1).
Original SQL seems to be territory_description bpchar NOT NULL, and similar.

Quickly tested this with the latest main of engines:
With the following DDL:
create table test (
    id serial8 primary key,
    data bpchar
);

We introspect the following data model:
model test {
  id   BigInt  @id @default(autoincrement())
  data String? @db.Char
}

Then we use migrate diff to see if there's any changes in the data model above and the database, the answer is:
-- This is an empty migration.

Can't reproduce.

bpchar is an alias for char, which is also blank-padded and we in general don't have aliases in our native types.

kekw, and then I find the bug from the code. When you come back on Monday @janpio do not read the two comments I wrote above.

Only partially fixed:

https://github.com/prisma/migrations-ci/blob/automated/dev/results/cockroachdb-serverless/introspection-ci-5134.noalyss-folder/schemas.diff (changed with  3.12.0-dev.11)

8c8
<   url      = "..."
---
>   url      = "postgresql://prisma@localhost:26257/introspection-ci-5134.noalyss-folder"
90d89
<   @@index([ag_id], map: "fk_action_person_action_gestion")
91a91
>   @@index([ag_id], map: "fk_action_person_action_gestion")
195c195
<   ex_enable String  @default(dbgenerated("'Y':::STRING::\"char\"")) @db.Char
---
>   ex_enable String  @default(dbgenerated("'Y':::STRING::\"char\"")) @db.Char(1)
205d204
<   @@index([f_start_date], map: "fki_f_start_date")
206a206
>   @@index([f_start_date], map: "fki_f_start_date")
226c226
<   fi_debit     String        @default(dbgenerated("'d':::STRING::\"char\"")) @db.Char
---
>   fi_debit     String        @default(dbgenerated("'d':::STRING::\"char\"")) @db.Char(1)

https://github.com/prisma/migrations-ci/blob/automated/dev/results/cockroachdb-serverless/introspection-ci-5134.northwind/schemas.diff (not changed since 3.11.0-dev.52)

8c8
<   url      = "..."

Double checked, this is really fixed this time 👍


Example hello_world_tui_no_ctrl_c.rs does not compile

Problem
https://github.com/DioxusLabs/dioxus/blob/master/docs/guide/examples/hello_world_tui_no_ctrl_c.rs does not compile because dioxus_tui:: has to be replaced with dioxus::tui.
Steps To Reproduce
Steps to reproduce the behavior:

create Rust project
copy and paste code
run cargo check

Expected behavior
Code should compile.
Environment:

Dioxus version: dioxus = { version = "0.2.4", features = ["tui"] }
Rust version: v1.64.0
OS info: Windows
App platform: tui

Questionnaire

[ ] I'm interested in fixing this myself but don't know where to start
[x] I would like to fix and I have a solution
[ ] I don't have time to fix this right now, but maybe later

Same as on issue #567, the example is for masternot stable.


Fixed wrong contentSize when Brick’s height changed

The algoritm to check the max Y of a row was not taking in account an invalidation
Fixes #36

Current coverage is 92.99% (diff: 100%)

No coverage report found for master at 235713c.

Powered by Codecov. Last update 235713c...e45000d


Upgrade to intl: ^0.18.0

Other packages like jiffy use intl: ^0.18.0. conflicting with flutter_locales. Please upgrade intl to 0.18.0

@rickmrobin  the new version if publish with updated intel package, thank you


The options seen in --help are misleading

Options appear like so:
OPTIONS:
-i                         Instance
-omit "path/to/file"       Omit directories or files (delimited by semicolons)
-overwrite                 Overwrite existing files
-verbose                   Verbose output
while the more accurate options description would be:
OPTIONS:
-i                         Instance
--omit "path/to/file"       Omit directories or files (delimited by semicolons)
--overwrite                 Overwrite existing files
--verbose                   Verbose output

This was fixed with the release of v1.1.0.


AWS Demo: Bookmarklet for disambiguating KeyCloak Account Selection/Sign in Screen

Describe the issue
When logging in via KeyCloak into AWS, the user is greeted with numbered accounts rather than descriptive names.
Which Sprint Priority is this issue related to?
AWS Demo
Definition of done

Friendly login experience via KeyCloak so the user knows what they are logging into without having to refer to external documentation
User likely clicks a bookmarklet and gets the information but actual technical solution TBD

Sinking this one.  Bookmarklet is our emergency back way into the system in case our main HTML login fails (as we saw stability issues in the past when AWS adjusted its CSP)


fix: multiple ingestion

[x] fix multiple ingestion -- where duplicate dimension entries are getting created on running ingest-data multiple times
[x] remove dependency on grammar files during ingest-data process

@techsavvyash please add unit + e2e. Need this to be tested on every commit.

I tested this on gitpod, but I am not able to see the values being updated and getting these errors instead. Can you also share the ingest files that you are using.

Have we switched to using PG_POOL ? @techsavvyash

Have we switched to using PG_POOL ? @techsavvyash

yes! The changes in this PR are ported from #101

I tested this on gitpod, but I am not able to see the values being updated and getting these errors instead. Can you also share the ingest files that you are using.

DMed on discord

I

the

@techsavvyash please add unit + e2e. Need this to be tested on every commit.

added.

I tested this on gitpod, but I am not able to see the values being updated and getting these errors instead. Can you also share the ingest files that you are using.

checking into this, meanwhile you can refer this video: https://drive.google.com/file/d/1YOjHJCkuHzb1ttI1B_3aLSE6bRcv2waZ/view?usp=share_link

@tushar5526 checked on gitpod, not able to reproduce the error mentioned, can you share the steps you followed.
Here is what I did:

Open the PR in gitpod
create a top level .env at the root of the project using the given .env.sample.
run docker-compose up -d
create a .env in impl/c-qube with the following format

DATABASE_URL="postgres://timescaledb:postgrespassword@localhost:5432/postgres?sslmode=disable"
DB_USERNAME="timescaledb"
DB_HOST="localhost"
DB_NAME="postgres"
DB_PASSWORD="postgrespassword"
DB_PORT="5432"

install dependencies inside impl/c-qube using yarn
run yarn cli ingest
run yarn cli ingest-data

and everything worked fine for me.
Attaching a screenshot for reference, check the bottom left to confirm that its the gitpod environment.

@tushar5526 please review this.

LGTM, great work @techsavvyash! Thanks

Works great! Thanks @techsavvyash!

Can you also create a .env.sample in side impl/c-qube ?

I still see some errors while testing @techsavvyash

Error: ENOENT: no such file or directory, stat './ingest/programs/diksha/linkedqrcount-event.data.csv'
    at Object.stat (node:internal/fs/sync:58:25)
    at Object.statSync (node:fs:1669:17)
    at createCompoundDatasetDataToBeInserted (/workspace/cQube-ingestion/impl/c-qube/src/services/csv-adapter/parser/dataset/dataset-grammar.helper.ts:110:20)

I still see some errors while testing @techsavvyash

I am getting no error of this sort on my local with the same ingest folder. Can you share reproduction steps?

Error: ENOENT: no such file or directory, stat './ingest/programs/diksha/linkedqrcount-event.data.csv'
    at Object.stat (node:internal/fs/sync:58:25)
    at Object.statSync (node:fs:1669:17)
    at createCompoundDatasetDataToBeInserted (/workspace/cQube-ingestion/impl/c-qube/src/services/csv-adapter/parser/dataset/dataset-grammar.helper.ts:110:20)

not able to reproduce, please share reproduction steps.

The error reported is not being reproduced on gitpod as well for me.

Tested again, works good. Thanks!


Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

Hi, I am using your image to use jenkins-agent with docker, but when I run commands I get the error Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? Do you know what it could be?
I'm using a kubernetes POD, thanks.

Hi Manuel.
docker: Cannot connect to the Docker daemon at unix:///Users/cybus-pi/.docker/run/docker.sock. Is the docker daemon running?. normally means, that your docker daemon is not running. You need to ensure this with the settings you see.
This project was used within docker environments and I never used it in a K8s environment, but I give it a try now.
For my information:

Which kind of K8s orchestrator do you use? (Minikube, Rancher/K3s, K3d, EKS, AKS, GKE, Openshift, others).
Can you provide a K8s resource definition here you use to spin up an inbound agent container?

Follow-up.
To make it work you should follow the docker-in-docker guide for Kubernetes.
It's about finding the route to a reachable DOCKER_HOST and configuring it properly.
Limitations
As I'm current not using this on K8s I cannot assure that every works, especially with regard to proper subreaper settings (might be something for the k8s init containers) and the privileged mode (which should normally NOT be required on K8s).
I tested on a Jenkins pipeline with using the docker plugin, which successful downloads an image to the agent container and started a container, but I'm currently not completely aware of potential issues with the processes and signal handling, please try this out and let me know, what you find.
How to resolve
I've created a simple k8s deployment and skipped all options not applicable for the K8s environment:

disabling the --init and --privileged options, set both DIND and TINI_SUBREAPER to false
added the docker dind sidecar container and configured the DOCKER_HOST setting for the agent container configuration

After that you can open a shell in the deployed agent container and see success with
docker run -it --rm node:lts-alpine node --version
So that I consider this ticket resolved, do you agree?
The K8s resource I used looks like this:
## How to use:
## - Install:
##   kubectl create namespace jenkins-agents
##   kubectl -n jenkins-agents create -f ./jenkins-agent-deployment.yaml
## - Delete:
##   kubectl -n jenkins-agents delete deployment jenkins-inbound-agent
## - Look at logs:
##   kubectl -n jenkins-agents logs -flapp=jenkins-inbound-agent
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: jenkins-inbound-agent
spec:
  selector:
    matchLabels:
      app: jenkins-inbound-agent
  replicas: 1
  template:
    metadata:
      labels:
        app: jenkins-inbound-agent
    spec:
      containers:
        - name: jenkins-inbound-agent
          image: jforge/jenkins-inbound-agent:additional-tools
          env:
            - name: JENKINS_URL
              value: "https://<your-jenkins-controller-host>"
            - name: JENKINS_WEB_SOCKET
              value: "true"
            - name: JENKINS_SECRET
              value: "ve|2yv3rys3cr3t"
            - name: JENKINS_AGENT_NAME
              value: "K8s-Agent"
            - name: DIND
              value: "false"
            - name: TINI_SUBREAPER
              value: "false"
            - name: DOCKER_HOST
              value: tcp://localhost:2375
          resources:
            requests:
              cpu: 800m
              memory: 500Mi
        - name: dind-daemon
          image: docker:1.12.6-dind
          resources:
            requests:
              cpu: 20m
              memory: 512Mi
          securityContext:
            privileged: true
          volumeMounts:
            - name: docker-graph-storage
              mountPath: /var/lib/docker
      volumes:
        - name: docker-graph-storage
          emptyDir: {}


FS0193 error when specifying sequential struct layout of a type

While translating some C# code into F# I noticed some unexpected behavior with structlayout.
Having
type MyType =
    struct
        val a: int
    end

is fine, but having
open System.Runtime.InteropServices
[<type:StructLayout(LayoutKind.Sequential, Pack=1)>]
type LayoutType =
    struct
        val a: int
    end

results in an error:

error FS0193: internal error: Could not load type 'LayoutType' from assembly 'FSI-ASSEMBLY,  Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null' because field 'a@' was not given an explicit  offset.

Setting Pack=0 and everything is fine.
I tried this out in VS2013 and VS2015 CTP 6, and the results are identical.
/Kasper @kasperhj

I can repro this too.  According to : https://msdn.microsoft.com/en-us/library/vstudio/system.runtime.interopservices.structlayoutattribute.pack(v=vs.100).aspx
1 is a valid value for pack,
setting it to 1 or any other non zero that I tried for that matter results in:
error FS0193: internal error: Could not load type 'LayoutType' from assembly 'FSI-ASSEMBLY, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null' because field 'a@' was not given an explicit offset.

Yes I had noticed this a while ago: http://stackoverflow.com/questions/24587684/structlayout-limitation-in-f-interactive


[BWC] Ensure 2.x compatibility with Legacy 7.10.x

This PR fixes TransportHandshaker to send a spoofed Legacy 7.10.2 mincompat
version to ensure OpenSearch 2.x nodes can join a Legacy 7.10.x cluster for
rolling upgrade support. Without this change 7.10.x and OpenSearch 2.x mixed
cluster bwc tests were failing.

Last check failed with a non-reproducible test; documenting for posterity:
REPRODUCE WITH: ./gradlew ':server:internalClusterTest' --tests "org.opensearch.index.shard.IndexShardIT.testExpectedShardSizeIsPresent" -Dtests.seed=9C6FF4BF9EE79C60 -Dtests.security.manager=true -Dtests.jvm.argline="-XX:TieredStopAtLevel=1 -XX:ReservedCodeCacheSize=64m" -Dtests.locale=ar-LY -Dtests.timezone=Asia/Novokuznetsk -Druntime.java=17

2> java.lang.AssertionError
        at __randomizedtesting.SeedInfo.seed([9C6FF4BF9EE79C60:D0C2765DABB1D7ED]:0)
        at org.junit.Assert.fail(Assert.java:87)
        at org.junit.Assert.assertTrue(Assert.java:42)
        at org.junit.Assert.assertTrue(Assert.java:53)
        at org.opensearch.index.shard.IndexShardIT.testExpectedShardSizeIsPresent(IndexShardIT.java:307)
  1> [2022-01-14T12:58:28,900][INFO ][o.o.i.s.IndexShardIT     ] [testLimitNumberOfRetainedTranslogFiles] before test

Also looks like an unexpected circuit breaker was tripped; likely unrelated to the test failure:
Caused by: org.opensearch.common.breaker.CircuitBreakingException: [parent] Data too large, data for [<agg [foo_terms]>] would be [6948/6.7kb], which is larger than the limit of [1024/1kb], usages [request=5120/5kb, fielddata=0/0b, in_flight_requests=0/0b, accounting=1828/1.7kb]
  1> 	at org.opensearch.indices.breaker.HierarchyCircuitBreakerService.checkParentLimit(HierarchyCircuitBreakerService.java:484) ~[main/:?]
  1> 	at org.opensearch.common.breaker.ChildMemoryCircuitBreaker.addEstimateBytesAndMaybeBreak(ChildMemoryCircuitBreaker.java:133) ~[main/:?]
  1> 	at org.opensearch.search.aggregations.AggregatorBase.addRequestCircuitBreakerBytes(AggregatorBase.java:167) ~[main/:?]
  1> 	at org.opensearch.search.aggregations.AggregatorBase.<init>(AggregatorBase.java:129) ~[main/:?]
  1> 	at org.opensearch.search.aggregations.bucket.BucketsAggregator.<init>(BucketsAggregator.java:78) ~[main/:?]
  1> 	at org.opensearch.search.aggregations.bucket.DeferableBucketAggregator.<init>(DeferableBucketAggregator.java:64) ~[main/:?]
  1> 	at org.opensearch.search.aggregations.bucket.terms.TermsAggregator.<init>(TermsAggregator.java:206) ~[main/:?]
  1> 	at org.opensearch.search.aggregations.bucket.terms.AbstractStringTermsAggregator.<init>(AbstractStringTermsAggregator.java:65) ~[main/:?]
  1> 	at org.opensearch.search.aggregations.bucket.terms.GlobalOrdinalsStringTermsAggregator.<init>(GlobalOrdinalsStringTermsAggregator.java:112) ~[main/:?]
  1> 	at org.opensearch.search.aggregations.bucket.terms.TermsAggregatorFactory$ExecutionMode$2.create(TermsAggregatorFactory.java:487) ~[main/:?]
  1> 	at org.opensearch.search.aggregations.bucket.terms.TermsAggregatorFactory$1.build(TermsAggregatorFactory.java:135) ~[main/:?]
  1> 	at org.opensearch.search.aggregations.bucket.terms.TermsAggregatorFactory.doCreateInternal(TermsAggregatorFactory.java:306) ~[main/:?]
  1> 	at org.opensearch.search.aggregations.support.ValuesSourceAggregatorFactory.createInternal(ValuesSourceAggregatorFactory.java:71) ~[main/:?]
  1> 	at org.opensearch.search.aggregations.AggregatorFactory.create(AggregatorFactory.java:96) ~[main/:?]
  1> 	at org.opensearch.search.aggregations.AggregatorFactories.createTopLevelAggregators(AggregatorFactories.java:276) ~[main/:?]
  1> 	at org.opensearch.search.aggregations.AggregationPhase.preProcess(AggregationPhase.java:63) ~[main/:?]
  1> 	at org.opensearch.search.query.QueryPhase.execute(QueryPhase.java:161) ~[main/:?]

Pushed commits to the development branch do not seem to be updating this PR. :trollface:

Another failure that can't be reproduced! (╯°□°)╯︵ ┻━┻
REPRODUCE WITH: ./gradlew ':server:internalClusterTest' --tests "org.opensearch.cluster.routing.allocation.decider.MockDiskUsagesIT.testRerouteOccursOnDiskPassingHighWatermark" -Dtests.seed=994DB46D3A71E388 -Dtests.security.manager=true -Dtests.jvm.argline="-XX:TieredStopAtLevel=1 -XX:ReservedCodeCacheSize=64m" -Dtests.locale=pt -Dtests.timezone=Asia/Tel_Aviv -Druntime.java=17

Looks like a node timeout issue at MockDiskUsagesIT.java#L166
1> [2022-01-14T19:03:26,620][WARN ][o.o.c.NodeConnectionsService] [node_t1] failed to connect to {node_t0}{C3fT4Fp9SjmjuepSij5_0Q}{IqnPkDZ7TZu52WOm_HWKOA}{<IP_ADDRESS>}{<IP_ADDRESS>:43583}{dimr}{shard_indexing_pressure_enabled=true} (tried [1] times)
  1> org.opensearch.transport.ConnectTransportException: [node_t0][<IP_ADDRESS>:43583] connect_exception

Gave up after one try... valiant effort （。々°）

testRerouteOccursOnDiskPassingHighWatermark

This is a new one, open an issue, link back to https://github.com/opensearch-project/OpenSearch/issues/1715

Uh ... Never seen MockDiskUsagesIT failing ... yet ...

I've never seen a PR not update after pushing to the upstream branch... yet. (⊙_◎)

Opened an issue regarding the node timeout.
I'll give some time for the internet to reboot and re-fire gradle check

The internet rebooted successfully and latest commits synced. Welcome back from the coma, github


fixing typo

In the docs on using optional_var_files there's a missing comma that would cause a message like
[terragrunt] 2017/09/04 12:41:24 At 16:9: error parsing list, expected comma or list end, got: STRING

Ah, good catch, thanks!


Create UI mockups

[x] Landing page
[ ] Game Lobby
[ ] "In Game"
(optional) Debug / troubleshooting

Tried to look for / use something that can be checked into git but didn't really like any of the options. Settled for creating stuff in google slides.
https://docs.google.com/presentation/d/1BlMtBikqPeB-bRyllr16lysmXJoXQKPxtR-MyonIAR8/edit?usp=sharing
Request access so I can give you edit power but you should be able to comment on it at least.


Stop SRS?

I know this is a newbie question i didn't finded an except way to stop srs without killing it.
Is it possible to stop SRS when you run it with ./objs/srs -c conf/rtmp.conf if yes how?

@IIPoliII killing process in *nix is a normal and expected way of stopping it.

Oh i see do you have any exemple script and what do you mean by *nix? Didn't totally understood it.
Thanks for your help

@IIPoliII *nix means Unix-like system: Linux, FreeBSD, macOS, etc..
If you're running SRS in terminal foreground, just press Ctrl-c, and it will send the appropriate signal to the SRS and it will stop.
If you're running SRS in background, use kill <pid-of-srs-process> command to stop it.
That's all!


service: move some types to service.go

Why do you want to move the type in service.go?

It is to make it easy the review the next PR here https://github.com/mesg-foundation/core/pull/904. Otherwise you'll see more code changes on #904 where some blocks of code is removed from some files and added to other ones. It's hard to see if there are any lines of code is actually changed or not during this kind code move.


Cannot drag Spotify window in album view

Do you have the latest versions of Spicetify, Spotify and Lucid?

[X] I'm using the latest versions of Spicetify, Spotify and Lucid

Is there already an issue for your problem?

[X] I have checked older issues, open and closed

Is your problem definitely caused by the theme?

[X] I have checked the app behavior without the theme and it is different

Environment & Computer Info
- Spotify version: Spotify for Windows (64 bit) <IP_ADDRESS>5.gf2c48e6f
- Installed from: Spotify Site
- Spicetify version: v2.38.4
- Color scheme: Lucid / dark
- Extensions: theme.js
- Custom apps: marketplace
- Lucid installation method: Spicetify Marketplace

Description
Overview

Cannot drag Spotify window inside album view. Only a very small area around the "..." menu can be used.
This happens only in album view (when opening an album).
I've tested it in other pages seemed to work fine. Draggable anywhere else.
This is my first time using both Spotify and Spicetify, so there should be no changes made yet from vanilla installation apart from few theme tweaks in the Lucid settings like changing the background style and view mode to card from compact.

Visual Explanation
This is the area affected in the window

GIF Demonstration
The GIF is compressed to save space, sorry for bad quality. I host it in another site because GitHub doesn't allow file size to be exceeding 10 MB.

Link to GIF if it doesn't appear above: https://gifyu.com/image/SObG3
Screenshots
No response

Oh just checked as well. If the sidebar is extended, it covers more area of the topbar.

Hey, thanks for reporting this and providing accurate ways to reproduce it. I'm fixing it right now!

Oh just checked as well. If the sidebar is extended, it covers more area of the topbar.

Ohh Let me check that

Hey, thanks for reporting this and providing accurate ways to reproduce it. I'm fixing it right now!

No problem. I hope it's easy to fix :D Good luck!

Hey, thanks for reporting this and providing accurate ways to reproduce it. I'm fixing it right now!

No problem. I hope it's easy to fix :D Good luck!

I don't know why my fix is not working
applying the -webkit-app-region: drag; does nothing to the global nav

I'll try the code tomorrow to help as well, quite sleepy currently 😄 Forking it now.

I'll try the code tomorrow to help as well, quite sleepy currently 😄 Forking it now.

Ohh thanks a lot i think this issue is related to the new search card styles added in https://github.com/sanoojes/Spicetify-Lucid/commit/5a54d0d3908af6750863f87f6c6a51182aa2c692

I found the issue! It was with the .main-topbar-container element (the top bar in the attached image). The -webkit-app-region: no-drag; style, combined with the element's position overlapping the global navigation, was blocking the drag functionality.
The fix was to translate the .main-topbar-container slightly higher. This resolves the drag issue.
I will be adding a smoother animation and including these fixes in the next update I'm working on.

I found the issue! It was with the .main-topbar-container element (the top bar in the attached image). The -webkit-app-region: no-drag; style, combined with the element's position overlapping the global navigation, was blocking the drag functionality.
The fix was to translate the .main-topbar-container slightly higher. This resolves the drag issue.
I will be adding a smoother animation and including these fixes in the next update I'm working on.

I see. That makes a lot of sense. Nice catch! Thank you very much for pointing out the root cause and for fixing it.


New aka.ms link

Aka.ms link name
LegendsDeluxe
Category (Optional. Select None to auto-select)
None

Thank you for submitting aka.ms/LegendsDeluxe. Your link will soon be available akaSearch.net. 🙏✅

Thank you for submitting aka.ms/LegendsDeluxe. Your link already exists at akaSearch.net. 🙏✅


Not recognize integer numbers from 1 to 9

Describe the bug
On Android devices not recognize digits at all  or so very rarely.
Expected behavior
Should recognize integer numbers from 1 to 9
Smartphone (please complete the following information):

Device: Samsung Galaxy M21
OS: Android 12

Working fine for me, I guess it depends on the device and pronunciation.
Anyway, the plugin just wraps the native APIs, everything related to the actual recognition is developed by Apple/Google/Other Speech recognition provider, nothing we can do from the plugin to improve the results.


Gradio Web Demo

easy to use web demo on gradio hub

@mchong6 thanks for merging!, can you use this link instead of the current link https://gradio.app/hub/AK391/GANsNRoses to the demo
and if you want can add this image in the readme :)

done :)

@mchong6 thank you! is there a way to randomly pick the style, currently I have it set to one style or let the user pick the style?

@mchong6 I see i can change the seed
torch.manual_seed(random.randint(1, 100000))
and choose a random int instead of the hardcoded
torch.manual_seed(84986)
but even after I run this it chooses the same style after every run

This is the line that produces the style https://github.com/mchong6/GANsNRoses/blob/b031590266c6f2b0401794149c23ee8f3797a103/gradiodemo.py#L54
I am assuming that the style will change if you move this line into the inference function? So every time the inference function gets called, a new style gets sampled.

@mchong6 thank you again! I made the change and the demo can now do multiple styles. looks great!

although sometimes it gives artifacts overall great though

It was trained on quite a small dataset. So potentially it could be better if trained on a bigger one :)

I added a snippet of code on colab that lets you upload an image and it will automatically crop and frame the image. For more consistent results, maybe you could consider doing that on gradio?

@mchong6 ok thanks saw the issue with face cropping as well, also congrats on being at the top of ml reddit!, I am thinking of using autocrop instead of dlib for the demo https://github.com/leblancfg/autocrop as dlib has issues with pip

I have you to thank for that! I looked at autocrop, it will be a good option for cropping images. Unfortunately, it doesn't return the bounding box coordinates, so I cant use it for cropping faces of videos.

@mchong6 no problem, thanks for the great paper, yeah sucks it doesnt work for video for autocrop. I just tested it in colab now will add it to live demo

Might work a little better if the face is a little more zoomed in. Autocrop has an argument face_percent that can do that.

@mchong6 ah ok, the default face_percent is set to 50, do you think it should be a higher like 70?

I don't have that set up to test right now but that does sound reasonable.

@AK391 i was playing with the gradio demo and realize sometimes there are color artifacts. The reason is that the image is not [0, 255] when it is saved. To fix that, at this line
https://github.com/AK391/GANsNRoses/blob/55516baab26e802b9fa2131c558e31e6418f3a34/gradiodemo.py#L75
you need to change
fake_A2B = G_A2B.decode(A2B_content.repeat(num_styles,1,1,1), style).clamp(-1,1)


Feedback/ideas/thoughts

Awesome project! Thanks for your work on this. I'm in the process of attempting to switch from pm2 to pup, and I thought it might be useful to share some thoughts given that it looks like you're heading toward v1.0. Please take each of these suggestions with a grain of salt. And I'll pre-apologise here for any suggestions/thoughts that have stemmed from misunderstandings in the way Pup works.
Confusion around pup run vs pup start and pup terminate vs pup stop - and "apps" vs "ecosystems" vs "processes"
Intuitively, here's how I think pup should work:

Install pup
Enable it on startup with sudo pup startup enable or something
Create a pup.json file in your app/server directory
Run pup start in the same directory to start app (and causes pup to track that config file - e.g. for startup stuff)
To stop, run pup stop in that directory (or run pup stop the-app-id), and it stops all the processes for that app/ecosystem (and untracks config file)

Controlling individual processes within an app is something that should be possible, but (at least in my experience) is not as common, so it should not use up the precious/intuitive start and stop commands. By far the most common commands I use with pm2 are start/stop/restart/logs, and they all apply to apps, not processes within an app.
I think this is the most important change that should be made for v1.0. If the current CLI design decisions were made to support more complex use cases that I'm not considering here, then I think "simple things should be simple, complex things should be possible" might be worth applying here. Need to avoid making simple things unsimple in order to make complex things simple-ish. Instead, move the burden to people doing complex things, because there are far fewer of them, and they (basically by definition) have the time + skill to go a little deeper in the config docs, or whatever.
The other huge advantage of this is that I think 90% of people will be migrating here from pm2, and IIUC this is basically how pm2 does it: https://pm2.keymetrics.io/docs/usage/application-declaration/ It's much easier to adopt new software if things work just like you expect - both intuitively, and from experience with related, popular software. Diverging from that is a cost that would need to give significant returns to be justified (Deno team realized this recently with deno install, for example). It's probably only worth diverging from pm2 in aspects where it's kinda confusing/bad.
Also perhaps worth mentioning: With the current CLI commands, I'm not actually sure how I'm supposed to use pup run, since it runs in the foreground instead of starting all the app's processes in the background like I expected. Also, when I try exiting with Ctrl+C, sometimes it hangs:
joe@test:~/app$ pup run
2024-04-11T07:15:50.617Z [LOG] [core:processes] Process 'app' loaded
2024-04-11T07:15:50.617Z [LOG] [app:starting] Process starting, reason: autostart
2024-04-11T07:15:50.651Z [LOG] [app:stdout] Listening on http://localhost:80/
2024-04-11T07:15:50.656Z [LOG] [app:stdout] HTTP server running. Access it at: http://localhost:80/
^C2024-04-11T07:16:00.685Z [LOG] [core:terminate] Termination requested
2024-04-11T07:16:00.689Z [LOG] [app:block] Process blocked, reason: terminating
2024-04-11T07:16:00.690Z [INFO] [core:cleanup] /home/joe/app/.pup.jsonc-tmp removed.
2024-04-11T07:16:00.687Z [LOG] [app:errored] Process exited with error: Error: Exited with code: 130
^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C

and I need to close the terminal to actually stop it. Other times it exits fine. But in both cases the pup status tells me No running instance found..
Where is Pup's "ground truth" for config?
IIUC, the pm2 save command snapshots the configs and uses that saved snapshot to e.g. determine whether an app should start on machine startup. I'm wondering how pup handles this? The pm2 save command was always a little bit confusing/annoying to me. Ideally, in my mind, pup would use the actual config files in the app directories as ground truth. So pup start would just add that config file's path to pup's internal "known config files" list, which it uses at machine startup to fetch the actual config file contents, and determine whether the app should be started. And I think pup stop should remove the config file from pup's internal "known config files" list.
There are tradeoffs here, but I think I would prefer if pup held as little "internal state" as possible - so I can just e.g. edit the config file and run pup restart in the same directory, and I know that I'm editing the actual "ground truth" that Pup is using.
I think there's a temptation here to, for example, not bundle pup's untracking of a config file with stop-ing the app because that's not always what would be desirable - but I'd appeal to the "simple things should be simple" principle again here - it's easy to add some extra (more "granular") commands like pup track and pup untrack, or whatever, which can be used in cases where devs are heading off the beaten path.
Document a few of the most common/useful commands in readme
E.g. pup status, pup logs - a quick dot-point list of these in the readme as part of the "quick start" would have been handy for me to quickly get the rough idea. And maybe add a final dot point linking them to e.g. https://github.com/Hexagon/pup/blob/main/docs/src/usage/index.md for the rest of the commands.
Document configuration defaults
This page: https://pup.56k.guru/usage/configuration/#general should have the defaults for all options documented. This one is pretty important I think. It'd also be worth mentioning a few of the most important defaults in the readme I think.
Related: I love opinionated defaults that make it easy for people to get started, but I'm a little bit weary of "overly specific" defaults like watcher.exts = ["ts", "tsx", "js", "jsx", "json"] which might not be very future proof. E.g. could probably add yaml, json5, etc. to that - there's a long tail. It might be best to just watch all extensions by default, but I'm not confident what the best approach is here. Current defaults are not unreasonable, but worth thinking about in terms of forward compatibility and future breaking changes.
pup logs should stream by default
I use pm2 logs <all|app-id> on a daily basis - it's very handy to have logs streaming in my console as I'm coding, so I can e.g. see errors during startup after saving the file, or see live logs on a production server.
Can console.warn be made orange in logs?
I've wished for a long time that pm2 did this. It sounds like a small thing, but I really appreciate that Chrome's devtools does this when I'm remotely inspecting a Deno/Node process. I just wish it were possible for terminal logs to make a visual distinction between warnings and errors. That said, I'm guessing it might not be possible due to console.warn maybe just being a stderr log without any distinction from console.error at the level at which pup "sees" those logs.
A log file with errors and normal logs interspersed
Another annoying thing with pm2 is that (AFAIK) I'm not able to see a log file that has errors and logs interspersed. The reason this is annoying is because the logs that came before an error are often quite relevant to the cause of the error. So, while debugging, I end up needing to switch back and forth between them and rely on timestamps for aligning them.
Switch from JSONC to JSON5, or support both
I hadn't heard of JSONC before - maybe I'm just out of the loop on that. I have used JSON5 before though, and seems to be more commonly used?

https://json5.org/
https://github.com/json5/json5
https://www.npmjs.com/package/json5 (~58 million downloads per week)

JSON5 is nice because you don't need quotes around keys like with JS POJO declarations - makes config files really clean.
Move .pup.jsonc-tmp, .pup.jsonc-data, etc. into .pup
This reduces clutter - especially if more pup-related files are needed in the app directory in the future.
Densify pup status, add colors for skimming, and num restarts + uptime
For pup status, "number of restarts" and "uptime" would be handy, and pm2-style density with skimmable (green=good) would be awesome:

Rather than having a separator between rows, I mean. I also think pm2 status could be made a lot more dense - e.g. by using emojis (which work fine in terminal, of course) for boolean/enum fields like status, watch, etc. The denser the better imo.
Also, I think pm2's "cpu" column is kind of useless since IIUC it's the CPU usage at that exact instant - it'd be much more useful for me to see average or total CPU usage over the last 30 minutes, or something.

Please don't feel the need to reply to all/any of the above points. I just hope that these thoughts have been at least somewhat useful. Thanks again for all your work on this!

Also, minor point - in watcher default options: "match": ["**/_._"] - is this underscore syntax standard? I haven't seen that before - but I could just not have seen it. I actually thought that "**/*.*" would do the same thing. If it's special / non-standard syntax then it might be worth considering sticking to standard syntax if only for the benefit of e.g. IDE code autocompletion (but also for user expectations of course). If there are use cases that the standard syntax doesn't support, then maybe picking a different standard syntax would be better than extending an existing one with custom syntax.
(But again, maybe I just haven't seen this underscore syntax before - I'm not very experienced in this stuff.)

A lot of thanks for your support and this detailed feedback!!
I've focused very much on "getting it to work" and never really sat down and looked at the big picture, so this is exactly what i need to get it ready for 1.0!
Lots of great points here, and I especially agree with separating the system service from the processes in the way you described as "apps" vs "ecosystems" vs "processes", I will have a look at this asap 👍
About the ground truth for config, i reckon a ~/.pup folder in the home directory could be used, with a ~/.pup/global.json which could be used to track each configuration.
I'll review your feedback in detail and make changes as i find time. Thanks again!

Changes in next release is tracked in https://github.com/Hexagon/pup/pull/51

when I try exiting with Ctrl+C, sometimes it hangs

Let me tackle this one. I'll also refactor some code.

I'm not actually sure how I'm supposed to use pup run, since it runs in the foreground instead of starting all the app's processes in the background like I expected.

I saw that Hexagon has just renamed pup run to pup foreground. I'd like to propose this: revert back to pup run, but make it run in the background by default. Only run in the foreground with argument -a, like pup run -a or pup run --attach. That's how Docker works. I find run prettier than foreground as a command name. What do we think about that? FWIW, currently I run Pup in the background with $ nohup pup run > /dev/null 2>&1 &.

Actually, i agree that pup run is a better option... But had to give it a go :)

Open question; Should an instance have a name? The name could be pup by default, but could be set by passing --name or specified in pup.json through name: .
The name would be used to ...

Automatically setting service name on pup enable-service
Be an unique identifier for each instance if we add a global file tracking all available instances thorugh ~/.pup/global.json
Allow an additional parameter --instance to be abcle to call pup <action> anywhere without specifying --config or --cwd (by finding the configustion automstically though global.json)

LGTM.
Just a few questions/remarks/drawbacks below. Basically my only concern is that I like to use Pup without installing it as a service sometimes and without the new global.json. I'd like to still be able to do that because it's so simple, stateless, portable and unintrusive.

~/.pup/global.json will only be created/updated the moment you run pup enable-service
You can't use pup --instance if you don't install the service
If you change the name in pup.json after installing it as a service, the already installed service name is not changed, and pup --instance is not changed either: they keep the old name from when you ran enable-service. You have to reinstall the service in order to apply the new name
Maybe call it id instead of name so that it aligns with processes' id? Not sure, though

I'm not sure if this is already available, or on the roadmap, but one thing I use regularly in pm2 is pm2 reload, which restarts processes in a cluster one-by-one for zero-downtime reloads.
(One slightly annoying thing is that it always restarts one-by-one, even if you've e.g. got 100 nodes in the cluster - so it can be much slower than it needs to be. I think it should be a percentage, like e.g. 10% at a time by default would make sense for my use cases, at least.)


ms-python.python: fails to build as file not hosted

Describe the bug
Unfortunately, python language server 0.4.24 is no longer hosted so curl fails. The quick fix is to use 0.4.71 instead.
Although I wonder if we can use https://github.com/Microsoft/python-language-server instead for greater stability? Not clear how to map version numbers, though. The contributing guide shows how to use GitHub checkout instead.
@jraygauthier

It might be that this is now possible to package the language server. Its package was blocked by #29817. Which might just have been resolved by #66299.
In the quickfix seems like a good idea.


HW: 17.10.2016 Gradle, Flavors

1, Create 4 flavors (for example 2 variants of enviroments and 2 variants of countries)
https://github.com/KarsekaVladimir/SocialSample/commit/efdf4bcbb1b0c496dd0b0b77c4c083676b87b6b1
https://github.com/KarsekaVladimir/SocialSample/commit/c8d6b1fe85ffb4f1840d9108d210eab7e613538c
2, rename apk over gradle task to app_name+flover+version
https://github.com/KarsekaVladimir/SocialSample/commit/239683aa2a39fa1b4152befa6256144e3748175c

3,define variables in gradle and use it in Java code
https://github.com/KarsekaVladimir/SocialSample/commit/013205385b2667afa87704b51ba8432afa0a32d7

Seems that you didn't get the point of flavors. Translations should be under corresponding folder (ex. values-ru). Try to some functionality into one of the flavors that won't be in the other flavor.

Task is to rename apk with regards to name, flavor and version ;)

Can't see usage

Thanks for your comments. I merged some branch, and unfortunately I can't find necessary  commit, because I  made screenshots. Yes I've got it - you spoke about Flavors, but I made different functionality through buildTypes, for group of Flavors. I hope it will be enough for closing first point of task
https://www.dropbox.com/s/4vm372pdwzp11xw/Скриншот 2016-10-14 11.39.56.png?dl=0
https://www.dropbox.com/s/uhgllw26s7byibg/Скриншот 2016-10-14 11.41.39.png?dl=0

I don't like the idea with closing this issue relying on screenshots😁 Try harder.

if i select flavor alphaRussia which applicationId i will have?

Thank for your question! You can get next apk name
app-russia-alpha-debug socialsample.russiaAlpha 1.1
Thank for your patience.


add option for multiple threads

Fixes https://github.com/JunoLab/Juno.jl/issues/61
@ChrisRackauckas: Would you mind trying this real quick on Windows? I'd have to reboot to try if this works there ;)

Works for me.

Great to have this, thanks! One comment, I think it would make more sense if the atom-julia-client setting overrode the JULIA_NUM_THREADS environment variable, otherwise its surprising when you change the Atom setting and nothing happens (if you had the env variable set). Of course, it the atom setting were blank, then it could default to JULIA_NUM_THREADS, or lacking that, default to 1.

Good point.
The setting now overrides the global envvar: https://github.com/JunoLab/atom-julia-client/commit/dbbc38694322a8a093ee9b151bd1784f293b81e1


Correct the basics/strings lesson

Thank you @nscyclone!  I doubt this is something we need to concern translators with, I'm assuming (hopefully not wrongfully) that these sorts of things would be resolved in the translation process?

@doomspork, I suppose there is nothing to worry about — meaning still remains the same, issues were related only to grammar. So, nor the existing, neither the future translations should be affected by this.


List widget doesn't respond to touch

VSCode Version: Code 1.3.1 (e6b4afa53e9c0f54edef1673de9001e9f0f547ae, 2016-07-12T13:35:06.227Z)
OS Version: Windows_NT ia32 10.0.10586

Steps to Reproduce:

Open any document with IntelliSense support
Press Ctrl + space to open suggestions
Use touch to choose one of the available options

It's impossible to use IntelliSense on touch only devices. Touch keyboard (Windows 10) doesn't have up/down arrows and IntelliSense suggestions doesn't support touch events.

Great catch!

Can also confirm the bug in other touch devices, such as HP Detachable PC. The scroll was indeed fixed, but not tapping an item to see the details. Verified on VsCode version 1.11.2.
Workaround to see the extension details:
1 - Enable the full touch keyboard: On "Windows 10, All Settings, Devices, Typing", enable "Add the standard keyboard layout as a touch keyboard option";
2 - Open the touch keyboard, tap on the language icon (lower right) and select the full layout keyboard (this way you get the up/down arrows);
3 - On VsCode, tap on the extensions icon, search for the desired extension, on the touch keyboard use the arrow down/up to navigate and press enter to view the details.
This way you can open the details panel, but sadly the touch scroll doesn't work on this panel as well...


Revert "README Update"

Reverts 9551-Dev/C3D#1
it look weird :(

Reverts #1 it look weird :(

No u.


Unable to generate for query using generate_series with new Postgres 16 syntax

Version
1.27.0
What happened?
Postgres 16 added a function overload to generate_series with a 4th function arg generate_series ( start timestamp with time zone, stop timestamp with time zone, step interval [, timezone text ] ) → setof timestamp with time zone, but it seems to not be recognized by the catalog during sqlc vet and fails.
When I don't set the 4th arg, it runs, but we need the 4th argument (the timezone) to get correct data. The query runs correctly in Postgres 16.4.
Relevant log output
sqlc generate failed.
# package
query.sql:3:12: function generate_series(unknown, unknown, unknown, unknown) does not exist

Database schema
N/A

SQL queries
WITH day_sequence AS (
    SELECT generate_series(
            '2022-11-06T04:00:00Z'::TIMESTAMPTZ,
            '2023-11-07T04:59:59.999Z'::TIMESTAMPTZ,
            '1 day'::interval,
      		'America/New_York'
        )::TIMESTAMPTZ AS date_value
),
day_groups AS (
    SELECT date_value AS calculation_timespan_start,
        (date_value + INTERVAL '1 day')::TIMESTAMPTZ AS calculation_timespan_end
    FROM day_sequence
)
SELECT calculation_timespan_start,
    calculation_timespan_end
FROM day_groups;

Configuration
See playground link.

Playground URL
https://play.sqlc.dev/p/bd0afb4d9f2671446963689a55ff16bd730a7c4ed17f987d00c69772f2cd54af
What operating system are you using?
macOS
What database engines are you using?
PostgreSQL
What type of code are you generating?
Go

For those who ran into a similar issue, it's fixed by setting the database parameter in the sqlc.yaml:
https://docs.sqlc.dev/en/stable/howto/vet.html
:)


Choice prompt in Node.js with multiple selections

I would like to create a choice prompt in Node.js that allows the user to make multiple selections, just like in FormFlow for .NET (see the toppings prompt of the Simple Sandwich Bot where the user was able to select multiple toppings at the same time: peppers, lettuce and tomato).
Is this feature already available in Node.js? If so, is there already an example for that? Would this also be possible with buttons instead of the list shown in the Simple Sandwich Bot example?

Unfortunately we don't have a multi-select prompt in Node yet.  It's on our todo list to add but for now you'd need to write your own.

Closing for now but please feel free to comment.

any update on this feature? cc @Stevenic

+1 for this feature

+1 It would be awesome to have this feature!

+1 for the feature

Has anyone been able to write your own multiple choice recognizer? please share! Thanks

Does anyone know an alternative solution (multi-choices) for NodeJS ?

Any update on this feature?

+1 for this feature

+1 for the feature

+1

+1

+2

@Stevenic  Any update on this? Or MS guy's skip this functionality?

+1

+1 for this feature

+1 this is required before I can use MS Bot Framework

Would be exiciting and helpful if this feature is available .
+1

This is possible using the attachment prompt, and an adaptive card.  Or, the community library's AdaptiveCardPrompt: https://github.com/BotBuilderCommunity/botbuilder-community-js/blob/master/libraries/botbuilder-dialog-prompts/src/adaptiveCardPrompt.ts


Use MQTT to monitor the availability of the thin-edge daemons

This story is related to #826
Motivation
Thin-edge features are provided by a set of daemons - the mappers and the agent. To monitor these daemons and react to errors it would be easier to leverage MQTT. Compared to watchdogs based on local process monitoring, using MQTT enables remote monitoring and local reactions.
Proposal
Use retain messages and last will messages to track the current status of each thin-edge daemon.

The monitored daemons are  tedge-agent, tedge-c8y-mappert, tedge-az-mapper, tedge-collectd-mapper.
A topic is attached to each daemon: tedge/monitor/{daemon}
The first message sent by a daemon on start is a retained message on published on tedge/monitor/{daemon}.
The last will of a daemon is the retained message off to be published on  tedge/monitor/{daemon}.
On --init the daemon publishes the off message, since ready but not started yet.
On --deinit the daemon clears its retained status message.
daemons react to requests by watchdog(not sending recurring health-status on its own.)
The health messages should be produced by the same thread as the actual component

Alternatives

One can add a timestamp on the on message. This cannot be done for the off message.
In addition to its status, a daemon could publish the number of requests and errors during the last period of time (say every hour). This would be a non-retain message published on the same topic using thin-edge json.

As per the agreement in #933 , health updates by tedge processes will be published in response to an mqtt request that will be sent to tedge/ping/{daemon} topic. For example, the tedge-agent process should listen on tedge/ping/agent topic for any incoming health check requests and respond back with the health status on tedge/monitor/agent topic.
The request may have time field in it generated at the time of sending. The health status response can be something like this:
{
    "status": "up",
    "time": "<time in ISO-8601 format>",
    .....
    <additional fields and fragments relevant for each daemon>
}

Reopening as the retained health status messages and last-will messages were not implemented in the previous PR.

Making the health status messages "retained" might lead to some misleading health updates when a user subscribes to tedge/health/# and receives all the previously retained messages, where some of which could be stale.
For example, if the tedge-agent responds to a health check at time T with a retained status message, any subscriber subscribing to tedge/health/# later (say T+5 or T+10) will receive that health status "snapshot" taken at time T. But, this could be stale information which might mislead the end-user, as there's a possibility that the process may have deadlocked/frozen at T+2 itself. Sending another health check request is not gonna help either, as the "frozen" client is not going to respond with {"status": "down"} as its frozen. So, the old, stale, {"status": "up"} will remain with the broker.
Last will messages are not gonna help either, as those will be sent only when the MQTT client disconnects from the broker. The agent could get "frozen" while still being connected  to the broker. So, the last will message won't even be sent.
Adding a timestamp field to the health status message could be one solution. But, then the end-user has to send a request first and then wait for a response anyway and validate the timestamp in that response. That's as good as the current non-retained request/response contract. So, using retained messages doesn't make things any anything for the end-user.
@didier-wenzek @cstoidner WDYT?

There are many points here.

A client that subscribes to tedge/health/# will indeed received possibly stalled messages, even for dead daemons, but only the healthy daemons will update their status on health-check. Hence, the client can detect which are no more responding.
Having a timestamp along the status message makes the reactions on heath check more visible.
A daemon that is stuck will not respond to keep-alive messages and will be disconnect by the MQTT broker and the last will published.

I do think that, having retained status messages with a timestamp combined with last will retained messages, brings a value to who wants to monitor the device daemons. One doesn't have to actively request a status to have one. Sending a health check is then only a way to have fresher status.

A client that subscribes to tedge/health/# will indeed received possibly stalled messages, even for dead daemons, but only the healthy daemons will update their status on health-check. Hence, the client can detect which are no more responding.

This can be solved with last will messages, right? A dead client's last will message will come into effect once it's dead. So, that probably is sufficient to handle this case.

Having a timestamp along the status message makes the reactions on heath check more visible.

Definitely. For this, I'm thinking of a contract like this. The one triggering health check can include a timestamp in the request message itself. The daemons then will respond back with the same timestamp in their response JSON as well. Keeping them the same will make the correlation easier. If the request doesn't contain a timestamp field, then the daemon can autogenerate a timestamp and include it in the response.

A daemon that is stuck will not respond to keep-alive messages and will be disconnect by the MQTT broker and the last will published.

When I meant "stuck client", I was referring to a possibility where a daemon is taking too long to process one message. That daemon could still be connected to the broker at the MQTT protocol level. So, the broker might still think that the daemon is connected, and hence won't send the last will message on its behalf. In that state, even if we send an explicit health check request, the daemon won't respond with "updated health status" because it won't process the health check request. The last will message won't come into effect either, because the broker still thinks that the client is connected and it wouldn't know that the client is "logically stuck" in its message processing logic.
This might be a very rare corner case. But, it's still a possibility, right? Or were you suggesting that a client that can't process MQTT further messages will "somehow" get disconnected from the broker as well, triggering its last will message?

I do think that, having retained status messages with a timestamp combined with last will retained messages, brings a value to who wants to monitor the device daemons. One doesn't have to actively request a status to have one. Sending a health check is then only a way to have fresher status.

I agree.

When I meant "stuck client", I was referring to a possibility where a daemon is taking too long to process one message. That daemon could still be connected to the broker at the MQTT protocol level.

This is correct. This is why a timestamp helps: "at that time the service was up". Dynamic checks add a bit of freshness but there is still no guarantee: "the latest time we checked the service was up".

The daemons then will respond back with the same timestamp in their response.

This is unusual. And raises questions. The timestamp can be facked by a client. This seems not compatible with a retained status. What would be the timestamp on start?

This is unusual. And raises questions. The timestamp can be facked by a client. This seems not compatible with a retained status. What would be the timestamp on start?

That's true. In that case we'll have the daemon generate the timestamp at the time of receipt of the health check. The health-checking client can then just check if the timestamp in the response is greater than the one in the request.

From my point of view, two points are missing.

The first message sent by a daemon on start is a retained {"status": "up"} message with a timestamp published on tedge/health/{daemon}.
The last will of a daemon is the retained {"status": "down"} message to be published on tedge/health/{daemon}.

The last point will be addressed by https://github.com/thin-edge/thin-edge.io/issues/1503


Plug two memory leaks

I have been observing increased memory usage with the latest git version of sway.
The best way to reproduce this is to open, say 200 terminal windows and close them, and observe that sway has shown drastically increased memory usage. This would suggest that sway has leaked memory somewhere.
I did a git bisect and found the first bad commit to be a8e084433d, which introduced window borders.
This pull request fixes two of the memory leaks I have found. However there still seem to be more memory leaks lurking somewhere as even after applying this I am still seeing increased memory usage even after all windows are closed. It may be worthwhile to do a stress test of both stability and memory usage.

Oops sorry I meant cont->border != 0. Fixed now.

Hmm this seems to have fixed the residual memory leak that I observed above. I'll update pull request.

Sorry I misunderstood that. Yeah you're right it's an noop. I'll remove it.

Thanks!


Poor quality of the dataset

I would like to know where the dataset https://huggingface.co/datasets/yentinglin/zh_TW_c4 was collected from?
This dataset appears to contain a lot of advertisements, spam and bias, and such data used for training may reduce the capabilities of the model.

zh_TW_c4 was from https://huggingface.co/datasets/mc4 with language filtering

The quality of the instruction dataset is also puzzling. For example at the end of the dataset:
{
    "id": "translation_fff9af4e72601abcab2f835f7846f37672812d96",
    "conversations": [
        { "from": "human", "value": "https://news.ltn.com.tw/news/world/paper/1218762" },
        { "from": "gpt", "value": "《中英對照讀新聞》Koko, The World’s Most Famous Signing Gorilla, Dies At 46 全球最知名的手語大猩猩「可可」享壽46歲" }
    ]
},
{
    "id": "translation_fffe65e81bf47973d3343aae8fdad3546e5a69fe",
    "conversations": [
        { "from": "human", "value": "中英對照讀新聞》The Age of Quantum AI 量子人工智慧時代來臨" },
        { "from": "gpt", "value": "https://news.ltn.com.tw/news/world/paper/1349153" }
    ]
}

This doesn't make sense, since the user only provided a news link without any further instructions. I think this led to the strange response like:

The actual news title is "《中英對照讀新聞》Parrot teaches boy of 4 to talk鸚鵡教4歲男童說話". This response changes every session, even for non-existent links. I think this kind of data could lead to significant and dangerous illusions. I'm wondering where the instruction dataset comes from?

Maybe a further data cleaning is needed, otherwise the frequency of nonsensical response narrow down the usage...


[FLINK-8703][tests] Port KafkaShortRetentionTestBase to MiniClusterRe…

What is the purpose of the change
Ports the KafkaShortRetentionTestBase to use MiniClusterResource.
Verifying this change
Run KafkaShortRetentionTestBase with flip6 profile enabled/disabled.

LGTM 👍

merging


Fix migration metadata lock on ab_view_menu

This fix is to make sure the scoped session created by the superset
init code (that creates a bunch of roles and permissions) will
be released and potentially committed when the superset/init.py
goes out of scope.
modified:   superset/__init__.py

CATEGORY
Choose one

[ X] Bug Fix
[ ] Enhancement (new features, refinement)
[ ] Refactor
[ ] Add tests
[ ] Build / Development Environment
[ ] Documentation

SUMMARY
Without running in a context, the code leaves the session open with a lock on ab_view_menu
metadata, which prevents migration cefabc8f7d38_increase_size_of_name_column_in_ab_view
from running an ALTER on that table.
Another contributor suggested explicitly closing the session or trying to use the same session inside the migration code. This requires more engineering and the sm.session.close() would have to be explicit. Any new interaction with the database would cause the problem to happen again.
See here: https://github.com/apache/incubator-superset/issues/1260#issuecomment-334115725
I found using an app context to work better to encapsulate the superset init code, in case people add more logic there, the session close will happen automatically as the context goes out of scope.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TEST PLAN
Run migrations using mysql to version   3e1b21cd94a4
Run migrations to cefabc8f7d38
Without the fix, it should hang on the ALTER ab_view_menu, and with the fix it will complete.
ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

REVIEWERS

Since recently (FAB 2.0), FAB supports using the Flask application factory pattern http://flask.pocoo.org/docs/1.0/patterns/appfactories/
We should move to using this for obvious reasons.
In the meantime, @dpgaspar (FAB creator/maintainer) what do you think about this?

Ooops there's a conflict here.

👍 we're seeing this issue too :)

Hi, my superset db upgrade hangs up on the following migration:
INFO  [alembic.runtime.migration] Running upgrade 6c7537a6004a -> cefabc8f7d38, Increase size of name column in ab_view_menu
I guess it's related to this bug? I tried to fix the issue by upgrading Superset from jdbertron:master but it didn't help. Would you be able to help me out? I'm using Google Cloud MySQL.

Do we still need this?

Codecov Report

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

@@            Coverage Diff             @@
##           master    #7417      +/-   ##
==========================================
- Coverage    65.8%   65.65%   -0.15%
==========================================
  Files         461      461
  Lines       22090    22090
  Branches     2422     2422
==========================================
- Hits        14536    14504      -32
- Misses       7433     7465      +32
  Partials      121      121

Impacted Files
Coverage Δ

superset/db_engine_specs/mysql.py
34.88% <0%> (-58.14%)
:arrow_down:

superset/models/core.py
81.8% <0%> (-0.66%)
:arrow_down:

superset/views/core.py
71.84% <0%> (-0.21%)
:arrow_down:

Continue to review full report at Codecov.

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

Actually just realized that a very similar PR was merged, no need for this anymore


Updates to base resources of starter kit

Removes inventory management service components
Renames common com.ibm.cloud_garage package to com.ibm.cloud_native_toolkit
Cleans up swagger configuration to allow full configuration from application.yaml instead of requiring customization of source code

Signed-off-by: Sean Sundberg<EMAIL_ADDRESS>

Addresses cloud-native-toolkit/planning#863


Fix function comments based on best practices from Effective Go

Hi, we updated some exported function comments based on best practices from Effective Go. It’s admittedly a relatively minor fix up. Does this help you?

Good catch! Thank you.


Setup tools to support new bug fixing process

Need to do necessary setup on internal bug-tracking tool to:

make it easy for people to raise new bugs
make it easy for people to search existing bugs and check their status

Test comment. Please ignore:
eyJ2YWx1ZXMiOnsiYWZmZWN0ZWRQZW9wbGVPcHRpb25zIjoxOSwiYWZmZWN0ZWRDb21wb25lbnRzT3B0aW9ucyI6NywiZnJlcXVlbmN5T3B0aW9ucyI6MTksImltcGFjdE9wdGlvbnMiOjIwLCJhZmZlY3RlZERzT3B0aW9ucyI6NSwidXJnZW5jeU9wdGlvbnMiOjQ5LCJ4RmFjdG9yT3B0aW9ucyI6MzB9LCJydWJyaWNWZXJzaW9uIjozfQ==


Fixed issue in browser encrypt decrypt for messages longer than 15 bytes

The actual change happens in getAes(), the rest is just styling of the code.
In getAes() the code does cypher.update() and ommits the buffer returned by this function.
Then it only resolves cypher.final().
When a message is longer than 15 bytes, the encryption/decryption method fails, since it's discarding part of the message blocks.

Thanks I'll take a look. It'd be nice to have a reproducible example of it breaking just for reference.

Yes I was looking for a place where the browser js tests were coded but I couldn't find any.
Basically:
Scenario that works without the fix
Encrypt('aaaaaaaaaaaaaaa') -->encrypted
Decrypt(encrypted) = aaaaaaaaaaaaaaa
Scenario that fails without the fix
Encrypt('aaaaaaaaaaaaaaaa') -->encrypted
Decrypt(encrypted) = FAIL
(Basically any plaintext 16 bytes or greater will fail)
It won't fail in the node version because it actually does the concatenation.

tests are just in the test.js file. The same tests are run in browser and node.js. Would be good to add this case (message > 15 bytes) as a test.

Actually the issue is how the index.js is loaded.
The test ECIES: " should encrypt and decrypt with generated private and public key" actually fails in the browser.
The problem is that, when you run "npm run test", it's not using the browser.js to test the decryption.
If you leave test.js as follows:
`/**

Node.js eccrypto implementation.
@module eccrypto
*/

"use strict";
return (module.exports = require("./browser"));`
And run "npm run test".  You'll see that " should encrypt and decrypt with generated private and public key" . actually fails and if you apply my fix it gets working


Manifestwork rollout support

Change summary

Commit 1: refactoring and API update. No functionality change
Commit 2: actual implementation for manifestwork rollout

Mostly straightforward. Main difference comparing to policy based rollout is that we need to support different versions of the same CR in the list of manifest templates whereas conflicting policies don't make sense.
To support this, the progress update in CGU and the resource cleanup in spoke namespace become a bit tricky. Since the completed manifest work has to be deleted right away instead of the end the whole rollout, we make sure the cluster progress in CGU is updated before deleting the completed manifest work and creating the next one in a subsequent reconcile. Otherwise, the progress gets lost if the reconcile with progress update failed for some reason and the completed manifest work was deleted in the same reconcile. With policy based rollout, the controller can rebuild the progress by inspecting the compliant status of each policy.
The validate function will be implemented later.

Commit 3: kuttl test

Success case only. Will add more in subsequent PRs

/hold

/retest

/assign @Missxiaoguo @sudomakeinstall2

/lgtm

/unhold

/lgtm
good stuff!

/approve


Write Project Overview and Show to John

Filling out relevant information for the Project Deliverable in Slack

i did it!


Make the whole left sidebar scrollable

Tried to fix #500. It seems to be working based on a couple local tests,
but all I know about html and css I have learned from looking at sphinx/jekyll
templates and themes, so I am wildly unaware of extra unintended consequences
that might come with the change.
I have also tried to read the contributing section but haven't been able to
figure out if I have to write tests nor in case I do how should I go about
that. Guidance will be very appreciated.

Looking at the preview, the vertical scrollbar does appear when expanding all the subsections in the demo site for example but a horizontal one appears now in all pages which should not be the case.

good catch - I think you could delete:
https://github.com/pydata/pydata-sphinx-theme/blob/540c9ebe8dce2d2723053157bc529e36276ac643/src/scss/index.scss#L199-L202
and then this would remove that second sidebar...does that work?

Working like a charm locally, thanks for the help!


[Issue - 626] csv file having some rows not in proper format is not treating them to the bad records.

fixed  #626

@mohammadshahidkhan Check -4 tests

retest this please

LGTM, Merged to master.


Missing wildcard arbitrary JSON object

Feature Request
Is your feature request related to a problem? Please describe.
I want to support arbitrary JSON fields in the status of my CRD. When I try something like:
type ServiceStatus struct {
	Example                  map[string]interface{} `json:"aa"`
}

and
operator-sdk generate openapi
it screams with error Unknown supported Kind Interface
Describe the solution you'd like
Some wildcard, you're on your own go type which I can use for Arbitrary JSON object.

Seems like I'm also facing the same problem right now. I got the below error when I tried the above approach.
DeepCopy of "interface{}" is unsupported. Instead, use named interfaces with DeepCopy<named-interface> as one of the methods.

So I use something like this.
type Conf interface{
}

type ServiceStatus struct {
	Example map[string]Conf `json:"aa"`
}

This does not give an error when I changed the DeepCopyInto function in the generated zz_generated.deepcopy.go file. But this did not marshal the JSON properly and my Example entry was empty.
Any idea on how to achieve this thing in operator sdk?

@nmiculinic any interface{} type is not supported in controller-tools <v0.2.0 CRD generator. However we are in the process of upgrading to v0.2.0 which does support interface{}.
@BuddhiWathsala your issue has a different source because it deals with Golang's interface{} semantics. Because an interface{} has some underlying type that is statically opaque to the go compiler, there needs to be a DeepCopyConf method for type Conf interface:
type ServiceStatus struct {
	Example map[string]Conf `json:"example"`
}

type Conf interface {
	DeepCopyConf() Conf
}

type conf struct {
	c interface{}
}

func (c *conf) DeepCopyConf() Conf {
	o := &conf{}
	*o = *c
    // interface-specific copying here
	return o
}

which allows ServiceStatus.DeepCopyInto() to compile.

@BuddhiWathsala if you have an external interface you want deepcopy-gen to implement, add the following to your <kind>_types.go:
// +k8s:deepcopy-gen:interfaces=path.to/external/package.Conf

type YourKind struct {
    ...
}

It seems you do not need this annotation though. Check out this blog post for more info if you do.

@nmiculinic If you were still waiting on this feature then it should be supported on the master branch via the bump to controller-tools v0.2.0
https://github.com/operator-framework/operator-sdk/pull/1876
We will cut a release for those changes hopefully soon but in the meanwhile you can test this out on a build from the master branch.
One thing to note is that one of the breaking changes is the change in CRD manifest name from <group>_<version>_<kind>_crd.yaml to <full group>_<resource>_crd.yaml.
https://github.com/operator-framework/operator-sdk/blob/master/CHANGELOG.md#breaking-changes


Add new dialect

Added a new dialect

@tetsab,
How are you?
We have a conflict problem here to aprove this PR.
Can you please, resolve this conflict and update the integration test regions.js with the correct number of dialetus inside gauches.json

closing due to lack of interaction


Port samples from Zivid SDK v1.8.1 to v.2.1.0

@eskaur this should be the final PR for updating samples.


Enable the drawing of the pipeline

What is your feature request related to?

Problem related

Please describe the module/problem
The drawing of the pipeline do not look like a pipeline. Moreover, probably the user often wants to have more control about the drawing function. E.g., for reducing the complexity of the drawed pipeline, by summarizing certain steps.
Describe the solution you'd like

[ ] Highlight targets and inputs edges with different colors.
[ ] Add possibility to determine which modules/steps should be shown in the drawing and which not.
[ ] The drawed pipeline should look like a pipeline and not like a simple graph.

What type of Feature Request

Core enhancement

Use networkx library as a soft-dependency for doing this. Alternatively would be pyviz or perhaps plotly


Clippy fixes

This fixes (or suppresses) all clippy warnings in the lib target. (It doesn't help for the test target.)

LGTM! (rebased for CI)
bors r+


&mut T during the evaluation of a const/static initializer

While is very important to not have static or const items of such types, during the evaluation of a static or const item we might want to work with intermediate values of this type.
E.g.
const FOO: usize = {
    let mut x = [5, 6, 7];
    x.swap(0, 1);
    x[0] // should be `6`
};

seems totally reasonable.

So what about constants of type MaybeInitialized<&mut T>?

That's fine, even on nightly: https://play.rust-lang.org/?version=nightly&mode=debug&edition=2015&gist=a9a11a688079f6535f8e7e548cdbcd3a
Const eval will error out if you leak a local and you can't promote a mutable reference to something other than []

Hm. I am still confused by what exactly the guarantee is that we need.
So it is okay to have &mut below a union, but not below a tuple? struct? enum? What if someone calls into_inner on that MaybeInitialized<&mut T>?

Const eval will error out if you leak a local

That's because StorageDead killed the local, right? Does it do that reliably? And didn't we hope to lift that restriction some day?

I see two parts to this:

First make sure that if someone somehow manages to get an &mut, writing to it will fail. To this end, we have to set the mutability of the allocations appropriately during interning. Currently, what we do is somewhat odd: First of all, we don't actually make sure here that all const are Mutability::Immutable (bug?), and secondly, we use the same mutability for the static/const itself and anything it references. The latter part cannot be right. I think right now it would be correct to make everything that gets referenced immutable because the only legal way for it to refer to something mutable is to reference another static, right?
If we can rely on allocation mutability to be set correctly, it seems sufficient to ensure that we never have an &mut to an immutable allocation. Validity could perform that check. Is that sufficient?

Also, shouldn't this be tracked in https://github.com/rust-rfcs/const-eval/?

we are in rust-rfcs!? :rofl:

the only legal way for it to refer to something mutable is to reference another static, right?

Not from within another static/const. If an immutable (and thus safe to access) static contained a mutable reference to another static, then you'd be able to "safely" obtain two mutable references to the same static, which is obviously wrong.

That's because StorageDead killed the local, right? Does it do that reliably? And didn't we hope to lift that restriction some day?

Yes, Yes, No
I don't see how we could lift that and how that would be sound.
Making this a validation guarantee does have some nice properties, but fails out of the same reasons that the freeze and needs drop checks can't be part of validation. Associated constants would end up causing monomorphization time errors.

we are in rust-rfcs!? rofl

Oh, eh... look, a three-headed monkey!  :monkey_face:  :monkey_face:  :monkey_face:

Not from within another static/const. If an immutable (and thus safe to access) static contained a mutable reference to another static, then you'd be able to "safely" obtain two mutable references to the same static, which is obviously wrong.

Ah that's your concern. Yeah you should only get shared refs there. So without interior mutability, there wouldn't even be a problem...


Electron build problems

Hi,
When using it on Electron and not running it as node server, but as a build, the video will fail because the protocol is set to file instead http. I have fixed by hardcoding it from return protocol to return protocol 'http'; And it works. It would be nice to fix it, maybe something like if protocol is 'file' change it to http.

hi @arcovoltaico are you able to open a pr?

It's here
https://github.com/orizens/ngx-youtube-player/pull/50/files
But as I can't make npm link working on an angular project
https://stackoverflow.com/questions/45480341/npm-link-is-not-working-with-angular-cli-created-projects.  I'm not sure if it will work properly.


pigeon classify shows all intergenic

Hi, I run pigeon classify with ⬇
pigeon classify isoforms.gff annotations.gtf reference.fa, but yield the summary file showing all isoform belongs to the intergenic region. Could you please help me find the reason?

Hi @luckyvivi. We have just released pigeon v1.2.0 on Bioconda. Please give that a try. If you are still having issues please upload a minimal reproducible example.


GApps Shows nothing after clicking "Sign in"

IT CAN'T LOGIN!

While in Google Play, using ADB, connect to your android device and then type:
adb shell
su
setenforce 0

You will then be able to sign in using the button that was previously not working.

While in Google Play, using ADB, connect to your android device and then type:
adb shell
su
setenforce 0

You will then be able to sign in using the button that was previously not working.

So does this mean it is recommended to get root access in kernel too? I get "/system/bin/sh: su: inaccessible or not found" when running su command.

Did it work??

It did work.

While in Google Play, using ADB, connect to your android device and then type:
adb shell
su
setenforce 0

You will then be able to sign in using the button that was previously not working.

So does this mean it is recommended to get root access in kernel too? I get "/system/bin/sh: su: inaccessible or not found" when running su command.

yes.


Don't trust bluetooth date to be correct

What you want:
When reading a bluetooth value, check if the date is longer then X days/weeks/months/years in the past and if so ask the user if they want to set it to NOW instead
Why you want it:
The date on my device was set to somewhere in 2021. As it's quite finicky to update the date on the device, it would be great if we could validate the date received from the bluetooth device as it seems you expect that date to be somewhere around now and not more then 3 years ago ;)
Looks like the clock in my device is broken, every time it turns off it resets the clock back to 2021

A dialog seems annoying, I would prefer adding a setting to always ignore it. Did I miss a usecase?
While it doesn't help with a broken clock there is a gatt standard for time syncing the app could implement (This was initially proposed by andreassch in https://github.com/NobodyForNothing/blood-pressure-monitor-fl/issues/80#issuecomment-2184949802).


[data-plane]: Bump micrometer-bom from 1.6.4 to 1.6.6 in /data-plane

Bumps micrometer-bom from 1.6.4 to 1.6.6.

Release notes
Commits

/retest


Update extract_fonts.rb

In order to retain in complete_refs the fonts already processed. The key of the hash has to be the label, not the font.

Due to the age of this PR, I'm going to close it. Feel free to re-open it if you'd like to continue the discussion!


perl5.28.2-String-ShellQuote-1.04 fails to build on macOS – leading to sqitch-pg failing to install

Describe the bug
perl5.28.2-String-ShellQuote-1.04 fails to build on macOS and has been failing for a while: https://hydra.nixos.org/job/nixpkgs/staging-next/perl528Packages.StringShellQuote.x86_64-darwin
This leads to not being able to install sqitch-pg-0.9999.
To Reproduce
Steps to reproduce the behavior:

nix-shell -p sqitchPg

copying path '/nix/store/csxlcsjydmayiciimd42f1ncl56s11pp-stdenv-darwin' from 'https://cache.nixos.org'...
building '/nix/store/bnvkkpi8j49mzd2a20c7qrrg9nf9yicw-perl5.28.2-String-ShellQuote-1.04.drv'...
unpacking sources
unpacking source archive /nix/store/v41xb8hmgrz0d9csh6xwnjcpa5ylnm11-String-ShellQuote-1.04.tar.gz
source root is String-ShellQuote-1.04
setting SOURCE_DATE_EPOCH to timestamp<PHONE_NUMBER> of file String-ShellQuote-1.04/META.yml
patching sources
configuring
patching ./test.t...
patching ./shell-quote...
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for String::ShellQuote
Writing MYMETA.yml and MYMETA.json
no configure script, doing nothing
building
build flags: SHELL=/nix/store/5frlp3yii9vhxx6sc4daw3vzs7r3w7k5-bash-4.4-p23/bin/bash
cp ShellQuote.pm blib/lib/String/ShellQuote.pm
cp shell-quote blib/script/shell-quote
"/nix/store/3mxzksvycp6sk730zqqzch3qwla3hfhd-perl-5.28.2/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/shell-quote
Manifying 1 pod document
Manifying 1 pod document
running tests
check flags: SHELL=/nix/store/5frlp3yii9vhxx6sc4daw3vzs7r3w7k5-bash-4.4-p23/bin/bash VERBOSE=y test
PERL_DL_NONLAZY=1 "/nix/store/3mxzksvycp6sk730zqqzch3qwla3hfhd-perl-5.28.2/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" test.t
test.t ..
Failed 4/33 subtests

Test Summary Report
-------------------
test.t (Wstat: 0 Tests: 33 Failed: 4)
  Failed tests:  30-33
Files=1, Tests=33,  0 wallclock secs ( 0.01 usr  0.01 sys +  0.01 cusr  0.01 csys =  0.04 CPU)
Result: FAIL
Failed 1/1 test programs. 4/33 subtests failed.
make: *** [Makefile:857: test_dynamic] Error 255
builder for '/nix/store/bnvkkpi8j49mzd2a20c7qrrg9nf9yicw-perl5.28.2-String-ShellQuote-1.04.drv' failed with exit code 2
cannot build derivation '/nix/store/y9hw0rj34w1lmjrpscri9z0smsfifpb4-perl5.28.2-App-Sqitch-0.9999.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/kxs1jw4yqhyx6kfv9bm29j26yxizv7kp-sqitch-pg-0.9999.drv': 1 dependencies couldn't be built
error: build of '/nix/store/kxs1jw4yqhyx6kfv9bm29j26yxizv7kp-sqitch-pg-0.9999.drv' failed

Expected behavior
Expected to get a nix-shell with sqitch-pg available.
Additional context
Build history of sqitch-pg-0.9999: https://hydra.nixos.org/job/nixpkgs/trunk/sqitchPg.x86_64-darwin
Metadata
❯ nix run nixpkgs.nix-info -c nix-info -m
 - system: `"x86_64-darwin"`
 - host os: `Darwin 18.7.0, macOS 10.14.6`
 - multi-user?: `no`
 - sandbox: `no`
 - version: `nix-env (Nix) 2.2.2`
 - channels(ehamberg): `"nixpkgs-19.09pre188239.c0e56afddbc"`
 - channels(root): `"nixpkgs-18.09pre139198.9d0b6b9dfc9"`
 - nixpkgs: `/Users/ehamberg/.nix-defexpr/channels/nixpkgs`

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute:
# a list of nixos modules affected by the problem
module:

Fixed 2019-11-17.


Improve infrastructure diagram

The full. stack boilerplate diagrams can be improved and also updated across repos that use this template repo

The newly updated diagram has been applied to the most recent readme located at the boilerplate repository and can be seen here: https://github.com/eoscostarica/full-stack-boilerplate

This resolves issue 39: https://github.com/eoscostarica/full-stack-boilerplate/issues/39 at the Boilerplate repository.

The Pull Request has been closed and merged and the changes have been applied successfully as seen in the image attached.


Feature request: support for building iOS applications

Currently we're investigating CI/CD system for us and it is not clear if it's possible to build iOS applications with woodpecker.

The Woodpecker frontend communicates with the backend through an API, so a mobile client can be made to use the exact same one.
Here is the go client so you get the impression: https://github.com/laszlocph/woodpecker/blob/master/drone-go/drone/interface.go

@kvaster You probably need to build that app on a macos device / vm? You therefore would need to run at least the Woodpecker agent on macOS which is currently not supported as far as I know.

agent does not need cgo so we could cross-compile ...


add catkin_devel_prefix condition on RosWalkState and TeleopState build

CI is failing ( https://github.com/isri-aist/BaselineWalkingController/actions/runs/10212045697/job/28254569705?pr=29
) and https://github.com/ThomasDuvinage/BaselineWalkingController/pull/1 should resolve the issue, so please merge it.


XTENSA_CODE_REFACTOR: depthwise_conv

Refactored the xtensa hifi optimized code for depthwise_conv operator.
BUG=refactoring existing code.

@bhanuprakashbv if you can confirm

All (the pull request submitter and all commit authors) CLAs are signed, but one or more commits were authored or co-authored by someone other than the pull request submitter.
We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that by leaving a comment that contains only @googlebot I consent. in this pull request.

@bhanuprakashbv, if you can reply with @googlebot  I consent, then we can get this PR merged.

@googlebot I consent

@googlebot I consent

This needs to come from the @bhanuprakashbv github account. Basically, the CLA-bot has recognized all the CLAs, but the author of the commit (@bhanuprakashbv) is different from the PR author (@cad-audio).

@googlebot I consent


Missing xcomponents/css/style.css

Following the instructions from xcomponents.org to build a new application, I get a 404 error when trying to load the CSS file "xcomponents/css/styles.css"

Same cause and fix as #2.