Added Median filtering 2D ( Updated over Suggestion from pull request…#26741)

( Updated over Suggestion from pull request… #26741)
Test code -
import tensorflow as tf
import matplotlib.pyplot
import matplotlib.pyplot as plt
from tensorflow.python.ops import array_ops
from tensorflow.python.util.tf_export import tf_export
from tensorflow.python.framework import ops
from tensorflow.python.ops import math_ops
from tensorflow.python.framework import dtypes
from tensorflow.python.ops import image_ops_impl
from tensorflow.python.ops import script_ops
fname = 'index3.jpeg'
img = matplotlib.pyplot.imread(fname)
import numpy as np
tf_img = tf.convert_to_tensor(img)
@tf_export('image.median_filter_2D')
def median_filter_2D(input,filter_shape=(3,3)):
"""  This methods takes 3D Tensor Images.
Other than Tensor it takes optional parameter filter_Size
Default Filter Shape = (3 , 3)
This Median Filtering is done by using 2D filters of user's choice
Filter_size should be odd
This method takes both kind of images where pixel values lie between 0 to 255 and where it lies between 0.0 and 1.0
"""
input = image_ops_impl._Assert3DImage(input)
m,no,ch = int(input.shape[0]),int(input.shape[1]),int(input.shape[2])
filter_shapex = filter_shape[0]
filter_shapey = filter_shape[1]
if m < filter_shapex or no < filter_shapey:
    raise ValueError("No of Pixels in each dimension of the image should be more than the filter size. Got filter_shape "
                     "(%sx" % filter_shape[0]+"%s)."%filter_shape[1] +" Image Shape (%s)"% input.shape)
if filter_shapex % 2 == 0 or filter_shapey % 2 == 0:
    raise ValueError("Filter size should be odd. Got filter_shape (%sx" % filter_shape[0]+"%s)"%filter_shape[1] )
input = math_ops.cast(input,dtypes.float64)
def my_func (input2):
    tf_i = input2.reshape(m*no*ch)
    maxi = max(tf_i)
    if maxi == 1:
        input2 /= maxi
    else :
        input2 /= 255
    #k and l is the Zero-padding size
    res = np.empty((m,no,ch))
    for a in range(ch):
        img = input2[:,:,a:a+1]
        img = img.reshape(m,no)
        k = filter_shapex - 1
        l = filter_shapey - 1
        img  = np.pad(img,((k / 2, k / 2), (l / 2,l / 2)),'constant', constant_values=(0, 0))
        res1 = np.empty((m,no))
        for i in range(img.shape[0] - k) :
            for j in range(img.shape[1] - l) :
                li = []
                for b in range(i, i + filter_shapex):
                    for d in range(j, j + filter_shapey):
                        li.append(img[b][d])
                li.sort()
                res1[i][j] = li[len(li) / 2]
        res1 = res1.reshape(m,no,1)
        res[:,:,a:a+1] = res1
    res *= 255
    res = res.astype('int64')
    return res

y = script_ops.py_func(my_func, [input], dtypes.int64)
return y

sess = tf.InteractiveSession()
mimage = median_filter_2D(tf_img,(5,5))
fig = plt.figure()
fig.add_subplot()
plt.imshow(img,cmap='gray')
plt.show()
mimage = mimage.eval()
fig.add_subplot()
if mimage.shape[2] == 1:
mimage = mimage.reshape(mimage.shape[0],mimage.shape[1])
plt.imshow(mimage,cmap = 'gray')
plt.show()

I am planning to extend this feature for the batch of images in future. I have seen many tf.image operator works on single image. So,i have devised this operation for single image.

I still would like to see a unit test for this.
@seanpmorgan I think this contribution will belong in tensorflow/addons once we've finalized the code review, in tfa.image. WDYT?

Agree that it fits tfa.image. Unit tests are essential though so we know if it breaks going forward. Also, per the new RFC we are looking for maintainers of tfa.image

Please add a unit test, make sure it passes, and then submit this as a pr to tensorflow/addons.
I think overall the structure of the code is good. Also please address the linter issues.

How to add a unit test?  Like a test code?  And what are the linter
issues.
On Thu 28 Mar, 2019, 12:59 AM Alexandre Passos<EMAIL_ADDRESS>wrote:

Please add a unit test, make sure it passes, and then submit this as a pr
to tensorflow/addons.
I think overall the structure of the code is good. Also please address the
linter issues.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/pull/27140#issuecomment-477313104,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AiI2QtQfUlkekqB0s_hRsUaMnvKqVze_ks5va8aBgaJpZM4cK9F0
.

Yes, unit tests are test code. There are files with _test.py, in this case
you probably want tensorflow/python/kernel_tests/image_ops_test.py
On Wed, Mar 27, 2019 at 12:35 PM Mainak Dutta<EMAIL_ADDRESS>wrote:

How to add a unit test? Like a test code? And what are the linter
issues.
On Thu 28 Mar, 2019, 12:59 AM Alexandre Passos<EMAIL_ADDRESS>wrote:

Please add a unit test, make sure it passes, and then submit this as a pr
to tensorflow/addons.
I think overall the structure of the code is good. Also please address
the
linter issues.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<
https://github.com/tensorflow/tensorflow/pull/27140#issuecomment-477313104
,
or mute the thread
<
https://github.com/notifications/unsubscribe-auth/AiI2QtQfUlkekqB0s_hRsUaMnvKqVze_ks5va8aBgaJpZM4cK9F0
.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/pull/27140#issuecomment-477315738,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAATxZnwqLeuaZA6qAuJjRvHbvBe7d_Iks5va8fxgaJpZM4cK9F0
.

--

Alex

@alextp Unit tests are added.

@alextp In which file of addon package should i put the code? And what should be the location of the test file?

@Mainak431 It should be placed in tfa.image and the test can live alongside of it in that directory:
https://github.com/tensorflow/addons/tree/master/tensorflow_addons/image
We'll be happy to help with integrating in our package once the PR is open.

@seanpmorgan  Created PR at https://github.com/tensorflow/addons/pull/111/

@alextp I have also developed code for Median_filter_1D , Average_filter_1D and Average_filter_2D . Will they all belong to tensorflow addons package?

Yes
On Fri, Mar 29, 2019 at 9:18 AM Mainak Dutta<EMAIL_ADDRESS>wrote:

@alextp https://github.com/alextp I have also developed code for
Median_filter_1D , Average_filter_1D and Average_filter_2D . Will they all
belong to tensorflow addons package?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/pull/27140#issuecomment-478057507,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAATxXV8buPiMK9Gjx_ULweFghqKyCVXks5vbjzjgaJpZM4cK9F0
.

--

Alex

Integrated @ tensorflow addons.


Added Leaderboard URL to README (for Bug Zero)

Hi @yesnet0,
It's Nipuna from Bug Zero here.
Guess the update was lost in the merge :D.
I added our leaderboard URL but it doesn't show up in the readme yet.
Can you please check?
TIA.


Paket failing when trying to install dependencies OpenSslCryptographicException

Description
I'm getting this exception when trying to install the dependencies for the project:
-> Could not load resources from 'https://api.nuget.org/v3/index.json'
-> Request to 'https://api.nuget.org/v3/index.json' failed with unknown error (_safeGetFromUrl)
-> HttpRequestException: The SSL connection could not be established, see inner exception.
-> AuthenticationException: Authentication failed, see inner exception.
-> TypeInitializationException: The type initializer for 'SslMethods' threw an exception.
-> TypeInitializationException: The type initializer for 'Ssl' threw an exception.
-> TypeInitializationException: The type initializer for 'SslInitializer' threw an exception.
-> OpenSslCryptographicException: error:0E076071:configuration file routines:module_run:unknown module name

I'm using Linux and Paket version 7.2.1.
The project .zip to make it easier to reproduce:

paket-demo.zip

Repro steps

mkdir paket-demo
cd paket-demo/
dotnet new console -lang F#
dotnet tool install paket
dotnet tool restore
dotnet paket init
Add these packages to paket.dependencies

source https://api.nuget.org/v3/index.json

storage: none
framework: net7.0

nuget AltCover 8.6.68
nuget FsToolkit.ErrorHandling 4.5

dotnet paket install

Expected behavior
Install the packages.
Actual behavior
Throw exception mentioned before.
Known workarounds
I haven't found one yet.

Setting this env var solved this problem for me:
export DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=0

Got it from here: https://github.com/dotnet/runtime/issues/27792


Build Image without Application

Hello,
is it possible to use the Jib-Maven-Plugin to Build an Image which contains Folders and Script Files? I have only a Dockerfile which I want to get build with jib.
Thank you
Victoria

It is actually possible, but with some tricks (defining <entrypoint> to prevent Jib from trying to infer Java main() class, and putting some bogus file to create target/classes). See #1253 for the ideas.

Hi @Victoria2202, the current jib-maven-plugin does not build non java images. However we have released a general purpose jib-core library that lets you build arbitrary files programmatically with Java. Perhaps you can use that to do it.
If someone is interested in building a CLI using jib-core that reads a dockerfile (with limitations), it's possible this can solve your problems too.

Ah, yeah, if your intention is to use Dockerfile, Jib won't really work, since Jib does not have any support related to Dockerfile.

Hello,
i was thinking to adjust the dockerfile for the jib Maven-Plugin.
My Dockerfile looks like this:
FROM ubuntu:16.04COPY  project/ /home/project/WORKDIR /home/project/ RUN
chmod +x /home/project/.shCMD ["sh", "-c", "./test-script.sh"]
In the pom.xml looks at the moment like this:
<build>
    <plugins>
        <plugin>
            <groupId>com.google.cloud.tools</groupId>
            <artifactId>jib-maven-plugin</artifactId>
            <version>0.10.0</version>
            <configuration>
                <from>
                    <image>ubuntu:16.04</image>
                </from>
                <to>

${project.artifactId}:${project.version}

true

${project.basedir}/src/main/resources

default
install

build

Is it possible to get the dockerfile in pom.xml to use for the build the
pom.xml?
Thank a lot.
Chanseok Oh<EMAIL_ADDRESS>schrieb am Di. 20. Nov. 2018 um
00:48:

Ah, yeah, if your intention is to use Dockerfile, Jib won't really work,
since Jib does not have any support related to Dockerfile.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/GoogleContainerTools/jib/issues/1261#issuecomment-440083984,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AopTa6oaQIkrkuzNXSAKpn-B2l-5B8Jvks5uw0NTgaJpZM4YqGVB
.

If you put test-script.sh at ${project.basedir}/src/main/jib/home/project/test-script.sh (which will place the script at /home/project/test-script.sh in the container image), something like below may work. If you have other files to copy, you'll place them under src/main/jib with the directory structure you want. Don't put the files under src/main/resources, since files under that directory will be unnecessarily copied into /app/classes/.
<configuration>
  <from><image>ubuntu:16.04</image></from>
  ...
  <container>
    <entrypoint>
      <arg>sh</arg>
      <arg>-c</arg>
      <arg>/home/project/test-script.sh</arg>
    </entrypoint>
  </container>
  <extraDirectory>
    <permissions>
      <permission>
        <file>/home/project/test-script.sh</file><mode>755</mode>
      </permission>
    </permissions>
  </extraDirectory>
</configuration>

Hello,
thank you. But I get the following error:
[ERROR] Failed to execute goal
com.google.cloud.tools:jib-maven-plugin:0.10.0:build (default) on project
project: Obtaining project build output files failed; make sure you have
compiled your project before trying to build the image. (Did you
accidentally run "mvn clean jib:build" instead of "mvn clean compile
jib:build"?): C:\Projects\test-jib-project\target\classes is not a
directory -> [Help 1]
I tried to change the maven command a few times, but I get the same error.
Am Di., 20. Nov. 2018 um 17:47 Uhr schrieb Chanseok Oh <
<EMAIL_ADDRESS>
If you put test-script.sh at
${project.basedir}/src/main/jib/home/project/test-script.sh (which will
place the script at /home/project/test-script.sh in the container image),
something like below may work. If you have other files to copy, you'll
place them under src/main/jib with the directory structure you want.
Don't put the files under src/main/resources, since files under that
directory will be unnecessarily copied into /app/classes/.

ubuntu:16.04
  ...

sh
-c
/home/project/test-script.sh

/home/project/test-script.sh755

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/GoogleContainerTools/jib/issues/1261#issuecomment-440343575,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AopTayqppcyrEBlfZpwrIIIp_hZQDa13ks5uxDIbgaJpZM4YqGVB
.

That's because target/classes is empty. One trick in #1253 is to put an empty file such as src/main/resources/empty.

Thank you very much it worked. :)
Is it poosilble that the arg looks similiar like this?
/home/project/test-script.sh && /home/project/test-script-run.sh
Am Mi., 21. Nov. 2018 um 18:14 Uhr schrieb Chanseok Oh <
<EMAIL_ADDRESS>
That's because target/classes is empty. One trick in #1253
https://github.com/GoogleContainerTools/jib/issues/1253 is to put an
empty file such as src/main/resources/empty.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/GoogleContainerTools/jib/issues/1261#issuecomment-440743805,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AopTa44ssWqV6SMJ9UInyw1Eya8rm_eCks5uxYoKgaJpZM4YqGVB
.

/home/project/test-script.sh && /home/project/test-script-run.sh

This won't work. With a single <arg>, the entire value will be assumed to be a single executable file.
In your case, I suggest you create another script, e.g., /home/project/entrypoint.sh that executes both test-script.sh and test-script-run.sh inside it.

I got still one Problem.
Whe I start the container I got the following error:
/home/project/test-script.sh: line 1: /home/ project/test-script. sh:
Permission denied
Am Mi., 21. Nov. 2018 um 19:55 Uhr schrieb Chanseok Oh <
<EMAIL_ADDRESS>
/home/project/test-script.sh && /home/project/test-script-run.sh
This won't work. With a single , the entire value will be assumed to
be a single executable file.
In your case, I suggest you create another script, e.g.,
/home/project/entrypoint.sh that executes both test-script.sh and
test-script-run.sh inside it.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/GoogleContainerTools/jib/issues/1261#issuecomment-440774279,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AopTa_SUrf_0z7AO--9_R5mrPVk0wKzaks5uxaG4gaJpZM4YqGVB
.

Could be that you need to also set it to be executable in the extraDirectory configuration?

Yeah, please check https://github.com/GoogleContainerTools/jib/issues/1261#issuecomment-440343575 for an example to set the executable permission. I tried a small sample on my own, and things should work end to end.

Thanks a lot. It works now Perfect. :)
Chanseok Oh<EMAIL_ADDRESS>schrieb am Mi. 21. Nov. 2018 um
21:49:

Yeah, please check #1261 (comment)
https://github.com/GoogleContainerTools/jib/issues/1261#issuecomment-440343575
for an example to set the executable permission. I tried a small sample on
my own, and things should work end to end.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/GoogleContainerTools/jib/issues/1261#issuecomment-440803984,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AopTazbwldt9qCQF8iyscW0Bnt8HXrd7ks5uxbw9gaJpZM4YqGVB
.


Spelling correction: Desigining > Designing

Thanks! Please make the PR against rewrite-docs-again branch.
gh-pages is just the compiled output.


AKS  nginx-ingress helm repo provided is deprecated. Can you please update the documentation

[Enter feedback here]
When we use "stable/nginx-ingress" from helm to install as provided in the documentation, it is saying "This chart is deprecated".  Can you please update your documentation to latest "https://github.com/kubernetes/ingress-nginx"
helm install nginx-ingress stable/nginx-ingress

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: fd0e7d5a-37e9-07dc-f395-9cb5bb580e45
Version Independent ID: 7e4faf70-9724-7e7b-832b-1cd99a974920
Content: Create an ingress controller - Azure Kubernetes Service
Content Source: articles/aks/ingress-basic.md
Service: container-service
GitHub Login: @mlearned
Microsoft Alias: mlearned

@stacksimplify
Thanks for the feedback! I have assigned the issue to content author to check and update the document as appropriate.

@zr-msft @mlearned
Can you please check and add your comments on this doc update request as applicable.

thank you @stacksimplify for your feedback.
I have updated the article to address your feedback and the changes should be available soon.
#please-close


Implement LavaMoat / freeze underlying packages

We would like to implement LavaMoat in this repository to prevent supply chain attacks.

I'm not so sure this should be included in libraries others can use, this should rather be used in the app itself, should the developer chose to do so, not be imposed by dependencies...  Unless it would not leak outside the library context, which I'm not sure is possible.

Yes, the idea is to have this only in place for the authenticator itself.

Related discussion from @beguene: https://github.com/blockstack/stacks-wallet-web/discussions/1347


Page is layout incrementally

This can sometimes be fun to watch, but also creates some unwanted effects. For example, in the early stages of the layout process the code appears twice, and in the navigation bar. Also, the wolfe tutorial uses a dark background, but the default background is something white. This creates a flashing effect.

This should be mostly addressed now. All non-code cells are laid out in parallel, and code cells have to be incremental. Due to the recent refactoring, there should not be weird inconsistencies, and CSS can be used to get rid of flashing, if any.
Closing for now.


Use get_fields() instead of deprecated get_all_field_names

Modified to user get_fields since get_all_field_names is deprecated in Django 1.8.
This also fixes proxied models.

In the upcoming 0.9 and 1.0 releases, this code has moved in a way that a merge won't correctly show this change, but I'll should be able to git-author credit you in that branch.  Thanks!

Great, thanks for providing this Django module!


ArrayExpress

Hello community !
For our master's degree, with my team we have to prepare a R script in order to do an analysis of RNA seq.
This analysis covered a protein expression in different types of cancers.
The data we are trying to collect is here :
[https://www.ebi.ac.uk/arrayexpress/experiments/E-MTAB-9285/]
We want to use the R package "ArrayExpressHTS" in order to open RNAseq Data directly from ArrayExpress , but we found a problem with the package installation...
First we used this code to start installation :
if (!require("BiocManager", quietly = TRUE))
  install.packages("BiocManager")

BiocManager::install("ArrayExpressHTS")

Then , this warning message appears :
"In install.packages(update[instlib == l, "Package"], l, repos = repos,  :
installation of package ‘withr’ had non-zero exit status"
If I test with the package 'withr' turn in on, it seems that ArrayExpressHTS is installed
But when we try to open a dataset , by using this code :
library("ArrayExpressHTS")
aehts <- ArrayExpressHTS("E-MTAB-9285")

this message appears :

library("ArrayExpressHTS")
Error in library("ArrayExpressHTS") :
aucun package nommé ‘ArrayExpressHTS’ n'est trouvé
aehts <- ArrayExpressHTS("E-MTAB-9285")
Error in ArrayExpressHTS("E-MTAB-9285") :
could not find function "ArrayExpressHTS"

So my main question is : How to install the ArrayExpressHTS package ?
Maybe there is another package to use  in order to import data directly from ArrayExpress ?
PS : I'm sorry if this post does not belong here , it is my first post on git ..
Have a good day :)
Lucie

Hi Lucy! Thanks for writing to our repo
However, even though we are based at the EBI as well, we are not part of the ArrayExpress (AE) team or its developers.
I have contacted some internal AE developers to ask them about this issue
They should come back with an answer at some point, so stay tuned!
Good luck with your issue :)

Hi @LuluuuPvkp
I have been trying to contact the AE team but they are unsure of this library
If you could contact them via email to<EMAIL_ADDRESS>, they may be able to help you there
I'll close this ticket for now!

Hey!
Thank you a lot for these informations
Have a good day!
Le jeu. 10 mars 2022 à 11:33, ESapenaVentura @.***> a
écrit :

Hi @LuluuuPvkp https://github.com/LuluuuPvkp
I have been trying to contact the AE team but they are unsure of this
library
If you could contact them via email to @.*** , they may
be able to help you there
I'll close this ticket for now!
—
Reply to this email directly, view it on GitHub
https://github.com/ebi-ait/hca-ebi-wrangler-central/issues/674#issuecomment-1063904758,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWQGLJGO7KVBNVM3EOKZ7MLU7HFX5ANCNFSM5P5GQQKA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>


:sparkles: Add Support for Arrays in Report Columns

It is very common to use array values in Report Columns. To Support adding of a prefix. I updated the Regex for Report Columns

Thanks for the PR, but I'm afraid there are quite some missing components:
The changes in the test-file doesn't fail the tests.
And the changes on the action isn't going to do anything to the columns, so I the regex was added to the wrong place.
I do understand the issue though, and I'll foresee a fix, based on your regex!

@waldo1001 thanks for taking this attempt over and make i work.
I must have been to tired this morning, to make it correctly.
I wasn't sure if it's really needed, but maybe the regex for PageExtensions should be updated to include Array-Support, too.
E.g. taking a look in the BaseApp there are many pages that use arrays together with Dimensions.


[HUDI-2218] Fix missing HoodieWriteStat in HoodieCreateHandle

What is the purpose of the pull request
Some HoodieWriteStat being compute during the runtime was lost(e.g. compute min event time, which was stored at the HoodieWriteStat, in a customized payload), we need to initialize the HoodieWriteStat when initializing the handle.
Brief change log

Initialize the HoodieWriteStat when initializing the HoodieCreateHandle

Verify this pull request
This pull request is already covered by existing tests.
Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

Hi @xushiyan , I extended the min-max event time feature you committed to a wider usage https://github.com/apache/hudi/commit/899ae70fdb70c1511c099a64230fd91b2fe8d4ee
and found the create handle didn't store the correct min-max in the commit metadata. This patch is the fix. Would you take a look? Thanks!

nvm. this PR does not change any of that. ignore my comment above.
if @xushiyan is happy, we can land this.


Write confirmation callbacks in lists

Based on https://github.com/deepstreamIO/deepstream.io/issues/458, records eventually got an explicit write confirmation in a callback. Would it make sense (client-side) to add callback-enabled versions for methods modifying Lists? Currently they only seem to use record.set() without the callback.
In general, we are trying to accomplish a transaction-like behaviour. When modifying data, we reserve the data access to only one client and let him wait for all write callbacks before releasing the access. We have to be sure, that by the time other clients reads the modified data, all of the writes were propagated and could not be read in some half-done state. Do I assume correctly that waiting for write callbacks guarantees this?

I don't see any problem with this. Quick win
Also worth mentioning we could return promise if no cb is given without breaking backwards compat. Currently addEntry, setEntries and removeEntry return undefined.


Add main.py to support python -m compact_json?

python -m compact_json ... seems to me as a more pythonic way of using a module as a cmdline tool. This could be done by adding a __main__.py with from ._compact_json import main; main() or directly rename _compact_json.py to __main__.py
Not sure how this would affect building the executable so I leave a issue here instead of direct PR.

Published to main branch


daemonset checker errors out due to log names but reports success

Describe the bug
The daemonset checker pod can error out and not reflect an error as shown here:
time="2019-12-17T01:05:10Z" level=info msg="Deleting any rogue daemonsets or daemonset pods before deploying the daemonset check"
time="2019-12-17T01:05:10Z" level=info msg="Timeout set to 10m0s"
time="2019-12-17T01:05:10Z" level=info msg="Waiting for all rogue daemonsets or daemonset pods to clean up"
time="2019-12-17T01:05:10Z" level=info msg="waiting for all daemonsets to clear"
time="2019-12-17T01:05:15Z" level=info msg="all daemonsets cleared"
time="2019-12-17T01:05:15Z" level=info msg="No rogue daemonsets or daemonset pods exist."
time="2019-12-17T01:05:15Z" level=info msg="Enabling daemonset checker"
time="2019-12-17T01:05:15Z" level=info msg="Searching for unique taints on the cluster."
time="2019-12-17T01:05:15Z" level=info msg="Found taints to tolerate: [{node-role.kubernetes.io/master   NoSchedule <nil>} {dedicated  dfh NoSchedule <nil>}]"
time="2019-12-17T01:05:15Z" level=info msg="Generating daemon set kubernetes spec."
time="2019-12-17T01:05:15Z" level=info msg="Deploying daemon set with tolerations:  []"
time="2019-12-17T01:05:15Z" level=error msg="Failed to create daemon set:DaemonSet.apps \"daemonset-test-kuberhealthy-6bd96d8669-vkxpq-daemonset-1576544710\" is invalid: [metadata.labels: Invalid value: \"daemonset-test-kuberhealthy-6bd96d8669-vkxpq-daemonset-1576544710\": must be no more than 63 characters, spec.selector.matchLabels: Invalid value: \"daemonset-test-kuberhealthy-6bd96d8669-vkxpq-daemonset-1576544710\": must be no more than 63 characters, spec.template.labels: Invalid value: \"daemonset-test-kuberhealthy-6bd96d8669-vkxpq-daemonset-1576544710\": must be no more than 63 characters]"
time="2019-12-17T01:05:15Z" level=error msg="Something went wrong with daemonset deployment, cleaning things up...DaemonSet.apps \"daemonset-test-kuberhealthy-6bd96d8669-vkxpq-daemonset-1576544710\" is invalid: [metadata.labels: Invalid value: \"daemonset-test-kuberhealthy-6bd96d8669-vkxpq-daemonset-1576544710\": must be no more than 63 characters, spec.selector.matchLabels: Invalid value: \"daemonset-test-kuberhealthy-6bd96d8669-vkxpq-daemonset-1576544710\": must be no more than 63 characters, spec.template.labels: Invalid value: \"daemonset-test-kuberhealthy-6bd96d8669-vkxpq-daemonset-1576544710\": must be no more than 63 characters]"
time="2019-12-17T01:05:15Z" level=error msg="Something went wrong when removing the deployment after a deployment error:unable to parse requirement: invalid label value: \"daemonset-test-kuberhealthy-6bd96d8669-vkxpq-daemonset-1576544710\": must be no more than 63 characters"
time="2019-12-17T01:05:16Z" level=info msg="Successfully reported success to Kuberhealthy servers"

Expected behavior
The daemonset checker should exit 1 if it encounters an error that is due to broken functionality (not a check failure) and should never report success after a failure.
Versions

Kuberhealthy Release or build: 2.0.0
depeloyment checkimage: quay.io/comcast/kh-daemonset-check:1.0.0

The cluster was using the wrong daemonset check version (1.0.0 instead or 2.0.0). Fixed!


Add endpoint to make it possible to deploy without downtime

In order to deploy josh without downtime, it would be nice to have one endpoint to gracefully shutdown josh and another where it could be checked if the instance is up and running again.
This would allow us to make josh highly available.

Something like that would actually be useful, since killing josh will sometimes corrupt the references and the next time we start josh will not work.

What references? Corrupt how? What does "will not work" mean?
We should probably make sure josh can recover from such a "corrupted" state rather than trying to make it always shutdown gracefully.

On second thought, it might have been something else. But deleting the references solved the issue.
The error was:


Reduce numbers of warnings in CI

Description
This PR adds changes in the tests to remove warnings (256 warnings -> 55 warnings):

Some warnings are changed from UserWarning to DeprecationWarning
Typo fixes
env.reset from old api is added to be rightly tested
Move "The environment is out of date" warning to DeprecationWarning with regex
Mask DeprecationWarning in pytest

Type of change
Please delete options that are not relevant.

[X] Bug fix (non-breaking change which fixes an issue)

Screenshots
Please attach before and after screenshots of the change if applicable.

Checklist:

[X] I have run the pre-commit checks with pre-commit run --all-files (see CONTRIBUTING.md instructions to set it up)
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[X] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[X] New and existing unit tests pass locally with my changes

Could you remove this warning - https://github.com/Farama-Foundation/Gymnasium/blob/05ff41ac9d8099aa68e594ad69c15d88d270b706/gymnasium/experimental/vector/utils/space_utils.py#L311
I added it a while ago thinking it was a good idea but I don't think it is. This should significantly reduce the number of warnings
Could you also update this class name as pytest thinks that it is a testing class https://github.com/Farama-Foundation/Gymnasium/blob/05ff41ac9d8099aa68e594ad69c15d88d270b706/tests/envs/functional/test_core.py#L8
I think we just can't have the class's start with "test"

Could you remove this warning -

Done

Could you also update this class name as pytest thinks that it is a testing class

Done
Down to 13 warnings


fix(router): state is not guarded before use

state is not guarded before use, but peekState may return null.
Appears to have been introduced here.
Before those changes, state was guarded.
May result in the following stack, seen on some older iOS devices (2-3 years) when rapidly navigating:
CONSOLE ERROR file:///app/tns_modules/@angular/core/bundles/core.umd.js:1682:24: ERROR TypeError: undefined is not an object (evaluating 'state.isPageNavigation')
CONSOLE ERROR file:///app/tns_modules/@angular/core/bundles/core.umd.js:1682:24: ERROR TypeError: undefined is not an object (evaluating 'state.isPageNavigation')
CONSOLE ERROR file:///app/tns_modules/@angular/core/bundles/core.umd.js:1682:24: ERROR Error: Uncaught (in promise): TypeError: null is not an object (evaluating 'state.isRootSegmentGroup')
path@file:///app/tns_modules/nativescript-angular/router/ns-location-strategy.js:33:18
get@file:///app/tns_modules/nativescript-angular/router/ns-platform-location.js:38:46
path@file:///app/tns_modules/@angular/common/bundles/common.umd.js:589:46
path@file:///app/tns_modules/@angular/common/bundles/common.umd.js:247:58
isCurrentPathEqualTo@file:///app/tns_modules/@angular/common/bundles/common.umd.js:260:25
file:///app/tns_modules/@angular/router/bundles/router.umd.js:4158:56
file:///app/tns_modules/rxjs/internal/Observable.js:203:25
__tryOrUnsub@file:///app/tns_modules/rxjs/internal/Subscriber.js:263:20
next@file:///app/tns_modules/rxjs/internal/Subscriber.js:201:34
_next@file:///app/tns_modules/rxjs/internal/Subscriber.js:139:30
next@file:///app/tns_modules/rxjs/internal/Subscriber.js:103:23
_next@file:///app/tns_module

Missing null/undefined check's are often the most devastating bugs to a NativeScript for Angular project in my 2 years working with the stack. The easiest to fix, the easiest to miss.

test


[question] otLinkSetExtendedAddress and IEEE EUI-64

Hi,
Thread specification explicitly prohibits the use of a factory assigned IEEE EUI-64 (Table 3-2). The only exception is out-of-band commissioning when the extended address MAY be set to IEEE EUI-64, however given the nature of "out-of-band" it is not going to be used anyway.
So more out of curiosity, rather than technical reason, I have few questions:

If IEEE EUI-64 is forced as an extended address during commissioning or normal operation, what kind of issues can it cause? Can it compromise network security?
What if IEEE EUI-64 is exposed to public by other means, but is not used directly as a an extended address?
Given the fact, that OpenThread takes care of generating random addresses, is there any use case where otLinkSetExtendedAddress should be used?

The IEEE EUI-64 identifier is an administered identifier typically configured in the factory.  While factory-assigned identifiers are typically assumed to be globally unique, there are a number of instances where that assumption was violated (flaws in manufacturing, counterfeit devices, etc.).
In the context of Thread, devices using the same IEEE Extended Address in the same network leads to the following issues:

IEEE 802.15.4 MAC security uses Extended Addresses in the Nonce and relies on having unique Extended Addresses so that a give Nonce value is used at most once for a given AES-128 key.
MLE uses Extended Addresses to uniquely identify neighboring devices.  If two devices attempt to attach with the same Extended Address, messages will be dropped due to conflicting frame counters.

For these reasons, the broader industry (IETF, Thread Group, etc.) are migrating away from using factory-assigned unique identifiers towards stable but randomly-chosen identifiers.  From past industry experience, the likelihood of two devices randomly selecting the same identifier is much less likely than the occurrence of duplicates in factory-assigned identifiers.
Regarding the use case for otLinkSetExtendedAddress(), note that IPv6 over IEEE 802.15.4 communication may occur before Thread protocols are enabled via otThreadSetEnabled().  Nest uses this feature to support some legacy protocols.

Thanks, @jwhui, once again it answers my questions! "Out-of-band" meaning same "band", but different protocol did not come into my mind :)


Implement "auto-correlate" experiment

This experiment is a general study of auto-correlation of log-profit series. Effectively, it computes one thing:

normalizes all the input series, so they can be meaningfully joined together;
computes auto-correlation for the entire joint sequence for a range of time shifts in [1..n]. There is obviously no need to compute it for 0 (correlation will be 1), and also no need to distinguish positive and negative shift, since they are symmetric.
plots a graph of correlations vs. shift.

Since sequences X[i] will be normalized to mean = 0 and sigma = 1, auto-correlation simply accumulates
sum(X[i] * X[i+shift]), and the final correlation is that divided by the total number of samples.

Add a writeup for the experiment. Apparently, there is some hint on a slight negative correlation at "shift=1", but it's within the noise. This is something to test later and estimating if it can be exploited.


How to cancel a LovelyProgressDialog on postExecute?

I have an asynTask on preExecute im showing the dialog, but i need to make it go away on postExecute, any ideas?

Just check the "show()" method's signature - it returns Dialog object. Save it as field in your async task class and call dismiss in onPostExecute.


Error in Multi-GPUs inference of mochi

(MultiGPUContext pid=3407) Traceback (most recent call last):
(MultiGPUContext pid=3407)   File "/fs/fast/share/aimind_files/conda/envs/mochi-xdit/lib/python3.10/site-packages/torch/_inductor/compile_worker/__main__.py", line 41, in main
(MultiGPUContext pid=3407)     SubprocMain(args.workers, read_fd, write_fd).main()
(MultiGPUContext pid=3407)   File "/fs/fast/share/aimind_files/conda/envs/mochi-xdit/lib/python3.10/site-packages/torch/_inductor/compile_worker/subproc_pool.py", line 167, in __init__
(MultiGPUContext pid=3407)     _warm_process_pool(self.pool, nprocs)
(MultiGPUContext pid=3407)   File "/fs/fast/share/aimind_files/conda/envs/mochi-xdit/lib/python3.10/site-packages/torch/_inductor/compile_worker/subproc_pool.py", line 241, in _warm_process_pool
(MultiGPUContext pid=3407)     pool._adjust_process_count()
(MultiGPUContext pid=3407)   File "/fs/fast/share/aimind_files/conda/envs/mochi-xdit/lib/python3.10/concurrent/futures/process.py", line 683, in _adjust_process_count
(MultiGPUContext pid=3407)     p.start()
(MultiGPUContext pid=3407)   File "/fs/fast/share/aimind_files/conda/envs/mochi-xdit/lib/python3.10/multiprocessing/process.py", line 121, in start
(MultiGPUContext pid=3407)     self._popen = self._Popen(self)
(MultiGPUContext pid=3407)   File "/fs/fast/share/aimind_files/conda/envs/mochi-xdit/lib/python3.10/multiprocessing/context.py", line 277, in _Popen
(MultiGPUContext pid=3407)     return Popen(process_obj)
(MultiGPUContext pid=3407)   File "/fs/fast/share/aimind_files/conda/envs/mochi-xdit/lib/python3.10/multiprocessing/popen_fork.py", line 19, in __init__
(MultiGPUContext pid=3407)     self._launch(process_obj)
(MultiGPUContext pid=3407)   File "/fs/fast/share/aimind_files/conda/envs/mochi-xdit/lib/python3.10/multiprocessing/popen_fork.py", line 66, in _launch
(MultiGPUContext pid=3407)     self.pid = os.fork()
(MultiGPUContext pid=3407) BlockingIOError: [Errno 11] Resource temporarily unavailable
(MultiGPUContext pid=3407) Exception in initializer:
(MultiGPUContext pid=3407) Traceback (most recent call last):
(MultiGPUContext pid=3407)   File "/fs/fast/share/aimind_files/conda/envs/mochi-xdit/lib/python3.10/concurrent/futures/process.py", line 230, in _process_worker
(MultiGPUContext pid=3407)     initializer(*initargs)
(MultiGPUContext pid=3407)   File "/fs/fast/share/aimind_files/conda/envs/mochi-xdit/lib/python3.10/site-packages/torch/_inductor/compile_worker/watchdog.py", line 28, in _async_compile_initializer
(MultiGPUContext pid=3407)     _watchdog_thread.start()
(MultiGPUContext pid=3407)   File "/fs/fast/share/aimind_files/conda/envs/mochi-xdit/lib/python3.10/threading.py", line 928, in start
(MultiGPUContext pid=3407)     _start_new_thread(self._bootstrap, ())
(MultiGPUContext pid=3407) RuntimeError: can't start new thread

I have 8*80GB A800 and cpus with 64 cores, why still my machine is out of resources?

Could you provide the launching script?
The error indicates a resource exhaustion issue (e.g., threads or processes). To resolve this:

Increase system resource limits:

Modify /etc/security/limits.conf to increase thread or process limits.
Use ulimit -u to increase the maximum number of user processes.

Reduce parallelism:

Decrease the number of worker threads or processes in your code.

Check for resource leaks:

Ensure no runaway processes or threads are consuming resources.

Reboot or restart services:

Free up resources by rebooting the system or restarting affected services.

Upgrade hardware:

If the workload exceeds system capacity, consider upgrading CPU or memory.

Let me know if you need further assistance!

Thank you for your reply. My inference script is
export CUDA_VISIBLE_DEVICES=0,1,2,3,4
python3 cli.py --model_dir "/fs/fast/share/aimind_files/video_eval/models/mochi-1" --prompt "A dog is flying in the sky." \
 --use_xdit --ulysses_degree 2 --ring_degree 2

I cannot run your command because (1) the command sets 5 GPUs to be visible but the degree of parallelism is ulysses x ring = 4 (2x2=4); (2) the default sequence length in mochi (14310) cannot divided by 4. Would you please try the following command.
export CUDA_VISIBLE_DEVICES=0,1,2,3
python3 cli.py --model_dir /cfs/dit/mochi-1-preview --prompt "a cat is playing with a dog" --use_xdit --ulysses_degree 2 --ring_degree 1 --cfg_parallel

Sorry for giving an incorrect script! I have run the command
export CUDA_VISIBLE_DEVICES=0,1,2,3
python3 cli.py --model_dir "/fs/fast/share/aimind_files/video_eval/models/mochi-1" --prompt "a cat is playing with a dog" --use_xdit --ulysses_degree 2 --ring_degree 1 --cfg_parallel

But I meet the same error when loading text encoder
(MultiGPUContext pid=58998)   File "/fs/fast/share/aimind_files/conda/envs/mochi-xdit/lib/python3.10/site-packages/torch/_inductor/compile_worker/__main__.py", line 41, in main
(MultiGPUContext pid=58998)     SubprocMain(args.workers, read_fd, write_fd).main()
(MultiGPUContext pid=58998)   File "/fs/fast/share/aimind_files/conda/envs/mochi-xdit/lib/python3.10/site-packages/torch/_inductor/compile_worker/subproc_pool.py", line 167, in __init__
(MultiGPUContext pid=58998)     _warm_process_pool(self.pool, nprocs)
(MultiGPUContext pid=58998)   File "/fs/fast/share/aimind_files/conda/envs/mochi-xdit/lib/python3.10/site-packages/torch/_inductor/compile_worker/subproc_pool.py", line 241, in _warm_process_pool
(MultiGPUContext pid=58998)     pool._adjust_process_count()
(MultiGPUContext pid=58998)   File "/fs/fast/share/aimind_files/conda/envs/mochi-xdit/lib/python3.10/concurrent/futures/process.py", line 683, in _adjust_process_count
(MultiGPUContext pid=58998)     p.start()
(MultiGPUContext pid=58998)   File "/fs/fast/share/aimind_files/conda/envs/mochi-xdit/lib/python3.10/multiprocessing/process.py", line 121, in start
(MultiGPUContext pid=58998)     self._popen = self._Popen(self)
(MultiGPUContext pid=58998)   File "/fs/fast/share/aimind_files/conda/envs/mochi-xdit/lib/python3.10/multiprocessing/context.py", line 277, in _Popen
(MultiGPUContext pid=58998)     return Popen(process_obj)
(MultiGPUContext pid=58998)   File "/fs/fast/share/aimind_files/conda/envs/mochi-xdit/lib/python3.10/multiprocessing/popen_fork.py", line 19, in __init__
(MultiGPUContext pid=58998)     self._launch(process_obj)
(MultiGPUContext pid=58998)   File "/fs/fast/share/aimind_files/conda/envs/mochi-xdit/lib/python3.10/multiprocessing/popen_fork.py", line 66, in _launch
(MultiGPUContext pid=58998)     self.pid = os.fork()
(MultiGPUContext pid=58998) BlockingIOError: [Errno 11] Resource temporarily unavailable
(MultiGPUContext pid=58998) Exception in initializer:
(MultiGPUContext pid=58998) Traceback (most recent call last):
(MultiGPUContext pid=58998)   File "/fs/fast/share/aimind_files/conda/envs/mochi-xdit/lib/python3.10/concurrent/futures/process.py", line 230, in _process_worker
(MultiGPUContext pid=58998)     initializer(*initargs)
(MultiGPUContext pid=58998)   File "/fs/fast/share/aimind_files/conda/envs/mochi-xdit/lib/python3.10/site-packages/torch/_inductor/compile_worker/watchdog.py", line 28, in _async_compile_initializer
(MultiGPUContext pid=58998)     _watchdog_thread.start()
(MultiGPUContext pid=58998)   File "/fs/fast/share/aimind_files/conda/envs/mochi-xdit/lib/python3.10/threading.py", line 928, in start
(MultiGPUContext pid=58998)     _start_new_thread(self._bootstrap, ())
(MultiGPUContext pid=58998) RuntimeError: can't start new thread
(MultiGPUContext pid=58998) Exception in initializer:
(MultiGPUContext pid=58998) Traceback (most recent call last):
(MultiGPUContext pid=58998)   File "/fs/fast/share/aimind_files/conda/envs/mochi-xdit/lib/python3.10/concurrent/futures/process.py", line 230, in _process_worker
(MultiGPUContext pid=58998)     initializer(*initargs)
(MultiGPUContext pid=58998)   File "/fs/fast/share/aimind_files/conda/envs/mochi-xdit/lib/python3.10/site-packages/torch/_inductor/compile_worker/watchdog.py", line 28, in _async_compile_initializer
(MultiGPUContext pid=58998)     _watchdog_thread.start()
(MultiGPUContext pid=58998)   File "/fs/fast/share/aimind_files/conda/envs/mochi-xdit/lib/python3.10/threading.py", line 928, in start
(MultiGPUContext pid=58998)     _start_new_thread(self._bootstrap, ())
(MultiGPUContext pid=58998) RuntimeError: can't start new thread

It seems that some problems with ray for multi-process. It's interesting that if I run the command for 2 GPUS
export CUDA_VISIBLE_DEVICES=0,1
python3 inference_mochi.py \
    --model_dir "/fs/fast/share/aimind_files/video_eval/models/mochi-1" \
    --prompt /fs/fast/share/aimind_files/video_eval/prompt_sample/prompts_sample.json \
    --use_xdit --ulysses_degree 2 --ring_degree 1 \

It will work well. However, with 4 or more GPUs, whether with --cfg_parallel or not, it will meet the same error.

Are you occupying the entire machine? I suspect it might be due to some environmental issues, such as insufficient resources preventing access to them. We can successfully run it using this command.

@feifeibear Thank you for your reply. Could you let me know the specifications of your machine’s GPU and CPU?

We test it on 8xL40 and AMD EPYC 9K84 96-Core CPU.


Write UTs for client.CreateNewProject

[kind/Enhancement]

Which functionality do you think we should update/improve?
UTs for client.CreateNewProject
Why is this needed?
It was missing

@amitkrout @prietyc123 There is already a unit test for client.CreateNewProject() https://github.com/openshift/odo/blob/116728936e3ed26f25b51ae51218d4d0e11bb6ee/pkg/occlient/occlient_test.go#L2258

@amitkrout @prietyc123 There is already a unit test for client.CreateNewProject()
https://github.com/openshift/odo/blob/116728936e3ed26f25b51ae51218d4d0e11bb6ee/pkg/occlient/occlient_test.go#L2258

Cool!!!
/close


Onboard talentlink-connector to Axon-ivy market

Hi, I've just created a market-product that I'd like to publish into the official axonivy-market.
Can you fork it and review my cool product?
https://github.com/LukasKulhanek/TalentLink

⚠ do not remove this section, but leave it to track the reviewer's work.
Review Tasks
Product Domain

[ ] product successfully installs into the Axon Ivy Designer
[ ] product parts are marked as Connector or Demo
[ ] the product projects contains documentation to explain the functionality or use-case:
e.g. Process-Notes, Input-Parameter descriptions, Meta-Comments on variables.yaml definitions ...
[ ] the product readme fits into the market landscape @andreasbalsiger
[ ] all mandatory setup steps to run the Demo are documented in the setup section of the [myProduct]/product/Readme.md .

Technical Solution
Coherent

[ ] Common group-id for all artifacts <groupId>[org.arcme|com.axonivy].[util|connector].[product-name]<groupId>
[ ] Common artifact-id prefix: <artifactId>msgraph[-product|test|demo]</artifactId>
[ ] Html-Dalogs depend on suggested 'frame' template
[ ] Github actions + maven-build runs as outlined in market-product template

Maintainable

[ ] Dependent third-party infrastructure (e.g. Database, MavenRepos) is available: public accessible instance or shared as code (e.g. Docker, docker-compose)
[ ] Tests are implemented that verify, that the product actually runs
[ ] Additional libraries (e.g. Maven dependencies) are lightweight: not duplicating libaries of the Axon.ivy Classpath Container.
[ ] Depends on standard Axon Ivy features and does not light-heartedly re-introduce forks of existing solutions (e.g. Job-Framework). Our goal is to integrate also third-parties into existing: Enginge-Cockpit-View, Log-Channels, Monitoring features, ...
[ ] Uses latest ivy-environment: e.g. process-files and used project-build-plugin match the ivyProject version.
[ ] Product is re-usable without the need to unpack and customize it for standard use-cases: crucial settings can be overriden with well documented config/variables.yaml

Hi @LukasKulhanek , sorry for the delay and thanks for your contribution.
I've created an axonivy-market repo, where you can create a Pull-Request, so that we can go through the review process of the solution.
https://github.com/axonivy-market/TalentLink/
Please open a Pull Request and assign me as reviewer.


Allow skipping CRC storage deployment in edpm_prepare

This PR has:

[ ] Appropriate testing (molecule, python unit tests)
[ ] Appropriate documentation (README in the role, main README is up-to-date)

/approve
seems OK and will help depending on the location we're deploying at :).


Add Quantization to the chart editor

adds note quantization to the chart editor
Press Z or X to decrease and increase the beat snap respectively
It also resizes the grid so it's easier to see where you should place the notes :)

Sorry alr added in update, thanks for your time tho :((


Hello Yale8848!

Mobile:  Galaxy s10
Android OS:  10.0
NetWork:  WIFI
URL:
LIB Version: ren.yale.android:cachewebviewlib:2.1.8

Hello, yale8848
I'm getting a lot of help thanks to your code.
But I have a questions.
builder.setCacheSize(1024 * 1024 * 1500)
there be a performance problem if we designate such a large number?

I think it have not performance problem ,   because it use OkHttp OkHttp  cache method like under code:
OkHttpClient.Builder builder = new OkHttpClient.Builder()
                .cache(cache)

Thank you for answering my question.
Oh, isn't it stored in the application package's cache memory?
What you're saying is that there's no performance problem because we use the cache memory of okHttp library, right?

The whole cache solution is the same of OkHttp, so you can check OkHttp lib cache method whether fit for you.


massive doc reorg/rewrite

review by @adriaanm please. there are surely many details that can be improved (and some will be). what I'd like from the current round of review is just a sanity check that when I split it up into multiple files, everything ended up in the right place

review by @adriaanm please. there are surely many details that can be improved (and some will be). what I'd like from the current round of review is just a sanity check that when I split it up into multiple files, everything ended up in the right place

LGTM! Thank you! This makes it much more digestible :-)

I made your suggested additions in 1101463c2971904ee5316127aae492b87ecbbc01.


Can't set alias like /

What steps will reproduce the problem?
use Yiisoft\Aliases\Aliases;

$aliases = new Aliases();
$aliases->set('@url', '/');

echo $aliases->get('@url');

Any trailing / and \ characters in the given path will be trimmed.

So it is not ending slash, slash is a path. Maybe need add exclusion for this case?
What is the expected result?
/
What do you get instead?
empty string
Additional info

Q
A

Version
3.0.0

PHP version
8.0

Operating system

https://github.com/yiisoft/aliases/blob/2ed5e38d6ac503ec4c1af39115361097b6449135/src/Aliases.php#L70-L72

Should we prepare aliases on set?
Now aliases trim slashes on set.

Solution here would be to check if the $path contains only / and keep it in that case.
$aliases = new Aliases();
$aliases->set('@url', '/');
$aliases->get('@url'); // should return '/'
$aliases->get('@url/somepath'); // should return '/somepath'

The last one already works as far as I see, only the edge case must be fixed.

What's the current status of this issue? I also encountered the same problem. When using yiisoft/assets, the aliases @baseUrl and @assetsUrl I set were all "/", but now they have become "", causing the page's js, css, and image links to be wrong. , from the absolute path to a relative path. Can you provide some additional configuration options to let the user decide how to handle "/" or is there a better way?

One of main goals of usage aliases — concatenate resolved alias with path ($aliases->get('@url') . "/somepath"). So we decide always trim slash. For / also.


retry policy

How can implement try policy for pubsub subscription , I have implemented application to collect some messages from pubsub and suddenly i got the following error and stream stopped !!
c.g.c.p.v.StreamingSubscriberConnection - terminated streaming with exception
com.google.api.gax.rpc.PermissionDeniedException: io.grpc.StatusRuntimeException: PERMISSION_DENIED: User not authorized to perform this action.
at com.google.api.gax.rpc.ApiExceptionFactory.createException(ApiExceptionFactory.java:55)
 at com.google.cloud.pubsub.v1.StreamingSubscriberConnection$1.onFailure(StreamingSubscriberConnection.java:237)
 at com.google.common.util.concurrent.Futures$CallbackListener.run(Futures.java:1365)
 at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)
 at com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:973)
 at com.google.common.util.concurrent.AbstractFuture.complete(AbstractFuture.java:821)
 at com.google.common.util.concurrent.AbstractFuture.setException(AbstractFuture.java:685)
 at com.google.common.util.concurrent.SettableFuture.setException(SettableFuture.java:54)
 at com.google.cloud.pubsub.v1.StreamingSubscriberConnection$StreamingPullResponseObserver.onError(StreamingSubscriberConnection.java:173)
 at io.grpc.stub.ClientCalls$StreamObserverToCallListenerAdapter.onClose(ClientCalls.java:419)
 at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:41)
 at io.grpc.internal.CensusStatsModule$StatsClientInterceptor$1$1.onClose(CensusStatsModule.java:684)
 at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:41)
 at io.grpc.internal.CensusTracingModule$TracingClientInterceptor$1$1.onClose(CensusTracingModule.java:392)
 at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:475)
 at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:63)
 at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.close(ClientCallImpl.java:557)
 at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.access$600(ClientCallImpl.java:478)
 at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:590)
 at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
 at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123)
 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
 at java.util.concurrent.FutureTask.run(FutureTask.java:266)
 at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
 at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
 at java.lang.Thread.run(Thread.java:745)
Caused by: io.grpc.StatusRuntimeException: PERMISSION_DENIED: User not authorized to perform this action.
 at io.grpc.Status.asRuntimeException(Status.java:526)
 ... 19 common frames omitted

@azmym feel free to post issues like this in our project's issue tracker at https://github.com/spring-cloud/spring-cloud-gcp/issues.
Your question is not really related to retrying. Did you provide suitable credentials, either through the spring.cloud.gcp.credentials.location property, or through the application-default credentials (gcloud auth application-default login)?

@joaoandremartins I already provided the credential and the application was working fine for 1 month,
but seem one of the administration change the privilege for some reason , Now I need to avoid this issue in future if that happened again i need the service retry to connect again after certain time, is that possible ?

@azmym looking at the Subscriber API, it doesn't look like that is specifiable.
But I'm also not sure how valid that use case is (i.e., service account being deleted/modified to stop having correct rights).
You would need to implement that kind of retry on your side, by catch that exception and then acting accordingly (e.g., creating another Subscriber with different permissions? that is pretty much the user's choice).

@joaoandremartins this error out of my hand, it is occur in spring framework, my code handling start after receive the message
@ServiceActivator(inputChannel = "pubsubInputChannel")
    public void messageReceiver(Message<String> message) {
    try{
          // some business logic
    }catch(Exception e){
    }
}

@Bean
    public MessageChannel pubsubInputChannel() {
        return new DirectChannel();
    }

    @Bean
    public PubSubInboundChannelAdapter messageChannelAdapter(
            @Qualifier("pubsubInputChannel") MessageChannel inputChannel, PubSubTemplate pubSubTemplate) throws InterruptedException, ExecutionException, TimeoutException {
        PubSubInboundChannelAdapter adapter =
                new PubSubInboundChannelAdapter(pubSubTemplate, subscriptionName);
        adapter.setOutputChannel(inputChannel);
        adapter.setAckMode(AckMode.MANUAL);
        return adapter;
    }

@azmym I'm afraid the solution for this is to implement monitoring in your app and, whenever such an exception is thrown, create a new service account, furnish a new private key and restart your application pointing to the new credentials.
Service accounts stopping to work is definitely not an expected scenario, as far as I know.


Gem seems to ignore a file in config/initiatializers/new_framework_defaults.rb

Description
I've installed the gem as per the documentation, but for some reason our app in production started throwing presence validation errors on a belongs_to relation in one of our models.
Our app was upgraded from Rails 4 to 5.2, so it has the config/initializers/new_framework_defaults.rb file. This only contains the following to circumvent the described problem.
Rails.application.config.active_record.belongs_to_required_by_default = false

Yet after the gem was running in production, we started receiving the described presence errors. Removing the gem fixed it.
Not sure what I'm doing wrong here. All I did was install the gem and copy the default config/new_relic.yml as explained by the New Relic website.
Expected Behavior
To have this gem / New Relic not override application configuration without explicitly giving permission.
Troubleshooting or NR Diag results

Steps to Reproduce
Can't share the original repo but:

Given a model "Product" and "Discount":

class Product < ApplicationRecord
  belongs_to :discount
end

class Discount < ApplicationRecord
end

Given config/initializers/new_framework_defaults.rb, containing:

Rails.application.config.active_record.belongs_to_required_by_default = false

Install newrelic_rpm and copy the default config/new_relic.yml from the New Relic website.
Calling #update_attributes on Project would trigger the belongs_to validation on Project#discount.

Your Environment

Bog standard Rails 5.2 app running in the production environment.
Ruby 2.4.4p296
newrelic_rpm <IP_ADDRESS>7

Additional context

@davelens, this feels like a startup order/dependency issue.  From the description of the problem, it may very well be that the agent's action to auto-instrument may cause your model classes to eager load before reaching the new_framework_defaults initializer.
Two suggestions for possible workarounds:

move that one line from the initializer file into your ~/config/environments/*.rb files or alternatively into ~/config/application.rb file.  This should allow the configuration setting to activate earlier in the startup chain.

For the one model where this is currently a problem, go ahead and make the prescribed Rails 5 change on that model's association:

class Product < ApplicationRecord
  belongs_to :discount, optional: true
end

@mwlang Thank you for the quick response and guidance. I didn't think of the gem's load order and can confirm your suggestion to move the configuration to config/application.rb fixes the problem.
I'm unsure if this warrants any documentation (or if I missed it?), but I did want to bring this to attention. Our app is one in a million legacy apps that went through numerous upgrades and can benefit from what New Relic can uncover.

@davelens Thank you for confirming what worked.  I was definitely speculating on gem load order, but in reality, could've been a number of things, including how the Agent interacts with ActiveRecord when setting things up or another gem monkey patching ActiveRecord as discussed in this SO article:
At any rate, thanks for getting the solution on the record here!


⚠ Slack has degraded performance

In c8cddc6, Slack (https://status.slack.com/api/v2.0.0/current) experienced degraded performance:

HTTP code: 200
Response time: 24 ms

Resolved: Slack performance has improved in 9593375 after 1 hour, 46 minutes.


feat: change trigger command to comply with new endpoint

Fixes WOR-280
Because the body for the trigger command changed, we also need to change it here. As a consequence we also add an optional --id to let users to optionally customize the new instance ID.

Let's stick to the PR template form henceforth please, we should follow guidelines for each repo @LuisDuarte1


libcardiacarrest: 11.0-6 -> 12.1-6

Update.

Success on aarch64-linux (full log)
Attempted: libcardiacarrest
Partial log (click to expand)
strip is /nix/store/7iyn7gn33i7xxjgmwf25k20246y6nd9d-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/384ai2gzp5k6lj07sa12r4r0khmd8pbx-libcardiacarrest-12.1-6/lib
patching script interpreter paths in /nix/store/384ai2gzp5k6lj07sa12r4r0khmd8pbx-libcardiacarrest-12.1-6
checking for references to /build in /nix/store/384ai2gzp5k6lj07sa12r4r0khmd8pbx-libcardiacarrest-12.1-6...
shrinking RPATHs of ELF executables and libraries in /nix/store/qmcmvp10bpaw42kb9k2dhp1ympn4yqk8-libcardiacarrest-12.1-6-dev
strip is /nix/store/7iyn7gn33i7xxjgmwf25k20246y6nd9d-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/qmcmvp10bpaw42kb9k2dhp1ympn4yqk8-libcardiacarrest-12.1-6-dev/lib
patching script interpreter paths in /nix/store/qmcmvp10bpaw42kb9k2dhp1ympn4yqk8-libcardiacarrest-12.1-6-dev
checking for references to /build in /nix/store/qmcmvp10bpaw42kb9k2dhp1ympn4yqk8-libcardiacarrest-12.1-6-dev...
/nix/store/384ai2gzp5k6lj07sa12r4r0khmd8pbx-libcardiacarrest-12.1-6

Success on x86_64-linux (full log)
Attempted: libcardiacarrest
Partial log (click to expand)
strip is /nix/store/90vmpr41dzsx350k5argycaf693hnl1l-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/kvfnvhr94in3rlc4cnwqsw65d1i9w65z-libcardiacarrest-12.1-6/lib
patching script interpreter paths in /nix/store/kvfnvhr94in3rlc4cnwqsw65d1i9w65z-libcardiacarrest-12.1-6
checking for references to /build in /nix/store/kvfnvhr94in3rlc4cnwqsw65d1i9w65z-libcardiacarrest-12.1-6...
shrinking RPATHs of ELF executables and libraries in /nix/store/m6zb8n30w4ky4jnwx76filcc8qgzq6jg-libcardiacarrest-12.1-6-dev
strip is /nix/store/90vmpr41dzsx350k5argycaf693hnl1l-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/m6zb8n30w4ky4jnwx76filcc8qgzq6jg-libcardiacarrest-12.1-6-dev/lib
patching script interpreter paths in /nix/store/m6zb8n30w4ky4jnwx76filcc8qgzq6jg-libcardiacarrest-12.1-6-dev
checking for references to /build in /nix/store/m6zb8n30w4ky4jnwx76filcc8qgzq6jg-libcardiacarrest-12.1-6-dev...
/nix/store/kvfnvhr94in3rlc4cnwqsw65d1i9w65z-libcardiacarrest-12.1-6


[base][minor] Code Cleanup, remove redundant code

Code Cleanup, remove redundant code

Thanks @wuzhenhua01 for the contribution, @loserwang1024 Would you like to help review this PR?

Thanks @wuzhenhua01 for the contribution, would you mind open a new PR based on latest master branch, as the code base has changed greatly since then?
cc @loserwang1024


"NameError: Uninitialized constant Psych::Syck" error starting Rails with JRuby in 2.0 mode due to safe_yaml dependency at 0.9.7

Encountered this when switching to Ruby 2.0 on JRuby 1.7.9 when starting rails:
"NameError: Uninitialized constant Psych::Syck"

rails s
NameError: uninitialized constant Psych::Syck

jruby 1.7.9 (2.0.0p195) 2013-12-06 87b108a on Java HotSpot(TM) 64-Bit Server VM 1.7.0_25-b15 [linux-amd64]
TorqueBox 3.0.0
rails_admin 0.6.0 via master
Traced this to early in Rails bootstrapping to:
jruby_179/lib/ruby/gems/shared/bundler/gems/safe_yaml/lib/safe_yaml/load.rb: 35
Traced the safe_yaml dependecy to rails_admin.
Found this recent issue + commit over at safe_yaml...
"When Syck is not present at all, stub it out and proceed"
https://github.com/dtao/safe_yaml/pull/50
https://github.com/dtao/safe_yaml/commit/f227195b9e3731463f8dd6b2ab6247ce3e0e97c3
Work-around until they bump the Gem version is to include safe_yaml@master in Gemfile, which will take precendence over rails_admin dependency:
gem 'safe_yaml', git: 'https://github.com/dtao/safe_yaml.git'

Fixed in upstream.


WithCancel/WithTimeout contexts not canceling DB query

When using ctx.WithTimeout or ctx.WithCancel the call on the golang side gets cancelled but i still see the long running query in the Postgres side.
I would hope/want/expect the call to be cancelled as well in the DB side?
Is there away to do that?

Alternatively, is there a way to set the stament_timeout for the connection using the pgdriver dialect?

You probably can use pgdriver.WithConnParams to set statement timeout.


Documentation

- Project Plan and Milestone
In this project, the development of a conveyor belt will be carried out. It will be developed on a STM32, and will also be implemented in practice. This one, by means of its peripherals, will be in charge of managing the speed of the belt, stop by means of a sensor, among other things.

To achieve the correct functioning of the conveyor belt.
Implement the project by means of modules.
Get the modules themselves to run correctly.
Join modules that are already running.
Create a readable and easy to understand code.

Depecrated


Provided only partial implementation of Strategy pattern

Compare provided code with this:
https://sourcemaking.com/design_patterns/strategy/php
Main reason of strategy pattern is to make a decision  - choose appropriate processing method based on some informations. This is made by StrategyContext.
In your implementation this functionality is not existing.

You are free to change the code and send me a PR, I would be happy to merge it! :)

i am going to do it! :)


Some queries return null region values instead of the region value in the Steampipe table.

Describe the bug
Some queries return a null in the region column, despite the fact that the AWS API (and thus the Steampipe table) have the value of "global".
This seems to be caused by the fact that some queries utilize "local.common_dimensions_qualifier_sql", which does not include region, and others utilize "common_dimensions_qualifier_global_sql", which includes region.  These locals are out of variables.pp).
Query "iam_policy_custom_no_assume_role" is an example that does not leverage the global_sql and thus does not return a region.
As a result, findings can have an AWS region name, "global", or a null.  It would seem that the region value in the API/table should always be returned and never set to null via omission.
Powerpipe version (powerpipe -v)
Example: v1.0.1
Steampipe version (steampipe -v)
Example: v1.0.1
Plugin version (steampipe plugin list)
Example: v1.2.0
To reproduce
Run the AWS Foundational Security Best Practices dashboard in Powerpipe and download the CSV file.  Null values will be observed in the region column.
Expected behavior
I would expect to see the region value that is contained in the Steampipe table, and not a null.

Thanks @JeffreyFudge for reporting this issue.
We will investigate this issue and  share our findings in this thread.


onChange, how to get access to all field event properties?

I'm using custom fields following the example here:
https://teslamotors.github.io/informed/?path=/story/custominputs--creating-custom-inputs
On the implementation side, when calling onChange for the input fields, I have access to informed event like so:
{
  value: "value from input field"
  maskedValue: "n"
  modified: true
  touched: false
  error: undefined
  data: undefined
  pristine: false
  dirty: true
  valid: true
  invalid: false
  showError: false
  validating: false
  gathering: false
  focused: true
}

Is it also possible to access all field event properties via e.target.name, e.target.checked etc?
https://codesandbox.io/s/silly-https-ey1kyx?file=/src/App.js

I've tried implementations of this as well, but the event properties are limited to the output above.
https://teslamotors.github.io/informed/?path=/story/hooks--usefield

I got it to work, but I had to access onChange using props.onChange.
const { onChange, onBlur, ...rest } = userProps;

onChange={(e) => {
        setValue(e.target.value);

        if (props.onChange) {
          props.onChange(e);
        }
}}

https://codesandbox.io/s/new-thunder-11z9mf?file=/src/App.js

Wait the second parameter of all the onChanges is the native e event. So just use that

See here https://github.com/teslamotors/informed/blob/master/src/FormController.js#L394

Ah, I get it now.
Thanks for all your work and your help on this!
// on the custom element

onChange={e => {
  setValue(e.target.value, e);
}}

//on the implementation
  function handleInput(informedEvent, nativeEvent) {
    console.log(informedEvent);
    console.log(nativeEvent);
  }


chapter list issue

When I start the app first time and clicked on chapter button on navbar and got the blank chapterlist.

Chapter tab showing chapters of by default selected book.

By default chapters are coming either fsrom session or default given book.


Proposal: Add support for saving and loading grayscale png bitmaps to the BitmapEncoder/BitmapDecoder classes

Proposal: Add support for saving and loading grayscale png bitmaps to the BitmapEncoder/BitmapDecoder classes
Summary

Saving 8bit or 16bit grayscale images (with BitmapPixelFormat Gray8 or Gray16) using the BitmapEncoder class to a png file is currently not supported (throws exception regarding an invalid pixel format). Loading grayscale png files is possible, but they will always be converted to rgba8 or rgba16. Again, attempting to use a grayscale target pixel format results in an exception.
Rationale

It is supported by the WPF counterparts (in System.Windows.Media.Imaging). It seems that both frameworks internally use the windows imaging component, so adding support to UWP should be quite easy.

Functional Requirements

Must: Allow saving 8bit and 16bit grayscale png files
Can: Directly load grayscale images with BitmapDecoder without an additional conversion step from rgba

Important Notes

Open Questions

Thanks for the suggestion!
@lhak are you trying to edit and save existing grayscale images, or are you generating images at runtime (e.g. with RenderTargetBitmap)?
Are you concerned about the memory usage of using the default BGRA8 format?

Basically my application receives grayscale images from a camera which will then be saved to disk and processed later by different applications. Therefore, using BGRA8 or BGRA16 will unnecessarily increase the space requirement on disk (there might be thousands of multi-megapixel images) and would also require a rewrite of the other applications.

We're focused on WinUI 3, which would be a prerequisite for this since the imaging code isn't in WinUI yet - we'll be able to revisit this once WinUI 3 is available (or potentially accept a pull request since it should be open source!)


[EIC-996]: fixed responsive Navbar

closes https://github.com/CRJI/EIC/issues/996
Description:

removed and renamed some of the Navbar links in order to minimise and optimise the space we use inside the Navbar.
added ellipsis and min width on the Navbar title/home button
moved user related nav links to a separate menu/popover represented by the user icon button(AccountCircle) on the far right side.

@gabriel-v not sure what we've discussed over our slack call, do we keep the "Admin" link outside of the User dropdown?
I remember talking about moving it to the dropdown as well, but I've seen you mentioned that it should stay outside the menu in the task itself.
Please confirm, thanks!


Use Internal modules to prevent (accidental) usage by user, but allowing for testing.

Perhaps discuss this more, I quite like it not being on the hackage page.

Wont do, i like a clean hackage.


Image editing

Possibly with https://github.com/burhanrashid52/PhotoEditor ?

I'd like to add, if possible, the app should allow you to select which editor you want to use when you press the edit button.
Some people (like myself) always edit files with a separate app, so it's very convenient when a gallery app allows us to choose.

Have you tried ImageToolbox ? 👀

Have you tried ImageToolbox ? 👀

Yes, but the Image editor needed for a Gallery app must be much more UX focused, that's why is takes quite a bit to come up with everything

Have you tried ImageToolbox ? 👀

Yes, but the Image editor needed for a Gallery app must be much more UX focused, that's why is takes quite a bit to come up with everything
But I might include some parts of it (with the proper authorship) if necessary

I'm trying to create a really understandable app, maybe you also have some suggestions to make it better :)

I'd like to add, if possible, the app ideally would allow you to select which editor you want to use when you press the edit button.
Some people (like myself) always edit files with a separate app, so it's very convenient when a gallery app allows us to choose.

Yes, I would really like it to be all in one, but I understand that this takes time, so it would be nice if there was the option to select a default app when you click on "edit" to always open it without asking.

I'd like to add, if possible, the app ideally would allow you to select which editor you want to use when you press the edit button.
Some people (like myself) always edit files with a separate app, so it's very convenient when a gallery app allows us to choose.

Yes, I would really like it to be all in one, but I understand that this takes time, so it would be nice if there was the option to select a default app when you click on "edit" to always open it without asking.

ImageToolbox😁

Bro will the photo editing be added?

Yes bro.

Have you tried ImageToolbox ? 👀

Yes, but the Image editor needed for a Gallery app must be much more UX focused, that's why is takes quite a bit to come up with everything
But I might include some parts of it (with the proper authorship) if necessary

I'm trying to create a really understandable app, maybe you also have some suggestions to make it better :)

Hi TR8IN, I have been using image toolbox for a long time
My overall suggestion is to make the apps clutter free
The app almost feels like an alternative to SnapSeed with its advanced editing tools and options but with more cluttery ui
In simple words the ui is something that is extremely different compared to other apps maybe you have designed   it based on your workflow.
And I don't think that's what an "gallery" focuser editor should be, rather basic features like crop, rotate, draw, flip, blur, is more than enough.
Also to note whenever I want to edit in image toolbox I launch toolbox first and then edit rather than going from the gallery, for simple edits I usually use Google Photos as its ui/ux is much more minimal and consistent with rest of android compared to toolbox.
Anways great app continue the great work!!!
But don't try to make it as an app for basic edits - I would say go with the snapseed route and cram all the options you can !!!

Have you tried ImageToolbox ? 👀

Yes, but the Image editor needed for a Gallery app must be much more UX focused, that's why is takes quite a bit to come up with everything
But I might include some parts of it (with the proper authorship) if necessary

I'm trying to create a really understandable app, maybe you also have some suggestions to make it better :)

Hi TR8IN, I have been using image toolbox for a long time
My overall suggestion is to make the apps clutter free
The app almost feels like an alternative to SnapSeed with its advanced editing tools and options but with more cluttery ui
In simple words the ui is something that is extremely different compared to other apps maybe you have designed   it based on your workflow.
And I don't think that's what an "gallery" focuser editor should be, rather basic features like crop, rotate, draw, flip, blur, is more than enough.
Also to note whenever I want to edit in image toolbox I launch toolbox first and then edit rather than going from the gallery, for simple edits I usually use Google Photos as its ui/ux is much more minimal and consistent with rest of android compared to toolbox.
Anways great app continue the great work!!!
But don't try to make it as an app for basic edits - I would say go with the snapseed route and cram all the options you can !!!

I recently added single edit mode, it has some base features in one place🐸

SimpleMobileTools Advanced editor is good. It would be worth looking into..

While i agree that rotating pictures is a must for gallery apps, i'm not sure other editing tools might ée so nuch needed.
I can understand the case of the crop tool, for screenshots specifically, but even this tool car be provided by a dedicated app.
There are already several standalone apps using the PhotoEditor library which are good enough for what they do (no much, mind you), there is the Litrato app which showed premise but hasn't seen updates since 2 years now. Finally there is Pocket Paint, but this one is probably way overkill for quick image editing that-most of you want to do through Gallery.
My point is, i hope this doesn't turn into feature bloat later on. Maybe we should support existing apps instead.

Have you tried ImageToolbox ? 👀

Yes, but the Image editor needed for a Gallery app must be much more UX focused, that's why is takes quite a bit to come up with everything
But I might include some parts of it (with the proper authorship) if necessary

I'm trying to create a really understandable app, maybe you also have some suggestions to make it better :)

Hi TR8IN, I have been using image toolbox for a long time
My overall suggestion is to make the apps clutter free
The app almost feels like an alternative to SnapSeed with its advanced editing tools and options but with more cluttery ui
In simple words the ui is something that is extremely different compared to other apps maybe you have designed   it based on your workflow.
And I don't think that's what an "gallery" focuser editor should be, rather basic features like crop, rotate, draw, flip, blur, is more than enough.
Also to note whenever I want to edit in image toolbox I launch toolbox first and then edit rather than going from the gallery, for simple edits I usually use Google Photos as its ui/ux is much more minimal and consistent with rest of android compared to toolbox.
Anways great app continue the great work!!!
But don't try to make it as an app for basic edits - I would say go with the snapseed route and cram all the options you can !!!

I recently added single edit mode, it has some base features in one place🐸

Where?
In the app?

Have you tried ImageToolbox ? 👀

Yes, but the Image editor needed for a Gallery app must be much more UX focused, that's why is takes quite a bit to come up with everything
But I might include some parts of it (with the proper authorship) if necessary

I'm trying to create a really understandable app, maybe you also have some suggestions to make it better :)

Hi TR8IN, I have been using image toolbox for a long time
My overall suggestion is to make the apps clutter free
The app almost feels like an alternative to SnapSeed with its advanced editing tools and options but with more cluttery ui
In simple words the ui is something that is extremely different compared to other apps maybe you have designed   it based on your workflow.
And I don't think that's what an "gallery" focuser editor should be, rather basic features like crop, rotate, draw, flip, blur, is more than enough.
Also to note whenever I want to edit in image toolbox I launch toolbox first and then edit rather than going from the gallery, for simple edits I usually use Google Photos as its ui/ux is much more minimal and consistent with rest of android compared to toolbox.
Anways great app continue the great work!!!
But don't try to make it as an app for basic edits - I would say go with the snapseed route and cram all the options you can !!!

I recently added single edit mode, it has some base features in one place🐸

Where?
In the app?

Yup, this is the first option with the pencil

Have you tried ImageToolbox ? 👀

Yes, but the Image editor needed for a Gallery app must be much more UX focused, that's why is takes quite a bit to come up with everything
But I might include some parts of it (with the proper authorship) if necessary

I'm trying to create a really understandable app, maybe you also have some suggestions to make it better :)

Hi TR8IN, I have been using image toolbox for a long time
My overall suggestion is to make the apps clutter free
The app almost feels like an alternative to SnapSeed with its advanced editing tools and options but with more cluttery ui
In simple words the ui is something that is extremely different compared to other apps maybe you have designed   it based on your workflow.
And I don't think that's what an "gallery" focuser editor should be, rather basic features like crop, rotate, draw, flip, blur, is more than enough.
Also to note whenever I want to edit in image toolbox I launch toolbox first and then edit rather than going from the gallery, for simple edits I usually use Google Photos as its ui/ux is much more minimal and consistent with rest of android compared to toolbox.
Anways great app continue the great work!!!
But don't try to make it as an app for basic edits - I would say go with the snapseed route and cram all the options you can !!!

I recently added single edit mode, it has some base features in one place🐸

Where?
In the app?

Yup, this is the first option with the pencil

OK, but if I press the pencil, I get the info that there is no app.
Latest github version nomap

I'm ImageToolbox developer, not gallery, but i mean this one

I'm ImageToolbox developer, not gallery, but i mean this one

Ah, OK, sorry

In Progress
9a0e2171898e1c333ec6bae31f9dbffb6a7b778e
faf88d3d46dcc9fcaa2cc342273ea8e267a6bd8b
5ac7ec8d1812cd4d533818aefc4f20d087e8a8e4

Is video editing also planned?

Yes
On Tue, Nov 12, 2024, 7:29 AM wefalltomorrow @.***>
wrote:

Is video editing also planned?
—
Reply to this email directly, view it on GitHub
https://github.com/IacobIonut01/Gallery/issues/1#issuecomment-2469642342,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AETKYG6G7VWVMU6I5KGCIU32AGG2BAVCNFSM6AAAAABRDASY62VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINRZGY2DEMZUGI
.
You are receiving this because you modified the open/close state.Message
ID: @.***>


[openal-soft] find_package(openal-soft CONFIG REQUIRED) fails

Describe the bug
When attempting to include OpenAL-Soft after being installed successfully via vcpkg, the resulting find_package line provided by vcpkg causes configuration of a project to fail as it cannot locate the configuration CMake files that were generated.
Environment

OS: Ubuntu 19.10 x64 / Windows 10 1903 x64
Compiler: GNU 9.2.1 / Microsoft (R) C/C++ Optimizing Compiler Version 19.16.27034 for x64
CMake Version: 3.16.3 / 3.16.0

To Reproduce
Steps to reproduce the behavior [Ubuntu]:

./vcpkg install openal-soft
Add the find_package and target_link_libraries lines specified by vcpkg to a CMakeLists.txt
Attempt to configure the project via CMake using the CMakeLists.txt from above.

Expected behavior
Once OpenAL-Soft is installed via vcpkg, it should specify the correct name required to find the package, and allow a project utilizing it to configure sucessfully.
Failure logs
-- The C compiler identification is GNU 9.2.1
-- The CXX compiler identification is GNU 9.2.1
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Freetype: /home/kennuckles/vcpkg/installed/x64-linux/lib/libfreetype.a (found version "2.10.1")
-- Found ZLIB: /home/kennuckles/vcpkg/installed/x64-linux/debug/lib/libz.a (found version "1.2.11")
-- Found PNG: /home/kennuckles/vcpkg/installed/x64-linux/debug/lib/libpng.a (found version "1.6.37")
-- Found BZip2: /home/kennuckles/vcpkg/installed/x64-linux/lib/libbz2.a (found version "1.0.6")
-- Looking for BZ2_bzCompressInit
-- Looking for BZ2_bzCompressInit - found
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
CMake Error at /home/kennuckles/vcpkg/scripts/buildsystems/vcpkg.cmake:285 (_find_package):
  Could not find a package configuration file provided by "openal-soft" with
  any of the following names:

    openal-softConfig.cmake
    openal-soft-config.cmake

  Add the installation prefix of "openal-soft" to CMAKE_PREFIX_PATH or set
  "openal-soft_DIR" to a directory containing one of the above files.  If
  "openal-soft" provides a separate development package or SDK, be sure it
  has been installed.
Call Stack (most recent call first):
  src/CMakeLists.txt:8 (find_package)

-- Configuring incomplete, errors occurred!

Additional context
Based on the error messaging, it appears that after being installed by vcpkg the configuration files are created as OpenALConfig.cmake, OpenALConfig-debug.cmake, and OpenALConfig-release.cmake. Once the find_package line is changed to use the name OpenAL instead of openal-soft, configuration completes as expected. This occurs on both Ubuntu and Windows 10.

Thanks for posting this issue. This issue has been fixed, so I am closing this issue for now.


Code review: explaining options for session

I was wondering why every single option would be needed
 app.use(session({
    secret: 'node-ldp',
    saveUninitialized: false,
    resave: false
  }));

I consider the secret: 'node-ldp' by default a serious security issue

I set saveUninitialized and resave to false based on the express-session documentation: https://github.com/expressjs/session.
I agree that setting secret to a fixed string is a problem. I will fix it and submimt a PR.

No! Please don't! Let's discuss the secret on friday

I already submitted a PR if you want to have a look.

Perfect I have seen it, it's great, although I have some questions about that that we should discuss

Clossing as issue was already fixed by #77.


Logging not working in collectsub server

The context isn't actually being passed from the Serve function and thus the logging introduced in https://github.com/guacsec/guac/pull/436 doesn't actually work. This needs to be fixed so logging works.

fyi @naveensrinivasan

Hi @lumjjb,
I can take care of this.

sure! Currently besides the listening log message, no other log messages are showing from calls to add or get.
The logger is part of the context in the call to https://github.com/guacsec/guac/pull/436/files#diff-8cd3be88c878305f70caa298925983e2d710c45da9184a9a6e6f47ef6312c842R79
The server is initialized and run within the following lines:

https://github.com/guacsec/guac/pull/436/files#diff-8cd3be88c878305f70caa298925983e2d710c45da9184a9a6e6f47ef6312c842R85
https://github.com/guacsec/guac/pull/436/files#diff-8cd3be88c878305f70caa298925983e2d710c45da9184a9a6e6f47ef6312c842R88

The server is runs the following functions with a context, but it is not the same one as passed in to the Serve function. Thus, some type of plumbing has to be done to ensure that the context provided to it is the one from initialized by the command running the server

https://github.com/guacsec/guac/pull/436/files#diff-8cd3be88c878305f70caa298925983e2d710c45da9184a9a6e6f47ef6312c842R50
https://github.com/guacsec/guac/pull/436/files#diff-8cd3be88c878305f70caa298925983e2d710c45da9184a9a6e6f47ef6312c842R64

I can take this

How can I test the logging once I put in my fix?

How can I test the logging once I put in my fix?

@arorasoham9 Once you have the fix in, you can run:

go run ./cmd/guacgql --gql-debug to bring up the in-mem database with graphql
go run ./cmd/guaccsub - this is the collectsub server (this is what you are checking to see that logs display properly)
go run ./cmd/guacone collect files ../guac-data/docs/spdx/spdx_vuln.json will communicate to the  collectsub server

Since the context needs to be the same for every server being created I was thinking I will just add a context.Context type field to the server struct, and initialize it in cmd/guacsub/cmd/root.go rootCmd function and remove the  context parameter in all three functions in pkg/collectsub/server/server.go.

Since this fix requires the context field to exist in the server struct and all packages are imported from GitHub should I create a PR with the field addition first?

Copied from the comments I made on #995 (adding it here so it does not get lost):
There are multiple ways to do this but probably the easiest is to store the logger in the server struct:
type server struct {
	pb.UnimplementedColectSubscriberServiceServer

	// Db points to the backend DB, public for mocking testing purposes.
	Db   db.CollectSubscriberDb

	logger *zap.SugaredLogger
	port int
}

and inialized in Serve:
func (s *server) Serve(ctx context.Context) error {
	logger := logging.FromContext(ctx)
	s.logger = logger
	....

This will allow access to AddCollectEntries and GetCollectEntries to use the logger from the server struct logger := s.logger. Adding another context will result in confusion about which context is being used.

@arorasoham9 Apologies but there is a better way to do this. See this article: https://medium.com/hootsuite-engineering/golang-grpc-distributed-context-propagation-5809e2d66db4 under the section "Context Propagation is just the start of the journey". This shows the way to propagate this logger through the ctx. This way, we don't have to pass the logger around.


For PaaS, the public media and thumbnail directories need to be network mounts to work with worker nodes

Worker nodes don't have access to local mounts. Only the app has access to them. So for a standard implementation, these mounts need to be network mounts for the thumbnail generation via the queue (worker nodes)
https://github.com/shopware/recipes/blob/e8f716580b865cf37309a1aabf220975ce9d91de/shopware/paas-meta/6.4/.platform/applications.yaml#L161-L166
Documentation about network mounts at PSH: https://docs.platform.sh/add-services/network-storage.html

but only on grid right?

should also be relevant for dedicated 3

This issue can be closed as it was changed in my latest PR


Search popular videos by hashtag

Is there any way to search popular videos by hashtag/query

Yep, I'll get this done.


Event Subscriber has no parameters in runtime packages

Version: 2.3.3
Describe the bug
The parameters are not copied when copying a event from a runtime package.
To Reproduce
Steps to reproduce the behavior:

Copy event from a runtime package

Expected behavior
Event Subscriber with parameters
Actual behavior
Event Subscriber with no parameters

Not reproducible at the moment


Is there a way to preferentially choose etcd config over the felix.cfg global options?

In calico-docker, we allow the user to dynamically change the log levels by changing the global config values in etcd.
It would be nice to specify default options in the felix.cfg config file that could be overridden by the values in etcd.  Is this possible?
This would allow us to ensure we log to screen and not to file immediately (to capture start up logs) - and then use the values in etcd to toggle the values dynamically.  Last time I tinkered in this area, it seemed that the felix.cfg options took precedence over the values in etcd.

@plwhite I think we've got the order of our config wrong, preventing calicoctl from being able to disable file logging early on but then enable it dynamically later.  Should we just swap it around so that per-host etcd config overrides file/env vars?
Alternatively, we could split felix.cfg into [default] and [override] sections that come before/after the others then rob could use the [default] section to enable screen logging and disable file logging but it would still get overridden by etcd?

Etcd configuration does override file / env vars. Doesn't it?

Is this still a WIBNI?

Original reason for needing the override will be fixed by #1157.


re and im for ndarrays

Add properties (fun?) of real and imaginary parts for complex ndarrays
a: NDArray<ComplexDouble, D>
a.re: NDArray<Double, D>
a.im: NDArray<Double, D>

Hi
Yes, there is.
Please note that in addition to ComplexDouble, it is also necessary for ComplexFloat


We need a job to verify that the catalog is kept up-to-date

Currently, nothing checks that the catalog manifests are kept up-to-date, leading to discrepancies between developers’ expectations and what actually ends up on clusters (see #291 and #292).
This should be enforce by CI to make sure that the catalog is updated whenever anything feeding it is changed.

Migrated to https://issues.redhat.com/browse/ACM-2847.


Signup page

Design signup page as per design in FIGMA
https://www.figma.com/file/JwGvFscf4LBVCsIDHvaTfZ/All?node-id=1%3A858&t=JX6gU0icf9c80BGG-0

background link - https://unsplash.com/photos/8ELU74vnhPg


Wrap drawing in requestAnimationFrame.

Wrap drawing in requestAnimationFrame per https://github.com/katspaugh/wavesurfer.js/issues/1084.

I guess this should be merged with the other one.

Can you somehow add those requestAnimationFrames on top of the existing function calls?
I.e. instead of
drawSomethign: function() {
  requestAnimationFrame(function () {
    // lots of indented code
  });
}

This:
_drawSomethign: function() {
  // the original unindented code
  });
}

drawSomethign: function() {
  var my = this;
  requestAnimationFrame(function () {
    my._drawSomethign();
  });
}

Yes, that's possible, although I'm a little worried that the code will
become harder to understand if it has these "internal intended" properties.
Give me a few hours to wake up...
On May 29, 2017 5:00 AM, "katspaugh"<EMAIL_ADDRESS>wrote:

Can you somehow add those requestAnimationFrames on top of the existing
function calls?
I.e. instead of
drawSomethign: function() {
requestAnimationFrame(function () {
// lots of indented code
});
}
This:
_drawSomethign: function() {
// the original unindented code
});
}
drawSomethign: function() {
var my = this;
requestAnimationFrame(function () {
my._drawSomethign();
});
}
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/katspaugh/wavesurfer.js/pull/1105#issuecomment-304611026,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADFJWKKO_oVe1qEIOyeE9bW_XGGgXD7rks5r-olDgaJpZM4NoQR9
.

Another approach would be to wrap the definitions of the methods:
utils.frame = function (callback) {
  return function () {
    var my = this;
    var args = arguments;

    requestAnimationFrame(function () {
      callback.apply(my, args);
    });
  };
}

drawSomething: utils.frame(function() {
  // the original unindented code
  });
}),

Ok, I'll do it that way. Stay tuned...
On Mon, May 29, 2017 at 8:42 AM, katspaugh<EMAIL_ADDRESS>wrote:

Another approach would be to wrap the definitions of the methods:
utils.frame = function (callback) {
return function () {
var my = this;
var args = arguments;
requestAnimationFrame(function () {
  callback.apply(my, args);
});

};
}
drawSomething: utils.frame(function() {
// the original unindented code
});
}),
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/katspaugh/wavesurfer.js/pull/1105#issuecomment-304652406,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADFJWJKELmoVqHcYkpEBgkZPCqXOAB7yks5r-r1CgaJpZM4NoQR9
.

Idk what's up.

You spread your changes over several PRs and in this PR, there's no frame.

Ah, okay. Idk how to combine them in the web gui.

Let's first merge the PR where you introduce these new utils.

Thank you!


Update Text.elm

Trello card: N/A
Description
Change in support line opening times
@neontribe/sea-map

Looks like the build is failing because of the build OS. I will fix that in
Netlify.
On Mon, 21 Nov 2022 at 15:16, stuartleech @.***> wrote:

Trello card: N/A
Description
Change in support line opening times
@neontribe/sea-map
You can view, comment on, or merge this pull request online at:
https://github.com/neontribe/sea-map/pull/135
Commit Summary

cfc3df2
https://github.com/neontribe/sea-map/pull/135/commits/cfc3df21a6fa5ec5e80a2a886a9899a41157fb7a
Update Text.elm

File Changes
(1 file https://github.com/neontribe/sea-map/pull/135/files)

M src/Copy/Text.elm
https://github.com/neontribe/sea-map/pull/135/files#diff-788d6de779b0be3b25a11f73d80a879d529f7bf71fd153cb5f9e0c3ca5c020d9
(2)

Patch Links:

https://github.com/neontribe/sea-map/pull/135.patch
https://github.com/neontribe/sea-map/pull/135.diff

—
Reply to this email directly, view it on GitHub
https://github.com/neontribe/sea-map/pull/135, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAGSH5BHQHJK7KVJTAFPQ4DWJOG6RANCNFSM6AAAAAASGYEDYY
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>