Questions about SAD loss and exist loss

Hi @cardwing
I have two questions when training on my own data.

When training within the warmup-epochs, everything went fine. But when I activate SAD loss, model performance went bad immediately!

The exist loss is quite large during the training phase. The exist loss seems to be around 0.4000.

Can you provide some advice for me? Thanks!

FYI, I am using ERFNet-SAD-Pytorch now

What is the coefficient of your SAD loss? In normal cases, the SAD loss (multiplied by the loss coefficient) should be much smaller than the main task loss. Maybe you can gradually increase the coefficient of the SAD loss during training since the effect of the SAD loss hinges on the quality of the model's attention maps.
If the main task loss is smaller than the lane existence loss, you should assign a small coefficient to the existence loss.

What is the coefficient of your SAD loss? In normal cases, the SAD loss (multiplied by the loss coefficient) should be much smaller than the main task loss. Maybe you can gradually increase the coefficient of the SAD loss during training since the effect of the SAD loss hinges on the quality of the model's attention maps.
If the main task loss is smaller than the lane existence loss, you should assign a small coefficient to the existence loss.

I set sad loss coefficient to 0.1 now, it is more stable.

My main task loss is much smaller than exist loss (0.05 vs 0.40). I will try your advice

Another surprising fact: when I fine-tune on my custom data with your provided pretrained model, SAD seemed to be less useful. Why dose this happen?

Maybe you can retrain your model with the SAD loss instead of finetuning. Besides, you can check if the attention maps of early layers indeed benefit from the guidance of deep layers after using the SAD loss.

My custom dataset only has less than 10k images, so I have to fine-tune instead of training from scratch to avoid over-fitting. As for ERFnet, where is the position of SAD? Maybe I put it in a wrong position

I see. In the normal case, the attention maps of block 2 (layer 7) should learn from these of block 3 (layer 16) and the learning process is similar for block 1 (layer 1) and block 2. Current codes for ERFNet do not contain the SAD part.

I see. In the normal case, the attention maps of block 2 (layer 7) should learn from these of block 3 (layer 16) and the learning process is similar for block 1 (layer 1) and block 2. Current codes for ERFNet do not contain the SAD part.

As I see it, Layer 1 is the first DownsamplerBlock. Layer 7 is the non_bottleneck_1d block before the last DownsamplerBlock. Layer 16 is the last non_bottleneck_1d block before the output_conv. Am I right?

Another fun fact: when I train Deeplabv3 on CULane, its performance is much behind some simpler networks, such as ENet, ERFNet. And when I activate SAD on Deeplab, its performance drops rapidly. What would this happen?

Yes. And this is weird. DeepLabV3 has much more parameters than ENet and it should at least achieve comparable performance with ENet. It seems that DeepLabV3 has not been trained well. The problem may lie in the network architecture or the training stage.

Indeed, ERFNet without SAD can achieve the best performance on my custom dataset, compared with ERFNet-SAD, Deeplabv3 and Deeplabv3-SAD. It is so weird. Maybe it's a kind of overfitting because the amount of my custom data is quite small (about 7000 for training)
Anyway, thanks for your great job and your quick reply!

FYI, I am using ERFNet-SAD-Pytorch now

Hey, could you tell me which repo this is? I'm also trying to use SAD with ERFNet. Did you write your own SAD code?

The PyTorch code does not contain the SAD part. You need to write it by yourself.

@cardwing Could you please clarify or at least point to existing implementation of how the attention masks used for SAD are calculated? I have trouble interpreting the sentence from paper (https://arxiv.org/abs/1908.00821) saying "Following [24], we also perform spatial softmax operation Φ G2sum". If I understand correctly the result of G2sum is of size 1xHxW, so applying spatial (element-wise) softmax would not make any sense, right? Thanks for help!

Spatial softmax is performed on the HxW dimension to normalize the pixel values. Please refer to previous issues for more details.

Hi @cardwing
I have two questions when training on my own data.

When training within the warmup-epochs, everything went fine. But when I activate SAD loss, model performance went bad immediately!
The exist loss is quite large during the training phase. The exist loss seems to be around 0.4000.

Can you provide some advice for me? Thanks!
Hi, @garryz94 ,  I have some questions about SAD-MSEloss , could you help me,please, thanks. My SAD- MSELoss is very big, about 300+.  The MSELoss calculate the loss of attention map and target , and the value in attention map are 0~1 after softmax while values of segmentation label are like 0,1,2,3,4.  if I misunderstand the code ?    Can you provide some advice for me? Thanks!!

Hi @cardwing
I have two questions when training on my own data.

When training within the warmup-epochs, everything went fine. But when I activate SAD loss, model performance went bad immediately!
The exist loss is quite large during the training phase. The exist loss seems to be around 0.4000.

Can you provide some advice for me? Thanks!
Hi, @garryz94 ,  I have some questions about SAD-MSEloss , could you help me,please, thanks. My SAD- MSELoss is very big, about 300+.  The MSELoss calculate the loss of attention map and target , and the value in attention map are 0~1 after softmax while values of segmentation label are like 0,1,2,3,4.  if I misunderstand the code ?    Can you provide some advice for me? Thanks!!

hi @noobliang , I set reduction="mean" when calculate SAD-MSEloss, so the loss is quite small.

FYI, I am using ERFNet-SAD-Pytorch now

Hey, could you tell me which repo this is? I'm also trying to use SAD with ERFNet. Did you write your own SAD code?

@nisha1729 sorry for the late reply. I use this repo https://github.com/cardwing/Codes-for-Lane-Detection/tree/master/ERFNet-CULane-PyTorch and you need to write your own codes to calculate SAD loss.

Hi @cardwing
I have two questions when training on my own data.

When training within the warmup-epochs, everything went fine. But when I activate SAD loss, model performance went bad immediately!
The exist loss is quite large during the training phase. The exist loss seems to be around 0.4000.

Can you provide some advice for me? Thanks!
Hi, @garryz94 ,  I have some questions about SAD-MSEloss , could you help me,please, thanks. My SAD- MSELoss is very big, about 300+.  The MSELoss calculate the loss of attention map and target , and the value in attention map are 0~1 after softmax while values of segmentation label are like 0,1,2,3,4.  if I misunderstand the code ?    Can you provide some advice for me? Thanks!!

hi @noobliang , I set reduction="mean" when calculate SAD-MSEloss, so the loss is quite small.

thank you for your reply and advise. But I found SAD little improvement for accuracy。 Do you have any improvement？I don't know where I went wrong


A ImportError when I run the program "FinGPT_Training_LoRA_with_ChatGLM2_6B_for_Beginners.ipynb"

Hi，
When I try to run "FinGPT_Training_LoRA_with_ChatGLM2_6B_for_Beginners.ipynb" in google colab, I came aross a problem.
The code is
model_name = "THUDM/chatglm2-6b"
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
model = AutoModel.from_pretrained(
model_name,
quantization_config=q_config,
trust_remote_code=True,
device='cuda'
)
and, the error is
ImportError: Using load_in_8bit=True requires Accelerate: pip install accelerate and the latest version of bitsandbytes pip install -i https://test.pypi.org/simple/ bitsandbytes or pip install bitsandbytes`
model = prepare_model_for_int8_training(model, use_gradient_checkpointing=True)
Last, I program the code in Gcolab pro and I am sure both packages is installed.
Please help me solve the problem, thank you so much!

Hi, based on my experience, you can try to reinstall these two packages when this error shows, then restart your kernel to run your code. Hope this works.

Thank you very much! I have already run the code successfully.

The error indicates that the necessary packages for 8-bit training, specifically accelerate and bitsandbytes, are either not installed correctly or not recognized by the environment. Here's how you can troubleshoot and resolve the issue:

Ensure correct installation
Restart the runtime: Sometimes, after installing new packages, you need to restart the runtime for the changes to take effect.
Check for correct version and Load the packages before model definition
sample snippet

# Install the necessary packages
!pip install accelerate
!pip install -i https://test.pypi.org/simple/ bitsandbytes

# Restart runtime after installing the packages (manual step in the Colab interface)

# Import the required libraries
from transformers import AutoTokenizer, AutoModel
from accelerate import Accelerator

# Ensure the runtime is using GPU
import torch
device = 'cuda' if torch.cuda.is_available() else 'cpu'

# Load the model with the necessary configuration
model_name = "THUDM/chatglm2-6b"
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
model = AutoModel.from_pretrained(
    model_name,
    quantization_config=q_config,
    trust_remote_code=True,
    device=device
)

# Prepare model for 8-bit training
from transformers import prepare_model_for_int8_training
model = prepare_model_for_int8_training(model, use_gradient_checkpointing=True)

and also check the gpu settings
hope this will help, let me know the further updates
Thanks


Nested accordions

Is there a way to nest an accordion into another one with v3 ?
Such as :
Primary Accordion

Choice 1
-- Content
Choice 2
-- SubChoice 1
--- Content
-- SubChoice 2
--- Content

Hi @viktorvuka
It is possible, but a bit complicated. You can define a second accordion with your subChoices but you have to change elementClass, triggerClass and panelClass for that accordion.
example:
new Accordion('.accordion-container2', {
    elementClass: 'ac2',
    triggerClass: 'ac2-trigger',
    panelClass: 'ac2-panel',
});

I am currently working on implementing code for a nested accordion so it will be much simpler in the next update :)

@viktorvuka
Nested accordions landed on the prelease branch. You can download the files and check that everything is working properly. You don't need any addiontal configuration, just define another accordion.

@michu2k Thank you ! I will definitely try that soon !

Available on master (v3.1)


Is cropping (using "extract") for GIFs working/supported ?

Question about an existing feature
What are you trying to achieve?
Cropping GIFs images (using extract), resize work fine instead.
I'm using the version 0.32.6.
When you searched for similar issues, what did you find that might be related?
I haven't found anything related to cropping but only resizing.
Please provide a minimal, standalone code sample, without other dependencies, that demonstrates this question
The code runs fine when instead of using a GIF as input I use a JPEG image.
  const sharpImage = sharp(`${resourcesDirectory}/input.gif`, {
    animated: true
  })
  const metadata = await sharpImage.metadata()

  assert(metadata.height !== undefined)
  assert(metadata.width !== undefined)

  await sharpImage.clone()
  .resize(100, 100)
  .toFile(`${resourcesDirectory}/output_resize.${metadata.format}`)

  // it fails with GIFs
  await sharpImage.clone()
    .extract({
      left: 100,
      top: 0,
      width: metadata.width - 100,
      height: metadata.height
    })
    .toFile(`${resourcesDirectory}/output_crop.${metadata.format}`)

The error is
[Error: extract_area: bad extract area]

Please provide sample image(s) that help explain this question
Tested with this GIF: https://upload.wikimedia.org/wikipedia/commons/2/2c/Rotating_earth_(large).gif

Yes, you'll probably want extract the pageHeight (rather than the height, which is all frames combined).
-      height: metadata.height
+      height: metadata.pageHeight

@lovell yes that was it, thanks! :)


Fix the threshold for test_batchnorm_correctness_2d

This PR updates the threshold for test_batchnorm_correctness_2d from 0.1 to 0.11. Due to the value, there have been frequent travis errors recently.

Ok. We could also increase the feature map size so that the mean/std are more stable.


SPFx not loading, error: internalInitialize is missing an expected member

Category

[x] Question
[ ] Typo
[x] Bug
[ ] Additional article idea

SPFX version: 1.7
We are getting this error message on classic page while it's fine on modern page with default layout.
Webparts randomly showing and throwing errors, but mostly throwing this error with following technical details:
Uncaught (in promise) Error: The class for web part WebPart.HelloworldWebPart.external.g_fe8443bc_4fe3_4704_b2f8_9b0f3fcfb514,_internalInitialize is missing an expected member '{1}'
***CALLSTACK:
Uncaught (in promise) Error: The class for web part WebPart.HelloworldWebPart.external.g_fe8443bc_4fe3_4704_b2f8_9b0f3fcfb514,_internalInitialize is missing an expected member '{1}'.
at t [as constructor] (sp-classic-page-assembly_en-au_b115808908a821320028693285305786.js:187)
at new t (sp-classic-page-assembly_en-au_b115808908a821320028693285305786.js:287)
at Function.t.createWithLogProperties (sp-classic-page-assembly_en-au_b115808908a821320028693285305786.js:287)
at e._instantiateWebPart (sp-classic-page-assembly_en-au_b115808908a821320028693285305786.js:287)
at e._initializeWebPart (sp-classic-page-assembly_en-au_b115808908a821320028693285305786.js:287)
at sp-classic-page-assembly_en-au_b115808908a821320028693285305786.js:287
Any idea what's happening here?
Edit: I ran this on workbench/gulp serve and it works fine. Only happened once its deployed.
There are other component on the page like angular and Jquery, which may be causing this issue, but not sure why those will not allow the react to load the application.

Hi @gagan2singh - is the issue reproducing if you remove the custom elements from the page (other component on the page like angular and Jquery)?


fchost: change dht name to testnet

Missing network name change.

Merging since this isn't related to test stuff.


Lost connection properties when reading driver property info

Description
I have a JDBC wrapper relies on a connection property jdbcx.custom.classpath to find suitable driver. It works well in DBeaver. However, I found that all properties for the actual driver lost in Edit Connection -> Driver Properties. I think it's caused by this line. Is there any specific reason of commenting out the line?
Properties driverProps = new Properties();
//driverProps.putAll(connectionInfo.getProperties()); <--- why?
DriverPropertyInfo[] propDescs;
try {
    propDescs = driver.getPropertyInfo(connectionInfo.getUrl(), driverProps);
} catch (Throwable e) {
    log.debug("Cannot obtain driver's properties", e); //$NON-NLS-1$
    return null;
}
if (propDescs == null) {
    return null;
}

DBeaver Version
Community Edition <IP_ADDRESS>307231901
Operating System
macOS Ventura 13.5 (22G74)
Database and driver
It's unrelated to the issue but here you go:

Database name and version: ClickHouse 22.8
Driver name and version: JDBCX 0.2.0 + ClickHouse JDBC Driver 0.4.6

Steps to reproduce

Add JDBCX driver
Create a folder which container ClickHouse JDBC Driver, for example: ~/MyJdbcDrivers
Create a connection using JDBCX, use URL jdbcx:ch:explorer@play.clickhouse.com:443?ssl=true and set connection property jdbcx.custom.classpath to ~/MyJdbcDrivers, no credentials or any other changes are required
Validate the connection - it should work
Edit the connection and switch to driver properties tab, there's no connection properties for ClickHouse but a few for JDBCX(the wrapper)

Additional context
No response

There is no any specific reason why we commented out this line, it was always commented according to the git history. We haven't met a driver which needed it yet, so your case most probably was never working. We will investigate the issue. Thank you.

If I correctly understood it would be nice to find a time to work on this issue in the nearest time as we have a PR that added JDBCX driver https://github.com/dbeaver/dbeaver/pull/20811

Thanks @E1izabeth. I'm also not sure if it's better to use Properties driverProps = new Properties(connectionInfo.getProperties()); instead of cloning the object.

If I correctly understood it would be nice to find a time to work on this issue in the nearest time as we have a PR that added JDBCX driver

Yes. Defining all properties in ~/.jdbcx/config.properties avoids the problem for a single connection. But it does not work for multiple connections with varying preferences, and is cumbersome to configure initially.

Maybe this line broke some drivers, but we don't know exactly. Probably we should add a property to the DBeaver driver settings (driver-property) to specify if we should pass all driver properties or not and turn it off by default.

That's a good idea! This approach allows enabling the feature only for a specific driver without affecting others.


Add support for Read The Docs, Azure Pipelines, Command Line Run via Click, Add use of Linting and Testing via Docker

I was actually intending to merge this change to my fork but if you are interested in my extensions to PRTG going back to this repository then please let me know - happy to discuss any changes you would like to see. I'm also happy just continuing to maintain my fork so I won't be upset if its too much change.

Hey Tim
Sorry I took so long to respond. I was trying to figure out whether I wanted all the additional complexity that comes along with the awesome work you've done to modernize this repo. I think because I don't have much time to maintain this at the moment, I will be fine with adding these changes.
How will it work once I merge the pull request? Would you like to be a maintainer of this repo, or continue your own fork and occasionally merge features?

Thanks for responding @hutchris I am happy to setup an organization, I'll add you as an admin of this organization and we could transfer the repository to the organization that way we can both maintain it as needed. Does this sound like a good idea? The alternative I've sometimes seen done is to grant me access to the repository in your account so I can maintain it there. I think the organization way is nicer, but its totally up to you. I'll set one up as its pretty straight forward and if you aren't happy then its no problem.

I've invited you https://github.com/prtg-dev if you want to accept. Thanks.

Sounds good. Will do some research about how this works


Combine FlowExporter resources initialization in agent.go

Combine initialization of priority queue and connection store
Use setter to to inject the denyConnStore into the networkPolicyController

Fixed: #2829
Signed-off-by: heanlan<EMAIL_ADDRESS>

Codecov Report

Merging #2854 (eae1ae8) into main (f0db744) will decrease coverage by 0.02%.
The diff coverage is 60.00%.

:exclamation: Current head eae1ae8 differs from pull request most recent head e457340. Consider uploading reports for the commit e457340 to get more accurate results

@@            Coverage Diff             @@
##             main    #2854      +/-   ##
==========================================
- Coverage   40.93%   40.90%   -0.03%
==========================================
  Files         158      158
  Lines       19539    19541       +2
==========================================
- Hits         7998     7993       -5
- Misses      10790    10800      +10
+ Partials      751      748       -3

Flag
Coverage Δ

unit-tests
40.90% <60.00%> (-0.03%)
:arrow_down:

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

Impacted Files
Coverage Δ

.../flowexporter/connections/conntrack_connections.go
58.39% <50.00%> (-0.43%)
:arrow_down:

...agent/flowexporter/connections/deny_connections.go
50.00% <66.66%> (-0.77%)
:arrow_down:

...gent/controller/noderoute/node_route_controller.go
44.10% <0.00%> (-1.13%)
:arrow_down:

pkg/agent/openflow/pipeline.go
22.10% <0.00%> (-0.08%)
:arrow_down:

LGTM I was hoping for more changes. Why don't we have a unique initialization function for the connection store and the flow exporter?

Thanks Antonin. denyConnStore cannot be created at the same place with conntrackConnStore and flowExporter. As denyConnStore is required by networkPolicyController, and networkPolicyController is required by flowExporter.
I created a unique function for only conntrackConnStore and flowExporter in the latest commit. If that's not desirable, probably we can still go back with the previous version.

@heanlan No I don't think we want that last commit, we should keep things symmetric
However, I do think we could consider using a setter to do the dependency injection; we don't have to pass everything though the constructor. For example, maybe it would make sense to inject the denyConnStore into the networkPolicyController using a setter. This way you do not need to create the denyConnStore before the networkPolicyController. I'll let @srikartati comment on this as well.

@heanlan No I don't think we want that last commit, we should keep things symmetric However, I do think we could consider using a setter to do the dependency injection; we don't have to pass everything though the constructor. For example, maybe it would make sense to inject the denyConnStore into the networkPolicyController using a setter. This way you do not need to create the denyConnStore before the networkPolicyController. I'll let @srikartati comment on this as well.

Thanks @antoninbas. Looked into the code more closely. Having a setter in the network policy controller is definitely doable. However, it is better to break the initialization of connection stores and the exporter, and their Run functions. Add them separately like other packages. In this way, we can make sure denyConnStore is not nil when the network policy controller in the agent starts running.

this way, we can make sure denyConnStore is not nil when the network policy controller in the agent starts running.

All goroutines are created at the end of the initialization function

All goroutines are created at the end of the initialization function

Yes, Flow Exporter pkg structures are being initialized along with the creation of goroutines right now. I just meant that we can modify and follow the similar style as other packages. Then we will have two groups: initialization of structures along with the setter and goroutines creation.

Thanks Antonin and Srikar. In the latest commit, I have

used setter for setting denyConnStore of networkPolicyController
separate connection stores & flowExporter initialization and go routines creation

To make the separation more consistent, shall I move the initialization of NPLAgent - line 362, agentQuerier, apiServer, packetInReasons - line 405-444 above the creation of all go routines?

Could you please take another look on this PR @antoninbas @srikartati ? Thanks a lot!

squashed the commits

/test-all

@heanlan  @antoninbas @srikartati do we plan to include it in v1.4?

I have resolved the conflicts. It's not urgent to be included in 1.4. But if there's no more comments, I think it's ready to be merged.

/test-all

the test failures will be fixed by #2968

@heanlan should you rebase and run the tests again, now that #2968 has been merged?

/test-all
/test-integration


Remove custom media type for License API

GitHub API Announcement:
https://developer.github.com/changes/2017-11-28-ending-the-license-api-preview/
This issue is a place-holder for work that needs to be done after we have confirmation that Enterprise API customers no longer need the custom media type header, or when the semantic versioning issue (#376) is resolved.

Hey @gmlewis I'd like to take this issue. Can you assign it to me, so I can be notified once the confirmation goes through? Thank you

@gmlewis does this now have the info required to get started, since issue #376 has been closed via PR #772 or are there more things that need to get fleshed out before starting on this?

Yes, @MorrisLaw, this is cleared for take-off. Thank you!

Sorry for the late PR, but it's in now! (: @gmlewis


WIP "Fat" Apps, and more

this is 100% WIP at the time, pushed to get go mod to work in AWS.
WIP description:

Changes
"FAT" apps
Added support for apps that can be deployed on several platforms.

BREAKING Replaced Manifest.AppType with App.DeploymentType ./apps/deploy*.go.
BREAKING Added separate, optional deployment type-specific fields to Manifest: HTTP, AWSLambda, Kubeless, and Plugin.

Builtin App
Replaced the use of plugin commands and Interactive dialogs with a builtin app, see ./server/builtin.
Other

eliminated the use of pointers for some required struct fields.
consolidated upstream.StaticUpstream back into upstream.Upstream. cc @hanzei not sure what was the benefit of it separated.
deleted ./examples/go/hello, was too obsolete to be relevant.
added proxy.Incoming. Refactored the way user info is gathered and passed into the (expanded) context.
-replaced "MM_SESSION_ID"->"Mattermost-Session-Id", for consistency.
team/channel member events no longer carry ActingUserID, doing so opens up security issues down the chain of expand.
fixed proxy.GetBinding goroutine synchronization.

TODO

Backwards compatibility/migration.
convert JavaScript hello to fat
implement debug-bindings
support static in builtin.
"install consent" dialog is ugly. (checkbox formatting).

Will re-open against master


Synology Docker: Error gathering device information

I wanted to revert back to my earlier setup with Conbee II connected to my Synology NAS 218+. I even did a video tutorial on it but this morning when I went to revert back - this is the error I am getting.
Additional also made sure thru super user was able to register the device.
`[  271.027589] usbcore: registered new interface driver usbserial
[  276.605277] usbcore: registered new interface driver ftdi_sio
[  276.611760] usbserial: USB Serial support registered for FTDI USB Serial Device`
`EddieD@XHomeServer:~$  sudo docker run -d     --name=deconz     --net=host     --restart=always     -v /etc/localtime:/etc/localtime:ro     -v /volume1/docker/deconz/opt:/root/.local/share/dresden-elektronik/deCONZ     --device=/dev/ttyACM0     marthoc/deconz
47c1315f1f534d8760d3a74792b91636658df0ac6d344a29d61feeb901014cd8
docker: Error response from daemon: linux runtime spec devices: error gathering device information while adding custom device "/dev/ttyACM0": no such file or directory.`
would appreciate the assistance. Thanks and keep up the good work !!!

Heres also the confirmation that the device is connected to the NAS

Heres also the confirmation that the device is connected to the NAS

So this is the FIX and this one is for those who have moved to DSM 7 as the current beta version does not support external USB devices and their drivers. Please follow these steps -

Log in to your synology via Putty or terminal
change to power user sudo -su and run following commands in order -

modprobe usbserial
modprobe ftdi_sio
modprobe cdc-acm

Unplug Conbee II stick and plug it back in.
Execute Docker Container as per the instructions

Until DSM 7 is in Beta Mode - you'll need to run a startup script to execute point 2. To do that - do the below
Make a script DSM7_enable_usb.sh in the following folder:
/usr/local/etc/rc.d/
with the following content:
Bash:
#!/bin/sh
# Enable USB Stick in DSM 7

case "$1" in
    start)
        echo "Start"
        echo "setting usbserial"
        /sbin/modprobe usbserial
        echo "setting ftdi_sio"
        /sbin/modprobe ftdi_sio
        echo "setting cdc-acm"
        /sbin/modprobe cdc-acm
        echo "Done..."
        ;;
   *)
        echo "Usage: $1 {start}"
        exit 1
esac
exit 0

So this is the FIX and this one is for those who have moved to DSM 7 as the current beta version does not support external USB devices and their drivers. Please follow these steps -

Log in to your synology via Putty or terminal
change to power user sudo -su and run following commands in order -

modprobe usbserial
modprobe ftdi_sio
modprobe cdc-acm

Unplug Conbee II stick and plug it back in.
Execute Docker Container as per the instructions

Until DSM 7 is in Beta Mode - you'll need to run a startup script to execute point 2. To do that - do the below
Make a script DSM7_enable_usb.sh in the following folder:
/usr/local/etc/rc.d/
with the following content:
Bash:
#!/bin/sh
# Enable USB Stick in DSM 7

case "$1" in
    start)
        echo "Start"
        echo "setting usbserial"
        /sbin/modprobe usbserial
        echo "setting ftdi_sio"
        /sbin/modprobe ftdi_sio
        echo "setting cdc-acm"
        /sbin/modprobe cdc-acm
        echo "Done..."
        ;;
   *)
        echo "Usage: $1 {start}"
        exit 1
esac
exit 0

Has anyone tested with the final version of DSM 7.0?

I did test this on Jan 06th - its the response above

Hi, I did try this solution (3x modprobe xxx) with my cc2652 from slaesh but it seems it doesnt work. lsusb shows my stick but it can't be found under ttyACMx or ttyUSBx. Seems like a driver problem?

@midijunk Your stick requires either ch341 or cp210x support in your linux kernel. The one that comes with DSM 7.0 does not have this built in or as a module.
The reason it works in VM is because the kernel in that VM likely has the support compiled in.
I'm also running HA in a docker container and have exactly the same problem. I'm waiting for Synology to publish the kernel source so I can cross compile these exact two modules for my Synology DS718+

So this is the FIX and this one is for those who have moved to DSM 7 as the current beta version does not support external USB devices and their drivers. Please follow these steps -

Log in to your synology via Putty or terminal
change to power user sudo -su and run following commands in order -

modprobe usbserial
modprobe ftdi_sio
modprobe cdc-acm

Unplug Conbee II stick and plug it back in.
Execute Docker Container as per the instructions

Until DSM 7 is in Beta Mode - you'll need to run a startup script to execute point 2. To do that - do the below
Make a script DSM7_enable_usb.sh in the following folder:
/usr/local/etc/rc.d/
with the following content:
Bash:
#!/bin/sh
# Enable USB Stick in DSM 7

case "$1" in
    start)
        echo "Start"
        echo "setting usbserial"
        /sbin/modprobe usbserial
        echo "setting ftdi_sio"
        /sbin/modprobe ftdi_sio
        echo "setting cdc-acm"
        /sbin/modprobe cdc-acm
        echo "Done..."
        ;;
   *)
        echo "Usage: $1 {start}"
        exit 1
esac
exit 0

I have followed your post and created the file with script but after today power lost and synology restart it looks like the script didnt run. I made the file like this:
root@DSM:~# nano /usr/local/etc/rc.d/DSM7_enable_usb.sh
maybe I am doing something wrong?
Thanks

Can someone explain step by step how to create the script and put it in the folder you indicate of Synology?, I'm a novice with Linux, and I don't know how to do that by SSH.
He tried to do it with "Scheduled Tasks" but he didn't either.
I appreciate your help.


Safari 12.0 on Mac OS X also requires web audio unlocking

on Safari 12.0, the audio context is in "suspended" state by default, and requires a click to be resumed:

var context = new AudioContext();

console.log('context state:', context.state);

var unlock = function() {
	context.resume().then(function()
	{
	    console.log("context resumed");
	});
};

document.body.addEventListener('click', unlock, false);

(With the help of: https://hackernoon.com/unlocking-web-audio-the-smarter-way-8858218c0e09)
So I guess that the needsUnlocking method should be updated according to the initial state of the context and not only based on UA? https://github.com/phoboslab/jsmpeg/blob/000bd2f6438b936862a36eb7c20c2dbd2e547e4a/src/webaudio.js#L132
Based on the player.audioOut.unlocked being false, we could implement our own logic (via an unmute button) to unlock the web audio on any device.
Thanks

Chrome 96.0.4664.110 on mac OS 12.1: https://jsmpeg.com/perf.html?file=blade-runner-2049-240p.ts&webgl=1&wasm=1&audio=1 => The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page.
So it seems that all browsers now would need the audio unlocking feature


Spelling / Grammar mistake (?)

Avoid duplicates

[x] Bug is not mentioned in the FAQ
[x] Bug affects both Android and iOS, for specific issues / questions that apply only to one operating system, please raise them in the respective repositories:

Android repository
iOS repository

[x] Bug is not already reported in another issue

Technical details

Device name: iPhone SE 2
iOS version: iOS 14.7
App version: 2.5.1 (1)

Describe the bug
When clicking on the information button for the fully vaccinated people the explanation for the statistics appear.
I think, there is one "die" (German article) too much.  is better to understand.
Steps to reproduce the issue

The app has to use the German localization
Go to main page
Scroll down to statistics area
Click on the information icon (i) in the upper right corner of any statistic tile
Scroll down until you can read "Vollständig geimpfte Personen"

Expected behaviour
Text should be "Anzahl der an das RKI übermittelten Personen, die alle notwendigen Impfdosen erhalten haben."
Possible Fix
Change Localizable Strings:
iOS: https://github.com/corona-warn-app/cwa-app-ios/blob/5dc34e76d49d1430c840a8afcd5b6272b82fc1e5/src/xcode/ENA/ENA/Resources/Localization/de.lproj/Localizable.strings#L2075
Android: https://github.com/corona-warn-app/cwa-app-android/blob/63df24be9d2bc1bfb324325d79b1c8b0f8606f4d/Corona-Warn-App/src/main/res/values-de/strings.xml#L1637
P.S. for traceability: I posted this issue first here but it was suggested that I report this issue here.
/e: Just checked and the issue is still existing in the lastest RCs.

@hija
The text seems to be fixed already in the next planned version of Android in the release/2.6.x branch.
https://github.com/corona-warn-app/cwa-app-android/blob/fc7c1bd7377a9db04cb50abc06588c1d93400041/Corona-Warn-App/src/main/res/values-de/strings.xml#L1519-L1520
    <!-- XTXT: Statistics number of fully vaccinated people text -->
    <string name="statistics_fully_vaccinated_people_text">"Anzahl der an das RKI übermittelten Personen, die alle notwendigen Impfdosen erhalten haben."</string>

Ohhh... Looks like I accidentally changed back to another branch when I searched in the repository for "die die alle".
Thank's for pointing that out, @MikeMcC399. I assumed Android and iOS were using the same Localization strings :)
I just checked again and for iOS it's not fixed in

v2.6.1-RC0
release 2.7.x
And not in the current App Store version, since I wouldn't see the mistake otherwise

I'll provide a PR for this, just to make sure this gets fixed under iOS in version 2.6 too.

Okay, the edit has been merged. Thank you :)

@hija  Thanks for contributing.


Amazon Requirement: Parental pin

We need to work out how to comply with Amazon's parental pin

see https://www.developer.amazon.com/docs/fire-tv/playback-in-fire-tv-ui.html#parental-controls


Updated Typescript definitions for SunEditor

I added the the toggleFullScreen, as well as the toggleCodeView event to the Typescript definition of the SunEditor class. The documentation is directly copied from the README.md.

@Josef-Haupt Thank you for your contribution!


Hexadecimal color text input

Hey @KaeganCasey, thanks a lot for your excellent work on this tool.
I was thinking that it would be a nice feature to have the opportunity to type in a hexadecimal color code. I often have colour gradients from a Figma file (or other software), and it takes some time to do the conversion.
What do you think?

Hi @fcatapano
I think this is a great idea! I'm not sure when I'll have the time to implement this but I will start looking into it now and see what it would take and how it would change the look of the component etc. One thing I would love some feedback on is the different options for where to put this feature:

I could add a text box on the "Settings" page that could take a hex code to initialize the key with when it is first created. This would be an easy approach but wouldn't help much with the two default keys on the ramp.
Add a hex code to each key param section on the "Keys" page. this is probably the most ideal but I might need a pulse button or something to tell it when to convert the hex to RGB.
I could make a new extremely simple component that could convert hex to rgb params and those params could be mapped to the different keys you care about either to set up the component initially or to change them later. I am kind of leaning towards this approach since it wouldn't complicate the UI for the existing metaRamp.

All that being said I have another component that I'm still testing and thinking about before I fully promote it to the community. It's a color manager that lets you save color palettes / gradients and then map them to an "Artwork Comp" which is just a component that has any RGBA custom parameters set up for it. This might work on it's own for your use case or even when combined with the metaRamp it can also be very useful.
I attached a toe file that would show you how to use both components together. Github wouldn't let me upload a .toe to this conversation so I had to zip it up.
Let me know your thoughts!! Thanks for the great idea!
example_meta_ramp_color_manager.zip

Hey @KaeganCasey,
I appreciate your interest in my idea.
As a seasoned UX designer, option 2 is the one that makes more sense. Having a string with a "convert" pulse is easy to understand. I recommend ensuring that the hex decimal code works with or without the hash #.
With the help of ChatGPT (sorry, I'm not a great coder), I created this simple .tox that converts a CSS gradient into a Ramp. There may be something useful for you there.
I think the Meta Ramp Color Manger is excellent, I can see a lot of potential. The node position could be animated, too, like Colorama in After Effects.


serve static files (sample/bookinfo/productpage)

The current implementation of productpage, found that responsed 404 when retrieving static files.
Add static files serving function to fix this.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: tedli
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: vadimeisenbergibm
If they are not already assigned, you can assign the PR to them by writing /assign @vadimeisenbergibm in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

samples/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Hi @tedli. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/ok-to-test

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

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests.sh
66ca0be2dd8ce7bb2debbf0bbb2c24880ac5401e
link
/test e2e-simpleTests

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

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

Test name
Commit
Details
Rerun command

prow/e2e_pilotv2_auth_sds.sh
66ca0be2dd8ce7bb2debbf0bbb2c24880ac5401e
link
/test istio_auth_sds_e2e

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

I thought that the static pages have already been fixed by this PR: https://github.com/istio/istio/pull/13314
Is this still another problem on top of what was already fixed?
cc: @rvennam

@tedli: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e_pilotv2_auth_sds.sh
66ca0be2dd8ce7bb2debbf0bbb2c24880ac5401e
link
/test istio_auth_sds_e2e

prow/istio-integ-k8s-tests.sh
66ca0be2dd8ce7bb2debbf0bbb2c24880ac5401e
link
/test istio-integ-k8s-tests

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

@tedli
What static files are you referring to?
css, js and icons are currently in /static which is the default folder for serving static files in flask.
What is in /opt/microservices/static ?

@rvennam
Thanks for reply. Sorry, I was confused the 404 is caused because there is no route defined in VirtualSerivce, not because no route in Flask. I'm going to close this PR.


Is there a profile in this repo for SGE?

@winni2k See: https://github.com/drjbarker/snakemake-gridengine I'll reformat it for the Snakemake-Profiles repository soon and request it is added.

Johannes has now forked the repo: https://github.com/Snakemake-Profiles/sge
I think this issue can be closed.


RuntimeError: Tensor type unknown to einops <class 'torch.return_types.max'>

lib/python3.7/site-packages/einops/_backends.py", line 52, in get_backend
raise RuntimeError('Tensor type unknown to einops {}'.format(type(tensor)))
RuntimeError: Tensor type unknown to einops <class 'torch.return_types.max'>
I understand why this gets raised. Could it be a pytorch version problem? Mine is 1.6.0

@wajihullahbaig hmm, could you possibly send me the full trace so I can see which line in the library triggered this?

@wajihullahbaig hmm, could you possibly send me the full trace so I can see which line in the library triggered this?

File "/media/wajih/1TB-DISK1/Onus/Personal/Codes/h-transformer-1d/train.py", line 53, in
causal = True
File "/media/wajih/1TB-DISK1/Onus/Personal/Codes/h-transformer-1d/h_transformer_1d/h_transformer_1d.py", line 453, in init
PreNorm(dim, attn_class(dim, dim_head = dim_head, heads = heads, block_size = block_size, pos_emb = self.pos_emb, **attn_kwargs)),
File "/media/wajih/1TB-DISK1/Onus/Personal/Codes/h-transformer-1d/h_transformer_1d/h_transformer_1d.py", line 264, in init
expanded_mask_seq = repeat(seq, 'n -> (n r)', r = (2 ** (ind + 1)))
File "/home/wajih/anaconda3/lib/python3.7/site-packages/einops/einops.py", line 461, in repeat
return reduce(tensor, pattern, reduction='repeat', **axes_lengths)
File "/home/wajih/anaconda3/lib/python3.7/site-packages/einops/einops.py", line 368, in reduce
return recipe.apply(tensor)
File "/home/wajih/anaconda3/lib/python3.7/site-packages/einops/einops.py", line 203, in apply
backend = get_backend(tensor)
File "/home/wajih/anaconda3/lib/python3.7/site-packages/einops/_backends.py", line 52, in get_backend
raise RuntimeError('Tensor type unknown to einops {}'.format(type(tensor)))
RuntimeError: Tensor type unknown to einops <class 'torch.return_types.max'>

@wajihullahbaig i put in a fix in 0.1.2!

@wajihullahbaig i put in a fix in 0.1.2!

Thanks for the fix!


Fix errors when you're importing a private key while a public key is already published

@zapu rdy for final review, tests are ok

@pzduniak  -- just tried this on the CLI and it doesn't work

Created Y2K-129. I think it's different issue though - what we have here is a user who have local secret key but wants to have server synced secret key.

Yeah, this just stripped errors in this particular already working flow where you only had a public key but wanted to push its secret part.


Setting a spritefont's source sprite to Separate Texture Page causes repeating characters

If you set a spritefont's source sprite to Separate Texture Page then Scribble gets confused and draws repeating characters. This is due to Scribble reading from the wrong texture page.

I've added some extra documentation on this to the wiki but Scribble should:

Detect this misconfiguration and warn the user
Still produce suitable output, even if performance suffers

Now messaging that Separate Texture Page is unsupported for sprites


Pluggable caches - see #37

I have solved the tests and they now pass in all environments.

Woohoo! Thanks for getting this working. I'm travelling until Tuesday, but maybe @caffodian @kylegibson  or @jlward will be able to give this a review + merge before I get back.
Thanks again!

Any movement on this PR?

Hi Jason,
Thanks for the /bump. Looks like this fell through the cracks. @bocribbz reviewed it and gave the thumbs up, but then was waiting for one of us with pypi access to do the merge.
We'll get ti figured out today.
Thanks again @rhunwicks for doing all of this work.
-Wes


⚠ Bofrost.at has degraded performance

In 8cec444, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1162 ms

Resolved: Bofrost.at performance has improved in fb14ca8.


Drop deprecated APIServerSNI feature gate

How to categorize this PR?

/area dev-productivity open-source
/kind enhancement
What this PR does / why we need it:
Drop deprecated APIServerSNI feature gate.
Release note:

The deprecated feature gate `APIServerSNI` has been removed.

/retest

@ScheererJ I have pushed another commit for deprecating the core.gardener.cloud/apiserver-exposure label, PTAL.

Should we also change docs/usage/apiserver-sni-injection.md as it also references the feature gate name but it actually only changes KUBERNETES_SERVICE_HOST environment variable?

/assign

Do we want to adapt the document of GEP-14 which references the feature gate?

We don't maintain GEP documents.

Should we also change docs/usage/apiserver-sni-injection.md as it also references the feature gate name but it actually only changes KUBERNETES_SERVICE_HOST environment variable?

OK, done

/milestone v1.73


Command triggers

Do not suggest using a common symbol (such as !, %, $, etc) as command triggers. This may overlap with other bots and in turn cause server wide chaos where 600 or so bots are replying to your command at once.
Instead you should suggest using mentions. This makes sure that only YOUR bot gets triggered.

let me make changes to the wiki. mentions are supported and the prefix is entirely up to whomever uses this library. by default it is set to the most common prefix but can be changed

https://github.com/BreadMoirai/BreadBotFramework/wiki/10)-Prefix


Add AppBuilder type

Feature
Add AppBuilder type to construct an App in a more flexible way.
Methods added to AppBuilder should be removed from App.
Examples
AppBuilder::new()
    .log_level(LevelFilter::Info)
    .thread_count(2)
    .entity(modor_graphics::module())
    .entity(my_rectangle())
    .build()
    .run(modor_graphics::runner)

Dependency

#200

Finally, not necessary to introduce a AppBuilder as #205 is not necessary.


[HOLD for payment 2024-03-20] [$500][Simplified Collect][Tags] Create WorkspaceTagsSettingsPage

Implement this section of the Simplified Collect: Tags design doc
cc @waterim
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01cae16f53fdebf109
Upwork Job ID:<PHONE_NUMBER>151942656
Last Price Increase: 2024-02-27

Hello, Im Artem from Callstack

Hi, @luacmartins
Can I fix this issue?

Is this one on hold or actively being worked on @luacmartins @waterim?

@lschurr hello! This one is on hold for a main page, main page PR will be in a few minutes, lets see if we can merge it soon.
Also I will create a PR for this issue as soon as first PR is merged!

Thanks @waterim - Any update here?

We're still working on the main page before we can tackle this issue.

PR is open!

PR was merged today

@mkhutornyi - do we need a regression test for this one?

Np! We'll add them when the feature is fully implemented.

Payment summary:

Contributor: @waterim (agency - no payment needed)
Contributor+: @mkhutornyi $500 (Offer here in Upwork)

All set!


Empty destructuring assignments should not be allowed.

/* @flow */
var {};
var {} = [];
var {} = {};
var {} = {foo:3};

Flow do not throw an error.
I think it can be/should be handle(d) in the parsing step.

According to the spec, an empty {} can be used as the left-hand-side expression.
ObjectAssignmentPattern[Yield] :
	{ }
	{ AssignmentPropertyList[?Yield] }
	{ AssignmentPropertyList[?Yield] , }

Yes you're right, thanks !

Unless you plan on creating a new issue specifically for var {};, then I would keep this issue open since flow doesn't see that as a syntax error. An empty {} may be allowed by the spec, but the spec also states that an initializing value is required.

See #730


werkzeug lib version fix to ignore incompatible new version 3

new werkzeug version 3 is incompatible

Thanks, @Bleki. However, a new version was pushed yesterday with Werkzeug 3 support.

Ah, even better :)


Remove expand! by raising errors during expand

GitHub: #1
Rather than having separate expand and expand! methods (one swallowing all exceptions, one not), simplify the API of Embiggen::URI to a single expand method. This no longer aggressively swallows exceptions outside of its control but may raise subclasses of Embiggen::Error, namely:

Embiggen::BadShortenedURI;
Embiggen::TooManyRedirects;
Embiggen::NetworkError.

The last of these wraps any network-related exceptions including timeouts, connection resets, unreachable hosts, etc.
The reason for this change is that these truly are exceptional circumstances outside of the library's control (unlike, say, an unshortened URI being passed to Embiggen::URI which can be handled gracefully). The previous API took too much responsibility away from the client by silently discarding exceptions by default and therefore obscuring failures.
Originally, the idea of using a sum type was appealing (e.g. returning some sort of result object which could be interrogated for its success) but this later seemed overengineered and unidiomatic. Instead, we prefer to return standard Ruby types where appropriate (e.g. standard library URIs) and raise exceptions in case of failure.
This simplification lead to a refactoring that extracted an HttpClient class which is currently used privately within the library. This potentially opens the way for pluggable HTTP clients (rather than being forced to use Net::HTTP) in future (c.f. #9).

looks good to me :+1:

Otherwise, looks good to me!


Fix 'RemoveDefGwOnDhcpForLocalhost' function No.2: Change the minimum size of DHCP reply

Changes proposed in this pull request:
1. DHCP does not work
RemoveDefGwOnDhcpForLocalhost fails due to the bad length of DHCP.
2. Network configuration

3. How to reproduce
①Change source code for testing temporarily. And build it.
②Setup local bridge of VPN server on PC1.
③Setup RemoveDefGwOnDhcpForLocalhost to true in vpn_server.config on PC1.
④Setup VPN connection to VPN server. And try to connect.
IPV4 on the virtual NIC is not available.
DHCP sequence is not correct.

Actual behaviour
①DHCP DISCOVER
②DHCP OFFER
Expected behaviour
①DHCP DISCOVER
②DHCP OFFER
③DHCP REQUEST
④DHCP ACK

To fix this issue, make the minimum size of DHCP reply calculated using both actual length and MACRO "DHCP_MIN_SIZE".
4. Change source code for testing temporarily
File:Network.c
Win32GetNicList()
//		if (a->Type == 6 && a->AddressSize == 6)
if ((a->Type == 6 || a->Type == 53) && a->AddressSize == 6)
5. Attach

Overview

Detail

Thanks for information on CI/CD.


[KeyVault] Choose verb for insert action

Currently, we use set as the verb in KeyVault to add secret versions. A survey of twitter (500+ responses) suggests that 42% of users would prefer add as the verb rather than set.
We need to approve the verb change with the arch board.

User testing wasn't conclusive that add was sufficiently better to risk the confusion with permissions and other services. We are sticking with set for the time-being, though the verb add gives us options to help the user in the documentation.


Color of Path elements should follow the default color cycle

Should be a quick fix to the appropriate style definition...

Turns out this is the default behavior and the matplotlib default blue colour only appears after using __call__ to customize the path object. Turns out this is not an actual issue with Path elements but a bug related to  #43.


Better getDocumentMeta

Hey,
if you don't mind I will make some proposals sometimes.
Maybe I'm carping, but would be great if doc.getDocumentMeta(prop) will be alias for doc.getDocumentMeta()[prop].

It's an abstract method that users need to define to return the doc node that has meta info. So we don't want to mix things here. Convenience api you can add to your own Article API.


add image embedding pipeline

Signed-off-by: jie.hou<EMAIL_ADDRESS>

Codecov Report

Merging #591 (ed97d34) into main (79a5e6b) will decrease coverage by 0.05%.
The diff coverage is 67.56%.

@@            Coverage Diff             @@
##             main     #591      +/-   ##
==========================================
- Coverage   70.88%   70.83%   -0.06%
==========================================
  Files         145      148       +3
  Lines        5598     5643      +45
  Branches      830      837       +7
==========================================
+ Hits         3968     3997      +29
- Misses       1390     1401      +11
- Partials      240      245       +5

Impacted Files
Coverage Δ

towhee/pipelines/base.py
75.00% <ø> (ø)

towhee/pipelines/image_embedding_pipeline.py
66.66% <66.66%> (ø)

towhee/pipelines/__init__.py
100.00% <100.00%> (ø)

towhee/data/random_erase.py
86.36% <0.00%> (-4.55%)
:arrow_down:

towhee/hub/repo_manager.py
80.18% <0.00%> (-0.91%)
:arrow_down:

Continue to review full report at Codecov.

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

the max num of models is three?

Is normalization + aggregation + meta learner will use the same string 'ensemble' to configure?

will be supported by operator ir

support short model name in image_embedding_api

/lgtm
/approve


Lower case c++1z config

The .bazelrc actually checks for c++1z and not C++1z (mind the capital C) so this should be accounted for in the docs.

In the future, please try to merge multiple single typo fixes in a single PR to reduce hours CI/letters changed metric


[dubbo-2029]: upgrade netty4 to the latest release and make it the default option for transporter

What is the purpose of the change
issue#2029: upgrade netty4 to the latest release and make it the default option for transporter
Brief changelog
all/pom.xml
bom/pom.xml
dependencies-bom/pom.xml
distribution/pom.xml
dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/Transporter.java
dubbo-remoting/dubbo-remoting-netty/pom.xml
dubbo-remoting/dubbo-remoting-netty/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyBackedChannelBuffer.java
dubbo-remoting/dubbo-remoting-netty/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyChannel.java
dubbo-remoting/dubbo-remoting-netty/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyClient.java
dubbo-remoting/dubbo-remoting-netty/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyClientHandler.java
dubbo-remoting/dubbo-remoting-netty/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyCodecAdapter.java
dubbo-remoting/dubbo-remoting-netty/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyServer.java
dubbo-remoting/dubbo-remoting-netty/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyServerHandler.java
dubbo-remoting/dubbo-remoting-netty/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyTransporter.java
dubbo-remoting/dubbo-remoting-netty/src/main/java/org/apache/dubbo/remoting/transport/netty4/logging/FormattingTuple.java
dubbo-remoting/dubbo-remoting-netty/src/main/java/org/apache/dubbo/remoting/transport/netty4/logging/MessageFormatter.java
dubbo-remoting/dubbo-remoting-netty/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.remoting.Transporter
dubbo-remoting/dubbo-remoting-netty/src/test/java/org/apache/dubbo/remoting/transport/netty4/ClientReconnectTest.java
dubbo-remoting/dubbo-remoting-netty/src/test/java/org/apache/dubbo/remoting/transport/netty4/ClientToServerTest.java
dubbo-remoting/dubbo-remoting-netty/src/test/java/org/apache/dubbo/remoting/transport/netty4/ClientsTest.java
dubbo-remoting/dubbo-remoting-netty/src/test/java/org/apache/dubbo/remoting/transport/netty4/Hello.java
dubbo-remoting/dubbo-remoting-netty/src/test/java/org/apache/dubbo/remoting/transport/netty4/NettyClientToServerTest.java
dubbo-remoting/dubbo-remoting-netty/src/test/java/org/apache/dubbo/remoting/transport/netty4/NettyTransporterTest.java
dubbo-remoting/dubbo-remoting-netty/src/test/java/org/apache/dubbo/remoting/transport/netty4/World.java
dubbo-remoting/dubbo-remoting-netty/src/test/java/org/apache/dubbo/remoting/transport/netty4/WorldHandler.java
dubbo-remoting/dubbo-remoting-netty3/pom.xml
dubbo-remoting/dubbo-remoting-netty3/src/main/java/org/apache/dubbo/remoting/transport/netty/NettyBackedChannelBuffer.java
dubbo-remoting/dubbo-remoting-netty3/src/main/java/org/apache/dubbo/remoting/transport/netty/NettyBackedChannelBufferFactory.java
dubbo-remoting/dubbo-remoting-netty3/src/main/java/org/apache/dubbo/remoting/transport/netty/NettyChannel.java
dubbo-remoting/dubbo-remoting-netty3/src/main/java/org/apache/dubbo/remoting/transport/netty/NettyClient.java
dubbo-remoting/dubbo-remoting-netty3/src/main/java/org/apache/dubbo/remoting/transport/netty/NettyCodecAdapter.java
dubbo-remoting/dubbo-remoting-netty3/src/main/java/org/apache/dubbo/remoting/transport/netty/NettyHandler.java
dubbo-remoting/dubbo-remoting-netty3/src/main/java/org/apache/dubbo/remoting/transport/netty/NettyHelper.java
dubbo-remoting/dubbo-remoting-netty3/src/main/java/org/apache/dubbo/remoting/transport/netty/NettyServer.java
dubbo-remoting/dubbo-remoting-netty3/src/main/java/org/apache/dubbo/remoting/transport/netty/NettyTransporter.java
dubbo-remoting/dubbo-remoting-netty3/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.remoting.Transporter
dubbo-remoting/dubbo-remoting-netty3/src/test/java/org/apache/dubbo/remoting/exchange/support/header/HeartbeatHandlerTest.java
dubbo-remoting/dubbo-remoting-netty3/src/test/java/org/apache/dubbo/remoting/transport/dispatcher/FakeChannelHandlers.java
dubbo-remoting/dubbo-remoting-netty3/src/test/java/org/apache/dubbo/remoting/transport/netty/ClientReconnectTest.java
dubbo-remoting/dubbo-remoting-netty3/src/test/java/org/apache/dubbo/remoting/transport/netty/ClientToServerTest.java
dubbo-remoting/dubbo-remoting-netty3/src/test/java/org/apache/dubbo/remoting/transport/netty/ClientsTest.java
dubbo-remoting/dubbo-remoting-netty3/src/test/java/org/apache/dubbo/remoting/transport/netty/Hello.java
dubbo-remoting/dubbo-remoting-netty3/src/test/java/org/apache/dubbo/remoting/transport/netty/NettyClientTest.java
dubbo-remoting/dubbo-remoting-netty3/src/test/java/org/apache/dubbo/remoting/transport/netty/NettyClientToServerTest.java
dubbo-remoting/dubbo-remoting-netty3/src/test/java/org/apache/dubbo/remoting/transport/netty/NettyStringTest.java
dubbo-remoting/dubbo-remoting-netty3/src/test/java/org/apache/dubbo/remoting/transport/netty/TelnetClientHandler.java
dubbo-remoting/dubbo-remoting-netty3/src/test/java/org/apache/dubbo/remoting/transport/netty/TelnetServerHandler.java
dubbo-remoting/dubbo-remoting-netty3/src/test/java/org/apache/dubbo/remoting/transport/netty/ThreadNameTest.java
dubbo-remoting/dubbo-remoting-netty3/src/test/java/org/apache/dubbo/remoting/transport/netty/World.java
dubbo-remoting/dubbo-remoting-netty3/src/test/java/org/apache/dubbo/remoting/transport/netty/WorldHandler.java
dubbo-remoting/dubbo-remoting-netty3/src/test/resources/log4j.xml
dubbo-remoting/dubbo-remoting-netty4/pom.xml
dubbo-remoting/dubbo-remoting-netty4/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.remoting.Transporter
dubbo-remoting/pom.xml
dubbo-rpc/dubbo-rpc-dubbo/pom.xml
dubbo-test/pom.xml
Verifying this change
Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a GITHUB_issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Format the pull request title like [Dubbo-XXX] Fix UnknownException when host config not exist #XXX. Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[ ] Run mvn clean install -DskipTests & mvn clean test-compile failsafe:integration-test to make sure unit-test and integration-test pass.
[ ] If this contribution is large, please follow the Software Donation Guide.

Codecov Report

Merging #2036 into master will increase coverage by 0.02%.
The diff coverage is 69.04%.

@@             Coverage Diff              @@
##             master    #2036      +/-   ##
============================================
+ Coverage     52.09%   52.11%   +0.02%
+ Complexity     4902     4901       -1
============================================
  Files           562      562
  Lines         25216    25223       +7
  Branches       4449     4450       +1
============================================
+ Hits          13137    13146       +9
+ Misses        10076    10070       -6
- Partials       2003     2007       +4

Impacted Files
Coverage Δ
Complexity Δ

...e/dubbo/remoting/transport/netty/NettyChannel.java
61.25% <ø> (ø)
20 <0> (?)

...ing/transport/netty4/NettyBackedChannelBuffer.java
15.87% <ø> (ø)
11 <0> (?)

...o/remoting/transport/netty4/NettyCodecAdapter.java
73.52% <ø> (ø)
3 <0> (?)

...ting/transport/netty4/logging/FormattingTuple.java
0% <ø> (ø)
0 <0> (?)

...ing/transport/netty4/logging/MessageFormatter.java
0% <ø> (ø)
0 <0> (?)

...bo/remoting/transport/netty4/NettyTransporter.java
100% <ø> (ø)
3 <0> (?)

...bo/remoting/transport/netty/NettyCodecAdapter.java
53.12% <ø> (ø)
3 <0> (?)

...ting/transport/netty/NettyBackedChannelBuffer.java
0% <ø> (ø)
0 <0> (?)

...ansport/netty/NettyBackedChannelBufferFactory.java
0% <ø> (ø)
0 <0> (?)

...e/dubbo/remoting/transport/netty4/NettyClient.java
63.33% <ø> (ø)
11 <0> (?)

... and 21 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 9e5d3bf...4049645. Read the comment docs.

There are more changes to the original code. If there is a problem with the netty4 code, it is more troublesome to use the switch.
Here is my suggestions:

Perhaps modify the transporter's spi value netty->netty4 is more appropriate
It is possible that other modules can't find the extension point because they are modified to netty4, add dependencies, and small-scale adjustment unit tests will do.

td
发自我的小米手机
在 yì jí<EMAIL_ADDRESS>13:06写道：
There are more changes to the original code. If there is a problem with the netty4 code, it is more troublesome to use the switch.
Here is my suggestions:

Perhaps modify the transporter's spi value netty->netty4 is more appropriate
It is possible that other modules can't find the extension point because they are modified to netty4, add dependencies, and small-scale adjustment unit tests will do.

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/apache/incubator-dubbo/pull/2036#issuecomment-402926806, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AKuGFXUsDsFVRkH79xIcnudemvjdg6ALks5uDvBWgaJpZM4VEzHV.

abandon this PR, I will redo from the scratch with another PR since this one touches unnecessary files.


Cannot read property 'exec' of undefined - Windows

TypeError: Cannot read property 'exec' of undefined
    at mkdir (C:\ProgramFilesCustom\nodejs\npm\lib\utils\mkdir-p.js:17:62)
    at C:\ProgramFilesCustom\nodejs\npm\npm.js:307:5
    at findPrefix (C:\ProgramFilesCustom\nodejs\npm\lib\utils\find-prefix.js:11:40)
    at loadPrefix (C:\ProgramFilesCustom\nodejs\npm\npm.js:299:3)
    at C:\ProgramFilesCustom\nodejs\npm\npm.js:270:7
    at cb (C:\ProgramFilesCustom\nodejs\npm\lib\utils\ini.js:77:5)
    at C:\ProgramFilesCustom\nodejs\npm\lib\utils\ini.js:113:3
    at setUser (C:\ProgramFilesCustom\nodejs\npm\lib\utils\ini.js:121:32)
    at C:\ProgramFilesCustom\nodejs\npm\lib\utils\ini.js:98:9
    at C:\ProgramFilesCustom\nodejs\npm\lib\utils\ini.js:193:20
Report this *entire* log at:
    <http://github.com/isaacs/npm/issues>
or email it to:
<EMAIL_ADDRESS>
System Windows_NT 6.1.7601
command "node" "C:\\ProgramFilesCustom\\nodejs\\npm\\cli.js" "install" "npm" "-gf"
cwd C:\ProgramFilesCustom\nodejs\npm
node -v v0.5.8
npm -v 1.0.94
type non_object_property_load
arguments [ 'exec', undefined ]

Additional logging details can be found in:
    C:\ProgramFilesCustom\nodejs\npm\npm-debug.log
not ok

Here are the contents of npm-debug.log.
info it worked if it ends with ok
verbose cli [ 'node',
verbose cli   'C:\\ProgramFilesCustom\\nodejs\\npm\\cli.js',
verbose cli   'install',
verbose cli   'npm',
verbose cli   '-gf' ]
info using<EMAIL_ADDRESS>info using<EMAIL_ADDRESS>verbose config file C:\Users\ASH\.npmrc
verbose config file C:\ProgramFilesCustom\nodejs\etc\npmrc
verbose config file C:\ProgramFilesCustom\nodejs\npm\npmrc
ERR! TypeError: Cannot read property 'exec' of undefined
ERR!     at mkdir (C:\ProgramFilesCustom\nodejs\npm\lib\utils\mkdir-p.js:17:62)
ERR!     at C:\ProgramFilesCustom\nodejs\npm\npm.js:307:5
ERR!     at findPrefix (C:\ProgramFilesCustom\nodejs\npm\lib\utils\find-prefix.js:11:40)
ERR!     at loadPrefix (C:\ProgramFilesCustom\nodejs\npm\npm.js:299:3)
ERR!     at C:\ProgramFilesCustom\nodejs\npm\npm.js:270:7
ERR!     at cb (C:\ProgramFilesCustom\nodejs\npm\lib\utils\ini.js:77:5)
ERR!     at C:\ProgramFilesCustom\nodejs\npm\lib\utils\ini.js:113:3
ERR!     at setUser (C:\ProgramFilesCustom\nodejs\npm\lib\utils\ini.js:121:32)
ERR!     at C:\ProgramFilesCustom\nodejs\npm\lib\utils\ini.js:98:9
ERR!     at C:\ProgramFilesCustom\nodejs\npm\lib\utils\ini.js:193:20
ERR! Report this *entire* log at:
ERR!     <http://github.com/isaacs/npm/issues>
ERR! or email it to:
ERR<EMAIL_ADDRESS>ERR!
ERR! System Windows_NT 6.1.7601
ERR! command "node" "C:\\ProgramFilesCustom\\nodejs\\npm\\cli.js" "install" "npm" "-gf"
ERR! cwd C:\ProgramFilesCustom\nodejs\npm
ERR! node -v v0.5.8
ERR! npm -v 1.0.94
ERR! type non_object_property_load
ERR! arguments [ 'exec', undefined ]
verbose exit [ 1, true ]

fixed on be6fbc8aac6b8821719a41402b4ac7f452e14299

This commit be6fbc8 brought back the previously fixed issue.

Are you sure it's actually the same issue?  I don't see how it could be.
Can you please gist the output and debug log?

Here is the output
Error: User and Group IDs must be an integer.
    at Object.chown (fs.js:501:11)
    at Object.GRACEFUL [as chown] (C:\ProgramFilesCustom\nodejs\npm\node_modules\graceful-fs\graceful-fs.js:38:6)
    at C:\ProgramFilesCustom\nodejs\npm\lib\cache.js:605:18
    at C:\ProgramFilesCustom\nodejs\npm\node_modules\slide\lib\async-map.js:54:35
    at Array.forEach (native)
    at C:\ProgramFilesCustom\nodejs\npm\node_modules\slide\lib\async-map.js:54:11
    at Array.forEach (native)
    at asyncMap (C:\ProgramFilesCustom\nodejs\npm\node_modules\slide\lib\async-map.js:53:8)
    at C:\ProgramFilesCustom\nodejs\npm\lib\cache.js:600:11
    at readJson (C:\ProgramFilesCustom\nodejs\npm\lib\utils\read-json.js:21:12)
Report this *entire* log at:
    <http://github.com/isaacs/npm/issues>
or email it to:
<EMAIL_ADDRESS>
System Windows_NT 6.1.7601
command "node" "C:\\ProgramFilesCustom\\nodejs\\npm\\cli.js" "install" "npm" "-gf"
cwd C:\ProgramFilesCustom\nodejs\npm
node -v v0.5.8
npm -v 1.0.94

Additional logging details can be found in:
    C:\ProgramFilesCustom\nodejs\npm\npm-debug.log
not ok

Here is the debug log.

The debug log got cut off.
Added some additional logging around this area.  Please pull the latest npm code from git, and run it again, and upload the entire npm-debug.log file.
The output from npm config ls would be helpful as well.

The entire npm-debug.log and the contents of the config from the command npm config ls.

That's not the entire npm-debug.log file.  It's getting cut off, which means that I can't see the bottom where the error occurs.
That's not the output of the command npm config ls, it's the contents of the npm.js file.

I tried it again, just in case I had done something wrong, but to no avail. That's all there is in npm-debug.log.
That's what gets opened when I run that command. So, I copied its content. I have no idea what's supposed to be the output.

@shefi Are you running this in the npm source code folder?  It looks like when you're trying to run npm blah blahblah windows is opening the npm.js file rather than execute the npm.cmd command.
Try running npm.cmd config ls to ensure that you get the batch script executable rather than trying to edit the JavaScript file.  It should not open a file, it should dump some information to the console.
 I managed to install some modules.
I also, added the npm/bin/ to the path, thus, I can easily install modules.
Thanks a lot for the great work, and the continuous efforts to sort things out. :)


Patch cache issue

There is an issue with a Patch operation where a call in the business manager Update method is being made to the Get method to get the current state. This is being done so that the current state can be compared to the requested update state for some validation. What we are finding is that the object being returned by the Get method is the same object as passed to the Update method.

Fixed. NuGet Beef.AspNetCore.WebApi version 4.1.6 package.


Custom RemoteApplicationEvents cannot be resolved by listening application

I'm having issues getting RemoteApplicationEvents to be handled by listening applications. The exception received is:
org.springframework.amqp.rabbit.listener.exception.ListenerExecutionFailedException: Listener threw exception
Caused by: org.springframework.messaging.converter.MessageConversionException: Could not read JSON: Could not resolve type id 'NameSaid' as a subtype of [simple type, class org.springframework.cloud.bus.event.RemoteApplicationEvent]: known type ids = []
 at [Source: (byte[])"{"type":"NameSaid","timestamp":1518736952389,"originService":"bus-test:0:b90a1c6230f703c16af73edfc73e3970","destinationService":"**","id":"eb57e397-25b6-420d-ac67-121af35949b2","name":"foo"}"; line: 1, column: 9]; nested exception is com.fasterxml.jackson.databind.exc.InvalidTypeIdException: Could not resolve type id 'NameSaid' as a subtype of [simple type, class org.springframework.cloud.bus.event.RemoteApplicationEvent]: known type ids = []

It appears that something is broken w.r.t. configuring the StreamListener with the appropriately-configured ObjectMapper. This is on spring-cloud Finchley.M6, and I'm using amqp for the stream provider.
I'm including a small sample project. If you hit the controller with a PUT /names/, the exception is seen in the logs. I'd try to give a more precise fix, but I'm just trying to evaluate spring-cloud-bus, so don't have much experience with it yet.

Wow, thanks for catching this one!


fix typo creats into creates in comments

fix typo creats into creates in comments
Signed-off-by: allencloud<EMAIL_ADDRESS>

LGTM janky error unrelated


Show a promo to podcast on on the event series page

Type

✨ Feature

Acceptance Criteria

[ ] The event series should provide a link to podasts

We haven't carried across any podcasts from Drupal, so let's close for now and revisit once we have need of it.


Missing benchmarks when pushing multiple commits at once

We only benchmark the latest known commit when a git repository is updated... but the git push could have added more than one commit at the same time.  If we don't benchmark the intermediate commits, then the graph timeline is harder to read as it doesn't reflect the true git history.
As a bonus, this might help with retro-benchmarking: We currently have to wait for each benchmark to complete, rather than submitting multiple commits corresponding to the different versions in one go!
(related to the removal of old commits https://github.com/ocurrent/current-bench/issues/378 which looks a bit easier to handle first)

#436 is also somewhat related to this.

This is being worked on on the bench-old-commits branch


TFKUBE-48: Go linter

This PR added Golang linter to pre-commit hook and Github action for both unit test and e2e test.
Will also fix linter errors for existing code.

All good. To avoid failed tests in main, we can merge this ticket after TFKUBE-222

Should we fix the unit test?


Update the existing Webex Teams API wrappers and data models

Review the existing Webex Teams API wrappers and data models and ensure they are up-to-date with all posted parameters, attributes, and sub-endpoints published on developer.webex.com.

[x] Access Tokens API
[x] Admin Audit Events API
[x] Attachment Actions API
[x] Events API
[x] Guest Issuer API
[x] Licenses API
[x] Memberships API
[x] Messages API
[x] Organizations API
[x] People API
[x] Roles API
[ ] Rooms API
[x] Teams API
[x] Team Memberships API
[x] Webhooks API

@sQu4rks, I have reviewed and updated all of the existing wrapped APIs except the Rooms API.  I'll review this one after your PR with the meeting info API endpoint update.

@cmlccie The /rooms API matches the implementation in the sdk so I think we can, after merging PR #129, close this issue as all endpoints are up to date.


Response with content-type "application/hal+json" shows as [Object object]

Describe the bug
A picture says a thousand words here.  Also note that this is a recent regression; earlier versions worked as desired (I know this isn't super helpful since I don't know which exact commit broke it)

To Reproduce
Steps to reproduce the behavior:

Find a service endpoint that returns a content-type of "application/hal+json"
Make a request to said endpoint
Observe the response shows "[Object object]"

Expected behavior
The actual response is shown, ideally rendered prettily as JSON.

Thanks for opening up the issue.
I will look into this.

@davidyscott I have submitted a PR.
Feel free to test my (fork)[https://github.com/AndrewBastin/postwoman] and please do report if the issue still persists.

@AndrewBastin Yayy thank you!  :)


Improve: Removed @VisibleForTesting in several methods because they accessed from production code (3080)

@JosefinaOller
Thank you for your contribution, could you please update your PR description and follow the temple rules? the template is as follows:
### What changes were proposed in this pull request?

(Please outline the changes and how this PR fixes the issue.)

### Why are the changes needed?

(Please clarify why the changes are needed. For instance,
  1. If you propose a new API, clarify the use case for a new API.
  2. If you fix a bug, describe the bug.)

Fix: # (issue)

### Does this PR introduce _any_ user-facing change?

(Please list the user-facing changes introduced by your change, including
  1. Change in user-facing APIs.
  2. Addition or removal of property keys.)

### How was this patch tested?

(Please test your changes, and provide instructions on how to test it:
  1. If you add a feature or fix a bug, add a test to cover your changes.
  2. If you fix a flaky test, repeat it for many times to prove it works.)


REI Recipes is missed

Does it possible add recipes to REI/JEI, e.t.c?

Wrong. It was just loaded, no issue, recipments is here.


drop lazy, add kwargs

Overview
AllenNLP appears to have dropped the argument lazy from the constructor of their DatasetReader subclasses. This lead to an error for our class Seq2SameSeqDatasetReader which subclasses Seq2SeqDatasetReader.
This is just a quick PR that copies the Seq2SeqDatasetReader constructor arguments to Seq2SameSeqDatasetReader.
@DatasetReader.register("seq2sameseq")
class Seq2SameSeqDatasetReader(Seq2SeqDatasetReader):
    """
    A thin wrapper around ``Seq2SeqDatasetReader`` that is expected to be used with an
    encoder-decoder that is trained to reconstruct the source sequence. Each line in the input file
    should contain a sequence string. Please see ``Seq2SeqDatasetReader`` for usage instructions and
    parameters.
    """

    def __init__(
        self,
        source_tokenizer: Tokenizer = None,
        target_tokenizer: Tokenizer = None,
        source_token_indexers: Dict[str, TokenIndexer] = None,
        target_token_indexers: Dict[str, TokenIndexer] = None,
        source_add_start_token: bool = True,
        source_add_end_token: bool = True,
        delimiter: str = None,
        source_max_tokens: Optional[int] = None,
        target_max_tokens: Optional[int] = None,
        **kwargs,

Hi,
I am using allennlp version 2.5.0 and I get the error
TypeError: __init__() got an unexpected keyword argument 'lazy'
I am not sure how to resolve this problem.
I would appreciate any help on this issue.


Remove old clusterid tag

I confirm that this contribution is made under the terms of the license found in the root directory of this repository's source tree and that I have the authority necessary to make this contribution on behalf of its copyright owner.

@yngveaasheim can this break som graphs?

@bjormel Possibly, yes. Can hopefully be addressed on a per case basis as we identify them, though.


Add linting and test CI

Add CI for linting and running code tests on each push

Closed with PR #8


Original Image is optimized, when it should not be

Correct me if I'm wrong but I believe the app is optimising the original image file that's uploaded, as well as the new images generated by Perch.
If this is the case, then I think the correct behaviour would be to leave the original image alone, and only optimise newly generated images—this is what the Perch Kraken app does.
The reason for this is that if the developer decides to generate new sizes in future, they want to spin these off the original uncompressed image.
If new images are created from a compressed image then the images are effectively compressed twice which would result in a worse quality image.
Proposed Solution

Only optimise/send to the TinyImg API images that are generated by Perch
Do not send the original uploaded image to TinyImg

I guess you might be able to do some kind of check against the original file name uploaded? Not sure how the Perch API works.

I’ve been thinking about this more.
I now think that this behaviour could actually be seen as a good thing on some levels because it solves the issue of Perch failing to compress images that are uploaded at the correct dimensions, as per the ticket I logged here: https://community.perchcms.com/forum/thread/469-perch-not-compressing-images-that-are-not-resized/?postID=2113#post2113
As long as the TinyImage settings are not lossy then resizing from a compressed image is probably acceptable and wouldn’t be noticed.
For me, all considered, the current behaviour of the app is favourable—but from a purist point of view other people may not want the original image touched.
If you were to solve this ticket I guess it would be nice to have a checkbox option in the settings? Something like ‘compress original uploaded image’. I would then check this option as a user since it’s my preferred behaviour :)

From my experience with the Tiny api, "recompressing" an image didn't hinder the quality of the image, if an image was compressed the first round from 1Mb to 300Kb, the second time it would remain 300Kb.
right now the compression is on 2 events: assets.create_image and assets.upload_image.  Kraken uses only assets.create_image.  I remember adding the assets.upload_image to help reduce the server diskspace usage.
What do you think about adding an option to turn the assets.upload_image event on or off so users can decide if they want the original compressed as well ?

Yes, I think that's a good idea.
I understand that if you run an image through the Tiny API twice it will understand that it's already been compressed and will not do anything, BUT I'm not sure it will understand that an image has already been compressed if it's been newly resized by php.
I think the default should be to leave the original image uncompressed, as per the Kraken app behaviour which Drew authored.
I will probably throw caution to the wind and tick the option to compress the original image too, but I think there will be others that will consider that behaviour a bit destructive.

Closing as it has been addressed in Release v1.2.0


After the iOS textfield returns to the page in flutter 3.22.1, reclicking cannot invoke the keyboard.

Steps to reproduce

Enter any text in the textfield and click to jump to another page
Then gesture right swipe back (note that you must gesture right swipe back here)
After returning, click textfield again to refocus, but no keyboard pops up

Expected results
The input box refocuses
Actual results
The input field cannot be refocused
Code sample
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_textfield/test_2.dart';

class TestField extends StatefulWidget {
  const TestField({super.key});

  @override
  State<TestField> createState() => _TestFieldState();
}

class _TestFieldState extends State<TestField> {
  FocusNode focusNode = FocusNode();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        actions: [
          TextButton(
              onPressed: () {
                Navigator.push(
                  context,
                  MaterialPageRoute<void>(
                    builder: (BuildContext context) => Test2(),
                  ),
                );
              },
              child: Text('跳转'))
        ],
      ),
      body: Container(
        child: Center(
          child: TextField(
            focusNode: focusNode,
          ),
        ),
      ),
    );
  }
}

class Test2 extends StatefulWidget {
  const Test2({super.key});

  @override
  State<Test2> createState() => _Test2State();
}

class _Test2State extends State<Test2> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: Container(
        child: Center(
          child: Text('2'),
        ),
      ),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

https://github.com/flutter/flutter/assets/33590201/191382e2-bcba-4c91-b7c4-a7095809d869
Logs
Logs
[Paste your logs here]

Flutter Doctor output
[✓] Flutter (Channel stable, 3.22.1, on macOS 13.6.1 22G313 darwin-x64, locale zh-Hans-CN)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0-rc1)
[✓] Xcode - develop for iOS and macOS (Xcode 15.0.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.3)
[✓] VS Code (version 1.89.1)
[✓] Connected device (3 available)
[✓] Network resources

Hi @wahkim, this is a known issue at https://github.com/flutter/flutter/issues/148867 and it should be fixed on Flutter master channel, you can try switching to master channel and check the issue:
flutter channel master
flutter upgrade

I will close this as a duplicate of https://github.com/flutter/flutter/issues/148867. There is also a cherry pick request that you can follow up on it.

@huycozy Can this please be cherry picked into the stable branch? IMO this is an issue with a serious user impact if the keyboard does not open at all in some cases. Also having trouble with this bug in my app with the latest flutter version.
Would be much appreciated if a cherry pick could be considered, thanks.

Hi @wahkim, this is a known issue at #148867 and it should be fixed on Flutter master channel, you can try switching to master channel and check the issue:
flutter channel master
flutter upgrade

I will close this as a duplicate of #148867. There is also a cherry pick request that you can follow up on it.

I doubt the company projects would use master channel which is beta as their development sdk version. Doesn't such a big problem deserve a hotfix?

I think this is very urgent, having exact same issue. It works fine when going back to the page where the textfield is, but when swiping back there is no way to gain focus on a textfield.

嗨@wahkim，这是一个已知问题，在#148867，它应该在Flutter主频道上修复，您可以尝试切换到主频道并检查问题：>> > 颤动通道主> 颤动升级> >> 我将把作为#148867的副本来关闭。还有一个樱桃采摘请求，你可以跟进。

最新版本与插件冲突，如何指定更新到3.22.0-0.19.0.pre版本

This is the cherry-pick request, please follow up on it: https://github.com/flutter/flutter/issues/149178

Solved it temporarily by cherry picking routes.dart

A hotfix release (Flutter 3.22.2) was released today that resolves this issue:
https://github.com/flutter/flutter/blob/master/docs/releases/Hotfixes-to-the-Stable-Channel.md#3222-june-06-2024


Subscribers targetting

How to send the push notification to all subscribers? how are you handling it?

See #151. The Web Push protocol does not support broadcasting. To send a push notification to all subscribers, you need to send a single notification and repeat this for each subscription.

But how can you keep track of subscribers

Please read https://web-push-book.gauntface.com, specifically https://web-push-book.gauntface.com/chapter-02/01-subscribing-a-user/.


Docker fails to boot

I am getting  below error. May be we are using  -d --rm which convicts with each other.
./node_modules/.bin/jasmine  Started INFO: Running Docker Command: docker stop testmybot INFO: Running Docker Command: docker stop testmybot-fbmock INFO: docker stop testmybot exited with code 0 INFO: docker stop testmybot-fbmock exited with code 0 INFO: docker network rm exited with code 0 INFO: Running Docker Command: docker network create -d bridge testmybot_network INFO: docker network create exited with code 0 INFO: Running Docker Command: docker build -t testmybot -f ./node_modules/testmybot/Dockerfile.testmybot . INFO: Running Docker Command: docker build -t testmybot-fbmock -f ./node_modules/testmybot-fbmock/Dockerfile ./node_modules/testmybot-fbmock/ INFO: docker build testmybot-fbmock exited with code 0 INFO: docker build testmybot exited with code 0 INFO: Running Docker Command: docker run -d --rm -e NODE_TLS_REJECT_UNAUTHORIZED=0 --name testmybot --network testmybot_network --network-alias testmybot testmybot INFO: Running Docker Command: docker run -d --rm -p 46199:46199 -e TESTMYBOT_FACEBOOK_PUBLISHPORT=46199 -e TESTMYBOT_FACEBOOK_PAGEID= -e TESTMYBOT_FACEBOOK_USERPROFILEIDDEFAULT= -e TESTMYBOT_FACEBOOK_USERPROFILELOCALE=en_US -e TESTMYBOT_FACEBOOK_SEQNOSTART= -e TESTMYBOT_FACEBOOK_SENDDELIVERY=true -e TESTMYBOT_FACEBOOK_WEBHOOKURL= -e TESTMYBOT_FACEBOOK_WEBHOOKPORT=3000 -e TESTMYBOT_FACEBOOK_WEBHOOKPATH=facebook/receive -e TESTMYBOT_FACEBOOK_WEBHOOKHOST=testmybot -e TESTMYBOT_FACEBOOK_WEBHOOKPROTOCOL=http --name testmybot-fbmock --network testmybot_network --network-alias graph.facebook.com testmybot-fbmock INFO: docker run testmybot exited with code 1 INFO: docker run testmybot-fbmock exited with code 1 Unhandled rejection docker run testmybot returned error code 1

hi,
the log output tells exactly what docker command failed. can you please try to run those commands in sequence in your terminal window: (in the directory where your chatbot resides):
docker network create -d bridge testmybot_network
docker build -t testmybot -f ./node_modules/testmybot/Dockerfile.testmybot .
docker run --rm -e NODE_TLS_REJECT_UNAUTHORIZED=0 --name testmybot --network testmybot_network --network-alias testmybot testmybot
it should tell you why docker refuses to start.

Once I fire above commands in sequence, last one  give me below error,
docker: Error response from daemon: Conflict. The name "/testmybot" is already in use by container a07aaa8bb0c9492661dc56ef7247b176afab66c5a5818d232f103f781e5c4e13. You have to remove (or rename) that container to be able to reuse that name..

I am also getting below error
`INFO: docker run testmybot exited with code 1
ERROR: hears Error: Error: connect ECONNREFUSED <IP_ADDRESS>:46199
Unhandled rejection Error: says error: Error: connect ECONNREFUSED <IP_ADDRESS>:46199
at bot.says.then.catch (/Users/abidkhan/Desktop/Projects/node_practice/simplebot/spec/testmybot.spec.js:28:19)
at tryCatcher (/Users/abidkhan/Desktop/Projects/node_practice/simplebot/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/Users/abidkhan/Desktop/Projects/node_practice/simplebot/node_modules/bluebird/js/release/promise.js:512:31)
at Promise._settlePromise (/Users/abidkhan/Desktop/Projects/node_practice/simplebot/node_modules/bluebird/js/release/promise.js:569:18)
at Promise._settlePromise0 (/Users/abidkhan/Desktop/Projects/node_practice/simplebot/node_modules/bluebird/js/release/promise.js:614:10)
at Promise._settlePromises (/Users/abidkhan/Desktop/Projects/node_practice/simplebot/node_modules/bluebird/js/release/promise.js:689:18)
at Async._drainQueue (/Users/abidkhan/Desktop/Projects/node_practice/simplebot/node_modules/bluebird/js/release/async.js:133:16)
at Async._drainQueues (/Users/abidkhan/Desktop/Projects/node_practice/simplebot/node_modules/bluebird/js/release/async.js:143:10)
at Immediate.Async.drainQueues (/Users/abidkhan/Desktop/Projects/node_practice/simplebot/node_modules/bluebird/js/release/async.js:17:14)
at runCallback (timers.js:649:20)
at tryOnImmediate (timers.js:622:5)
at processImmediate [as _immediateCallback] (timers.js:594:5)
`
Also if i have configure docker-machine  and getting below ip.
$ docker-machine ip default <IP_ADDRESS>
It looks like  ip and port issue. Could you please help  on this.

With docker-machine, the docker VMs are actually running within another virtual machine. The docker processes cannot bind to the IP address <IP_ADDRESS>. I experienced this issue myself when I tried to run it on an old Windows 7 laptop.
Please try this:
run "docker-machine ip default" to get the IP adress which is assigned to your docker containers. For me, this is <IP_ADDRESS>.
Then add the setting
"testendpoint": "http://<IP_ADDRESS>:46199",
to the "testmybot.json" file in your project directory. The file should look something like this:
{
  "testendpoint": "http://<IP_ADDRESS>:46199",
  "docker": {
    "container": {
      "testmybot-fbmock": {
        "env": {
          "TESTMYBOT_FACEBOOK_WEBHOOKPORT": 5000,
          "TESTMYBOT_FACEBOOK_WEBHOOKPATH": "webhook"
        }
      }
    }
  }
}

I hav done what you have suggested, however still getting same issue.
` npm test

<EMAIL_ADDRESS>test /Users/abidkhan/Desktop/Projects/node_practice/simplebot
jasmine --trace-warnings

Started
INFO: Running Docker Command: docker stop testmybot
INFO: Running Docker Command: docker stop testmybot-fbmock
INFO: docker stop testmybot-fbmock exited with code 1
INFO: docker stop testmybot exited with code 1
INFO: docker network rm exited with code 1
INFO: Running Docker Command: docker network create -d bridge testmybot_network
INFO: docker network create exited with code 0
INFO: Running Docker Command: docker build -t testmybot -f ./node_modules/testmybot/Dockerfile.testmybot .
INFO: Running Docker Command: docker build -t testmybot-fbmock -f ./node_modules/testmybot-fbmock/Dockerfile ./node_modules/testmybot-fbmock/
INFO: docker build testmybot-fbmock exited with code 0
INFO: docker build testmybot exited with code 0
INFO: Running Docker Command: docker run -d --rm -e NODE_TLS_REJECT_UNAUTHORIZED=0 --name testmybot --network testmybot_network --network-alias testmybot testmybot
INFO: Running Docker Command: docker run -d --rm -p 46199:46199 -e TESTMYBOT_FACEBOOK_PUBLISHPORT=46199 -e TESTMYBOT_FACEBOOK_PAGEID= -e TESTMYBOT_FACEBOOK_USERPROFILEIDDEFAULT= -e TESTMYBOT_FACEBOOK_USERPROFILELOCALE=en_US -e TESTMYBOT_FACEBOOK_SEQNOSTART= -e TESTMYBOT_FACEBOOK_SENDDELIVERY=true -e TESTMYBOT_FACEBOOK_WEBHOOKURL= -e TESTMYBOT_FACEBOOK_WEBHOOKPORT=5000 -e TESTMYBOT_FACEBOOK_WEBHOOKPATH=webhook -e TESTMYBOT_FACEBOOK_WEBHOOKHOST=testmybot -e TESTMYBOT_FACEBOOK_WEBHOOKPROTOCOL=http --name testmybot-fbmock --network testmybot_network --network-alias graph.facebook.com testmybot-fbmock
INFO: docker run testmybot exited with code 1
Unhandled rejection docker run testmybot returned error code 1
INFO: docker run testmybot-fbmock exited with code 1
ERROR: hears Error: Error: connect ECONNREFUSED <IP_ADDRESS>:46199
Unhandled rejection Error: says error: Error: connect ECONNREFUSED <IP_ADDRESS>:46199
at bot.says.then.catch (/Users/abidkhan/Desktop/Projects/node_practice/simplebot/spec/testmybot.spec.js:28:19)
at tryCatcher (/Users/abidkhan/Desktop/Projects/node_practice/simplebot/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/Users/abidkhan/Desktop/Projects/node_practice/simplebot/node_modules/bluebird/js/release/promise.js:512:31)
at Promise._settlePromise (/Users/abidkhan/Desktop/Projects/node_practice/simplebot/node_modules/bluebird/js/release/promise.js:569:18)
at Promise._settlePromise0 (/Users/abidkhan/Desktop/Projects/node_practice/simplebot/node_modules/bluebird/js/release/promise.js:614:10)
at Promise._settlePromises (/Users/abidkhan/Desktop/Projects/node_practice/simplebot/node_modules/bluebird/js/release/promise.js:689:18)
at Async._drainQueue (/Users/abidkhan/Desktop/Projects/node_practice/simplebot/node_modules/bluebird/js/release/async.js:133:16)
at Async._drainQueues (/Users/abidkhan/Desktop/Projects/node_practice/simplebot/node_modules/bluebird/js/release/async.js:143:10)
at Immediate.Async.drainQueues (/Users/abidkhan/Desktop/Projects/node_practice/simplebot/node_modules/bluebird/js/release/async.js:17:14)
at runCallback (timers.js:649:20)
at tryOnImmediate (timers.js:622:5)
at processImmediate [as _immediateCallback] (timers.js:594:5)
INFO: Running Docker Command: docker stop testmybot
INFO: Running Docker Command: docker stop testmybot-fbmock
INFO: docker stop testmybot exited with code 1
Unhandled rejection docker stop testmybot returned error code 1
INFO: docker stop testmybot-fbmock exited with code 1
`

OK, for some reason, your docker container doesn't start.
First of all, please update to the latest version - I just published the current NPM packages.
Afterwards, please run these commands in line - the last one should fail and you will see why.
docker network create -d bridge testmybot_network
docker build -t testmybot-fbmock -f ./node_modules/testmybot-fbmock/Dockerfile ./node_modules/testmybot-fbmock/
docker run --rm -p 46199:46199 -e TESTMYBOT_FACEBOOK_PUBLISHPORT=46199 -e TESTMYBOT_FACEBOOK_PAGEID= -e TESTMYBOT_FACEBOOK_USERPROFILEIDDEFAULT= -e TESTMYBOT_FACEBOOK_USERPROFILELOCALE=en_US -e TESTMYBOT_FACEBOOK_SEQNOSTART= -e TESTMYBOT_FACEBOOK_SENDDELIVERY=true -e TESTMYBOT_FACEBOOK_WEBHOOKURL= -e TESTMYBOT_FACEBOOK_WEBHOOKPORT=5000 -e TESTMYBOT_FACEBOOK_WEBHOOKPATH=webhook -e TESTMYBOT_FACEBOOK_WEBHOOKHOST=testmybot -e TESTMYBOT_FACEBOOK_WEBHOOKPROTOCOL=http --name testmybot-fbmock --network testmybot_network --network-alias graph.facebook.com testmybot-fbmock

I think i found the problem. Please wait for next npm package!

Should be solved now. Please update NPM packages!