Plugins version in the UI is not matching the actual versions

Describe the bug
I have noticed that the plugins' versions in the UI do not match the versions coming from their package.json .
See screenshot:

To Reproduce
Steps to reproduce the bug:

Go to Settings > Plugins
Notice all the shipped plugins versions there
Match these versions against the ones in the package.json files (filter by them in the Network tab of devtools) -> Sometimes the versions do not match

Environment (please provide info about your environment):

Installation type: Linux/Mac/Windows
Headlamp Version: 0.26.0

Additional Context
Reproduced in different platforms and the non-match is not consistent (i.e. it's the wrong version but not the same number across my machines)

Same for in-cluster installation, inside pod there is version 2.4.0 for prometheus in /headlamp/static-plugins/prometheus/package.json, but in UI it's 0.1.0.

Same for in-cluster installation, inside pod (v0.26.0) there is version 2.4.0 for prometheus in /headlamp/static-plugins/prometheus/package.json, but in UI it's 0.1.0.

Strange thing.
After celaring cookies plugin version become 0.2.0, but stil empty settings screen fot it, BUT in private mode plugin version shows as 0.2.4 and settings page work.

Reopening for exploring the reason behind storing plugins' package.json, see my comment at: https://github.com/headlamp-k8s/headlamp/pull/2578#issuecomment-2491732968


Merge estimated/observed labels

Proposed change

While reviewing https://github.com/vacanza/python-holidays/pull/1615 I noticed cases with the extra brackets "(estimated) (observed)" and Observed/observed label text inconsistency.
This PR is aimed to address the first problem.
The second problem fix is on the way.
Type of change

[ ] New country/market holidays support (thank you!)
[ ] Supported country/market holidays update (calendar discrepancy fix, localization)
[x] Existing code/documentation/test/process quality improvement (best practice, cleanup, refactoring, optimization)
[ ] Dependency update (version deprecation/upgrade)
[ ] Bugfix (non-breaking change which fixes an issue)
[ ] Breaking change (a code change causing existing functionality to break)
[ ] New feature (new python-holidays functionality in general)

Checklist

[x] I've followed the contributing guidelines
[x] I've run make pre-commit, it didn't generate any changes
[x] I've run make test, all tests passed locally

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
We've detected an issue with your CI configuration that might affect the accuracy of this pull request's coverage report.
To ensure accuracy in future PRs, please see these guidelines.
A quick fix for this PR: rebase it; your next report should be accurate.

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
10255

Relevant Lines:
10255

💛  - Coveralls


[FLINK-7764] [kafka] Enable the operator settings for FlinkKafkaProducer010

What is the purpose of the change
This PR fixes the operator setting (name, uid, parallelism, etc.) problem of  FlinkKafkaProducer010.
Brief change log

Override all the DataStreamSink public methods in FlinkKafkaProducer010.FlinkKafkaProducer010Configuration

Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (no)

Documentation

Does this pull request introduce a new feature? (no)

cc @aljoscha and @pnowojski
I think there is some work for Flink 1.4 to make the Kafka 0.10 sink a regular sink function, so that the code that constructs the sink transformation is not needed any more.
This change would be relevant to 1.3.3 though.

We actually still need to do this because we cannot remove the writeToKafkaWithTimestamps() methods without breaking compatibility. (They are marked as deprecated, though).
@xccui For the release-1.3 branch the fix has to be slightly modified. Are you also up for fixing that?

Thanks for the review @StephanEwen and @aljoscha. I'd like to fix this thoroughly. However, I don't have much experience working on other branches. Shall I checkout the release-1.3 branch and edit it directly?

@xccui Yes, you would check out the release-1.3 branch, do your fix there and then create a PR against the release-1.3 branch.

Hi @aljoscha, I've created another PR #4819 for the release-1.3 branch.

Hi @aljoscha, I wonder if you could take a look at this PR (as well as #4819) when you are convenient. Thanks!

Thanks, @xccui! 😃
I merged this, could you please close the PR?

Thanks!


⚠ Bofrost.de has degraded performance

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

HTTP code: 200
Response time: 1681 ms

Resolved: Bofrost.de performance has improved in c9009f2.


Refactoring code to improve testability

Addressing issue #19.
@rafinskipg, please DO NOT MERGE yet. I still have a few more tests to go.
To run the tests use: npm test.
To run the coverage report use: npm run coverage (name sure you install istanbul globally with npm install -g istanbul)
As of right now this is the coverage report.
=============================== Coverage summary ===============================
Statements   : 95.38% ( 227/238 )
Branches     : 85.48% ( 53/62 )
Functions    : 92.68% ( 38/41 )
Lines        : 95.38% ( 227/238 )
================================================================================

Will more commits with the remaining tests soon. I'll advise when I'm done so you can revise and merge.

Sorry about that last Travis failure. I was missing the commit with the sinon and sinon-chai deps.

Hi @JohnnyEstilles The pull request looks good, :+1:  Thank you for your effort! This will add a lot of value to the project.
Right now the build is failing, i can pull the code tonight and see what's happening.
You deserve a medal, sir!

Just realized that the tests for git_changelog.js were polluting the following tests. I just fixed the issue. :-)
Just a few more tests to go.

No medal yet. I'm not done. LOL

Coverage now at ...
=============================== Coverage summary ===============================
Statements   : 96.64% ( 230/238 )
Branches     : 93.55% ( 58/62 )
Functions    : 90.24% ( 37/41 )
Lines        : 96.64% ( 230/238 )
================================================================================

We will probably not achieve 100% coverage, but we will be close. :-)

can we merge it? :santa:

Patience "kemosabe"! I'm not done yet. :-)

Found bug that caused this failure (see #21). Will include fix in this PR.

@rafinskipg ... the PR is now stable. It can be merged. There are still some tests I want to add, but I can submit a separate PR for that.

thats awesome
merging


Button of Toast not working on Android devices

Issue Description
Versions:
node: v13.12.0,
npm: 6.14.4,
react-native: ~0.61.4,
react: ~16.9.0,
native-base version: 2.13.8,
expo version: "~36.0.0",
xcode version: Version 11.4,
android studio: 3.6.1,
Actual behaviour
The button of toast, not working and don't close toast on Android devices. On iOS devices, it's working normally.
My code is:

TOAST COMPONENT

import SafeArea from 'react-native-safe-area';
import { Keyboard } from 'react-native';
import { Toast } from 'native-base';

export const toastMessageHelper = (
  message = 'Ocorreu um erro.',
  duration = 10000,
  type = 'danger',
) => {
  Keyboard.dismiss();

  SafeArea.getSafeAreaInsetsForRootView().then(
    ({ safeAreaInsets: { bottom } }) => {
      setTimeout(() => {
        Toast.show({
          duration,
          type,
          text: message,
          buttonText: 'Continuar',
          style: {
            position: 'absolute',
            left: 0,
            right: 0,
            borderRadius: 0,
            bottom: -1 * bottom,
            padding: 20,
          },
          textStyle: {
            fontFamily: 'montserrat-light',
            fontSize: 15,
            padding: 0,
            paddingRight: 20,
            color: 'white',
          },
          buttonTextStyle: {
            fontFamily: 'montserrat-bold',
            color: 'white',
            paddingLeft: 0,
            paddingRight: 0,
            margin: 0,
          },
          buttonStyle: {
            padding: 0,
          },
        });
      }, 500);
    },
  );
};

How I call my component to consumpition:

import React, { FunctionComponent } from 'react';
import {
  ViewProps,
  StyleSheet,
  TouchableOpacity,
  TextStyle,
} from 'react-native';

import { View, Text } from 'native-base';

import { toastMessageHelper } from '@common/hooks/use-toast-message';
import { gbToFixed } from '@common/math';
import { normalizeFontSize } from '@common/font';
import { Gigacoin } from '@atoms/gigacoin';
import theme from '@themes/common';

export type CurrencyComponent = FunctionComponent<{
  value: number;
  textStyle?: TextStyle;
  size?: number;
  style?: ViewProps['style'];
  iconColor?: string;
}>;

export const Currency: CurrencyComponent = React.memo(
  ({
    size = 65,
    value = '0',
    textStyle = {},
    iconColor = theme.brandDanger,
  }) => {
    return (
      <View style={styles.container}>
        <Text
          style={[
            styles.textStyle,
            { fontSize: normalizeFontSize(size) },
            textStyle,
          ]}>
          {gbToFixed(value)}
        </Text>
        <TouchableOpacity
          style={styles.buttonIcon}
          onPress={() =>
            toastMessageHelper(
              'Esse é um toast de teste',
              5000,
              'info',
            )
          }>
          <Icon width={size} height={size} fill={iconColor} />
        </TouchableOpacity>
      </View>
    );
  },
);

Does anyone know what may be happening? Is anyone else having this problem with Android devices?
Tks !

I added the below code onto my react-native app screen. I copy and pasted this right from the Native base sink UI repo code. This does not work.
              <Button                 onPress={() =>                   Toast.show({                     text: 'Wrong password!',                     buttonText: 'Okay',                   })                 }>                 <Text>Toast</Text>               </Button>
This the error I get:

TypeError: undefined is not an object (evaluating 'this.toastInstance._root')

@RenanNeitzel Check this out https://github.com/GeekyAnts/NativeBase/issues/2173#issuecomment-459377940. It worked for me.

The problem was that my toast was in position absolute. On Android devices, this breaks its positioning, losing the button's touchable. I fixed it by placing a rule so that when an Android device, the position return undefined.
Tks!


Compile Error

Problem Description
Execute the command as follows:
git clone https://github.com/MystenLabs/sui.git
cd sui
git checkout devnet
cargo build
... ...
error: linking with `cc` failed: exit status: 1
... ...

System Information
OS：Ubuntu 22.04.2 LTS
Compiler: rustc 1.68.2 (9eb3afe9e 2023-03-27)
Supplementary Note
Executing cargo build -r can compile successfully without the above error message

Supplementary Note
System Information
OS：Ubuntu 22.04.2 LTS
Compiler: rustc 1.68.2 (9eb3afe9e 2023-03-27)
Memory: 64GiB
Processor: 13th Gen Intel® Core™ i9-13900HX × 32
Execute the command as follows:
git clone https://github.com/MystenLabs/sui.git
cd sui
cargo build
... ...
error: linking with `cc` failed: exit status: 1
... ...
= note: collect2: fatal error: ld terminated with signal 9 [Killed]

Solution
Signal 9, SIGKILL, is usually the flag for the system OOM (out of memory) handler to kill your process.
It may be that there is too much debuginfo memory, which makes it impossible to link. This can be avoided by using split-debuginfo, but I don't think this is stable yet on Linux. Another option is to reduce the amount of information, for example in the Cargo.toml configuration file:
[profile.dev]
debug = 1


image with teensy 3.2 / arduino

Hello,
just wanted create again an image object (in a previous project it worked) but now maybe because of the new librarie 5.2?!, I got follow errors, i'm confused:
LV_IMG_DECLARE(picture);
lv_obj_t * img_src = lv_img_create(lv_scr_act(), NULL); /Crate an image object/
lv_img_set_src(img_src, &picture);  /Set the created file as image (a red fl  ower)/
lv_obj_set_pos(img_src, 0, 0);      /Set the positions/
lv_obj_set_drag(img_src, true);
Compiler ERror:
C:\Users\xx\Documents\Arduino\libraries\lvgl\src\picture.c:988:7: error: unknown type name 'lv_img_t'
const lv_img_t picture = {
.......

The structure of the images is changed in v5.2 therefore you need to generate the images again with the image converter tool.

ok. thanks I didn't realize that


Do not use gcc-4.8 in CI builds.

This version of gcc has poor C++11 support, and we are about to introduce changes that require better support.  With these changes we stop using gcc-4.8 on Ubuntu 14.04.  The CI builds document how to update the compiler on that distro.

I tried (1), but describing which versions of the compiler(s) work (gcc > 4.9, Clang > 3.x, MSVC > ..., AppleClang > ...) was getting unwieldy.  So I went with (2).  I created #495 because we do need to document this.


Localized string key improvements

Related Apollo 119

Adds comments for the remaining localized string keys missing "engineer comments" resolving ambiguites highlighted by the translations team.

cc @dg0yal

@njarecha I was trying to re-run xcodebuild -exportLocalizations -sdk <SDK> -localizationPath <PATH> -exportLanguage en to validate the manually updated strings file in this PR but I was again unable to get it to generate. Do you recall the exact command you used to get the generation to succeed?

@njarecha Disregard above, got it to work by using Swift 5.9. It must be an issue with Swift 5.7.
xcodebuild -exportLocalizations -sdk iphoneos17.0 -localizationPath ./Sources/ArcGISToolkit/Resources/en.lproj  -exportLanguage en writes an .xcloc to localizationPath containing a generated strings file.

@njarecha Disregard above, got it to work by using Swift 5.9. It must be an issue with Swift 5.7.
xcodebuild -exportLocalizations -sdk iphoneos17.0 -localizationPath ./Sources/ArcGISToolkit/Resources/en.lproj  -exportLanguage en writes an .xcloc to localizationPath containing a generated strings file.

If you include exportLanguage en then it will export the existing file and won't generate from he source. Try, xcodebuild -exportLocalizations -sdk iphoneos17.0 -localizationPath  /Users/<username>/Desktop/ArcGISToolkit_localizations and compare.

Is it possible to move the "cancel" strings into the Strings.swift extension, like "value" and "field"? There are a lot of these:

Good catch, done. I didn't realize how many "Cancel"s there were.

Thanks @njarecha and @mhdostal!


DataGrid with checkbox causes vertical scrollbar to be shown

Things to check

[X] I have searched the existing issues for this bug
[X] To rule out a caching problem I made sure the bug also happens in an incognito tab

Bug type
Component
Component name
MudDataGrid
What happened?
Scrollbar shown if checkbox in a template column. I've tried tweaking padding and margin with no success.
https://try.mudblazor.com/snippet/QaQRuBcfWQyOUycL
Expected behavior
No scrollbar.
Reproduction link
https://try.mudblazor.com/snippet/QaQRuBcfWQyOUycL
Reproduction steps
See  reproduction link
Relevant log output
No response
Version (bug)
7.8
Version (working)
No response
What browsers are you seeing the problem on?
Chrome
On which operating systems are you experiencing the issue?
Windows
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

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

This appears to only happen when Dense="true"

You can set Dense on the MudCheckBox, so it will fit better on the dense row.

Similar to #3455?
Sorry to bug you again @ralvarezing but do you think this is related to the style refactoring?

@danielchalmers doesn't seem like it.
What I see is padding (on the span) that is not resizing the span tag therfore nither the td tag, but instead its forcing the vertical scroll.

Even with the changes of https://github.com/MudBlazor/MudBlazor/pull/9472 this bug is happening, because the mudicon is inside a span and a label also.
@Sinister-Dexter do you know when was this introduced? Or maybe is something that was there before 7.X.X?

There's a style being applied to the checkbox which adds a negative margin, causing an overflow:
With negative margin:
.mud-table-cell .mud-checkbox {
    margin: -12px;
}

Without that style applied:


[operator] Scaling up number of apiserver pods will result in pods being assigned to the same node

If we apply the default ControlPlane object, we will launch one apiserver pod and Karpenter will launch one control plane node for this pod. If we scale up the number of replicas in the apiserver deployment from one to three, the two new apiserver pods will be launched on the existing node rather than being assigned their own nodes. Note that creating the ControlPlane object initially with three replicas would result in three nodes being launched.
Reproduction:

Create a default ControlPlane object which defaults to one apiserver replica:

$ cat <<EOF | kubectl apply -f -
apiVersion: kit.k8s.sh/v1alpha1
kind: ControlPlane
metadata:
  name: ${GUEST_CLUSTER_NAME} # Desired Cluster name
spec: {}
EOF

Edit the object and increase number of apiserver replicas from one to three:

$ kubectl get controlplane example -o yaml
apiVersion: kit.k8s.sh/v1alpha1
kind: ControlPlane
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"kit.k8s.sh/v1alpha1","kind":"ControlPlane","metadata":{"annotations":{},"name":"example","namespace":"default"},"spec":{}}
  creationTimestamp: "2022-01-28T21:38:40Z"
  finalizers:
  - kit.k8s.sh/control-plane
  generation: 2
  name: example
  namespace: default
  resourceVersion: "925126"
  uid: 98474866-0d03-443d-a501-bff16a7f8a9b
spec:
  etcd:
    replicas: 3
  kubernetesVersion: "1.19"
  master:
    apiServer:
      replicas: 3
status:
...

Check placement of apiserver pods:

$ kubectl describe node ip-192-168-191-222.us-west-2.compute.internal
...
Non-terminated Pods:          (8 in total)
  Namespace                   Name                                  CPU Requests  CPU Limits  Memory Requests  Memory Limits  Age
  ---------                   ----                                  ------------  ----------  ---------------  -------------  ---
  default                     example-apiserver-7f588874d9-6qjtq    1 (1%)        0 (0%)      0 (0%)           0 (0%)         25s
  default                     example-apiserver-7f588874d9-7ldgm    1 (1%)        0 (0%)      0 (0%)           0 (0%)         2m3s
  default                     example-apiserver-7f588874d9-j7l7d    1 (1%)        0 (0%)      0 (0%)           0 (0%)         25s
  default                     example-authenticator-wsvxp           0 (0%)        0 (0%)      0 (0%)           0 (0%)         119s
  default                     example-controller-manager-hqrck      1 (1%)        0 (0%)      0 (0%)           0 (0%)         119s
  default                     example-scheduler-5vf8g               1 (1%)        0 (0%)      0 (0%)           0 (0%)         119s
  kube-system                 aws-node-7h2kr                        25m (0%)      0 (0%)      0 (0%)           0 (0%)         77s
  kube-system                 kube-proxy-qwwvb                      100m (0%)     0 (0%)      0 (0%)           0 (0%)         77s

When we only have 1 apiserver pod, Karpenter launches a single node so our topology.kubernetes.io/zone has 1 node and kubernetes.io/hostname has 1 node. With our configured PodTopologySpread, we allow a maxSkew of 1, meaning we allow any 2 zones to differ in their number of apiserver pods by 1 and we allow any 2 nodes to differ in their number of apiserver pods by 1. As a result, the maxSkew of 1 is satisfied when we create 2 additional apiserver pods and they're both assigned to the existing node.
When we create the CP object with 3 replicas initially, Karpenter will launch three nodes and at that point the scheduler has to distribute the pods among the 3 nodes to respect the maxSkew of 1. To get our desired behavior when scaling up from to 3, we'd need the 2 additional nodes to already exist in the cluster which isn't possible because we'd launch the 2 nodes if the pods were stuck pending.
We need pod anti-affinity to ensure that the the pods aren't scheduled together when there's one node since this isn't guaranteed by the PodTopologySpread. Karpenter does not support pod anti-affinity so if we configure it for apiserver pods, Karpenter will not launch nodes for those pending pods. See: https://github.com/aws/karpenter/pull/695#discussion_r715817587
Options:

wait until there's pod anti-affinity support for Karpenter
don't support changing number of replicas after CP object creation
delete the existing nodes which host the apiservers when scaling up the number of replicas (either by directly deleting the node object or waiting for Karpenter to do it after scaling the deployment to zero). Note that this would make the KIT cluster lose all apiservers temporarily

This is the exact edge case with topology that convinced me to support antiaffinity in Karpenter.

Ideally we'd want to replace this topology spread in the apiserver deployment spec:
      topologySpreadConstraints:
      - labelSelector:
          matchLabels:
            kit.k8s.sh/app: example-apiserver
        maxSkew: 1
        topologyKey: topology.kubernetes.io/zone
        whenUnsatisfiable: DoNotSchedule
      - labelSelector:
          matchLabels:
            kit.k8s.sh/app: example-apiserver
        maxSkew: 1
        topologyKey: kubernetes.io/hostname
        whenUnsatisfiable: DoNotSchedule

With this anti-affinity:
      affinity:
        podAntiAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
          - labelSelector:
              matchExpressions:
              - key: kit.k8s.sh/app
                operator: In
                values:
                - example-apiserver
            topologyKey: topology.kubernetes.io/zone
          - labelSelector:
              matchExpressions:
              - key: kit.k8s.sh/app
                operator: In
                values:
                - example-apiserver
            topologyKey: topology.kubernetes.io/hostname

And we'd keep the existing nodeSelectors:

      nodeSelector:
        kit.k8s.sh/app: example-apiserver
        kit.k8s.sh/control-plane-name: example
        node.kubernetes.io/instance-type: m5.16xlarge

This is the exact edge case with topology that convinced me to support antiaffinity in Karpenter.

@ellistarn Is this already merged/available in latest release?

Built Karpenter from this PR to add pod anti-affinity support: https://github.com/aws/karpenter/pull/1221
Used this anti-affinity spec in the apiserver deployment:
    spec:
      affinity:
        podAntiAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
          - labelSelector:
              matchExpressions:
              - key: kit.k8s.sh/app
                operator: In
                values:
                - example-apiserver
            topologyKey: kubernetes.io/hostname


could not load the audio file

i tried to upload files as .wav and .mp3 both in standalone and daw shows this, please help~~

Hi,
Are you on Mac or Windows? And on which version?
Could you also send me a file for which it did not work?
Thanks

it's windows and v0.1.0
.mp3 and .wac file attachment is not supported :( can i get your email address?
much appreciated!

win 10

I am using Win10 and it worked with flac file! Thank you

发件人: Damien Ronssin @.>
发送时间: 2023年11月9日 15:12
收件人: DamRsn/NeuralNote @.>
抄送: noodlehaha666 @.>; Author @.>
主题: Re: [DamRsn/NeuralNote] could not load the audio file (Issue #87)
Hi,
Are you on Mac or Windows? And on which version?
Could you also send me a file for which it did not work?
Thanks
―
Reply to this email directly, view it on GitHubhttps://github.com/DamRsn/NeuralNote/issues/87#issuecomment-1804763353, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A7ZFFSGKLII3ZZZT7UPGZTTYDVIMLAVCNFSM6AAAAAA7E7DDUGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMBUG43DGMZVGM.
You are receiving this because you authored the thread.Message ID: @.***>

I encountered the same problem and solved it. The key point is that there cannot be special characters in the file name. You may also need to confirm that there are no special characters in the file path. Maybe it will help:)

appreciate your help!
Miaoyan Huang
On 14 Jan 2024, at 17:55, revar @.***> wrote:

I encountered the same problem and solved it. The key point is that there cannot be special characters in the file name. You may also need to confirm that there are no special characters in the file path. Maybe it will help:)
—
Reply to this email directly, view it on GitHubhttps://github.com/DamRsn/NeuralNote/issues/87#issuecomment-1890903342, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A7ZFFSGSBBBGCUQL5O6ALDLYOOTQ3AVCNFSM6AAAAAA7E7DDUGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOJQHEYDGMZUGI.
You are receiving this because you authored the thread.Message ID: @.***>


Enforce Network Byte Order on Extended CCSDS Header

The extended header (APID Qualifiers) needs to be read/written in network byte order.

Imported from trac issue 300.  Created by jhageman on 2019-05-30T16:16:45, last modified: 2019-07-03T12:58:32

Trac comment by jhageman on 2019-06-10 14:41:48:
Pending documentation/standard definition by Jonathan.
Needs precise definition the extended and secondary header formats, and what the cFS Framework needs to implement.

Trac comment by jhageman on 2019-07-03 12:58:32:
Moved unfinished 6.7.0 tickets to next release

@jwilmot pending your input.  Could add as requirements to facilitate getting them resolved.

@jwilmot still pending your input.

Actually looked into this and the APID qualifiers ARE implemented in network byte order across all systems for cFS.  So duplicate/already done somewhere.


Sharing options for FB and TW are not adding the map title/description

If you share this map through the public page:
https://team.cartodb.com/u/iriberri/viz/3b4345b2-11c3-11e5-bfcc-0e9d821ea90d/public_map
You get:

The title and description is being set correctly for Facebook. For Twitter there's no data.
If you share it from the embed:
https://team.cartodb.com/u/iriberri/viz/3b4345b2-11c3-11e5-bfcc-0e9d821ea90d/embed_map

http://www.facebook.com/sharer.php?u=https%3A%2F%2Fteam.cartodb.com%2Fu%2Firiberri%2Fviz%2F3b4345b2-11c3-11e5-bfcc-0e9d821ea90d%2Fembed_map&text=undefined:

https://twitter.com/share?url=https%3A%2F%2Fteam.cartodb.com%2Fu%2Firiberri%2Fviz%2F3b4345b2-11c3-11e5-bfcc-0e9d821ea90d%2Fembed_map&text=%23map
Old information seems to be being added in the Facebook option, but besides this the description is not being added. In Twitter no data is added.
It seems that Twitter title and description is not being set correctly, and the Facebook description is also not being updated. I understand that the behaviour in the public page comes from the CartoDB/CartoDB code and the embed behaviour from [here] (https://github.com/CartoDB/cartodb.js/blob/master/src/vis/overlays.js#L237) in CartoDB.js

5683196

There has been no activity on this issue for several months and that's why are closing it (automatically). If you think this still needs to be addressed please reopen it. The good news is that we are now working on the next version of CARTO.js, stay tuned.


Anyone have an example of setting up stemming, stopwords, etc?

I'm new to ES and this gem, and would really appreciate if someone could give me an example of how to setup stemming and stopwords.
Thanks

You have to use elasticsearch language analyzers or declare your own analyzer in the settings.
Have a look here: https://www.elastic.co/guide/en/elasticsearch/reference/1.5/analysis-lang-analyzer.html
To use custom settings, do the following in your model:
settings index: { analysis: { filter: { ... }, analyzer { my_custom_analyzer: { ... }}}} do
    mapping do
        indexes :name, analyzer: :custom_analyzer
    end
end

Thanks @khcr
I must be doing something wrong. Neither the stemming nor the stopwords are working. Here is what I have:
    settings index: {
      number_of_shards: 1, number_of_replicas: 0, analysis: {
        analyzer: {
          keyword: {
            tokenizer: "standard",
            filter: ["lowercase", "asciifolding", "english_stopwords", "english_stemmer"]
          }
        },
        filter: {
          english_stopwords: {
            type: "stop",
            stopwords: "_english_"
          },
          english_stemmer: {
            type: "stemmer",
            language: "light_english"
          }
        }
      }
    } do
      mapping do
        indexes :name, type: "multi_field" do
          indexes :name, analyzer: "keyword"
        end
        indexes :categories, type: "multi_field" do
          indexes :categories, analyzer: "keyword"
        end
        indexes :feature_values, type: "multi_field" do
          indexes :feature_values, analyzer: "keyword"
        end
        indexes :description, type: "multi_field" do
          indexes :description, analyzer: "keyword"
        end
      end
    end

Also, here is my query.. does this look right to you?
        search_params[:query][:filtered][:query] = {
          bool: {
            should: [
              {
                multi_match: {
                  query: query,
                  type: "cross_fields",
                  fields: ["name^10", "feature_values^5", "categories^2", "description"],
                  operator: "and"
                }
              }
            ]
          }
        }

The setting seems right.

In your mapping, you use a multi_field type. This is only useful if you want to have two indexes on the same field. Simply do indexes :name, type: :string, analyzer: :keyword
See there: https://www.elastic.co/guide/en/elasticsearch/reference/0.90/mapping-multi-field-type.html
If you're including associations (maybe categories ?), be sure to do customize the as_indexed_json method.

Ok, thanks. It seems my problem was that I didn't properly create my index. I was just importing my products without first creating the index each time I made changes.
I'm now using:
Product.__elasticsearch__.create_index! force: true
Is that right? Do I need to use force: true each time?

@npearson72 For a general question like this one, you might get answers sooner at https://discuss.elastic.co.
Regarding your last comment, yes, the best/simplest way how to update the index mapping is just to re-create it and re-import the data (if the amount allows for that).
I think you should check the example Rails application, so you study the techniques and patterns a little bit, in real code. See https://github.com/elastic/elasticsearch-rails/tree/master/elasticsearch-rails#rails-application-templates

@karmi Thanks for the resource. I'm new to ES and this really helps. Sorry for adding noise to the issues. Great gem!

@npearson72 No worries. It's fine to use Github issues for questions, but a really generic ES ones are better handled by the discussion board / mailing list or IRC.


Raise Exception on precheck failures

This introduces a custom RuntimeError Exception that is raised if
something goes wrong during the prechecks or migration.
Addtionally we make sure to use a non-zero exit code if any of the
prechecks fail. And it case of batch processings we stop the batch
now after finding errors in a database.

rebased and added unittest


Reduce bundle size

solves #5
This reduces the bundle size from ~1.2MB to ~530KB. This is done partially by externalizing dependencies, but also a lot of bytes are saved by preventing duplicated imports of big libraries.

i just tried it out locally and it works perfectly - might be that we need to make postcss a dev dep again when we implement
https://github.com/remcohaszing/monaco-tailwindcss/issues/6 or not - but i remembered that i needed to stub stuff in post css when building https://github.com/mhsdesign/jit-browser-tailwindcss

nice cleanup will try this out locally again ;)

Just tested manually. esbuild-demo works too.


docs: fix typo

What/Why/How?
mulitple ->
multiple
Reference
Testing
Screenshots (optional)
Check yourself

[ ] Code is linted
[ ] Tested with redoc/reference-docs/workflows
[ ] All new/updated code is covered with tests

Security

[ ] Security impact of change has been considered
[ ] Code follows company security practices and guidelines

Thanks @abetomo!


Changed amountOwedChanged back to observer.

Fixes #1440.
Changes proposed in this pull request:
This PR reverts the change to amountOwedChanged from 4b313ef. It had been changed from an observer to a computed property, but the property is never accessed anywhere so it doesn't get updated correctly.
cc @HospitalRun/core-maintainers

Let me know if you don't like the "Calculate totals" test, it is my attempt to test the calculated fields logic on the edit invoice page, but not sure it's in line with the style of other tests in the project. Also takes like 10 seconds to run.


Encoding functions

@aplavin had a good idea for Makie to support functions that map each row to its plot value. In Vizagrams I think it would be something like

Plot(
  data=df,
  encodings=(;
    x=(;value = row ->  log(row.a)),
    y=(;value = row -> row.b^2),
    color=(;value = row -> row.c),
  ),
)

To be ambitious it could even take the text for the axis label from an Accessors.jl optic expression.
using Accessors

# `@o f(_.a)` is just Accessors.jl syntax for a a callable like `row -> f(row.a)`.

Plot(
  data=df,
  encodings=(;
    x=(;value=@o log(_.a)),
    y=(;value=@o _.b^2),
    color=(;value=@o _.c),
  ),
)

I think the package already cover this:
df = StructArray(x = 10*rand(10),y=rand(10))
plt = plot(
    df,
    x=(field=:x,scale=x->log(x)),
    y=(field=:y,scale=y->y^2)
)

Would this be the same thing you have in mind?

I guess one could write:
df = StructArray(a = rand(5), b=rand(5))
plot(
    x= map(row->row.a^2 + row.b^2, df),
    y= map(row->log(row.a),df)
)

Although, I do see the appeal of reducing this clutter. I think I can add this functionality in the quick plot.
Just to be clear, in Vizagrams the Plot struct contains a PlotSpec, which is the "formal" specification of how to map the dataset to visual variables. The way one maps the data to the visual variable if formally done via a scaling function, and (in theory) it should not mix distinct columns. We can "bypass" this formalism by instead assuming that the dataset is being transformed before specifying the plot.
Perhaps you noticed that one can create a plot using either Plot or plot. At the moment, plot is a function designed to create plots quickly, without having to give the full specification (hence why it lacks the encodings field).
I think I can add your idea to the plot function, so that what it will do is apply the transformations to the dataset, creating new columns and then doing the specification.

Does PlotSpec need to have a field=, or can it take the raw value so that x=(;scale=log) is supported on data=rand(10)?

Yes, the field is necessary. PlotSpec is modeled after Vega-Lite specification, which is based on the Grammar of Graphics, which is a theory about how to properly specify visualizations. This rigidity comes to "guarantee" that the produced visualization is "correct". Yet, in practice, we usually know the underlying context, and want to avoid this strict formalism.
This is why I have the plot function. It allows users to quickly create plots without properly specifying them. Hence, you can just write:
plot(x=rand(10), y=rand(10))

And this will work. But what is happening is that, under the hood, I'm creating a StructArray with columns x and y. Then, I create the full specification. To solve your issue, I'd go about with the same strategy. First apply the functions, create new columns, and then specify the plot correctly (using field and all the rest).


Add new Column Config option: isHidden (to be included in grid but not displayed by default)

Hi,
I think it might be interesting to add a new Column Config option: isHidden (note that this is different from 'Exclude').
The idea is to have the column available to be displayed, but not visible by default.
I'll try to implement this myself, I have a lot to learn though :)

Thanks for your suggestion, makes sense.
This is interesting because the column property from the grid XML influences the initial settings for the JS Display dropdowns.
If you want to continue, let me know please if you have specific questions regarding the implementation.
Should you run out of time or motivation though, no problem :)
I or someone else can pick up the issue.

Thanks for your suggestion, makes sense.
This is interesting because the column property from the grid XML influences the initial settings for the JS Display dropdowns.
If you want to continue, let me know please if you have specific questions regarding the implementation.
Should you run out of time or motivation though, no problem :)
I or someone else can pick up the issue.

I think I can do it myself :) (I've already added and retrieved the isHidden column definition). But in terms of frontend, the logic seems to be trickier:

At this moment we have a session variable where we only store the columns that are 'hidden'
We cannot extend directly that feature because it might incur in some incoherence: we need to be consistent when saving each column visibility status and correctly store what the user has selected as visible/not visible

I'll work on this :)

I think I can do it myself :) (I've already added and retrieved the isHidden column definition). But in terms of frontend, the logic seems to be trickier:

At this moment we have a session variable where we only store the columns that are 'hidden'
We cannot extend directly that feature because it might incur in some incoherence: we need to be consistent when saving each column visibility status and correctly store what the user has selected as visible/not visible

I'll work on this :)

I would like to write up a few bullet points (in this thread) how I would go about adding a new column option when I have time this afternoon.
Regarding the frontend state in JS, currently the array with hidden columns is initialized as an empty array. I guess adding the column keys where isHidden="true" there when the array is initialized (that is, when it is not already set in the session storage) would take care of it.

I would like to write up a few bullet points (in this thread) how I would go about adding a new column option when I have time this afternoon.
Regarding the frontend state in JS, currently the array with hidden columns is initialized as an empty array. I guess adding the column keys where isHidden="true" there when the array is initialized (that is, when it is not already set in the session storage) would take care of it.

@paugnu I'm writing this down even though you probably already figured all or most of it out on your own.
I'm doing this so I have a place where it is in writing, to point myself and others to in future.
That said, here are the steps I would take to add a new column property:

The first thing I'd do is I'd add the property to a test in the class \Hyva\Admin\Test\Unit\Model\Config\GridXmlToArrayConverterTest (maybe extend the methods getColumnsXml and getColumnsExpected.
Once that causes the test to fail, I would then add the required code to make the test pass to \Hyva\Admin\Model\Config\GridXmlToArrayConverter.
The next step is to add the new attribute to Hyva/Admin/etc/hyva-grid.xsd.
Now the new attribute can be specified and will be included in the column configuration.
The next step is to add the property to the \Hyva\Admin\ViewModel\HyvaGrid\ColumnDefinitionInterface and \Hyva\Admin\ViewModel\HyvaGrid\ColumnDefinition.
This the serialization via toArray also needs to include the new property for proper column definition merging.
There are a number of tests that probably will need to be adjusted for the new column.
Now the new column property can be used in the template, e.g. in the getHiddenCols method where the array is initialized when there is no value in the session storage.

@paugnu I'm writing this down even though you probably already figured all or most of it out on your own.
I'm doing this so I have a place where it is in writing, to point myself and others to in future.
That said, here are the steps I would take to add a new column property:

The first thing I'd do is I'd add the property to a test in the class \Hyva\Admin\Test\Unit\Model\Config\GridXmlToArrayConverterTest (maybe extend the methods getColumnsXml and getColumnsExpected.
Once that causes the test to fail, I would then add the required code to make the test pass to \Hyva\Admin\Model\Config\GridXmlToArrayConverter.
The next step is to add the new attribute to Hyva/Admin/etc/hyva-grid.xsd.
Now the new attribute can be specified and will be included in the column configuration.
The next step is to add the property to the \Hyva\Admin\ViewModel\HyvaGrid\ColumnDefinitionInterface and \Hyva\Admin\ViewModel\HyvaGrid\ColumnDefinition.
This the serialization via toArray also needs to include the new property for proper column definition merging.
There are a number of tests that probably will need to be adjusted for the new column.
Now the new column property can be used in the template, e.g. in the getHiddenCols method where the array is initialized when there is no value in the session storage.

While looking over the code to write the above steps, I noticed the ColumnDefinition::$isVisible property already exists.
It indicates if a column should be rendered or not, based on whether it is excluded or not included in the grid columns definition.
This in unfortunate, because adding a property with the name isHidden will lead to a lot of confusion.
It would seem that the properties isVisible and isHidden are related and always should be the inverse of each other.
In fact both properties don't have any relation.
With the benefit of hindsight, the isVisible property should have been called isRendered or something along those lines, but now it is already how it is, and breaking changes are not an option for me.
For that reason, isHidden will have to get a more specific name. Naming things is hard :)
So, here are the goals of the name:

descriptive of it's purpose
clearly distinct from isVisible

First ideas:

isInitiallyHidden
This would indicate that the value might change, implied by the word initially
isHiddenByJs
This would indicate that it is distinct from the isVisible property because it includes the reference to JavaScript.
As a developer, this might lead me to the conclusion that isVisible then does not involve JavaScript as it is lacking the
ByJs in the name.

Of those two I like isInitiallyHidden better, because it's less clunky than the ByJs one, but all in all I don't think either is very good. I would love it if you or someone else come up with a better name for the new property.

While looking over the code to write the above steps, I noticed the ColumnDefinition::$isVisible property already exists.
It indicates if a column should be rendered or not, based on whether it is excluded or not included in the grid columns definition.
This in unfortunate, because adding a property with the name isHidden will lead to a lot of confusion.
It would seem that the properties isVisible and isHidden are related and always should be the inverse of each other.
In fact both properties don't have any relation.
With the benefit of hindsight, the isVisible property should have been called isRendered or something along those lines, but now it is already how it is, and breaking changes are not an option for me.
For that reason, isHidden will have to get a more specific name. Naming things is hard :)
So, here are the goals of the name:

descriptive of it's purpose
clearly distinct from isVisible

First ideas:

isInitiallyHidden
This would indicate that the value might change, implied by the word initially
isHiddenByJs
This would indicate that it is distinct from the isVisible property because it includes the reference to JavaScript.
As a developer, this might lead me to the conclusion that isVisible then does not involve JavaScript as it is lacking the
ByJs in the name.

Of those two I like isInitiallyHidden better, because it's less clunky than the ByJs one, but all in all I don't think either is very good. I would love it if you or someone else come up with a better name for the new property.

I would like to write up a few bullet points (in this thread) how I would go about adding a new column option when I have time this afternoon.

OK, I see you've already done it! while I was answering :). I agree on your concerns about 'isVisible'. Actually, before opening the issue I did some checks on his to be sure this Column Definition was what I was actually defining.
From my point of view, as a dev, 'isInitiallyHidden' defines clearly what we I would like to achieve.

Regarding the frontend state in JS, currently the array with hidden columns is initialized as an empty array. I guess adding the column keys where isHidden="true" there when the array is initialized (that is, when it is not already set in the session storage) would take care of it.

It makes sense. I'll implement it and check of the possible cases to be sure it works fine :)

I would like to write up a few bullet points (in this thread) how I would go about adding a new column option when I have time this afternoon.

OK, I see you've already done it! while I was answering :). I agree on your concerns about 'isVisible'. Actually, before opening the issue I did some checks on his to be sure this Column Definition was what I was actually defining.
From my point of view, as a dev, 'isInitiallyHidden' defines clearly what we I would like to achieve.

Regarding the frontend state in JS, currently the array with hidden columns is initialized as an empty array. I guess adding the column keys where isHidden="true" there when the array is initialized (that is, when it is not already set in the session storage) would take care of it.

It makes sense. I'll implement it and check of the possible cases to be sure it works fine :)

Released in 1.0.8

Released in 1.0.8


ica.plot_sources X axis

Hi,
I wanted to use ica.plot_sources on raw data for a specific time period, so I used the start/stop option to specify it. But whatever the start option I precise, the X scale always begins with 0. Is it just the scaling display that is wrong or is it really the data shown? Additionally, it would be nice to add the legend (to be sure that it's time in seconds). Maybe it would be easier if the start/stop options in the function were directly time in seconds (and not indices).
Thanks,
L.

certainly something for @jaeilepp :)

So is the idea that start and stop should crop the data? The start and stop parameters are for selecting the time window to plot and are there basically for legacy reasons, because now it's possible to change the time window at runtime.

Well, I'm not saying that they should (or not) crop the data, but that the X-scales legend is not in accordance with the actually displayed data window. I just want to see in the legend, for instance, 20s to 40s if I selected the start/stop indices corresponding to my data at 20s/40s. I hope I'm clear. (for the moment, the X scale legend will display something like 0 to 20)

Wait... Are you using the old version? In the current development branch the plot_sources is completely remade and looks something like this:

Ahh, it looks like I'm using the old one (mne 0.9.0) with one plot per component. And it looks like the new one looks great! So just don't take into account my previous comments, sorry!
When will the new version be released?

I don't know the release schedule, but the instructions for getting the latest development version can be found here: http://martinos.org/mne/stable/getting_started.html.

Last conversation I remember we talked about a September release.

+1 for september.

Ok, thanks!


Implementation of runtime/build time compilation to Jetty handler code

The idea is from here: https://github.com/noboomu/proteus
Proteus rewrites your controller methods into high performance Undertow response handlers at run time.
The same thing should be possible to be implemented for Jetty handlers.
What?
Basically the project is translating the JAX-RS annotated methods to Java code when the application is started. There is an example project: https://github.com/noboomu/proteus-example/
Why?
On of the committers of this project (dropwizard) has a blog were he explored the performance impact of Jersey. And it was significant. The post is here: https://nbsoftsolutions.com/blog/turning-dropwizard-performance-up-to-eleven
Drawbacks?
No dynamic endpoint creation. Probably problems with the DI (dependency injection) framework integrations. Probably a lot of other things that I can't point out currently.

Interesting idea. Not sure it is a priority for maintainers to dedicate time to such a major task, but if a contributor came with a working version it's something that I'd consider (if only at the start, under an experimental flag)

On of the committers of this project (dropwizard) has a blog were he explored the performance impact of Jersey. And it was significant. The post is here: https://nbsoftsolutions.com/blog/turning-dropwizard-performance-up-to-eleven

Hello, yes, author here. The caveat to the approach demonstrated is that one would need to benchmark adding back in some of the facets I disabled (like logging). Not sure how big the win would be otherwise. 😄


Update list.md

According to https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice the start parameter of splice function is resettled to array.length if it greater than it ...

Thank you for the point made, but I don't think changing anything on docs to TODO is a good idea.

What I did mean was that the workaround doesn't work.. it will not change
the length of the array...
On Sun, Feb 16, 2020, 2:26 PM Natalia Tepluhina<EMAIL_ADDRESS>wrote:

Thank you for the point made, but I don't think changing anything on docs
to TODO is a good idea.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/vuejs/vuejs.org/pull/2480?email_source=notifications&email_token=AHMXI6LREVXXL6QNIYUP4LDRDEWHFA5CNFSM4KV7SUU2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEL4FOEY#issuecomment-586700563,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHMXI6P7AQF5AFLCGA2DZMDRDEWHFANCNFSM4KV7SUUQ
.


GPIO 0 (zero) not recognised any more after update

Hello,
After the last update, I got an error that GPIO 0 not been recognised any more and I should use the numbers between 1 to 40.
It was already working before update.
In your configuration you advised using the list of sensor IO ports (Raspberry Pi BCM mode pin numbers) which zero one of them.

I followed your instruction
Here is the part of log specific for the error
Other than what I mentioned before it says apply a number between 1 to 39 there is no zero.
2024-07-02 10:19:57.408 ERROR (MainThread) [homeassistant.config] Invalid config for 'switch' from integration 'gpiod' at configuration.yaml, line 97: value must be one of [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39] for dictionary value 'switches->4->port', got 0, please check the docs at https://github.com/jdeneef/ha_gpiod

right, I get it, not the gpio device but the swith port. I possibly limited it too much, fixed it, port is now validated against  cv.positive_int again, which is sufficient for 0. Fix pushed.

Yes, it is working again
Thanks, and keep up the good work

thanx for sharing, closing


Focus- and screen reader-friendly tooltips

This PR addresses #8111 & #8112.
I've used the approach described in mentioned issues. I had to add logic for checking if the layer we're working with is a single Layer (one Marker, Polygon, etc.) or a LayerGroup (e.g., a group of Markers).
Changes include:

The layer a tooltip is bound to now has an aria-describedby attribute
Every tooltip has an id to accommodate the change above
Tooltips are open when acquiring focus and close on blur

Here is a before/after demo on a debug/map/tooltip.html with Voice Over narration visible:
Before

After

Will need others to review the logic, but this looks really good IMO, @alekzvik!

Hi all. Is there a way to prevent this behaviour?
I have CircleMarkers of which the color changes when clicked on. But now they are getting the black and white outlines?

@MartijnHarmenzon if this change is causing problems for you could you create a new issue with a reproducible case? This makes things easier to keep track of for us.

I have CircleMarkers of which the color changes when clicked on (using the setStyle function). But now they are getting the black and white outlines?

@MartijnHarmenzon The outlines (or other obvious focus styles) are essential for keyboard-only users when navigating features. You can keep the outlines only if the UA determines them "necessary" (pretty much boils down to programmatic focus + keyboard focus) by utilizing :focus-visible like so:
.leaflet-container :focus:not(:focus-visible) {
  outline: 0;
}

Hey @Malvoz,
We have just encountered a similar issue as @MartijnHarmenzon .
We obviously get the accessibility requirements (and it's actually super nice with a keyboard), but it's causing visual boxes on Google Chrome (not Firefox) by using our mouse and no keyboards, which make things look buggy (we get the "box outline" on a click on a polygon without touching the keyboard from my point of view this is UX/UI bug).
I'll try to build a reproducible example in the coming days.

@FloChehab Please create a new issue for discussion.


JOUR-638 Pass initial_referrer in v1/open and v1/event requests

Passing initial referrer to enhance audience rules based on the previous page a user came from.

👍


[flaky test] failure in cri-tools test: Container Mount Propagation

Ⅰ. Issue Description
I found that in the cri-tools, we always met the flaky test
• Failure [1.371 seconds]
[k8s.io] Container Mount Propagation
/home/travis/gopath/src/github.com/kubernetes-sigs/cri-tools/pkg/framework/framework.go:73
  runtime should support mount propagation
  /home/travis/gopath/src/github.com/kubernetes-sigs/cri-tools/pkg/validate/container_linux.go:45
    mount with 'rshared' should support propagation from host to container and vice versa [It]
    /home/travis/gopath/src/github.com/kubernetes-sigs/cri-tools/pkg/validate/container_linux.go:94
    len(output) should not be zero.
    Expected
        <int>: 0
    not to be zero-valued
    /home/travis/gopath/src/github.com/kubernetes-sigs/cri-tools/pkg/validate/container_linux.go:111

Could you help to take a look at this? @Starnop @YaoZengzeng
Ⅱ. Describe what happened
cri-tools fails.
Ⅲ. Describe what you expected to happen
cri-tools passes.
Ⅳ. How to reproduce it (as minimally and precisely as possible)

Ⅴ. Anything else we need to know?
Ⅵ. Environment:

pouch version (use pouch version): master code
OS (e.g. from /etc/os-release): travis-ci
Kernel (e.g. uname -a):
Install tools:
Others:

At present, almost all flaky tests are caused by IO problem , and that's one of the it. :)

I see. Could you file an issue to explicitly show the detailed plan for how to tackle the IO problems in the code base? @Starnop

@fuweid is leading the way, and a roadmap is needed which I'm looking forward to.

Can we close this now? @Starnop @fuweid
I have not seen cri-tools failure for a long time. 😄


fix address gen

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

Project coverage is 89.34%. Comparing base (7ede964) to head (ac81a13).

Additional details and impacted files
@@                    Coverage Diff                     @@
##           backport/address-generate     #406   +/-   ##
==========================================================
  Coverage                      89.34%   89.34%
==========================================================
  Files                              7        7
  Lines                            338      338
  Branches                         110      110
==========================================================
  Hits                             302      302
  Misses                            36       36

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


Error trying to write to chracteristc on 0.6.0+2

The package I am trying to send is 20 bytes long on Android:
/flutter (21603): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: PlatformException(write_characteristic_error, writeCharacteristic failed, null)
E/flutter (21603): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:564:7)
E/flutter (21603): #1      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:316:33)
E/flutter (21603): <asynchronous suspension>
E/flutter (21603): #2      BluetoothCharacteristic.write (package:flutter_blue/src/bluetooth_characteristic.dart:123:10)
E/flutter (21603): <asynchronous suspension>

On iOS the error is a little different:
[VERBOSE-2:ui_dart_state.cc(148)] Unhandled Exception: Exception: Failed to write the characteristic
#0      BluetoothCharacteristic.write.<anonymous closure> (package:flutter_blue/src/bluetooth_characteristic.dart:142:15)
#1      _rootRunUnary (dart:async/zone.dart:1132:38)
#2      _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#3      _FutureListener.handleValue (dart:async/future_impl.dart:126:18)
#4      Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:639:45)

This is my sendPackage method:
_sendPackage(BLEConnectionService service, List<int> package) async {
  if (package.length <= 20) {
    print("Sending small package");
    _characteristic.write(package);
  } else {
    print("Sending chunked package of ${package.length} bytes");

    int chunk = 0;
    int nextRemaining = package.length;
    List<int> toSend;

    while (nextRemaining > 0) {
      toSend = package.sublist(chunk, chunk + min(20, nextRemaining));
      print("Enviando chunk $toSend");
      _characteristic.write(toSend);
      await delay(20);
      nextRemaining -= 20;
      chunk += 20;
    }
  }
}

I am using   flutter_blue: ^0.6.0+2 but the code worked fine with my previous version (which was 0.4.1)
There is any workaround for this?

And where is your code at?

I have the same problem and I am really interested in the solution too!
I do
await bluetoothCharacteristic.write(utf8.encode(command)), withoutResponse: true );
and the error occurs after some writings.
And in this way it is every time
await bluetoothCharacteristic.write(utf8.encode(command)));

And where is your code at?

I've updated the question.

I did a test and I pass 1 or 2 characters to the write command and in my case it does not seem to be the size that causes the error. The bluetooth device returns information during writing, could a collision between messages explain the error?

I did a test and I pass 1 or 2 characters to the write command and in my case it does not seem to be the size that causes the error. The bluetooth device returns information during writing, could a collision between messages explain the error?

I am chunking the packages because our hardware is the limiting part here. He can't hadle packages more than 20 bytes. But doesn't matter how much bytes we send to the hardware, it always gives the error above.
Again, in the version 0.4.1 everything was working fine.
@pauldemarco Could give us some light?

Did you try the write with the withoutResponse : true. In my case it works for some write and it crashes after.

Please make sure to ‘await’ any calls to the plugin, and the outer functions as well.
Example)
‘await  _characteristic.write(X);’
...
‘await sendPackage(service, package);’

In my case I already have await before the write instruction and I still have the error. I notice that in my Characteristic listener I receive the writes that I send and also the returns of the bluetooth device. Is it possible that there is a problem when I send a message and return a message at the same time?

Awaiting with delay is not the same as awaiting the actual function call. Unless you’re referring to different code, which I would ask that you update the post.

After setting "withoutResponse" to false I was able to send packages to the hardware. But, now I am receiving duplicate characteristic updates, like https://github.com/pauldemarco/flutter_blue/issues/317.

I just set "withoutResponse" to true and now I am able to send packages to the hardware.
But, now I am receiving duplicate characteristic updates, like #317.
@pauldemarco The API design got awesome BTW, congratulations! Just need to fx those small issues and it will be AWESOME.

Just be careful with this, when the documentation is still correct in this case, writing without response will NOT guarantee a successful write/send. Which means, you could still drop some packages you are sending out, but you will not notice it, when writing without response.

I just set "withoutResponse" to true and now I am able to send packages to the hardware.
But, now I am receiving duplicate characteristic updates, like #317.

Just be careful with this, when the documentation is still correct in this case, writing without response will NOT guarantee a successful write/send. Which means, you could still drop some packages you are sending out, but you will not notice it, when writing without response.

I understand, but when sending with response, the error mentioned on top happens =(

Here the code to write :
@override
void sendMessageToDevice(String command) async {
if (this.isConnected) {
  await bluetoothCharacteristic.write(utf8.encode(command), withoutResponse: true );
}

}
@override
void calibration() {
sendMessageToDevice("I");
}
If necessary the code to set the characteristics listener :
void _setServiceCharistic() async{
if (device==null) return;

device.discoverServices().then((s) {
  services = s;
  for(var service in services) {
    if (service.uuid == Guid("0000ffe0-0000-1000-8000-00805F9B34FB")) {
      for (var c in service.characteristics) {
        if (c.uuid == Guid("0000ffe1-0000-1000-8000-00805F9B34FB")) {
          bluetoothCharacteristic=c;
          bluetoothCharacteristic.setNotifyValue(true);
          Future.delayed(const Duration(milliseconds: 100), () {});
          inConnectionStatus.add(ConnectionMessage(deviceState: deviceState, macAdresse: device.id.id));

          valueChangedSubscriptions = bluetoothCharacteristic.value.listen((d){
            ...
          });
        }
      }
    }
  }
});

}

@shinayser If it's working without response, that's fine. But if you ever feel the need to write with response, you could still try what paul suggested and guarantee a single write at a time by awaiting the write calls, awaiting the outer function (sendPackage) calls and maybe adding a mutex or something like this.

Currently I send only 1 write at a time to my device, there is no concurrency at this point. The first situation is that everything is fine when the device does not return anything. The second is that when a write is done and a return is expected the error will occur after a few iterations. I suppose there might be a problem when the send comes in at the same time as the receive, but I'm not sure. I see how to block the writes, but how to block the return of the device so that it does not conflict with the writes?

I just set "withoutResponse" to true and now I am able to send packages to the hardware.
But, now I am receiving duplicate characteristic updates, like #317.
@pauldemarco The API design got awesome BTW, congratulations! Just need to fx those small issues and it will be AWESOME.

You're getting duplicate characteristic updates? So on the device side that is broadcasting bluetooth you're getting duplicate writes? To elaborate... your write characteristic is being called multiple times?

The characterist.value is being called twice:
 charac.value.listen((values) {
         //This is getting called twice
});

I did several tests today and I confirm that there is a real problem when a write message is sent along with a message from the bluetooth device.
write ---> crash * <------- BT Device

PlatformException (write_characteristic_error, writeCharacteristic failed, null)

If the write and read messages are sent sequentially there is no problem.
Is there a way around the problem or is there a possible fix for the API?
Another question, is it normal that the bluetoothCharacteristic.value.listen recovers as much the messages coming from the write and the messages coming from bluetooth device? Normally we should not only receive messages from the bluetooth device?

Another question, is it normal that the bluetoothCharacteristic.value.listen recovers as much the messages coming from the write and the messages coming from bluetooth device? Normally we should not only receive messages from the bluetooth device?

See issue #311

I am not able to write even after setting withoutResponse to true.
  write(List<int> data) async {
    BluetoothDevice device = locator<BluetoothConnectionService>().device;
    if (device != null) {
      List<BluetoothService> services = await device.discoverServices();
      print(await services[0].characteristics[1]
          .write([0, 0], withoutResponse: true));
    }
  }

Gives me the same error as mentioned in the first comment.

I've write characteristic error also in the plugin example. Is there a release in witch is it working?

@z8a I had similar issue, can you please make sure if the characteristic you are writing to is not read-only?

@Prathik-Jain I checked writing with an HM-10 device and it worked. Then I changed the type of my device characteristic from 'Write without response' to 'Write' and it's working.

Hi, @z8a , how did you set device characteristics from 'Write without response' to 'Write' on HM-10 ?
I have the same problem with flutter blue 0.7.2 on Android device. On IOS it works fine...

I had similar issues with certain BLE devices but I recently found that the root cause of these issues are just the device latency.
I mean, we should have some delay like await Future.delay(Duration(milliseconds: 100) just before such write calls.
Of course, with certain Android/iOS devices, we don't need them but they don't harm anything.

Thanks but I have already try the delay without success.
I don't what I can do!!! my app is finished and deployed on AppStore, just the write function don't works on Android...

Furthermore, i have a function that writes only data without any exchange before when I click on a button, the pb is the same...

I ended up with a retry loop on the write:
import 'package:quiver/iterables.dart'; // for "partition" function

...

int mtu = await device.mtu.first; // default 20 on Android?

partition(bytes, mtu).forEach((bytes) async {
  log.info('Sending chunk of ${bytes.length}: $bytes');

  var retry = 0;
  do {
    try {
      await characteristicWrite.write(bytes, withoutResponse: true);
      break;
    } on PlatformException {
      await Future.delayed(Duration(milliseconds: 100));
    }
    // 3 retries to have a failsafe and avoid potential infinite loop
    // TODO: Check if we cannot have a 'real/decent' max retry...
  } while (retry < 3);
});

I changed a couple things to get mine to work --

set minSdkVersion to 21 in build.gradle
targetSdkVersion 28
Add

    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>

to debug AND main Android.manifest.xml

Change all forEach statements (run asynchronously which causes overlap) to synchronous for loops. For example:

          List<BluetoothService> services = await r.device.discoverServices();
          print('got services');
          for (int j = 0; j < services.length; j++) {
           }

from
       services.forEach

Change all forEach statements (run asynchronously which causes overlap) to synchronous for loops. For example:

          List<BluetoothService> services = await r.device.discoverServices();
          print('got services');
          for (int j = 0; j < services.length; j++) {
           }

from
       services.forEach

@SethKitchen Changing the forEach statements worked for me. Thank you

writeWithoutResponse on IOS will be ignored, if characteristic doesn't have property BLECharacteristic::PROPERTY_WRITE_NR
here sample warning message:
does not specify the "Write Without Response" property - ignoring response-less write**

So make sure the characteristic has BLECharacteristic::PROPERTY_WRITE_NR to make writeWithoutResponse working on IOS

writeWithoutResponse on IOS will be ignored, if characteristic doesn't have property BLECharacteristic::PROPERTY_WRITE_NR
here sample warning message:
does not specify the "Write Without Response" property - ignoring response-less write**

So make sure the characteristic has BLECharacteristic::PROPERTY_WRITE_NR to make writeWithoutResponse working on IOS

In my situation, I did not cancel the stream subscription( for write value to the device) correctly when disconnecting the device.
so when it auto reconnecting to the device, will occur the error.

Hey any update on this? This plugin works great, but I am also getting write errors sometimes due to which my app misbehaves, I am already using await with write calls also tried with future delay but still it gives me error. I just send 1 write cmd at a time, any help please?

@channel I am stuck here, Anybody found any solution for read and write?
E/flutter ( 2750): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(read_characteristic_error, unknown reason, may occur if readCharacteristic was called before last read finished., null, null)
E/flutter ( 2750): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:653:7)
E/flutter ( 2750): #1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:315:18)
E/flutter ( 2750): <asynchronous suspension>
E/flutter ( 2750): #2      BluetoothCharacteristic.read (package:flutter_blue_plus/src/bluetooth_characteristic.dart:80:5)
E/flutter ( 2750): <asynchronous suspension>
E/flutter ( 2750): #3      DeviceScreen._buildServiceTiles.<anonymous closure>.<anonymous closure>.<anonymous closure> (package:flutter_blue_plus_example/main.dart:201:40)

E/flutter ( 2750): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(write_characteristic_error, writeCharacteristic failed, null, null)
E/flutter ( 2750): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:653:7)
E/flutter ( 2750): #1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:315:18)
E/flutter ( 2750): <asynchronous suspension>
E/flutter ( 2750): #2      BluetoothCharacteristic.write (package:flutter_blue_plus/src/bluetooth_characteristic.dart:117:18)
E/flutter ( 2750): <asynchronous suspension>
E/flutter ( 2750): #3      DeviceScreen._buildServiceTiles.<anonymous closure>.<anonymous closure>.<anonymous closure> (package:flutter_blue_plus_example/main.dart:208:29)

@karansingla007 looks like this packg isn't being maintained anymore u can use this one https://pub.dev/packages/flutter_blue_plus
In my case making a singleton class of ble instance helped.

I have the same problem and I am really interested in the solution too! I do await bluetoothCharacteristic.write(utf8.encode(command)), withoutResponse: true ); and the error occurs after some writings. And in this way it is every time await bluetoothCharacteristic.write(utf8.encode(command)));

Did you. find any solution ?


MHD 4.1.0 Issues page not update to date

In the current publication of the IHE MHD (4.1.0), MHD Home page, there is a Note that says "Significant Changes, Open, and Closed Issues" but it does not appear that this page was updated to reflect the changes between 4.1.0 and the previous version. For example, the canonical URL of the MHD Minimal Metadata Profile changed from http to https . The Closed Issues section only back to MHD 4.0. I was expecting to find updates in the Issues page. Is it possible to update the Issues page? (As an alternative, I checked the MHD GitHub page, there is no way to coordinate between the releases and issues involved in the release.)

Sorry that the issues.html page failed to include sufficient detail. I
really intended to put most things there. I likely would have missed the
https thing, as that was applied to all IHE implementation guides.  You can
get a more detailed delta at the github release pin
https://github.com/IHE/ITI.MHD/releases/tag/v4.1.0
on the releases tag you can also compare to other releases (github compare,
so it is at the source level), this also includes the issues that were
addressed
for example between 4.1.0 and 4.0.2
https://github.com/IHE/ITI.MHD/compare/4.0.2...v4.1.0
John Moehrke 🔥 Architect: Healthcare Informatics Standards -
Interoperability, Privacy, and Security
IHE Co-Chair IT Infrastructure Planning and Technical
HL7 Co-Chair Security WG, FHIR FMG, FHIR facilitator, and FHIR Foundation
founding member
Employee of By Light -- Contractor to VHA MyHealtheVet
@.***  |  M +1<PHONE_NUMBER>  |  @.***
https://healthcaresecprivacy.blogspot.com
On Mon, Aug 1, 2022 at 5:38 PM Sunil Bhaskarla @.***>
wrote:

In the current publication of the IHE MHD (4.1.0), MHD Home page
https://profiles.ihe.net/ITI/MHD/index.html#mhd-home, there is a Note
that says "Significant Changes, Open, and Closed Issues" but it does not
appear that this page was updated to reflect the changes between 4.1.0 and
the previous version. For example, the canonical URL of the MHD Minimal
Metadata Profile changed from http
https://profiles.ihe.net/ITI/MHD/4.0.1/ITI-65.html#23654121-bundle-resources
to https
https://profiles.ihe.net/ITI/MHD/4.1.0/ITI-65.html#23654121-bundle-resources
. The Closed Issues https://profiles.ihe.net/ITI/MHD/4.1.0/a_issues.html
section only back to MHD 4.0. I was expecting to find updates in the Issues
page https://profiles.ihe.net/ITI/MHD/a_issues.html. Is it possible to
update the Issues page? (As an alternative, I checked the MHD GitHub page,
there is no way to coordinate between the releases and issues involved in
the release.)
—
Reply to this email directly, view it on GitHub
https://github.com/IHE/ITI.MHD/issues/152, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHBWC56GNQ3HGV5ZU6QDYOTVXBGXNANCNFSM55JC5QVA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

If "change id to ihe.iti.mhd to match current id format requirement" is in reference to the following "Official URL" in MHD Home, https://profiles.ihe.net/ITI/MHD/ImplementationGuide/ihe.iti.mhd
Then, this URL does not resolve to a working page when it is entered in a Web browser.

the canonical URI of an Implementation Guide is not intended to be the same thing as the home page of the Implementation Guide.


Make channel routing be more like 1.8 URLs

In particular, it should just accept a reference to a dict object, and that should be {"channel": function reference} - no lazy loading of channel consumers.

Going to leave it as just a recommendation for now.


Acceptance tests for config reloading

Reloading configuration parameters should be covered by acceptance tests using the framework introduced in #1914

Duplicate of #1879.


fix(region): qcloud elb https listener create fix

这个 PR 实现什么功能/修复什么问题:

腾讯云创建关联https监听报错fix

是否需要 backport 到之前的 release 分支:

release/3.5
release/3.6
release/3.7

/area region
/cc @zexi @yousong

Codecov Report

Merging #10483 (dea9f77) into master (6be2d4e) will increase coverage by 1.97%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master   #10483       +/-   ##
===========================================
+ Coverage    5.91%    7.88%    +1.97%
===========================================
  Files         866      110      -756
  Lines      134824    13361   -121463
===========================================
- Hits         7972     1054     -6918
+ Misses     126146    12187   -113959
+ Partials      706      120      -586

Flag
Coverage Δ

aFlag
7.88% <ø> (+1.97%)
:arrow_up:

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

Impacted Files
Coverage Δ

pkg/util/cgrouputils/cpuutils.go

pkg/keystone/models/default_admin.go

pkg/compute/models/inter_vpc_network_vpc.go

pkg/compute/models/intervpcnetworkresource.go

pkg/compute/models/storages.go

pkg/keystone/models/syncworker.go

pkg/compute/models/host_recycle.go

pkg/compute/models/scaling_trigger.go

pkg/compute/guestdrivers/google.go

pkg/compute/regiondrivers/managedvirtual.go

... and 745 more

Continue to review full report at Codecov.

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


deb: refine fluentd-apt-source

Drop transitional apt-transport-https package

https support has been moved into the apt package.

Renamed to fluent-apt-source

It also provides transitional fluentd-apt-source package.

Even though modified /etc/apt/sources.list.d/fluentd.sources to v5.
apt upgrade -V
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following package was automatically installed and is no longer required:
   fluentd-apt-source (2023.6.29-1)
Use 'apt autoremove' to remove it.
The following NEW packages will be installed:
   fluent-apt-source (2023.6.29-1)
The following packages will be upgraded:
   fluentd-apt-source (2020.8.25-1 => 2023.6.29-1)
1 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 10.5 kB of archives.
After this operation, 12.3 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://<IP_ADDRESS>/5/debian/bullseye bullseye/contrib amd64 fluentd-apt-source all 2023.6.29-1 [2688 B]
Get:2 http://<IP_ADDRESS>/5/debian/bullseye bullseye/contrib amd64 fluent-apt-source all 2023.6.29-1 [7828 B]
Fetched 10.5 kB in 0s (0 B/s)
debconf: delaying package configuration, since apt-utils is not installed
(Reading database ... 9429 files and directories currently installed.)
Preparing to unpack .../fluentd-apt-source_2023.6.29-1_all.deb ...
Unpacking fluentd-apt-source (2023.6.29-1) over (2020.8.25-1) ...
Selecting previously unselected package fluent-apt-source.
Preparing to unpack .../fluent-apt-source_2023.6.29-1_all.deb ...
Unpacking fluent-apt-source (2023.6.29-1) ...
Setting up fluent-apt-source (2023.6.29-1) ...

Configuration file '/etc/apt/sources.list.d/fluentd.sources'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** fluentd.sources (Y/I/N/O/D/Z) [default=N] ? y
Installing new version of config file /etc/apt/sources.list.d/fluentd.sources ...
Setting up fluentd-apt-source (2023.6.29-1) ...

fluentd-apt-source package can be removed because it is transitional package.
# dpkg -l |grep fluent
ii  fluent-apt-source         2023.6.29-1                  all          GnuPG archive key and APT source of the Fluent Package archive
ii  fluentd-apt-source        2023.6.29-1                  all          Transitional package for fluent-apt-source
root@12b06a1a3f97:/etc/apt/sources.list.d# dpkg -L fluentd-apt-source
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/fluentd-apt-source
/usr/share/doc/fluentd-apt-source/changelog.Debian.gz
/usr/share/doc/fluentd-apt-source/copyright
root@12b06a1a3f97:/etc/apt/sources.list.d# apt purge fluentd-apt-source
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages will be REMOVED:
  fluentd-apt-source*
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 10.2 kB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 9432 files and directories currently installed.)
Removing fluentd-apt-source (2023.6.29-1) ...
(Reading database ... 9429 files and directories currently installed.)
Purging configuration files for fluentd-apt-source (2023.6.29-1) ...

Thanks, I've fixed them.

TODO: try Provides: also works as expected. It should be handled by another PR.

If it removes the transitional package entry and use Provides:, it can't be upgraded even if you point to v5.
Before (transitional):

even though rewriting fluentd.sources, you can upgrade to fluent-apt-source with apt upgrade.
fluentd-apt-source will not be removed, you must manually purge if you  want

Before (no transitional, use provides)

even though rewriting fluentd.sources, you can't upgrade to fluent-apt-source with apt upgrade. (must install manually with apt install -y ...)
fluentd-apt-source will be removed (not purged, so you must purge manually if you want)

As the former behavior is preferred, so stay as is.

Thanks for your check!
Understood!


fix: if axios is not imported as the default, then account for it

#261  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @cjbell and the rest of your teammates on  Graphite


Docker compose is wrong.

The docker-compose.yml is wrong and doesn't even pull the correct docker image for this project. I recommend you post a docker-compose.yml like this.
version: "3.1"
services:
  cabernet:
    container_name: cabernet
    environment:
      - PGID=1000
      - PUID=1000
      - TZ=America/Chicago
    image: ghcr.io/cabernetwork/cabernet:latest
    ports:
      - "5004:5004"    # Port used to stream
      - "6077:6077"    # Web Interface Port
      - "65001:65001"  # HDHomeRun Port
    restart: unless-stopped
    volumes:
      - /home/docker/cabernet:/app/data/

I would recommend you look at using linuxserver ubuntu as the base so you can get the ability to pick the user the docker runs as.

I have not been able to get it to play in docker using plex. the web page works, i get a channel list but it won't stream

updated


Small Fixes, MVP of PrivateComponent

now wrap something with  if you don't want someone who's not logged in to see it — just a POC to start, lots to improve
removed old domains from authenticated users
other small fixes

@victorvalle take a look — there's not everything I outlined in #834 but at least you will stop getting so many requests if/when you merge! 😬
keep #834 open and we can continue improving the component

I will review right now :)

Is there a way we can extract the "private user" check logic to a class where we can make a request from any component and then draw the result?
Otherwise, we will need to replicate this logic everywhere right?

While looking for a better solution I find it quite good and it solves our problem.
My suggestion is to add "DOCUMENTATION" to the right of the lock icon
		<Box {...this.props} sx={{ display: 'inline' }}>
			<Icon name="lock" sx={{ height: '1em', width: '1em' }} /> **DOCUMENTATION**
		</Box>

That's what this component does? It's a wrapper, so anything inside of it won't show unless you're logged in — what the user will see is a lock (right now, but the idea in the issue is more).
We want to avoid adding specific things inside the component (like a "documentation" label) because then it is not reusable.
This is just a draft that works fine enough to stop the requests from coming to you. If you want to wait and merge when I've had time to add more functionality, that's fine too.

Ok! So we will write there whatever is private. That is one valid approach.

Thanks @plhnk !! Good job! :)


Fix nil pointer reference panic in kube_nodes

Fixes #658 and #682

Can one of the admins verify this patch?

cc: @vishh

LGTM thanks for the fix!


Update Response Catalog Messages (EC-3963)

Created out of ticket #6120. Update Response Catalog rows to correct the following issues:
Message contains references to the “Client Tool”, “EPA Host”, “EPA’s Host,” “Download”, “Upload” or “Retrieve” “synchronize” “software” “local/local database” “login, logging in, log into” “op supp”, "CAMD"
Other messages that are ECMPS-specific
Message does not clearly identify the data item with the problem when it results from an import check instead of a screen check. ~2000 to review
Look for messages that appear to not provide enough information to identify what the record is.
List of messages that need to be updated:
response_catalog_202405091226.xlsx
Some of these messages are obsolete and should be deleted.

@annalbrecht could we discuss this ticket further to consider moving it out of Phase 1B to 2025 (Q1 or Q2)?
Questions

What triggers the catalog messages to display?
Do these include check engine messages? Or do these just include client tool message that would still get triggered in ECMPS 2.0?

Blocked by #6370


Use gethostname on Windows

The Windows implementation was using GetComputerName even though
gethostname is available on Windows, so I updated to the latest winapi
instead of winutil.
Also added CI.

This should also fix #3 as it removes the winutil dependency and therefore the loose dependency on winapi in favor of a more strict one.

Thanks.
I found that these changes will cause performance problems:
Before:

After:

So I think there is no need to change. Thanks anyway.

Yah, I didn't run the benchmark, my bad!
I've updated to use GetComputerNameExA instead, so I get

Which is roughly 5 times as expensive as the previous version on my machine, but should be more accurate as the function winutil is calling is capped at 16 characters (including null terminator) while this one can represent the full hostname.

I‘d like to see this change applied; GetComputerName returns the truncated netbios name which is not necessarily the same as the system received from DHCP for DNS.
I’d use ComputerNamePhysicalDnsHostname though because it probably does less DNS calls, and perhaps also GetComputerNameExW instead of *A because DNS can contain Unicode probably.
At least that’s what Python does in socket.gethostname and I believe Python receive a good deal of real world testing here.

@fengcen in that case I wouldn't mind taking over ownership of this crate since I work in rust full time now. :slightly_smiling_face:

@Jake-Shadle I did gethostname.rs meanwhile.

Cool, guess we can just use that instead, thanks!


response header lowercase

set a header with
response.header('Access-Control-Allow-Credentials', 'false')

the header become lowercase access-control-allow-credentials.
Is there any settings about this?
https://github.com/kartikk221/hyper-express/blob/dff6b090de5fa9e1f48148056e4b080cddf527ba/src/components/http/Response.js#L195
why set this?

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers HTTP headers are meant to be case-insensitive hence they are lowercased to prevent incorrect case readings. Why is case-sensitivity important for you in your use case?


Loader not working in Jenkins CI build

I'm trying to integrate Weback into my current project and am having problems with a custom loader I built to create a concat banner and footer around each module's file contents, and to inject the __filenamevalue. Everything works great doing local builds with grunt
https://github.com/optimizely/marketing-website/tree/dfoxpowell/jordan-webpack-try/grunt/webpack
grunt server
//or
grunt build --env=production //production build for uglify/dedupe

Our staging build on Jenkins successfully runs the loader using grunt staging-deploy --branch=$branch --env=production
Our production build uses a Docker container and a deploy.sh script which runs grunt build --env=production. This build for some reason fails to run the loader although grunt build --env=production locally will successfully run the loader and build the assets.
I resorted to hardcoding the loader into the repo and requiring it by path in the make-webpack.config.js in order to debug if this was some sort of installation issue on Jenkins but this didn't help.
https://github.com/optimizely/marketing-website/blob/dfoxpowell/jordan-webpack-try/loaders/inject-filename-loader.js
I know this is most likely a difficult question to answer without access to our Jenkins deploy environment but any info you could offer for help debugging would be extremely helpful.
Also, posted in StackOverflow question here: http://stackoverflow.com/questions/29850802/webpack-loader-not-working-on-jenkins-ci-build
Update
I took this suggestion http://stackoverflow.com/questions/28145397/injecting-variables-into-webpack#29858423 and added
resolveLoader: {
    modulesDirectories: ['loaders', 'node_modules'],
    extensions: ['', '.loader.js', '.js']
}

to my webpack.config and put my loaders directory in the root of my project. Unfortunately, the result is still the same and the loader doesn't run in prod on Jenkins.

@sokra just an update on this issue. Our CI build was installing our project from Git as a node_module through NPM rather than using git clone. Therefore, there was a node_modules directory at the root of the CI build, and the project was being built inside of this directory.
node_modules / <project npm package name> / {node_modules,grunt/webpack/...configs}

Therefore, it seems the loader was being looked for in the wrong node_modules directory, but it is strange that other loaders that I was using such as babel and handlebars were being sourced correctly.
When I used the loader path directly in the loader config
var injectFilenamePath = path.join(process.cwd(), 'grunt/webpack/inject-filename-loader');
console.log('LOADER PATH => ', injectFilenamePath);

var loaders = [
    {
      test: /\.js$/,
      exclude: [
        /node_modules/,
        /bower_components/,
        /libraries/
      ],
      loader: injectFilenamePath + '?' + opts.injectFileNameParams
    },
    { test: /\.hbs$/, loader: 'handlebars-loader' },
    {test: /\.js?$/, exclude: ['bower_components', 'node_modules'], loader: 'babel-loader'}
  ];

the console output was
LOADER PATH =>  /opt/tmp/node_modules/marketing-website/grunt/webpack/inject-filename-loader

and after cloning our repo rather than npm i the path was
/opt/tmp/marketing-website/grunt/webpack/inject-filename-loader

Is this somehow expected behavior?

@dtothefp Did you figure it out? Is this still relevant?


S04 trashtalk

https://github.com/WildCodeSchool/2023-02-JS-Reims-project-2-yokai-quiz/actions/runs/4828576034/jobs/8602591741?pr=21


Add toggle status view menu items

Fixes/Closes
Ref: https://github.com/napari/napari/pull/4826#discussion_r989734035
Description
Adds toggle status to view menu items: Toggle Play, Toggle Fullscreen and Toggle Menubar . These were not added as part of view menu app model migration PR as they did not exist in main and thus decided to be out of scope of that PR
References
Type of change

[ ] Bug-fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Maintenance (changes required to run napari, tests, & CI smoothly)
[ ] Enhancement (non-breaking improvements of an existing feature)
[ ] Documentation (update of docstrings and deprecation information)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How has this been tested?

[ ] example: the test suite for my feature covers cases x, y, and z
[ ] example: all tests pass with my change
[ ] example: I check if my changes works with both PySide and PyQt backends
as there are small differences between the two Qt bindings.

Final checklist:

[ ] My PR is the minimum possible work for the desired functionality
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] If I included new strings, I have used trans. to make them localizable.
For more information see our translations guide.

@DragaDoncila is this ready to go in?

mypy error fixed by #6230

@lucyleeow yep, I've added the ready-to-merge label and will merge in 24 hours!

There is currently a test failing due to _pref_dialog being able to be None in which case _list does not exist. See fix for this here #6216

I very rarely use full screen, so hard for me to say.
But native macOS, the bottom one Enter Fullscreen, doesn't get a check, instead it switches to Exit Fullscreen.
This works in napari too.
But the napari fullscreen doesn't know that happened?
As noted in the other issue, I don't get where that extra native menu item comes from. But it's there, so maybe best to just hide the non-native one on macOS.

so maybe best to just hide the non-native one on macOS.

Good idea, we can do that with 'when', I will open an issue for that to keep track.

Yep, agreed - we should just hide the non native option on Mac. Looks like the test failure here is a timeout

I'll put up a PR for https://github.com/napari/napari/issues/6240, hopefully an easy fix

I'll put up a PR for #6240, hopefully an easy fix

Had me very confused...
╰─ gh pr checkout 6240                                           (napari-dev) ─╯
GraphQL: Could not resolve to a PullRequest with the number of 6240. (repository.pullRequest)

That's no PR, that's an issue!
🤣

Weird 6240 seems the right number for me:


Unable to delete image without caption

I'm running the latest Rhino release and I've noticed that it's no longer possible to delete images from my editor unless the caption is populated.
I think this might be a regression, here's a video of it happening in my app:
https://github.com/KonnorRogers/rhino-editor/assets/5447/96d765bf-01a2-4ec3-b6a8-7c8fc89fa68a
I wouldn't have thought this was due to my configuration, but maybe it is somehow?
Unfortunately I can't reproduce this using the Rhino test Rails app since I can not longer get that running on macOS Sonomo 14.4.1 ([ERROR] Failed to resolve entry for package "rhino-editor". The package may have incorrect main/module/exports specified in its package.json, plus I couldn't run pnpm run setup because it requires ruby 3.0.4 which I can't build... anyway,  not that relevant). I will try and get this working when I have time but for now, I have to move on.

🤔 I setup Rhino Editor and ran through everything and was unable to reproduce this in any browser. Do you have a reproduction I could look at by chance?

That's helpful thanks, must be something local. Let me dig into it a bit more next week and I'll report back.

🫡 you know where to find me if you need anything!

I just spun up a test app which demonstrates the issue:
https://github.com/lylo/rhino-test
This is a standard Rails 7 app using esbuild. The only thing I can think of is that it's a packaging/build issue and some JS isn't being imported correctly, but I can't see where the problem lies. Maybe it's obvious with another pair of eyes!
Here's a video.
https://github.com/KonnorRogers/rhino-editor/assets/5447/664deb77-4df7-4048-90b3-9b8fbe3baaa0

@lylo I'm so confused by this. I checked across all 3 browsers (Chrome / Firefox / Safari), I checked using drag and drop / manually attaching and I still can't reproduce 😭
https://github.com/KonnorRogers/rhino-editor/assets/26425882/742b085e-b95b-42e1-a7f1-4534e6e23456

Thanks for checking @KonnorRogers, this is quite baffling. That looks like my Rails test app, is that correct? (I noticed it's running on port 5000 though, did you change something locally?)
I've tried it on all browsers, with all extensions turned off, private windows and not, and also on my iPhone and I get the same result. I even deployed it to a server so it's not running on my local machine and I see the same issue. The problem seems to be that the focus is always on the caption, it's like all click events are going to the caption unless it's populated. You can't even delete it by using backspace - the cursor hits the caption focus and then all bets are off.

@KonnorRogers I've put it up here https://rhino-test-15c820d37315.herokuapp.com and it consistently shows the problem. I've tried this on my Mac as well as on a Windows PC in all browsers and it exhibits the same problem as it does in dev mode. Are you sure you can't reproduce it, even using this deployed app?

@lylo yes I tested it with your app running the Procfile.dev , let me take a look at your heroku deployment and see what's up

@lylo I must've had a cache version with linking or something. I can reproduce now.

@lylo 0.9.3 should be out! Let me know if it works for ya!