+full_refresh property missing from model_configs

+full_refresh property is clearly an available configuration as can be seen from dbt docs:
https://docs.getdbt.com/reference/model-configs#general-configurations
However, this is missing from the model_configs portion of dbt_project-latest.json.

I was going to publish a fix, but Github's refusing me access to publish the branch.
The required change is to add the following lines to the following file:
schemas/latest/dbt_project-latest.json
line 470
        "+full_refresh": {
          "$ref": "#/$defs/boolean_or_jinja_string"
          },


The application being debugged crashes with the OpenGL context.

Description

Installed the current stable version of this debugger. There were no problems with my application a couple of years ago. Now my application is crashing, but one frame with the application interface is being rendered.
I use SDL to manage windows. Creating an OpenGL context in a window causes the process to close after two frames (no error messages from the OS). The usual launch of a separate process or from the VS debugger does not lead to problems (an empty black window appears and remains).
VS debugger shows memory error inside Nvidia driver (inside dll file starting with 'nv').
Also I tried toggling all capture options but that also didn't help.
Minimum reproducible piece of code:
int main(int argc, char** argv) {
    if (SDL_Init(SDL_INIT_VIDEO) < 0)
        exit(-1);

    SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);
    SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
    SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 3);
    SDL_Window* window = SDL_CreateWindow(
        "MyApp", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,
        900, 480, SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE);
    if (!window)
        exit(-1);

    SDL_GLContext glContext = SDL_GL_CreateContext(window);
    if (!glContext)
        exit(-1);

    while (true) {
        SDL_PumpEvents();
        SDL_Event event;
        while (SDL_PollEvent(&event)) { if (event.type == SDL_WINDOWEVENT && event.window.event == SDL_WINDOWEVENT_CLOSE) exit(-2); }
        SDL_GL_SwapWindow(window);
    }
	return 0;
}

Steps to reproduce

Download any artifact here or the Crash3.zip (it contains the same project in which I left only the above code).
Run without RenderDoc to make sure it doesn't crash.
Run with RenderDoc and see that it will crash immediately after it launches.

Environment

RenderDoc version: v1.14
Operating System: Win10-21H1
Graphics API: OpenGL 3.3
GPU: RTX 3080
GPU Driver version: 466.11

I can't reproduce this crash. I didn't compile the code, but I ran both the artifact and Crash3.zip you linked and both run correctly for me both inside and outside of RenderDoc with no crashes and I'm able to take captures of both.
Assuming you don't get a crash dialog popup from RenderDoc to submit a crash, it sounded like you were able to attach visual studio to the crash. Can you share the callstack and a minidump manually? Can you also share the RenderDoc log please?

Exception thrown at 0x000001DCCB81FDC0 in AltCraft.exe: 0xC0000005: Access violation reading location 0x0000000000000000.
Exception callstack (this is useless I think):
000001dccb81fdc0()
00000000044323a0()

Thread with exception: [2380] nvoglv64.dll thread
Main thread in window framebuffers switching function:
>	SDL2d.dll!WIN_GL_SwapWindow(SDL_VideoDevice * _this, SDL_Window * window) Line 855	C
 	SDL2d.dll!SDL_GL_SwapWindow_REAL(SDL_Window * window) Line 3741	C
 	SDL2d.dll!SDL_GL_SwapWindow(SDL_Window * a) Line 594	C
 	AltCraft.exe!SDL_main(int argc, char * * argv) Line 57	C++
 	AltCraft.exe!main_getcmdline() Line 71	C
 	AltCraft.exe!main(int argc, char * * argv) Line 87	C
 	[External Code]

Unfortunately, I cannot upload minidump with heap (due to size I think: 63MB)
Without heap.zip
renderdoc_log.log

Since the crash happens inside nvidia's driver thread and I can't reproduce it, this doesn't seem like a bug in RenderDoc. You have some programs installed such as RivaTuner Statistics Server and something unknown called A-Volute. At least the RivaTuner program I have seen be extremely buggy in the past so I'd recommend trying to uninstall or disable them both to see if that fixes the problem.
Otherwise I'd suggest seeing if there's an updated driver or doing a clean reinstall with DDU. If that still doesn't work try on a different machine if you are able to, in case it's some systemic issue.

Thanks for the help anyway.
I was expecting a similar answer, so I kept looking for a solution... and found it.
I tried: updating drivers (stable and beta), disabling (and then completely removing) RivaTuner (maybe there were bugs in the past, but I have been using RTSS all the time for the last few years and only a couple of old games had problems), updating all OS components.
And then you wrote about A-Volute. I found that this is part of the sound driver from my motherboard (asus rog strix b450-e gaming) and there are two utilities in the system from A-Volute (to improve the sound if I understand correctly) Sonic Radar 3 and Sonic Studio 3. After removing them, the problem went away!


Remove azuresdk-azure-sdk-devops-build-queuing-pat from the variable group and KV

The PAT was only being used in the sync-directory.yml which was fixed as part of this PR.
The variable needs to be removed from its variable group and from Keyvault.
Since I just remove the usage from code on 5/28/2024, I'm going to hold off removing it from the variable group and KV until 5/30/2024.

Removed from KV, variable group and from secret-management in azure-sdk-devops.


[DUOS-1762][risk=no] Fix join insert

Addresses
https://broadworkbench.atlassian.net/browse/DUOS-1762
Fixes the following error we see in the deployment
Detail: Key (dataset_id, reference_id)=(2, 71a93420-90f4-45fb-8f1e-32056510ad5a) already exists. [Failed SQL: (0) INSERT INTO dar_dataset (dataset_id, reference_id)

SELECT DISTINCT jsonb_array_elements(((data #>> '{}')::jsonb->>'datasetIds')::jsonb)::INTEGER AS dataset_id, reference_id FROM data_access_request]

Have you read CONTRIBUTING.md lately? If not, do that first.

Label PR with a Jira ticket number and include a link to the ticket
Label PR with a security risk modifier [no, low, medium, high]
PR describes scope of changes
Get a minimum of one thumbs worth of review, preferably two if enough team members are available
Get PO sign-off for all non-trivial UI or workflow changes
Verify all tests go green
Test this change deployed correctly and works on dev environment after deployment

Thank you @JVThomas ... gonna merge this to get dev back to normal.


Build failing on Android

In my build.gradle my min sdk is 23 and i added this tag to my android manifest

but i get this error
C:\flutter.pub-cache\hosted\pub.dartlang.org\audioplayers-0.17.2\android\src\main\kotlin\xyz\luan\audioplayers\AudioplayersPlugin.kt: (181, 52): Expecting a parameter declaration7
C:\flutter.pub-cache\hosted\pub.dartlang.org\audioplayers-0.17.2\android\src\main\kotlin\xyz\luan\audioplayers\WrappedSoundPool.kt: (46, 77): Type inference failed. Expected type mismatch: inferred type is List but MutableList was expected

I am having the same problem, did you manage to solve that?

I am having the same problem, did you manage to solve that?

Alright I solved it, try downgrading the version of audioplayers to 0.17.0. Make sure not to add the ^ sign before the version. It worked for me

Alright I solved it, try downgrading the version of audioplayers to 0.17.0. Make sure not to add the ^ sign before the version. It worked for me

Closing this due to reports of this being fixed on newer versions. Feel free to open a new issue in case of this still happening


Exerting a card that is not in your Master Deck causes crash to desktop

Version
Slay the spire: MAIN
Mod version: unreleased Master branch
Describe the bug
When you Exert a card that is not in your Master Deck, the game crashes. This is because the SelfExertPatch tries to set ExertedField to true of the MasterDeckEquivalent of the exerted card, without checking if there is a MasterDeckEquivalent. This requires a check on != null before setting the ExertedField of a non-existing object.
To Reproduce
Steps to reproduce the behavior:

Enter combat as Cull
Create a copy of stsjorbsmod:Frustration
Play Frustration

Expected behavior
Frustration is played, moved to the exhaust pile and Exerted
Actual behavior
Game crashes.

Fixed in #487


No k8s.clusters.agent role when Cillum enabled

When Cillum policy is enabled, the service account does not receive the k8s.clusters.agent role.
https://github.com/terraform-yc-modules/terraform-yc-kubernetes/blob/master/iam.tf#L22
According to the official documentation, the k8s.clusters.agent role should always be assigned.
https://cloud.yandex.ru/en/docs/managed-kubernetes/quickstart#before-you-begin
This was also pointed out to us by the support service within ticket KL898277.

A month has passed.
We closely monitored the K8s cluster with Cilium and without the k8s.clusters.agent role.
We stopped and started cluster every day. But we couldn't confirm the need to add the k8s.clusters.agent role.
The task can be closed.

The issue has not been confirmed.


Setup lerna

@sladkoff This is a pretty scary PR:

got rid of tsdx
introduced lerna
added eslint and prettier for all packages
added custom build step with rollup. (This has not been tested if it works if published, or if the size is too big and so on...)

some interesting parts will be marked with comments


How do I properly document the type of functions passed as arguments, without extracting them to another type?

Hi! To clarify the title, the following code:
/**
 *
 * Adds equality functions to a data object. This freezes an object.
 * HashCode is lazily evaluated and memoized.
 *
 * @param <D> The type of the data object
 * @param data The data object to add equality to
 * @param equals The equality function
 * @param hashCode The hash code function
 *
 * @returns The data object with equality added
 */
export default function <D extends Record<string, unknown>>(
  data: D,
  equals: (a: D, b: D) => boolean,
  hashCode: (data: D) => number
): D & HasEquals {
    // ....
}

Needs @param hashCode.__type and @param equals.__type, else validation will show the following:
./src/lib/utils/addEquality.ts:20:10 - warning addEquality.equals.__type does not have any documentation.
20      equals: (a: D, b: D) => boolean,

./src/lib/utils/addEquality.ts:21:12 - warning addEquality.hashCode.__type does not have any documentation.
21      hashCode: (data: D) => number

This looks like a bug in the validation, it should accept the comment on the parameter reflection as the comment.

Hmm... on second review, I guess it's technically correct that the a parameter of equals isn't documented. I don't think it makes sense to complain about this. You could add an inline comment for this parameter, but I think I'm going to update the validation to ignore parameters within parameters...
export default function <D extends Record<string, unknown>>(
  data: D,
  equals: (/** Inline docs */a: D, b: D) => boolean,
  hashCode: (data: D) => number
): D & HasEquals {
    // ....
}

or
export default function <D extends Record<string, unknown>>(
  data: D,
  /** Inline docs with @param a */
  equals: (a: D, b: D) => boolean,
  hashCode: (data: D) => number
): D & HasEquals {
    // ....
}


Support in GovCloud

Is there any planned support for resource provisioning/creation in GovCloud? Not sure if it'd be an AWS policy thing, or just need it to be configured to allow those endpoints.

@willkara There are multiple AWS services  which Amplify leverages which are not currently suported in GovCloud. Once we have these services in GovCloud, we'll add it to our list of default regions.

Any news on this?

What are these "various services" that need support in Govcloud? Now that Cognito is available in Govcloud, what are we waiting for?

Checking in for another update request on this topic. Being able to bring the tools we use for teams in commercial AWS to GovCloud AWS would allow us to have consistency on our projects.
Please add support for Amplify with the GovCloud regions!

Happy 2021!
Any update on bringing Amplify to GovCloud?

Happy 2021!
Any update on bringing Amplify to GovCloud?

Any update on implementing Amplify to GovCloud?!!!

@renebrandel Does your team have any idea if or when Amplify will support the GovCloud regions?

need this!

Any update?

This was not mentioned in re:invent 2021 that I have seen.  Would love to know if AWS Amplify will be available in govcloud in the future. Would make a big difference for some projects we are pitching soon.  Thank you in advance.

I'm currently working on a Amplify/React/GraphQL/DynamoDB project that has a customer with a requirement now to deploy in GovCloud. Can't express how much I have come to enjoy working Amplify!!

2023 any updates on this?


Spike for hardened prometheus setup

Description
For realizing https://github.com/kyma-project/telemetry-manager/issues/425 we need to understand how to run an optimized prometheus. So following questions need to be clarified:

which additional resources are required (like networkPolicies)
required istio settings
what if the status is unhealthy because of a firing alert and prometheus restarts, will a recovery from the alert be detected
can there be flaky alerts (because persistence gets wiped out on restart)
what is the actual footprint of  prometheus in regards to memory/cpu?
What can be disabled on the prometheus instance? Any typical hardening procedure which we can apply?
Make a conscious decision about needed sidecars. If not used, how to compensate the functionality.

Reasons

Attachments

Release Notes

We agreed that the first 4 points don't need to be evaluated as part of the epic preparations and don't need to be done as part of the story

Following setup used for spike :

Test deployment
apiVersion: v1
kind: Namespace
metadata:
  name: prometheus
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: prometheus
  namespace: prometheus

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: prometheus
  namespace: prometheus
rules:
- apiGroups: [""]
  resources: ["serviceaccounts", "services", "endpoints", "pods"]
  verbs: ["get", "watch", "list"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: prometheus
  namespace: prometheus
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: prometheus
subjects:
- kind: ServiceAccount
  name: prometheus
  namespace: prometheus
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: prometheus-conf
  namespace: prometheus
  labels:
    name: prometheus-conf
data:
  prometheus.rules: |-
    groups:
    - name: alert.rules
      rules:
      - alert: InstanceDown
        expr: up == 0
        for: 1m
        labels:
          severity: "critical"
        annotations:
          summary: "Endpoint {{ $labels.instance }} down"
          description: "{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 1 minutes."

  prometheus.yml: |
    global:
      scrape_interval: 10s
      evaluation_interval: 10s
    rule_files:
      - /etc/prometheus/prometheus.rules
    alerting:
      alertmanagers:
      - static_configs:
        - targets:
          - 'localhost:9093'
    scrape_configs:
    - job_name: 'kubernetes-service-endpoints'

      kubernetes_sd_configs:
        - role: endpoints
      relabel_configs:
        - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape]
          action: keep
          regex: true
        - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme]
          action: replace
          target_label: __scheme__
          regex: (https?)
        - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path]
          action: replace
          target_label: __metrics_path__
          regex: (.+)
        - source_labels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port]
          action: replace
          target_label: __address__
          regex: ([^:]+)(?::\d+)?;(\d+)
          replacement: $1:$2
        - source_labels: [__meta_kubernetes_namespace]
          action: drop
          regex: kube-system
        - source_labels: [__meta_kubernetes_namespace]
          action: replace
          target_label: namespace
        - source_labels: [__meta_kubernetes_service_name]
          action: replace
          target_label: service
        - source_labels: [__meta_kubernetes_pod_name]
          action: replace
          target_label: pod
        - source_labels: [__meta_kubernetes_pod_node_name]
          action: replace
          target_label: node
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: prometheus
  namespace: prometheus
  labels:
    app: prometheus
spec:
  replicas: 1
  selector:
    matchLabels:
      app: prometheus
  template:
    metadata:
      labels:
        app: prometheus
    spec:
      serviceAccountName: prometheus
      containers:
        - name: prometheus
          image: hbalik/promcustom
          args:
            - "--storage.tsdb.retention.time=12h"
            - "--config.file=/etc/prometheus/prometheus.yml"
            - "--storage.tsdb.path=/prometheus/"
            - '--web.enable-lifecycle'
          ports:
            - containerPort: 9090
          resources:
            requests:
              memory: 32Mi
            limits:
              memory: 128Mi
          volumeMounts:
            - name: prometheus-config-volume
              mountPath: /etc/prometheus/
            - name: prometheus-storage-volume
              mountPath: /prometheus/
      volumes:
        - name: prometheus-config-volume
          configMap:
            defaultMode: 420
            name: prometheus-conf
        - name: prometheus-storage-volume
          emptyDir:
            sizeLimit: 500Mi

---

apiVersion: v1
kind: Service
metadata:
  name: prometheus
  namespace: prometheus
spec:
  type: ClusterIP
  selector:
    app: prometheus
  ports:
    - protocol: TCP
      port: 9090
      targetPort: 9090

With this spike, we focused on resource footprints of prometheus installation compared with official docker image and custom image with reduces plugin set.
Whole setup tested on a Kyma cluster with telemetry manager installed and deployed TracePipeline, MetricPipeline wirth agent setup, and a LogPipeline.
All deployed Pipelines loaded some synthetic load to force constant real metric generation to ensure that the prometheus is under constant load.
Conclusion

There are no resource footprint difference between custom prometheus docker image and official docker image observed, overall memory consumption under high load was for both images around ~95Mib and CPU usage was 0.007
To build custom image, following steps are required

Download official release artefacts from Prometheus project
Provide custom plugins.yml file, which will contains list of desired plugins for build, file have to be in root directory
Provide environment variables DOCKER_REPO, DOCKER_IMAGE_TAG, DOCKER_ARCHS, and DOCKER_IMAGE_NAME
Call following make targets to build custom docker imagemake plugins
make promu
promu crossbuild -p linux/amd64
make npm_licenses
make common-docker-amd64

Setup works without any sidecar injected, however, prometheus deployment have to be rolled-out after any configuration changes

which additional resources are required (like networkPolicies)

network policy
```
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: prom-network-policy
  namespace: kyma-system
spec:
  podSelector:
    matchLabels:
      app.kubernetes.io/name: prometheus
      app.kubernetes.io/instance: prometheus
  policyTypes:
  - Ingress
  - Egress
  ingress:
  - from:
    - namespaceSelector:
        matchLabels:
          kubernetes.io/metadata.name: kyma-system
      podSelector:
        matchLabels:
          app.kubernetes.io/instance: telemetry
          control-plane: telemetry-operator
    ports:
    - port: 9090
      protocol: TCP
  egress:
  - to:
    - namespaceSelector:
        matchLabels:
          kubernetes.io/metadata.name: kyma-system
      podSelector:
        matchLabels:
          app.kubernetes.io/instance: telemetry
          control-plane: telemetry-operator
    ports:
    - port: 9090
      protocol: TCP
  ```

required istio settings
Prometheus will not be part of the istio service mesh as documented in following ADR: https://github.com/kyma-project/telemetry-manager/blob/main/docs/contributor/arch/005-do-not-make-prometheus-part of-the-istio-service-mesh.md

We agreed remaining open points are not blocking us from continuing with the topic.


NOt able to download any thing from here

Checklist

[x] I'm reporting a broken site support issue
[x] I've verified that I'm running youtube-dl version 2019.04.30
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar bug reports including closed ones
[x] I've read bugs section in FAQ

Verbose log

PASTE VERBOSE LOG HERE

Description

WRITE DESCRIPTION HERE

Not proper not able to use this from whole month


Animated textures not properly displaying using the Decal node

Godot version
v4.0.dev.custom_build [87727f70e]
System information
Windows 10, Vulkan, AMD Ryzen 5 2600
Issue description
Using the Decal Node with Animated Textures only produces magenta-colored boxe

The left shows a single texture for Albedo. The right is the Decal node with an Animated Texture as Albedo input. All other inputs were left empty for both nodes.
Steps to reproduce

Download https://github.com/Calinou/godotcon-2021-decals Godot project
Open project with Godot version of the master branch (4.0)
Create Decal Node
Insert Animated Texture input for Albedo

Minimal reproduction project
https://github.com/Calinou/godotcon-2021-decals

I only have errors like these:
USER ERROR: Parse Error: Could not infer the type of the variable "camera" because the initial value is a variant. Use explicit "Variant" type if this is intended.
   at: GDScript::reload (res://runtime_placement.gd:9) - Parse Error: Could not infer the type of the variable "camera" because the initial value is a variant. Use explicit "Variant" type if this is intended.
USER ERROR: Parse Error: Could not infer the type of the variable "target" because the initial value is a variant. Use explicit "Variant" type if this is intended.
   at: GDScript::reload (res://runtime_placement.gd:11) - Parse Error: Could not infer the type of the variable "target" because the initial value is a variant. Use explicit "Variant" type if this is intended.
USER ERROR: Parse Error: Could not infer the type of the variable "decal" because the initial value is a variant. Use explicit "Variant" type if this is intended.
   at: GDScript::reload (res://runtime_placement.gd:15) - Parse Error: Could not infer the type of the variable "decal" because the initial value is a variant. Use explicit "Variant" type if this is intended.
USER ERROR: Parse Error: Function "Transform()" not found in base self.
   at: GDScript::reload (res://runtime_placement.gd:22) - Parse Error: Function "Transform()" not found in base self.
USER ERROR: Method/function failed. Returning: ERR_PARSE_ERROR
   at: GDScript::reload (modules\gdscript\gdscript.cpp:855) - Method/function failed. Returning: ERR_PARSE_ERROR

They do seem unrelated to the Decal node though

I don't think AnimatedTexture support was ever implemented for decals. Since decals rely on an atlas generated on the fly, this may not be technically possible.

Well you mentioned the possibility in the presentation and asked for tests so that's why I created this issue here. If Animated textures won't be possible to make work with Decals, would there be a possibility to enable/simplify the projection of 2DTextureArrays in shaders? Caustic projection is a necessity for realistic water shaders

I do wish decals supported AnimatedTextures and ViewportTextures to make flexible 3D UI menus or decoration displays without heavily relying on constant model importing.


[WIP] Refactor & optimize ENV accessors

Great changes!
I wouldn't mind releasing a 1.0.0 when you're done. (Just make sure to ask).
Things I don't like about the API (but I don't mind enough to rethink):

I don't like the stubbing helpers much (builder vs class)
the .instance.create_method probably isn't a good choice of words
the AutoEnvironment part (naming and how it's used)

@e2 Please look at the latest commit. I removed stubs because they're not useful. There's no reason to stub Loader and Dumper classes since they have no side effects.

Also I don't think that stubbing new method of  Loader and Dumper classes was a good idea.
Stubs are useful when instances are passed as a dependencies. Loader and Dumper instances are not injectable so I treat them as internal so they should not be mentioned in Environment specs at all.

I also decided that it's better to isolate ENV side effect with just a regular Hash instance which is recreated before each example and stub_const is not a bad tool for this.
double_instance(Hash) used for isolating and its further usage look ugly to reader (allow(ENV).to receive(:[]=) ...). I think it's more natural to write a straightforward  ENV['key'] = 123 in specs and see what's happening in Nenv.

Maybe pass ENV as a dependency to Nenv::Environment?

they have no side effects

Yes. They only exist for the sake of refactoring out some logic. And readability.

Loader and Dumper instances are not injectable so I treat them as internal

Yes. At the time I wondered if anyone would want to change their behavior, but I think the dumping/loading defaults are pretty good as is. Classes could be named DefaultDumper and DefaultLoader to reflect this.
On second thoughts, those classes pretty much just represent a "default block". So instead of using those classes directly, it may be better to just have a default loader and dumper block (if none are supplied).
Loaders/dumpers are usually method specific, not instance specific.
I also don't think dumper/loader classes should check/handle the existence of the callback method. No reason to even instantiate the class if there is a callback.

it's better to isolate ENV side effect with just a regular Hash

Good idea. The only thing I'd do is make sure the behavior is accurate, e.g.
ENV['key'] = 123
TypeError: no implicit conversion of Fixnum into String

Maybe pass ENV as a dependency to Nenv::Environment?

That would be cool! That way Nenv could be used for adding convenience methods to any Hash. Of course upcase when sanitizing wouldn't make sense for arbitrary hashes: https://github.com/e2/nenv/blob/master/lib/nenv/environment.rb#L32

That would be cool! That way Nenv could be used for adding convenience methods to any Hash. Of course upcase when sanitizing wouldn't make sense for arbitrary hashes

Hmm, I don't like it's a good idea anymore. Yes, because of sanitizing and because of weak namespace conventions. Implementing something generic here would be an overkill and re-inventing of OpenStruct :)

Yes. At the time I wondered if anyone would want to change their behavior, but I think the dumping/loading defaults are pretty good as is. Classes could be named DefaultDumper and DefaultLoader to reflect this.

On second thoughts, those classes pretty much just represent a "default block". So instead of using those classes directly, it may be better to just have a default loader and dumper block (if none are supplied).

Loaders/dumpers are usually method specific, not instance specific.

I also don't think dumper/loader classes should check/handle the existence of the callback method. No reason to even instantiate the class if there is a callback.

Please look at last commit, I think now we got it right!

Hmm, I don't like it's a good idea anymore. Yes, because of sanitizing and because of weak namespace conventions. Implementing something generic here would be an overkill and re-inventing of OpenStruct :)

I agree about it being an overkill compared to OpenStruct.
Still, I think having ENV itself hardcoded inside the class is a bad idea.
ENV simply isn't versatile - it's a globally accessible constant representing a system resource. And since people will likely use Nenv just like ENV, they'll have a hard time "injecting" any behavior.
E.g. what if someone wants to log all Nenv related calls to ENV? Rewriting loader/dumper blocks may not be convenient, especially with how Nenv combines/splits keys and namespaces. The solution would be to supply an ENV wrapper to Nenv. E.g. Through Nenv.env_class= method.
But that's probably for another PR ...
Anyway, the changes are beautiful, so I'm merging them. I can release this as 1.0, unless you have objections.
Thanks!

@e2 there were no breaking changes, so maybe release just next minor?

I release 0.3.0.
I thought about release 1.0.0 so people can lock to the major version, while API hasn't changed in over a year.


feat(locale): add localization

#254
Taks left:

[ ] release @nebula.js/sn-table-locale
[ ] unit test

Why do we need a seperate package? And maybe a dumb question, do we want multiple packages published from this repo?

Looks ok


Report the use of components  with vulnerabilities in logging-operator

Dear Team Members:
Greetings! Our team is very interested in your project. we performed source code perspective security analysis (SCA) and vulnerability library association analysis on this project and found that components with vulnerabilities are still being used into this project.We would like to report this issue to you,so that you can fix and improve it accordingly. I add the details in json file below. Please confirm whether this problem really exists and confirm with us. Looking forward to hearing from you and discussing more details with us, thank you very much for your time and attention.
Note: Each "affect_components" field in the report represents the vulnerable component introduced by this project. The other is the vulnerability information associated with it.
Qiyu Hou
logging-operator-master_report.json

Hey @HouqiyuA !

CVE-2019-25210 is irrelevant as helm as a dependency is only used in e2e tests.
CVE-2020-8561 seems invalid for me as the version we use (0.29.2) is not listed as affected: https://nvd.nist.gov/vuln/detail/CVE-2020-8561

Please reopen if my response was not accurate.


Does lets-plot-skia support setting ggtb function?

Hello, does lets-plot-skia support the function of setting ggtb? I want to use the function of ggtb, but after adding ggtb(), the toolbar with pan and zoom does not appear.

Thank you for your reply, I am looking forward to this feature!


megaboom: disable timing driven placement for faster global place

From 10000s to

Hi @oharboe, should this PR run execute megaboom? I see 18 checks here, but they seem too quick to be for megaboom

Hi @oharboe, should this PR run execute megaboom?

No.

I see 18 checks here, but they seem too quick to be for megaboom

There are some CI tests to verify that bazel-orfs has been set up correctly, but the actual build of the design is not done in CI.
You can ask @tspyrou to get access to the artifact repository, see documentation, then you can run bazel build and you can download completed artifacts, which will save you 24 hours or so :-)


I couldn't work in on-premise

Hi,
I am using Azure DevOps Server 2019 but I couldn't work with this extension.
        <Group Label="Details">
          <ControlContribution Id="ms-devlabs.color-form-control" Label="Priority" >
            <Inputs>
                <Input Id="FieldName" Value="Microsoft.VSTS.Common.Priority" />
            </Inputs>
        </ControlContribution>

error message
The 'Id' attribute is invalid - The value 'ms-devlabs.color-form-control' is invalid according to its datatype 'http://schemas.microsoft.com/VisualStudio/2008/workitemtracking/typedef:ContributionIdType' - The Pattern constraint failed.
TF237070: Importing the definition failed. The definition you are trying to import did not validate against the schema. Edit the definition, then try to import it again.
Product Backlog Item.txt

I think you are using the wrong id there. The id should be like this
Id="ms-devlabs.color-form-control.color-control-contribution"

I think you are using the wrong id there. The id should be like this
Id="ms-devlabs.color-form-control.color-control-contribution"

thank you Matthew :)


Fix invalid partial_deflate_block error code.

fixes the assertion which wrongly raised apartial_deflate_block error code when the last received deflated chunk does not fit into a single buffers_front(cb_) and a remainder is still pending to be inflated. Example:
 -> partial deflate <-
  sz.total_out: 54
 21-03-12 14:07:14.560 TRACE: on_read(const beast::error_code &, const std::size_t)
 21-03-12 14:07:14.560 DEBUG: WssTransport::onMessage (7680 bytes)
 {"body" ... {"id":"b4b2bb07-586a-48e1-8064-a9c4b7423fe9","sid":"MT760583713619794ebf5adc89e42722e4"},{"id":"c6232956-79da-4726-835e-dfb37bbd35ed","sid":                            +> "MTea63d62fc35de55234fce1b8fd19a4f8"}]}
 21-03-12 14:07:14.560 ERROR: JSON parsing failed with error "* Line 1, Column 7681
   Missing ',' or '}' in object declaration

Wireshark had no problems to inflate it, the deflated payload was 69 bytes and after inflating, it became 7734 = 7680 + 54.

Thank you for the commit.
I've cancelled the test run as we're getting some false positives due to a change in the ubuntu::xenial image/packages.
I'll rebase and reshedule once we have a stable CI testbed.

Any chance we could add a test which demonstrates the incorrect behavior (i.e. before this patch) ?

Any chance we could add a test which demonstrates the incorrect behavior (i.e. before this patch) ?
is it possible to control the size of the output buffer?

Any chance we could add a test which demonstrates the incorrect behavior (i.e. before this patch) ?

Added the test. Without the fix, the forth fragment generates the partial_deflate_block error code.

Thanks for the patch, this is great work. I have to admit, that the permessage-deflate code is quite complex and difficult to analyze, and these changes are non-trivial. As we are just about to release a new version of Boost, I think it would be best if we merge this after the release, so it will have 4 months worth of testing.

Thanks for the patch, this is great work. I have to admit, that the permessage-deflate code is quite complex and difficult to analyze, and these changes are non-trivial. As we are just about to release a new version of Boost, I think it would be best if we merge this after the release, so it will have 4 months worth of testing.

It is really a corner case, and I must say I really like how you leveraged other parts of boost to build a powerful API. I worked with other streaming libraries and beast is the most natural for a C++ developer. I am personally happy to have had time to and being able to contribute back to the project!
The release schedule makes sense to me. We will probably retrofit it into 73 and test, do you foresee any problems porting it back?
Thank you

do you foresee any problems porting it back?

I don't think that code has changed since then, so it should be fairly straightforward.
One thing on our agenda is to split zlib to its own Boost library and work on improvements to the tests and API.

thank you!


Binary genes in GA

I think to be more flexible (including supporting pumps) it would be best to make all the genes (policies) a vector of binaries instead of numbers

This was done


For geopandas, when passing a positional arg it is interpretted as color

Closes #778
import geopandas as gpd
import hvplot.pandas

countries = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
countries.hvplot("continent")

This makes sense to me, thanks!


Implement the 3-sigma threshold

In addition to the 95% CI, it would be useful to have the option to display outliers defined as outside of the 3-sigma.

After giving it some thoughts, that feature might not be necessary


VS Code crashes with The window terminated unexpectedly (reason: 'killed', code: '15') when running make quarkus-dev

Code of Conduct

[X] I agree to follow this project's Code of Conduct

On what operating system are you seeing the problem?
macOS (Apple/arm64)
VS Code version
1.93.1
Version of Confluent extension
0.15.x, 0.16.x
To Reproduce

Clone https://github.com/confluentinc/ide-sidecar
Run make quarkus-dev (docs)
Open VS Code and activate the extension by clicking on the Confluent icon in the sidebar

Current vs. Expected behavior
Current behavior: just about every window (including non-VS Code windows) hard-crashes
Expected behavior: not that ^
Relevant log output
No response
Which area(s) are affected? (Select all that apply)
Not sure
Additional context
This does not happen when:

running the sidecar executable (./ide-sidecar-X.Y.Z-runner) in a standalone terminal and activating the extension
running the sidecar executable and then running make quarkus-dev in another terminal

Unclear if other combinations of running processes/extensions and our extension will cause this same behavior, but using make quarkus-dev was the first time we witnessed the above.

Issue happens only for us extension devs who are running sidecar in quarkus dev not having enabling access token filter AND that sidecar is not the version the extension expects.
Fix is in progress.


Use CUTLASS for both trans_a and trans_b on Ampere

Note that this PR can't be merged as is; see the end of the description.
This PR is based on imoneoi@'s awesome work here. The problem sorting code (which is only needed for variable-size k, i.e., in the backward pass) was copied from their PR verbatim. Everything else is structured pretty much the same conceptually, the only difference is that I tried to make the changes very minimal. Notably:

the original PR got rid of hardcoded threadblock/warp/instruction shapes, I left them as is (they can be changed in a separate PR, if necessary)
the original PR got rid of the cuBLAS fallback for Hopper, I left it intact (I think that it should be easy to make Hopper use CUTLASS too, but again, this can be done in a separate PR)

The only caveat is that vanilla CUTLASS has a bug I described previously when handling k=0 in a grouped GEMM. I added a test that reliably crashes the backward pass with a CUDA error: an illegal memory access was encountered error. The dimensions of the GEMM are larger than what is used in the other tests, but making them smaller unfortunately makes the crash go away, since the bug leads to an OOB read, which can go undetected without using compute-sanitizer.
I'm currently not sure how to work around this. The best option would be upstream CUTLASS landing my PR fixing the bug (and/or implementing an alternative fix), but I'm really not sure when this will happen. Looking at their opened PRs, I see that it might take weeks, or even months for a PR to be merged. :/

Hi! Thanks for the PR! I will have a detailed look at it, but I am curious if you can just "squeeze" k=0 problems from the batch for the backward pass? If k=0, the output just needs to be zero'd, so you can skip the compute and avoid the bug?

Sorry for the delay on the review :) This got lost in my email it seems.

If k=0, the output just needs to be zero'd, so you can skip the compute and avoid the bug?

I would really prefer to have it fixed on the CUTLASS side (given that the fix is essentially a one-liner), but they also suggest to skip the offending problems. In 398709f0645418ff9dffe1070a222d789ca8e3f1, I implemented a workaround along these lines, but I really hope that this will get fixed in CUTLASS one day because the workaround just complicates the code for no good reason. :/

Sorry for the delay on the review

No worries at all! Thanks for taking the time to review it.

@mvpatel2000 would you be willing to test this on H100 for us?

would you be willing to test this on H100 for us?

I actually got my hands on an H100, so I will be able at least run unit tests tomorrow. Any other testing would be much appreciated though!

Encountered the following running same model code with env flag set on:
[rank7]: │ /usr/lib/python3/dist-packages/torch/_tensor.py:525 in backward              │
[rank7]: │                                                                              │
[rank7]: │    522 │   │   │   │   create_graph=create_graph,                            │
[rank7]: │    523 │   │   │   │   inputs=inputs,                                        │
[rank7]: │    524 │   │   │   )                                                         │
[rank7]: │ ❱  525 │   │   torch.autograd.backward(                                      │
[rank7]: │    526 │   │   │   self, gradient, retain_graph, create_graph, inputs=inputs │
[rank7]: │    527 │   │   )                                                             │
[rank7]: │    528                                                                       │
[rank7]: │                                                                              │
[rank7]: │ /usr/lib/python3/dist-packages/torch/autograd/__init__.py:267 in backward    │
[rank7]: │                                                                              │
[rank7]: │   264 │   # The reason we repeat the same comment below is that              │
[rank7]: │   265 │   # some Python versions print out the first line of a multi-line fu │
[rank7]: │   266 │   # calls in the traceback and some print out the last line          │
[rank7]: │ ❱ 267 │   _engine_run_backward(                                              │
[rank7]: │   268 │   │   tensors,                                                       │
[rank7]: │   269 │   │   grad_tensors_,                                                 │
[rank7]: │   270 │   │   retain_graph,                                                  │
[rank7]: │                                                                              │
[rank7]: │ /usr/lib/python3/dist-packages/torch/autograd/graph.py:744 in                │
[rank7]: │ _engine_run_backward                                                         │
[rank7]: │                                                                              │
[rank7]: │   741 │   if attach_logging_hooks:                                           │
[rank7]: │   742 │   │   unregister_hooks = _register_logging_hooks_on_whole_graph(t_ou │
[rank7]: │   743 │   try:                                                               │
[rank7]: │ ❱ 744 │   │   return Variable._execution_engine.run_backward(  # Calls into  │
[rank7]: │   745 │   │   │   t_outputs, *args, **kwargs                                 │
[rank7]: │   746 │   │   )  # Calls into the C++ engine to run the backward pass        │
[rank7]: │   747 │   finally:                                                           │
[rank7]: │                                                                              │
[rank7]: │ /usr/lib/python3/dist-packages/torch/autograd/function.py:301 in apply       │
[rank7]: │                                                                              │
[rank7]: │   298 │   │   │   │   "of them."                                             │
[rank7]: │   299 │   │   │   )                                                          │
[rank7]: │   300 │   │   user_fn = vjp_fn if vjp_fn is not Function.vjp else backward_f │
[rank7]: │ ❱ 301 │   │   return user_fn(self, *args)                                    │
[rank7]: │   302 │                                                                      │
[rank7]: │   303 │   def apply_jvp(self, *args):                                        │
[rank7]: │   304 │   │   r"""                                                           │
[rank7]: │                                                                              │
[rank7]: │ /usr/lib/python3/dist-packages/torch/cuda/amp/autocast_mode.py:142 in        │
[rank7]: │ decorate_bwd                                                                 │
[rank7]: │                                                                              │
[rank7]: │   139 │   @functools.wraps(bwd)                                              │
[rank7]: │   140 │   def decorate_bwd(*args, **kwargs):                                 │
[rank7]: │   141 │   │   with autocast(enabled=args[0]._fwd_used_autocast, dtype=args[0 │
[rank7]: │ ❱ 142 │   │   │   return bwd(*args, **kwargs)                                │
[rank7]: │   143 │                                                                      │
[rank7]: │   144 │   return decorate_bwd                                                │
[rank7]: │   145                                                                        │
[rank7]: │                                                                              │
[rank7]: │ /usr/lib/python3/dist-packages/megablocks/layers/glu.py:146 in backward      │
[rank7]: │                                                                              │
[rank7]: │   143 │   │   │   │   op=activation_fn, out_shape=ctx.w1_out_shape, out_dtyp │
[rank7]: │   144 │   │                                                                  │
[rank7]: │   145 │   │   # Compute dw2 with recomputed activation_fn output.            │
[rank7]: │ ❱ 146 │   │   dw2 = gg.backend.gmm(                                          │
[rank7]: │   147 │   │   │   activation_fn_out, ddsd_out, batch_sizes, trans_a=True)    │
[rank7]: │   148 │   │                                                                  │
[rank7]: │   149 │   │   # Compute dactivation_fn_out.                                  │
[rank7]: │                                                                              │
[rank7]: │ /usr/lib/python3/dist-packages/grouped_gemm/backend.py:27 in gmm             │
[rank7]: │                                                                              │
[rank7]: │   24 def gmm(a, b, batch_sizes, trans_a=False, trans_b=False, c=None):       │
[rank7]: │   25 │   if c is None:                                                       │
[rank7]: │   26 │   │   c = _allocate_output(a, b, batch_sizes, trans_a, trans_b)       │
[rank7]: │ ❱ 27 │   backend.gmm(a, b, c, batch_sizes, trans_a, trans_b)                 │
[rank7]: │   28 │   return c                                                            │
[rank7]: │   29                                                                         │
[rank7]: │   30                                                                         │
[rank7]: ╰──────────────────────────────────────────────────────────────────────────────╯
[rank7]: IndexError: Dimension out of range (expected to be in range of [-2, 1], but got
[rank7]: 2)

Encountered the following running same model code with env flag set on

That was actually my bug in selecting the cuBLAS fallback, I missed that this #ifdef should have been ... || GROUPED_GEMM_DEVICE_CAPABILITY != 80, just as in a similar ifdef below. The current version of setup.py doesn't actually enable CUTLASS when TORCH_CUDA_ARCH_LIST is set, which I suppose happened in your case.
To sidestep this problem entirely, I pushed a streamlined version in 3be87fb350d7dca487e2688d86eda99ae369a31e that only has two simple modes irrespective of what TORCH_CUDA_ARCH_LIST is set to:

GROUPED_GEMM_CUTLASS=1 pip install . uses CUTLASS for both forward and backward passes
GROUPED_GEMM_CUTLASS=0 pip install . (or just not setting GROUPED_GEMM_CUTLASS) uses cuBLAS for both forward and backward passes

Notice that I changed GROUPED_GEMM_*FULL_*CUTLASS to just GROUPED_GEMM_CUTLASS to simplify things.

@dfyz latest seems slower with cutlass, does this match your benchmarks?
Here is a forward pass with a MoE FFN using GLU with 4 experts per GPU using uniform routing where we see it is ~1.5x slower. Unfortunately, I don't have time to profile any deeper at the moment :(
Baseline:

New Kernel:

@mvpatel2000 I only ran benchmarks on an A100, but the H100 situation is not unexpected. Basically, as I said in the description of the PR, I initially wanted to make the minimal amount of changes to use CUTLASS everywhere. The motivation was not to make the kernels run faster, but to avoid GPU<->CPU synchronization points when training MoE models, which is only possible with CUTLASS (I will introduce these changes in a separate PR). In particular, this meant I didn't pay much attention to kernel performance on H100 when @tgale96 asked me to also enable CUTLASS on SM 9.0.
Since this PR is pretty far from minimal already, I guess that ship has sailed, though. :) So I dug a little further.
Here's a small benchmark I used to roughly estimate the performance of a full MoE training run using Mixtral 8x22B matrix sizes:
import torch
import grouped_gemm as gg

if __name__ == '__main__':
    # Mixtral 8x22B sizes.
    M = 16384
    K = 4096
    N = 14336
    E = 8
    x = torch.rand(M, K, dtype=torch.bfloat16, device='cuda')
    w = torch.rand(E, K, N, dtype=torch.bfloat16, device='cuda')

    x.requires_grad_(True)
    w.requires_grad_(True)

    batch_sizes = torch.tensor([M//E]*E)

    with torch.profiler.profile(activities=[torch.profiler.ProfilerActivity.CUDA]) as prof:
        for _ in range(30):
            out = gg.ops.gmm(x, w, batch_sizes)
            grad = out.sum().backward()

    torch.cuda.synchronize()
    prof.export_chrome_trace(f'gmm_trace.json')

On A100, after I just pushed 223cd55f1a7dfecad250c613da5fb7f795588a34 to get rid of weird hardcoded shapes (as @imoneoi's did in his branch), CUTLASS seems to be on par with cuBLAS.

Time per iteration, ms
Perfetto trace

cuBLAS
23.8
cleaned_a100_cublas_trace.json

CUTLASS, before 223cd55f1a7dfecad250c613da5fb7f795588a34
31.6
cleaned_a100_cutlass_old_trace.json

CUTLASS, after 223cd55f1a7dfecad250c613da5fb7f795588a34
23.9
cleaned_a100_cutlass_new_trace.json

On H100, the performance is indeed much worse (even worse than ~1.5x), and 223cd55f1a7dfecad250c613da5fb7f795588a34 doesn't help much.

Time per iteration, ms
Perfetto trace

cuBLAS
8.5
cleaned_h100_cublas_trace.json

CUTLASS, before 223cd55f1a7dfecad250c613da5fb7f795588a34
15.0
cleaned_h100_cutlass_old_trace.json

CUTLASS, after 223cd55f1a7dfecad250c613da5fb7f795588a34
13.8
cleaned_h100_cutlass_new_trace.json

Apparently, as @imoneoi mentioned, we'd need a CUTLASS GEMM optimized specifically for SM 9.0. The problem is that, according to this table and the official example requires using CUTLASS 3.x API instead of CUTLASS 2.x. This is non-trivial: in addition to changing the code, it requires bumping the CUTLASS version used in third_party.
@tgale96 What do you think of merging this PR as is (i.e., with "naive" H100 support), and then making H100 go brrr in a later PR (I'm willing to do this)? Since using CUTLASS now requires an explicit opt-in, I think this should be safe.
Alternatively, we can drop CUTLASS H100 support for now (keeping the current behavior), and then add H100 properly in a separate PR.

I think its fine to merge this with the ifdef guards - it'll be functional on everything and off by default. Do you mind updating the README to explain the build option?
It's pretty annoying that CUTLASS completely changed the API for H100, but not unexpected :)

And thank you @mvpatel2000 for testing this on H100!

Hi! Sorry for the delay. I think everything looks great except there is some logic being removed from setup.py that I believe we need to support multi-platform builds / builds on platforms where no GPU is present.

And yes, I think you can bump the version in setup.py. Thanks!

I think everything looks great except there is some logic being removed from setup.py that I believe we need to support multi-platform builds / builds on platforms where no GPU is present.

Ah right, sorry. I think it's the other way round, though: in the current iteration of this PR, multi-platforms builds / builds without GPU should work fine, but when a GPU is present and TORCH_CUDA_ARCH_LIST is unset, we build the library for more architectures than needed.
AFAIU, device_capability (set by the code I'd removed), was used for two different things:

Host-side choice between cuBLAS and CUTLASS based on -DGROUPED_GEMM_DEVICE_CAPABILITY=... (and hence on device_capability). We got rid of GROUPED_GEMM_DEVICE_CAPABILITY, so I thought the device_capability-related stuff was also safe to remove.
Selecting the compute capabilities to build for. This is what I missed: when TORCH_CUDA_ARCH_LIST was unset, the device_capability was also used to prune the number of compute capabilities based on the current GPU model (by setting nvcc_flags).

I just restored the old logic (without the -DGROUPED_GEMM_DEVICE_CAPABILITY=... part). Thanks for noticing!

And yes, I think you can bump the version in setup.py.

Bumped to 0.1.5.

Hi Ivan - sorry again for the delay! I just merged the PR. Thanks so much for the new feature! Very excited to play with it.


🐞 Failed run erases the cursor in a terminal

What is the issue?
I ran my CI script dagger run npx tsx ci.mts and it made my block cursor disappear.
Dagger version
dagger v0.11.0 (registry.dagger.io/engine) darwin/arm64
Steps to reproduce
dagger run npx tsx ci.mts with some Docker stuff that fails.
Log output
✘ Container.stderr: String! 47.2s
! failed to compute cache key: write /var/lib/dagger/runc-overlayfs/snapshots/snapshots/36/fs/usr/lib/aarch64-linux-gnu/libx265.so

        date: [ 'Mon, 22 Apr 2024 23:03:22 GMT' ],
        connection: [ 'close' ]
      }
    }
  }
}

Node.js v18.20.2
exit status 1

So I have seen this on zsh on Ubuntu. Also it does something where stdin for future commands doesn't work. For instance if I have a failed dagger run and then I attempt to run a sudo command in the same terminal I can't type in my terminal. Or if a command requests confirmation that doesn't work. I haven't found a way to fix it other then close the terminal and start fresh.

it's easy to reproduce by just not starting Docker on macOS.
The same happens in a bash terminal. Using iTerm or Terminal.
Not only the cursor disappears in this case. But also the newline is messed up. Pressing just enter on the prompt line doesn't create a new line and just keeps adding the prompt again and again.
And there is no text echo, no text shows up when typing or copy pasting anything.
One way to get the cursor back is to open vi and exit.
On zsh everything is back to normal with that.
But on bash it doesn't solve the other 2 issues above.

I have seen this in bash on ubuntu. It seems to only happen when running a task fails due to a bug in the pipeline code.

I also saw this yesterday in bash on ubuntu via a windows client - seems its not specific to OS or shell to me. I updated the title of this issue to make that part a bit more clear.

More info, the PowerShell is not broken.

Running 0.11.6 and I am not seeing the same issues with losing my command line. Maybe this can be closed?

I am still seeing this in some cases, in particular when I am running a command with --debug mode on and it fails, I don't fully understand what causes this


Dependency of input ids into the whole framework

Imagine that your application request two tabs of the same form. The system also has a button that add more tabs as the user will using it.
_tab.php
<?php $form = ActiveForm::begin([
...
]); ?>

            <?= $form->field($model, 'first_name')->textInput(['maxlength' => true]) ?>

<?php ActiveForm::end();?>

Bearing this in mind, because of the following code, it will reproduce an HTML with duplicated ids:
BaseHtml.php
public static function activeInput($type, $model, $attribute, $options = [])
    {
        $name = isset($options['name']) ? $options['name'] : static::getInputName($model, $attribute);
        $value = isset($options['value']) ? $options['value'] : static::getAttributeValue($model, $attribute);
        if (!array_key_exists('id', $options)) {
            $options['id'] = static::getInputId($model, $attribute);
        }
        return static::input($type, $name, $value, $options);
    }

output:
<input type="text" id="personsearch-first_name" class="form-control" name="PersonSearch[first_name]" maxlength="45">

Having a simple input with duplicated id is not the problem, but when you start to work with JS (MaskInput widget, datepicker...) it become a mess and nothing work anymore.
InputWidget.php
public function init()
    {
        if ($this->name === null && !$this->hasModel()) {
            throw new InvalidConfigException("Either 'name', or 'model' and 'attribute' properties must be specified.");
        }
        if (!isset($this->options['id'])) {
            $this->options['id'] = $this->hasModel() ? Html::getInputId($this->model, $this->attribute) : $this->getId();
        }
        parent::init();
    }

Everything on the framework seems to be related to the id. Since the one of the ideas of a framework is to be abstract and let the user free to do anything, it shouldn't be so rigid, right?
I tried to override some classes (ActiveForm, ActiveField, HTML, MaskedInput.....) to treat it on my system, but it started to become a huge solution for a small problem. Besides, it didn't solve the problem and created others: JS validator stop working for e.g.
I guess not, since I checked the core code, but I would like to know if there is a solution to it without change my system logic (I researched here and didn't find for a duplicated issue). If not, I would like to know if someone had the same thought and if the core team is thinking about a solution to it.
Thank you in advance.
Additional info

Q
A

Yii version
2.0.8

PHP version
5.6.21

Operating system
Boot2Docker 1.11.1 (TCL 7.0); HEAD : 7954f54 - Wed Apr 27 16:36:45 UTC 2016

if u set custom id for input - u must configure widget for present custom id

https://github.com/mdmsoft/yii2-widgets/blob/master/TabularWidget.php
Maybe you can get something.

I do not really understand the problem, if you have duplicate automatic ids, why not set them explicitly yourself?

@mdmunir, thank you. I am checking this yet.
@cebe your advice is kind of a "hack" but it work, though.
            <?= $form->field($model, 'postal_code')->widget(MaskedInput::className(), [
                'mask' => 'A#A-#A#',
                'options' => [
                    'id' => 'postal_code-' . $model->person_id . $model->brokerage_id,
                ]
            ]) ?>

I will finish to test @mdmunir one.

I would not call that a hack, this way you have a proper solution with meaningful input IDs...

btw, better separate the Ids, otherwise you will get problems when e.g. personid is 11 and brokerage_id is 1 or vice versa. both will produce id 111 ;)
                    'id' => "postal_code-{$model->person_id}-{$model->brokerage_id}",

Yes, thank you, I reached this error already. LOL
I just said about "hack" because I was expecting the framework to not require the use of id.


No support for parsing 2.0 spec?

From what I can see in the logic, there's no ability to parse specification v2 with the swagger-parser v2 (i.e. latest). Is that correct?
Based on a few other open source projects on GitHub, it seems like folks are writing their own interpreters to fork and then use the swagger-parser v1 and v2 libraries. Hence, taking a dependency on two separate versions of the same library.
Is that the intended approach?

I'm sorry - I didn't see the swagger-parser-v2-converter module - it wasn't included in a pre-built JAR provided to me, but after building myself, I see this as a separate, optional library. I'll give that a go, thanks!


tonic-web: proxy any kind of Service

This allows applying the GrpcWebLayer to any kind of Service, not just ones that tonic generates. This makes it possible to use tonic-web as a grpc-web proxy to a gRPC server implemented in another language for example.
Motivation
See https://github.com/hyperium/tonic/issues/1361
Solution
I made GrpcWebService generic over the request body it receives and the body that the upstream service responds. It's mostly a lot of search and replace with a couple of changes in how we convert the body to conform to the right interface.
I've also added a test that proxies to a gRPC service over a hyper::Client to show it's generic over any kind of Service.
Closes https://github.com/hyperium/tonic/issues/1361

@LucioFranco thanks for the quick review, I'll make the changes tomorrow

@LucioFranco Please take another look

I've tried to keep it backwards-compatible by adding default type parameters
I un-exposed the axum IntoResponse trait by making the ResBody of the router a bit more constrained
I addressed some of your comments

@LucioFranco could you take another look at this?

Hi @LucioFranco I'm still interested in landing this, just rebased on master could you take another look?

Since tonic has been upgraded to http v1 this will obviously need a rebase, which I'll do in a new PR :)


[doc] Improve Pulsar Administration Pulsar Statistics

Motivation
Improve the language and the overall descriptive style of the Pulsar Administration Pulsar statistics document (Administration-stats section): http://pulsar.apache.org/docs/en/administration-stats/
Modifications
Adjust the tone, personal pronouns, voice also some typo errors of some sentences in the document.


Fix Flaky testing framework discovery against actual python process tests

The following test with unittest framework often fails on CI both in Azdo as well as in GHA
  1) Unit Tests - unittest - discovery against actual python process
       Re-run failed tests results in the correct number of tests counted:

      AssertionError [ERR_ASSERTION]: This test was written assuming there was 2 tests run that would fail. (iteration 1)
      + expected - actual

      -0
      +2

Example builds:

_https://github.com/microsoft/vscode-python/runs/647842574?check_suite_focus=true_
_https://github.com/microsoft/vscode-python/runs/647709884?check_suite_focus=true_

Another flaky test under the same suite,
  1) Unit Tests - unittest - discovery against actual python process
       Ensure correct test count for running a set of tests multiple times:

      AssertionError [ERR_ASSERTION]: This test was written assuming there was 2 tests run that would fail. (iteration 1)
      + expected - actual

      -0
      +2

Example build:

_https://github.com/microsoft/vscode-python/runs/655005889?check_suite_focus=true_

It maybe the case that the operation itself is flaky (due to use of sockets in unittest framework), and the tests are just reflecting that. If that's the case, these should be fixed by https://github.com/microsoft/vscode-python/issues/10119.
I think also recall seeing this failing with other frameworks - pytest, nose before, but I am not sure as they don't fail anymore, so just focusing on the unittest framework for now.
cc @karthiknadig

@karthiknadig do you have context for this? Does this problem still exist? The links no longer work and if it is talking about our product of python tests the rewrite made most things different so it might not be applicable.

This was bout the old test code. This can be closed.


Support for AWS Elasticsearch using AWS SDK v2

fixes #591
Hey @sysadmind & @SuperQ,
I have added support for AWS-based elasticsearch authentication using AWS SDK v2. I saw other PR opened for the same but I wanted to add support using SDK v2 because it provides enormous benefits related to how we use the authentication. It supports out-of-the-box all type of AWS auth mechanisms like env Variable, shared file or web toke file in K8s.
Could you please review the PR and let me know if anything is not appropriate?
Thanks,
Roshan :)

Hmm, for some reason, circleci is not running.

Hmm, for some reason, circleci is not running.

Hmm, for some reason, circleci is not running.

@SuperQ I am thinking maybe because the base is my fork, not the original one. ?

@SuperQ I found that forked PRs are not considered trusted by default in Circle CI. To make it happen admin needs to perform certain action mentioned in the images. Source of information - https://circleci.com/blog/triggering-trusted-ci-jobs-on-untrusted-forks.
Could you please allow running Circle CI on forked PRs?

@rosspatil build forks has been enabled for this repo since the beginning.

@rosspatil build forks has been enabled for this repo since the beginning.

@SuperQ Now it seems to be running :)

@SuperQ @sysadmind Could you please review this PR again? :)


How to run your program?

Could your provide a pipeline? Thanks.

A three-step is provided.
https://github.com/TeRyZh/Roadside-LiDAR-Vehicle-Detection-and-Tracking-Background-Subtraction/tree/main/programs

Thanks!


Any idea if the /v1/friendships/blocked_reels/ endpoint should still be accessible?

I am trying to implement this to hide people who can check the story I post, as well as viewing permissions of followers.
However the docs on this endpoint are very scarce and I can find barely anything.
There is also this one "friendships/block_friend_reel/{user_id}/" which is allegedly used to hide the story the user posts form a follower id
Has anyone worked with these endpoints before?
Here is my current implementation on user.py:
  def hide_user_story_from_follower(self, user_id: str):
          """
          Hide user story from follower

          Parameters
          ----------
          user_id: str
              User id of an instagram account

          Returns
          -------
          bool
              True if success
          """
          try:
              url = f"friendships/block_friend_reel/{user_id}/"
              results = self.private_request(url)
              return results
          except ClientError as e:
              self.logger.exception(e)
              return None

Solved, had to include the uuid and unsigned=true


Added moving /tmp to vdc for worker nodes

There was some weirdness here with regard to commits.. As soon as this is merged I will remove the branch and rebase my master.


Agent consistently fails to send data with error "sending on a closed channel"

Describe the bug you encountered:
I'm trying out using pyroscope-rs with the pprof-rs backend to profile my MacOS application.  It works very intermittently - I rarely get any data showing up in my local Pyroscope server, and see Failed to send event to listener @ Sender { .. } - sending on a closed channel in the console every 10s.
What did you expect to happen instead?
I expected data to consistently get sent to Pyroscope.
How did you install pyroscope-rs?
Used brew to install the Pyroscope server, and set up pyroscope-rs as suggested in the documentation.

pyroscope-rs version and environment
MacOS 12.3, M1 Pro (aarch64), latest versions of the pyroscope and pyroscope_pprofrs crates, rustc 1.61.

@vorporeal If you are able to provide code to reproduce this issue, that would be a good start. Otherwise, does it output any error message before failing the next round (the agent will send a request every 10s, my guess is something failed in between)?

I had the exact same issue when trying to add pyroscope to a service I wanted to profile.  Unfortunately I did not find a way to minimally reporoduce it.

@purkhusid Can you provide more details? OS, Rust Version, any logs that are output, application/service you are trying to profile, etc...

@vorporeal @purkhusid Closed as can't reproduce. Please re-open if you can provide more information.

I had this issue too. I'm using MacOs M1. I installed using brew install pyroscope and run the server with pyroscope server.
I'm trying to use pyroscope to profile a grpc server that is built with tokio and tonic.
The code is very simple, is common a setup for a grpc server with tonic.
let agent = PyroscopeAgent::builder("http://localhost:4040", "torii")
        .tags([("Host", "Rust")].to_vec())
        .backend(pprof_backend(PprofConfig::new().sample_rate(100).report_thread_id().report_thread_name()))
        .build()?;
    let agent_running = agent.start().unwrap();

    // these signals are used to handle sigterm and sigint to do a graceful shutdown.
    let mut terminal_signals = Signals::new(&[SIGTERM, SIGINT]).unwrap();
    Server::builder()
        .add_service(my_server)
        .serve_with_shutdown(addr, async move {
            select! { _ = terminal_signals.next() => ()}
        })
        .await?;

        // stop pyroscope
    let agent_ready = agent_running.stop().unwrap();
    agent_ready.shutdown();

Running this code I have the warning Failed to send event to listener @ Sender { .. } - sending on a closed channel and my application crashes instantly in sequence.
Any ideas how to use pyroscope to profile a grpc server?


@electron-forge/plugin-compile fails to run due to not being initialized with a dir argument

[x] I have read the contribution documentation for this project.
[x] I agree to follow the code of conduct that this project follows, as appropriate.
[x] I have searched the issue tracker for an issue that matches the one I want to file, without success.

Please describe your issue:
Forge fails to start with start my application with npm start (aka forge start)
Console output when you run electron-forge with the environment variable DEBUG=electron-forge:*. (Instructions on how to do so here). Please include the stack trace if one exists.
nv DEBUG="electron-forge:*" npm start                                                                                1640ms  2018-07-05 05:14:20

><EMAIL_ADDRESS>start /path/to/my/my-app
> electron-forge start

WARNING: DEBUG environment variable detected.  Progress indicators will be sent over electron-forge:lifecycle
  electron-forge:async-ora Process Started: Checking your system +0ms
  electron-forge:check-system checking system, create ~/.skip-forge-system-check to stop doing this +0ms
  electron-forge:async-ora Process Succeeded: Checking your system -- after 502ms +502ms
WARNING: DEBUG environment variable detected.  Progress indicators will be sent over electron-forge:lifecycle
  electron-forge:async-ora Process Started: Locating Application +0ms
  electron-forge:project-resolver searching for project in: /path/to/my/my-app +0ms
  electron-forge:project-resolver electron-forge compatible package.json found in /path/to/my/my-app/package.json +15ms
  electron-forge:async-ora Process Succeeded: Locating Application -- after 17ms +17ms
  electron-forge:async-ora Process Started: Preparing native dependencies +6ms
  electron-forge:async-ora Process Succeeded: Preparing native dependencies -- after 133ms +133ms
  electron-forge:plugins plugin: "electron-compile" has taken control of the start command +0ms

An unhandled rejection has occurred inside Forge:
Cannot read property 'dir' of undefined
TypeError: Cannot read property 'dir' of undefined
    at /path/to/my/my-app/node_modules/@electron-forge/plugin-compile/src/CompilePlugin.ts:23:49
    at Generator.next (<anonymous>)
    at step (/path/to/my/my-app/node_modules/@electron-forge/plugin-compile/dist/CompilePlugin.js:20:221)
    at _next (/path/to/my/my-app/node_modules/@electron-forge/plugin-compile/dist/CompilePlugin.js:20:409)
    at /path/to/my/my-app/node_modules/@electron-forge/plugin-compile/dist/CompilePlugin.js:20:477
    at new Promise (<anonymous>)
    at /path/to/my/my-app/node_modules/@electron-forge/plugin-compile/dist/CompilePlugin.js:20:97
    at startLogic (/path/to/my/my-app/node_modules/@electron-forge/plugin-compile/src/CompilePlugin.ts:22:40)
    at /path/to/my/my-app/node_modules/@electron-forge/core/src/util/plugin-interface.ts:82:20
    at Generator.next (<anonymous>)
    at step (/path/to/my/my-app/node_modules/@electron-forge/core/dist/util/plugin-interface.js:16:221)
    at _next (/path/to/my/my-app/node_modules/@electron-forge/core/dist/util/plugin-interface.js:16:409)
    at /path/to/my/my-app/node_modules/@electron-forge/core/dist/util/plugin-interface.js:16:477
    at new Promise (<anonymous>)
    at /path/to/my/my-app/node_modules/@electron-forge/core/dist/util/plugin-interface.js:16:97
    at PluginInterface.overrideStartLogic (/path/to/my/my-app/node_modules/@electron-forge/core/src/util/plugin-interface.ts:70:48)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>start: `electron-forge start`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output abov

What does your config.forge data in package.json look like?
    "forge": {
      "packagerConfig": {},
      "plugins": [["@electron-forge/plugin-compile"]],
      "makers": [
        {
          "name": "@electron-forge/maker-squirrel",
          "config": {
            "name": "my_app"
          }
        },
        {
          "name": "@electron-forge/maker-zip",
          "platforms": [
            "darwin"
          ]
        },
        {
          "name": "@electron-forge/maker-deb",
          "config": {}
        },
        {
          "name": "@electron-forge/maker-rpm",
          "config": {}
        }
      ]
    }
  },

Please provide either a failing minimal testcase (with a link to the code) or detailed steps to
reproduce your problem. Using electron-forge init is a good starting point, if that is not the
source of your problem.
The minimal test case is init a new forge app, add the plugin and then npm start.

Fixed in df2acc73db434338675b68909edc71a274260352


Error while loadding BPE encoder

While I'm trying to run this, I've got this error: https://prnt.sc/u6338u

Please install fastBPE


Migrate from Xcode project to Swift Package

Hi @a7ex! Thanks for making xcresultparser, I appreciate the effort you put into creating this open-source tool ❤
Summary
I tried to use xcresultparser, but experienced several issues:

The binary attached in the releases tab on GitHub does not work for me, due to code signing issues (I guess it's connected to the certificate used for signing, or lack of notarization).

When I cloned the repository and tried to build the Xcode project, I couldn't do it because code signing configuration was using a team I do not belong to. I had to disable code signing and choose the "Sign to run locally" option.

After Xcode updated Swift Package dependencies, the project failed to compile again. It looks like there were some API changes in XCResultKit library that breaks xcresultparser. I think these can be fixed easily, but I didn't want to change the code at this point, so I just locked the dependencies.

What was done in this PR

[x] Removed Xcode project from the repository
[x] Created Swift Package with xcresultparser executable target
[x] Updated build instructions in README.md

These changes solved all the problems with code signing and simplified the project by removing xcresultparser.xcodeproj. Of course, the project can be still developed with Xcode by opening Package.swift (double click should do the work).
Unresolved issues

The binary attached to GitHub Releases page is still broken. It needs to be updated after building the xcresultparser like described in README.md.

Hello Dariusz,
thanks for your help!
I wasn't aware, that the binary doesn't work. Thanks for letting me know. I did not sign or create profiles at all. But I see now, that it was set to "Automatic", which does all kinds of (most of the time unwanted) trickery and creates profiles on my behalf without me even knowing about it. But this time it didn't, because I didn't sign anything.
This is all the default setup, if you create a "Commandline Tool" from template in Xcode.
If I then "Archive" and "Distribute Content" in Xcode, I can just select "Built Products" and this will export the built binary. That is all. No option for signing.
Then I have moved this binary to a few of our build agents, amongst which brand new ones, and could just use the binary from the command line.
I wonder, that this is diffirent for you. But I suppose this "Automatic" setting for signing is again doing some "black magic" to make things work, which nobody asked for :-)
I will check, if your changes still allow me to create a command line tool, which works standalone. And if so, I will merge your PR.
Thanks again for your help!

Hi @a7ex! Thanks for making xcresultparser, I appreciate the effort you put into creating this open-source tool ❤
Summary
I tried to use xcresultparser, but experienced several issues:

The binary attached in the releases tab on GitHub does not work for me, due to code signing issues (I guess it's connected to the certificate used for signing, or lack of notarization).

When I cloned the repository and tried to build the Xcode project, I couldn't do it because code signing configuration was using a team I do not belong to. I had to disable code signing and choose the "Sign to run locally" option.
After Xcode updated Swift Package dependencies, the project failed to compile again. It looks like there were some API changes in XCResultKit library that breaks xcresultparser. I think these can be fixed easily, but I didn't want to change the code at this point, so I just locked the dependencies.

What was done in this PR

[x]  Removed Xcode project from the repository
[x]  Created Swift Package with xcresultparser executable target
[x]  Updated build instructions in README.md

These changes solved all the problems with code signing and simplified the project by removing xcresultparser.xcodeproj. Of course, the project can be still developed with Xcode by opening Package.swift (double click should do the work).
Unresolved issues

The binary attached to GitHub Releases page is still broken. It needs to be updated after building the xcresultparser like described in README.md.


Question about this.onStreamingCallEnd()

18:12:02 VERB EventStreamManager this.onStreamingCallEnd() this.eventStream.on(cancelled) fired with arguments: {}
18:12:02 VERB EventStreamManager connectPuppetEventToStreamingCall() unconnect() 13 callbacks
18:12:03 SILL Io initWebSocket() ws.on(message): {"name":"jsonrpc","payload":{"id":-9007199254740445,"jsonrpc":"2.0","method":"getHostieGrpcPort"}}
18:12:03 INFO Io on(jsonrpc): [object Object]
18:12:03 VERB Io on(jsonrpc) send({"id":-9007199254740445,"jsonrpc":"2.0","result":8803})
18:12:03 SILL Io send({"name":"jsonrpc","payload":{"id":-9007199254740445,"jsonrpc":"2.0","result":8803}})
18:12:04 SILL Io initWebSocket() ws.on(message): {"name":"sys","payload":"roger"}
18:12:04 VERB PuppetServiceImpl start()
18:12:04 VERB PuppetDonut start()
18:12:04 SILL StateSwitch <PuppetDonut> on() is true
18:12:04 WARN PuppetDonut start() is called on a ON puppet. await ready(on) and return.
18:12:04 VERB StateSwitch <PuppetDonut> ready(on, false)
18:12:04 SILL StateSwitch <PuppetDonut> ready(on, false) resolved.
18:12:04 VERB PuppetServiceImpl event()
18:12:04 VERB EventStreamManager start(stream)
18:12:04 VERB EventStreamManager connectPuppetEventToStreamingCall() for Puppet#0<PuppetDonut>(donut-docker-002)
18:12:04 VERB EventStreamManager connectPuppetEventToStreamingCall() this.puppet.on(friendship) (listenerCount:0) registering...
18:12:04 VERB EventStreamManager connectPuppetEventToStreamingCall() this.puppet.on(login) (listenerCount:0) registering...
18:12:04 VERB EventStreamManager connectPuppetEventToStreamingCall() this.puppet.on(logout) (listenerCount:0) registering...
18:12:04 VERB EventStreamManager connectPuppetEventToStreamingCall() this.puppet.on(message) (listenerCount:0) registering...
18:12:04 VERB EventStreamManager connectPuppetEventToStreamingCall() this.puppet.on(room-invite) (listenerCount:0) registering...
18:12:04 VERB EventStreamManager connectPuppetEventToStreamingCall() this.puppet.on(room-join) (listenerCount:0) registering...
18:12:04 VERB EventStreamManager connectPuppetEventToStreamingCall() this.puppet.on(room-leave) (listenerCount:0) registering...
18:12:04 VERB EventStreamManager connectPuppetEventToStreamingCall() this.puppet.on(room-topic) (listenerCount:0) registering...
18:12:04 VERB EventStreamManager connectPuppetEventToStreamingCall() this.puppet.on(scan) (listenerCount:0) registering...
18:12:04 VERB EventStreamManager connectPuppetEventToStreamingCall() this.puppet.on(dong) (listenerCount:0) registering...
18:12:04 VERB EventStreamManager connectPuppetEventToStreamingCall() this.puppet.on(error) (listenerCount:0) registering...
18:12:04 VERB EventStreamManager connectPuppetEventToStreamingCall() this.puppet.on(heartbeat) (listenerCount:0) registering...
18:12:04 VERB EventStreamManager connectPuppetEventToStreamingCall() this.puppet.on(ready) (listenerCount:0) registering...
18:12:04 VERB EventStreamManager connectPuppetEventToStreamingCall() this.puppet.on(reset) (listenerCount:0) registering...
18:12:04 VERB EventStreamManager onStreamingCallEnd(callback)
18:12:04 VERB EventStreamManager start() puppet is logged in, emit a login event for downstream
18:12:04 VERB Puppet selfId()
18:12:04 VERB EventStreamManager grpcEmit(EVENT_TYPE_LOGIN[25], {"contactId":"wxid_8kg1wdu3jvk322"})
18:12:04 VERB EventStreamManager this.onStreamingCallEnd() this.eventStream.on(cancelled) fired with arguments: {}
18:12:04 VERB EventStreamManager connectPuppetEventToStreamingCall() unconnect() 13 callbacks

I do not where emit the cancelled event, and why does it happened?
Could you please provide some advices for it? @huan
Thank you very much.
Other Related Log
18:11:48 INFO Listening on port 44521
18:11:48 INFO Connected to stream blender.
18:11:50 INFO BOT LOGIN: Contact<疫情小助手>login
18:11:50 INFO loginListener 【疫情小助手】login. id: 5ecf8e44ebcc920074db6cf7, wxid: wxid_8kg1wdu3jvk322, weixin: null
18:12:01 INFO BotAction syncContact() contact list from wechaty has 512 contacts
18:12:01 INFO BotAction syncContact() contact list from db has 512 contacts
18:12:01 INFO BotAction syncContact() add contact 0 in total.
18:12:01 INFO BotAction syncContact() update contact 0 in total.
18:12:01 WARN Wechaty self() DEPRECATED. use userSelf() instead.
18:12:02 INFO BotAction syncRoom() room list from wechaty has 22 in total.
18:12:02 INFO BotAction syncRoom() room list from db has 22 in total.
18:12:02 INFO BotAction Processed 10/22 rooms.
18:12:02 INFO BotAction Processed 20/22 rooms.
18:12:02 INFO logoutListener BOT LOGOUT: 疫情小助手 logout
18:12:02 ERR BotAction syncRoom() error happened Error: 2 UNKNOWN: Stream removed
    at Object.exports.createStatusError (/xiaoju-bot/node_modules/grpc/src/common.js:91:15)
    at Object.onReceiveStatus (/xiaoju-bot/node_modules/grpc/src/client_interceptors.js:1209:28)
    at InterceptingListener._callNext (/xiaoju-bot/node_modules/grpc/src/client_interceptors.js:568:42)
    at InterceptingListener.onReceiveStatus (/xiaoju-bot/node_modules/grpc/src/client_interceptors.js:618:8)
    at callback (/xiaoju-bot/node_modules/grpc/src/client_interceptors.js:847:24)
18:12:02 ERR PuppetHostie stop() this.grpcClient.stop() rejection: 2 UNKNOWN: Stream removed
18:12:04 INFO BOT LOGIN: Contact<疫情小助手>login
18:12:04 INFO loginListener 【疫情小助手】login. id: 5ecf8e44ebcc920074db6cf7, wxid: wxid_8kg1wdu3jvk322, weixin: null

If I remember right, the canceled event will be fired when the GRPC connection lost.
It was emitted by the GRPC itself, and we should try again for this case.
Have there any problems with the re-connect /retry/recovery functions of our code?

Thank you for your response very much!
There are some detail info about this issue:
When hostie server side run in docker container, and the docker restart, the method stop() in puppet-hostie will emit logout event, and when it restart, UNKNOWN: Stream removed happened, maybe this problem is due to GRPC connection lost.
How to make hostie re-connect smoothly?

In order to make the hostie re-connect smoothly, I believe that we should close the GRPC connect gracefully when we stop our puppet.
PR will be welcome, and please let me know if there has any issues with the recovery code with the current codebase.


"Brăteasca" is listed in the drop-down menu

Description:
"Brăteasca" is listed in the drop-down menu alongside its corresponding county and commune, according to the law
Precondition:
The website is up an running.

Step 1
Type "Brăteasca" in the search bar.

Expected results
The location is listed in the drop-down menu as "Brăteasca, Argeș (Merișani)".


Added nodejs, go, and php stacks

The only devfile that currently does not work is nodejs-gatsby because of a permission issue.
Error: EACCES: permission denied, mkdir '/.config/gatsby'

I do not know if there is an easy way to change this location so I have created a thread on gatsby. https://github.com/gatsbyjs/gatsby/discussions/32309
If it is possible to change this behavior the devfile should be good to go.

/retest

/tes v4.5-images

FYI, I did format all the stacks with the prettier extension to have a more uniform feel between all the devfiles.

@johnmcollier What's the best way to host these images?
svgs.zip

I'm gonna go ahead and merge.
The CI failure is unrelated to Paul's changes (quarkus' flakiness on OpenShift CI), and the tests on Minikube still passed. Let's get this one in.
Nice work on the stacks @schultzp2020


update feathers-errors package to @feathersjs/errors (#46)

Summary
Fix #46 by replacing the feathers-errors package with the latest version of @feathersjs/errors

Hmm, I see, @feathersjs/errors is not compatible with node version 4.
That makes sense I guess, I'm pretty sure I saw on the feathersjs FAQ that at least node version 6 was required.
Not sure what should be done about that for this project. I probably should fix the pull request to specify node 6 instead of 4, but that doesn't address the bigger issue which is beyond me.
Let me  know if you want me to do anything.

Thank you, will fix once it is merged.


Review script for paper "2023FrASS..1027872U" made with predictor "DataLinkerCondenseDetailsWithTemplate"

Created by Paper Data Linking Bot
Please review the download script and instrument details for the paper.
bibcode: 2023FrASS..1027872U
predictor: DataLinkerCondenseDetailsWithTemplate
ADS link
direct PDF link

The instrument details failed to mention the specific SECCHI detector that was used. This led to the downstream script generation process to incorrectly guess the detector as HI-1 here.


set file permissions on Unix

What's the problem?
fixes #357 Incorrect file permissions for ccache file
What's the solution?
When file is created it will have some default permissions on Unix. Depending on system  configuration that can allow read access to anybody.
Describe the solution here.
There is no standard way how to set Unix permissions on File class - specialty when targeting Framework (not really applicable) or .NET Standard. .NET Core 7.0 introduced method to set permissions (essentially chmod) and this PR tries to use it on Unix via Reflection.
I was wondering where to put it @SteveSyfuhs and I put it to base file class instead of just the ccache. If there are files that should be readable or writable by others that may be the wrong place. The code also tries to create directory if needed and I'm not sure if we should be explicit there is well in case we end up creating it. (that is different from the example in /tmp where we should not touch the permissions)

[ ] Includes unit tests
[ ] Requires manual test

I'm not sure how to construct Unix specific test and how to verify the functionality in portable way. If you have sgesstions please let me know.
What issue is this related to, if any?
#357

I'm happy with this. It's the right spot and nothing else needs specific permissions. The only other writable thing is the configuration, which is generally going to be provided by an admin and also doesn't contain anything sensitive.

Build succeeded but failed a test. Its a flaky test so rerunning. Is probably fine.


Discussion of an Alternative: forge-htmx

This is an library for Django that covers a lot of the same ground as jinja2-fragments: https://www.forgepackages.com/docs/forge-htmx/
Curious what everyone's thoughts are on what we could learn from it.

After a first reading, it seems an interesting project, but I don't see any ideas to port to jinja2-fragments. The features seem to be htmx specific, and while jinja2-fragments was born from the idea of using with htmx, it's not coupled with it. I'll go through it again in a few days and give it more thought, and if anybody has a suggestion/idea, it's very welcome!


Added docs for terms_size, upped the default, and fixed top_count_number

This fixes #73 and #83. terms_size was undocumented and had a ridiculously low default. Also, it overrode top_count_number because the code was shared.

@mlw and @Qmando let's complete the review and push this sucker.


Remove default dict parameters from api

Using dict or list as a default argument generally causes havoc. This PR removes them.

Thanks! Been meaning to fix this well-known  gotcha for a while now.  Much appreciated. Could you please sign off per contributing.rst?

@non-Jedi I've added this signed-off-by line to my commit, is it all that's required?

@pcppcp yep. Thanks again!


Document how to change adapter options

PHP adapter supports options like port, pathMappings and others but it's not clear to me how to configure them. I would need to dig deep into source code to see if that's even possible.

This doesn't directly address your issue (request for documentation) but add
"debug.configurations": [
        {
            "name": "xdebug",
            "type":"php",
            "request": "launch",
            "port": 9000,
            "pathMappings" : (whatever vscode's extension does here)
        }
    ]

inside your project settings file, (make sure this is inside the settings key or it won't work)
related issue: https://github.com/daveleroy/sublime_db/issues/5

more generally, I think there should be a description in the docs for the general process of debugging for people with little knowledge of it (such as myself), or at least some references to external resources.

The readme has been updated a few times now to include more information for each supported adpater


fix broken e2e tests

The e2e test that verified a signature produced with the x509 certificate was broken because the associated Rekor signature was no
longer compliant. Recently Sigstore is more strict about the Signed Certificate Timestamps.
We had to re-sign the policy to ensure the new transparency log is adequate.
On top of that, I've added a new e2e test covering keyless signatures.
The test-data folder has been extended to allow the creation of user certificates that are submitted to a local instance of a Certificate Transparency log. This is really an overkill, but it's was so hard to get it working that I feel sorry about leaving all of that uncommited.

fixes https://github.com/kubewarden/verify-image-signatures/issues/112


UUID With errors

I recently bought a bluetooth adapter like UDUP EP-B3536 and a led strip of the type supported in Lotus Lanterne app. The adapter is regularly seen in my Home Assistant supervisrd on Debian 11, and in fact I added it in the Devices section and service,  but after installing your elkbledom software via Hacs, i tried to add the led strip both like "ElkBLEDOM" sia come "Led-Ble" senza successo. In the first case I get an "Unknown error occurred" after entering the nane and the address in the format BE:89:E0:03:D0:09 because the strip is not automatically detected, in the second it tells me that it hasn't found anything. My UUIDs are as follows:
        "0000110e-0000-1000-8000-00805f9b34fb",
        "0000110a-0000-1000-8000-00805f9b34fb",
        "00001200-0000-1000-8000-00805f9b34fb",
        "0000110b-0000-1000-8000-00805f9b34fb",
        "00001108-0000-1000-8000-00805f9b34fb",
        "0000110c-0000-1000-8000-00805f9b34fb",
        "00001800-0000-1000-8000-00805f9b34fb",
        "00001801-0000-1000-8000-00805f9b34fb",
        "0000180a-0000-1000-8000-00805f9b34fb",
        "00001112-0000-1000-8000-00805f9b34fb"

I took them from the diagnostic file of the Devices and services section, which also shows the correct recognition of the Bluetooth, I attach it below. What am I missing? Where is wrong?
config_entry-bluetooth-aa74d345fb9124bd52c2c667ebbda5f8.txt

Ok, in short, your led strip is not supported, i think "Unknown error occurred" is when integration try to turn on and turn off led strip to test it.
I can create support code for your led strip, but i need some information, you can see information i need in:
https://github.com/dave-code-ruiz/elkbledom/issues/8
https://github.com/dave-code-ruiz/elkbledom/issues/11
More important is to know your commands to turn on, turn off, change color.., in my case i try it with:
sudo gatttool -b be:59:7a:00:08:xx --char-write-req -a 0x0009 -n 7e0004f00001ff00ef # POWER ON
sudo gatttool -b be:59:7a:00:08:xx --char-write-req -a 0x0009 -n 7e000503ff000000ef # RED
sudo gatttool -b be:59:7a:00:08:xx --char-write-req -a 0x0009 -n 7e0005030000ff00ef # BLUE
sudo gatttool -b be:59:7a:00:08:xx --char-write-req -a 0x0009 -n 7e00050300ff0000ef # GREEN
sudo gatttool -b be:59:7a:00:08:xx --char-write-req -a 0x0009 -n 7e0004000000ff00ef # POWER OFF

When you answer me, i need device discover information that show in debug logs:
In configuration.yaml:
logger:
  default: info
  logs:
    custom_components.elkbledom: debug

Thanks for the reply. I added debug and retried your software, below is the log result:
Logger: aiohttp.server
Source: custom_components/elkbledom/elkbledom.py:119
Integration: ElkBLEDOM (documentation, issues)
First occurred: 14:25:21 (1 occurrences)
Last logged: 14:25:21
Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_protocol.py", line 433, in _handle_request
resp = await request_handler(request)
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_app.py", line 504, in _handle
resp = await handler(request)
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_middlewares.py", line 117, in impl
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 67, in security_filter_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 80, in ban_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 235, in auth_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 146, in handle
result = await result
File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 180, in post
return await super().post(request, flow_id)
File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 72, in wrapper
result = await method(view, request, data, *args, **kwargs)
File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 110, in post
result = await self._flow_mgr.async_configure(flow_id, data)
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 271, in async_configure
result = await self._async_handle_step(
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 367, in _async_handle_step
result: FlowResult = await getattr(flow, method)(user_input)
File "/config/custom_components/elkbledom/config_flow.py", line 160, in async_step_manual
return await self.async_step_validate()
File "/config/custom_components/elkbledom/config_flow.py", line 138, in async_step_validate
error = await self.toggle_light()
File "/config/custom_components/elkbledom/config_flow.py", line 172, in toggle_light
self._instance = BLEDOMInstance(self.mac, False, self.hass)
File "/config/custom_components/elkbledom/elkbledom.py", line 119, in init
raise ConfigEntryNotReady(f"Couldn't find a nearby device with address: {address}")
homeassistant.exceptions.ConfigEntryNotReady: Couldn't find a nearby device with address: BE:89:E0:03:D0:09

Before trying the integration, you must be sure that the connection exists, works and is available. The error you get is because it cannot find the Bluetooth device, this may be distance, it is already connected to another device or for other reasons.
you can use gatttool for do testing before use integration:
https://github.com/dave-code-ruiz/elkbledom/#supported-strips

The led strip is about 5 meters within the same room, but i tried to connect with gatttool and i get this error. However, it must be said that even from smartphones pairing is not done, however the strip works well with its all "Lotus Lantern"

I also tried with "gatttool -t random -b BE:89:E0:03:D0:09 -I", but it doesn't change anything, but sometimes it also gives me the error: "Software caused connection abort (103)"

If you received "connection refused" meaning the led strip not accept you conection probably there are other conection active.
My integration connect and lost conection in some seconds for keep free conection.
It is possible too you used wrong Mac Address
Sorry i cannt help you, you need to investigate that first

it can help you:
You can scan BT device with BTScan.py in my repository exec: sudo python3 BTScan.py

ok, close the issue, when you discover problem and need it , i reopen it


TAJO-1514: Distinguish UNION and UNION ALL

This patch distinguishes UNION and UNION ALL, and implements UNION as UNION ALL + GROUP BY
UNION logical node with distinct flag is written as
Projection + Group by + Table Subquery + Union
It also fix test queries wrongly use union like union all
'mvn clean install' passed in my laptop

Unfortunately, I have enough time to review this patch. I'm sorry. I roughly looked over your approach. It looks nice to me.

Thank you for the comment, @hyunsik !
I always appreciate your devoted effort on our community,
so please don't feel sorry about that :)

rebased.

Hi @sirpkt,
Thank you for your work. I'm going to continue this work. I'm sorry for late review.

Even through it has very trivial conflict against the latest master branch, I can easily merge it to the latest master branch. The patch looks great to me. Here is my +1. I'll commit it shortly after I fix some trivial conflict. Thank you for your contribution.

+1 LGTM!