Continuous Integration in the workflow

From @pdoreau on August 24, 2016 10:36
Hi. How to include an automated test phase (CI-like) in the workflow ?
Would that be possible, recommended or not ?
Copied from original issue: deis/workflow#470

From @bacongobbler on August 24, 2016 15:32
Hey @pdoreau, are you interested in introducing this as a new feature, or just looking for advice on how to roll out CI with Workflow on your own? If the latter, how most users have been accomplishing a CI workflow with Workflow (heh) is by using their CI/CD pipeline of choice to build, test and publish their docker image to a registry, then once it has passed through QA they use deis pull to use that image release as the new image for the application.
Does that give you a general idea how to accomplish this? Always happy to help!

From @pdoreau on August 24, 2016 19:52
Well, I'm discovering Workflow so I can't say if this would be an interesting feature or not.
Thanks @bacongobbler  it does give me a general idea.
Is such a thing documented somewhere ?

From @bacongobbler on October 12, 2016 15:57
Sorry for not getting back to this question sooner. There's no explicit documentation on getting this set up, however you can take a look at our current infrastructure and see how we set up our jenkins jobs for deployments!
https://ci.deis.io/
https://github.com/deis/jenkins-jobs
Let me know if you have any more questions.

From @olalonde on October 20, 2016 3:45
@bacongobbler a blog post or official documentation on this would be really great.
Here's some things I'd like to see addressed:

I've got a few apps that don't have a Dockerfile and some use .buildpack files. How do I tell my CI/CD tool to build the image similarly to how deis-builder does.

How to avoid duplicating configuration (environment) variables between my deis app and the CI/CD tool. For example, I have a JavaScript/Node.js app that needs access to GOOGLE_ANALYTICS_CODE at both build and run time. Maintaining configuration variables in both the CI/CD tool and deis app is prone to error.

If the CI/CD tool requires access to a Docker registry, is it possible to re-use the deis-registry for this purpose?

The more I think about it, the more I feel like moving to a CI/CD workflow would eat into much of what Deis has to offer (except perhaps for routing + scaling) and I'm left wondering if I shouldn't just use CI/CD tool + Kubernetes directly.

From @bacongobbler on October 20, 2016 14:51
To add onto this, when we're usually talking about implementing a CI/CD pipeline for apps on Workflow, we're usually talking about deis pull for one reason:

How do I tell my CI/CD tool to build the image similarly to how deis-builder does.

There is no tooling around how to build the image similar to the builder. You could try to write tooling around https://github.com/deis/slugbuilder, but it's usually easier to write tooling around a docker image to test/QA before pushing via deis pull, especially since the artifact you test in QA is the same artifact deployed in prod.

a blog post or official documentation on this would be really great.

We're planning on publishing a blog post on how our current CI infrastructure is set up. It's on the roadmap!

From @seanknox on October 20, 2016 4:39

How to avoid duplicating configuration (environment) variables between my deis app and the CI/CD tool. For example, I have a JavaScript/Node.js app that needs access to GOOGLE_ANALYTICS_CODE at both build and run time. Maintaining configuration variables in both the CI/CD tool and deis app is prone to error.

@olalonde A common practice is use an .env file containing all of your app's required configuration with development-only/test settings. On your deployed (live) apps, you'll use a different configuration set.

If the CI/CD tool requires access to a Docker registry, is it possible to re-use the deis-registry for this purpose?

Short answer: yes. Slightly longer answer: Deis's internal registry manages the images generated from the builder component (e.g. from a git push), so you probably don't want to use it directly as your primary image store. Instead, use an off-cluster registry like quay.io, Docker Hub, ECR, etc. CI can then build images and push them to your registry service, followed by deploying the image to your Deis apps using deis pull.

From @olalonde on October 24, 2016 20:32
FWIW, I ended up setting up CI/CD for all my apps (with CircleCI) 👍  thanks to @jchauncey for the help. To answer some of my own questions:

I've got a few apps that don't have a Dockerfile and some use .buildpack files. How do I tell my CI/CD tool to build the image similarly to how deis-builder does.

The easiest is to forget about deis-builder and just write Dockerfiles for each app.

How to avoid duplicating configuration (environment) variables between my deis app and the CI/CD tool. For example, I have a JavaScript/Node.js app that needs access to GOOGLE_ANALYTICS_CODE at both build and run time. Maintaining configuration variables in both the CI/CD tool and deis app is prone to error.

It's much easier to avoid requiring configuration variables at build time but for my webpack build, I just added a few ENV statements to my Dockerfile. I would like eventually to get all my configuration at run time from the environment variables set by deis config but it's a bit tricky to achieve with a webpack build.

If the CI/CD tool requires access to a Docker registry, is it possible to re-use the deis-registry for this purpose?

I realized that AWS ECR registry was really cheap (you pay for S3 storage and bandwidth only I think) so it turns out to be actually the same cost (or less) as running deis-registry. I'm still using deis-registry for the platform but eventually, I'd like to use the external AWS ECR registry instead.

The more I think about it, the more I feel like moving to a CI/CD workflow would eat into much of what Deis has to offer (except perhaps for routing + scaling) and I'm left wondering if I shouldn't just use CI/CD tool + Kubernetes directly.

Setting up CI/CD definitely makes it easier to move away from Deis because the build phase is independent and you get a registry with all your app images. You could deploy those images somewhere else if needed (e.g. could be useful for running a full development environment locally). Still using Deis though because it's awesome :)

From @bacongobbler on March 27, 2017 22:5
Adding onto the pile: TravisCI's dpl has support for deploying apps to Workflow. This has been available since v1; I've just completely forgotten to mention it.


Error code of failed handshake

Hey, thanks for the great module.
Is there any way to get response codes or even full response when WS handshake fails?
At the moment, I'm using websocket with authentication using tickets, and when something is wrong, im sending back http codes 404, 403, or some other. On the client-side I have to show user the reason, that depends on response code.
Thanks in advance.

+1

+1
There is a workaround to close ws connection with custom close code (4000-4999) as defined in RFC6455 section 7.4.2. It's not so good because it requires to open connection. And it would be really nice if we could handle the HTTP response code.


[WIP] Diff: Ignore vendor/generated files on initial load

(Hopefully) start of larger diff refactor to be done in smaller sections
Two main user features here are ignoring vendor/generated files and being able to selectively load the diff contents of any ignored file. This doesn't yet fix the general performance issues of diff, but it greatly speeds up and improves the performance of diffs with a lot of these types of files.
Fixes #4111
As an example:
https://gitea.com/gitea/tea/pulls/27
That pull has minimal changes to tea but adds a vendored library that makes the diff un-renderable on gitea.com
Testing locally, here are the differences:
Before this PR:

After:

Along with ignoring them is the ability to render them selectively:

Diff Refactoring
The ultimate goal is to be able to load diffs in chunks as a user scrolls (like here on github). That means you can't overwhelm a server by requesting a particular very large commit/diff over and over as we currently load the entire thing into memory.
Right now we run git diff on the entire commit 2 times for each view:
One with --shortstat to get the total line changes
Once to generate a single patch file for the entire commit.
The 2nd one is much more expensive obviously.
This is pretty much free on the git side since it already has to internally process the entire diff in order to provide the --shortstat output. This lets us know all of the information we need about a particular file without needing to read the patch file line by line. In this PR/example, we have the same information on line changes/type/etc.. for vendored files even though we don't generate a patch for them.
In the future this can replace a lot of the more fragile checking inside of the parsePatch function (we can even know before hand if a particular file has too many diff lines rather than reading line by line until we get to one too many).
Also this changes how we generate patches by passing a specific list of files to git. Right now it is just all of them minus vendored files, but in the future it will be sets of file names for loading diff in batches.
The final goal should be to store the output of GetDiffAllStats in a cache so it only needs to be run once per commit (while in cache anyway) and then to use that information to generate diffs 'progressively'.
Didn't want this PR to be too large for review so just trying to set up the ground work for that here with minimal refactoring. More to come hopefully : )
WIP to solicit feed back and examples of what breaks

@zeripath I tested every commit in every branch at https://try.gitea.io/arandomer/pathological which was very helpful in making weird cases (newline in file name!) work properly.

Codecov Report

Merging #13936 (577dcbc) into master (c11cf4b) will increase coverage by 0.00%.
The diff coverage is 50.44%.

@@           Coverage Diff            @@
##           master   #13936    +/-   ##
========================================
  Coverage   42.21%   42.22%
========================================
  Files         710      710
  Lines       77232    77417   +185
========================================
+ Hits        32604    32689    +85
- Misses      39264    39350    +86
- Partials     5364     5378    +14

Impacted Files
Coverage Δ

routers/repo/commit.go
28.83% <0.00%> (-0.67%)
:arrow_down:

routers/repo/compare.go
38.77% <4.16%> (-2.05%)
:arrow_down:

modules/git/repo_compare.go
57.07% <54.70%> (-6.89%)
:arrow_down:

services/gitdiff/gitdiff.go
69.25% <64.06%> (+0.20%)
:arrow_up:

modules/analyze/code_langauge.go
100.00% <100.00%> (ø)

routers/repo/pull.go
31.84% <100.00%> (+0.07%)
:arrow_up:

routers/routes/macaron.go
92.56% <100.00%> (+0.02%)
:arrow_up:

modules/indexer/stats/queue.go
52.94% <0.00%> (-11.77%)
:arrow_down:

services/pull/check.go
48.90% <0.00%> (-2.92%)
:arrow_down:

... and 11 more

Continue to review full report at Codecov.

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

Maybe we can add some static placeholder SVG background texture on the unloaded diffs like GitHub has, but not Fomantic's 😉.

@silverwind sure if you have any recommendations on where to get one or one you'd like to use I would be happy to add it. I don't like how the fomantic ones look either

I wonder if there is a more complete source of generated files. go-enry doesn't even include yarn.lock and I'm sure there are more examples. I wonder if we could maybe extract the data from linguist as it's probably the most complete source available.

Actually, yarn.lock isn't even detected as generated by linguist for whatever reason and it seems like go-enry is based on that data. Weird that it's missing.

Can't find anything suitable but I guess we can just make our own. Will try that later.

The detection if something has to be ignored seems to come completely from go-enry.
Could you consider adding customizing paths that will be ignored if you have the time to implement it?
I have a repository that I can't do a single review on in Gitea, because every commit changes around ~500 XML-Files (files for testdatabases) which I'd like to just ignore in reviews.
Maybe some kind of wildcard-field on the repository settings level, like it's done for secrets on branch protection :-)

@M4RKUS-11111 the preferred way would be via .gitignore entries but we don't support this yet.

@M4RKUS-11111 the preferred way would be via .gitignore entries but we don't support this yet.

Do you mean .gitattributes? That would be a good idea.
.gitignore wouldn't work because I want the files in the repository, it just doesn't make sense to review them and the amount of files makes Gitea load no diffs at all :-) If I set the file limit higher I have to scroll through all those XML files I don't care about, so I'm faster to review locally and write a summary in Gitea

Oops, yes, meant .gitattributes of course.


Add warning when lakefs starts with mem KV

We should warn a user on the lack of persistency, when KV is configured to "mem"
Something similar to the warning we display when the blockstore is set to "mem" or "local"

@itaidavid @arielshaqed  Can you please add some more details about this issue and how to replicate it?

Hey @vaibhavk1992 ,
Do you see this warning? It's written when the blockstore implementation is of type memory. We need a similar warning if the database implementation is of type memory as well.


Specify tags for reusable CI

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-16.2%) to 50.828%

Files with Coverage Reduction
New Missed Lines
%

utils.py
1
75.0%

Totals

Change from base Build<PHONE_NUMBER>:
-16.2%

Covered Lines:
1873

Relevant Lines:
3685

💛  - Coveralls


Keyboard shortcuts to change the zoom level/scale

Hi,
It would be great if you could add keyboard shortcuts to zoom in/out of images, I guess that it can be done with the scroll wheel on the mouse but I don't have any. To be able to zoom to a rectangle would of course also be very useful feature.
If there already is a  keyboard shortcuts it is not listed.
Cheers,
Erik

Good idea, I add this to the feature requests. Should be easy to add.


Added option to trim tags

Codecov Report

Merging #228 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #228      +/-   ##
==========================================
+ Coverage   65.15%   65.16%   +<.01%
==========================================
  Files          15       15
  Lines       33616    33620       +4
  Branches      126      127       +1
==========================================
+ Hits        21904    21907       +3
  Misses      11638    11638
- Partials       74       75       +1

Impacted Files
Coverage Δ

modules/components/tag-input.ts
77.3% <100%> (-0.04%)
:x:

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 a99bd89...ac6828b. Read the comment docs.


Problem with national char in poketstop name

Expected Behavior
Sometime  script have proble with parse name
    yield Destination(fort.latitude, fort.longitude, 0.0, name="PokeStop \"{}\"".format(fort_name))
UnicodeEncodeError: 'ascii' codec can't encode characters in position 30-31: ordinal not in
range(128)

MY resolutions
in file
/home/dzaczek/OpenPoGoBot/pokemongo_bot/navigation/fort_navigator.py"
                    fort_name = response_dict["fort"].fort_name
                    fort_name = fort_name.encode('utf-8')

added encode
and
in file pokecli add reload(sys) and sys.deflautencoding('utf-8')

def main():
    # log settings
    # log format
    # logging.basicConfig(level=logging.DEBUG, format='%(asctime)s [%(module)10s] [%(levelname)5s] %(message)s')

    reload(sys)
    sys.setdefaultencoding("utf-8")

Actual Behavior
Steps to Reproduce
Other Information
OS:
Git Commit:

Have you tried the newest version?
UTF-8 problems should have been fixed with the latest merge.

i will try :)

checked is better :)


Cleanup ldap post-Grouper

Cleanup unused ldap branches after Grouper retirement on Dev.

[ ] Delete the ou=people stem in LDAP
[ ] Delete the ou=groups stem in LDAP

Holding off on this for a while in case we need to query ou=people ldap when diagnosing ou=people2 issues.

@mikethicke was this ever completed? Is it still a thing?


Surah cleanups

i get a 'debug is not defined' error trying this out

here's a screenshot with a stack trace, nice

also, const ayahRangeSize should be in Surah/connect.js and not in Surah/index.js

Not done not done :)


ValueError: Argument types for wrap_index must match in @njit(parallel=True) when using int32 as index

This should work:
import numba
import numpy as np

@numba.njit(parallel=True)
def test(data, indptr):
    sums = np.zeros((indptr.size - 1), dtype=data.dtype)
    for i in numba.prange(indptr.size - 1):
        start, end = indptr[i], indptr[i + 1]
        sums[i] = np.sum(data[start:end])
    return sums.reshape((indptr.size - 1, 1))

test(np.array([.3, .4, .5, .6]),np.array([0, 2, 4], dtype=np.int32))

But I get:
Traceback (most recent call last):
  File "/home/phil/.PyCharm2019.3/config/scratches/scratch_1.py", line 12, in <module>
    test(np.array([.3, .4, .5, .6]),np.array([0, 2, 4], dtype=np.int32))
  File "/usr/lib/python3.8/site-packages/numba/dispatcher.py", line 401, in _compile_for_args
    error_rewrite(e, 'typing')
  File "/usr/lib/python3.8/site-packages/numba/dispatcher.py", line 344, in error_rewrite
    reraise(type(e), e, None)
  File "/usr/lib/python3.8/site-packages/numba/six.py", line 668, in reraise
    raise value.with_traceback(tb)
numba.errors.TypingError: Failed in nopython mode pipeline (step: nopython mode backend)
Failed in nopython mode pipeline (step: nopython frontend)
Invalid use of Function(<intrinsic wrap_index>) with argument(s) of type(s): (int32, int64)
 * parameterized
In definition 0:
    ValueError: Argument types for wrap_index must match
    raised from /usr/lib/python3.8/site-packages/numba/array_analysis.py:72
In definition 1:
    ValueError: Argument types for wrap_index must match
    raised from /usr/lib/python3.8/site-packages/numba/array_analysis.py:72
This error is usually caused by passing an argument of a type that is unsupported by the named function.
[1] During: resolving callee type: Function(<intrinsic wrap_index>)
[2] During: typing of call at /home/phil/.PyCharm2019.3/config/scratches/scratch_1.py (9)

File "scratch_1.py", line 9:
def test(data, indptr):
    <source elided>
        start, end = indptr[i], indptr[i + 1]
        sums[i] = np.sum(data[start:end])
        ^

[1] During: lowering "id=2[LoopNest(index_variable = parfor_index.50, range = (0, $34binary_subtract.15, 1))]{42: <ir.Block at /home/phil/.PyCharm2019.3/config/scratches/scratch_1.py (7)>}Var(parfor_index.50, scratch_1.py:7)" at /home/phil/.PyCharm2019.3/config/scratches/scratch_1.py (7)

Numba 0.47.0

Thanks for the report, I can reproduce. Looks like this is a bug in array analysis used by the parallel CPU target.

Smaller reproducer:
import numba
import numpy as np

@numba.njit(parallel=True)
def test(data):
    N = data.shape[0]
    sums = np.zeros(N)
    for i in numba.prange(N):
        sums[i] = np.sum(data[np.int32(0):np.int32(1)])
    return sums

test(np.arange(10.))


spec: provide maximum msg body size

A libvfio-user server needs to restrict body size for an individual message; we should report this to the client during negotiation. We might want to do the same for the client too.

We already have this, it's max_msg_size in the spec.

Bah, thanks. I noticed another problem though.


Add interpreter for ConvolutionOp

We have the following constraints in the spec (excluding quantization-related constraints C28-C33):
(I1) `lhs` tensor.
(I2) `rhs` tensor.
(I3) `window_strides` 1-dimensional tensor constant of type `si64`.
(I4) `padding` 2-dimensional tensor constant of type `si64`.
(I5) `lhs_dilation` 1-dimensional tensor constant of type `si64`.
(I6) `rhs_dilation` 1-dimensional tensor constant of type `si64`.
(I7) `window_reversal` 1-dimensional tensor constant of type `i1`.
(I8) `input_batch_dimension` constant of type `si64`.
(I9) `input_feature_dimension` constant of type `si64`.
(I10) `input_spatial_dimensions` 1-dimensional tensor constant of type `si64`.
(I11) `kernel_input_feature_dimension` constant of type `si64`.
(I12) `kernel_output_feature_dimension` constant of type `si64`.
(I13) `kernel_spatial_dimensions` 1-dimensional tensor constant of type `si64`.
(I14) `output_batch_dimension` constant of type `si64`.
(I15) `output_feature_dimension` constant of type `si64`.
(I16) `output_spatial_dimensions` 1-dimensional tensor constant of type `si64`.
(I17) `feature_group_count` constant of type `si64`.
(I18) `batch_group_count` constant of type `si64`.
(I19) `precision_config` variadic number of enums of `DEFAULT`, `HIGH`, and `HIGHEST`.
(C1) `N = rank(lhs) = rank(rhs)`.
(C2) `size(window_strides) = N - 2`.
(C3) `0 < window_strides`.
(C4) `shape(padding) = [N - 2, 2]`.
(C5) `size(lhs_dilation) = N - 2`.
(C6) `0 < lhs_dilation`.
(C7) `size(rhs_dilation) = N - 2`.
(C8) `0 < rhs_dilation`.
(C9) `size(window_reversal) = N - 2`.
(C10) `dim(lhs, input_batch_dimension) % batch_group_count = 0`.
(C11) `dim(lhs, input_feature_dimension) % feature_group_count = 0`.
(C12) `size(input_spatial_dimensions) = N - 2`.
(C13) Given `input_dimensions = [input_batch_dimension] +
     input_spatial_dimensions + [input_feature_dimension]`:
* `is_unique(input_dimensions)`.
* `0 <= input_dimensions < N`.
(C14) `dim(rhs, kernel_input_feature_dimension = dim(lhs, input_feature_dimension) / feature_group_count`.
(C15) `dim(rhs, kernel_output_feature_dimension) % batch_group_count = 0`.
(C16) `dim(rhs, kernel_output_feature_dimension) % feature_group_count = 0`.
(C17) `size(kernel_spatial_dimensions) = N - 2`.
(C18) Given `kernel_dimensions = kernel_spatial_dimensions +
      [kernel_input_feature_dimension] + [kernel_output_feature_dimension]`:
* `is_unique(kernel_dimensions)`.
* `0 <= kernel_dimensions < N`.
(C19) `size(output_spatial_dimensions) = N - 2`.
(C20) Given `output_dimensions = [output_batch_dimension] +
      output_spatial_dimensions + [output_feature_dimension]`:
* `is_unique(output_dimensions)`.
* `0 <= output_dimensions < N`.
(C21) `0 < feature_group_count`.
(C22) `0 < batch_group_count`.
(C23) `feature_group_count = 1 or batch_group_count = 1`.
(C24) `size(precision_config) = 2`.
(C25) `dim(result, result_dim)` is defined as:
* `dim(lhs, input_batch_dimension) / batch_group_count` if `result_dim = output_batch_dimension`.
* `dim(rhs, kernel_output_feature_dimension)` if `result_dim = output_feature_dimension`.
* `num_windows` otherwise, where:
  * `output_spatial_dimensions[spatial_dim] = result_dim`.
  * `lhs_dim = input_spatial_dimensions[spatial_dim]`.
  * `rhs_dim = kernel_spatial_dimensions[spatial_dim]`.
  * `dilated_input_shape[lhs_dim] = dim(lhs, lhs_dim) = 0 ? 0 : (dim(lhs, lhs_dim) - 1) * lhs_dilation[spatial_dim] + 1`.
  * `padded_input_shape[lhs_dim] = padding[spatial_dim, 0] + dilated_input_shape[lhs_dim] + padding[spatial_dim, 1]`.
  * `dilated_window_shape[lhs_dim] = dim(rhs, rhs_dim) = 0 ? 0 : (dim(rhs, rhs_dim) - 1) * rhs_dilation[spatial_dim] + 1`.
  * `is_empty_window[lhs_dim] = padded_input_shape[lhs_dim] = 0 || dilated_window_shape[lhs_dim] > padded_input_shape[lhs_dim]`.
  * `num_windows = is_empty_window[lhs_dim] ? 0 : floor((padded_input_shape[lhs_dim] - dilated_window_shape[lhs_dim]) / window_strides[spatial_dim]) + 1`.
(C26) `rank(result) = N`.
(C27) `element_type(lhs) = element_type(rhs) = element_type(result)`.

These constraints will be comprehensively covered by the following tests:
I1: a) `lhs` tensor. (Covered by ODS).
I2: a) `rhs` tensor. (Covered by ODS).
I3: a) `window_strides` is not a 1-dimensional tensor.
    b) element_type(`window_strides`) != `si64`. (Covered by ODS).
I4: a) `padding` is not a 2-dimensional tensor.
    b) element_type(`padding`) != `si64`. (Covered by ODS).
I5: a) `lhs_dilation` is not a 1-dimensional tensor.
    b)  element_type(`lhs_dilation`) != `si64`. (Covered by ODS).
I6: a) `rhs_dilation` is not a 1-dimensional tensor.
    b) element_type(`rhs_dilation`) != `si64`. (Covered by ODS).
I7: a) `window_reversal` is not a 1-dimensional tensor.
    b) element_type(`window_reversal`) != `i1`. (Covered by ODS).
I8: a) element_type(`input_batch_dimension`) != `si64`. (Covered by ODS).
I9: a) element_type(`input_feature_dimension`) != `si64`. (Covered by ODS).
I10: a) `input_spatial_dimensions` is not a 1-dimensional tensor. (Covered by ODS).
     b) element_type(`input_spatial_dimensions`) != `si64`. (Covered by ODS).
I11: a) element_type(`kernel_input_feature_dimension`) != `si64`. (Covered by ODS).
I12: a) element_type(`kernel_output_feature_dimension`) != `si64`. (Covered by ODS).
I13: a) `kernel_spatial_dimensions` is not a 1-dimensional tensor. (Covered by ODS).
     b) element_type(`kernel_spatial_dimensions`) != `si64`. (Covered by ODS).
I14: a) element_type(`output_batch_dimension`) != `si64`. (Covered by ODS).
I15: a) element_type(`output_feature_dimension`) != `si64`. (Covered by ODS).
I16: a) `output_spatial_dimensions` is not a 1-dimensional tensor. (Covered by ODS).
     b) element_type(`output_spatial_dimensions`) != `si64`. (Covered by ODS).
I17: a) element_type(`feature_group_count`) != `si64`. (Covered by ODS).
I18: a) element_type(`batch_group_count`) != `si64`. (Covered by ODS).
I19: a) `precision_config` does not have variadic number of enums of `DEFAULT`, `HIGH`, and `HIGHEST`. (Covered by ODS).
C1: a) N = rank(`lhs`) != rank(`rhs`).
C2: a) size(`window_strides`) != N - 2.
C3: a) `window_strides[i]` <= 0 for any i in [0, size(`window_strides`)).
C4: a) dim(`padding`, 0) != N - 2.
    b) dim(`padding`, 1) != 2.
C5: a) size(`lhs_dilation`) != N - 2.
C6: a) `lhs_dilation[i]` <= 0 for any i in [0, size(`lhs_dilation`)).
C7: a) size(`rhs_dilation`) != N - 2.
C8: a) `rhs_dilation[i]` <= 0 for any i in [0, size(`rhs_dilation`)).
C9: a) size(`window_reversal`) != N - 2.
C10: a) `dim(lhs, input_batch_dimension) % batch_group_count != 0`.
C11: a) `dim(lhs, input_feature_dimension) % feature_group_count != 0`.
C12: a) size(`input_spatial_dimensions`) != N - 2.
C13: a) Given `input_dimensions = [input_batch_dimension] +
     input_spatial_dimensions + [input_feature_dimension]`:
     * Any dimensions in `input_dimensions` are not unique.
     b) Given `input_dimensions = [input_batch_dimension] +
     input_spatial_dimensions + [input_feature_dimension]`:
     * For any i in `input_dimensions`, i < 0.
     c) Given `input_dimensions = [input_batch_dimension] +
     input_spatial_dimensions + [input_feature_dimension]`:
     * For any i in `input_dimensions`, i >= N.
C14: a) `dim(rhs, kernel_input_feature_dimension != dim(lhs, input_feature_dimension) / feature_group_count`.
C15: a) `dim(rhs, kernel_output_feature_dimension) % batch_group_count != 0`.
C16: a) `dim(rhs, kernel_output_feature_dimension) % feature_group_count != 0`.
C17: a) size(`kernel_spatial_dimensions`) != N - 2.
C18: a) Given `kernel_dimensions = kernel_spatial_dimensions +
     [kernel_input_feature_dimension] + [kernel_output_feature_dimension]`:
     * Any dimensions in `kernel_dimensions` are not unique.
     b) Given `kernel_dimensions = kernel_spatial_dimensions +
     [kernel_input_feature_dimension] + [kernel_output_feature_dimension]`:
     * For any i in$ `kernel_dimensions`, i < 0.
     c) Given `kernel_dimensions = kernel_spatial_dimensions +
     [kernel_input_feature_dimension] + [kernel_output_feature_dimension]`:
     * For any i in `kernel_dimensions`, i >= N.
C19: a) size(`output_spatial_dimensions`) != N - 2.
C20: a) Given `output_dimensions = [output_batch_dimension] +
     output_spatial_dimensions + [output_feature_dimension]`:
     * Any dimensions in `output_dimensions` are not unique.
     b) Given `output_dimensions = [output_batch_dimension] +
     output_spatial_dimensions + [output_feature_dimension]`:
     * For any i in `output_dimensions`, i < 0.
     c) Given `output_dimensions = [output_batch_dimension] +
     output_spatial_dimensions + [output_feature_dimension]`:
     * For any i in `output_dimensions`, i >= N.
C21: a) `feature_group_count <= 0`.
C22: a) `batch_group_count <= 0`.
C23: a) `feature_group_count` != 1 and `batch_group_count` != 1.
C24: a) size(`precision_config`) != 2.
C25: a) For result_dim in [0, N):
        `dim(result, result_dim)` != `dim(lhs, input_batch_dimension) / batch_group_count`, if `result_dim = output_batch_dimension`.
     b) For result_dim in [0, N):
        `dim(result, result_dim)` != `dim(rhs, kernel_output_feature_dimension)`, if `result_dim = output_feature_dimension`.
     c) For result_dim in [0, N):
        `dim(result, result_dim)` != `num_windows` otherwise, where:
       * `output_spatial_dimensions[spatial_dim] = result_dim`.
       * `lhs_dim = input_spatial_dimensions[spatial_dim]`.
       * `rhs_dim = kernel_spatial_dimensions[spatial_dim]`.
       * `dilated_input_shape[lhs_dim] = dim(lhs, lhs_dim) == 0 ? 0 : (dim(lhs, lhs_dim) - 1) * lhs_dilation[spatial_dim] + 1`.
       * `padded_input_shape[lhs_dim] = padding[spatial_dim, 0] + dilated_input_shape[lhs_dim] + padding[spatial_dim, 1]`.
       * `dilated_window_shape[lhs_dim] = dim(rhs, rhs_dim) == 0 ? 0 : (dim(rhs, rhs_dim) - 1) * rhs_dilation[spatial_dim] + 1`.
       * `num_windows = (padded_input_shape[lhs_dim] == 0 || dilated_window_shape[lhs_dim] > padded_input_shape[lhs_dim]) ? 0 : floor((padded_input_shape[lhs_dim] - dilated_window_shape[lhs_dim]) / window_strides[spatial_dim]) + 1`.
C26: a) rank(result) != N.
C27: a) element_type(`lhs`) != element_type(`rhs`).

If we drop the "Covered by ODS" pieces, this will leave us with the following test cases:
I3a: `window_strides` is not a 1-dimensional tensor.
I4a: `padding` is not a 2-dimensional tensor.
I5a: `lhs_dilation` is not a 1-dimensional tensor.
I6a: `rhs_dilation` is not a 1-dimensional tensor.
I7a: `window_reversal` is not a 1-dimensional tensor.
C1a: rank(`lhs`) != rank(`rhs`) != N.
C2a: size(`window_strides`) != N - 2.
C3a: `window_strides[i]` <= 0 for any i in [0, size(`window_strides`)).
C4a: dim(`padding`, 0) != N - 2.
C4b: dim(`padding`, 1) != 2.
C5a: size(`lhs_dilation`) != N - 2.
C6a: `lhs_dilation[i]` <= 0 for any i in [0, size(`lhs_dilation`)).
C7a: size(`rhs_dilation`) != N - 2.
C8a: `rhs_dilation[i]` <= 0 for any i in [0, size(`rhs_dilation`)).
C9a: size(`window_reversal`) != N - 2.
C10a: `dim(lhs, input_batch_dimension) % batch_group_count != 0`.
C11a: `dim(lhs, input_feature_dimension) % feature_group_count != 0`.
C12a: size(`input_spatial_dimensions`) != N - 2.
C13a: Given `input_dimensions = [input_batch_dimension] +
      input_spatial_dimensions + [input_feature_dimension]`:
      * Any dimensions in `input_dimensions` are not unique.
C13b: Given `input_dimensions = [input_batch_dimension] +
      input_spatial_dimensions + [input_feature_dimension]`:
      * For any i in `input_dimensions`, i < 0.
C13c: Given `input_dimensions = [input_batch_dimension] +
      input_spatial_dimensions + [input_feature_dimension]`:
      * For any i in `input_dimensions`, i >= N.
C14a: `dim(rhs, kernel_input_feature_dimension != dim(lhs, input_feature_dimension) / feature_group_count`.
C15a: `dim(rhs, kernel_output_feature_dimension) % batch_group_count != 0`.
C16a: `dim(rhs, kernel_output_feature_dimension) % feature_group_count != 0`.
C17a: size(`kernel_spatial_dimensions`) != N - 2.
C18a: Given `kernel_dimensions = kernel_spatial_dimensions +
      [kernel_input_feature_dimension] + [kernel_output_feature_dimension]`:
      * Any dimensions in `kernel_dimensions` are not unique.
C18b: Given `kernel_dimensions = kernel_spatial_dimensions +
      [kernel_input_feature_dimension] + [kernel_output_feature_dimension]`:
      * For any i in$ `kernel_dimensions`, i < 0.
C18c: Given `kernel_dimensions = kernel_spatial_dimensions +
      [kernel_input_feature_dimension] + [kernel_output_feature_dimension]`:
      * For any i in `kernel_dimensions`, i >= N.
C19a: size(`output_spatial_dimensions`) != N - 2.
C20a: Given `output_dimensions = [output_batch_dimension] +
     output_spatial_dimensions + [output_feature_dimension]`:
     * Any dimensions in `output_dimensions` are not unique.
     b) Given `output_dimensions = [output_batch_dimension] +
     output_spatial_dimensions + [output_feature_dimension]`:
     * For any i in `output_dimensions`, i < 0.
     c) Given `output_dimensions = [output_batch_dimension] +
     output_spatial_dimensions + [output_feature_dimension]`:
     * For any i in `output_dimensions`, i >= N.
C21a: `feature_group_count <= 0`.
C22a: `batch_group_count <= 0`.
C23a: `feature_group_count` != 1 and `batch_group_count` != 1.
C24a: size(`precision_config`) != 2.
C25a: For result_dim in [0, N):
      `dim(result, result_dim)` != `dim(lhs, input_batch_dimension) / batch_group_count`, if `result_dim = output_batch_dimension`.
C25b: For result_dim in [0, N):
      `dim(result, result_dim)` != `dim(rhs, kernel_output_feature_dimension)`, if `result_dim = output_feature_dimension`.
C25c: For result_dim in [0, N):
      `dim(result, result_dim)` != `num_windows` otherwise, where:
        * `output_spatial_dimensions[spatial_dim] = result_dim`.
        * `lhs_dim = input_spatial_dimensions[spatial_dim]`.
        * `rhs_dim = kernel_spatial_dimensions[spatial_dim]`.
        * `dilated_input_shape[lhs_dim] = dim(lhs, lhs_dim) == 0 ? 0 : (dim(lhs, lhs_dim) - 1) * lhs_dilation[spatial_dim] + 1`.
        * `padded_input_shape[lhs_dim] = padding[spatial_dim, 0] + dilated_input_shape[lhs_dim] + padding[spatial_dim, 1]`.
        * `dilated_window_shape[lhs_dim] = dim(rhs, rhs_dim) == 0 ? 0 : (dim(rhs, rhs_dim) - 1) * rhs_dilation[spatial_dim] + 1`.
        * `num_windows = (padded_input_shape[lhs_dim] == 0 || dilated_window_shape[lhs_dim] > padded_input_shape[lhs_dim]) ? 0 : floor((padded_input_shape[lhs_dim] - dilated_window_shape[lhs_dim]) / window_strides[spatial_dim]) + 1`.
C26a: rank(result) != N.
C27a: element_type(`lhs`) != element_type(`rhs`).

Notes:

(new C24) is left untouched as there are still pending action item regarding the number of precision config values allowed in #879.

closes #970

Currently there is no constraint to check whether rhs dimension size is zero, but we do have a check for it in TypeInference L337. In particular, this test in verify_conv.mlir:
func.func @invalid_conv_window_attributes(%arg0: tensor<1x8x8x207xf32>,
    %arg1: tensor<0x3x207x16xf32>) -> tensor<1x8x8x16xf32> {
  // expected-error@+1 {{expects window to have positive value for 0-th window dimension, but got 0.}}
  %0 = stablehlo.convolution(%arg0, %arg1)
         dim_numbers = [b, 0, 1, f]x[0, 1, i, o]->[b, 0, 1, f],
         window = {stride = [1, 1], pad = [[1, 1], [1,1]],
           lhs_dilate = [1, 1], rhs_dilate = [1, 1]}
         {
           batch_group_count = 1 : i64,
           feature_group_count = 1 : i64,
           precision_config = [#stablehlo<precision DEFAULT>, #stablehlo<precision DEFAULT>]} :
       (tensor<1x8x8x207xf32>, tensor<0x3x207x16xf32>) -> tensor<1x8x8x16xf32>
  func.return %0 : tensor<1x8x8x16xf32>
}

Should we add one?
Also, tests related to preferred element type and some floating-point tests are still disabled.

Finish adding my remaining set of comments! Sorry for taking a bit longer for the review. It took me some time to get the overall perceptive. Also, I can see how much attention and hard-work  you have put in to get the implementation and make it working. Thanks @ghpvnist !

Given that this change is very large to review in one go, I've split the implementation from the rest of this PR in #1964. The remaining changes from this PR will be addressed once the implementation is merged with #2092 tracking this.


Unable to set datadog hostname or port with environment variables

Is there an existing issue for this?

[X] I have searched the existing issues

Kong version ($ kong version)
2.6
Current Behavior
When I try to use KONG_DATADOG_AGENT_HOST, the Datadog plugin uses the default localhost.
Expected Behavior
When I use KONG_DATADOG_AGENT_HOST, that value should be used for the Datadog host
Steps To Reproduce

Configured the plugin as follows (note that it is host:  to create a null, but the behaviour is the same if I omit the host: entry, or use host: null or host: ""). We are using this as a global, but the same behaviour appears when used as non-global

 apiVersion: configuration.konghq.com/v1
 kind: KongClusterPlugin
 metadata:
  name: datadog
  annotations:
     kubernetes.io/ingress.class: kong
   labels:
     global: "true"
 config:
   host:
   port: 8125
   metrics:
   prefix: api-gateway

The helm chart is setup as follows, to get the latest upstream Kong with this datadog plugin enhancement, and set the env var:

image:
  repository: kong
  tag: "2.6"

env:
  datadog_agent_host:
    valueFrom:
      fieldRef:
        fieldPath: status.hostIP

We see that KONG_DATADOG_AGENT_HOST is set, and KONG_VERSION is correctL:

❯ kubectl exec -it pod/api-gateway-v1-kong-6cf47678f6-rvdpt -c proxy -n kong -- bash
$ set | grep -e DATADOG -e VERSION
bash-5.1$ set | grep -e DATADOG -e VERSION
BASH_VERSION='5.1.4(1)-release'
KONG_DATADOG_AGENT_HOST=<IP_ADDRESS>
KONG_VERSION=2.6.0

When traffic is sent, the proxy tries to send datadog metrics to localhost:

❯ kubectl logs -f pod/api-gateway-v1-kong-6cf47678f6-rvdpt -n kong -c proxy
<some logs truncated for brevity>
<IP_ADDRESS> - - [12/Oct/2021:18:28:22 +0000] "GET / HTTP/1.1" 200 402 "-" "curl/7.64.1"
2021/10/12 18:28:22 [error] 1099#0: *3632 send() failed (111: Connection refused), context: ngx.timer, client: <IP_ADDRESS>, server: <IP_ADDRESS>:8000
2021/10/12 18:28:22 [error] 1099#0: *3632 [kong] statsd_logger.lua:81 failed to send data to localhost:8125: connection refused, context: ngx.timer, client: <IP_ADDRESS>, server: <IP_ADDRESS>:8000
2021/10/12 18:28:22 [error] 1099#0: *3632 send() failed (111: Connection refused), context: ngx.timer, client: <IP_ADDRESS>, server: <IP_ADDRESS>:8000
2021/10/12 18:28:22 [error] 1099#0: *3632 [kong] statsd_logger.lua:81 failed to send data to localhost:8125: connection refused, context: ngx.timer, client: <IP_ADDRESS>, server: <IP_ADDRESS>:8000
2021/10/12 18:28:22 [error] 1099#0: *3632 send() failed (111: Connection refused), context: ngx.timer, client: <IP_ADDRESS>, server: <IP_ADDRESS>:8000
2021/10/12 18:28:22 [error] 1099#0: *3632 [kong] statsd_logger.lua:81 failed to send data to localhost:8125: connection refused, context: ngx.timer, client: <IP_ADDRESS>, server: <IP_ADDRESS>:8000

Anything else?
My lua is non-existent, but it seems that this will set the host to localhost if there is no host set (i.e. if it's "" or null):
https://github.com/Kong/kong/blob/master/kong/plugins/datadog/schema.lua#L77
Therefore, the env var will never be used here, as conf.host will always have some value:
https://github.com/Kong/kong/blob/master/kong/plugins/datadog/statsd_logger.lua#L27

Same for me. We're working around this by hard-coding in the agent IP but the use_env design was better, IMO.

I'm also having this problem. Would love for this plugin to be fixed so that we can actually use it - as is, we have to manually set an IP address in the plugin, which won't work if our kong proxy deployment ever scales across more than one node (something that will definitely be an issue for us before long). Anyone have a reasonable fix for this besides cloning/manually updating the plugin code?

The workaround we used:

Update to Kubernetes 1.21
Set the ServiceInternalTrafficPolicy feature gate to true
In your Datadog helm chart, set agents.localService.forceLocalServiceEnabled=true

Or, if you upgrade to k8s 1.22, you can skip the other steps; the ServiceInternalTrafficPolicy gate defaults to True, as does the DD helm chart flag.
This creates a Service for Datadog that you can reference in your Datadog plugin config. For instance, we have DD installed into its own datadog namespace, so we have:
apiVersion: configuration.konghq.com/v1
kind: KongClusterPlugin
metadata:
  name: datadog
  annotations:
    kubernetes.io/ingress.class: kong
  labels:
    global: "true"
config:
  host: datadog.datadog.svc.cluster.local  # this is the part that is made possible by this workaround
  port: 8125

If you can't get to k8s 1.21 or newer, I think you're still hosed.

@stpierre whoaaa thanks for jumping in! Just tested this out on a cluster running 1.22 and it really does just work out of the box. Really appreciate the tip! Now just to upgrade the cluster that's actually hosting all my apps.... 😬

I'm also having this issue and I can't get any monitoring to work at all with k8s v1.19. Upgrading k8s isn't an option at this time and I'm struggling to find any documentation on requirements for k8s version. We're in the process of evaluating Kong as our API gateway solution, but if we can't get any metrics into DD...pretty useless.
Info:
K8s version: v1.19
Kong version: 2.7
Plugin config:

apiVersion: configuration.konghq.com/v1
kind: KongClusterPlugin
metadata:
  name: datadog-monitor
  annotations:
    kubernetes.io/ingress.class: kong
  labels:
    global: "true"
config:
  port: 8125
  metrics:
  prefix: kong
plugin: datadog

Logs from kong-proxy container:
1097#0: *35621 [kong] statsd_logger.lua:82 failed to send data to localhost:8125: connection refused
DD template config (helm):

dogstatsd:
    originDetection: true
    useSocketVolume: true
    useHostPort: true
    nonLocalTraffic: true
  confd:
    kong.yaml: |-
      ad_identifiers:
        - kong
      init_config:
      instances:
        - openmetrics_endpoint: http://%%host%%:8001/metrics
          kong_status_url: http://%%host%%:8001/status/

I've spent most of my day trying to get this working and would really appreciate any help or info!

The workaround we used:

Update to Kubernetes 1.21
Set the ServiceInternalTrafficPolicy feature gate to true
In your Datadog helm chart, set agents.localService.forceLocalServiceEnabled=true

Or, if you upgrade to k8s 1.22, you can skip the other steps; the ServiceInternalTrafficPolicy gate defaults to True, as does the DD helm chart flag.
This creates a Service for Datadog that you can reference in your Datadog plugin config. For instance, we have DD installed into its own datadog namespace, so we have:
apiVersion: configuration.konghq.com/v1
kind: KongClusterPlugin
metadata:
  name: datadog
  annotations:
    kubernetes.io/ingress.class: kong
  labels:
    global: "true"
config:
  host: datadog.datadog.svc.cluster.local  # this is the part that is made possible by this workaround
  port: 8125

If you can't get to k8s 1.21 or newer, I think you're still hosed.

@stpierre thanks for this, pls where did you set the ServiceInternalTrafficPolicy feature gate from?

Feature gates are enabled/disabled with kubelet command-line arguments.

Thanks @stpierre for the swift response. currently, I'm running kong on staging and prod, the service configuration
apiVersion: configuration.konghq.com/v1
kind: KongClusterPlugin
metadata:
  name: datadog
  annotations:
    kubernetes.io/ingress.class: kong
  labels:
    global: "true"
config:
  host: datadog.datadog.svc.cluster.local  # this is the part that is made possible by this workaround
  port: 8125

will it be created in the file path?

I tried my hand at some code based workarounds, and it turns out this is a bit more problematic.
If you're having this issue, take a look at https://github.com/Kong/kong/pull/9466, specifically the later comments around how null values are treated in a k8s context (and through kubernetes-ingress-controller)
If we can find a viable solution to using Secrets Manager, that may be useful. In the meantime, we have since been able to upgrade to k8s 1.21+ and are using the workaround suggested by @stpierre

If we can find a viable solution to using Secrets Manager, that may be useful.

PR is welcome to make the host field referenceable.

IMO, it's a should-be-fixed bug that the env vars are never used. The "referencable" solution is a workaround.

@StarlightIbuki  I don't think creating service in k8s just for this use case is justified even with latest feature of support ServiceInternalTrafficPolicy feature gate.  So, IMO, Kong should support environment variables.

Fixed with https://github.com/Kong/kong/pull/10484
See https://github.com/Kong/docs.konghq.com/pull/5353 for docs.


Reapply kube-proxy daemonset via EKS addons

Pretty sure this still doesn't play for our use-case.


ockam CLI portal command

I'm having some issues with my yubikey at the moment which is why the commits are not signed. I'll rebase with a different computer


[homebridge-eWeLink.eWeLink] Initialization skipped. Missing configuration data.

I follow up installation guide here, put all toghether but this messege apears:
Load homebridge-eWeLink.eWeLink [16/02/2019 22:56:21] [homebridge-eWeLink.eWeLink] Initialization skipped. Missing configuration data.
And none of my sonoff shows on homekit...
Someone can help?

This means you did not configure the plugin correctly. As you did not show us the content of your config.json, we cannot help.

It seems your config.json is not valid.
Try this instead:
{
   "bridge": {
       "name": "Homebridge",
       "username": "78:31:C1:D6:7B:EA",
       "pin": "031-45-154"
   },

   "accessories": [
       {
           "accessory": "webostv",
           "name": "TV LG",
           "ip": "<IP_ADDRESS>",
           "mac": "78:5D:C8:85:4A:E0",
           "keyFile": "/home/pi/.homebridge/lgtvKeyFile",
           "pollingInterval": 10,
           "volumeControl": "slider",
           "mediaControl": false,
           "inputs": [
               {
                   "appId": "com.webos.app.livetv",
                   "name": "Live TV"
               },
               {
                   "appId": "com.webos.app.hdmi2",
                   "name": "PS4"
               },
               {
                   "appId":"com.webos.app-10.hdmi1",
                   "name": "Vivo"
               },
               {
                   "appId": "youtube.leanback.v4",
                   "name": "YouTube"
               },
               {
                   "appId": "netflix",
                   "name": "Netflix"
               }
           ],
           "channelButtons": [3,5,7,8],
           "notificationButtons": [
               "Motion detected - living room",
               "Motion detected - kitchen"
           ],
           "remoteControlButtons": [
               "HOME",
               "LIST",
               "EXIT"
           ]
       }
   ],

   "platforms": [
       {
           "platform" : "eWeLink",
           "name" : "eWeLink",
           "email"<EMAIL_ADDRESS>           "password" : "mypassword",
           "imei" : "4AA0773B-A2BE-45D2-BDDB-20E57A005855"
       }
   ]
}

Tip: You may use an online JSON validator like https://jsonlint.com/ to check your JSON file.

Hi marceloppps, it've been a while since I replied and I didn't heard from you again. I suppose your problem is solved, and this is not even an issue of the homebridge-ewelink-max plugin. I am closing this issue now. If you still have trouble configuring homebridge, you may look into Homebridge
Basic Troubleshooting and please do not post here. This is strictly for issues within the homebridge-ewelink-max plugin only.


Create system_tests top level directory

Move test projects

app_timer_test/
rtc_test/
spi_test/
timer_test/

Into top level directory system_tests

No longer valid - 'system tests' are now nordic/tests, which test the peripheral implementations.


Allow the retirement date to be cleared

Allow the retirement date to be cleared
Links
https://bugzilla.redhat.com/show_bug.cgi?id=1384028
Steps for Testing
Set and save the retirement date for a VM
Reopen the Set Retirement for and clear the date field. The Save button is not enabled before this fix.

@miq-bot add_label ui, wip, bug

@miq-bot remove_label wip

@miq-bot add_label euwe/yes

verified fix.

Euwe backport details:
$ git log -1
commit 72cd298207f833936e8b659e5fc20cb149a62f6d
Author: Harpreet Kataria<EMAIL_ADDRESS>Date:   Thu Nov 10 15:22:30 2016 -0500

    Merge pull request #12378 from lgalis/retirement_date_cannot_be_removed

    Allow the retirement date to be cleared
    (cherry picked from commit 17f1e92df3a99cb57a96ec6b226ff91286c96b31)

    https://bugzilla.redhat.com/show_bug.cgi?id=1410845


Cannot distinguish constants and Enum members

Description:
In the current compiler implementation we cannot distinguish enum members from the constants.
Related discussion: https://github.com/ballerina-platform/ballerina-lang/discussions/28967

As per the discussion in #28967, the plan is to use the ConstantSymbol for enum members, but to return ENUM_MEMBER as the symbol kind from the kind() method. This change should be ok for the beta right?

As per the discussion in #28967, the plan is to use the ConstantSymbol for enum members, but to return ENUM_MEMBER as the symbol kind from the kind() method. This change should be ok for the beta right?

+1


disabling the extension doesn't unregister the hijacked code

btw we tried hijacking the webui function that filters extensions thst is called when reloading the ui, but unfortunately the module where this function is located is reset when reloading the webui. with this approach, our hijack function only gets to be called once, whether the extension is to be disabled or not.
There could be a way to hijack this function on ui reload but to achieve this we have to go detective mode on more webui code I think.

oh yeah I just found a solution. On extension reload we test if the function is hijacked and if it isn't, we hijack it again. Instead of hijacking in place with annotation, we could register functions to be hijacked and then call smth like do_hijack() at the bottom of the extension code.

better even, there's a callback setup function on_script_unloaded from modules.script_callbacks. using this in general bug fix pr


Update cats-helper to 1.7.0

Updates com.evolutiongaming:cats-helper from 1.5.2 to 1.7.0.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.evolutiongaming", artifactId = "cats-helper" } ]

labels: library-update, semver-minor

Pull Request Test Coverage Report for Build 140

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+1.2%) to 76.068%

Totals

Change from base Build 136:
1.2%

Covered Lines:
356

Relevant Lines:
468

💛  - Coveralls


the application schematic should prompt for --routing and --style

🐞 Bug report
Command (mark with an x)

- [ ] new
- [ ] build
- [ ] serve
- [ ] test
- [ ] e2e
- [x] generate
- [ ] add
- [ ] update
- [ ] lint
- [ ] xi18n
- [ ] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc

Is this a regression?

No
Description
 A clear and concise description of the problem...
ng generate application <name> doesn't prompt for --routing and --style
🔬 Minimal Reproduction

ng generate application my-app
🔥 Exception or Error

🌍 Your Environment

Angular CLI: 8.0.1
Node: 10.15.3
OS: darwin x64
Angular: 8.0.0
... animations, cdk, common, compiler, compiler-cli, core, forms
... language-service, material, platform-browser
... platform-browser-dynamic, router

Package                            Version
------------------------------------------------------------
@angular-devkit/architect          0.800.1
@angular-devkit/build-angular      0.800.1
@angular-devkit/build-ng-packagr   0.800.1
@angular-devkit/build-optimizer    0.800.1
@angular-devkit/build-webpack      0.800.1
@angular-devkit/core               8.0.1
@angular-devkit/schematics         8.0.1
@angular/cli                       8.0.1
@ngtools/json-schema               1.1.0
@ngtools/webpack                   8.0.1
@schematics/angular                8.0.1
@schematics/update                 0.800.1
ng-packagr                         5.2.0
rxjs                               6.5.2
typescript                         3.4.5
webpack                            4.30.0

Anything else relevant?

I will make a PR to fix this issue :)

Fixed in PR https://github.com/angular/angular-cli/pull/14638.


Problems authenticating

I am having trouble using the password my password manager generated for me.
The (old) password is the following: #@2LDz*Exig4TqxwgD
When I set this as my password I am unable to login and have to remove the database in order to be able to login again. All other passwords I tried (no special characters) seem to work like they should, so this looks like a bug to me. I don't have any errors in the logs to report.

This looks a lot like https://github.com/agersant/polaris-web/issues/59
Can you reproduce this using the latest version of Polaris (0.12.4)?

I am using the latest docker build (https://github.com/ogarcia/docker-polaris) this should use the latest version.

Thank you for confirming. Here is what I found:

Cannot repro using latest from master
Can repro using the 0.12.4 installer
Version 0.12.4 does not contain the fix from agersant/polaris-web#59. This happened because the CI build of polaris-web containing this change failed for unrelated reasons. As a result, the 0.12.4 version did not include the fix.

I updated the release notes from 0.12.4 to reflect this, and the fix will be in 0.12.5 instead.


CNTK-config.json file does not exist in /resource/app

Perhaps because it is no longer needed? So please update the readme file.
Or should I manually create such a file?
Thanks.

Hey thanks for the feedback can you provide the context and steps which caused this error? I am unable to reproduce it.

The version I downloaded is VOTT-win32-x64.zip V1.0.8 for a 64-bit win10 desktop, after extracted the .zip file with the extract option in popup menu, I cannot find the .json file  in ./resource/app directory.
After a bit of browsing, I found the file in ./resources/app/src/lib/detection_algorithms/cntkfastrcnn, not a big issue, just a little bit confusing.
Thanks though 👍

I must have migrated accidentally in the last release, will try to fix before the end of the week. Thanks for bringing this to my attention.


Fix tags task issue

Pull Request Test Coverage Report for Build dcb0ebf6c70cc1e2b778ab6fe79625672feb1c4e
Details

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

Totals

Change from base Build 3fa7f5828849bf6412530b4099697e2316a12c06:
0.0%

Covered Lines:
943

Relevant Lines:
1035

💛  - Coveralls


Select GPUs to use at runtime

The suggested way of using a subset of GPUs is CUDA_VISIBLE_DEVICES=1,2 accelerate launch.
However, I want to use, say, 7 GPUs for training and an 8th GPU for rendering in my dataset. As far as I can see, this is not possible in the current version of accelerate. As it stands, it seems that accelerate either uses all 8 GPUs, or I set CUDA_VISIBLE_DEVICES and then I can't access the 8th GPU at all.

That's not possible with PyTorch I'm afraid.

Can we open a feature request for it? It feels like useful functionality!

You’re welcome to on the PyTorch repo :)

Thanks!


Could not parse hourly Forecast-Data: Error: DB closed

Seit neustem ist mir folgendes aufgefallen, nachdem ich mein System up2date gebracht habe.
Admin :: 5.2.3
Sourceanalytix :: 0.4.12
Node.js: v14.18.2
NPM: 6.14.15
weatherunderground : 3.3.1
Debian 11 aktuell
`

weatherunderground.0
2022-01-07 09:34:33.206
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.197
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.197
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.35h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.196
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.196
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.195
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.34h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.195
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.194
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.194
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.33h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.193
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.193
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.192
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.32h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.192
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.191
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.191
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.31h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.190
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.189
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.189
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.30h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.188
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.188
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.188
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.29h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.187
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.186
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.186
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.28h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.185
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.179
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.179
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.27h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.178
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.178
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.177
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.26h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.177
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.176
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.176
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.25h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.175
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.175
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.174
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.24h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.174
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.173
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.173
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.23h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.172
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.172
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.171
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.22h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.171
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.170
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.170
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.21h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.169
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.169
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.168
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.20h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.168
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.167
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.167
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.19h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.166
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.166
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.165
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.18h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.164
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.164
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.163
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.17h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.162
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.162
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.162
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.16h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.161
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.161
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.160
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.15h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.160
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.159
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.159
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.14h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.153
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.153
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.152
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.13h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.151
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.150
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.150
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.12h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.145
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.145
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.144
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.11h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.144
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.143
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.143
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.10h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.142
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.142
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.141
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.9h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.141
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.140
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.134
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.8h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.134
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.133
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.133
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.7h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.132
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.129
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.129
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.6h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.128
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.127
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.127
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.5h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.126
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.126
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.125
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.4h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.124
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.124
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.123
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.3h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.123
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.122
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.122
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.2h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.121
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.121
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.121
warn
Could not perform strict object check of state weatherunderground.0.forecastHourly.1h.time: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.087
error
Could not parse hourly Forecast-Data: Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.087
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:33.010
error
exception in daily forecast data Error: DB closed

weatherunderground.0
2022-01-07 09:34:33.009
warn
get state error: Connection is closed.

weatherunderground.0
2022-01-07 09:34:32.896
error
exception in daily forecast data Error: DB closed

weatherunderground.0
2022-01-07 09:34:32.272
warn
force terminate

`
Das passiert täglich mehrmals.

Ich meine auch das ganze legt mein System lahm, es wird träge, CPU und Ram Load steigt.

Dann muss es aber mehr log geben ...  Der Adapter hier ist dann nur "ein anzeichen". Am besten -> Forum!
Also musst du im log weiter "früher" suchen. Da muss mehr sein. Auch ein Blick in /var/log/syslog um die Zeit rum ist ggf hilfreich falls es ein Out-OfMemory issue ist


Fix wrong use of hide_*_labels

The boolean I added was used the other way around unfortunately. This should fix it.
Sorry for the bug.
I already bumped the version.

Thanks for catching this!


name not appearing on front and backend certficates

Issue Description

I just claimed my backend certificate, and after viewing, I noticed that there is a blank space where my name should be. How can I get my name to appear? Additionally, the link to the certificate has my correct username at the bottom: "verify this certificate at ...".
Browser Information

The issue occurs in both Chrome and Safari so I would expect browser issues not to be the problem.

This is a common issue, see here:
https://github.com/FreeCodeCamp/FreeCodeCamp/issues/8933

Hi Nick,
We need you Name on the portfolio to generate it, currently as I see on your profile page its not the case.
Possible reason being, you probably updated your name on GitHub after, joining Free Code Camp, here is  fix that should resolve this:
Visit : https://www.freecodecamp.com/settings
And click "Update my Portfolio from Github", this will update your FCC Profile with latest info including name.
This should start displaying your name on the certificate.
Let us know if you face any issues, or you can write to<EMAIL_ADDRESS>

thanks! going to settings worked perfectly.


Sort Suggestions

Even if I sort the data source, the suggestions are not displayed in alphabetical order.
Example Array
['Another Organization', 'Cool Organization']
Typing "Org" will display Cool Organization first. Is there any way to force the suggestions to display in alphabetical order? In this scenario, you would want to view the list alphabetically rather than relying on a higher fuzzy search score.

I agree this is an issue!
Unfortunately this repo isn't maintained any longer, but I'm actively maintaining a fork here: https://github.com/mattzollinhofer/vue-typeahead-bootstrap
I believe I have it fixed the sorting issue in the most recent release, give it a try!
https://www.npmjs.com/package/vue-typeahead-bootstrap

I should note that the config option to help with this is disableSort. So you can't tell the component to alphabetize for you, but the component can respect whatever order you provide.


[WIP] Add new data sync code for MySQL

https://trello.com/c/H7fT1LVU/1316-add-mysql-functionality-to-data-sync

Superseded by #7919.


Pyu/afp 218 changelogs have pagination

@dpisani-atl not currently - there's a separate task to use the  component to show the props table of changelogs, but we should get an example into this PR to demonstrate the prop.

@dpisani-atl @Noviny turns out there's already an entriesPerPage prop so I've renamed all the times I've used maxItems to that


Perform PCT Change calculations

If you make a dataframe with math for your part of the project post it to save your friends some time!


Change poly variant ## spread to #...

Fixes #7

Why is this codebase so clean

I wish my house was this clean.


Android response encode/decode issue

Fix a problem where react-native-blob-util tries to encode the response body as utf-8 rather than decode it as utf-8 to determine if it is valid utf-8.

Thanks. Good point you have there.


feat(menu): default to overlay for ios menu

fixes #18662

Updated base to next branch

next was rebased and I updated this PR to fix conflicts, can you make sure I didn't remove any code on accident?

This needs to be updated with the new animation code.


🐛 BUG: Uncaught ReferenceError: FinalizationRegistry is not defined

What version of Wrangler are you using?
2.4.2
What operating system are you using?
Linux and Mac
Describe the Bug
We have javascript call the wasm code, with WASM_BINDGEN_WEAKREF defined to generate code to register to javascript garbage collector, please see https://rustwasm.github.io/wasm-bindgen/reference/weak-references.html for detail.
here is an example of code generated by wasm-bindgen:
export class StreamWrapper {
    static __wrap(ptr) {
        const obj = Object.create(StreamWrapper.prototype);
        obj.ptr = ptr;
        StreamWrapperFinalization.register(obj, obj.ptr, obj);
        return obj;
    }

    __destroy_into_raw() {
        const ptr = this.ptr;
        this.ptr = 0;
        StreamWrapperFinalization.unregister(this);
        return ptr;
    }

    free() {
        const ptr = this.__destroy_into_raw();
        wasm.__wbg_streamwrapper_free(ptr);
    }
}

it works well with running "wrangler dev --local", but the following error was report when publish to CloudFlare with wrangler2
✘ [ERROR] A request to the Cloudflare API (/accounts/00000000000000000000000/workers/scripts/worker_name) failed.

  Uncaught ReferenceError: FinalizationRegistry is not defined
    at worker.js:446:35
   [code: 10021]

  If you think this is a bug, please open an issue at:
  https://github.com/cloudflare/wrangler2/issues/new/choose

Does it make sense to add a warning here? The error message does say nothing

@shyim thanks, it would be nice to support FinalizationRegistry which makes use of javascript GC, but I don't know whether it is supported in Cloudflare env and how to fix that.
I tested in miniflare, looks all good with WASM_BINDGEN_WEAKREF defined.


Fix db V7 upgrade (updateFromV6).

Two typos in table names cause upgrade to fail, causing LXD startup failure:
# lxd --debug --group=lxd
2015/05/10 20:16:50 looking for existing certificates: /var/lib/lxd/server.crt /var/lib/lxd/server.key
error: no such table: image_properties

Fixes bug in #625
Signed-off-by: Matt Morrison<EMAIL_ADDRESS>

Closing - this is a dup of #627


Incident settings (Preview) - Grouping alerts into a single incident if the selected entities match - only first available entity is saved in settings (if selected).

Describe the bug
Scheduled analytic rule is created and "Incident settings (Preview)" - "Grouping alerts into a single incident if the selected entities match:" option is utilized, by choosing more than 1 entity (e.g. Account and URL). Rule is validated and saved. When rule is edited again, it turns out that only setting for the first available entity was saved, other available entities are "unchecked".
To Reproduce
Steps to reproduce the behavior:

Go to 'Analytics'
Click on 'Create > Scheduled query rule'
Create any rule logic with multiple entities, e.g.

let URL = "https://www.microsoft.com"; AzureActivity | limit 1 | extend AccountCustomEntity = Caller, IPCustomEntity = CallerIpAddress, URLCustomEntity = URL

Go to 'Incident settings (Preview)'.
Enable alert grouping (switch toggle button 'Group related alerts, triggered by this analytics rule, into incidents' to Enabled).
Click 'Grouping alerts into a single incident if the selected entities match:'.

Scenario "A":
7A. From drop down list 'Select entities' select first available and at least one additional entity.
8A. Complete process of creating scheduled query rule.
9A. Edit previously created rule and go to 'Incident settings (Preview)'. Only first entity selected in step 7A is selected.
Scenario "B':
7B. From drop down list 'Select entities' select 2nd available and - optionally - at least one additional entity. Do not select 1st available entity.
8B. Complete process of creating scheduled query rule.
9B. Edit previously created rule and go to 'Incident settings (Preview)'. None of the entities selected in step 7B is selected.
Expected behavior
It's expected that all selected options (when rule was successfully reviewed and created) are saved. In this specific use case, when multiple enitites are selected, this setting should be saved.
Screenshots
Scenario A:

initial configuration:

view of the previously saved rule:

Scenario B:

initial configuration:

view of the previously saved rule:

Desktop (please complete the following information):

OS: Windows 10
Browser: any

@pgo888 - Thanks for the response.  The engineering team has been made aware of this, we will track here and get back to you once they have a chance to look at this further.

@pgo888 - This should have been fixed around the March 9th timeframe.  Can you confirm you are not seeing the issue still?

Closing issue as this appears to be resolved.


#130 Fix typo

Closes #130

@Constantino-Carreto-Romero I'm going to go ahead and merge this since it was a simple fix.


PHP7-SOCIAL-DATING-CMS keeps logging me out!

Please how can i turn off the feature that keeps logging users and admins out when IP address changes?

Hi @JossyMall
How are you?
The reason is that pH7Builder uses session IP check to protect against session hijacking.
However, like you noticed, it can cause issues with dynamic IPs.
You can disable the check by removing the following line https://github.com/pH7Software/pH7-Social-Dating-CMS/blob/master/_protected/app/system/core/classes/UserCore.php#L65
In short, remove
$oSession->get('member_ip') === Ip::get() &&

in _protected/app/system/core/classes/UserCore.php

If you want the same behaviour for admins, please do the same in the _protected/app/system/core/classes/AdminCore.php file => https://github.com/pH7Software/pH7-Social-Dating-CMS/blob/master/_protected/app/system/core/classes/AdminCore.php#L32
P.S. I wouldn't recommend it for the mentioned security reasons.., unlike you only use dynamic IPs.

Can you let me know if everything is OK once you do it? Thanks

Thanks for this prompt response. it works but i started having another issue even before i made that ip change of a thing. the issue as i have observed is that sometimes during registration the page just goes back to the beginning. user details are created in the database but, the user can't login with their details. infact it shows no error for this. I have tried the software on different os, windows, desktops, mobiles...all to no avail. basically users can register, but cannot login. I have sent an email to my server admins to know if it could be a server issue. but everything works well as of last night.

@JossyMall It looks you have issues with sessions. If they are nice.., your web hosting might be able to investigate in the issue.
The registration steps are checked with the sessions (to make sure the user is on the correct registration step).

@JossyMall Please let me know if this issue is still relevant, otherwise do you mind to close it?

And @JossyMall, don't forget to Star the repo as well 😊


Rakep build enhancements

Here are a couple of small enhancements to rakep build. I added a --clean option to run a clean build (equivalent to rakep clean && rakep build) (closes #34) and made rakep build print out the files it's creating (closes #32).

I added a couple more commits separating Runner from the CLI and moving the mutexes out of Pipeline into Runner. Now the assetfile checking happens under the same mutex as the pipeline invocation. Separating out the CLI stuff lets us avoid a double instantiation of the Runner class in the middleware. Also, I slipped in a faster digest method.


All drawers with the same wood name share a same trim

Some mods use the same name for woods. When this happens, they all share the same trim graphic. This is new to them being named trim instead of _trim

Currently, this affects Cherry, Fir, Jacaranda, Palm, Redwood, and Willow


RichTextLabel: a method to get the number of visible lines

This is a feature request for RichTextLabel. Currently, RichTextLabel only offers to set/get the number of visible characters, but it does not offer how many lines are visible. As far as I see, this is not possible to calculate in GDScript when the font is a not a fixed-width one.
Context:
The way RichTextLabel handles long texts (scrollbars) is useful when building desktop-like GUIs, but many games (Visual Novels, JRPGs) don't work that way.
I'm trying to implement a text box for dialogue. Typically, a a text box has a fixed width and fixed number of lines visible, so a long text that doesn't fit into the text box is broken into parts (each part contains only enough characters to fill the textbox), and the next part is not shown until the user presses a button.
I essentially need to implement something along the lines of this, but I need to use RichTextLabel for italics and bold, and the font isn't a fixed width one. A way to obtain the number of visible lines will enable implemention.

To be clear: With "number of lines", I don't mean "1 + number of \n". Word wrapping creates new lines when displaying the text. And I refer to the number of lines as it appears on the screen.

I want this too for the same reason :smiley:

Yeah, this feature would made GodotTIE implementation much easier. What I had to do on the code was to use the autowrap feature of Labels to check whether every character that I add would create another line on the text; than I manually add a "\n" to it, so I can parse it later. I have no idea how performance heavy is this, because I'm basically almost triple iterating through every character that I add to the text.

Performance wise, that's probably OK for dialogues, but I think Label should have a function that shows the number of visible lines too. It will complement the existing functions.

Not critical for the upcoming 2.1, so moving to the next milestone.

Update: equivalent feature has been implemented for Label in #5792

Fixed by #6859


Adding scopes "File", "Function", and "Class" for Python

The purpose of this PR is to add changes to support the File, Function, and Class scopes.
Summary of changes:

src/cleanup_rules/python/scope_config.toml - Added a new file that defines scopes for Python.
src/models/language.rs Updated to include the path for the scope file.
test-resources/python/find_import_extend_method_chain - Created a new folder to hold resources for testing scope functionality.
tests/tests.py - Modified to add new test cases and updated the paths to use absolute paths.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

LGTM.
@dvmarcilio can we land this?


[Feature Request] Extra slot under el-table__body-wrapper to support infinite scroll plugins

Existing Component
Yes
Component Name
Table
Description
The first two infinite-scroll plugins listed at awesome-vue:

vue-infinite-loading
vue-mugen-scroll

Both components require to be placed directly under a scrollable container to work. Element UI's Table component currently has no placeholder for these plugins, so an infinite loading table with these plugins is not possible as of yet: https://jsfiddle.net/frya0fLz/
I've already tested that a simple slot component placed under el-table__body-wrapper between line 34 and 35 works well: Table.vue:34. Is this a "feature" that is acceptable to be included in Element?

Chances are that you'll see this extra slot in version 1.3.0
By the way, since you've been testing, could you place the slot between line 37 and 38 and see if it also works well? Additionally, does it work well when you have fixed columns? Thanks.

For the first case, it only seems to work when placed directly after the table, between line 34 and 35.
For the second case, the rows get mis-aligned towards the bottom of the table due to the spinner from the plugin:

@Leopoldthecoder I'm trying to test Table component's append slot with the infinite loading component, but there is something strange that happens on JSFiddle but not on my local environment.
The row element on my local environment does get appended to tbody, and I see the spinner:

But on JSFiddle, the tr element with slot="append" is not appended to tbody. I wanted to reproduce what happens on my local environment with the new slot, but cannot because of this discrepancy. Any ideas?

@syn-zeta I've no idea why it's not appended in JSFiddle, though wrapping the tr with a template seems to make it work: https://jsfiddle.net/frya0fLz/2/
And I think your real problem is that onInfinite gets constantly invoked?

Oh, thanks for the template hint. And yes, that is the real problem, but I think it falls more on the author of the infinite loading component, so I've created a issue there. I'll update/close this thread as I get some response/resolution.

I checked the infinite loading repo and found that the author has plans to allow setting the scroll parent element manually. I think it may be promising, thought I haven't really looked into it.

@Leopoldthecoder It seems that it is not an issue with detecting the parent element, but rather, as the author of the plugin mentions here, caused by the Table component re-rendering elements inside slot="append". I assume it is causing the infinite loader to lose its state?

@Leopoldthecoder Would you be able to suggest a good way to get around this issue? I would like to try that out and perhaps create a PR. I'm hoping to have this in the next beta release.

@QingWei-Li Do you have any suggestions on what could be done here? Leo seems to be busy.

@Leopoldthecoder

@syn-zeta Sorry for the delay, I'll take a look this weekend. But re-rendering elements seems inevitable.

@Leopoldthecoder It's alright. Please update me on this. Again, if you have any suggestions, I'm willing to work on it and submit a PR that is acceptable.

@syn-zeta I checked the demo above and found that it now behaves differently. Because Vue has updated:

Vue 2.3.0: https://jsfiddle.net/frya0fLz/3/
Vue 2.3.3: https://jsfiddle.net/frya0fLz/4/

The problem @PeachScript described in https://github.com/PeachScript/vue-infinite-loading/issues/43#issuecomment-298506923 is gone. But still, on-infinite gets called constantly.

@Leopoldthecoder Thank you for looking into this. The remaining issue was fixed in vue-infinite-loading.

@syn-zeta @Leopoldthecoder
i can't vue-infinte-loading get working
can you give me an jsfiddle example with
thank you very much


Updated website -- not ready to merge yet

Things to do before we merge:

[ ] @trygve-lie makes the CfP public
[x] @troubalex prepares a newsletter to previous attendees

After the merge:

[ ] @troubalex sends the newsletter
[ ] @troubalex sends out a tweet
[ ] @Andersos blasts something to all previous sponsors

It seems that these changes have made their way to the master branch and is in production let me know if this should be reopend or just reopen if I made an error.


refactor: make color variables private

Proposed Changes

Make all variables in color.scss private
Update usage to use the ino-color function
Rename variables

Wait for #157 to be merged and change the base to the master branch


🐛 Mobile - Fix incorrect points on profile page when switching accounts

What triggered this change? (PBI link, Email Subject, conversation + reason, etc)

Part of #621

What was changed?

Updates the profile page to receive the user details updated message to update the points being displayed.

Did you do pair or mob programming?

No

Hey @zacharykeeping , I still reproduce the issue on Android and iOS.

Hey @zacharykeeping , I still reproduce the issue on Android and iOS.

I've pushed through a change that should fix this if you want to have a look.
I think the whole workflow needs to be reworked but hopefully this works around it for now.


Question: should bundled entry exports work? If so, how?

Laravel Mix Version: 6.0.41
Node Version: v17.3.0
NPM Version: 8.3.1
OS: Linux

Description:
What steps does one need to take, to access entry exports in js in the browser?
In my linked example repo app.js exports stuff, and also pollutes window.
In the public/index.html I can (of course) access the window property, but I'm unable to import X from '/bundled/app.js  when using  laravel-mix.
(If I async import('/bundled/app.js') it, I do get something which prints as: Object { Symbol(Symbol.toStringTag): "Module" }; but it has no exports)

If I do vanilla modules, that is, I include /un-bundled/app.js then the import resolves correctly.
So in short, why does:

test-case 1) import X from '/bundled/app.js not work,  source1
when 4) import X from '/un-bundled/app.js does work? source4

What am I missing ?
I'm not sure if this is a:

missunderstanding on my part or
a documentation issue (i.e. feature not supported) or
or an actual laravel mix (webpack) issue

Steps To Reproduce:
checkout tiny example: https://github.com/birdspider/laravel-mix-example

@noogen thx, while your reply alone did not change anything, thinking about it helped me to figure out that it is probably webpack related:
this works for me, but I have to test its limits:
// seems to work in dev and prod on FF, Chrome
mix.webpackConfig({
  experiments: {
    outputModule: true,
  },
  output: {
    module: true,
    library: {
      type: 'module',
    },
  }
});


Best Practices for Deploying Multiple Models for Improved Concurrency

Feature request
Hello,
I'm currently working on deploying the text-embeddings-inference model in a production environment. A single instance of the model often isn't sufficient to handle the volume of requests.
I'm considering deploying multiple instances of the model and implementing a request scheduling mechanism among them to better manage the load. I'd like to gather insights or recommendations on the best practices for such a setup.
Motivation
...
Your contribution
...

You can have a look at this answer for a basic setup using nginx: https://github.com/huggingface/text-embeddings-inference/issues/87#issuecomment-1822970062


feat(binance): all market tickers subscription

Add the stream for all market tickers.
https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md#all-market-tickers-stream

Thank you @AntonioGargaro


[SR-4416] move dependency to dependencyManagement

this is may the last security upgrade PR.

run starrocks_fe_unittest


[release-0.5] Prep docs and references for v0.5.0 release

Signed-off-by: hasheddan<EMAIL_ADDRESS>
Description of your changes

Prep docs and references for v0.5.0 release
Checklist

I have:

[x] Run make reviewable to ensure this PR is ready for review.
[x] Ensured this PR contains a neat, self documenting set of commits.
[x] Updated any relevant documentation, examples, or release notes.
[ ] Updated the dependencies in app.yaml to include any new role permissions.

can you make the target branch the 0.5 release branch?


Loading Product Skeleton

Description
Loading Product Skeleton provides a placeholder while waiting for product content to load.
Type of change

[ ] New feature (non-breaking change which adds functionality)

Change Status

[ ] Complete, tested, ready to review and merge

Checklist

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] My code has been reviewed by at least one peer
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] My changes generate no new warnings
[ ] There are no merge conflicts

 Loading Product Skeleton


2nd try: Adding the ability to pass dataloader related kwargs in SNPE, SNRE and SNLE

Added dataloader_kwargs parameter to snle_a, snre_a, snre_b and snpe_c. These dataloader_kwargs are used to create the train and val dataloaders in snpe_base, snre_base and snle_base
@janfb I closed the previous MR, merged the current sbi main into my fork, and put the dataloader_kwargs related changes. I have avoided any formatting changes (that caused problems last time) - let me know if this looks ok :)
Closing #415

It now has a lot of code repetition in the inference classes, so we might think about refactoring and moving the data loader generation to the base class. But this is for another PR, so overall, it is good to go!


Update Edit.Circle.js

fixed circle edit bug

Is this PR going to be merged in? It looks like it was approved -- I (and other people) am having issues with trying to edit the size of the circle and I think this should fix the bug..

Sorry, did not check on this one lately, but can’t merge as review is from a person with write access is missing. I switched to geoman-io lately…

could it be fixed soon? it still doesn't work

Actually the same fix plus one extra is present in #977

As the PR doesn't seem to be merged soon, I'll share simple workaround for this problem. The solution is basically the same as for #1005:
TypeScript:
(window as any).radius = undefined;

JavaScript:
window.radius = undefined;


Running CLI version as non-admin doesn't provide adequate feedback

Describe the bug
If a user (on Windows, in my case) runs the CLI version as a standard user, they get a UAC popup from .NET Core Host. If I click 'yes', then another command window opens briefly and then closes automatically, and I'm left back at the command prompt without information about what went wrong.
To Reproduce
Steps to reproduce the behavior:

Start as a standard user.
Open a PowerShell console.
Run AttackSurfaceAnalyzerCli.exe
Witness the popup open and close.

Expected behavior
Either provide the user immediate feedback that they should run the CLI once they have elevated privileges, or on Windows, trigger a UAC popup and elevate privileges from there.
Screenshots
n/a
System Configuration (please complete the following information):

OS: Windows
OS Version: Windows 10
Application Version: 2.0.1-beta+50af283871

Additional context
n/a

Fixed in 2.0.14.


Calculations should also apply to Corpora

At the moment, the only object where FTOs can be calculated, are Conversations.
It should be possible to calculate FTOs (and other things) on a Corpus-wide level.

+1 on this — also, see related issue: should be possible to recalculate FTO #71


Unable to pull latest docker image on armhf

Do you want to request a feature or report a bug?
Bug
What did you do?
Tried to pull the latest traefik docker image from a raspberry pi 3 running Raspbian.
What did you expect to see?
That the latest tag is pulled like before.
What did you see instead?
$ docker pull traefik
Using default tag: latest
latest: Pulling from library/traefik
no matching manifest for unknown in the manifest list entries

$ docker pull traefik:alpine
Using default tag: latest
latest: Pulling from library/traefik
no matching manifest for unknown in the manifest list entries

Output of traefik version: (What version of Traefik are you using?)
$ docker run traefik:alpine version
Version:      v1.6.6
Codename:     tetedemoine
Go version:   go1.10.3
Built:        2018-08-20_01:10:06PM
OS/Arch:      linux/arm

What is your environment & configuration (arguments, toml, provider, platform, ...)?
toml doesn't apply
Raspberry Pi 3 running latest Raspian (Debian Stretch)
$ docker version
Client:
 Version:           18.06.1-ce
 API version:       1.38
 Go version:        go1.10.3
 Git commit:        e68fc7a
 Built:             Tue Aug 21 17:30:52 2018
 OS/Arch:           linux/arm
 Experimental:      false

Server:
 Engine:
  Version:          18.06.1-ce
  API version:      1.38 (minimum version 1.12)
  Go version:       go1.10.3
  Git commit:       e68fc7a
  Built:            Tue Aug 21 17:26:37 2018
  OS/Arch:          linux/arm
  Experimental:     false

Thanks for the very kind and fast response. I really appreciate it!
And you were right that the image was still being build. The image now works correctly and so far I did not find any bugs ;)

Thanks for the feedback! Have fun :)


Add type information to keeping module

This PR adds type information to keeping.ts module.
When working with signify-ts, I find that this module is the source for a lot of missing type information that makes the library difficult to work with, so I tried to add as much as possible to make the library easier to use and safer to refactor.
I could not find a good place to put the interfaces for the "HabState" types, so they are in a file called "state.ts" at the moment. Please give feedback on the solution and type information.

That's a huge improvement. Thanks!


Rename weekday to feria (rollback)

I suggest to replace week day by feria, as feria is proper name for this. WEEKDAY is currently used in Types.js.
This issue is somewhat related to #73.

This request has been addressed and merged. Thanks!

It might have been a wrong decision to rename weekday to feria. I’ve just found the General Instruction of the Roman Missal (on the website of National Liturgy Office website of the Catholic Church in Aotearoa New Zealand) from 2010 Roman Missal and it never uses the term feria and always uses the term weekday.

This is the same from this doc: https://www.liturgyoffice.org.uk/Resources/GIRM/Documents/GIRM.pdf
As long as romcal v2 is still not out, this is still the good time to improve and change the things.

Addressed on https://github.com/romcal/romcal/pull/250.


Sender and Commit Types

This PR allows the creation of Commits, MlsPlaintexts and Proposals with a SenderType other than Member. This is in preparation of the external init feature.

Sorry about that renaming mixup 😅. Should be correct now.


Updating base.html

Updating navigation bar
Adding register and login pages to the navbar
After user logs in, the user sees profile and logout pages
If the user try to reach http://<IP_ADDRESS>:8000/profile/ before logging in, the user redirect to login page

closes #57

@Yarboa I deleted the CSS file and updated base.html


Placeholder for figure caption

At the moment, it is difficult/impossible to fix a figure caption as it collapses. We need to be able to set the cursor into it, for example to cut and paste a missed caption into it.

We will use expansion for that. Closing in favour of #265