storage controller: don't | quote split threshold

Helm (or Go formatting more generally) apparently arbitrarily uses scientific notation for integers above a million when quoting.
Try passing it through without the | quote to see if a simple integer makes it through unscathed.

Sounds more like a yaml issue, maybe we should put splitThreshold value in quotes at .github/helm-values/dev-us-east-2-beta.neon-storage-controller.yaml:69?

This is probably the issue: https://github.com/go-yaml/yaml/issues/730

maybe we should put splitThreshold value in quotes at .github/helm-values/dev-us-east-2-beta.neon-storage-controller.yaml:69

I have a PR to do that, but I'm interested to see if it's really necessary -- the YAML is allowed to use scientific notation, as long as the string substitution in the helm template handles that as an int rather than string.
So I'd like to try just this PR first, then only merge https://github.com/neondatabase/aws/pull/1358 if necessary.

Ok, let's try removing | quote.
But I think that underlying issue is that large numbers in yaml got parsed as float64 by default, and default "to string" implementation for floats is to use scientific notation.


Incorrect version required in composer.json

Line 36 of https://github.com/willdurand/BazingaHateoasBundle/blob/master/DependencyInjection/Compiler/ExtensionDriverPass.php results in the following syntax error:
PHP Parse error:  syntax error, unexpected 'class' (T_CLASS), expecting
identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in
myapp/vendor/willdurand/hateoas-bundle/Bazinga/Bundle/HateoasBundle/DependencyInjection/Compiler/ExtensionDriverPass.php
on line 36

  [Symfony\Component\Debug\Exception\FatalErrorException]

  Parse Error: syntax error, unexpected 'class' (T_CLASS), expecting
identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$'

PHP 5.4.45-0+deb7u5
Solution is either to correct the required PHP version (5.5 according to php.net) in composer.json, or just provide the interface name as a string.

Sorry but why did you close this issue since I just encountered the issue today with this requirement "willdurand/hateoas-bundle": "^1.0", that passed under PHP 5.4.40? Did you fix anything matching version ~1.0?
Thx anyway :wink:


Feature/word level progress tracking

Pull request checklist
Please check if your PR fulfills the following requirements:

[ ] The changes have been tested successfully.

I have updated the commit as per changes requested. Please check and test it.

Please fix the workflow errors.


Always pass conf.PublicFQDN to assemble HTTP URLs

Description
We saw an issue where DHCP responses from boots contained:
http://:80/ipxe/undionly.kpxe
We think this should fix that.
Suggestions on how a test case could have caught this are very much welcome!!
Why is this needed
This is a regression when running in production.
How Has This Been Tested?

[ ] In a Sandbox

How are existing users impacted? What migration steps/scripts do we need?
Checklist:
I have:

[ ] updated the documentation and/or roadmap (if required)
[ ] added unit or e2e tests
[ ] provided instructions on how to upgrade

@jacobweinstock if you have a moment to take a look too, I would greatly appreciate it!

Bad news. This doesn't quite solve the problem.


tweaks for near-runner / near-sandbox

As we build near-runner, we're finding lots of things we want to improve. This branch will contain our scratchpad with all of these improvements at once. Later, we will split individual improvements into separate PRs.

@chadoh should we reopen this?


The installer doesn't install flash

In version 1.3.0 the installer does not download flash i have no idea why this is happening or how to fix it can someone help with that?

same here, apparently i uninstalled flash player from my PC and W:O is trying to reinstall it, every time I try to install W:O it keeps doing the same thing and never really installs AFP...

The website keeps initiating (or suppressing a 404 page) for the file, located at http://wrapper-offline.ga/installer/flash_windows_chromium.msi
Any attempt to visit it redirects to https://wrapperoffline.org/software/
It got pulled, either due to a DMCA from Adobe, or a misconfiguration.


Debian Package

Description
To help with deployment of our blockchain, we need a debian package artifact to be built.  We will ultimately want to provide a repo for package releases, but that will be handled in a separate ticket.
Definition of "Done"
A developer needs to be able to locally build a .deb package on their machine.
Suggested Solution
The solution polkadot employs looks very promising.
Alternatives
We could consider packaging redhat RPM packages.  However, note that polkadot just sunsetted their RPM package releases.

Closing for now, we will just use docker


[AST Verifier] Handle ObjC requirements satisfied by alternative requirements

With 'async' imports of Objective-C protocol requirements, a single
Objective-C method will produce two different requirements in the
protocol, with the same Objective-C selector. Teach the AST verifier
that it is sufficient for just one of the requirements with that
Objective-C selector to be satisfied by a witness.
Fixes rdar://72742910.

@swift-ci please smoke test

@swift-ci please smoke test


Latest version 1.0.1 contains old lib/keys.js

hello/
package content here https://npmfs.com/package/deep-equal/1.0.1/lib/keys.js
I'm a little confused by the history here. maybe git history got screwed up? or some commits were backdated and github does not show them correctly?
file history: https://github.com/inspect-js/node-deep-equal/commits/master/lib/keys.js
commits: https://github.com/inspect-js/node-deep-equal/commits/master
It seems like @ljharb replaced keys.js to use the package on Apr 3, 2013
1.0.1 was commited Aug 30, 2015 (years later) but seems the keys.js replacement is missing when you look at those commits https://github.com/inspect-js/node-deep-equal/commits/59c511f5aeae19e3dd1de054077a789d7302be34
anyways, if you could publish a new version with the keys.js replacement, that would be appreciated. thanks/

@ljharb that makes sense.
would it be possible to cut a 1.0.2 that contains just the keys replacement?
the keys shim accidentally assigns shim to Object.keys when present, which is a problem under SES. Did this repo recently get transferred? I think I had an issue about it before. I'd prepare a PR for you but I can't PR to a new branch.
thanks/

thank you/


Feature Request - flatten nested xml and use fully qualified element name as column name

Input XML:
<root>
  <one>
    <two>two</two>
  </one>
  <a>
    <two>2</two>
  </a>
  <b>
    <c>
      <two>dos</two>
    </c>
  </b>
</root>

Output dataset:

root_one_two
root_a_two
root_b_c_two

two
2
dos

You could already do this programmatically by inspecting the schema and selecting one nested column under a new name. I'm not sure how generally useful this would be?

This would be for the general case where you don't know the schema ahead of time and it might vary between rows/files.

Hm, how is that related? you'd be inferring the schema in that case, but this seems to be about modifying the natural schema to something flatter.

Apologies, I guess I'm not following you. Are you saying I could do this programmatically without spark-xml, or is there already a way with spark-xml to do this?

I mean something like .select($"foo.bar".alias("foo_bar")); that works right?

Is that possible via the Java API, or just the Scala API using schema_of_xml/from_xml ?
When I use new XmlReader().xmlDataset(context.sparkSession(), xml); I end up with

one
a

<two>two</two>
<two>2</two>

What I'm suggesting is just a function of Spark, not this library, so works in any of its languages. It does not require specifying the schema. Are you specifying the schema? Otherwise I am not sure how you get that result, where the columns have XML.

I am not specifying the schema. Here is the full code:
        final Dataset<String> xml = data.select("XML").map((Row row) -> {
            return row.getString(0);
        }, Encoders.STRING());

        Dataset<Row> dataset = new XmlReader().xmlDataset(context.sparkSession(), xml);

Input:

date
XML

1/1/2020
<root><child><nested>value</nested></child></root>

Output

child

<nested>value</nested>

Hm, I'm actually not sure how that can work as you haven't set the rowTag or rootTag, which default to ROW and ROWS. Are you sure that isn't set, and/or can you try setting them appropriately to see if it changes the result? the output here puzzles me; it should be a nested struct, not leave the XML unparsed, in any event. child isn't somehow a string field that contains escaped XML or something, right?

I don't see how to set the root tag using the Java API. Setting the row tag to "root" didn't have any effect on the output, nor did setting it to "child", although in this scenario it seems like "root" would be more correct since I don't know the schema head of time.

Ah yeah there is no method for it. But I'm mistaken anyway, and root tag won't matter here (only affects writing). Row tag should be 'root' or something, yeah.
And I actually also forgot that row tag won't matter here either as you are passing the XML that constitutes each row directly.
But I don't get the result you. When I run that I get a value and schema of...
+-------+
|  child|
+-------+
|[value]|
+-------+

root
 |-- child: struct (nullable = true)
 |    |-- nested: string (nullable = true)

That looks correct. Are you definitely running just like that on the data <root><child><nested>value</nested></child></root>?

yes, however there is a second row that doesn't match that schema, like
<root><child>value</child></root>

Oh that makes sense then. The only schema that works for both is child as string. But is this connected to your original question about flattening? Here there is no nested to flatten.

I should have put two rows of input XML in my OP.
Input:

row
XML

1
<root><child>value</child></root>

2
<root><child><nested>value</nested></child></root>

Output could be flattened using fully qualified element name as the column name, or it could be a single column "root" with struct type with null values for missing elements. Either way would be okay with me.

Hm, the only thing I think might work is to manually specify the schema and make child a struct with optional _VALUE string field and optional nested struct field.

We're not going to know the schema ahead of time. What if a new column was made per element with a value, using the element's fully qualified path as the column name?

I don't think the naming is the issue. It has to make sense out of the schema here if asked to do so automatically and the default is to resolve this as one column containing a string.  Resolving as two cols, regardless of name, is different and you'd have to select that by controlling the schema.

What if you introduced the Scala APIs to Java?
val payloadSchema = schema_of_xml(df.select("payload").as[String])
val parsed = df.withColumn("parsed", from_xml($"payload", payloadSchema))

and I could specify the schema using the inferred schema.

You can already call these from Java; it's all in the JVM. You don't need these particular functions, you just need to specify the schema.

Do you have an example of using schema_of_xml from Java using 0.9.0? I am unable to figure out how to import it. All of the classes import correctly, but schema_of_xml appears inaccessible.

I was able to access them using "package$.MODULE$.", because the java code ends up with a "public final class package" which we obviously can't import.

Yes that's right. You'll find sometimes you have to look in a synthetic subclass that Scala generates to access some things. package objects are one of them.

So after messing around with those functions as well, it looks like there isn't any way to get the desired behavior. Can this be a feature request?
Input:

row
XML

1
<root><child>value1</child></root>

2
<root><child><nested>value2</nested></child></root>

Output:

root_child
root_child_nested

value1
value2

That's already how it works. The problem is that the 'superset' type is inherently ambiguous, because XML doesn't necessarily follow a tabular schema. The superset of 'string' and 'nested XML' is 'string', with the XML as string. That's a fine answer. It's not the only answer and not the one you're looking for here, which is 'struct, with option string field, and optional struct field'.
The problem is that these aren't even the only two possibilities, so a 'feature' that selected one or the other behavior doesn't really help the general issue.
The good news is that the library should be able to make sense of several valid schemas for the same data, hence I'm hoping that it's a matter of specifying the desired schema. The above is only a question of what schema is automatically inferred, not the one schema that can be applied.
I don't 100% know that and I can try a simple experiment later to see if that is how it would behave in this case, that it's doable with a custom schema. If it is, I'd probably say that's how it should be. If not, then maybe.


feat: add pin to ssl transport engine string

allow the following format when parsing the ssl engine string:
# Example: "engine:pkcs11:1111:mynewpin"
engine:ENGINE_NAME:KEY_ID:KEY_PIN

This is in addition to the existing format:
# Example: "engine:pkcs11:1111"
engine:ENGINE_NAME:KEY_ID

Closing because the key PIN is already supported in the following format:
# Example: engine:pkcs11:pkcs11:token=token1;object=mtlskey;pin-value=mynewpin
engine:ENGINE_NAME:KEY_ID:token=TOKEN;object=OBJECT_TYPE;pin-value=KEY_PIN


Issue with sending requests

Hi,
I am new to Python and I am getting the following error  when sending a request through the wrapper. Can you walk me through how I can diagnose the problem?
Traceback (most recent call last):
File "<pyshell#12>", line 1, in
rv = api.request(r)
File "C:\Python36\lib\site-packages\oandapyV20\oandapyV20.py", line 306, in request
request_args, headers=headers)
File "C:\Python36\lib\site-packages\oandapyV20\oandapyV20.py", line 243, in __request
response.content.decode('utf-8'))
oandapyV20.exceptions.V20Error
I ran the following codes;
access_token = "My own token"
client = API(access_token=access_token)
r = accounts.AccountList()
response = client.request(r)

@kevinwong15 please show the full code you ran

Hello,
I have kind of the same problem:
I ran:
get a list of trades
from oandapyV20 import API
import oandapyV20.endpoints.trades as trades
api = API(access_token="mytokenhere")
accountID = "myIDhere"
r = trades.TradesList(accountID)
show the endpoint as it is constructed for this call
print("REQUEST:{}".format(r))
rv = api.request(r)
print("RESPONSE:\n{}".format(json.dumps(rv, indent=2)))
And I have the following response:
REQUEST:v3/accounts/myaccount/trades
V20Error                                  Traceback (most recent call last)
 in ()
7 # show the endpoint as it is constructed for this call
8 print("REQUEST:{}".format(r))
----> 9 rv = api.request(r)
10 print("RESPONSE:\n{}".format(json.dumps(rv, indent=2)))
C:\Users\user\Anaconda3\lib\site-packages\oandapyV20\oandapyV20.py in request(self, endpoint)
304
305             response = self.__request(method, url,
--> 306                                       request_args, headers=headers)
307             content = response.content.decode('utf-8')
308             content = json.loads(content)
C:\Users\user\Anaconda3\lib\site-packages\oandapyV20\oandapyV20.py in __request(self, method, url, request_args, headers, stream)
241                          response.content.decode('utf-8'))
242             raise V20Error(response.status_code,
--> 243                            response.content.decode('utf-8'))
244         return response
245
V20Error:

@almanshow missing in your code:
import json

I have no trouble running your piece of code:
import json
from oandapyV20 import API
import oandapyV20.endpoints.trades as trades
api = API(access_token="...")
accountID = "xxx-yyy-zzzzzz-abc"   # make sure this is a V20 account! and not a v1 account: 1234567
r = trades.TradesList(accountID)

print("REQUEST:{}".format(r))
rv = api.request(r)
print("RESPONSE:\n{}".format(json.dumps(rv, indent=2)))

Gives:

REQUEST:v3/accounts/xxx-yyy-zzzzzz-abc/trades
RESPONSE:
{
  "trades": [],
  "lastTransactionID": "7775"
}

@kevinwong15 @almanshow : do you have a V20 token / account ?
If not please create the V20 account and regenerate a new token.

Hello,
Thank you for helping me.
I am sure I have a V20 account and even importing json I still get the same error message.
What could be the problem?

Wrap the request in a try/except:
import json
from oandapyV20 import API
import oandapyV20.endpoints.trades as trades
api = API(access_token="...")
accountID = "xxx-yyy-zzzzzz-abc"   # make sure this is a V20 account! and not a v1 account: 1234567
r = trades.TradesList(accountID)

print("REQUEST:{}".format(r))
try:
    rv = api.request(r)
except V20Error as err:
    print("ERROR: {}".format(err))
else:
    print("RESPONSE:\n{}".format(json.dumps(rv, indent=2)))

This is what I got after running your code:
REQUEST:v3/accounts/101-004-5535280-002/trades
V20Error                                  Traceback (most recent call last)
 in ()
9 try:
---> 10     rv = api.request(r)
11 except V20Error as err:
C:\Users\user\Anaconda3\lib\site-packages\oandapyV20\oandapyV20.py in request(self, endpoint)
305             response = self.__request(method, url,
--> 306                                       request_args, headers=headers)
307             content = response.content.decode('utf-8')
C:\Users\user\Anaconda3\lib\site-packages\oandapyV20\oandapyV20.py in __request(self, method, url, request_args, headers, stream)
242             raise V20Error(response.status_code,
--> 243                            response.content.decode('utf-8'))
244         return response
V20Error:
During handling of the above exception, another exception occurred:
NameError                                 Traceback (most recent call last)
 in ()
9 try:
10     rv = api.request(r)
---> 11 except V20Error as err:
12     print("ERROR: {}".format(err))
13 else:
NameError: name 'V20Error' is not defined

sorry, please import the V20Error:
from oandapyV20.exceptions import V20Error

It returned:"
ERROR:
".

and the curl command ?

What should I do in curl?

perform the API request as I gave it in the earlier comment. Just fill in the TOK and ACCT variables and run it as a shell script or directly from the commandline

Still makes me the same error.

that is not possible, curl has nothing to do with the python.
Check the OANDA docs http://developer.oanda.com/rest-live-v20/trade-ep/#collapse_2_example_curl_1 for an example too.
If you don't have it please install it and run it.
If curl fails you definitely have an auth issue regarding your token/account. So I would like to exclude that.

Another option: activate logging in DEBUG mode. You should get details how communication with oanda takes place.
import json
from oandapyV20 import API
from oandapyV20.exceptions import V20Error
import oandapyV20.endpoints.trades as trades
import logging

api = API(access_token="...")
accountID = "xxx-yyy-zzzzzz-abc"   # make sure this is a V20 account! and not a v1 account: 1234567

logging.basicConfig(
    filename="./sometest.log",
    level=logging.DEBUG,
    format='%(asctime)s [%(levelname)s] %(name)s : %(message)s',
)
logger = logging.getLogger(__name__)

r = trades.TradesList(accountID)

print("REQUEST:{}".format(r))
try:
    rv = api.request(r)
except V20Error as err:
    print("ERROR: {}".format(err))
else:
    print("RESPONSE:\n{}".format(json.dumps(rv, indent=2)))

The output should show something like:
2017-04-08 21:00:46,172 [INFO] oandapyV20.oandapyV20 : performing request https://api-fxpractice.oanda.com/v3/accounts/............./trades
2017-04-08 21:00:46,188 [DEBUG] requests.packages.urllib3.connectionpool : Starting new HTTPS connection (1): api-fxpractice.oanda.com
2017-04-08 21:00:47,059 [DEBUG] requests.packages.urllib3.connectionpool : https://api-fxpractice.oanda.com:443 "GET /v3/accounts/...................../trades HTTP/1.1" 200 40

Hi Hootnot,
I revoked my token and regenerated a new one..
Curl Command
I tried the curl command and i was able to get output containing my account ID in the form
{"accounts":[{"id":"xxx-yyy-zzzzzzz-aaa","tags":[]}}
Debug mode
The following is the output I am getting from debug mode.
As suggested, I get a 401 error which means I am unable to connect to the server.
2017-04-11 22:47:35,043 [INFO] oandapyV20.oandapyV20 : performing request https://api-fxpractice.oanda.com/v3/accounts/xxx-yyy-aaaaaaa-bbb/trades 2017-04-11 22:47:35,043 [DEBUG] requests.packages.urllib3.connectionpool : Starting new HTTPS connection (1): api-fxpractice.oanda.com 2017-04-11 22:47:36,354 [DEBUG] requests.packages.urllib3.connectionpool : https://api-fxpractice.oanda.com:443 "GET /v3/accounts/001-011-1267575-003/trades HTTP/1.1" 401 0 2017-04-11 22:47:36,370 [ERROR] oandapyV20.oandapyV20 : request https://api-fxpractice.oanda.com/v3/accounts/001-011-1267575-003/trades failed [401,]

... this make no sense, one way (curl) allows you access and the python code not ?
Sounds like a typo in the token in that piece of code.
can you run:
import urllib3   # maybe you need a: pip install urllib3

TOKEN = "<yourtoken>"

http = urllib3.PoolManager()
r = http.request(
    'GET',
    'https://api-fxpractice.oanda.com/v3/accounts',
    headers={
        'Authorization': 'Bearer {}'.format(TOKEN)
    })
print(r.status)
print(r.data.decode('utf-8'))

Thanks for your help

... is that  a confirmation of a typo in the token ?

No, it is because I was using a token that is generated in my real account but I pointed this to the practice environment.

the environment is practice by default. Make sure that you specify:environment="live" when you want to operate on your live-account.
Success with further coding!

Where exactly do I specify "environment=live" - I can authenticate and trade against fxpractice endpoints, however placing live credentials into ~/.v20.conf does not change the endpoints used from practice to live.

@ZeroJitter you refer to ~/v20.conf ... so it looks like you use the v20 library of oanda since my lib, oandapyV20, does not use such a config file unless you wrote it yourself and made your code use it.
So if you use oandapyV20: see : http://oanda-api-v20.readthedocs.io/en/latest/oanda-api-v20.html#the-client for details.
Just pass it:
client = API(access_token=..., environment="live")

If you use the v20 lib of oanda please check the docs of that library


Workaround for container registry push/pull errors

This PR addresses #19586
I added a mutex to the upload version creation which will prevent the push errors when two requests try to create these database entries. I'm not sure if this should be the final solution for this problem.
I added a workaround to allow a reupload of missing blobs. Normally a reupload is skipped because the database knows the blob is already present. The workaround checks if the blob exists on the file system. This should not be needed anymore with the above fix so I marked this code to be removed with Gitea v1.20.

I do not think it's right to use mutex. Database transaction should and could do that.

I proposed a PR:

https://github.com/KN4CK3R/gitea/pull/3

And more thoughts: I do not think the workaround need to be remove in the future, keeping the workaround seems fine, and it will also help if the files are lost in some rare cases.

I put together a workaround based from 1.17.3 release.  This allows subsequent docker push to upload missing layers.
https://github.com/ABastionOfSanity/gitea/commit/00f3f3aedf9a629070bc9cacc4acc9a9d1f6e74b

I do not think it's right to use mutex. Database transaction should and could do that (if #21836 could be written correctly)

I agree the mutex is not what we want but:
This is the error log of my code without the mutex:
...es/container/blob.go:47:func1() [E] [6377e7b6-18] Error inserting package: pq: duplicate key value violates unique constraint "UQE_package_s"
...es/container/blob.go:47:func1() [E] [6377e7b6-21] Error inserting package: pq: duplicate key value violates unique constraint "UQE_package_s"
...es/container/blob.go:47:func1() [E] [6377e7b6-20] Error inserting package: pq: duplicate key value violates unique constraint "UQE_package_s"
...ntainer/container.go:86:apiError() [E] [6377e7b6-18] pq: duplicate key value violates unique constraint "UQE_package_s"
...ntainer/container.go:86:apiError() [E] [6377e7b6-20] pq: duplicate key value violates unique constraint "UQE_package_s"

The func1 error is the call to packages_model.TryInsertPackage.
And this the error log of your code without the mutex:
...es/container/blob.go:47:func1() [E] [6377e861-19] Error inserting package: pq: current transaction is aborted, commands ignored until end of transaction block
...es/container/blob.go:47:func1() [E] [6377e861-21] Error inserting package: pq: current transaction is aborted, commands ignored until end of transaction block
...es/container/blob.go:47:func1() [E] [6377e861-22] Error inserting package: pq: current transaction is aborted, commands ignored until end of transaction block
...es/container/blob.go:47:func1() [E] [6377e861-20] Error inserting package: pq: current transaction is aborted, commands ignored until end of transaction block
...ntainer/container.go:86:apiError() [E] [6377e861-19] pq: current transaction is aborted, commands ignored until end of transaction block
...ntainer/container.go:86:apiError() [E] [6377e861-21] pq: current transaction is aborted, commands ignored until end of transaction block

This error is returned by the call to Get inside the Insert error handler. So, different error but still does not work.

OK, I know the problem now. Will try to propose a fix later (today)

The problem of my PR is: Only PostgreSQL can not continue current transaction if an SQL error occurs (MySQL/MSSQL/SQLite3 can)
PgSQL can use savepoint to skip the failed SQL and continue the current transaction, but I do not know whether XORM have general SAVEPOINT support.
Without a general SAVEPOINT support, I am afraid there is no clear solution to this problem (that's why GitLab finally only supports one database).
Another approach is to write various SQL dialects for INSERT IGNORE.
And one more approach, as a workaround without mutex, if you agree, we can move the TryInsert out the transaction, just insert and ignore the error, and do Get later, then there will be always a record.

Could you copy the tests code from my PR?

I don't see tests in #21836

#21836

Sorry. Maybe we could have some parallel upload in https://github.com/go-gitea/gitea/blob/main/tests/integration/api_packages_container_test.go#L155-L157

Like that?
var wg sync.WaitGroup
for i := 0; i < 10; i++ {
	wg.Add(1)
	go func() {
		defer wg.Done()
		upload(i)
	}()
}
wg.Wait()

Does that add a benefit? I think tests should be reproducible but this test could fail or not fail depending on whatever.

var testSlowTransaction bool

db.WithTx({
   insert
   if testSlowTransaction  {
       Sleep(1s)
   }
});

then 100% reproducible.

Like that?
var wg sync.WaitGroup
for i := 0; i < 10; i++ {
	wg.Add(1)
	go func() {
		defer wg.Done()
		upload(i)
	}()
}
wg.Wait()

Does that add a benefit? I think tests should be reproducible but this test could fail or not fail depending on whatever.

I think yes. Why this test maybe failed? Maybe only for sqlite?

No, sqlite is the only database where this never fails. I just wanted to say that a succesfull test does not indicate correct code in this case. I added parallel uploads in the integration test and with Postgresql this fails instantly and works fine with the patch. Will push the change later.

How to reproduce:
transaction A (t-A): 1. insert a key-X 3. do other long-time work. 4. commit
transaction B (t-B): 2. insert the key-X, then it blocks until 4 finishes, then  error occurs.
timeline: 1 (t-A inserts), 2 (t-B inserts), 3 (t-A do long-time work, eg: uploading or sleeping), 4 (t-A commit), then  t-B's insert will return error.
So, the Sleep  will make reproduce the problem.  And it can use some variables to detect such problem occurs and is  handled properly.


Aos With Swiper Slider

Hello @michalsnik !
Thanks for the great library! I am using this library with Swiper slider and it works amazingly. But I see there is an issue on when the screen height is prettry much small below 500px. Well, it totally depends upon what content i am having on my swiper slider.
I had followed this technique to use aos with swiper slider https://codepen.io/istyle/pen/ZrPzQj
The animations are to appear when the slide changes but on smaller device with lower height which would be landscape mode, The one with aos classes are hidden and reveals when i scroll down.
However, when i am on the smaller screen mostly on mobile landscape the text disappears.
You might want to look into this http://iyarbiotech-dev.azurewebsites.net/
Please ignore the other slides, they are under constructions.

Hi umanga907! I think the issue about screen height, you can set height for class .swiper as below:
.swiper-container {     width: 100%;     height: 300vh; }
because Swiper always set height for sliders as 100% default following body height, so your box was hidden following the slider, that's my own opinion^^

Hi!
Im trying to do the same, a Swiper slide that contains inside a few divs with have AOS props; but Firefox doesnt change de opacity of these elements.  In @umanga907 codepen if you download it and set direction: 'vertical'  you will have same issue con firefox. Any solution?

seconded


Fix admissionreview v1beta1 with null request kind and request resource

Signed-off-by: Joshua Benjamin<EMAIL_ADDRESS>

Ran into this for a v1.14 cluster we have. Looks like the spec for the admissionreview has those objects as optional even for the v1<EMAIL_ADDRESS>Let me know if you want the tests expanded. I just did the one for coverage.

Hi @annymsMthd thanks for the PR! I'll try to take a look this weekend.
It's strange to don't have that data (Maybe is related to the Kubernetes version) If you can share the information, could you please write the resources and operations that the webhook was trying to handle when the error occurred (for the sake of understanding more in-depth the problem).
Thanks again!

Sure. This was a secret webhook submission to the banzai bank-vaults webhook that is using this library. This kubernetes cluster is an openstack built, I think, one from a Russian provider. It is currently running version 1.14.6 of k8s as far as I can tell. Would you like me to try to get the raw, redacted, submission object?

Thanks for the info @annymsMthd. I think that it's enough :)
I guess that after the v2 upgrade/refactor, this problem was created and has not been surfaced until now because is not common to use the v2 Kubewebhook version with those Kubernetes versions. Also, I guess that on those versions when the read object didn't have a conversion of compatible type (e.g v1beta1 -> v1), it is empty.

Awesome. Thank you for the project!


MCS-1817 Close unity process when browser closes

If you open a second tab, it now uses the same Unity application/process, rather than starting a second one. This means you can change scenes and/or perform actions using the second tab, which also affects the first tab, but the first tab doesn't update. I'm not sure if we care, but thought I'd point it out for discussion.

@ThomasSchellenbergNextCentury For me, this was the behavior before. The only way I would get two unity windows in two tabs is if I started them very quickly / even then webenabled might end up using the same process anyway. Was this never the case for you?
Perhaps I can use localStorage or something to see if a tab is already opened, and at least display a popup if a new tab is opened warning the user. I will look into it.

@rartiss55 I can reproduce the problem on this branch if I open a second tab before the Unity process from the first tab finishes loading. I get two Unity windows, and then things start to go a little haywire when I try selecting a scene. At some point additional Unity windows started to pop up, so I think something got out-of-sync.
However, since I remember seeing this issue before, I'm assuming the issue's not directly related to this ticket. I'm fine if we want to investigate this as a separate ticket.


BUG - Growatt Integration does Not Connect

Describe the bug

Hello,
Since yesterday around 09.00 the Home Assistant integration does not connect to the Growatt server anymore.
The connection via the Growatt web portal and the app works.
Do any of you have the same problem?
To Reproduce

Growatt Device Type

Device(s): MOD-TL37000-XH
Home Assistant information

Home Assistant version: 2023.9.0
Growatt Server API Integration version: Same Version in Home Assistant Core

Additional context

Logger: homeassistant.components.sensor
Source: components/growatt_server/sensor.py:43
Integration: Sensor (documentation, issues)
First occurred: 09:07:52 (1 occurrences)
Last logged: 09:07:52
Error while setting up growatt_server platform for sensor
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 359, in _async_setup_platform
await asyncio.shield(task)
File "/usr/src/homeassistant/homeassistant/components/growatt_server/sensor.py", line 87, in async_setup_entry
devices, plant_id = await hass.async_add_executor_job(get_device_list, api, config)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/growatt_server/sensor.py", line 43, in get_device_list
login_response = api.login(config[CONF_USERNAME], config[CONF_PASSWORD])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/growattServer/init.py", line 132, in login
data = json.loads(response.content.decode('utf-8'))['back']
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/json/init.py", line 346, in loads
return _default_decoder.decode(s)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Ive been using Postman, hitting their API with the following https://server.growatt.com/newTwoLoginAPI.do?userName=MYEMAIL&password=MYPASSWORD and this always worked up until yesterday.
I orginally used Fiddler to get my traffic and work out that API call but its expired. anyone else been able to connect yet?

Hi, this is a duplicate of #15 I recommend taking a read of the README on the front page of the repo: https://github.com/muppet3000/homeassistant-growatt_server_api (see: !IMPORTANT NOTICE!).
I have also posted lots of information here: https://github.com/home-assistant/core/issues/100874#issuecomment-1739911377 a little while ago, so please can you take a look through that as well.


mv pipeline-code from refs/meta/ci:branch.cfg into default-branch

Move most contents from refs/meta/ci branch.cfg into default branch. Note that there is a corresponding change that should be done alongside of merging this pull-request (cannot be done via GitHub Pull-Request).

This PR proposes changes that would break the pipeline definition:
<invalid YAML>: found undefined alias 'ti_docker_images'
  in "<unicode string>", line 80, column 13:
            <<: *ti_docker_images
                ^

This PR proposes changes that would break the pipeline definition:
<invalid YAML>: found undefined alias 'ti_docker_images'
  in "<unicode string>", line 80, column 13:
            <<: *ti_docker_images
                ^

The pipeline-definition has been fixed.

The pipeline-definition has been fixed.

thank you, @gardener-robot-ci-3

this is the remaining branch.cfg we should use after merging this pull-request:
cfgs:
  default:
    branches: ['master']

  release-branches:
    branches: ['rel-.*', 'hotfix-.*']
    inherit:
      test-infra:
        jobs:
          release:
            traits:
              version:
                preprocess: 'finalize'
              release:
                nextversion: 'bump_patch'

@dguendisch @hendrikKahl : after merging this pull-request (and updating refs/meta/ci branch.cfg), I will create a second pull-request proposing change from GCR -> Artifact-Registry.
I think it should be easier to do those changes in two separate attempts.

https://github.com/gardener/test-infra/commit/4cc7ef4e570272e950c805503f8bebb6721f2574 updates the branch.cfg.


Support for new rule format

The LLVM backend should be updated so as to accept a new format for rules: https://github.com/kframework/k/issues/1945
There is already a PR up in the frontend set up to emit the new format: https://github.com/kframework/k/pull/2061
It just has to also be supported in the LLVM backend.

I'm trying the code in the pull request and it's failing on cases where the ensures clause does not exist in the code that I'm compiling. Is this expected? Is there an ensures in some other place that I'm not seeing? Here's the example that I'm working with...

Oh wait, I did kompile -v and I see that kompile includes several files like prelude.md and domains.md. It's likely that these include ensures


Multiple video player resizes on first load

After a from-scratch create-next-app and next-video init, embedding a video in the default next.js app home page results in a player that resizes twice.
Adding a width and height to the Video component did not help.

it's now possible to set a width or height on the Video component itself, or when the parent container has dimensions the Video component should expand to 100% width.
in the the default Next.js template if you replace the center image with our video component there will still be resizing like in the gif above because the parent doesn't have dimensions so the child's media content makes the video component resize.
first the poster image, (w/ preload=metadata) then first loaded video rendition (360p or so) and maybe 2nd loaded rendition (720p or so)


[ci skip] Remove atom-lint reference from README

I think it's a bit useless recommending this no longer active plugin. See https://github.com/atom/atom/issues/6867

Fine by me. Just capitalise the commit message to match our project conventions.

@bbatsov done

:+1:

:+1:


[Question] Armor Upgrade Configuration

Hello together!
I'm currently throwing together a modpack and I'd like to disable a few armor upgrade options of EIO in favor of items of other mods (looking at you, Botania and Thaumcraft!).
However, I can't seem to find any config entries for the armor upgrades that I wish to disable.
Am I right with my assumption that there's currently no way to configure them out of the game?
Best regards, Connery

Oh wow, I do need to practice reading through stuff properly.
Thanks a bunch for the help!

No problem, that config is huge. I try to keep in in a logical tree structure, but that doesn't always help.
Feel free to ask on our Discord if you need help with finding the IDs. Those are Forge Registry IDs like "enderio:tnt" and---as far as I know--not visible anywhere in-game.

Thanks for the hint!
I took a different approach and skimmed the sources, stumbling upon the upgrades folder eventually.
Each upgrade has its own class, thankfully, so I only needed to line them up with the prefix you provided me with.
Works like a charm now!
I'll make sure to add an entry to the wiki / PR :)


feat(rest-module): add support for includeAttachments param of search2

Checklist

[x] the contributor license agreement is signed
[x] commit message follows commit guidelines
[x] tests are included
[ ] screenshots are included showing significant UI changes
[ ] documentation is changed or added

Description of change

Short and simple, this updates the REST Module (oeq-ts-rest-api) to match the back-end changes for includeAttachments and attachmentCount.

Gah, of course. I only ran the tests for the REST module. :disappointed:

Just flaked on two known flakies:

com.tle.webtests.test.webservices.rest.ItemApiEditTest
com.tle.webtests.test.myresources.MyResourcesTest

Should be good to go once review done.


Update image dev-dependency

Update the image dev dependency to the current version. This no visible end-user impact.

Hi, thanks for tanking the time to bump it, but we'll have to hold off until it's time to increase the MSRV


load a weight file containing 77 layers into a model with 78 layers.

Hi, I encounter a problem when loading the weights of NNHDRNet.h5. It appears an error 'ValueError: You are trying to load a weight file containing 77 layers into a model with 78 layers.'
Can anyone help me?

the weight file was broken and I didn't have time to retrain it. Please pull the code and train from the beginning. Thanks!

Okay! Thanks!


Issue with aws_route53_zone lookup

Description
When performing a Terraform plan using this module for a Route 53 record with changes, the data source wants to perform changes. This causes the record to want to destroy and recreate itself.
# module.route53.data.aws_route53_zone.this[0] will be read during apply
  # (config refers to values not yet known)
 <= data "aws_route53_zone" "this"  {
      ~ arn                        = "arn:aws:route53:::hostedzone/Z0000000000000" -> (known after apply)
      ~ caller_reference           = "terraform-20200402162825661200000001" -> (known after apply)
      ~ comment                    = "Private Hosted Zone for my.domain.int" -> (known after apply)
      ~ id                         = "Z0000000000000" -> (known after apply)
      + linked_service_description = (known after apply)
      + linked_service_principal   = (known after apply)
      ~ name                       = "my.domain.int" -> (known after apply)
      ~ name_servers               = [
          - "ns-0.awsdns-00.com.",
          - "ns-1024.awsdns-00.org.",
          - "ns-1536.awsdns-00.co.uk.",
          - "ns-512.awsdns-00.net.",
        ] -> (known after apply)
      ~ resource_record_set_count  = 11 -> (known after apply)
      ~ tags                       = {
          - "Benefit"             = "Sometext"
          - "Cost_Centre"         = "Sometext"
          - "Description"         = ""
          - "Name"                = "my.domain.int"
          - "Owner"               = "Sometext"
          - "Project"             = "Sometext"
          - "Source_Account"      = ""
          - "Source_Account_Type" = ""
        } -> (known after apply)
      + vpc_id                     = (known after apply)
        # (2 unchanged attributes hidden)
    }

  # module.route53.aws_route53_record.this["my CNAME"] must be replaced
-/+ resource "aws_route53_record" "this" {
      + allow_overwrite = false
      ~ fqdn            = "my.domain.int" -> (known after apply)
      ~ id              = "Z0000000000000_my.domain.int_CNAME" -> (known after apply)
      ~ name            = "my.domain.int" -> (known after apply) # forces replacement
        # (4 unchanged attributes hidden)
    }

If the below line
name                             = each.value.name != "" ? (lookup(each.value, "full_name_override", false) ? each.value.name : "${each.value.name}.${data.aws_route53_zone.this[0].name}") : data.aws_route53_zone.this[0].name

Is changed with
name                             = each.value.name != "" ? (lookup(each.value, "full_name_override", false) ? each.value.name : "${each.value.name}.my.domain.int") : data.aws_route53_zone.this[0].name

The issue with the record wanting to destroy and recreate itself disappears. This because the name field is known after apply in the data lookup.
~ name                       = "my.domain.int" -> (known after apply)

I have tried to think of a way to fix this but can't come up with a nice way without requiring zone_name to be required as an input. This actually looks like it could be an issue with the TF provider.
If your request is for a new feature, please use the Feature request template.

[x] ✋ I have searched the open/closed issues and my issue is not listed.

⚠ Note
Before you submit an issue, please perform the following first:

Remove the local .terraform directory (! ONLY if state is stored remotely, which hopefully you are following that best practice!): rm -rf .terraform/
Re-initialize the project root to pull down modules: terraform init
Re-attempt your terraform plan or apply and check if the issue still persists

Versions

Module version [2.10.1]:

Terraform version:
1.0.2

Provider version(s):
hashicorp/aws v4.22.0

Reproduction Code [Required]
module "route53" {
  source = "git@github.com:terraform-aws-modules/terraform-aws-route53.git//modules/records?ref=v2.10.1"

  zone_id = local.hosted_zones[var.stage]
  private_zone = true

  records = [
    {
      name    = "${var.environment}-${var.service_name}"
      type    = var.record_type
      records = ["${module.create-windows-fsx.dns_name[0]}"]
      ttl     = var.record_ttl
    }
  ]

  depends_on = [
    module.create-windows-fsx.dns_name
  ]
}

Steps to reproduce the behavior:

No

Yes

Terraform init
Make the simplest change to a resource.
Terraform plan
Expected behavior
Route53 record resource not to be destroyed and recreated.
Actual behavior
Route53 record resource is destroyed and recreated.
Terminal Output Screenshot(s)
Haven't included as it reveals sensitive information.
Additional context

I don't understand what you created before running terraform plan. Have you previously created the same record successfully using the code you provided and it proposes to recreate it on the second run?
You can always use full_name_override variable and provide the record's complete name, including the domain.

Hi Anton,
Sorry for the confusion. Yes, the record has already been created, but when you make changes to another resource that the route53 record depends on it will be force destroyed.
Let me give you some sample code that you can work with and it'll hopefully clear things up.
Take:
module "route53" {
  source = "git@gitlab.ce.com.sss.int:cloud-engineering/terraform/registry-modules/aws/terraform-aws-route53.git//modules/records?ref=v2.10.1"

  zone_id = local.hosted_zones[var.stage]
  private_zone = true

  records = [
    {
      name    = "testrecord"
      type    = var.record_type
      records = ["asdf.ad.my.common.internal.records.int"] # Insert any record here...
      ttl     = var.record_ttl
    }
  ]

depends_on = [
    module.sg
  ]

}

module "sg" {
  source = "git::ssh://git@gitlab.ce.com.sss.int/cloud-engineering/terraform/registry-modules/aws/terraform-aws-security-group.git?ref=v4.3.0"

  name            = "my-route53-test-sg"
  use_name_prefix = false
  description     = "Testing Security Group"
  vpc_id          = "vpc-0000000000" # Insert yours here
  tags = merge(
    {
      "Name" = "my-route53-test-sg"
    }
  )

}

The depends on part is important here. Once you have applied the above code, if you make a simple change to the sg it'll force the lookup to be done on the zone_id again forcing the recreation of the route53 record. Use the below as an example:
module "route53" {
  source = "git@gitlab.ce.com.sss.int:cloud-engineering/terraform/registry-modules/aws/terraform-aws-route53.git//modules/records?ref=v2.10.1"

  zone_id = local.hosted_zones[var.stage]
  private_zone = true

  records = [
    {
      name    = "testrecord"
      type    = var.record_type
      records = ["asdf.ad.my.common.internal.records.int"] # Insert any record here...
      ttl     = var.record_ttl
    }
  ]

depends_on = [
    module.sg
  ]

}

module "sg" {
  source = "git::ssh://git@gitlab.ce.com.sss.int/cloud-engineering/terraform/registry-modules/aws/terraform-aws-security-group.git?ref=v4.3.0"

  name            = "my-route53-test-sg"
  use_name_prefix = false
  description     = "Testing Security Group"
  vpc_id          = "vpc-0000000000" # Insert yours here
  tags = merge(
    {
      "Name" = "my-route53-test-sg"
      "test" = "test"
    }
  )

}

You can see the apply plan here:
~/Documents/git_repos2/personal/route53-test  aws:()
❯ terraform-1.0.2 apply -var-file=vars/vars.tfvars
module.sg.aws_security_group.this[0]: Refreshing state... [id=sg-0123456678]
module.route53.aws_route53_record.this["testrecord CNAME"]: Refreshing state... [id=Z0123423599758_testrecord.dmi.dev.sss.int_CNAME]

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  ~ update in-place
-/+ destroy and then create replacement
 <= read (data resources)

Terraform will perform the following actions:

  # module.route53.data.aws_route53_zone.this[0] will be read during apply
  # (config refers to values not yet known)
 <= data "aws_route53_zone" "this"  {
      ~ arn                        = "arn:aws:route53:::hostedzone/Z0123423599758" -> (known after apply)
      ~ caller_reference           = "terraform-20200402162825661200000001" -> (known after apply)
      ~ comment                    = "Private Hosted Zone" -> (known after apply)
      ~ id                         = "Z0123423599758" -> (known after apply)
      + linked_service_description = (known after apply)
      + linked_service_principal   = (known after apply)
      ~ name                       = "my.dev.internal.records.int" -> (known after apply)
      ~ name_servers               = [
          - "ns-0.awsdns-00.com.",
          - "ns-1024.awsdns-00.org.",
          - "ns-1536.awsdns-00.co.uk.",
          - "ns-512.awsdns-00.net.",
        ] -> (known after apply)
      ~ primary_name_server        = "ns-0.awsdns-00.com." -> (known after apply)
      ~ resource_record_set_count  = 12 -> (known after apply)
      ~ tags                       = {
          - "Key"             = "Value"
          - "Key"         = "Value"
        } -> (known after apply)
      + vpc_id                     = (known after apply)
        # (2 unchanged attributes hidden)
    }

  # module.route53.aws_route53_record.this["testrecord CNAME"] must be replaced
-/+ resource "aws_route53_record" "this" {
      ~ fqdn            = "testrecord.dmi.dev.sss.int" -> (known after apply)
      ~ id              = "Z0123423599758_testrecord.dmi.dev.sss.int_CNAME" -> (known after apply)
      ~ name            = "testrecord.dmi.dev.sss.int" -> (known after apply) # forces replacement
        # (5 unchanged attributes hidden)
    }

  # module.sg.aws_security_group.this[0] will be updated in-place
  ~ resource "aws_security_group" "this" {
        id                     = "sg-0123456678"
        name                   = "my-route53-test-sg"
      ~ tags                   = {
          + "test" = "test"
            # (1 unchanged element hidden)
        }
      ~ tags_all               = {
          + "test" = "test"
            # (1 unchanged element hidden)
        }
        # (7 unchanged attributes hidden)
    }

Plan: 1 to add, 1 to change, 1 to destroy.

Do you want to perform these actions?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value:

Adding in your suggestion of full_name_override = true does fix this, I wasn't aware of this feature.
module "route53" {
  source = "git@gitlab.ce.com.sss.int:cloud-engineering/terraform/registry-modules/aws/terraform-aws-route53.git//modules/records?ref=v2.10.1"

  zone_id = local.hosted_zones[var.stage]
  private_zone = true

  records = [
    {
      name    = "testrecord.my.dev.internal.records.int"
      full_name_override = true
      type    = var.record_type
      records = ["asdf.ad.my.common.internal.records.int"] # Insert any record here...
      ttl     = var.record_ttl
    }
  ]

depends_on = [
    module.sg
  ]

}

module "sg" {
  source = "git::ssh://git@gitlab.ce.com.sss.int/cloud-engineering/terraform/registry-modules/aws/terraform-aws-security-group.git?ref=v4.3.0"

  name            = "my-route53-test-sg"
  use_name_prefix = false
  description     = "Testing Security Group"
  vpc_id          = "vpc-0000000000" # Insert yours here
  tags = merge(
    {
      "Name" = "my-route53-test-sg"
      "test" = "test"
    }
  )

}

❯ terraform-1.0.2 apply -var-file=vars/vars.tfvars
module.sg.aws_security_group.this[0]: Refreshing state... [id=sg-0123456678]
module.route53.aws_route53_record.this["testrecord.my.dev.internal.records.int CNAME"]: Refreshing state... [id=Z0123423599758_testrecord.my.dev.internal.records.int_CNAME]

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  ~ update in-place
 <= read (data resources)

Terraform will perform the following actions:

  # module.route53.data.aws_route53_zone.this[0] will be read during apply
  # (config refers to values not yet known)
 <= data "aws_route53_zone" "this"  {
      ~ arn                        = "arn:aws:route53:::hostedzone/Z0123423599758" -> (known after apply)
      ~ caller_reference           = "terraform-20200402162825661200000001" -> (known after apply)
      ~ comment                    = "Private Hosted Zone" -> (known after apply)
      ~ id                         = "Z0123423599758" -> (known after apply)
      + linked_service_description = (known after apply)
      + linked_service_principal   = (known after apply)
      ~ name                       = "my.dev.internal.records.int" -> (known after apply)
      ~ name_servers               = [
          - "ns-0.awsdns-00.com.",
          - "ns-1024.awsdns-00.org.",
          - "ns-1536.awsdns-00.co.uk.",
          - "ns-512.awsdns-00.net.",
        ] -> (known after apply)
      ~ primary_name_server        = "ns-0.awsdns-00.com." -> (known after apply)
      ~ resource_record_set_count  = 12 -> (known after apply)
      ~ tags                       = {
          - "Key"             = "Value"
          - "Key"         = "Value"
        } -> (known after apply)
      + vpc_id                     = (known after apply)
        # (2 unchanged attributes hidden)
    }

  # module.sg.aws_security_group.this[0] will be updated in-place
  ~ resource "aws_security_group" "this" {
        id                     = "sg-0123456678"
        name                   = "my-route53-test-sg"
      ~ tags                   = {
          + "test" = "test"
            # (1 unchanged element hidden)
        }
      ~ tags_all               = {
          + "test" = "test"
            # (1 unchanged element hidden)
        }
        # (7 unchanged attributes hidden)
    }

Plan: 0 to add, 1 to change, 0 to destroy.

Do you want to perform these actions?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value:

I think, I understand what you mean after all, but I don't have a better solution than using full_name_override = true.
Closing this issue.


Add chainID field to Node Status backend service

Currently, there is no way to understand from which network a Node Status backend service message was sent.
This is a problem when creating dashboards and ensuring the data is accurate and belongs to the correct network.
We need to have something similar to the Error Collection backend service where the chainID is one of the fields of the message.


Clarification on the NEO blockchain

The research reviews/overviews of other systems I find in the notes here are a bit off at times. For what it's worth, I thought I point things out regarding the NEO protocol:
The blockchain is running its mainnet version for two years now (not just testnet, however decentralization didn't take place yet either) and you don't necessarily need Visual Studio to generate code. E.g. the community provided a compiler from Python code to those bytecode files that you can upload to the chain (https://github.com/CityOfZion). Given that it has its own VM and isn't running e.g. JVM directly, the file I saw here outlining which chains have support for floats is also wrong - it doens't support it in any straightforward way.
Hope that helps and keep up the good work (dependent types shill here ;)

Thank you! Feedback of this sort is helpful.

@wadler Glad I can help.
As for functional languages projects, I know of a protocol startup (namely Zen protocol) working on top of the Bitcoin chain, who use F# and F* for smart contract, see
https://github.com/zenprotocol
I'm interested in another one that uses Scala (namels Constellation), see
https://github.com/Constellation-Labs/constellation
Personally, I'm interested in consensus/voting and dApps in that direction. I've also been toying with the idea of programmable smart contracts, e.g. on the NEO testnet I deployed a smart contract that stores and runs Turing tapes
https://github.com/Nikolaj-K/turing-complete-smart-contract
I'm also interested in Plutos, so let me know if you need support.

Thanks. Once Plutus is released, we'll be looking for early adopters.
Cheers, -- P
.   \ Philip Wadler, Professor of Theoretical Computer Science,
.   /\ School of Informatics, University of Edinburgh
.  /  \ and Senior Research Fellow, IOHK
. http://homepages.inf.ed.ac.uk/wadler/
Too brief? Here's why: http://www.emailcharter.org/
On Fri, 31 Aug 2018 at 14:40, Nikolaj Kuntner<EMAIL_ADDRESS>wrote:

@wadler https://github.com/wadler Glad I can help.
As for functional languages projects, I know of a protocol startup (namely
Zen protocol) working on top of the Bitcoin chain, who use F# and F* for
smart contract, see
https://github.com/zenprotocol
I'm interested in another one that uses Scala (namels Constellation), see
https://github.com/Constellation-Labs/constellation
Personally, I'm interested in consensus/voting and dApps in that
direction. I've also been toying with the idea of programmable smart
contracts, e.g. on the NEO testnet I deployed a smart contract that stores
and runs Turing tapes
https://github.com/Nikolaj-K/turing-complete-smart-contract
I'm also interested in Plutos, so let me know if you need support.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/input-output-hk/plutus-prototype/issues/61#issuecomment-417667329,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEqfspHcClcRq0Y6VJabHrVB9ciqB5GGks5uWTy4gaJpZM4WUXiJ
.

The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.

Thanks. Once Plutus is released, we'll be looking for early adopters.

Any news on this? I'd like to write something with Plutus.

@SamuraiJack I'm the guy who opened the ticket and so I see you replying.
On a related note - if you're interested in purely functional more exotic languages - last week I saw a talk on this posted on the LamdbaWorld youtube channel
http://unisonweb.org/posts/

next-generation programming platform, currently in development

@Nikolaj-K Thanks, Unison looks cool. Resembles Transient, may be even inspired by it? Done right, can be a natural language for distributed apps.
Though, I'm currently interested in something that is already usable, to get my hands dirty with the crypto/blockchain tech, thus question about Plutus.


Image selector menu not opening on android device

I have a react app that I'm using this plugin with. This is displayed within a webview on android and ios devices. iOS opens the context menu to select an image when firing 'onImageUpload', however nothing happens when I fire the function on android. Any help?

Did you resolve this? I have the same problem?

I have the same problem. may you due with it?

Did you resolve this? I have the same problem?


NIFI-6846: If an Exception is thrown while a Processor is writing to …

…a FlowFile, but that Content Claim is not yet eligible for destruction, mark it as a transient claim on the RepositoryRecord so that if it's available when the FlowFile Repository is checkpointed, then it will be cleaned up then
Thank you for submitting a contribution to Apache NiFi.
Please provide a short description of the PR here:
Description of PR
Enables X functionality; fixes bug NIFI-YYYY.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[ ] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[ ] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[ ] Has your PR been rebased against the latest commit within the target branch (typically master)?

[ ] Is your initial contribution a single, squashed commit? Additional commits in response to PR reviewer feedback should be made on this branch and pushed to allow change tracking. Do not squash or use --force when pushing to allow for clean monitoring of changes.

For code changes:

[ ] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[ ] Have you written or updated unit tests to verify your changes?
[ ] Have you verified that the full build is successful on both JDK 8 and JDK 11?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[ ] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.

Will review...

Thanks @markap14! This has been merged to master.


Support netbsd-amd64

title self explainatory

Added in v0.0.4. Would you try and check if it works?

Yep, works now. Thanks!


Underline Functionality Addition

Would is be possible to request  underline button for this text editor?
Thanks

@JohnWeidmann Yep. You can register a new text attribute in Trix.

Here's how text attributes are defined in Trix itself: https://github.com/basecamp/trix/blob/main/src/trix/config/text_attributes.js#L30-L33
You'd have to add your custom text attribute after Trix boots (like this and this)
Then, you'd have to either add your own toolbar or hook into the Trix initialization process (like this) and insert your new button into the text attributes (like this). I'd recommend using the <u> tag for that (mdn docs), but you need to style as underline via CSS to ensure all browsers render it the same way.

I'll cover this as a blog post soon, it's a nice example. Thanks!


Added TextBoxCharactersEnteredBehavior

This behavior triggers its actions when a specified number of characters is entered in the attached TextBox control.
Useful for scenarios like automatic validation of verification code when the n-digit code is entered.

Adding an InvokeCommandAction or CallMethodAction to handle is easy for both MVVM and non-MVVM solutions

Can be used as such:
<interactivity:Interaction.Behaviors>
    <behaviors:TextBoxCharactersEnteredBehavior CharacterCount="6">
        <core:InvokeCommandAction Command="{Binding VerifyCommand}" />
    </behaviors:TextBoxCharactersEnteredBehavior>
</interactivity:Interaction.Behaviors>

I am not sure of the use case for this. Could you tell me one?

Say we use an OTP (One Time Pin) for verification of an account/user.
We send the user an SMS to verify his mobile, or an email to verify his email address, and wait with an input prompt for him to enter. On the phone, if we know the number of digits/characters an OTP has, we don't even have to wait for him to press the Submit button, we can automatically start processing his input the moment he enters the n characters into the TextBox.
Or take an example of a TextBox expecting a credit card number to be input.

If there is one text box, as soon as the 16 characters/digits are entered, it can be processed to see if it is a valid credit card, without any interaction from the user like moving focus to another control, or clicking a button, or moving focus out of this control.
If there are a group of 4 text boxes, each expecting 4 characters (digits), as soon as 4 characters are entered in the one, the focus can be moved to the subsequent textbox, whereby for the user it is a seamless experience of typing in a full number. Also, once the last textbox is filled with the 4 characters (digits), the focus can be moved to the "date" field while simultaneously validating the credit card.

For a visual (here the card type is checked upon entering the first few characters, a space is added after every 4 characters, and a validation is done upon entering the full number):

Very nice explanation. Thank you. But this behavior is already possible simply by using the ConditionalAction already in T10. Set the conditional action to TextBox.Text.Length/EqualTo/4 with a nested InvokeAction. This may not be a necessary new behavior to add. Do you think?

Um I have to admit that I wasn't aware of Condition Action's several usages. I have so much to learn...
The solution you are referring to uses EventTriggerBehavior with EventName="TextChanged" with ConditionalAction right? I just read the Wiki entry on Conditional Action and this is what I could come up with.
I think this behavior more clearly explains the case, but it's your call whether it should be added as a separate behavior to Template10. It's just one for convenience I guess :)

A realeted question, can Behaviors and Actions not rest in separate namespaces?

Perhaps we will rev T10 and change some namespaces. But for the sake of SIMPLE it's an easy single place for developers using T10 to find behaviors and actions (which are brothers after all).

Is SIMPLE some acronym that I don't know? Please illuminate


Applying same perf tweak as have done in std::char::to_digit.

Good day to you Squirrel!  Performance enhancements are welcome.  This request is being reviewed.  Previous tests of uint-crate have shown perfomance bottlenecks in functions involving multiplication.  More tests and benchmarks to be run on tetsy

This is worth 10,000 Vapors, however, Squirrel’s Vapory address is not posted here.  In the event that is was currently posted, there is no app or site that a person could go to track this or other significant improvements to the platform.  I propose we create a Tetcoin and/or Vapory specific model for the community where users can contribute to bounties, grants, hackathons and such, in a decentralized manner.

@andres-roman if you point me at how to create an address I can try creating a wallet.

@gilescope - https://github.com/vaporyco/go-vapory + https://crates.io/crates/vapkey + https://vapory.js.org provide ways to generate vapory addresses.

@andres-roman - you are right, we should already have that in place.  You are now part of Cryptomisa.  We are within 1000 commits of getting Tetsy Vapory operational for its first test run.  Tetsy Vapory is strongly favored over cpp-vapory as it provides a much safer way to build, grow, and experiment on the Vapory Network.  This event also means that the framework for a more conventional block explorer than what currently exists on Vapory Flavored Web3.  The selected codebase will allow you to build it on the Vapory Network.  On top of Tetcoin and Vapory, Payshares, Litetokens, Divvy, Amontes, and Czarcoin should also be included in the platform.


Cannot be disabled SSL certificate revocation check

A cargo option mentioned in the comment does not work on the cargo nightly as follows:
PS > Set-Item env:CARGO_HTTP_CHECK_REVOKE -Value false
PS > cargo install rustfmt-nightly
    Updating registry `https://github.com/rust-lang/crates.io-index`
Downloading rustfmt-nightly v0.2.17
error: [35] SSL connect error (schannel: next InitializeSecurityContext failed: Unknown error (0x80092013) - �����T�[�o�[���I�t���C���̂��߁A�����̊֐��͎������m�F�ł��܂���ł����B)

However, this option works correctly on the stable version of cargo.
The option, that is prepared to be work at here, seems to be reset by this code.
The both environments are as follows:
nightly
PS > rustc -Vv
rustc 1.24.0-nightly (8503b3ff8 2017-12-04)
binary: rustc
commit-hash: 8503b3ff822c1ed01c89773d30e4e10b886d77a5
commit-date: 2017-12-04
host: x86_64-pc-windows-msvc
release: 1.24.0-nightly
LLVM version: 4.0

PS > cargo -Vv
cargo 0.24.0-nightly (5bb478a51 2017-11-29)
release: 0.24.0
commit-hash: 5bb478a518bcf75537409e8b71f6b7cc4af362df
commit-date: 2017-11-29

stable
PS > rustc -Vv
rustc 1.22.1 (05e2e1c41 2017-11-22)
binary: rustc
commit-hash: 05e2e1c41414e8fc73d0f267ea8dab1a3eeeaa99
commit-date: 2017-11-22
host: x86_64-pc-windows-msvc
release: 1.22.1
LLVM version: 4.0

PS > cargo -Vv
cargo 0.23.0 (61fa02415 2017-11-22)
release: 0.23.0
commit-hash: 61fa02415ee1bc17a0c364c1c67107953d04ea87
commit-date: 2017-11-22

Thanks for the report, definitely seems like a bug! T oconfirm though, this is only on nightly? Or also on stable/beta?

Thanks for your reply. It occurred only on the nightly, though I did not tested it on the beta.

Ok no worries! Looks like this logic is indeed on beta, so we'll need to backport the fix.


Set up periodic tests that check that button is injected into GitHub

Set up daily periodic tests that check that the 'Dev Spaces' button is correctly being injected.
This can possibly be done with a GitHub action/workflow.

Duplicate of https://github.com/redhat-developer/try-in-dev-spaces-browser-extension/issues/62


Implement deployment to Github Pages

GitHub pages publishing

Deployment enabled, site's live at https://www.phalanx.tools <3


Clarification on CrateDB resiliency and wait_for_active_shards = 1

@chicco785 As the related PR #384 is already closed and locked (sorry for the delay), I'd like answer your (still open?) questions about CrateDB's resiliency, in detail about wait_for_active_shards = 1, here.

one thing we'd like to understand though is if wait_for_active_shards = 1 could result in a situation where Crate won't accept any further writes to a table and the only way out of that is to manually alter the table settings.

The wait_for_active_shards value only affects table (or partition) creation and is not (directly) affecting writes.
In case of a partitioned table, new partitions are created on-fly taking this setting into account and such this setting will partly affect writes here. If not all defined N shards for this new partition are active, the write will stall until the replica becomes active or an internal timeout of 30s is reached. Thus writes get slow if e.g. the setting is set to > 1 and replica shards are unassigned/unreachable due to a missing node.
As @amotl already pointed out:
To avoid such slow writes (and possible data loss due to missing replicas ) when write_for_active_shards is set to >1 while doing a rolling upgrade, cluster.graceful_stop.min_availability should be set to full and nodes must be shutdown gracefully . By doing so, it is ensured that primary and replica shards are moved away from the to-shutdown node before the node will stop.

Here's the scenario:

A node N1 holds a primary shard S with records r[1] to r[m + n].
Another node N2 holds S's replica shard, R, with records r[1] to r[m], i.e. n records haven't been replicated yet.
N1 goes down.
Crate won't promote N2 as primary since it knows R is stale w/r/t S.

The only way out of the impasse would be to manually force replica promotion.

As described above, this scenario is not related to the write_for_active_shards but to how resiliency of writes is achieved in general.
On a write operation, the response to the client will only be sent (acknowledged) once all active replica shards responded (or timed out), so writes are either successful (all shards succeeded) or failed (one or multiple shards failed).
In your scenario, the write is only treat as successful and such responded to the client successfully, if N2 also has records  r[1] to r[m + n].
In case N1 goes down before  the operation was successfully done on the replica shard at N2, the write will return to the client as a failure and such is not treat as a valid write -> no stale replica, acknowledge writes are r[1] to r[m]. The replica shard on N2 will be promoted as the primary with r[1] to r[m].
If N1 comes back online, it will recognize that N2 has a valid (newer, more recent promoted) primary shard of r[1] to r[m] and won't promote its own shard as a primary but step down instead and may use its shard as a replica (and sync possible missed operations from the new primary).
See also https://crate.io/docs/crate/reference/en/4.3/concepts/storage-consistency.html, https://crate.io/docs/crate/reference/en/4.3/concepts/resiliency.html and https://crate.io/docs/crate/reference/en/4.3/appendices/resiliency.html

@seut wow, thank you so much for the detailed explanation, you're a superstar :-)
just a couple of questions if you still have time to spend on this. I haven't had the time to eyeball the reference docs you mentioned, if the answer to my questions is there, don't bother replying w/ a detailed answer, I'll look it up myself :-)

If N1 comes back online, it will recognize that N2 has a valid (newer, more recent promoted) primary shard of r[1] to r[m]

What's the fate of records r[m+1], ..., r[n] in this case? Will they be lost or still recoverable?
The other question I have is: what kind of sequence of events could result in Crate freezing a table so that you would have to manually force replica promotion? Is this how I could recover records r[m+1], ..., r[n]?

@c0c0n3
I was wrong in my description, apologize. I've updated my original comment to avoid confusions instead of adding a correction. This updated description should clarify your open questions.

@seut no need to apologise! and thank you a stack for the update, that answers all my questions!

@seut thanks, we will add this information in the faqs


Incorrect link to "auth settings"

In the "Configure Supabase Auth" section the link to "auth settings" is incorrect. It should be:
https://app.supabase.com/project/:project-id/auth/url-configuration

and then you scroll down to "Redirect URLs".

Thanks! https://github.com/vercel/nextjs-subscription-payments/pull/156


website not work on iPhone XS

This issue has been properly fixed in https://github.com/udu3324/PNGskin/commit/8d6873422be738a3f42367b1063fc20ebb132fcb


Does version 3.0 Fragment have to be from AndroidX？

Does version 3.0 Fragment have to be from AndroidX？
Since my other libraries still use "support.v4", does that mean I won't be able to use version 3.0?
If version 3.0 is only available for "AndroidX", will non-androidx update?

The main difference between RxLifecycle 2.2.2 and RxLifecycle 3.0.0 is that 3.0.0 uses AndroidX. If you cannot use AndroidX yet, then continue to use 2.2.2.
When you are ready to update to AndroidX, you can read more on that here: https://developer.android.com/jetpack/androidx/migrate


fix: dockerfile main.go

🤔 This is a Bug fix
🔗 Related issue link
no related issue link
💡 Background and solution
build docker file
📝 Changelog
fix for dockerfile content
☑ Self-Check before Merge
⚠ Please check all items below before review. ⚠

[ ] Doc is updated/provided or not needed
[ ] Demo is updated/provided or not needed
[ ] TypeScript's definition is updated/provided or not needed
[X] Changelog is provided or not needed

check


Deploy API to server

Feature Request
Feature description

Deploy API to server using gunicorn and nginx

Examples

API should be accessible on server endpoint `https://<IP_ADDRESS>/v1/`

Requirements

Deploy API using gunicorn and nginx: https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-gunicorn-and-nginx-on-centos-7
Secure nginx server with let's encrypt: https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-centos-8

This was required: https://stackoverflow.com/questions/48799746/nginx-permission-denied-to-gunicorn-socket-on-centos-7

API deployed.
Endpoints available at https://clearskyfinder.com/v1/


New signature for Object.partial to exclude certain keys (opposite mask)

partial<Mask extends {
        [k in keyof T]?: true;
    }>(mask: Mask): ZodObject<objectUtil.noNever<{
        [k in keyof T]: k extends keyof Mask ? ZodOptional<T[k]> : T[k];
    }>, UnknownKeys, Catchall>;

Right now it's possible to provide a mask to Object.partial() to apply it only to certain keys.
I would like to be able to also do the opposite: make all properties optional except the provided ones.
Basically the additional signature would have Mask extends { [k in keyof T]?: false } instead of true.
Obviously you can't mix true and false because it would make no sense.

See https://github.com/colinhacks/zod/pull/2234


How to write log?

Q
A

Bug?
no

New Feature?
no

Version
Specific version or SHA of a commit

Actual Behavior
What is the actual behavior?
write log for request and response.
Expected Behavior
What is the behavior you expect?
How to write log for request and response?

You could use the log middleware with a PSR-3 implementation or write your own if you have special needs:
https://github.com/guzzle/guzzle/blob/master/src/Middleware.php#L186


Use Vec::resize

On line https://github.com/cybergeek94/buf_redux/blob/07bc5f90bb7ead27853f86349a6a999c7e931229/src/lib.rs#L129 you can use vec.resize instead, to grow & fill by zeros. It generates much better code.

Oh, since this is used in new/with_capacity, it should speed up initial creation of the buf reader pretty significantly.

I don't like .resize() because it uses .reserve() internally, which allocates in powers of two. That's great for frequent growth but it seems too greedy in this case. Calling .shrink_to_fit() afterwards is even more wasteful as it requires another reallocation.
If the iterator-based zeroing isn't generating good code, we can manually lower to a call to .set_len() and ptr::write_bytes() at the cost of adding more unsafe blocks.

Or is getting rid of the powers-of-two allocation totally misguided?

There's just a small misunderstanding: reserve only allocates if you need more space -- since you reserve enough upfront you are fine. .extend() will use reserve as well, yet it does nothing in this case for the same reason.

See, that's the part I missed. Yeah, sounds fine to me. I'll patch it in right now.

FIxed in 0.1.3


Data Loader Tests

BUG DESCRIPTION
Problem
According to the contributing doc:

All pull requests must implement tests of the changes implemented prior to being merged.

Tests were not implemented for PR #55.
There was also some discussion of our documented processes not allowing for alternate paths to implementing tests.
Steps to reproduce

Run the tests associated with the changes in PR #55

Current behavior
The following tests were implemented:

Successful load of DataRepo/example_data/obob_maven_6eaas_inf.xlsx
Successful load of DataRepo/example_data/obob_maven_c160_inf.xlsx

Expected behavior
There should be a test for each requirement listed in issue #45.
Suggested Change
Write tests for each of the requirements in the issue:

[ ] xlsx file (accucor format, required) test that supplying the wrong file type or no file fails
[ ] date required test that fails when no date supplied
test that protocol can be either an integer (protocol.id) or name, and is required

[ ] test supplying protocol name succeeds
[ ] test that supplying protocol ID succeeds
[ ] test that not supplying a protocol fails

[ ] researcher name test for failure when no name supplied (#67)
[ ] sample names are unique with the file supply a file with a duplicate sample name & test for failure (#66)
[ ] sample names must already be in the database test for failure with a sample name not in the DB
[ ] compound labels must already be in the database test for failure with a compound not in the DB

Comment
There is no accommodation in the contrib doc for implementing tests after a PR is merged.  I feel that this is intentional because otherwise, testing often falls by the wayside.  No one likes to write tests, so no one is going to opt to take those issues.  There are always more important/interesting tasks to be done, however, not implementing tests can quickly lead to an endless and rigorous maintenance cycle.  Personally, I don't think that we should build in a mechanism for putting test creation off.  Even if we "know" right now that the code "works" - we don't know if it will work in the future if something changes.
I have changed this issue to a bug because skipping test implementation is a bug as it relates to the process we decided to adhere to, and will lead to problems down the road.  In my experience with software engineering, we were taught that bugs can be introduced in every phase of a project: planning, requirements gathering, design, implementation, and testing.  This issue spans planning, design, implementation, and testing.

ISSUE OWNER SECTION
Assumptions

List of assumptions made WRT the code
E.g. We will assume input is correct (explaining why there is no validation)

Requirements

List of conditions to be met for the feature
E.g. Every column/row must display a value, i.e. cannot be empty

Limitations

A list of things this work will not fix
E.g. Getting edge case X to work requires too much effort and will not be
fixed in this effort.

Affected/Changed Components

Files
Environment variables
External executables
Database tables
Cron job settings
Etc.

DESIGN
GUI Change description
Describe changes the user will see.
Code Change Description (Pseudocode optional)
Describe code changes planned for the fix.
Tests
A test should be planned for each requirement (above), where possible.
FEATURE DESCRIPTION
Feature Inspiration
Feature Description
A brief description of what the feature should do (not how it will be done -
for that, jump down to the Code Change Description section below to make
suggestions).
Alternatives Considered
A brief description of any alternative features that may accomplish the same
ultimate goal.
Comment
Add any other context or screenshots about the feature request here.

ISSUE OWNER SECTION
Assumptions

List of assumptions made WRT the code
E.g. We will assume input is correct (explaining why there is no validation)

Requirements

List of conditions to be met for the feature
E.g. Every column/row must display a value, i.e. cannot be empty

Limitations

A list of things this work will specifically not do
E.g. This feature will only handle the most frequent use case X

Affected/Changed Components

Files
Environment variables
External executables
Database tables
Cron job settings
Etc.

DESIGN
GUI Change description
Describe changes the user will see.
Code Change Description (Pseudocode optional)
Describe code changes planned for the feature.
Tests
A test should be planned for each requirement (above), where possible.

This issue is redundant to existing loader test issues for the loader refactor.


Implement local database

Fix #47
#58 should be merged first. #55 was merged into this branch.
WIP.
ToDo:

[x] Env var to select firebase / local
[x] Seed file (local_database/seed.json) to copy on local_db.json creation
[ ] Update README with instructions (the README needs a full rewrite, we can leave it for another PR if needed)

Moving the task to update the readme to a new issue #60 to approve and merge this one.


mapping for denoland/dnt

Hi, I'm trying to convert my first NodeJS project to deno.
EvenEmiter is a very common NodeJS feature, and I do not know how to convert event usage to NodeJS code with dnt.
Do you know how to do that?
dnt issue

issue solved
with the dnt config:
await build({
    entryPoints: ["./mod.ts"],
    outDir: "./npm",
    shims: {
      deno: true,
      webSocket: true,
      undici: true,
      custom: [
        {
          package: {
            name: "stream/web",
          },
          globalNames: ["ReadableStream", "TransformStream"],
        },
        {
          globalNames: [ {name: "MessageEvent", typeOnly: true} ],
          package: {
            name: "ws",
          },
        }
      ],
    },
    compilerOptions: {
      lib: [ "dom", "esnext" ],
    },
...


part of backporting the fix to the label include processing

part of https://github.com/kiali/kiali/issues/6778

I assume the "part of backporting" meant it needs to go to master first...

yes


ReactCompositeComponent: injectEnvironment() can only be called once.

I encountered this error when using react-test-renderer.
Any idea how it can be fixed?

I figured that your package is set to use enzyme instead of react-test-renderer.

FYI, I used react-native-mock with react-addons-test-utils from file env.js. If you want to use with react-test-renderer, you can add this code jest.mock('react-addons-test-utils'); to env.js.
More about this error, you can find in https://github.com/facebook/jest/issues/1353
Thank you.

You are using locally cached version of react-native-mock, which doesn't work with latest react-native. I changed the mock in env.js
jest.setMock('react-native', require('react-native-mock/src/react-native'));
Which makes it work.

I updated to latest react-native-mock version. You should rerun npm i react-native-babel-jest.
Thanks!

Cool Thanks!
I think in your examples you should include an example of snapshot testing using enzyme-to-json. Someone looking to use snapshot testing will know that they don't need react-test-renderer.

Thank you,
I'm doing it now.


INS-3687: disable netsplit test

Good attempt, but no. This test is intentionally enabled to bother everyone until the platform will be fixed accordingly.


Prevent badge revoke status change of endaoment projects from lack of updates

Typically when a project does not a provide an update in a certain time frame we change its revoked status, eventually after a while of not posting updates the project moves to a "ready to revoke" status, indicating it as eligible to have its verified badge revoked by the project support team.
Since Endaoment projects won't be able to provide updates we should prevent this behaviour for those projects. Endaoment projects should not have their  "ready to revoke" or verification status changed from not providing updates
AC

[ ] endaoment projects don't have their status changed from not providing updates
[ ] regular projects still have their status changed from not providing updates

@divine-comedian We do these actions on staging:

After 45 days: Send notification to warn about adding project update
After 90 days: Send notification in order to last warning about adding project update
After 104 days: Change status of project to Up For Revoke so Ashley review them and make them unverufued

Yes we can change them for staging ENV, please tell me to change days to what you want

@divine-comedian We do these actions on staging:

After 45 days: Send notification to warn about adding project update
After 90 days: Send notification in order to last warning about adding project update
After 104 days: Change status of project to Up For Revoke so Ashley review them and make them unverufued

Yes we can change them for staging ENV, please tell me to change days to what you want

Let's change only the first warning notification to 10 minutes - we should assume that even the first notification should never be fired for these projects so let's limit the changes to only this first one.

@mohammadranjbarz what is the update on this remaining issue?

@mohammadranjbarz what is the update on this remaining issue?

We just can set days, so the minimum time that I could set is 1 day, I did it now

@LatifatAbdullahi to test this issue - we should check on the staging admin panel and ensure for endaoment projects that the Verified Status should be empty/null

@divine-comedian @mohammadranjbarz
The "Verification status" for Endaoment projects is empty/null


Failure fix for flat_file_log_audit_riverbed.stdout.conf file

Description
Failure fix for flat_file_log_audit_riverbed.stdout.conf file

Badal, could you create an upto date branch and then make the changes for "flat_file_log_audit_riverbed.stdout.conf" file. This PR includes all the commits I made for nested notation changes and does create conflicts.

Closing in favour of #197


Remove Cypress remaining tests/files

Reference Issues or PRs
closes #2337

What does this implement/fix?
Put a x in the boxes that apply

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds a feature)
[ ] Breaking change (fix or feature that would cause existing features not to work as expected)
[ ] Documentation Update
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no API changes)
[ ] Build related changes
[ ] Other (please describe):

Testing

[ ] Did you test the pull request locally?
[ ] Did you add new tests?

How to test this PR?

Any other comments?

This was closed due to a conflict with my fork branch that was too old, to keep a somewhat cleaner git history I've closed this one.


Calling time.Unix() with env TZ=UTC and found the time.Time result had a non nil location.
What did you see happen?
Location is expected to be nil for UTC and this differs from all other handling of time values in the package.  It cause some confusion + required comparison changes for testing.  The dates are equivalent but in an inconsistent format.
What did you expect to see?
According to notes in time.go, I was expecting the location to be nil.
	// loc specifies the Location that should be used to
	// determine the minute, hour, month, day, and year
	// that correspond to this Time.
	// The nil location means UTC.
	// All UTC times are represented with loc==nil, never loc==&utcLoc.
	loc *Location

The Unix function should be using setLoc to set location.

Duplicate of #19202 #19486


Include https:// in PR link

Stack:

#155
#156
#154
#153
#152
#151
#150
#149
#148 ⮜
#147

This allows terminals to make it highlighted and clicky.

⚠ Part of a stack created by spr. Do not merge manually using the UI - doing so may have unexpected results.

✓ Commit merged in pull request #156


The cleanup scripts do not work on Ubuntu

When trying to run the deploy script in cleanup mode, I am having the error shown in the image bellow.

The error is in the following lines:
https://github.com/smart-edge-open/open-developer-experience-kits/blob/17d8dff4fc73a4019db850dd5d4dbca28a89bf80/roles/kubernetes/install/tasks/uninstall.yml#L42-L46
As you may notice, the error is clear: the playbook is trying to uninstall the package using yum. However, I am using Ubuntu :)

this will be fixed or removed in the next release.  at this moment, please try delete action_plugins/yum.py and uninstall.yml