Keras doesn't release the memory after fit (single thread and multiprocessing)

System information

OS Platform: Windows, Linux
TensorFlow version ('v2.3.0-54-gfcc4b966f1', '2.3.1')
Python version: 3.8.6

Current behavior
This problem is unfortunately blocking my production code.
The example below is oversimplified but it's perfectly able to reproduce the issue.
I run many different models using different combinations of:

hyperparameters
features
samples

Finally I save all the models for further analysis.
In the example below, for the sake of simplicity, I fit and save the same model many times, but as I said, in the production code it would be a different model for each run.
I provide both single thread and parallel implementation .
1. Import
# built in
import psutil

# third party
import numpy as np
import tensorflow as tf

from dask import compute, delayed
from dask.distributed import Client
from scikeras._utils import make_model_picklable
from tensorflow.keras import Model
from tensorflow.keras import regularizers
from tensorflow.keras.backend import clear_session
from tensorflow.keras.layers import (
    Dense,
    Input,
    GRU,
    BatchNormalization,
    Dropout,
    Conv1D,
    Flatten
)

2. Keras model build function
def build_keras_model(
        X,
        nodes=15,
        activation="selu",
        kernel_initializer='random_uniform',
        regularizer_l1=0.05,
        regularizer_l2=0.0,
        recurrent_dropout=0.0,
        dropout=0.0,
        dense_units=tuple(),
        batchnorm=True,
        batchnorm_trainable=True,
        batchnorm_training=False,
        use_bias=False,
        loss='mse',
        optimizer='adam'
):
    shape = X.shape[1:]
    inputs = Input(shape=shape, name='inputs')

    x = Dropout(dropout)(inputs) if dropout else inputs

    x = GRU(
        nodes,
        activation=activation,
        recurrent_dropout=recurrent_dropout,
        return_sequences=False,
        kernel_initializer=kernel_initializer,
        kernel_regularizer=regularizers.l1_l2(regularizer_l1, regularizer_l2),
        activity_regularizer=regularizers.l1(0.0),
        use_bias=use_bias
    )(x)

    dense_units = dense_units or ()
    for n in dense_units:
        x = Dense(
            n,
            activation=activation,
            name=f'extra_dense{n}',
            kernel_regularizer=regularizers.l1_l2(0.01, 0.01)
        )(x)

    if batchnorm:
        x = BatchNormalization(trainable=batchnorm_trainable)(x, training=batchnorm_training)

    x = Dense(
        1,
        activation='linear',
        use_bias=use_bias,
        kernel_initializer='random_uniform',
        name='prediction'
    )(x)

    model = Model(inputs=inputs, outputs=x)
    model.compile(
        optimizer=optimizer,
        loss=loss
    )
    make_model_picklable(model)
    return model

3. Functions
def get_memory_usage():
    m_perc = psutil.virtual_memory().percent
    m_used = round(psutil.virtual_memory().used / 10e8, 4)
    return m_used, m_perc

def print_memory_usage(msg=0):
    m_used, m_perc = get_memory_usage()
    print(f'{msg}: memory used is {m_used}, {m_perc}% of total memory')

def fit_keras(model, X, y, **fit_params):
    model.fit(X, y, batch_size=fit_params.pop('batch_size', len(X)), **fit_params)
    return model

def run_keras_single(X, y, n_runs):
    models = []
    for i in range(n_runs):
        print_memory_usage(i)
        model = build_keras_model(X)
        model.fit(X, y, batch_size=len(X), verbose=0)
        models.append(model)
    return models

def run_keras_multi(X, y, n_runs):
    print_memory_usage('before')
    keras_model = build_keras_model(X)
    models = compute(*[delayed(fit_keras)(keras_model, X, y, epochs=20, verbose=0) for i in range(n_runs)])
    print_memory_usage('after')
    return models

4. Data
rng = np.random.default_rng(7)
n_samples = 500
n_timesteps = 10
n_features = 50
loc = 0
scale = 0.01

X = rng.normal(loc=loc, scale=scale, size=(n_samples, n_timesteps, n_features))
y = rng.normal(loc=loc, scale=scale, size=(n_samples,))

5. Run
n_runs = 1000

models_single = run_keras_single(X, y, n_runs)
models_multi = run_keras_multi(X, y, n_runs)

Conclusion
After running 1000 models and saving the results to the disk the saved models file size is about 10Mb. However the whole process both with and without multiprocessing requires almost 30GB of RAM which is not released after fitting.
Any suggestion on how to solve or mitigate the issue would be much appreciated.
Many thanks
Gio

Thank you for the answer!
I hope this can be solved soon.
If you need any test from my end please let me know.
@amahendrakar when you say you were able to reproduce the issue with TF v2.2, TF v2.3 and TF-nightly, does that mean that the issue is not present on TF v2.1?
Because if that is the case I can try to downgrade version while this is fixed.
Many thanks
Gio

@jvishnuvardhan any update on this?

I was able to replicate this issue in TF 2.7 too. Attaching Gist for Reference.Thanks!

still nothing?

@gioxc88 Support of keras has been moved to a different repo. Please post the issue here. Thanks! ans sorry for the inconvenience.


Notification actions

I already implemented the notifications and it works perfect, but, Can I add some action to execute when the user does touch in the notification?

Not from this library.  This library allows you to store metadata to react to it when your app resumes.  You'll need to hook into the appropriate events on both platforms (iOS appdelegate & an intent filter on droid I guess)

Is it possible to resume the application from hitting the notification? Can you provide an example of storing metadata along with the notification?

The notification object contains a dictionary where you can add the key/values.  To pick up this data, you'll need to look into each individual platform for how this metadata is retrieved.

Can you give me an example of using your notification object to store metadata?


Tagging the plugin

Could you please tag the plugin before the plugin-dependency changes?  I'm still using the old versions(prior to 1.0.0) of cordova-device and others and hence using the accessibility plugins results in compilation errors.

Thanks for fixing the issue! I'll work on this.
On Mon, Apr 20, 2015 at 10:12 AM, AmrutheshC<EMAIL_ADDRESS>wrote:

Could you please tag the plugin before the plugin-dependency changes? I'm
still using the old versions(prior to 1.0.0) of cordova-device and others
and hence using the accessibility plugins results in compilation errors.
—
Reply to this email directly or view it on GitHub
https://github.com/phonegap/phonegap-mobile-accessibility/issues/10.

*filing
On Mon, Apr 20, 2015 at 10:49 AM, Shazron<EMAIL_ADDRESS>wrote:

Thanks for fixing the issue! I'll work on this.
On Mon, Apr 20, 2015 at 10:12 AM, AmrutheshC<EMAIL_ADDRESS>wrote:

Could you please tag the plugin before the plugin-dependency changes? I'm
still using the old versions(prior to 1.0.0) of cordova-device and others
and hence using the accessibility plugins results in compilation errors.
—
Reply to this email directly or view it on GitHub
https://github.com/phonegap/phonegap-mobile-accessibility/issues/10.

Tagged previous 0.1.2:
cordova plugin add https://github.com/phonegap/phonegap-mobile-accessibility.git#0.1.2


error in feather.min.js path in header.html

When using a social tag and using local js libraries, there is an error loading feather.min.js
[params]
	useCDN = false # don't use CDNs for fonts and icons, instead serve them locally.

[[params.social]]
name = "GitHub"
icon = "github"
url = "https://github.com/sebasr"

Error encountered when loading the root page
sebasr.com/:1     GET https://sebasr.comjs/feather.min.js net::ERR_NAME_NOT_RESOLVED
(index):29 Uncaught ReferenceError: feather is not defined
    at (index):29:182
(anonymous) @ (index):29

resolving - mistake was on the site's configuration - baseURL was missing the trailing slash


fix build

Untested

@kangalio fixed builds on serenity-next

uploaded

why is it still failing

See the CI logs:

error[E0433]: failed to resolve: could not find bridge in client
--> src/prefix_argument/macros.rs:261:40
|
261 |             shard: ::serenity::client::bridge::gateway::ShardMessenger::new(
|                                        ^^^^^^ could not find bridge in client

https://github.com/serenity-rs/serenity/pull/2380

ugh, how do i give maintainers the ability to edit prs?

Making a new PR


Fix: BsDynLibManager "unload"

Since default comparator compares pointers and the mLoadedLibraries
needs to compare by getName() strings, using template specialization
should solve the problem.
In my limited testing this seems to work correctly, but @XMatrixXiang please check if this solves the issue you were having.
Fixes #111

@nemerle Thanks, I'll take a look as soon as I get a chance.

Thanks for the fix, the issue appears to be resolved. Merged.


Allow service factory functions to return promises

Here is a cleaned up PR for allowing User-Defined Services to be promise-fulfilled.
The original PR (Which I subsequently ruined with sloppy Giting... oops) is here: https://github.com/angular/angular.js/pull/3195
This PR includes docs changes as well as unit tests in addition to moving some of the logic into $q.all() as suggested.
Please see discussion on the old PR, and as always don't hesitate to take me to school ;-)

It looks like perhaps this has lost all traction, but I would still really like to see dependency injection become completely asynchronous.
It seems like it would really open a lot of doors new doors, such as:

write a shim for any asynchronous module loading library
create services that prefetch data only once (upon instantiation)
create decorators that perform asynchronous actions

We have looked into this, both in Angular 1 and Angular 2. Dependency Injection needs to be all synchronous or all asynchronous. As soon as one part is async then you have to make it all the same.
Further, making all DI async would be detrimental to the performance and maintainability of the core; and would also impact on the ease of use of the DI system in a number of cases for the application developer.
Angular 2 has not implemented async DI and we are not to do it Angular 1 either. Sorry.
There are some patterns for achieving the kind of thing you want. The most common being the use of resolve in ngRoute. This will block a navigation transition until a set of promises have resolved.


Problem with path project (special characters)

Bug Report: InvalidRequirement Error when Parsing requirements.txt
Description
When running the check-requirements-txt script, an InvalidRequirement error is raised due to the presence of invalid characters in the requirements.txt file. The traceback suggests a parsing failure on a string containing unexpected characters like '��a\x00t\x00t\x00'.
Probably associated with special charectes of latin languages on path to project and requirements.
requirements file:
attrs==23.1.0
beautifulsoup4==4.12.2
certifi==2023.7.22
cffi==1.15.1
contourpy==1.1.0
cycler==0.11.0
et-xmlfile==1.1.0
exceptiongroup==1.1.3
fonttools==4.42.1
greenlet==2.0.2
h11==0.14.0
idna==3.4
kiwisolver==1.4.5
matplotlib==3.7.3
numpy==1.25.2
openpyxl==3.1.2
outcome==1.2.0
packaging==23.1
pandas==2.1.0
Pillow==10.0.0
pycparser==2.21
pyodbc==4.0.39
pyparsing==3.1.1
PySocks==1.7.1
python-dateutil==2.8.2
python-dotenv==1.0.0
pytz==2023.3.post1
seaborn==0.12.2
selenium==4.12.0
six==1.16.0
sniffio==1.3.0
sortedcontainers==2.4.0
soupsieve==2.5
SQLAlchemy==2.0.20
trio==0.22.2
trio-websocket==0.10.4
typing_extensions==4.7.1
tzdata==2023.3
urllib3==2.0.4
wsproto==1.2.0
Path to requirements (windows), i will use [] to ommit real data
C:\Users[user]\OneDrive - [organization that contains special character in name like"INDÚSTRIA"]\Área de Trabalho\projects\project\requirements.txt
...

File "...\requirements.py", line 104, in init
raise InvalidRequirement(
pkg_resources.extern.packaging.requirements.InvalidRequirement: Parse error at "'��a\x00s\x00t\x00'": Expected W:(0-9A-Za-z)


Couldn't pass parameters to testng.xml from command line with Maven

TestNG Version

7.1.0

I followed the instructions specified by @krmahadevan in stackoverflow and in his blog to pass the parameters from command line to testng.xml with maven but it did not work either. I couldn't comment as I'm bit new to stackoverflow and dont have sufficient reputation to do so. Hence creating this ticket to fix the issue.
Test case sample
@Test
@Parameters("name")
public void hello(String name) {
	System.err.println("Hello " + name + " !");
}

testng.xml
<?xml version="1.0"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="sample_suite" verbose="1" parallel="false" thread-count="2">
    <test name="sample_test">
        <parameter name="name" value="Krishnan"/>
        <classes>
            <class name="ParameterisedSampleTestClass"/>
        </classes>
    </test>
</suite>

mvn command

mvn clean test -Dname=Hari

output

Hello Krishnan !

Expected behavior
As per @krmahadevan comment here and in his blog parameter value passed from command line should be passed to the test. In the example provided command line value "Hari" should be passed as value instead of "Krishnan" that is hardcoded in testng.xml
So in short expected output is

"Hello Hari!" and not "Hello Krishnan !"

Actual behavior
Instead of command line value "Hari", value "Krishnan" is passed to test and it print as

"Hello Krishnan !" instead of "Hello Hari !"

Is the issue reproductible on runner?

[ ] Shell
[x] Maven
[ ] Gradle
[ ] Ant
[x] Eclipse
[x] IntelliJ
[x] NetBeans

This is already fixed as part of https://github.com/cbeust/testng/issues/2238 and will be available as part of 7.2.0 release which is yet to be released.


License ?

Hello, under what license is this project released under ? Thank-you.

Didn't originally have one, added - 105ed267ae4bda0417478a966f9a3b7d6ef5f816


clang-format config/script; not applied to code.

Description of changes:
An example run of clang-format, using the C ESDK config, without code reformatting.
Changes from default (carried over from #1321 ):

AfterFunction: true
SpaceAfterCStyleCast: true
Cpp11BracedListStyle: true
BreakStringLiterals: false
AlignConsecutiveAssignments: false

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

:exclamation: No coverage uploaded for pull request head (clang_format_config_only@6b38d05). Click here to learn what that means.
The diff coverage is n/a.


[Darwin Framework] Support Deleting Devices

Support an API to delete devices on Darwin platforms.

Fixed in #3789


Demo

It would be awesome to have a demo project to test (and/or a mini video/GIF in the readme of github)

Hi @denadai2
I agree with you but I don't have enough time to add a demo project right now, also doesn't use this library for almost 2 years. I've no idea if it works well with XCode 6.x.
It would be awesome if someone add it and send as pull request.


Z-Index Problem with dropdown menu in settings

When choosing the standard editor profile for new tabs the appearing dropdown menu is floating over the window borders when scrolling.
https://user-images.githubusercontent.com/71900957/119511736-ff2d1c80-bd72-11eb-9240-8b1c349dc50b.mp4

Thanks for the report! This is actually already being tracked by another issue on our repo - please refer to #9320 for more discussion.
/dup #9320


Deploy App & Create Readme

Build & deploy application to github pages
Create image assets for readme
Complete the readme document

Integrated under: commit 38ca9959a39d21a7a714c6fbf402cc55d5aa7b22 .


Removing hack that forced all Vulkan buffers to be host-visible.

After removing copy/fill from the compiler the only users are now C code
that can be easily changed to do the right thing.
Fixes #5268.

Yay!

@antiagainst what's the best way to test this? do I need to do some buildkite something or other?

Kicked off NVIDIA tests for this PR.

Android and turing tests seem to have passed! Ship it!


Extension causes high cpu load

Issue Type: Performance
Extension Name: bracket-pair-colorizer-2
Extension Version: 0.0.28
OS Version: Linux x64 5.0.6-xanmod4
VSCode version: 1.33.0

CoenraadS.bracket-pair-colorizer-2-unresponsive.cpuprofile.txt
Find more details here: https://github.com/Microsoft/vscode/wiki/Explain:-extension-causes-high-cpu-load

Duplicate of #55. Please close this and post there instead.
@qell


camel-debezium: Add in the documentation about the dependency inclusion

Just adding in the documentation about the dependency

This will need to updated if the underlying version will change. LGTM.


cask-repair fails when prompting for password

When using an https based remote, something is getting in the way of capturing the username/password for github.
$ cask-repair --pull origin --push jbeda consul
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
cask 'consul' do
  version '0.6.1'
  sha256 '358654900772b3477497f4a5b5a841f2763dc3062bf29212606a97f5a7a675f3'

  # hashicorp.com is the official download host per the vendor homepage
  url "https://releases.hashicorp.com/consul/#{version}/consul_#{version}_darwin_amd64.zip"
  name 'Consul'
  homepage 'https://www.consul.io/'
  license :mpl

  binary 'consul'
end
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Type the new version (or leave blank to abort)
> 0.6.0
==> Downloading external files for Cask ./consul.rb
==> Downloading https://releases.hashicorp.com/consul/0.6.0/consul_0.6.0_darwin_amd64.zip
######################################################################## 100.0%
==> No checksum defined for Cask consul, skipping verification
==> Success! Downloaded to -> /Library/Caches/Homebrew/consul-0.6.0.zip
audit for consul: passed
diff --git a/Casks/consul.rb b/Casks/consul.rb
index c67b778..a4dc885 100644
--- a/Casks/consul.rb
+++ b/Casks/consul.rb
@@ -1,6 +1,6 @@
 cask 'consul' do
-  version '0.6.1'
-  sha256 '358654900772b3477497f4a5b5a841f2763dc3062bf29212606a97f5a7a675f3'
+  version '0.6.0'
+  sha256 '29ddff01368458048731afa586cec5426c8033a914b43fc83d6442e0a522c114'

   # hashicorp.com is the official download host per the vendor homepage
   url "https://releases.hashicorp.com/consul/#{version}/consul_#{version}_darwin_amd64.zip"
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Is everything correct? You can also make further manual edits (y/n/e) y
Username for 'https://github.com': Password for 'https://github.com':
remote: Anonymous access to jbeda/homebrew-cask.git denied.
fatal: Authentication failed for 'https://github.com/jbeda/homebrew-cask.git/'
Error creating pull request: Unprocessable Entity (HTTP 422)
Missing field: "head_sha"
Missing field: "base_sha"
No commits between master and update-consul

Submitted

I'm not sure what is going on here but I suspect that it is the --quiet flag to the git push.
Also, this bash script continues to blunder on when errors are encountered.  I'd suggest you set the following options (for pretty much any substantial bash script) to reduce unexpected behavior:
set -o errexit
set -o nounset
set -o pipefail

If there is still clean up to be done even in these error cases, consider using a trap on ERR or EXIT.

Removed output of doctor commands, since it isn’t really useful. I would, however, like to know the installed versions of cask-repair and hub.
As for the set options, I usually don’t set them deliberately (for various reasons), but I should in this case.
To be honest, ideally I wouldn’t even let the script start unless hub was already configured (similarly to what I do for ghi in other scripts. Unfortunately, they don’t provide a way to do that, but if this can cause an issue with cask-repair, I’d rather just go with the original idea and not let it run until configured.
I don’t really understand what happened in your case, though, could you clarify? For one, the requests for github username and password are a bit strange (they differ from what I just got in my quick test), but what happened there exactly? Did you simply ↩ through them?

Figured out an acceptable way to suggest how to configure hub prior to running the script, which I prefer and should fix your issue (since you won’t get there).
But I’d still like to know details of

I don’t really understand what happened in your case, though, could you clarify? For one, the requests for github username and password are a bit strange (they differ from what I just got in my quick test), but what happened there exactly? Did you simply ↩ through them?

Closing for lack of reply.

@vitorgalvao Sorry I dropped the ball here.  This stuff got filtered in my mail.
With the line:
Username for 'https://github.com': Password for 'https://github.com':

I didn't just hit return.  It (git? hub?) output that one line and was waiting for input.  Regardless if I put in my username or github password, things would proceed the same.  Note that if I use ssh based remotes (with my ssh-agent running) things work fine.


Give an example with buttons and response handling

Please, give an example of how to implement a slack bot, which proposes a few options by displaying buttons, and handles the button clicks.

The RTM API doesn't support interactive messages. You will have to perform these using web API.
Please refer to this page for more information
https://api.slack.com/messaging/interactivity/enabling#responding_to_interactions

Follow the tutorial of this link https://api.slack.com/tutorials/intro-to-message-buttons

Here, just add the attachment directly to params for postMessageToChannel.
Example:
    const params = {
        icon_emoji: ':smiley:',
        "text": "Would you like to play a game?",
        "attachments": [
            {
                "text": "Choose a game to play",
                "fallback": "You are unable to choose a game",
                "callback_id": "wopr_game",
                "color": "#3AA3E3",
                "attachment_type": "default",
                "actions": [
                    {
                        "name": "game",
                        "text": "Chess",
                        "type": "button",
                        "value": "chess"
                    },
                    {
                        "name": "game",
                        "text": "Falken's Maze",
                        "type": "button",
                        "value": "maze"
                    },
                    {
                        "name": "game",
                        "text": "Thermonuclear War",
                        "style": "danger",
                        "type": "button",
                        "value": "war",
                        "confirm": {
                            "title": "Are you sure?",
                            "text": "Wouldn't you prefer a good game of chess?",
                            "ok_text": "Yes",
                            "dismiss_text": "No"
                        }
                    }
                ]
            }
        ]

    };
    app.postMessageToChannel(
        'general',
        'What\'s up laddies!', params
    )

Screenshot:

@prashant1k99 Did you found a solution for listening to the response?

@aliehsan90 not yet, if you find it then please do tell us.


Add known warning filters

This PR is disassociated from my fork due to the change from a private repo and is not capturing new changes. Will need to open a brand new PR it looks like...


BluetoothGatt null protection in startConnectionTimer

Added protection in startConnectionTimer for potential null bluetoothGatt when calling onConnectionStateChange callback.
Same change as in v2.2.3 of the blessed-android repository, ported as is.

I made this change and some others as part of the new release: 0.3.2.
So this PR is not needed anymore

Thanks for the update, tested and working well


Add purity as an advantage of Haskell

Having had the dubious honor of maintaining 3 million lines of C++, I can say it was the endless side-effects that killed us!  We couldn't change anything without considering tons of code.  What we would have given for pure functions!
Strong-typing in an imperative language is a sham, because functions with signatures like "int foo(int x)" can do whatever they like.

I agree!  Thanks :)

Thank you!  And thank you for all your good work over the years!

 :)


Session Manager

Please do work for this task in a branch named issue-XXX.

Completed, open this issues back if there's problem


-x has no "*" option

Bug Description
-s '*' can be used to include all environment variables from a pod but -x '*' is ignored. -s '' can be used for the same effect as a workaround.
Steps to Reproduce

run mirrord exec -x '*' ...
assert that env variables from the pod are there

Backtrace
No response
Relevant Logs
No response
Your operating system and version
Linux
Local process
does not matter
Local process version
No response
Additional Info
No response

Don't you get the same behavior from omitting these two arguments entirely?

My observations without looking at the code:

without flags all env vars are enabled from the pod
-s '': no env vars from pod
-x "FOO": env vars from pod without FOO

Don't you get the same behavior from omitting these two arguments entirely?

I assume the desire here is to not have remote environment. The default is to provide same env

Yup, understood, my mistake.


Update gcc-arm-embedded.rb

Closes https://github.com/caskroom/homebrew-cask/issues/30634.

20161216 is really specific, while 2016q4 is more geral. Even if the former changed 365 times in a year, the latter would only change four times. As such, if we have to miss interpolating one, I’d rather lose the latter than the former.

It simplifies the rest of the Cask though, IMO


[readme] fix typos

I will never escape my inability to spell. I will never escape my inability to spell. I will never escape my inability to spell. I will never escape my inability to spell. I will never escape my inability to spell. I will never escape my inability to spell. I will never escape my inability to spell. I will never escape my inability to spell. I will never escape my inability to spell. I will never escape my inability to spell…


Determine our attitude toward local network portscans

The SOCKS protocol allows a proxy to report detailed error codes explaining how a connection failed.  In particular, a connection might fail with

"not allowed", indicating that the proxy doesn't permit connections to that destination
"host unreachable", indicating that there is no route to that address
"connection refused", indicating that there is a machine listening at that address, but it is not accepting connections on that port
a long delay followed by failure, indicating that the address is routable but no ACK was received

We would like to allow a user to let third parties access the internet from their machine, but deny them access to local network resources, such as daemons running on localhost or unsecured router configuration consoles.  Crucially, the remote user may request to connect to a domain name that resolves to a local network address, and current browser APIs do not provide any way for us to determine the name's resolved IP address until after the connection is attempted.  Therefore, we cannot prevent a remote user from opening a socket to any local network address.  However, we can prevent them from sending any data on that socket, if it connects to a local network IP address (https://github.com/uProxy/uproxy/issues/780).  This seems sufficient, because opening sockets that are then closed without sending any data should not enable any exploits (although some strange port knocking implementations might somehow be vulnerable).
However, there is a secondary concern: how much information can a third party learn about the services running on my local network?  Consider a remote connection attempt to some port on <IP_ADDRESS>.xip.io (a DNS name that happens to resolve to <IP_ADDRESS>, a common router address).  If the TCP socket connects, a complete SOCKS proxy might review the socket metadata, see that the IP address is on the local network, and reply to the client with a "not allowed" error code.  However, suppose that there is nothing listening on that port.  In that case, the socket will fail to connect.  If the browser does not reveal the IP address associated with a failed socket, then the proxy's most accurate reply is "connection refused".  This allows the client to distinguish between ports that are listening and ports that are not, which might allow them, for example, to determine what model of router I have, and how it is configured.
The security impact of revealing this information is unclear.  Presumably, any attacker with an automated exploit could run it against all possible targets, rather than just those targets that match some profile.
The error responses would also allow a client to determine the subnet structure of the local network, and which IP addresses are in use, by checking which addresses return an error code quickly, and which time out slowly.  Again, the security impact is unclear, because most hosts operate on networks with a very small number of subnet structures.
We have a decision to make.

If we think that leaking this information is No Big Deal, then we can start reporting detailed error codes to clients, which might enable browsers to provide better explanations to users if a site is inaccessible (or if the user typos the domain name).
If we think that users who don't want to leak this info should filter local IP addresses from their DNS server (as is done on some corporate networks), then we can prevent all these leaks by (additionally) filtering IP address destinations, and returning NOT_ALLOWED in those cases, without ever opening a socket.
If we think that leaking which local IP addresses are in use (if the DNS server supports local IP addresses) is OK, but allowing portscans is not, then we can return the same error code (probably "generic failure") for both connection-refused and not-allowed ... and once the browsers report IP addresses for failed connections to DNS names, we can start distinguishing these two again.
If we think that leaking which local IP addresses are in use is not OK, then we will need the browsers to report DNS resolution results immediately after attempting the connection, even before the connection has succeeded or failed.  (Otherwise, we have no choice but to wait for the timeout before reporting an error, so the two cases are trivially distinguishable by timing.)

The pull request at https://github.com/uProxy/uproxy-networking/pull/187 is intended to improve error reporting while staying compliant with options 1, 2, or 3.

Leaking which local addresses and ports are in use is not a big deal.
Similar information can be gained by a befriended attacker who is luring the local user to a website. It can be assumed that the remote attacker is able to do that since there is some level of trust between the local and remote user. On the attacker's website, WebRTC can be used to learn information about the user's local IP addresses. The timing information from XHR can be used by the attacker to port scan the user's local network from the user's browser. Port scans can be also done using other means, e.g. img tags, cors or websockets.
Therefore uProxy is not significantly expanding the capability of an attacker with option 1.

https://github.com/beefproject/beef/wiki/Module:-Port-Scanner

Many thanks for the analysis, @felixgr!
Whatever the risk, it seems to me like @bemasc did a great job anticipating the problems so I think we can drop the priority on this.

@bemasc anything else you would do here?

I think we've reached a satisfactory point on this issue.


Add a configurable relogin delay.

Add a new configurable setting to add a delay between login requests to the SAIC API.
This implements and fixes #11

Thank you for your contribution, but I don't think your code implements your requirement. At least it might have some side effects.
Almost every request needs to to be sent multiple times. This is because the car needs to wake up before it can provide data (if it's not running or charging). If the login credentials are expired in the meantime, a re-login is required. Combining this re-login with a delay will potentially slow down everything.
I think what you are trying to achieve has already been implemented in the Java version. Is this how it's done in Java?

The Java API or MQTT gateway never implemented such feature. Right now SAIC API tokens never actually expire. In fact one could sniff the same used by the mobile app and use it for another client, avoiding any disconnections. So the only scenario of having to do a re-login is when the app gets opened, invalidating the current session.
I know it's a work-around and probably not the prettiest one, but right now without a cooldown is basically impossibile to use gateway while traveling (since the app allows you to start remote cooling, stop charing and set charging limits).
I have revised the PR bringing the default cooldown value to 0 so that the behaviour is backwards compatibile and shouldn't cause any unwanted side effects.

Sorry, I didn't had time yet to take care about this. In addition, I am planning to refactor stuff. All this special logic related to waiting and retrying should go into the python-saic-client so that the applications that use it don't have to bother with this stuff.
Did you already test your code changes? What are your experiences so far?

Sorry, I didn't had time yet to take care about this. In addition, I am planning to refactor stuff. All this special logic related to waiting and retrying should go into the python-saic-client so that the applications that use it don't have to bother with this stuff.

Makes sense :)

Did you already test your code changes? What are your experiences so far?

I've been running my latest commit since yesterday. Works fine with a 15 minutes delay as it allows me to use the app in a pinch while not loosing too much data in the process. I'll probably try with a lower timeout (e.g. 5 minutes).

Superseded by new implementation on develop


Support preferred_element_type in jax.numpy.convolve

I would like to compute a jax.numpy.convolve on int8 input arrays, accumulating to an int32 output array. With einsum I can use preferred_element_type to accomplish this, but the option is not present in convolve.
A = jnp.array([127,127,127,127], dtype=jnp.int8)
B = jnp.array([2,2,2,2], dtype=jnp.int8)
jnp.convolve(A, B, mode="valid", preferred_element_type=jnp.int32)
# Array([1016], dtype=int32)

conv_general_dilated has the option, so I was able to get a workaround as the following function, which copies lax_numpy._conv, omits the branches I don't care about, and notably omits the line
x, y = util.promote_dtypes_inexact(x, y)
which promotes the integral types to floats.
from jax._src.numpy.lax_numpy import asarray, ndim, flip

@partial(jax.jit, static_argnums=(2,))
def conv_helper(x, y, preferred_element_type=jnp.int32):
  x = asarray(x)
  y = asarray(y)
  if ndim(x) != 1 or ndim(y) != 1:
    raise ValueError(f"{op}() only support 1-dimensional inputs.")
  if len(x) == 0 or len(y) == 0:
    raise ValueError(f"{op}: inputs cannot be empty, got shapes {x.shape} and {y.shape}.")

  # op = "convolve"
  out_order = slice(None)
  if len(x) < len(y):
    x, y = y, x
  y = flip(y)
  # mode: valid
  padding = [(0, 0)]

  result = jax.lax.conv_general_dilated(
      x[None, None, :], y[None, None, :], (1,),
      padding, precision=None,
      preferred_element_type=preferred_element_type,
  )
  return result[0, 0, out_order]

Thanks for the request! With #16487 this is now possible:
In [1]: import jax.numpy as jnp

In [2]: x = jnp.arange(10, dtype='int8')

In [3]: y = jnp.ones(3, dtype='int8')

In [4]: jnp.convolve(x, y, preferred_element_type='int32')
Out[4]: Array([ 0,  1,  3,  6,  9, 12, 15, 18, 21, 24, 17,  9], dtype=int32)

Thanks!

PR isn’t in yet


Pre-Survey for OCR task

pre-survey OCR task for ranges below

What is OCR
What is leading model/methods for OCR
How to study & apply for our model

https://github.com/kmouleejunhyuk/MarchHare/wiki


Please revise your release flow

Disclaimer
This is the fourth time I review this text and I try to make it as calm as possible and remove all the hate speech. I appreciate the work you've done to make this app a reality and have no expectations, but I have a suggestion for your team to consider.
Summary
Being a company who run our own mattermost instance and have our own push server with own app and own push certificates, we have slightly different configuration in the working tree.
Every merge of release branch causes a lot of conflicts, because of the way you prepare releases. Please see details below.
Expected behavior
Merge of your release branch into our company branch goes well, only having incompatibility in the configuration files or when your changes overlap our changes.
Observed behavior
Merge of your release branch into our company branch goes bad, always having a lot of merge conflicts in the unrelated code – basically your own code conflicts with your another code. I have to solve this on my own, that is usually 40+ files to solve.
You can easily replicate this pain if you merge let's say v1.20 into v1.18 branch. In ideal world this should be a conflict-free merge and in fact it is the case for the most projects.
Possible fixes
At the moment you have to cherry-pick fixes from one release branch (e.g. v1.17) to all newer release branches (e.g. 1.18, 1.19) and the development branch. If you merge v.17 into v.18 you this will not only make it simpler for you to reapply conflict fixes in newer branches, but also streamline commits propagation into branches, and also this will fix release management for the companies like us who run own instances.

Assuming they are using the same flow as used in webapp/server, a git rebase --onto might help you!
For example, to apply my changes to 5.12.0, after they've been on 5.10.0, I use git rebase --onto v5.12.0 v5.10.0.

Yes, this is possible workaround and in fact I do it when there are too much of the conflicts to resolve in a reasonable time. Still, it has downsides too:

it produces unnecessary commit duplicates – all versions would have same set of changes on top of them
in order to keep organized, I would need to have my very own tags which basically duplicate yours but have same set of changes on top

Please consider this Issue not as a complaint (though it is one) but as another point against current branching model of the mattermost team. It is a GIT, not SVN, so why to use it as if it is SVN? You're loosing the beauty of GIT: it's seamless merges. :)
I saw https://developers.mattermost.com/contribute/getting-started/branching/ but unfortunately it has no reasoning behind. Though I did not talk with anyone in the chat – sure this will be ignored as soon as my message goes away from the screen – everyone has tickets to do, not a chat to read.

It was a theme yesterday at the dev meeting:

This is the flow that we use https://developers.mattermost.com/contribute/getting-started/branching/

Hi. I wonder did it go any further since your last message? Or maybe you have some schedule to describe some reasoning in the wiki?

I think @enahum need to answer this

I asked our devs about this and they said that having merge conflicts was a known issue when we decided to adopt this branching policy.
A workaround is that you can rebase your branch instead of merge the following release's branch to avoid merge conflicts. I can open a doc PR to update the existing documentation with this tip.

Going to close this issue as it hasn’t had any recent activity


Default value 'multiple'

Hello Sergio,
great job, thanks a lot.
Can you please change a small thing?
multiple: $this.attr('multiple'),
to
multiple: false,
So the HTML-Input element dont need the attribute "multiple".
Thank you.

hi,
Sure, I'll do that in my next release!
Cheers,
Sérgio

Great, thanks


Add examples of how to use the ECS

The ECS, while it is available on Maven Central, does not have any explanations or examples of how to use it.
This is an integral part of what a repository should contain -- it needs to be added as soon as possible.

Issue resolved; awaiting push to release before closing.


System.Time - Ticks can be a UInt64 or ulong

Ticks can be unsigned, it have no sense to have -1 Ticks.
Also, in some methods exists the check of:
 if (ticks < MinTicks ){throw Exception();}
This kind of checks can be deleted as the compiler will already check it.

While true traditionally types in BCL avoid using unsigned numbers to avoid constant conversions between signed and unsigned for developer:
https://msdn.microsoft.com/en-us/library/system.datetime.ticks(v=vs.110).aspx
https://msdn.microsoft.com/en-us/library/system.timespan.ticks(v=vs.110).aspx
https://msdn.microsoft.com/en-us/library/system.io.stream.length(v=vs.110).aspx
Is is even recommended in coding conventions:
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/inside-a-program/coding-conventions#unsigned-data-type
So I don't believe this should be an exception.


Authorization

Hi, thanks for you amazing project, is there a way to add any type of authorization?

What kind of auth would you like to see? Normally it should be handled by higher lever authorizing web-proxy but if there is something in webocket land we might need to consider it.

how about the browser's builtin basic http auth, because that also works for https (when the ssl certs are configured for websocketd):
func basicAuth(username, password string) string {
  auth := username + ":" + password
  return base64.StdEncoding.EncodeToString([]byte(auth))
}

func redirectPolicyFunc(req *http.Request, via []*http.Request) error{
  req.Header.Add("Authorization","Basic " + basicAuth("username1","password123"))
  return nil
}

func main() {
  client := &http.Client{
    Jar: cookieJar,
    CheckRedirect: redirectPolicyFunc,
  }

  req, err := http.NewRequest("GET", "http://localhost/", nil)
  req.Header.Add("Authorization","Basic " + basicAuth("username1","password123"))
  resp, err := client.Do(req)
}

how about the browser's builtin basic http auth, because that also works for https (when the ssl certs are configured for websocketd):↳
func basicAuth(username, password string) string {
  auth := username + ":" + password
  return base64.StdEncoding.EncodeToString([]byte(auth))
}

func redirectPolicyFunc(req *http.Request, via []*http.Request) error{
  req.Header.Add("Authorization","Basic " + basicAuth("username1","password123"))
  return nil
}

func main() {
  client := &http.Client{
    Jar: cookieJar,
    CheckRedirect: redirectPolicyFunc,
  }

  req, err := http.NewRequest("GET", "http://localhost/", nil)
  req.Header.Add("Authorization","Basic " + basicAuth("username1","password123"))
  resp, err := client.Do(req)
}

Hope  it can add this feature.


website down

website with playground and tutorials is down.

Its up again, it may have been a slight problem with the hosting?

Yep seems to be up again!

That's interesting, it's just a simple heroku app but thankyou for letting me know! I was not aware of the outage


Selection in multiple "select" is invisible when out of focus

How to reproduce
This problem is not visible in Safari. Only in Chrome or Firefox.
Steps to reproduce the behavior:

Go to https://storybook.core.clarity.design/?path=/docs/stories-select--multiple in Chrome
Select several options
Click somewhere outside the input
The selection is not visible anymore
If you click on the label, select gets focus and the selection is visible again.

Expected behavior
When out of focus, the selection should be dim, but visible. As in Safari
Versions
Clarity project:

[x] Clarity Core
[ ] Clarity Angular/UI

Framework version:
ie: Angular 11
Device:

Type: Mac
Browser Chrome

Additional notes
Add any other notes about the problem here.

Inspecting the element lead me to believe the cds-select component style is the culprit.
cds-select option {
  background: var(--cds-alias-object-container-background,var(--cds-global-color-white,#fff));
  ...

When I disable this rule, the selected option got applied the related browser styling.


Option multi_colors incorrectly applied in PyGeometry script

🔍 Before submitting the issue

[X] I have searched among the existing issues
[X] I am using a Python virtual environment

🐞 Description of the bug
The script below generates 10 bodies (layers). The option multi_colors is set to True and 10 bodies with 10 different colors are expected. However, only two different colors (orange and green) can be seen:
from pint import Quantity

from ansys.geometry.core import launch_modeler
from ansys.geometry.core.math import UNITVECTOR3D_Z, Point2D
from ansys.geometry.core.misc import UNITS
from ansys.geometry.core.sketch import Sketch

sketch = Sketch()

(
    sketch.segment(Point2D([0, 0], unit=UNITS.mm), Point2D([40, 1], unit=UNITS.mm), "LowerEdge")
      .arc_to_point(Point2D([41.5, 2.5], unit=UNITS.mm), Point2D([40, 2.5], unit=UNITS.mm), tag="SupportedCorner")
      .segment_to_point(Point2D([41.5, 5], unit=UNITS.mm))
      .arc_to_point(Point2D([43, 6.5], unit=UNITS.mm), Point2D([43, 5], unit=UNITS.mm), True)
      .segment_to_point(Point2D([55, 6.5], unit=UNITS.mm))
      .arc_to_point(Point2D([56.5, 8], unit=UNITS.mm), Point2D([55, 8], unit=UNITS.mm))
      .segment_to_point(Point2D([56.5, 35], unit=UNITS.mm))
      .arc_to_point(Point2D([55, 36.5], unit=UNITS.mm), Point2D([55, 35], unit=UNITS.mm))
      .segment_to_point(Point2D([0, 36.5], unit=UNITS.mm))
      .segment_to_point(Point2D([0, 0], unit=UNITS.mm))
      .circle(Point2D([4, 4], UNITS.mm), Quantity(1.5, UNITS.mm), "Anchor1")
      .circle(Point2D([51, 34.5], UNITS.mm), Quantity(1.5, UNITS.mm), "Anchor2")
)

#sketch.plot()
modeler = launch_modeler()
print(modeler)

design = modeler.create_design("ExtrudedBoardProfile")

layers = []
layer_thickness = Quantity(0.20, UNITS.mm)
for layer_index in range(10):
    layers.append(design.extrude_sketch(f"BoardLayer_{layer_index}", sketch, layer_thickness))
    sketch.translate_sketch_plane_by_distance(UNITVECTOR3D_Z, layer_thickness)

board_named_selection = design.create_named_selection("FullBoard", bodies=layers)
print("Layers: "+str(len(layers)))
design.plot(multi_colors=True)

📝 Steps to reproduce
Just execute posted in the Description section
💻 Which operating system are you using?
Windows
📀 Which ANSYS version are you using?
v2024R1 and v2024R2
🐍 Which Python version are you using?
3.10
📦 Installed packages
aiohappyeyeballs==2.4.2
aiohttp==3.10.8
aiosignal==1.3.1
ansys-api-dbu==0.3.4
ansys-api-geometry==0.4.8
ansys-geometry-core==0.7.2
ansys-tools-path==0.6.0
ansys-tools-visualization-interface==0.4.4
appdirs==1.4.4
async-timeout==4.0.3
attrs==24.2.0
beartype==0.18.5
certifi==2024.8.30
charset-normalizer==3.3.2
click==8.1.7
colorama==0.4.6
contourpy==1.3.0
cycler==0.12.1
flexcache==0.3
flexparser==0.3.1
fonttools==4.54.1
frozenlist==1.4.1
grpcio==1.66.2
grpcio-health-checking==1.66.2
idna==3.10
kiwisolver==1.4.7
matplotlib==3.9.2
more-itertools==10.5.0
msgpack==1.1.0
multidict==6.1.0
numpy==2.1.1
packaging==24.1
pillow==10.4.0
Pint==0.24.3
platformdirs==4.3.6
pooch==1.8.2
protobuf==5.27.2
pyparsing==3.1.4
python-dateutil==2.9.0.post0
pyvista==0.44.1
requests==2.32.3
scipy==1.14.1
scooby==0.10.0
semver==3.0.2
six==1.16.0
trame==3.6.5
trame-client==3.3.2
trame-server==3.2.3
trame-vtk==2.8.10
trame-vuetify==2.7.1
typing_extensions==4.12.2
urllib3==2.2.3
vtk==9.3.1
websockets==13.1
wslink==2.2.1
yarl==1.13.1

Hi @NMLDNV - thanks for opening this issue! As reported internally, this is happening and it should be handled properly. Investigation going on. Assigning to me.

This is going to be more complex than anticipated...


Remove redundant call

The folder is created in the function called recursively anyway, there is no point to call this function there.

@GuillaumeGomez could you run a local build and make sure this still has all the files we need? If so this looks good to me :)

docker pull times out every time for the moment so I'll retry later on.

Just re-built the regex crate. No issue when navigating files.


JIRA: edit_jira sometimes accepts invalid credentials

When editing a JIRA config, defect dojo tries to login to JIRA to verify the credentials are correct.
I am observing that sometimes this succeeds even when the credentials are invalid, resulting in errors later when pushing JIRA issues or configuring products.

fixed in 1.14.0


Taking screenshot and attaching to report is not working

Hello,
Does anyone could help on taking screenshots and attaching to behavex auto generated html report?
My scenario is whenever a step gets failed i need to take screenshot and place it html report, currently i could take screenshot for each and every step but facing couple of issues

Should take screenshot only during failures [In java cucumber we have a method like step.isFailed() then take screenshot]
Screenshot image should be attached to report for the failed step

my environment.py is
def after_step(context, step):
print(step)
print(f"----after step---")
evidence_path = './output/outputs/logs/test.png'
context.driver.save_screenshot(evidence_path)
print("stored screenshot successfully"
My POC in python was successful along with this great plugin, i just got blocked with this issue alone, it would be very helpful if you could help on this

Hi @prsnth89, in order to store evidence as part of the HTML report, you should be able to use the following context variable:

context.evidence_path

This variable is updated by the wrapper before executing each scenario, and all the files you copy into that path will be accessible from the HTML report, linked to the executed scenario
Also, in order to determine if the step has failed, you can check on the "step" variable that is set as input argument in "after_step(context, step)", by calling "step.status"
I hope it helps :)

Hi @hrcorval ,
Really thanks for your kind response, it worked for me :) Awesome report n kudos to your effort on building such a lovely plugin :)

Thanks a lot! I hope this module is useful for your testing purposes. If you like this module a lot it will be great if you can give it a star, just to start giving the repo more visibility. Thanks again :)


Kanna Kamui Skin

I am a huge fan of Kanna Kamui and I desperately look for a cute Kanna Kamui Theme. Please make it happen!

:thinking: Hmm.

Good Idea!
Do you want a light and/or dark theme?

Good Idea!
Do you want a light and/or dark theme?

People that use Light Themes also lewd poor Lolis...
Dark Theme of course. As for colors, this is Kannas Hex Palette: https://www.color-hex.com/color-palette/41859
Thanks in advance!

People that use Light Themes also lewd poor Lolis...

U wot m8?? Those are fighting words, bruv.

Also dont lewd the Lolis

It is just the blunt truth.
An my adorable little Kanna is for huggu, not fuggu!

@AkumaNoTsubasa I'm pretty close to being done. I'm looking for ideas of what Kanna sticker should be used with the theme. Do you have some examples pictures that best represent the character?
Also, I am still looking for a background image. I can always convert it into the minimal style, if it is not already (it will just take me a bit longer to get it out)
Example background:

I'll consider them if I like them. Otherwise I'll find something close to them that I like.

https://www.google.com/search?q=kanna+kamui+sticker
Those are the most known sticker and stickerlike images.
https://ih1.redbubble.net/image.1084344951.8850/st,small,507x507-pad,600x600,f8f8f8.jpg this mirrored could fit quite well, as Kanna would definitely look like that at code.
Backgrounds would fit some of those quite well: https://wall.alphacoders.com/tags.php?tid=64540&page=3
This could fit in best: https://wall.alphacoders.com/big.php?i=838772

I've got it to the point where I am going to test the theme out for a while. I got it almost to where I think its good. I'll be making small adjustments to coloring as time goes on. I won't be making any big changes.
It will be some version of this:

I figured I would share, just to give you an idea of what's expected in the future.

Yeah looks nice :3
But please don't include this italic like font, it's hard to read ^^'

But please don't include this italic like font, it's hard to read ^^'

You have to manually install it, otherwise it will just use the default. So you should be good.

Alright, I think I got it to where I like it. Thank you for the suggestion, I think Kanna is a great addition!
I've got things set up where if I add a theme to one product, I can add them to all of the others as well.
Some days I forget how much I maintain.
Here's what I got:
VS Code

JetBrains

Hyper.js Terminal & Vim

Chrome & Microsoft Edge

Github

Looks good :3


[INFRA] set up miss_hit linter config and github action

[x] set up miss_hit configuration
[x] set up corresponding github action
[ ] lint files that are not involved in another PR <-- left out for later to prevent merge conflicts headaches.
[x] set metric threshold (cyclomatic complexity, file length, nesting depth...) to be VERY tolerant for now

For now the rules concerning functions, classes and methods names are ignored.

Sorry, I had missed the review request. One thing I am not sure about is moving the copyright text at the top of the file. None of Brainstorm, EEGLAB, FieldTrip or SPM does it. MATLAB doesn't but Octave does. When in Rome, do as the Romans...
Is this something that the linter expects?

Is this something that the linter expects?

Yup as far as I know.
https://florianschanda.github.io/miss_hit/style_checker.html

Copyright notice ("copyright_notice")
This rules looks for a copyright notice at the beginning of each file in the form of "(C) Copyright YEAR-YEAR ENTITY" or "(C) Copyright YEAR ENTITY". The list of acceptable entities can be configured with copyright_entity. This option can be given more than once to permit a set of valid copyright holders. If this options is not set, the rule just looks for any copyright notice.
Configuration parameters:

copyright_entity: Can be specified more than once. Make sure each copyright notice mentions one of these.
copyright_in_embedded_code: Normally this rule is not enabled on MATLAB code embedded in Simulink® models, since most models carry their copyright notice elsewhere. This flag can be used to turn on this rule for embedded code tool.

Option 1: I can check the copyright_in_embedded_code option see if this gives us more lattitude.
Option 2: turn off that rule and do as we please.

Will test option 1 and let you know.
I am OK with option 2: where we put the copyright is something I clearly do not feel strongly about. :-)

OK so option 1 makes miss_hit complain.
So we can go with options 2 for now and silence that rule for now: will proceed if I get a :+1:

:thumbsup: for that. I can see that you also add some indentation in some (but not all?) files in the function block. Which configuration option of MISS_HIT enforces this? Again, I don't think any of the software listed above (including MATLAB) do so and it's a waste of space (especially if you want to limit line length).

I can see that you also add some indentation in some (but not all?) files in the function block. Which configuration option of MISS_HIT enforces this? Again, I don't think any of the software listed above (including MATLAB) do so and it's a waste of space (especially if you want to limit line length).
Actually that one is going to be harder to circumvent as far as I know:
see here

Mandatory rules
These rules are always active. The technical reason for this is that it would be too difficult to autofix issues without autofixing these. If you pay me an excessive amount of money I could look into this but I'd rather keep the lexer vaguely sane. All of them are automatically fixed by mh_style when the --fix option is specified.
Use of tab
This rule enforces the absence of the tabulation character everywhere. When auto-fixing, a tab-width of 4 is used by default, but this can be configured with the options 'tab_width'.
Note that the fix replaces the tab everywhere, including in strings literals.

So the thing we can do is tweak the tab_width to waste less space, but the indentation on every line in functions seems to be a "must have" (it does make the code look more like python I agree).
It is strange at first but I have set matlab to auto-indent stuff that way now, I would say that the headackes that miss_hit saves us on are worth the little "idiosyncrasy".
I can set the tab-width to 2: that might make make thins more crammed but still readable.

Rebased and set the tab length to 2.
Let me know what you think. :-)

FYI: at the moment the linter ignore the source code and it is only applied to the test codebase.
If we check the metrics of the rest of the code base that exceed the threshold set in the cfg with mh_metric . --ci this is what we would get.
In brief: a little of refactoring ahead. Wooohooo !! :rocket: :tada:
+bids/layout.m: metric: exceeded file_length: measured 673 > limit 600
In +bids/query.m, line 1
| function result = query(BIDS,query,varargin)
|                   ^^^^^ metric: exceeded cnest: measured 8 > limit 6
In +bids/query.m, line 1
| function result = query(BIDS,query,varargin)
|                   ^^^^^ metric: exceeded cyc: measured 43 > limit 20
In +bids/report.m, line 1
| function report(BIDS, Subj, Ses, Run, ReadNII)
|          ^^^^^^ metric: exceeded cyc: measured 31 > limit 20
In +bids/+internal/file_utils.m, line 1
| function varargout = file_utils(str,varargin)
|                      ^^^^^^^^^^ metric: exceeded cyc: measured 21 > limit 20
In +bids/+util/tsvread.m, line 1
| function fileContent = tsvread(filename, fieldToReturn, hdr)
|                        ^^^^^^^ metric: exceeded cyc: measured 25 > limit 20
In +bids/+util/tsvwrite.m, line 1
| function tsvwrite(f, var)
|          ^^^^^^^^ metric: exceeded cyc: measured 22 > limit 20
MISS_HIT Metric Summary: 18 file(s) analysed, 7 metric deviations(s)

I have reset this and only kept the config file of the linter and the continuous integration to prevent any merge conflicts for now as the linter tends to change almost all the lines of our files for now.
We'll clean things step by step as we go, PR by PR and only for the files changed in a given PR or before the creation of a first release.


cloud_to_cloud:node:python_server:large_unary timeout

https://sponge.corp.google.com/target?id=03fbaf7f-f1d7-4e71-acf4-5595107a947c&target=grpc/ubuntu/pull_request/grpc_interop_tocloud&searchFor=&show=ALL&sortBy=STATUS
2017-10-20 16:24:01,728 START: cloud_to_cloud:node:python_server:large_unary
...
2017-10-20 16:27:10,738 TIMEOUT: cloud_to_cloud:node:python_server:large_unary [pid=19052, time=189.0sec]

This is probably related to #13130. This failure has also been seen with a Node client and a C++ server: https://sponge.corp.google.com/target?id=96b2d46f-48bb-4125-a231-2cec4e5a69c3&target=grpc/ubuntu/pull_request/grpc_interop_tocloud&searchFor=&show=ALL&sortBy=STATUS

Dupe of https://github.com/grpc/grpc/issues/13253.


UAA Pod doesn't get ready with a valid certificate and domain configured

Description
I think there is an issue in this line:
https://github.com/cloudfoundry-incubator/eirini-release/blob/master/helm/uaa/templates/uaa.yaml#L315
The problem is that I'm using certificate that is signed for the uaa domain. I'm using the default uaa. for uaa. The problem is that the uaa pod never gets ready. This happens because the curl in the line above fails since my certificate doesn't have the domain: "uaa" signed in it.
Steps to reproduce
Deploy with a signed certificate for uaa. or any uaa domain you choose.
What was expected to happen
UAA pods won't get ready
What actually happened
The readiness probe fails.
Suggested fix (optional)
The probe should check if there is a valid certificate and a domain configured, then it should use the configured domain in the check.
Additional information (optional)
[Fill in]

Hi @firasnajjar - I think this issue might be better raised with the https://github.com/cloudfoundry-incubator/fissile team. /cc @ viovanov


Add support for taking an envPath and converting it to environment variables

Closes https://github.com/microsoft/vscode-azurecontainerapps/issues/640

It's showing the recent main changes as my changes because my branch is pointing to another branch and not main.  These diffs should disappear once the branch re-points back to main.


Xnero: Watch glassesmart.pk

Xnero requests the watch of the watch_keyword glassesmart\.pk. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

glassesmart\.pk has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Spevacus in Charcoal HQ


Write mock tests for concurrency issue in ChallengeBasedAuthenticationPolicy

We should use MockTransports to mock various concurrency scenarios for the fix made in PR #10673. We'll need to synchronize certain responses to simulate lag in concurrent calls.
Scenarios include, but are not limited to:

Single-threaded call
Simultaneous multi-threaded calls like in https://gist.github.com/heaths/87b6a2da1b9cdd5c88fe6c3dedb28216#file-program-cs
Offset multi-threaded calls
As a pivot, calls where the tenant (scope) change for the vault URI

/cc @schaabs if he has any more scenarios to add.

Also we should add tests for the service continually sending 401s so we ensure we don't get stuck in a loop that doesn't return to the client.

This was resolved with #10804


feat: openapi definitions

:tada: This PR is included in version 1.2.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Address Atom deprecations

[x] Use the CommandRegistry API instead of atom.workspaceView.command.
[x] Use the atom-text-editor tag vs. the .editor selector.
[x] Use the atom-workspace tag vs. the .workspace selector.
[x] Update atom engine in package.json

It would really be great if this could be merged.

+1


Ensure peer dependency validation is performed from the parent's root.

Previously, with our require('the-peer-dep/package').version check we would incorrectly find the wrong version of peer dependencies when linking ember-qunit (we end up finding the local devDependencies version, and ignoring the version in the host application).

Thanks for fixing this. I did review, but wasn't able to approve on mobile. Approving now, even though it's merged.


Observations and new idf

Question ❓
Dear @AlejandroCN7,
Thank you very much for your help with sinergym. It really helps to easily perform simulations with RL. I have some questions regarding to some simulations I performed.
Is it possible to add more observation variables than in the variables file? I want to add the hour of the day. The reason is that it seems that my algorithm does not react much on comfort hours. Right now I have different comfort ranges during the day and night. It seems that is does not take the day range into account even if this gives really big negative rewards or even if positive rewards are given to stay in the range. The algorithm just keeps both heating and cooling setpoints very constant (below the daytime range). Do you maybe have any tips on that?
What is the best way to see the observation space. Does it only take the observations selected into account at that specific moment? For example, only the outdoor temperature or the solar radiation rate at that moment? Or can I also take the radiation rate of the next two hours into account?
Also, I want to introduce my own idf to sinergym. How can I add my own idf and weather file and create an environment?
Kind regards,
Michiel
Checklist

[x] I have read the documentation (required)
[x] I have checked that there is no similar issue in the repo (required)

:pencil: Please, don't forget to include more labels besides question if it is necessary.

Hi @MichielKempkens,

Is it possible to add more observation variables than in the variables file?

In variables file (RDD file) it is available all variables for that building model. About how you can add more variables to your observation, see here and an example here.

I want to add the hour of the day

Sinergym is already taking into account the time, day, month and year of each iteration. If you activate the loggerWrapper you will be able to see it in monitor.csv

Does it only take the observations selected into account at that specific moment? For example, only the outdoor temperature or the solar radiation rate at that moment? Or can I also take the radiation rate of the next two hours into account?

That depends on the specific DRL algorithm you are using to build a control strategy, Sinergym takes care of applying an action once it is received from an external agent.

Also, I want to introduce my own idf to sinergym. How can I add my own idf and weather file and create an environment?

Documentation --> here and here

hi @AlejandroCN7,
Thank you for explaining


Remove tag related features from add and edit

Resolves #159
Minor UG updates

Codecov Report

Merging #160 (13a4956) into master (e5ad85a) will decrease coverage by 0.18%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master     #160      +/-   ##
============================================
- Coverage     68.38%   68.19%   -0.19%
+ Complexity      689      685       -4
============================================
  Files           108      108
  Lines          2293     2292       -1
  Branches        234      234
============================================
- Hits           1568     1563       -5
- Misses          617      622       +5
+ Partials        108      107       -1

Impacted Files
Coverage Δ

...in/java/teletubbies/logic/commands/AddCommand.java
100.00% <ø> (ø)

.../java/teletubbies/logic/commands/ClearCommand.java
100.00% <ø> (ø)

...n/java/teletubbies/logic/commands/ExitCommand.java
100.00% <ø> (ø)

...java/teletubbies/logic/commands/RemarkCommand.java
100.00% <ø> (ø)

...ava/teletubbies/logic/parser/AddCommandParser.java
90.00% <100.00%> (ø)

...va/teletubbies/logic/parser/EditCommandParser.java
76.00% <100.00%> (-16.31%)
: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 e5ad85a...13a4956. Read the comment docs.


fix(plugin): indentBlankline hl group names

Fix indentBlankline hl group names
Add plugin missing hl groups
Use grey for MiniIndentscopeSymbol

Fixes: 8a082b9153d1 ("fix(plugin): indentBlankline hl group names")

@aymanbagabas indent-blankline characters are pretty much invisible for me now:

Is this intended?

@bcyran yes, that was intentional. There wasn't any styling for indent-blankline before. You can set it back using hi! link IndentBlanklineChar Whitespace


Warn when server isn't set up for push notifications

Many people installing a mobile app for a messaging service will assume that it'll get them push notifications -- they may see that as the main reason to install the mobile app.
Zulip does, of course, but only if the Zulip server they use has set up to send push notifications through the bouncer. And many servers out there have not. So if a user who hasn't read all about the push notification bouncer (who maybe isn't a server admin) tries installing the mobile app, they are likely to be disappointed.
We should detect whether the server supports push notifications. Not sure if there's an existing good way to detect this from the client side, or if we need to have the server export another bit of information. Then we should display a warning, at a minimum when the user first adds the server.
I think it would also be helpful to go further and have it in some ongoing fashion, if we can find the right place to put that in the UI.

Added later: When we introduce this sort of warning, we should also have it apply when the server nominally supports push notifications but is so old that it won't know how to send them in a format that we accept. #4967 will make it the case that this requires at least Zulip Server 1.9, and that minimum may increase in the future.

I am also not aware if there is a way to detect notification support.
Getting the information via server_settings makes a lot of sense.

It would be easy to add the data to server_settings; just check whether settings.PUSH_NOTIFICATION_BOUNCER_URL is set.  Though the other approach to consider would be to have the response to the "register for push notifications" request sent to the local Zulip server return the state; I think that would be better, since it would correctly handle cases where the app was connected to a server and then push notification bouncing was configured in the server (I think in this case, the app currently requires you to logout and login again to get connected).

Let's do this in steps,

Store the result of users/me/apns_device_token|android_gcm_reg_id (API for registering push from app) if successful let's show the result in the notification settings page that the device is registered for the notifications

If not successful

Determine if server is configured for the push bouncer
If the server is configured then show a retry button otherwise show server doesn't support notifications?

@timabbott do we want to expose the push bouncer url and send the url of bouncer or just a boolean if its set in the API of server_settings for which the code changes should be here https://github.com/zulip/zulip/blob/73a5c392640c5c1f96f9c94f5f271d8e4d9251ad/zerver/context_processors.py#L99

PR sent https://github.com/zulip/zulip/pull/7810 for including if push bouncer supported in server_settings API

It would be easy to add the data to server_settings; just check whether settings.PUSH_NOTIFICATION_BOUNCER_URL is set.

It's actually a bit more complicated than this:

That setting is actually unset (left at the default of None) on a Zulip server that itself serves as the bouncer -- notably, zulipchat.com. So to do this "is there any configuration" check, we'd want to also look for the APNs and GCM settings.
Even with the most complete check we can do from looking at settings, I worry a bit about a server admin setting e.g. PUSH_NOTIFICATION_BOUNCER when they haven't actually set things up properly -- they didn't reach us, or they mixed up the zulip_org_id they sent us, or we just haven't acted on their request yet. So ideally we'd probably have a more end-to-end check.

For now, I think it's enough to just do the settings check -- that has fewer moving parts than an end-to-end check would -- and make it as good as we can.

I've just merged a commit that supplies this boolean in server_settings, as ecbc72b85. I believe this is unblocked now; please lmk if there's anything else from the server that would help!

Where do you think we should we put this warning?

One possible place would be whatever screen one configures push notification settings?

Of course, that makes too much sense ;)

@zulipbot claim

@aswinmohanme This has been implemented in #1933

@zulipbot abandon

After discussing this with @kunall17 today (following his prototype #1933), we have a bit more specific of a plan:

We'll show this as a warning banner, similar to the "No internet connection" banner seen in #2729 . This one will be dismissable (with an X-shaped "close" icon at the right?), and have a link like "Learn more".
I'll try to wordsmith the text down to one line, but if it overflows to two that'll be OK; this is a warning most users should never see, and those that do should see O(1) times.
That link will go to a web page somewhere. Probably under https://zulipchat.com/help/ ? Shouldn't appear in a sidebar nav or anything -- there's no reason to browse to it -- but it is user documentation.

FYI: I will be working on caching the serverSettings somewhere for all accounts, for purposes like this and the realm icons. We would not need to do a getServerSettings but just to access the store.

When we introduce this sort of warning, we should also have it apply when the server nominally supports push notifications but is so old that it won't know how to send them in a format that we accept. #4967 will make it the case that this requires at least Zulip Server 1.9, and that minimum may increase in the future.
(I've just added this to the description, too.)


what is?

what is the code where is fixed the lag when split fast

what is the code where is fixed the lag when split fast

The code is : Here

wow, it works!

Also just to add MultiOgar-Edited can run on my shitty PC Tower (2.93 Ghz CPU, Integrated Intel HD graphics)

JS timer inaccuracy leads to requests for splitting and/or W to be ignored.
All game requests should be processed immediately (and of course ignore them if too consistent).
Fixing this requires refactoring the PacketHandler and PlayerTracker
Major changes would be this function and references to it, and also variables prefixed with press being removed. Not even that is enough though.

Lag can also be latency. You can't have a server down in Turkey with 600ms latency expecting splits to become "faster". No issues on the latest commit.


TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/87638

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/94398

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/94406

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/102751

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/112830

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/112837

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/117783

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/120666


Send commands to ha-bridge

Hopefully i didnt miss something obvious but can i send commands (curl/command line...) to ha-bridge to execute bridged devices? For instance send a http post command to turn my nest to X temperature.

Yes, you can both control and update stored state for ha-bridge configured devices:
https://github.com/bwssytems/ha-bridge#set-light-state
https://github.com/bwssytems/ha-bridge#update-bridge-internal-light-state

Perfect! Thanks for an awesome piece of software!


Add the Licesne badge

We need to add a license  badge to each box. To get the badge we will implement a system that get the license from the Tool, color will be a Map (following here) and this service will give you the badge (example)

The color code is the following:
Apache = brightgreen
MIT       = green
GPL      = blue
BSD      = yellow
CC        = blueviolet
Artistic   = important

For all the other types we should use the color lightgrey

This has been implemented.


[GH-156] Fixed report duplication for Xdist workers

Codecov Report

Merging #158 into master will decrease coverage by 2.08%.
The diff coverage is 66.66%.

@@             Coverage Diff             @@
##            master     #158      +/-   ##
===========================================
- Coverage   100.00%   97.91%   -2.09%
===========================================
  Files            2        2
  Lines           46       48       +2
===========================================
+ Hits            46       47       +1
- Misses           0        1       +1

Impacted Files
Coverage Δ

pytest_slack/plugin.py
97.87% <50.00%> (-2.13%)
:arrow_down:

pytest_slack/__init__.py
100.00% <100.00%> (ø)

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 321fda8...46c22b0. Read the comment docs.


Fix various typos

Found via codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,expct,fave,findn,gird,hist,inh,inout,leapyear,lod,nd,numer,ois,ony,paket,ro,seeked,sinc,switchs,te,uint,varn,vew

Also reviewed the changes and looks good to me.

Thank you!

Is this using codespell from Git? I literally ran codespell 2.1.0 days ago.

@

Is this using codespell from Git? I literally ran codespell 2.1.0 days ago.

Using codespell HEAD here. But you can keep main dictionary updated via:
https://github.com/codespell-project/codespell#updating-the-dictionaries


Maintained?

Is this project being actively maintained / looking for a maintainer? There are a large number of open issues and pull requests.

I'd love to help out as much as I can. From my perspective the way forward is to drop obj-c support. Swift is clearly the future of iOS development and this would allow you to kill a large number of the outstanding PRs / issues. As is, the current obj-c version is stable so you could offer a legacy branch for those that still depend on the obj-c version of this lib while allowing future development to occur on swift version only.
This project has a lot of stars, so I don't think a separate swift project is the right approach. It looks like @KenziTrader already made some good progress in #274 and you're work on testability in #332 will be really helpful in establishing a consistent workflow for future iterations.
I suggest we finalize work on #274 and #332. Release v2.0.0 as the swift rewrite and drop a comment on all old issues / prs saying that they will be closed if there are no updates.

Agreed. I would prefer to move away from swizzling if possible. It might be sufficient to require users to specifically trigger an empty data set reload whenever they reload the table.
Maybe there's some lightweight update you could have users drop into tableView(_ tableView: UITableView,  numberOfRowsInSection section: Int) -> Int which would trigger empty data set update or alternatively something interesting you could do with an EmptyDataSet protocol and KVO on the model. I'm thinking something along the lines of the swift example provided by https://github.com/facebook/KVOController. The downside is that the model array would need to be defined as dynamic and it would make some assumptions about how the user's table view data was provided.

Would definitely like to see a swift build of this. Thanks!

Yes, a swift version would be great!

@dzenbot Hi. I know you may be busy with your own work priorities. But we here in the open source community would love to get your feedback on this particular issue/matter that has been tripping us up for a fair amount of time. We would definitely appreciate if you could let us know if you need help in  maintaining or would like to hand off to another maintainer whom can pull in to requests. Thanks for your time!

Or Gitter? https://gitter.im/dzenbot/DZNEmptyDataSet?source=all-rooms-list


deprecated warnings are not displayed when another decorator is under @deprecated

Environment data

Language Server version: 2023.6.40 (pyright 3f84540e)
OS and version: windows 10
Python version (& distribution if applicable, e.g. Anaconda): 3.11

Code Snippet

from typing import TypeVar

from typing_extensions import deprecated

T = TypeVar("T")

def deco(fn: T) -> T:
    return fn

@deprecated("asdf")
def foo():
    ...

foo()

@deprecated("asdf")
@deco
def bar():
    ...

bar()

Expected behavior
deprecated warning on both foo and bar function calls
Actual behavior
only the foo function call has the deprecation warning

This is intended behavior. If you apply the deprecated decorator directly to the (undecorated) function or method, the function will be flagged as deprecated.

why not make it work in both cases?

This is intended behavior. If you apply the deprecated decorator directly to the (undecorated) function or method, the function will be flagged as deprecated.

Why? The pep doesn't mention that.
Additionally, given the runtime functionality:
from typing_extensions import deprecated

def wrap(fn):
    def wrapper():
        return fn()
    return wrapper

@deprecated("asdf")
def foo(): ...

@deprecated("asdf")
@wrap
def bar(): ...

foo()  # DeprecationWarning: asdf
print(foo.__deprecated__)  # asdf
bar()  # DeprecationWarning: asdf
print(bar.__deprecated__)  # asdf


Add tags from controller?

As of now, tags are added when user interact with the UI. Is it possible to programmatically add tags from controller? For example, if I want to load some default tags in the input box on refresh.

Hi @waynechaw,
Do you mean that you want to prepopulate the value of the form, or the items inside the input (cause you could just use the model)? Sorry but I don't get very well why :)
By the way, yes, you can use all the methods that `TagInputComponent' implements, here is a basic example:
<button (click)="myInput.appendNewTag('MyItem')">Add "MyItem"</button>
<tag-input #myInput></tag-input>

Look at https://github.com/Gbuomprisco/ng2-tag-input/blob/master/modules/components/tag-input.ts for all the methods available

Yeah I meant populate input with tags already. Thanks for your suggestion.

No problem :)


Build Optimizer does not support es2015 code

From @filipesilva on April 30, 2018 17:28
Build Optimizer does not currently support es2015 modules code, but we should support it.
Related to https://github.com/angular/devkit/pull/237
Copied from original issue: angular/devkit#816

From @robwormald on May 4, 2018 18:43
Should also support ES2015 code (really, it should support esnext)

From @hansl on May 5, 2018 19:5
I was under the impression UglifyES (or whatever NG version of uglify) was doing a proper job at DCE on ES2015 code and that we wouldn't need build optimizer for those.

From @rafaelfgx on May 10, 2018 23:59
With all the respect, this is a very basic bug and one that should be avoided.
You create an Angular 6 application, without changing anything, with all the default settings, build it for production, and it does not work.
It is very serious that something so trivial as publishing in production is not working in the final version.
More testing is needed, especially for the most important and essential tasks.

From @cyrilletuzi on May 8, 2018 9:43
Note: now we have Angular Elements, support for ES2015 becomes more important, because transpiling custom elements to ES5 is not supported by the standard and produces an error.

From @robwormald on May 11, 2018 0:34
@rafaelfgx - nobody should be using es2015 modules in production, Webpack doesn’t export them, and they’re not turned on by default.

From @msklvsk on May 11, 2018 9:22
While buildOptimizer is turned on by default, es6 is not, including the docs:

(angular.io/guide/typescript-configuration)

From @devoto13 on May 14, 2018 12:24
@hansl It does not seem to be the case.
Here is ES2015 with build optimizer on (fails with https://github.com/angular/angular-cli/issues/10658):

Here is ES2015 with build optimizer off:

As you can see it is ~200k less with build optimizer enabled. Not sure if it is real gain or a side effect of build optimizer removing not dead code, but this looks like a lot of gain. Most of it comes from Angular packages (~180k).

From @catull on May 16, 2018 12:43
Hmm, I see a build optimiser bug for production builds with ES5.
See https://github.com/angular/angular-cli/issues/7799#issuecomment-389438586.
That issue is closed, stating that the bug is tracked here.
As a work-around, I switched off build-optimiser and the app is working.
With build-optimiser ON, the error is as documented in the "issue comment" at the top of this comment.

From @hijamoya on May 17, 2018 10:17
I got same issues here.

From @byrondover on May 27, 2018 20:27

robwormald commented 10 days ago
@rafaelfgx - nobody should be using es2015 modules in production, Webpack doesn’t export them, and they’re not turned on by default.

@robwormald You may want to align with @StephenFluin on your community messaging around enabling ES2015. 😅
https://twitter.com/stephenfluin/status/997224523610116096
P.S. Big fans of all the work you do and are doing! 🤞for production ES2015 support by 2020. :neckbeard:

From @robwormald on May 27, 2018 20:51
@byrondover ES2015 syntax (classes, const,let,etc) is fine (assuming your browser target supports it) - lots of good wins to be had there.
ES2015 modules, not so much (though if you a very adventurous, no harm trying)

From @byrondover on May 27, 2018 21:59
Wow, didn't expect a response, let alone over Memorial Day weekend. 🇺🇸
Thanks for the clarification, gents! 🙇

From @StephenFluin on May 27, 2018 21:25
My talk was about how Angular is working to push the limits of the web, and that if/when it made sense to ship all apps as ES2015 we could do that for you and save a bunch of bundle size and increase perf. Hello World worked for me but in general shipping ES2015 actually can hurt your machine readability as things like the Google crawler don't support ES2015

From @TomDemulierChevret on May 28, 2018 7:32
@StephenFluin Having our webapp crawlable is not mandatory for many of us. In my company 90% of Angular apps we develop are not publicly available.
@robwormald Is it possible to build with only ES2015 syntax ?

From @zijianhuang on May 28, 2018 5:29
Having this problem since NG 6.0. Still a problem in 6.0.3 along with the latest CLI. As said by this others, setting "buildOptimizer":false will make things in production work again, however, the bundle is apparently too big. Let's see if 6.0.4 will has this fixed?

From @filipesilva on May 30, 2018 9:47
Building upon #981, we should also wrap static initializers on ES2015 classes.
This is similar to https://github.com/angular/devkit/blob/master/packages/angular_devkit/build_optimizer/README.md#wrap-enums.
The following TS class:
class MyClass {
  static field = console.log('hello');
}

transpiled to es2015 is:
"use strict";
class MyClass {
}
MyClass.field = console.log('hello');
//# sourceMappingURL=static.js.map

and ran through build optimizer yields:
"use strict";
class MyClass {
}
MyClass.field = /*@__PURE__*/ console.log('hello');

MyClass can never be dropped because of the property access. If we wrap it it should be ok though:
var MyClass = (function () {
  class MyClass {
  }
  MyClass.field = console.log('hello');
  return MyClass;
})();

From @filipesilva on May 29, 2018 13:8
https://github.com/angular/devkit/pull/981 has some fixes for ES2015 code support.
Thinking more about it, I don't think we do anything in regards to ES2015 modules in Build Optimizer, so that is probably enough.

From @zijianhuang on May 31, 2018 3:55
As of Angular CLI 6.0.7, the problem is still there.

From @clydin on May 30, 2018 14:6
Two potential downsides to this approach would be increased code size and a potential decrease in runtime performance.  Both of these should be analyzed to ensure the additional behavior is a net positive.

From @Maximaximum on May 31, 2018 7:45
I updated @angular-devkit to 0.6.7 and the issue seems to be gone.

From @filipesilva on May 31, 2018 7:39
@zijianhuang the changes are not in 6.0.7. I think you can test these changes by installing<EMAIL_ADDRESS>

From @cedvdb on June 5, 2018 10:12
issue still here with 0.7.0 and target es6.
What would be really nice is an error at compilation time as to maybe find a temporary fix for the part of the code that's problematic.

From @filipesilva on June 5, 2018 12:58
@cedvdb can you put up a repro I can look at please?

From @filipesilva on June 6, 2018 12:51
As long as it's working, I think there's no need to look further. If I had to bet it wasn't working because at some point you were in an old version.
This fix is only on<EMAIL_ADDRESS>that comes with<EMAIL_ADDRESS>You can check what version you have with npm list @angular-devkit/build-optimizer.

From @cedvdb on June 6, 2018 12:46
@filipesilva
The problem seems to be resolved. I didn't manage to reproduce it yet. If you need so I could dig deeper this evening, right now I gotta work.

From @shahafal on June 6, 2018 13:40

@StephenFluin ... things like the Google crawler  don't support ES2015

thank you for this, it's the first time i'm hearing of it. unfortunately except for discussions about this being an issue i can't find anywhere a discussion about the status to fix this.
do you know if there is an open thread in github (or someplace else) discussing the fix? i would like to follow it

@filipesilva Greetings! Does "now" mean angular-cli 8+?

@VVKot it should be in 7.3 too, the latest fixes we had were released in https://github.com/angular/angular-cli/releases/tag/v7.3.0-rc.0.

The issue is still present for me on version 7.3.7

@ryshep111 can you open a new issue including a reproduction? I'm don't really know what you're seeing or how to investigate it.

@ryshep111, the issue was fixed somewhere after v6.0.3, at the moment I am using v7.2.12.
my tsconfig.json:
{
	"compileOnSave": false,
	"compilerOptions": {
		"baseUrl": "./",
		"outDir": "./dist/out-tsc",
		"sourceMap": true,
		"declaration": false,
		"moduleResolution": "node",
		"emitDecoratorMetadata": true,
		"experimentalDecorators": true,
		"target": "es2015",
		"typeRoots": [
			"node_modules/@types"
		],
		"lib": [
			"es2017",
			"dom"
		],
		"skipLibCheck": true
	}
}

My angular.json
...
					"configurations": {
						"production": {
							"optimization": true,
							"outputHashing": "all",
							"sourceMap": false,
							"extractCss": true,
							"namedChunks": false,
							"aot": true,
							"extractLicenses": true,
							"vendorChunk": false,
							"buildOptimizer": true,
							"fileReplacements": [
								{
									"replace": "src/environments/environment.ts",
									"with": "src/environments/environment.prod.ts"
								}
							],
							"serviceWorker": true
						}
					}
...

Hope this gives you some hint.

@alan-agius4 @filipesilva
OK, it took me 4 hours but I think I found the root cause, or at least the way to reproduce exactly.
I've created a repository to reproduce it, all explanations are in the readme file there.
https://github.com/shlomiassaf/angular-cli-build-optimizer-es2015-issue
Ohh boy, this one was tricky.
TLDR: It will only happen if the class is built in FESM2015 module AND it has a NON-ANGULAR decorator applied on it.
I.E: Angular packages built with ng-packger.

@shlomiassaf it reproduces for me too. In our library we have our own decorators so it's probably the same root cause — all our super calls are dropped with build optimizer and es2015 target. Works fine in Angular 8 though. @filipesilva any chance this could be fixed in Angular 7 by investigating the above reproduction repo?

@waterplea I think it got fixed in https://github.com/angular/angular-cli/pull/14263. In general we don't do releases of n-1 versions unless it's a security concern though. Is there something stopping you for updating to version 8?

@filipesilva I'm developing a library which theoretically works in Angular 6+, it's just unfortunate that if users would want to run my library in es2015 they are forced to update. So yeah, I understand you not touching older versions, I was maybe hoping for some ninja tactics like // @dynamic or whatever :)

@VVKot it should be in 7.3 too, the latest fixes we had were released in https://github.com/angular/angular-cli/releases/tag/v7.3.0-rc.0.

No it is not working in 7.3

#14263

Hello
Why this issue is closed?
In any v7 version, with ng library, you can reproduce this issue.
In my company we cant update to v8 instantly.

Well, is there something I can do to solve this on v6.2.9? We can't update (trying) to v8 like upstairs.


Remove Stream.MessageTypes()

I'm not sure this is necessary, instead have Open() return false if it does not produce any of the requested types.

Nevermind, this is still useful for logging about which message types the engine has found a source for, and which it hasn't.


Update sender_reputation.md

Added an info bar:
Please note that the SendGrid Reputation does not necessarily represent your inboxing percentage at mailbox providers.

Hello @bhammerquist,Thank you for the PR! We will be reviewing this PR soon, in the mean                                              time, if you have not, please be sure to                                                                                sign our CLA so that we can merge your changes. Thanks again!                                             Team DX


fix: rename Account_Summary billing_month property

PR summary
Rename the billing_month property in the Account_Summary schema to month
PR Checklist
Please make sure that your PR fulfills the following requirements:

[x] The commit message follows the Angular Commit Message Guidelines.
[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

Current vs new behavior
The Account_Summary schema should now correctly have the month property instead of the billing_month property.
Does this PR introduce a breaking change?

[ ] Yes
[x] No

I was able to verify that the java int tests now run clean (as well as the examples).

:tada: This PR is included in version 0.29.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


CommandTimings.java:145: Add translation for...

The puzzle 1-76e24fe1 from #1 has to be resolved:
https://github.com/shiruka/shiruka/blob/edf249558562d738d6e07cc8f8e17b0935f9deaf/src/main/java/net/shiruka/shiruka/command/commands/CommandTimings.java#L145-L145
The puzzle was created by @portlek on 21-Jan-21.
Estimate: 15 minutes,  role: DEV.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

The puzzle 1-76e24fe1 has disappeared from the source code, that's why I closed this issue.

The puzzle 1-76e24fe1 has disappeared from the source code, that's why I closed this issue.


fix(youtube): custom wiz elements on channel page

🔧 What does this fix? 🔧
Themes description text, icons, and popup menus on channel pages.
🗒 Checklist 🗒

[x] I have read and followed Catppuccin's contributing guidelines.
[x] I have updated the version appropriately in the ==UserStyle== header of the catppuccin.user.css file.

Themes description text, icons, and popup menus on channel pages.

Can you give an example, I'm not sure where to look.

Before
After


Empty rows are not handled correctly

Hi,
I see emtpy rows are not handled correctly.
If I run the command:
kipart -r generic -s row --box_line_width 20 test.csv -o test.lib --overwrite
on the attached file:
test.csv
Then it fails with:
Traceback (most recent call last):
  File "C:\Users\Carlos\AppData\Local\Programs\Python\Python38\Scripts\kipart-script.py", line 11, in <module>
    load_entry_point('kipart==1.0.0', 'console_scripts', 'kipart')()
  File "c:\users\carlos\appdata\local\programs\python\python38\lib\site-packages\kipart-1.0.0-py3.8.egg\kipart\kipart.py", line 1105, in main
    call_kipart(
  File "c:\users\carlos\appdata\local\programs\python\python38\lib\site-packages\kipart-1.0.0-py3.8.egg\kipart\kipart.py", line 883, in call_kipart
    return kipart(
  File "c:\users\carlos\appdata\local\programs\python\python38\lib\site-packages\kipart-1.0.0-py3.8.egg\kipart\kipart.py", line 837, in kipart
    parts_lib[part_num] = draw_symbol(
  File "c:\users\carlos\appdata\local\programs\python\python38\lib\site-packages\kipart-1.0.0-py3.8.egg\kipart\kipart.py", line 630, in draw_symbol
    balance_bboxes(bbox)
  File "c:\users\carlos\appdata\local\programs\python\python38\lib\site-packages\kipart-1.0.0-py3.8.egg\kipart\kipart.py", line 351, in balance_bboxes
    bal_bbox = find_bbox_bbox(bboxes["top"], bboxes["bottom"])
KeyError: 'top'

The problem is you have a blank row in the middle of your part description at row 17 of your test file. Once I removed that, the file was processed correctly. As stated in the documentation: "4. A blank row ends the list of pins for the part." Once kipart saw the blank row, it assumed another part description was beginning and it misinterpreted the remaining rows of pin data because there was no part header or column headers.
Admittedly, there might be a need for a better error message here.


Verify nuget build and deploy under msbuild

I don't think the new msbuild system is building nuget packages correctly, need to verify.

It looks like packages are deploying, but it's forcing NETStandard.Library (>= 1.6.0) under the netstandard1.4 target.

Based on https://github.com/dotnet/standard/issues/71 it seems like this is the expected behavior.


src/verb/geom/Intersect.hx:3: characters 7-21 : Class not found : promhx.Promise

I am trying to install verb   (long time developer though new to haxe + verb)
... just installed haxe  (version 1:3.0.0~svn6707-4 ) on ubuntu  14.10
then successfully installed these two haxe libraries
haxelib install promhx
You already have promhx version 1.0.17 installed
haxelib install nodejs
Current version is now 2.2.6
git clone https://github.com/pboyer/verb.git
cd ~/other_src/verb
npm install .
which installed node modules OK
here is the error
grunt build
Running "haxe:hxml" (haxe) task
Building Haxe project...
buildjs.hxml
src/verb/geom/Intersect.hx:3: characters 7-21 : Class not found : promhx.Promise
Fatal error: Error
...  after doing some digging I am correctly finding that haxe library I believe as per command
haxelib path promhx
/home/stens/haxe/lib/promhx/1,0,17/
-D promhx
Any advice would be appreciated ... cheers Scott Stensland

Hi @scottstensland,
Please check out for verbnurbs.com/docs for more info. This should be fixed.