Iconv Compilation Error

Because I used the Windows Iconv, Iconv cannot compile on Linux.
I will need to either find a compilable libiconv or divide windows lib and linux lib.

Problem fixed temporarily 63c263ae581198aaa652b1b26c74821f4facb8ea


test:add container create test

Signed-off-by: Dewey-Ding<EMAIL_ADDRESS>
Ⅰ. Describe what this PR did
add container create test
Ⅱ. Does this pull request fix one issue?

Ⅲ. Describe how you did it
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #1106 into master will increase coverage by 0.86%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #1106      +/-   ##
==========================================
+ Coverage    15.8%   16.67%   +0.86%
==========================================
  Files         163      165       +2
  Lines        8793     8894     +101
==========================================
+ Hits         1390     1483      +93
- Misses       7300     7306       +6
- Partials      103      105       +2

Impacted Files
Coverage Δ

client/container.go
0% <ø> (ø)
:arrow_up:

client/container_create.go
100% <100%> (ø)

client/client.go
28.57% <0%> (-10.83%)
:arrow_down:

cli/command.go
0% <0%> (ø)

pkg/utils/utils.go
78.15% <0%> (+3.15%)
:arrow_up:

pkg/kernel/kernel.go
80% <0%> (+7.27%)
:arrow_up:

You can refer to similar mock test, such as 'network create' and 'volume create'.

Well done! LGTM


Does this api also work for Belgian customers of essent?

I'm wondering if I could use this project to gather data from my energy supplier since I've also Essent at home. The only difference is I live in belgium :p

I honestly have no clue, I didn't even know Essent was in Belgium too!
Could you try changing API_BASE from https://api.essent.nl/ to https://api.essent.be/ in https://github.com/TheLastProject/PyEssent/blob/master/pyessent/pyessent.py#L9.
Then follow the instructions in the README and report back with the output (censoring possibly private info)?

I'm afraid that didn't work.
The following json is send to https://sso.essent.be/am/json/authenticate when you log in :
{"authId":"eyAidHlwIjogIkpXVCIsICJhbGciOiAiSFMyNTYiIH0.eyAib3RrIjogIjVkZHE5MzdxYm5rbGpqOGthMmdibmlrYm01IiwgInJlYWxtIjogIm89ZXNzZW50YmUsb3U9c2VydmljZXMsZGM9ZXNzZW50LGRjPWl3ZWxjb21lLGRjPWNvbSIsICJzZXNzaW9uSWQiOiAiQVFJQzV3TTJMWTRTZmN3eGhuVDFYXzh2dXJ4UjNMdFFqRTlJMHZ2bDBqR1Y2eU0uKkFBSlRTUUFDTURJQUFsTkxBQk15TkRVNU1UVTBPVE0yTkRFMU9ERTNOVEF5QUFKVE1RQUNNREUuKiIgfQ.MUdNQf-WEXQjAfAPvCde92lbXUSolHKcLKztPgNWFQg","template":"","stage":"LDAP1","header":"Sign in to OpenAM","callbacks":[{"type":"NameCallback","output":[{"name":"prompt","value":"User Name:"}],"input":[{"name":"IDToken1","value":"email"}]},{"type":"PasswordCallback","output":[{"name":"prompt","value":"Password:"}],"input":[{"name":"IDToken2","value":"password"}]}]}
I wrote the following test script :
from pyessent import PyEssent

print('Hello World!')
essent = PyEssent(username='email', password='password')
for ean in essent.get_EANs():
    essent.read_meter(ean)

And when executing I get the following output :
File "test.py", line 4, in <module>
    essent =<EMAIL_ADDRESS>password='Kurt8930')
  File "C:\Users\DavidClaeys\source\repos\PyEssent\PyEssent\pyessent\pyessent.py", line 114, in __init__
    PyEssent.User.authenticate_user(username, password)
  File "C:\Users\DavidClaeys\source\repos\PyEssent\PyEssent\pyessent\pyessent.py", line 105, in authenticate_user
    data=request_xml.format(username, password, str(get_contracts).lower()))
  File "C:\Python27\lib\site-packages\requests\sessions.py", line 581, in post
    return self.request('POST', url, data=data, json=json, **kwargs)
  File "C:\Python27\lib\site-packages\requests\sessions.py", line 533, in request
    resp = self.send(prep, **send_kwargs)
  File "C:\Python27\lib\site-packages\requests\sessions.py", line 646, in send
    r = adapter.send(request, **kwargs)
  File "C:\Python27\lib\site-packages\requests\adapters.py", line 514, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='sso.essent.be', port=443): Max retries exceeded with url: /am/json/authenticate/selfservice/user/authenticateUser (Caused by SSLError(SSLError(1, u'[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:726)'),))

Hmm, interesting. I wonder if the API is the same after login, but login already being JSON instead of XML doesn't seem hopeful.
If you manage to get login to work for the Belgium API it may be worth seeing if the rest of the API is similar to the Dutch one. Or just browse around the portal with your browser and see if that does XML requests in the network tab of developer tools.

The Belgian version seemse to use json instead of xml. It's probably another API.
Is there a chance the library can be expanded in order to work with both API's ?
I haven't got to much experience in python but I'm willing to help out.
https://prod.nova.essent.be/nova-crm/Api/V8_Custom/List/ConditionalMessages :
{
    "status": 200,
    "data": {
        "settings": {
            "title": "We hebben nieuws voor jou",
            "displayFooter": false,
            "actionData": {
                "parentId": "E7B1BEA7-E8A0-4FAD-9991-84853CF74A4F"
            },
            "responsive": false
        },
        "topBar": false,
        "headers": [
            {
                "label": "",
                "colSize": null,
                "cellType": "list_action_cell",
                "cellLines": {
                    "line1": false,
                    "line1CsvHeader": "",
                    "line2": false,
                    "line2CsvHeader": "",
                    "line3": false,
                    "line3CsvHeader": ""
                }
            },
            {
                "label": "",
                "colSize": null,
                "cellType": "list_simple_two_liner_cell",
                "cellLines": {
                    "line1": true,
                    "line1CsvHeader": "",
                    "line2": false,
                    "line2CsvHeader": "",
                    "line3": false,
                    "line3CsvHeader": ""
                }
            }
        ],
        "rows": [
            {
                "id": "e88c0e28-62a4-eb9d-4b9a-59b6978215b4",
                "cells": [
                    {
                        "type": "list_action_cell",
                        "class": "cell__action",
                        "options": {
                            "action": {
                                "id": "navigate_to_myessent_invoices",
                                "recordId": "E7B1BEA7-E8A0-4FAD-9991-84853CF74A4F",
                                "recordType": "Accounts",
                                "listKey": "ConditionalMessages"
                            },
                            "label": "",
                            "icon": "icon-credit",
                            "clickable": true,
                            "params": [],
                            "linkTo": ""
                        },
                        "cellLines": {}
                    },
                    {
                        "type": "list_simple_two_liner_cell",
                        "class": "cell__text",
                        "options": {
                            "line1": "Zou het kunnen dat je nog (een) openstaande factu(u)r(en) hebt? Kijk even je betalingen na.",
                            "line2": "",
                            "link": null,
                            "icon": null,
                            "linkTo": "",
                            "params": []
                        },
                        "cellLines": {
                            "line1": true,
                            "line2": false,
                            "line3": false
                        }
                    }
                ],
                "createDate": "0.69583200<PHONE_NUMBER>",
                "rowData": [],
                "sortByOrder": "desc",
                "sortBy": {
                    "date": "2017-09-11 16:03:18.000000",
                    "timezone_type": 3,
                    "timezone": "Europe/Brussels"
                }
            },
            {
                "id": "9475edaa-2266-05bb-aabf-5aa645e81171",
                "cells": [
                    {
                        "type": "list_action_cell",
                        "class": "cell__action",
                        "options": {
                            "action": {
                                "id": "navigate_to_my_essent_update_communication_preferences_b2c",
                                "recordId": "E7B1BEA7-E8A0-4FAD-9991-84853CF74A4F",
                                "recordType": "Accounts",
                                "listKey": "ConditionalMessages"
                            },
                            "label": "",
                            "icon": "icon-marketing",
                            "clickable": true,
                            "params": [],
                            "linkTo": ""
                        },
                        "cellLines": {}
                    },
                    {
                        "type": "list_simple_two_liner_cell",
                        "class": "cell__text",
                        "options": {
                            "line1": "Mis geen enkel klantenvoordeel!  Not like API output

Is there a chance the library can be expanded in order to work with both API's ?
Sure, however, I can't do that myself. The first step would be to try to login successfully, so we can see how much the rest of the API differs. The login screen identifies itself as OpenAM so this seems to be how:
https://backstage.forgerock.com/docs/am/6.5/dev-guide/#sec-rest-authentication.

You probably want to start trying to just do it with curl. If that works, it can be switched around to Python.

I've played a bit around and have figured out the login part.
Authentication
A post message is sent to https://sso.essent.be/am/json/authenticate
It returns the following json :
{
    "authId": "eyAidHlwIjogIkpXVCIsICJhbGciOiAiSFMyNTYiIH0.eyAib3RrIjogIjU5M2o0OWdqcHFqaXM1dTkwaGwwbHFyZDUxIiwgInJlYWxtIjogIm89ZXNzZW50YmUsb3U9c2VydmljZXMsZGM9ZXNzZW50LGRjPWl3ZWxjb21lLGRjPWNvbSIsICJzZXNzaW9uSWQiOiAiQVFJQzV3TTJMWTRTZmN3RmFKby1Ub0hYclpnQ2s0X1pjMkVlZnhLazUzUkZMUEUuKkFBSlRTUUFDTURJQUFsTkxBQlF0TXpNeE5qY3lPREF4TWpnNE16WXdOVFE0TlFBQ1V6RUFBakF4KiIgfQ.aFfIUVlIkPYKnn9OKEnHSfulMei5zda7LEKsja0Qq-g",
    "template": "",
    "stage": "LDAP1",
    "header": "Sign in to OpenAM",
    "callbacks": [
        {
            "type": "NameCallback",
            "output": [
                {
                    "name": "prompt",
                    "value": "User Name:"
                }
            ],
            "input": [
                {
                    "name": "IDToken1",
                    "value": ""
                }
            ]
        },
        {
            "type": "PasswordCallback",
            "output": [
                {
                    "name": "prompt",
                    "value": "Password:"
                }
            ],
            "input": [
                {
                    "name": "IDToken2",
                    "value": ""
                }
            ]
        }
    ]
}

authId is a JWT token that has the following tokens :

"otk": "97mfmm9bgod7doplad3nvit9vh",

"realm": "o=essentbe,ou=services,dc=essent,dc=iwelcome,dc=com",

"sessionId": "sessionid"

now a request needs to be sent again to https://sso.essent.be/am/json/authenticate but this time with the following body :
{
    "authId": "eyAidHlwIjogIkpXVCIsICJhbGciOiAiSFMyNTYiIH0.eyAib3RrIjogIm04cTg1cjMwaXZhZmV0bTVtYzE3cXNlZnFyIiwgInJlYWxtIjogIm89ZXNzZW50YmUsb3U9c2VydmljZXMsZGM9ZXNzZW50LGRjPWl3ZWxjb21lLGRjPWNvbSIsICJzZXNzaW9uSWQiOiAiQVFJQzV3TTJMWTRTZmN3czhyX05seDBMZUtCUE5hUTVpY3FTdXlBYVVrWm1ITFEuKkFBSlRTUUFDTURJQUFsTkxBQk15TXprek9EWXlNekExTVRNeU5qRTNPRFV6QUFKVE1RQUNNREUuKiIgfQ.K4y8nYHPXBP3gtMY2OdXyp2PsLK6dhZuqPfW8vCsPZE",
    "callbacks": [
        {
            "type": "NameCallback",
            "output": [
                {
                    "name": "prompt",
                    "value": "User Name:"
                }
            ],
            "input": [
                {
                    "name": "IDToken1",
                    "value"<EMAIL_ADDRESS>                }
            ]
        },
        {
            "type": "PasswordCallback",
            "output": [
                {
                    "name": "prompt",
                    "value": "Password:"
                }
            ],
            "input": [
                {
                    "name": "IDToken2",
                    "value": "passwordUser"
                }
            ]
        }
    ]
}

then you get the following response :
{
"tokenId": "tokenId",
"successUrl": "https://prod.nova.essent.be/dwp/#/start/dashboard/home/"
}
Getting current user id
In order to get the user id you need to send a post request to https://sso.essent.be/am/json/users?_action=idFromSession
You need to add a cookie to this request with the following specifications:

domain : essent.be

iwessent : tokenId

This returns the following json :
{
    "id": "userId",
    "realm": "/",
    "dn": "id=f6d60016-f95e-47b4-ad8c-cbd79e3bbd82,ou=user,o=essentbe,ou=services,dc=essent,dc=iwelcome,dc=com",
    "successURL": "https://prod.nova.essent.be/dwp/#/start/dashboard/home/",
    "fullLoginURL": "/am/UI/Login?realm=%2Fessentbe"
}

Getting current user information
In order to get the current user information you submit a get request to https://sso.essent.be/am/json/users/userId
You need to add a cookie to this request with the following specifications:

domain : essent.be

iwessent : tokenId

The json output will look like this :
{
    "username": "userId",
    "realm": "/essentbe",
    "telephoneNumber": [
        "telephone"
    ],
    "mail": [
<EMAIL_ADDRESS>    ],
    "givenName": [
        "FirstName"
    ],
    "objectClass": [
        "iwelcomeUser",
        "top",
        "organizationalPerson",
        "person",
        "inetOrgPerson",
        "sunFMSAML2NameIdentifier",
        "iplanet-am-user-service"
    ],
    "dn": [
        "uid=f6d60016-f95e-47b4-ad8c-cbd79e3bbd82,ou=people,dc=essent,dc=iwelcome,dc=com"
    ],
    "cn": [
        "Full Name"
    ],
    "modifyTimestamp": [
        "sometimestamp"
    ],
    "createTimestamp": [
        "sometimestamp"
    ],
    "privateEmailAddress": [
<EMAIL_ADDRESS>    ],
    "iWelcomeAuthAttr10": [
        "iwMyApps",
        "customer_mijnessent_full",
        "iwPasswordReset",
        "ROLE_default"
    ],
    "iWelcomeAccountName": [
<EMAIL_ADDRESS>    ],
    "uid": [
        "f6d60016-f95e-47b4-ad8c-cbd79e3bbd82"
    ],
    "iWelcomeAuthAttr1": [
        "essentbe"
    ],
    "universalid": [
        "id=f6d60016-f95e-47b4-ad8c-cbd79e3bbd82,ou=user,o=essentbe,ou=services,dc=essent,dc=iwelcome,dc=com"
    ],
    "preferredlanguage": [
        "NL"
    ],
    "sn": [
        "Last Name"
    ],
    "iWelcomeCustomerName": [
        "essentbe"
    ],
    "iWelcomePrivateEmail": [
<EMAIL_ADDRESS>    ],
    "sun-fm-saml2-nameid-info": [
        "https://sso.essent.be:443/am|prod-crm-essent|email@example.com|https://sso.essent.be:443/am|urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress|null|prod-crm-essent|DualRole|false"
    ],
    "sun-fm-saml2-nameid-infokey": [
<EMAIL_ADDRESS>    ],
    "roles": [
        "ui-self-service-user"
    ]
}

Api
The rest of the api seems to be located at https://prod.nova.essent.be/ although https://sso.essent.be probably has some methods that I haven't discovered.
I don't think it's worth it to further examine this API since it's very UI driven. I'm wondering how I could explore the rest of the methods on  https://sso.essent.be

I don't think it's worth it to further examine this API since it's very UI driven.

Well, the Dutch Essent API has no documentation either, I just traced what my browser did.
I wonder though, what happens if you open https://api.essent.be/ in your browser and login? Maybe we're overcomplicating things.

I just have tried https://api.essent.be/selfservice/user/authenticateUser supplying the following xml :
<AuthenticateUser>
            <request>
<EMAIL_ADDRESS>            	<password>password</password>
            	<ControlParameters>
            		<GetContracts>True</GetContracts>
            	</ControlParameters>
            </request>
</AuthenticateUser>

And get the following response :

        <title>401 Unauthorized</title>

Unauthorized

This server could not verify that you
are authorized to access the document
requested.  Either you supplied the wrong
credentials (e.g., bad password), or your
browser doesn't understand how to supply
the credentials required.

Did I mess up the xml ?
In case https://sso.essent.be needs to be figured out I see the following problem :
https://prod.nova.essent.be/  is the api that is used for the data retrieval of the application and probably gets its data from  https://sso.essent.be. How can I figure out which methods of https://sso.essent.be are being called without having direct acces to the server running https://prod.nova.essent.be/?

No, just https://api.essent.be/ in your browser. It pops up a login screen.

It popups a login screen in the browser but the credentials don't seem to work :(

Could you try the be_login branch and tell you how far you get when following the README?

The output of my test looks like this :
File "test.py", line 7, in <module>
    essent = PyEssent(username='***', password='*******', country=country)
  File "C:\Users\DavidClaeys\source\repos\PyEssent\PyEssent\pyessent\pyessent.py", line 129, in __init__
    data['callbacks'][0]['input']['value'] = username
TypeError: list indices must be integers, not str

This looks way more promising than my previous attempt. I see you've taken into account my research so probably it's some programming error.

Thanks for testing, I created a new commit in the branch. Hopefully that'll let you get further?

I got further. Now I'm getting this message :
  File "test.py", line 7, in <module>
    essent = PyEssent(username='**', password='**', country=country)
TypeError: __init__() should return None

Whoops. Should be fixed now.

I'm affraid we have a problem
   File "test.py", line 8, in <module>
    for ean in essent.get_EANs():
  File "C:\Users\DavidClaeys\source\repos\PyEssent\PyEssent\pyessent\pyessent.py", line 148, in get_EANs
    customer_details_request = PyEssent.Customer.get_customer_details()
  File "C:\Users\DavidClaeys\source\repos\PyEssent\PyEssent\pyessent\pyessent.py", line 47, in get_customer_details
    r.raise_for_status()
  File "C:\Python27\lib\site-packages\requests\models.py", line 940, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 401 Client Error: Unauthorized for url: https://api.essent.be/selfservice/customer/getCustomerDetails?GetContracts=false

I had the same issue when trying to reach the url with postman.

Hmm, interesting. I added a new commit, just an experiment. Probably won't work but it's worth a try.

Nope
File "C:\Users\DavidClaeys\source\repos\PyEssent\PyEssent\pyessent\pyessent.py", line 149, in __init__
    r.raise_for_status()
  File "C:\Python27\lib\site-packages\requests\models.py", line 940, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 401 Client Error: Unauthorized for url: https://sso.essent.be/am/json/users?_action=idFromSession

Did you put a cookie on the request as I specified ?

Nope, I was hoping it would be set with the successful login by itself. Try again now?

There is probably an error when setting the cookie :
  File "C:\Users\DavidClaeys\source\repos\PyEssent\PyEssent\pyessent\pyessent.py", line 145, in __init__
    SESSION.cookies['iwessent'] = r.json['tokenId']
TypeError: 'instancemethod' object has no attribute '__getitem__'

Oops, typo, fixed

There is still an error but this time with api.essent.be
  File "C:\Users\DavidClaeys\source\repos\PyEssent\PyEssent\pyessent\pyessent.py", line 158, in __init__
    PyEssent.User.authenticate_user(username, password)
  File "C:\Users\DavidClaeys\source\repos\PyEssent\PyEssent\pyessent\pyessent.py", line 111, in authenticate_user
    r.raise_for_status()
  File "C:\Python27\lib\site-packages\requests\models.py", line 940, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 401 Client Error: Unauthorized for url: https://api.essent.be/selfservice/user/authenticateUser

I've just pushed another commit, but honestly, there is no way I'm going to be able to figure this out, I simply don't have enough info.
I'm afraid at this point you will need to try and suggest (or code yourself) more possible ways to get authenticated yourself or maybe share your login info or plan a TeamViewer session or so so I could look around myself. If you do want to share your login, you could email it to me (sylvia@hackerchick.me), but if you do have more ideas yourself I'd rather try that first because asking people for login info is just... kinda nasty.

I'm not that keen into providing my own credentials. I will fiddle more around and in case I don't figure it out I'll set some dummy password in order to provide you the necessary credentials. Are they any ideas I could explore ?

One idea is to see if they have some smartphone app and if there's anything special you need to do to be able to sign in there? The API identifies itself as "Mobile API" so... maybe that's relevant?


Thread Tests

Add some tests for various threads.
Primarily to show how threads are currently failing (see #1)
Test Driven Development
I'm not sure I can get threads behaving reliably by release (v0.2.0).
Therefore: because these tests are expected to fail, they are not run by default.
They can be optionally run
When #1 is closed, they'll be a mandatory release test (like every other test)

Done... details in #1


Implement background syncing and start with OS

It can silently sync in the background when the wallet is closed so won't be so long syncing times.

Ready.


Added logic to check AllErrors in Context when LogEventLevel is Error

There are some scenarios were application.Server.GetLastError() returns null even though Response.StatusCode is 500. In such cases extra check to get the latest error from Context.AllErrors will help Serilog to log appropriate exception in configured sink.

Nice! Thanks for the PR, @mahichr 👍


Deploy 53 OETH and 54 WOETH

OETH deployment

Name
Address

FraxEthStrategyProxy
0x3fF8654D633D4Ea0faE24c52Aec73B4A20D0d0e5

Frax Strategy Implementation
0x167747bF5B3B6Bf2F7f7C4CCe32C463E9598D425

OETH Impl
0x7c1F8b1824f2758060CfC9Dd964C590710367A1E

OETH Proxy
0x856c4Efb76C1D1AE02e20CEB03A2A6a08b0b8dC3

OETH Oracle Router
0x60fF8354e9C0E78e032B7daeA8da2c3265287dBd

Vault
0xe4775E018bFC72CC3c4944E6879d64cDF885c247

VaultAdmin
0xbA3656713862dF9De5EB3dFEA22141F06d67221c

VaultCore
0x1091588Cc431275F99DC5Df311fd8E1Ab81c89F3

VaultProxy
0x39254033945AA2E4809Cc2977E7087BEE48bd7Ab

Zapper
0x8c135F50C7317A93Cc95bB208A494E5ADe5B66b0

OUSD Oracle router?
0x06C7a36bfE715479C7f583785b7e9303dfcC89Ff

Woeth Impl
0x9C5a92AaA2A4373D6bd20F7b45cdEb7A13f9AA79

Woeth Proxy
0xDcEe70654261AF21C44c093C300eD3Bb97b78192

Dripper Proxy
0xc0F42F73b8f01849a2DD99753524d4ba14317EB3

Dripper IMPL
0x2FDfBb2b905484f1445E23A97C97F65fe0e43dEC

Review
(in progress)

[x] All deployed contracts are listed in the deploy PR's description
[x] Deployed contract's verified code (and all dependencies) match the code in master
[ ] The transactions that interacted with the newly deployed contract match the deploy script.
[ ] Governance proposal matches the deploy script
[ ] Smoke tests pass after fork test execution of the governance proposal


TypeError: JSON.parse(...).map is not a function

yarn add react-intl-po
yarn rip json2pot 'src/translations/i18next.json' \     -o ./master.pot
i18next.json
{     "a": "b",     "c": "d" }
readAllMessageAsObjectSync() is returning map is not a function on valid srcPatterns
When debugged I saw JSON.parse(_fs2.default.readFileSync(filename, 'utf8') is returning valid JSON Object. How can you use map on Object in line 41?
side note: I get the same result with node_modules/.bin/react-intl-po ...

It seems an issue with Ramda and I was able to workaround by providing a full path rather than relative.

react-intl-po json2pot '~/Repositories/Project/src/messages/*.json' -o master.pot

That program exits normally, that said, the resulting pot file is empty.


board: cy8cproto_062_4343w: Enable HW Flow control for HCI H4

HW Flow control must be enabled for HCI H4 UART communication.
Signed-off-by: Nazar Palamar<EMAIL_ADDRESS>

HI @decsny, @jhedberg looks like it ready for merge. Or maybe i missed  something....could you final review.
Regards,
Nazar


[3.6.1] File associations

When I create a new association for *.js file (for MongoDB connection) with default internal SQL editor, then double click on JS file DBeaver execute this file like normal JS file on my Windows 10. Icon of this file is not from SQL editor but from normal JavaScript file.

Thanks for report


In some cases translation does not carry

In some cases translation does not carry
in some cases the translation does not load, only running if I do refresh the page.
I use angular-translate-loader-url.
It looks like it did not load the json file, what could I do in that case?
environment

version of my angularjs 1.7.2
angular-translate version 2.18.1
angular-translate-loader-partial version 2.18.1

example, when giving the error

after giving refresh on page, forcing reload translation:

Confirm. In my case all JSON already cached but sometimes, only some elements are not translated. Refresh helps, but annoying. No errors in console. Usually broken {{ 'TITLE' | translate}} this kind of usage, but not all, just some.

Hello,
as we had already mentioned in the issue's template, we need a working and as minimal as possible demo covering your specific use case or issue.
Follow these steps:

Please open this plnkr base.
Fork it (at the top left).
Ensure the version of AngularJS and angular-translate is correct.
Ensure all angular-translate plugins are available; reduce and remove anything you can.
Write a minimal as possible demo for your specific issue.
Save and freeze. Provide us the final link to your demo.


Build package behind proxy

I run below commands, they runs well at beginning until the instance is started up in Virtualbox, and can't get update because no proxy setting.
cd centos-6.7
packer build -only=virtualbox-iso template.json

I have set http_proxy and https_proxy in local pc. That's why it runs well to download iso.
    virtualbox-iso: Download progress: 98%
    virtualbox-iso: Download progress: 98%
    virtualbox-iso: Download progress: 99%
==> virtualbox-iso: Starting HTTP server on port 8856
==> virtualbox-iso: Creating virtual machine...
==> virtualbox-iso: Creating hard drive...
==> virtualbox-iso: Creating forwarded port mapping for SSH (host port 3978)
==> virtualbox-iso: Executing custom VBoxManage commands...
    virtualbox-iso: Executing: modifyvm packer-virtualbox-iso-1444259090 --memory 512
    virtualbox-iso: Executing: modifyvm packer-virtualbox-iso-1444259090 --cpus 1
==> virtualbox-iso: Starting the virtual machine...
==> virtualbox-iso: Waiting 10s for boot...
==> virtualbox-iso: Typing the boot command...
==> virtualbox-iso: Waiting for SSH to become available...
==> virtualbox-iso: Connected to SSH!
==> virtualbox-iso: Uploading VirtualBox version info (5.0.2)
==> virtualbox-iso: Uploading VirtualBox guest additions ISO...
==> virtualbox-iso: Provisioning with shell script: scripts/base.sh
    virtualbox-iso: Loaded plugins: fastestmirror
    virtualbox-iso: Setting up Install Process
    virtualbox-iso: Determining fastest mirrors
    virtualbox-iso: Error: Cannot find a valid baseurl for repo: base
    virtualbox-iso: Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os&infra=stock error was
    virtualbox-iso: 14: PYCURL ERROR 6 - "Couldn't resolve host 'mirrorlist.centos.org'"
==> virtualbox-iso: Unregistering and deleting virtual machine...
==> virtualbox-iso: Deleting output directory...
Build 'virtualbox-iso' errored: Script exited with non-zero exit status: 1

But stop at "Couldn't resolve host 'mirrorlist.centos.org'"
Are there any proxy setting I can provide to the image or in template.json? If I set proxy when building the image, will the proxy be kept in all new image, which I don't want to keep it.

Seems this url gives me some hints.

I can add proxy setting in each script/*.sh files and fix this issue.
export http_proxy=http://host:port
export https_proxy=http://host:port

But I don't like this way, any suggestions?

How about using variables in Packer templates?
User Variables in Templates - Packer by HashiCorp

Thanks for the links, but the variables are not for proxy setting to use in script running in the build image.

I see an example https://groups.google.com/forum/#!topic/packer-tool/l8-R4L5Z4fQ
using both variables and environment_vars.
First it sets packer variables with values of environment variables,
Then it sets environment variables with packer variables.
This way is needed because the env function is available only within the default value of a user variable. (See "Environment Variable" section in https://www.packer.io/docs/templates/user-variables.html )
So probably you can modify centos-6.7/template.json like below (add "variables" and "environment_variables" keys):
    "variables": {
        "http_proxy": "{{env `http_proxy`}}",
        "https_proxy": "{{env `https_proxy`}}",
        "ftp_proxy": "{{env `ftp_proxy`}}",
        "no_proxy": "{{env `no_proxy`}}"
    },
    "provisioners": [
        {
            "type": "shell",
            "environment_vars": [
                "http_proxy={{user `http_proxy`}}",
                "https_proxy={{user `https_proxy`}}",
                "ftp_proxy={{user `ftp_proxy`}}",
                "no_proxy={{user `no_proxy`}}"
            ],
            "execute_command": "echo 'vagrant'|sudo -S sh '{{.Path}}'",
...

I don't have a test environment for proxy settings myself.
Could you try it?
Thanks!

Yes, it is successful to update in building image and generate box file without any errors. Thanks.
One more question, after the build is done, I got a new file centos-6-7-x64-virtualbox.box, I think it is for Vagrant box.

The image with .ovf and .vmdk` are generated as well. But after command finished, these files are disappeared.
Can I keep them, because I need them for vSphere virtual environment, I need the same image to be used in vagrant and vsphere/vmware.

I see, i just untar the .box file directly to get .vmdk file.

I am glad that you succeeded in building an image.
Thanks for trying to build an image with a http proxy.
Now I got the tip for building an image with a http proxy thanks to you ;-)

@hnakamur
my first testing is tested with proxy setting I put in each *.sh script. After i remote the setting in script and only set proxy in template.json, the build is failed. So the problem in fact isn't fixed.


Allow setting client name with paramater in connection string

Expected Behavior
Connection string should allow setting the client name as the C# client does (see ClientName).
Current Behavior
go-redis does not allow client name in connection string.
Possible Solution
rediss://<user>:<password>@<host>:<port>/[<db>]?[name=<client_name>]

func ExampleParseURL() {
	opt, err := redis.ParseURL("redis://:qwerty@localhost:6379/1?dial_timeout=5s")
	if err != nil {
		panic(err)
	}
	fmt.Println("addr is", opt.Addr)
	fmt.Println("db is", opt.DB)
	fmt.Println("password is", opt.Password)
	fmt.Println("dial timeout is", opt.DialTimeout)

	// Create client as usually.
	_ = redis.NewClient(opt)

	// Output: addr is localhost:6379
	// db is 1
	// password is qwerty
	// dial timeout is 5s
}

func ParseURL(redisURL string) (*Options, error) {
	u, err := url.Parse(redisURL)
	if err != nil {
		return nil, err
	}

	switch u.Scheme {
	case "redis", "rediss":
		return setupTCPConn(u)
	case "unix":
		return setupUnixConn(u)
	default:
		return nil, fmt.Errorf("redis: invalid URL scheme: %s", u.Scheme)
	}
}

@monkey92t could you elaborate what you mean with this example ?

Oh, sorry, I misread your issue... please forgive me😁...
Redis ClientName (https://redis.io/commands/client-setname/) is the name of the network connection, so it doesn't make sense for go-redis...

Why does it not make sense? I'd like to be able to see the list of clients, connected to redis using CLIENT LIST. My application needs to set the client name for that. There is ClientSetName() method on some connection types but it's impractical and wasteful to call it before each transaction/operation.

looks great


vscode not using accentuation anymore

Issue Type: Bug

open vscode using pt-br system base localization and keyboard layout too
any dead keys are working. type (^'`)  in terminal and text editor and this dead keys cannot work as expected .

VS Code version: Code 1.57.0 (b4c1bd0a9b03c749ea011b06c6d2676c8091a70c, 2021-06-09T17:18:42.895Z)
OS version: Linux x64 5.11.0-18-generic snap
Restricted Mode: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i9-9900 CPU @ 3.10GHz (16 x 3100)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offopengl: enabled_onrasterization: disabled_softwareskia_renderer: enabled_onvideo_decode: disabled_softwarevulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
0, 0, 0

Memory (System)
31.28GB (12.67GB free)

Process Argv
--force-user-env --unity-launch --crash-reporter-id 54e6c774-53fb-4c6e-9bc2-8d5a087e9af3

Screen Reader
no

VM
0%

DESKTOP_SESSION
ubuntu

XDG_CURRENT_DESKTOP
Unity

XDG_SESSION_DESKTOP
ubuntu

XDG_SESSION_TYPE
x11

Extensions (10)

Extension
Author (truncated)
Version

vscode-django
bat
1.6.0

python-extension-pack
don
1.6.0

MagicPython
mag
1.1.0

python
ms-
2021.5.926500501

vscode-pylance
ms-
2021.6.1

jupyter
ms-
2021.6.999230701

vscode-yaml
red
0.19.2

vscodeintellicode
Vis
1.2.14

jinja
who
0.0.8

vscode-ansible
zbr
0.4.5

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383cf:30185419
pythonvspyt602:30300191
vspor879:30202332
vspor708:30202333
vspor363:30204092
pythonvspyt639:30300192
pythontb:30283811
pythonvspyt551cf:30311713
vspre833:30267464
pythonptprofiler:30281270
vshan820:30294714
pythondataviewer:30285071
vscus158cf:30286554
pythonvsuse255cf:30319632
vscgsv2:30307504
vscorehovct:30309550
vscod805cf:30301675
binariesv517cf:30312826

I don't know if it is some bug from Linux GTK. I'm using Ubuntu 21.04. My keyboard layout is UTF-8 PTBR.

@alansenairj Could you please try a native <input> like the one of the find widget. Can you type accents as expected there?

@alansenairj Could you please try a native <input> like the one of the find widget. Can you type accents as expected there?

it is not working too

I am having this issue just on the terminal.

Hi guys, I solved my problem here on Ubuntu 21.04. It was a problem about input method. I just choose IBus here and now everything is working fine.

I hope you guys can solve it too.

Hi guys, I solved my problem here on Ubuntu 21.04. It was a problem about input method. I just choose IBus here and now everything is working fine.

I hope you guys can solve it too.

Nice!
How do you go to this screen configuration? I'm using vscode with english language.
I tried using ctrl+T and navegating through the options, but couldn't find it.
Also the settings window.
Thanks


not working

I put my api address in its place but after running it stocks at loading ...

can you get me logcat please?


Add choco files

These are the changes cherry-picked from rel/3.25. We should merge this once 3.25 is accepted by Chocolatey.

thanks @onovotny ! 💯


add user avatar to application page

Just added the developer avatar to the app page

Two additional comments:

The avatar should be alined on the lefthand side of the header.
The avatar size should be such as the overall header width doesn't increase.

Also can you push the newly generated JS artifact. Use the following command to generate it:
npm run-script build

Code review completed - looks good.


Personalize the Template

Need to add projects in their designated sections

Need to add images for the sections in the projects page.

Finish this withing 48 hours of this comment.

Obviously I did not add images and project descriptions yet 📦


Small fixups of util/process_docs.pl

Checklist

[x] CLA is signed

Description of change

the pod path hadn't been changed with the directory layout change
apparently, pod2html doesn't add ".html" at the end of links, making
them useless, so we need to fix that

With thanks for the report to Michel<EMAIL_ADDRESS>

Separate PR for 1.1.0 in #1897

Merged


small doc improvements for first release

in docs/installation.rst

let's add some more comments on the underlying system, for example a cluster, what rights are needed. be clear helm needs to be on laptop of cluster and precise installation command.

where to install mlbench chart

mention what limits are for (just for the GUI), what if they are larger than physical limits. and reorder them as

limits:
  maximumWorkers:
  cpu:
  bandwidth:

overview: should be renamed to sth else. maybe technical overview?

make REST API a subsection of that

I redid most of the documentation pages to make it cleaner and more succint

thanks, looks good


Closes #12 | Add/Update Dataloader BalitaNLP

Closes #12
Notes
There are many articles in the dataset whose corresponding image file does not exist in the repository. Reporting the statistics here:

train split (281403 total examples): 18923 missing images (~6.72%)
test split (35177 total examples): 2356 missing images (~6.70%)
validation split (35175 total examples): 2369 missing images (~6.73%)

Checkbox

[x] Confirm that this PR is linked to the dataset issue.
[x] Create the dataloader script seacrowd/sea_datasets/{my_dataset}/{my_dataset}.py (please use only lowercase and underscore for dataset folder naming, as mentioned in dataset issue) and its __init__.py within {my_dataset} folder.
[x] Provide values for the _CITATION, _DATASETNAME, _DESCRIPTION, _HOMEPAGE, _LICENSE, _LOCAL, _URLs, _SUPPORTED_TASKS, _SOURCE_VERSION, and _SEACROWD_VERSION variables.
[x] Implement _info(), _split_generators() and _generate_examples() in dataloader script.
[x] Make sure that the BUILDER_CONFIGS class attribute is a list with at least one SEACrowdConfig for the source schema and one for a seacrowd schema.
[x] Confirm dataloader script works with datasets.load_dataset function.
[x] Confirm that your dataloader script passes the test suite run with python -m tests.test_seacrowd seacrowd/sea_datasets/<my_dataset>/<my_dataset>.py or python -m tests.test_seacrowd seacrowd/sea_datasets/<my_dataset>/<my_dataset>.py --subset_id {subset_name_without_source_or_seacrowd_suffix}.
[ ] If my dataset is local, I have provided an output of the unit-tests in the PR (please copy paste). This is OPTIONAL for public datasets, as we can test these without access to the data files.

Hi @raileymontalan, looks good to me! I have one suggestion though.
Could you please add the author, category, date, img_url, url, and website under the metadata in the seacrowd_imtext schema?

Details added to metadata. Ready for review, thanks!


iOS simulator unavailable, device type profile not found

Try job module_test_ios trying to create a simulator:
[module_test_ios] [STDOUT] Executing "xcrun simctl create TestAdd2AppSim com.apple.CoreSimulator.SimDeviceType.iPhone-11 com.apple.CoreSimulator.SimRuntime.iOS-14-3" in "/opt/s/w/ir/x/w/recipe_cleanup/tmp81ddsf_o/flutter sdk" with environment {BOT: true, LANG: en_US.UTF-8}
[module_test_ios] [STDOUT] stderr: Invalid device type: com.apple.CoreSimulator.SimDeviceType.iPhone-11

List of simulators shows all the simulators are "unavailable, device type profile not found"
-- iOS 13.0 --
    iPad Air (3rd generation) (C657E8D4-422B-4449-94E7-3B04431E2F18) (Shutdown) (unavailable, device type profile not found)
    iPad Pro (11-inch) (C3480239-0A68-47BF-97E9-20CFDA93F7D9) (Shutdown) (unavailable, device type profile not found)
    iPad Pro (12.9-inch) (3rd generation) (19F3AE1E-AFAB-447B-9AF6-7B8BB57D9897) (Shutdown) (unavailable, device type profile not found)
    iPad Pro (9.7-inch) (117D9CD0-82C8-458D-B3C4-8CA0331A03AD) (Shutdown) (unavailable, device type profile not found)
    iPhone 11 (6B11A7F3-E077-42F1-9911-D7C1B8D55CCE) (Shutdown) (unavailable, device type profile not found)
    iPhone 11 Pro (2E9AD3C2-AEE6-4152-A14F-882F3DFFDF91) (Shutdown) (unavailable, device type profile not found)
    iPhone 11 Pro Max (8C49B646-040E-4CB6-9FDC-10362CEB54B1) (Shutdown) (unavailable, device type profile not found)
    iPhone 8 (5DCC7E66-B73E-463A-A91D-F28E3B4E329B) (Shutdown) (unavailable, device type profile not found)
    iPhone 8 Plus (18E32AAD-47C2-424D-8A9E-7BFEEA4727A1) (Shutdown) (unavailable, device type profile not found)

https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8823963857735512193/+/u/list_simulators/stdout
Compare to a successful prod run.  Both are running 12c33.
-- iOS 13.0 --
    iPhone 8 (D6D03B46-EA7B-4A19-9115-6DB597FCF8B6) (Shutdown)
    iPhone 8 Plus (D23E78A6-2A7F-410D-91FD-2D6779CC411B) (Shutdown)
    iPhone 11 (3ACE52C8-0530-491A-9226-6A95068DFEF8) (Shutdown)
    iPhone 11 Pro (6C3DB249-0409-4726-BABB-8BF3417E3E12) (Shutdown)
    iPhone 11 Pro Max (98B27E12-DECA-41F3-AD22-530C3FE08CC9) (Shutdown)
    iPad Pro (9.7-inch) (9A5CB7DA-3709-4970-BA8E-A359F60F2A2C) (Shutdown)
    iPad Pro (11-inch) (EB1BBB3C-9519-4976-B394-D5E3F1C81455) (Shutdown)
    iPad Pro (12.9-inch) (3rd generation) (420854E4-EE4A-4962-AE41-157DF43EA734) (Shutdown)
    iPad Air (3rd generation) (4DEB6175-773A-45C8-A791-AF125666FDD9) (Shutdown)

https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8823956734184440353/+/u/list_simulators/stdout
Blocking the plugin roll https://github.com/flutter/flutter/pull/97295, which is blocking an engine roll.

Re-running the test in https://github.com/flutter/flutter/pull/97295, I don't see it failing in other PRs (that PR is definitely not the issue though)

Suspect the re-run will succeed, the simulator list looks correct:
-- iOS 13.0 --
    iPhone 8 (96198A19-44E4-4FAB-8516-DD50D00289BF) (Shutdown)
    iPhone 8 Plus (91CF9D98-4DBC-4451-A823-A0A5B8A59EC6) (Shutdown)
    iPhone 11 (D6B26EFF-F0AC-4071-A061-94336006AC33) (Shutdown)
    iPhone 11 Pro (B03469C1-55BD-4B36-BD88-A082F905115B) (Shutdown)
    iPhone 11 Pro Max (16B9D00E-E5F5-42E1-B5F7-C5B78458BFF0) (Shutdown)
    iPad Pro (9.7-inch) (C19AAD9E-F393-4AEE-86B0-D3B99F6CAFD2) (Shutdown)
    iPad Pro (11-inch) (B4B9BB52-BFE4-422D-8B5E-B06A759E3FEB) (Shutdown)
    iPad Pro (12.9-inch) (3rd generation) (07FC72C6-605D-4A1D-ACB6-A1FF09BA7D09) (Shutdown)
    iPad Air (3rd generation) (E552B27C-FDCD-4228-B33E-74C9A8207A54) (Shutdown)

https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8823953796628412001/+/u/list_simulators/stdout
Reducing priority.

I've seen that unavailable, device type profile not found before while investigating https://github.com/flutter/flutter/issues/91689 when simulator runtimes were missing, but the runtimes look correct this time:
== Runtimes ==
iOS 13.0 (13.0 - 17A577) - com.apple.CoreSimulator.SimRuntime.iOS-13-0
iOS 14.3 (14.3 - 18C61) - com.apple.CoreSimulator.SimRuntime.iOS-14-3
watchOS 6.1 (6.1.1 - 17S445) - com.apple.CoreSimulator.SimRuntime.watchOS-6-1
watchOS 7.2 (7.2 - 18S561) - com.apple.CoreSimulator.SimRuntime.watchOS-7-2

And interestingly only the 14.3 iPhone 12* devices are available...?
== Device Types ==
iPhone 12 mini (com.apple.CoreSimulator.SimDeviceType.iPhone-12-mini)
iPhone 12 (com.apple.CoreSimulator.SimDeviceType.iPhone-12)
iPhone 12 Pro (com.apple.CoreSimulator.SimDeviceType.iPhone-12-Pro)
iPhone 12 Pro Max (com.apple.CoreSimulator.SimDeviceType.iPhone-12-Pro-Max)
...
-- iOS 14.3 --
    iPhone 12 mini (5B76E7EE-4109-4327-BD3C-08B088482192) (Shutdown)
    iPhone 12 (5F6A55BC-C974-4D3B-AC0F-B92F55ED1AD6) (Shutdown)
    iPhone 12 Pro (E7FEF58E-626E-4EFB-AE6A-5CB49FCE6321) (Shutdown)
    iPhone 12 Pro Max (787AB908-C531-44CD-9530-524CCA545D60) (Shutdown)

https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8823963857735512193/+/u/list_simulators/stdout

I'll monitor the builds to see if this flake occurs again

Waiting for the battery healthcheck to land in production.

I don't think this is related to the tethered device's health, it's that the simulators aren't set up in a way Xcode can find them.

Would this be fixed with the new way to provide runtimes?

The error repeated intermittently:
https://ci.chromium.org/ui/p/flutter/builders/try/Mac module_test_ios/11849/overview (02/01/2022)
https://ci.chromium.org/ui/p/flutter/builders/try/Mac module_test_ios/11846/overview (02/01/2022)
https://ci.chromium.org/ui/p/flutter/builders/try/Mac module_test_ios/11804/overview (01/31/2022)
https://ci.chromium.org/ui/p/flutter/builders/try/Mac module_test_ios/11764/overview (01/28/2022)
https://ci.chromium.org/ui/p/flutter/builders/try/Mac module_test_ios/11718/overview (01/27/2022)

Seem the failures happened on only two bots: build857-m9 and build866-m9.
Take a further look, builder Mac module_test_ios has been consistently failing on these two bots.
/cc @jmagman Any settings/config that may cause this behavior from bot side? All bots should be configured in the same way though.

Maybe the simulator device types were removed on those machines?  I can't figure out where on disk the different types of simulator device images would live though.

Could this be related to testing the runtimes functionality of osx_sdk in those two bots?

Not sure, from https://github.com/flutter/flutter/issues/97303#issuecomment-1022440937 the symptoms look different, the simulator runtimes (OS version iOS-14-3) is present, but the actual device type images (iPhone-11) is missing.
I could change the test to iPhone 12 which does seem available, though it would be good to know why the builders are different.

@keyonghan can we delete the caches on those two machines and manually re-run the test?

I can't figure out where on disk the different types of simulator device images would live though.

I think they are in Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/DeviceTypes/?

@keyonghan  can we delete the caches on those two machines and manually re-run the test?

Cleaning caches helps! Here is a success run with a pass on build857-m9.
https://luci-milo.appspot.com/raw/build/logs.chromium.org/flutter/led/keyonghan_google.com/b66b7c9f91b799685187926648693d492f39716dc480d0c09add5ab16ba6c5c1/+/build.proto
Will run a couple of times, and also on the other bot to verify.

Five times all passed on build857-m9.
Same pass on build866-m9 after caches clean.
Closing. Please reopen if issue happens again.

This just happened again:
https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8822650102210541713/+/u/list_simulators/stdout
Failing test:
plugin_lint_mac] [STDOUT] stdout:  -> integration_test (0.0.1)
[plugin_lint_mac] [STDOUT] stdout:     - ERROR | [iOS] unknown: Encountered an unknown error (Could not find a `ios` simulator (valid values: watchos). Ensure that Xcode -> Window -> Devices has at least one `ios` simulator listed or otherwise add one.

This happened again, bad cache? https://ci.chromium.org/p/flutter/builders/try/Mac plugin_lint_mac/11006
Preventing us from re-opening the tree in https://github.com/flutter/flutter/pull/98166

Retrying the build will pick a different builder which will unblock the tree.

I do keep retrying...
build904-m9
build877-m9
build891-m9

Seems like it all started here: https://github.com/flutter/flutter/pull/98144

We'll need to manually clean all the caches for the bots in try

I'll block all the bots and cleaned 3 to unblock you. I'll cleanup the rest tomorrow.

It happened again at 4am
https://ci.chromium.org/ui/p/flutter/builders/try/Mac plugin_lint_mac/11011/overview

Cleaning the caches didn't fix this bot. Any other ideas of what may be happening?

I cleaned build870-m9, build871-m9, build872-m9. Only 871 has run the test and it has failed consistently. Any reason why only this test is failing?

It should fail for any test running on iOS simulators. For example https://ci.chromium.org/p/flutter/builders/try/Mac build_tests_2_4/15814 shows the same issue where iOS simulator device types aren't found, but that test isn't running anything on a simulator.
module_test_ios would likely also fail because it's running on a simulator, but it's marked flaky so isn't running in presubmit.

@jmagman do you know if we need to run xcrun simctl upgrade or similar, to get the emulators to work with Xcode 13 after the upgrade?

I don't think that would be necessary, is it failing on machines running macOS 12 and Xcode 13?  Or just old macOS 10.15 machines where Xcode 13 was mistakenly run before https://github.com/flutter/cocoon/pull/1597 merged?

How is it going? Seems that this is P0 for a week

@jmagman Mac plugin_lint_mac has been passing consistently.

module_test_ios would likely also fail because it's running on a simulator, but it's marked flaky so isn't running in presubmit.

module_test_ios is actually running on pre-submit, but it is failing intermittently with a different error:
[module_test_ios] [STDOUT] Executing: xcrun simctl list runtimes in /opt/s/w/ir/x/w/recipe_cleanup/tmpqxpd1lm0/flutter sdk with environment {BOT: true, LANG: en_US.UTF-8}
[module_test_ios] [STDOUT] stdout: == Runtimes ==
[module_test_ios] [STDOUT] stdout: iOS 13.0 (13.0 - 17A577) - com.apple.CoreSimulator.SimRuntime.iOS-13-0
[module_test_ios] [STDOUT] stdout: iOS 14.3 (14.3 - 18C61) - com.apple.CoreSimulator.SimRuntime.iOS-14-3
[module_test_ios] [STDOUT] stdout: watchOS 6.1 (6.1.1 - 17S445) - com.apple.CoreSimulator.SimRuntime.watchOS-6-1
[module_test_ios] [STDOUT] stdout: watchOS 7.2 (7.2 - 18S561) - com.apple.CoreSimulator.SimRuntime.watchOS-7-2
[module_test_ios] [STDOUT] "xcrun" exit code: 0
[module_test_ios] [STDOUT]
[module_test_ios] [STDOUT] Executing: xcrun simctl create TestAdd2AppSim com.apple.CoreSimulator.SimDeviceType.iPhone-11 com.apple.CoreSimulator.SimRuntime.iOS-14-3 in /opt/s/w/ir/x/w/recipe_cleanup/tmpqxpd1lm0/flutter sdk with environment {BOT: true, LANG: en_US.UTF-8}
[module_test_ios] [STDOUT] stderr: Invalid device type: com.apple.CoreSimulator.SimDeviceType.iPhone-11
[module_test_ios] [STDOUT] "xcrun" exit code: 146
[module_test_ios] [STDOUT]

Shall we open a separate bug to track?

That's the same issue, just logging slightly differently.  It's trying to create an iPhone-11 simulator, but the device type isn't found, but the requested runtime (iOS-14-3) is available.

On machines where this is happening, what's in
/opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/DeviceTypes/

It should contain iPhone 11.simdevicetype.

For the most recent failure: https://ci.chromium.org/ui/p/flutter/builders/try/Mac module_test_ios/12054/overview, which ran on bot: build877-m9.  I'm at a loss then... Maybe this will clear up once we have Xcode 13 on these machines, and the new way of incrementally downloading the cipd simulator runtimes. https://github.com/flutter/flutter/issues/91689
@keyonghan it might help to debug these issues if there was a [devicelab/devicelab_drone](https://cs.opensource.google/search/?q=file%3Arecipes%2Fdevicelab%2Fdevicelab_drone.py) recipe step right after installing Xcode to list the available simulators, like https://flutter-review.googlesource.com/c/recipes/+/24440

Actually in the above CL, the list simulators step was already added for both devicelab tests and host only tests. See https://ci.chromium.org/ui/p/flutter/builders/try/Mac module_test_ios/12037/overview, where we hit the issue and also listed the simulators.
In the == Device Types ==, there was no iPhone-11.
(For other failed ones which didn't have the list simulators step, they seemed running on release branches which used release version recipe bundle and the change may not be picked up yet.)

I'm not sure what's going on with these devices being missing, but maybe we can move https://github.com/flutter/flutter/pull/98297 along, which uses the new version of Xcode, and downloads some simulator bits separately.
That's still blocked on flakiness in web_tool_tests https://github.com/flutter/flutter/issues/98278, but could we move all the tests over to Mac-12 and 13a233 except web_tool_tests?

Like this: https://github.com/flutter/flutter/pull/98297/files#diff-9e73abde9fff445f31e5928e80d2d3f88847e02fd8f76d46f66f147fdc82786dR3054-R3055

Hoping this just goes away with https://github.com/flutter/flutter/pull/98297 but I'm an optimist.

Closing this one in favor of https://github.com/flutter/flutter/issues/99039?

I don't think this is the same issue even though it looks close, in https://github.com/flutter/flutter/issues/99039 the runtime (managed by cipd) isn't available, in this one the runtime is available, but the device type isn't.  I don't understand where the device type lives if not Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/DeviceTypes/.  Both may be cleared up by the Xcode cache clearing.  We can reopen this one if it shows up again.

Happened again in https://ci.chromium.org/p/flutter/builders/prod/Mac Web Engine/9553.

@CaseyHillers this is on Mac Web Engine which is using { "name": "old_osx_sdk", "path": "osx_sdk" }, is it possible https://flutter-review.googlesource.com/c/infra/+/28440/ caused issues here?

The above cl added only two more runtime caches without affecting existing osx_sdk cache:

The two failed builds happened on https://chromium-swarm.appspot.com/bot?id=build818-m9 and https://chromium-swarm.appspot.com/bot?id=build817-m9, both had an earlier failed run on Mac clang-tidy at step install xcode. Wondering if we need a cache refresh.
Trying an led run on a good bot to validate.

An led run on build819: https://luci-milo.appspot.com/raw/build/logs.chromium.org/flutter/led/keyonghan_google.com/728275e5db28c25ac54938b9e956ab0e40a80813c891077d4d8edf567cc8398b/+/build.proto
So far the device type profile is there. Expectation is the build will pass.

Can we try led runs on build818 and 817 and check the content of the xcode simruntime folder from ssh?

Latest update:
Led runs on two failed bots:
build 817, build 818
I was blocked on permission issue to ssh to these bots, and @godofredoc is helping validate some cases instead of simply refreshing the caches. From godofredo:
The problem was that the build was run with runtimes property and the old cache name

What's the status of this? The Engine tree has been closed for 17 hours.

Out of curiosity, why is Mac Web Engine left on Mac 10? I kicked off a build in https://ci.chromium.org/ui/p/flutter/builders/try/Mac Web Engine/24081/overview to see if it would pass on Mac 12.

Out of curiosity, why is Mac Web Engine left on Mac 10?

It's on macOS 10.15 and Xcode 12.3 because Safari won't launch on the Xcode 13 simulators https://github.com/flutter/flutter/issues/99885

Copying from internal chat (thanks @keyonghan for the recap):

@jmagman landed PR to push engine builders to xcode13+mac12 with Web Engine remaining in mac10
In post-submit, the ci.yaml roller broke (os dimension not populated and post-submit scheduler had a bug), those builders are still running on mac10 but with new xcode version and runtime (which is not compatible)
@CaseyHillers  helped manual roll the ci yaml, and other engine builders are switched to mac12 and running through
However for Web Engine, it is still running on mac10, where earlier failed builds (new xcode and runtime) have polluted the cache.

The hesitation here is there's an issue with the recipes not correctly identifying older xcodes/simulators being used, and not wiped the directory.
AIs:

@CaseyHillers to move build825-m9 for future investigation on the true root cause
Infra will wipe the mac caches on Mac 10 bots

I went through the engine build dashboard to find Mac 10 bots run that failed with xcode 13. I gathered the list and will start wiping them:
# Failed bot list
build812-m9
build813-m9
build814-m9
build815-m9
build816-m9
build817-m9
build818-m9
build820-m9
build821-m9
build822-m9
build823-m9
build824-m9
build826-m9
build827-m9

Talked with @yjbanov and it seems like Mac Web Engine is running on Mac 12 now. We landed flutter/engine#32337 as the issue is running this test on the corrupt Mac 10 bots.

This builder failed many times on Xcode 13 due to https://github.com/flutter/flutter/issues/99885 /cc @godofredoc it passed a few times for reasons we couldn't figure out.

The latest build is hanging. I guess we need a revert: https://github.com/flutter/engine/pull/32340
Meanwhile, I am cleaning up caches.

Led run on a refreshed bot: https://luci-milo.appspot.com/raw/build/logs.chromium.org/flutter/led/keyonghan_google.com/340047dc7d61d76dffb91c87cff50b598859bc233a41f175c627a520692da442/+/build.proto

I have some local changes I used for validation yesterday unfortunately I haven't been able to test them yet. I'll upload the current version of the recipe change just in case someone has free cycles to validate it.

Here is a run with the changes to remove the runtimes properly: https://chromium-swarm.appspot.com/task?id=59f5766358a6e610

All bots are cleaned up, and we should be ready to land https://github.com/flutter/engine/pull/32340 to unblock the tree.

After 15+ green runs, this looks fixed. Thanks Keyong!


Video is not filling Player view when there is Resolution drop in a playlist [Amazon Fire Stick]

Video is not filling Player view when VideoSize is changed in a playlist [Amazon Fire Stick]
I'm using media3 Exoplayer player (androidx.media3:media3-exoplayer:1.2.1) building a media player android TV app, however, if there is a playlist of several videos with different resolutions I see a weird behaviour on the display explained below. Only Happens on Amazon FireStick (FireOs 6 & 7), works good on other Android TVs

All Videos have 16:9 ratio

Some Videos have resolution of 1920x1080 and others are say 720x480.

When ExoPlayer starts to play the playlist seems it locks the player view to the first frame size which is 1920x1080 for instance.It is working fine until now.So when next video is played and  if it is of lower resolution say 720x480, it occupies only a part of the screen and the last frame of the previous video is still filling the rest of the screen as shown in the following image. And the the second video will start to play in that small section.

This exact issue is mentioned here but no  response yet
Stackoverflow link : https://stackoverflow.com/questions/74888540/video-is-not-filling-exoplayer-view-when-videosize-is-changed-in-a-playlist-ama

Every time when next l=channel is clicked createPlayer() function is hit.
@OptIn(UnstableApi::class)
private fun createPlayer() {

    releasePlayer()
    if (player == null) {
        trackSelector = DefaultTrackSelector(context)
        player = ExoPlayer.Builder(context)
            .setTrackSelector(trackSelector!!)
            .build()
        player?.addAnalyticsListener(EventLogger(trackSelector))
        player?.addListener(this)
        binding.playerView.player = player
    }

    loadMediaItem()
    showPlayer()
}

private fun loadMediaItem() {
    val mediaItem = MediaItem.fromUri(channel?.videoSourceURL ?: "")
    player?.setMediaItem(mediaItem)
    player?.prepare()
    player?.play()
}

private fun showPlayer() {
    binding.playerView.visibility = View.VISIBLE
    binding.tvPlayerError.visibility = View.GONE
    binding.pbPlayerProgress.visibility = View.VISIBLE
}

private fun releasePlayer() {
    player?.release()
    player = null
    trackSelector = null
}

Hi @ShrirakshaRShetty,
Thanks for reporting! Given this issue is only reproducible on Amazon device, we highly recommend you to report a bug to Amazon, as currently we can hardly see it is a library problem. I'm labelling this as a device specific issue for now.


Learn WebAssembly

Can you point me to online resources to learn WebAssembly?

Do you know why WebAssembly is also called Wasm?

How do you pronounce Wasm?

I thought it is pronounced as "awesome" with the silent W?


Historical DSWx-S1 Request over Alberta

Venue
PST
Product
DSWx-S1
SAS Version
No response
SDS Version
No response
Input Data
https://github.com/OPERA-Cal-Val/DSWx-Validation-Experiments/blob/main/marshak/dswx-s1-organization/bc_alberta_request.csv
This has the input SLCs and the associated MGRS tiles (though duplicates are removed so only one mgrs tile for each slc is shown).
Share Results

[ ] Google Earth Engine (GEE)
[ ] NASA Distributed Active Archive Centers (DAAC) User Acceptance Testing (UAT)

Additional Notes
For Bruce Chapman

All products were generated except for 12VVK and 12VVL on 20170509. After an initial investigation, this appears to be due to an indexing issue in the SAS code. SDS is providing details to ADT.

Closing as missing date/tile pairs are not needed for analysis.

Will reprocess with final DSWx-S1 release for IV validation.

We have to wait for Request #53 to be completed before we can start this.

Reconfiguring the cluster to disable use of credentials in downloading data. This is necessary to download files from ASF UAT (as opposed to ASF OPS where we need to use credentials)

Unfortunately the list of RTC products generated store in the GRQ ES was lost when the PST cluster was re-deployed. Fortunately I was able to find them directly on ASF UAT CMR using the following command
python daac_data_subscriber.py survey -c OPERA_L2_RTC-S1_V1 --endpoint=UAT --start-date=2017-05-01T08:17:50Z --end-date=2018-10-01T08:35:59Z --step-hours=168 --use-temporal
The files listed are here and this is what will be used to to trigger DSWx-S1 processing
PST_request_49_list_of_RTC.csv

DSWx-S1 processing has started

Processing is about 50% complete already. Should complete tonight

This processing is complete. Here are the listing of the products:
Req_49_dswx_s1_historical_Alberta.txt


Is it possible to add containers/images filter by LABEL

Hi,
For now when we exclude container by name. If another instance are deployed with the others name, we have to update the exclusion list.
I think LABEL can solve the problem?
Thx

absolutely, are you interested in submitting a PR?

https://github.com/docker/docker-bench-security/pull/531

Merged  #531


Different resolv.conf when using "build" vs. "run"

I have Ubuntu 14.04.3, Kernel 3.19.0-26, Docker 1.7.0-dev, build 5e06332 from ppa http://ppa.launchpad.net/docker-maint/testing/ubuntu
My /etc/default/docker contains
DOCKER_OPTS="--dns <IP_ADDRESS> --dns <IP_ADDRESS>"

When I do a
docker rm testdns
docker run -it --name testdns ubuntu:14.04 cat /etc/resolv.conf; ping example.com

it works perfectly:
nameserver <IP_ADDRESS>
nameserver <IP_ADDRESS>
search fritz.box
PING example.com (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=56 time=165 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=56 time=160 ms

But when I use a Dockerfile
FROM ubuntu:14.04
RUN     cat /etc/resolv.conf;ping example.com;ping <IP_ADDRESS>

and do a
docker build -t test/testdns .

it uses a different resolv.conf and DNS is not working while networking does:
Sending build context to Docker daemon 24.06 kB
Sending build context to Docker daemon
Step 0 : FROM ubuntu:14.04
 ---> 8251da35e7a7
Step 1 : RUN cat /etc/resolv.conf;ping example.com;ping <IP_ADDRESS>
---> Running in 9002497c3123
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver <IP_ADDRESS>
search fritz.box
ping: unknown host example.com
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=55 time=161 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=55 time=161 ms
64 bytes from <IP_ADDRESS>: icmp_seq=3 ttl=55 time=163 ms

Basically this means that DOCKER_OPTS DNS settings were used for "run" but not for "build". Instead, there should be no difference.

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

docker version
Client version: 1.7.0-dev
Client API version: 1.19
Go version (client): go1.4.2
Git commit (client): 5e06332
OS/Arch (client): linux/amd64
Server version: 1.7.0-dev
Server API version: 1.19
Go version (server): go1.4.2
Git commit (server): 5e06332
OS/Arch (server): linux/amd64

docker info
Containers: 3
Images: 32
Storage Driver: btrfs
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.19.0-26-generic
Operating System: Ubuntu 14.04.3 LTS
CPUs: 4
Total Memory: 7.6 GiB
Name: lat61
ID: SFHR:PHZN:6ZHO:FMPD:JBUT:U5CJ:GPE5:AI7Z:YRN3:PMWY:B24N:7NFK
WARNING: No swap limit support

uname -a
Linux lat61 3.19.0-26-generic #28~14.04.1-Ubuntu SMP Wed Aug 12 14:09:17 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Steps to reproduce were posted already. I also have libvirt/KVM/Qemu installed (currently no machine running).
 Test:
My /etc/default/docker contains (as before)
DOCKER_OPTS="--dns <IP_ADDRESS> --dns <IP_ADDRESS>"

My Vagrantfile is (as before)
FROM ubuntu:14.04
RUN     cat /etc/resolv.conf;ping example.com;ping <IP_ADDRESS>

When I run (as before)
docker build -t test/testdns .
It returns
Sending build context to Docker daemon 24.06 kB
Step 0 : FROM ubuntu:14.04
 ---> 8251da35e7a7
Step 1 : RUN cat /etc/resolv.conf;ping example.com;ping <IP_ADDRESS>
 ---> Running in 51fd3571c4af
nameserver <IP_ADDRESS>
nameserver <IP_ADDRESS>
search fritz.box
PING example.com (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=55 time=162 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=55 time=164 ms

Wich means that DOCKER_OPTS was respected as resolv.conf is corresponding. That said, DNS works and the bug has gone in 1.8.1. Should be published soon via launchpad ppa!
Issue can be closed.

Thanks!

For the record: With docker 1.8.1/ubuntu 14.04.3 it even works out of the box without setting DOCKER_OPTS. Just defaulting to google DNS:
docker build -t test/testdns .

Sending build context to Docker daemon 26.62 kB
search fritz.box
nameserver <IP_ADDRESS>
nameserver <IP_ADDRESS>PING example.com (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=55 time=160 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=55 time=161 ms

It is not working for me... Since I upgraded to docker 1.8.1, I have problem building my images :
Step 1 : RUN apt-get update
 ---> Running in 1c689204e4f0
Err http://archive.ubuntu.com trusty InRelease

Err http://archive.ubuntu.com trusty-updates InRelease

Err http://archive.ubuntu.com trusty-security InRelease

Err http://archive.ubuntu.com trusty Release.gpg
  Could not resolve 'archive.ubuntu.com'
Err http://archive.ubuntu.com trusty-updates Release.gpg
  Could not resolve 'archive.ubuntu.com'
Err http://archive.ubuntu.com trusty-security Release.gpg
  Could not resolve 'archive.ubuntu.com'
Reading package lists...
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/InRelease

W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-updates/InRelease

W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-security/InRelease

W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/Release.gpg  Could not resolve 'archive.ubuntu.com'

W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-updates/Release.gpg  Could not resolve 'archive.ubuntu.com'

W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-security/Release.gpg  Could not resolve 'archive.ubuntu.com'

When testing the same command as you
Step 0 : FROM ubuntu:14.04
 ---> d2a0ecffe6fa
Step 1 : RUN cat /etc/resolv.conf;ping example.com;ping <IP_ADDRESS>
 ---> Running in<PHONE_NUMBER>ac
nameserver <IP_ADDRESS>
nameserver <IP_ADDRESS>
ping: unknown host example.com

but I can ping just fine on the docker host.
My /etc/default/docker contains
DOCKER_OPTS="--dns <IP_ADDRESS> --dns <IP_ADDRESS>"

Docker version
Client:
 Version:      1.8.1
 API version:  1.20
 Go version:   go1.4.2
 Git commit:   d12ea79
 Built:        Thu Aug 13 02:35:49 UTC 2015
 OS/Arch:      linux/amd64

Server:
 Version:      1.8.1
 API version:  1.20
 Go version:   go1.4.2
 Git commit:   d12ea79
 Built:        Thu Aug 13 02:35:49 UTC 2015
 OS/Arch:      linux/amd64

Docker infos
Containers: 14
Images: 1072
Storage Driver: devicemapper
 Pool Name: docker-8:1-262623-pool
 Pool Blocksize: 65.54 kB
 Backing Filesystem: extfs
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 8.255 GB
 Data Space Total: 107.4 GB
 Data Space Available: 30.44 GB
 Metadata Space Used: 33.51 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.114 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.77 (2012-10-15)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.13.0-52-generic
Operating System: Ubuntu 14.04.2 LTS
CPUs: 2
Total Memory: 3.861 GiB
Name: test.dev
ID: F5T4:5TQR:TFFZ:WGN4:WDZT:ZX6A:ZHGY:DI4O:5GZ2:CJIV:UFLZ:TGKK
WARNING: No swap limit support

uname -a
Linux test.dev 3.13.0-52-generic #86-Ubuntu SMP Mon May 4 04:32:59 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

I did not have those problems in 1.7.1, is it possible to set a specific version of docker-engine when we install ?

@trompx What happens if you perform a
docker run -it --name testdns ubuntu:14.04 cat /etc/resolv.conf; ping example.com

@thomaszbz The ping works
$ docker run -it --name testdns ubuntu:14.04 cat /etc/resolv.conf; ping example.com
Post http:///var/run/docker.sock/v1.20/containers/create?name=testdns: dial unix /var/run/docker.sock: permission denied.
* Are you trying to connect to a TLS-enabled daemon without TLS?
* Is your docker daemon up and running?
PING example.com (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=51 time=94.1 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=51 time=117 ms
64 bytes from <IP_ADDRESS>: icmp_seq=3 ttl=51 time=89.2 ms
64 bytes from <IP_ADDRESS>: icmp_seq=4 ttl=51 time=87.7 ms

I tried a full system reinstall but apt-get update still not working (tried with both ubuntu:14.04 and phusion baseimage)
Step 0 : FROM phusion/baseimage:latest OR FROM ubuntu:14.04
 ---> e9f50c1887ea
Step 1 : RUN apt-get update
 ---> Running in 4da1b4cea753
Err http://archive.ubuntu.com trusty InRelease

Err http://archive.ubuntu.com trusty-updates InRelease

Err http://archive.ubuntu.com trusty-security InRelease

Err http://archive.ubuntu.com trusty Release.gpg
  Could not resolve 'archive.ubuntu.com'
Err http://archive.ubuntu.com trusty-updates Release.gpg
  Could not resolve 'archive.ubuntu.com'
Err http://archive.ubuntu.com trusty-security Release.gpg
  Could not resolve 'archive.ubuntu.com'
Reading package lists...
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/InRelease

W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-updates/InRelease

W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-security/InRelease

W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/Release.gpg  Could not resolve 'archive.ubuntu.com'

W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-updates/Release.gpg  Could not resolve 'archive.ubuntu.com'

W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-security/Release.gpg  Could not resolve 'archive.ubuntu.com'

W: Some index files failed to download. They have been ignored, or old ones used instead.

On system reinstalled, I configured /etc/default/docker with
DOCKER_OPTS="--dns <IP_ADDRESS> --dns <IP_ADDRESS> --storage-driver=devicemapper --iptables=false"

thus the docker forward chain accept policy was missing.
Removing iptables=false from DOCKER_OPTS and restarting docker solved it.


How to add 'not-qualify as a celebrity' twitter profile batch

I would like to add a batch of twitter profiles (that are not qualified as celebrities) though the POST request rather adding individual profile as demonstrated in the below example:
curl -X POST --user {username}:{password}
--header "Content-Type: application/json"
--header "Accept: text/csv"
--data-binary<EMAIL_ADDRESS>--output profile.csv
"https://gateway.watsonplatform.net/personality-insights/api/v3/profile?version=2016-10-20&consumption_preferences=true&raw_scores=true&csv_headers=true"

Go for it! :)
That's not really a bug, though, so I'm going to close this ticket.


Datalink

Can you please point me out where the OaiAdapter gather the DOI from the DataLink Tables? In particular where the Objects such as Envelop for Applause, Targets for CARS or Stacks for XMM get their DOI registered in the OAI table.
I can see where the datalink table is updated with the metadata DOIs
I also see where the OAI table is updated with the metadata from tables and schemas.
But I do not see where the OAI table is updated from the Datalink tables.


push() call doesn't send HTTP request if response is not processed properly

Hi,
I've encountered a bug when using your library.
After notification is properly set up, calling FcmResponse resp = Pushraven.push(myNotification) doesn't actually send HTTP request to Firebase server. You have to call resp.getResponseCode() or resp.toString() afterwards for it to be sent.
The issue is described here and is caused by the way  sending is implemented in Http(s)URLConnection class.
Please add explicit call of e.g. getResponseCode method after calling connect here, probably in FcmResponse constructor.
If adding it is not OK for some reason, please add info about this to README.

Thanks,
This got broken in the latest release (less than a week ago). Thanks for pointing it out so quickly.
It should be fixed now. It is released as version 1.0.2 in maven and also in the release section in Github.


Disseminate the "PRE-SUBMISSION PENDING VALIDATION" feature developed for PCI RR in all PCI

 Disseminate the "PRE-SUBMISSION PENDING VALIDATION" feature developed for PCI RR in all PCI - with slight changes

 Disseminate the "PRE-SUBMISSION PENDING VALIDATION" feature developed for PCI RR in all PCI - with slight changes


Replace path properties with @ConfigurationProperties

Fixes gh-128
Creates config props to handle:

GraphQL path
GraphiQL path
schema-json path

Verification
I added tests for the config props as well as verified the generated metadata file.
/Users/cbono/indeed/dgs-framework/graphql-dgs/build/tmp/kapt3/classes/main/META-INF/spring-configuration-metadata.json
{
  "groups": [
    {
      "name": "dgs.graphql",
      "type": "com.netflix.graphql.dgs.DgsGraphQLConfigurationProperties",
      "sourceType": "com.netflix.graphql.dgs.DgsGraphQLConfigurationProperties"
    },
    {
      "name": "dgs.graphql.graphiql",
      "type": "com.netflix.graphql.dgs.DgsGraphQLConfigurationProperties$DgsGraphiQLConfigurationProperties",
      "sourceType": "com.netflix.graphql.dgs.DgsGraphQLConfigurationProperties",
      "sourceMethod": "getGraphiql()"
    },
    {
      "name": "dgs.graphql.schema-json",
      "type": "com.netflix.graphql.dgs.DgsGraphQLConfigurationProperties$DgsSchemaJsonConfigurationProperties",
      "sourceType": "com.netflix.graphql.dgs.DgsGraphQLConfigurationProperties",
      "sourceMethod": "getSchemaJson()"
    }
  ],
  "properties": [
    {
      "name": "dgs.graphql.graphiql.path",
      "type": "java.lang.String",
      "description": "Path to the GraphiQL endpoint without trailing slash.",
      "sourceType": "com.netflix.graphql.dgs.DgsGraphQLConfigurationProperties$DgsGraphiQLConfigurationProperties",
      "defaultValue": "\/graphiql"
    },
    {
      "name": "dgs.graphql.path",
      "type": "java.lang.String",
      "description": "Path to the GraphQL endpoint without trailing slash.",
      "sourceType": "com.netflix.graphql.dgs.DgsGraphQLConfigurationProperties",
      "defaultValue": "\/graphql"
    },
    {
      "name": "dgs.graphql.schema-json.path",
      "type": "java.lang.String",
      "description": "Path to the schema-json endpoint without trailing slash.",
      "sourceType": "com.netflix.graphql.dgs.DgsGraphQLConfigurationProperties$DgsSchemaJsonConfigurationProperties",
      "defaultValue": "\/schema.json"
    }
  ],
  "hints": []
}

TODO
Tomorrow I will add validation to the config props for the paths (valid URI that starts w/ a slash but does not end w/ a slash).
My current plan is to inline the  implements Validator on the config props and do the manual validation there.
Long term we may want to consider the more solid, heavier approach of bean validation 2.0  via
org.hibernate.validator:hibernate-validator:6.2.0.Final
jakarta.validation:jakarta.validation-api:2.0.2

which would give us rich declarative validation w/ all of these constraints.
ℹ note that hibernate-validator brings ZERO of the persistence aspect of HB8 into the classpath.
Nonetheless the validation we need right now does not warrant adding these deps at this time IMO.

I created a PR off of this one to show what it would take to add JSR-303 validation to the config props here.

I think the fine grained approach will work out well. I'll pivot and have
something to look out in a bit.
On Sat, Mar 13, 2021, 5:24 PM Paul Bakker @.***> wrote:

@.**** commented on this pull request.
In
graphql-dgs/src/main/kotlin/com/netflix/graphql/dgs/DgsGraphQLConfigurationProperties.kt
https://github.com/Netflix/dgs-framework/pull/148#discussion_r593814369:

+package com.netflix.graphql.dgs
+
+import org.springframework.boot.context.properties.ConfigurationProperties
+import org.springframework.boot.context.properties.ConstructorBinding
+import org.springframework.boot.context.properties.bind.DefaultValue
+import org.springframework.validation.annotation.Validated
+
+/**

Configuration properties for DGS.

*/
+@ConstructorBinding
+@ConfigurationProperties(prefix = "dgs.graphql")
+@Validated
+@Suppress("ConfigurationProperties")
+data class DgsGraphQLConfigurationProperties(

I'm wondering how the set of properties will grow over time, and if those
properties are "common" or specific to certain technologies. E.g. I might
imagine spring-data integration, which would have its own set of
configurations. That configuration probably doesn't belong in a common
module. That would speak for the fine-grained approach.
For the coarse-grained approach, does it need to live in the dgs core
module? Could we instead move it either to a separate module? That way it
can still be all together but without the need to "bloat" the core module?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Netflix/dgs-framework/pull/148#discussion_r593814369,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AG4RTQZ3G4B7K7JBGM6AFWDTDPQYLANCNFSM4ZDMTAXA
.

@bono007 should we close this PR? (in favor of the other PR with the alternative approach)

Closing in favor of #152 or #153 (TBD)

Closing this in favor of #153


CLI fails after FSLeyes install

When installing ADS alone, everything is working fine.
When installing both ADS and FSLeyes, CLI and axondeepseg_test are no longer working (Ubuntu 20.04 in WSL1).

Error message
Traceback (most recent call last):
  File "/home/mhbourget/miniconda/envs/ads_venv_test_fsl/lib/python3.7/site-packages/pkg_resources/__init__.py", line 567, in _build_master
    ws.require(__requires__)
  File "/home/mhbourget/miniconda/envs/ads_venv_test_fsl/lib/python3.7/site-packages/pkg_resources/__init__.py", line 884, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/home/mhbourget/miniconda/envs/ads_venv_test_fsl/lib/python3.7/site-packages/pkg_resources/__init__.py", line 775, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (Pillow 8.0.1 (/home/mhbourget/miniconda/envs/ads_venv_test_fsl/lib/python3.7/site-packages), Requirement.parse('pillow==6.2.0'), {'AxonDeepSeg'})

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/mhbourget/miniconda/envs/ads_venv_test_fsl/bin/axondeepseg_test", line 33, in <module>
    sys.exit(load_entry_point('AxonDeepSeg', 'console_scripts', 'axondeepseg_test')())
  File "/home/mhbourget/miniconda/envs/ads_venv_test_fsl/bin/axondeepseg_test", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "/home/mhbourget/miniconda/envs/ads_venv_test_fsl/lib/python3.7/site-packages/importlib_metadata/__init__.py", line 93, in load
    module = import_module(match.group('module'))
  File "/home/mhbourget/miniconda/envs/ads_venv_test_fsl/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/mhbourget/axondeepseg/AxonDeepSeg/integrity_test.py", line 9, in <module>
    from AxonDeepSeg.testing.segmentation_scoring import *
  File "/home/mhbourget/axondeepseg/AxonDeepSeg/testing/segmentation_scoring.py", line 18, in <module>
    import AxonDeepSeg.ads_utils
  File "/home/mhbourget/axondeepseg/AxonDeepSeg/ads_utils.py", line 18, in <module>
    import imageio
  File "/home/mhbourget/miniconda/envs/ads_venv_test_fsl/lib/python3.7/site-packages/imageio/__init__.py", line 22, in <module>
    from .core import FormatManager, RETURN_BYTES
  File "/home/mhbourget/miniconda/envs/ads_venv_test_fsl/lib/python3.7/site-packages/imageio/core/__init__.py", line 10, in <module>
    from .util import Image, Dict, asarray, image_as_uint, urlopen
  File "/home/mhbourget/miniconda/envs/ads_venv_test_fsl/lib/python3.7/site-packages/imageio/core/util.py", line 20, in <module>
    import pkg_resources
  File "/home/mhbourget/miniconda/envs/ads_venv_test_fsl/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3238, in <module>
    @_call_aside
  File "/home/mhbourget/miniconda/envs/ads_venv_test_fsl/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3222, in _call_aside
    f(*args, **kwargs)
  File "/home/mhbourget/miniconda/envs/ads_venv_test_fsl/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3251, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/home/mhbourget/miniconda/envs/ads_venv_test_fsl/lib/python3.7/site-packages/pkg_resources/__init__.py", line 569, in _build_master
    return cls._build_from_requirements(__requires__)
  File "/home/mhbourget/miniconda/envs/ads_venv_test_fsl/lib/python3.7/site-packages/pkg_resources/__init__.py", line 582, in _build_from_requirements
    dists = ws.resolve(reqs, Environment())
  File "/home/mhbourget/miniconda/envs/ads_venv_test_fsl/lib/python3.7/site-packages/pkg_resources/__init__.py", line 770, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'wheel>=0.26' distribution was not found and is required by tensorflow

This seems related to #393 and #395, with a discrepancy of the Pillow package.
I tried re-installing ADS after FSLeyes, it fixes the problem for CLI and axondeepseg_test, also FSLeyes is working as expected.
Here is the packages that were re-insatlled:

Re-installed packages
Installing collected packages: numpy, scipy, pillow, matplotlib, urllib3, idna, requests, AxonDeepSeg
  Attempting uninstall: numpy
    Found existing installation: numpy 1.19.4
    Uninstalling numpy-1.19.4:
      Successfully uninstalled numpy-1.19.4
  Attempting uninstall: scipy
    Found existing installation: scipy 1.5.3
    Uninstalling scipy-1.5.3:
      Successfully uninstalled scipy-1.5.3
  Attempting uninstall: pillow
    Found existing installation: Pillow 8.0.1
    Uninstalling Pillow-8.0.1:
      Successfully uninstalled Pillow-8.0.1
  Attempting uninstall: matplotlib
    Found existing installation: matplotlib 3.3.3
    Uninstalling matplotlib-3.3.3:
      Successfully uninstalled matplotlib-3.3.3
  Attempting uninstall: urllib3
    Found existing installation: urllib3 1.25.11
    Uninstalling urllib3-1.25.11:
      Successfully uninstalled urllib3-1.25.11
  Attempting uninstall: idna
    Found existing installation: idna 2.10
    Uninstalling idna-2.10:
      Successfully uninstalled idna-2.10
  Attempting uninstall: requests
    Found existing installation: requests 2.25.0
    Uninstalling requests-2.25.0:
      Successfully uninstalled requests-2.25.0
  Attempting uninstall: AxonDeepSeg
    Found existing installation: AxonDeepSeg 3.2.0
    Uninstalling AxonDeepSeg-3.2.0:
      Successfully uninstalled AxonDeepSeg-3.2.0
  Running setup.py develop for AxonDeepSeg
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
fslpy 3.4.0 requires dataclasses, which is not installed.
Successfully installed AxonDeepSeg idna-2.7 matplotlib-3.1.0 numpy-1.16.4 pillow-6.2.0 requests-2.20.1 scipy-1.3.0 urllib3-1.24.3

We were planning in #395 to update the documentation to mention to re-install FSLeyes after ADS. I think it would be better to always re-install ADS after FSLeyes. That way, we would have the same versions installed whether FSLeyes is installed or not (which is not the case right now).

Thanks for looking into this @mariehbourget.
The more I think about it, the less I like the idea of the strategy to tell users to reinstall either ADS or FSLeyes just in order to override some of the package rules. The package rules are there for a reason, and if we need to reinstall ADS just to override the versions install by FSLeyes (which overrode the original ADS ones), then maybe something bigger is the problem. By re-installing ADS to force versions, we risk installing versions of packages that are incompatible with FSLeyes, which we won't detect in our tests.
What we can control though is our own package rules, and I think these problems we've been having with FSLeyes may be an indication that they are too strict. It may be worth exploring some >= rules instead of the strictest == rules for the packages that are overriden by FSLeyes. This means that we'd be installing the latest versions and FSLeyes shouldn't override them anymore, and we'd actually be testing the ADS software for these versions. The disadvantage of this is that we won't have a git record of the versions actually being used at different points in time like we do now, however we would be able to find this with a little bit of research which is just a mild inconvenience. This is what most other softwares do anyways (>= rules), so we're still using good practices regardless.
@jcohenadad thoughts?

p.s. we could easily find the rules that need to be changed by doing a diff between the pip freeze before and after installing FSLeyes, and changing the rules that are in our requirements files that are different between these two.

My first question would be: Does this bug appear in the CI? If not, can add a test to make sure that our master (and release) versions don't carry this bug?
Regarding the avoidance of the == rule: I agree. In fact for SCT, ivadomed and shimming-toolbox projects we are now adopting the ~= convention, so maybe we could go with it for ADS as well?
As for the checking what exact version of libraries were used retroactively, as mentioned by @mathieuboudreau we can do a pip freeze and save that pip freeze for every release, e.g. as done in SCT.
@kousu @joshuacwnewton do you have any recommendations?

I agree about moving away from == for requirements.txt, and only using pip freeze for releases.
But, just to clarify this one comment:

Regarding the avoidance of the == rule: I agree. In fact for SCT, ivadomed and shimming-toolbox projects we are now adopting the ~= convention, so maybe we could go with it for ADS as well?

Our use of ~= was only for h5py, because we had a very clear idea of which versions were safe to use and which weren't. We knew that 2.10.0 was safe, and we knew that 3.0.0 and above broke things, so saying h5py~=2.10.0 was a way of saying "We want 2.10.0 at the very minimum, or any security patches that arrive after."
More generally, however, you can and should be much more flexible in your install_requires specification by using <, >, <=, >= and etc. It all depends on your understanding of the upper and lower bounds of the requirements. (In fact, it's possible we could have been even more flexible for h5py too, even, by saying something like h5py<3.0 instead of h5py~=2.10.0.)

thank you for your insights @joshuacwnewton

Not sure if this is related, or maybe I installed it wrong, but when I followed the instructions here: https://axondeepseg.readthedocs.io/en/latest/documentation.html#installation, I got to the section Graphical User Interface, and was fine up until the line:
fsleyes

That gave me this error:
ImportError: ('Unable to load OpenGL library', 'dlopen(OpenGL, 10): image not found', 'OpenGL', None)

I followed the order of the instructions, so installed the axondeepseg package from GitHub, and then installed fsleyes.
OS & Python Version
Python 3.7.9
MacOSX Big Sur

Not sure if this is related, or maybe I installed it wrong, but when I followed the instructions here: https://axondeepseg.readthedocs.io/en/latest/documentation.html#installation, I got to the section Graphical User Interface, and was fine up until the line:
fsleyes

That gave me this error:
ImportError: ('Unable to load OpenGL library', 'dlopen(OpenGL, 10): image not found', 'OpenGL', None)

I followed the order of the instructions, so installed the axondeepseg package from GitHub, and then installed fsleyes.
OS & Python Version
Python 3.7.9
MacOSX Big Sur

Thank you for your detailed issue report @ahill187 !
When MacOSX Big Sur got released, we found out that the default FSLeyes installation is incompatible by default with this OS, and the FSLeyes developers have not expressed a desire to fix it anytime soon. However someone in the community has found a quick fix that you can do yourself by editing a specific file, which I tried and worked for me! https://www.jiscmail.ac.uk/cgi-bin/wa-jisc.exe?A2=FSL;8ee55ea9.2011
I'd say give that a shot! If you have questions, let us know.
@mariehbourget maybe we should add a warning and the link above in the installation doc re: Big Sur & FSLeyes?

Thank you for your detailed issue report @ahill187 !
When MacOSX Big Sur got released, we found out that the default FSLeyes installation is incompatible by default with this OS, and the FSLeyes developers have not expressed a desire to fix it anytime soon. However someone in the community has found a quick fix that you can do yourself by editing a specific file, which I tried and worked for me! https://www.jiscmail.ac.uk/cgi-bin/wa-jisc.exe?A2=FSL;8ee55ea9.2011
I'd say give that a shot! If you have questions, let us know.
@mariehbourget maybe we should add a warning and the link above in the installation doc re: Big Sur & FSLeyes?

Thank you for your detailed issue report @ahill187 !
When MacOSX Big Sur got released, we found out that the default FSLeyes installation is incompatible by default with this OS, and the FSLeyes developers have not expressed a desire to fix it anytime soon. However someone in the community has found a quick fix that you can do yourself by editing a specific file, which I tried and worked for me! https://www.jiscmail.ac.uk/cgi-bin/wa-jisc.exe?A2=FSL;8ee55ea9.2011
I'd say give that a shot! If you have questions, let us know.
@mariehbourget maybe we should add a warning and the link above in the installation doc re: Big Sur & FSLeyes?

@mathieuboudreau that makes sense, thank you! Yah I think a warning note in the documentation and maybe a link to the fix could be a good idea?

Thank you for your detailed issue report @ahill187 !
When MacOSX Big Sur got released, we found out that the default FSLeyes installation is incompatible by default with this OS, and the FSLeyes developers have not expressed a desire to fix it anytime soon. However someone in the community has found a quick fix that you can do yourself by editing a specific file, which I tried and worked for me! https://www.jiscmail.ac.uk/cgi-bin/wa-jisc.exe?A2=FSL;8ee55ea9.2011
I'd say give that a shot! If you have questions, let us know.
@mariehbourget maybe we should add a warning and the link above in the installation doc re: Big Sur & FSLeyes?

@mathieuboudreau that makes sense, thank you! Yah I think a warning note in the documentation and maybe a link to the fix could be a good idea?

things i tried on macOs catalina:

virtualenv & pip install fsleyes --> ✅
however, what might not work according to @Stoyan-I-A is conda venv and pip install fsleyes:
todo: try that

suggestion: include fsleyes in requirements.

things i tried on macOs catalina:

virtualenv & pip install fsleyes --> ✅
however, what might not work according to @Stoyan-I-A is conda venv and pip install fsleyes:
todo: try that

suggestion: include fsleyes in requirements.

Closing because this was resolved when we moved to a conda env install with FSLeyes installed automatically.


HTTP::WebSocket.new(URI | String) ignores the query part of a given URL

Example code that exhibits this behaviour (unfortunately not perfectly reproducible as I don't know of a public websocket testing server that uses query parameters - if you're testing this, replace the given one with one that does):
require "http/web_socket"

websocket = HTTP::WebSocket.new(URI.parse("wss://websocket.example.com/some_path?key=value"))

# The connection will now behave as if the `?key=value` wasn't there and, depending on the server, completely fail, behave wrongly or work perfectly fine.
websocket.run

I believe the relevant code is at https://github.com/crystal-lang/crystal/blob/d493f0e7e64e36c8c8eef520657a96906380e2b5/src/http/web_socket/protocol.cr#L269, where new(String, String, Int32, Bool) is called without appending the URL query string to the path part. A potential (untested) fix could be:
    if (host = uri.host) && (path = uri.path)
      tls = uri.scheme == "https" || uri.scheme == "wss"
      path += uri.query if uri.query
      return new(host, path, uri.port, tls)
    end

Although I believe the version information is irrelevant, I'm on Arch Linux running Crystal 0.18.7.

Good/accurate report, just hit this myself in fact. I believe the fix itself can be slightly lighter:
if (host = uri.host) && (path = uri.full_path)
  tls = uri.scheme == "https" || uri.scheme == "wss"
  return new(host, path, uri.port, tls, headers)
end

Where (path = uri.path) become (path = uri.full_path) on the first line.

Closed in #5095


[Feature Request] Modify envoy log format via injector

Tell us about your request:
Provide the ability to modify Envoy log format via the Injector. Envoy has support for this.

@skiyani We will look in to it and get back.


Commerce products are not in XML

I am not sure if I missed anything, how do I configure in Search engine sitemap settings?
p.s. I am using the latest EPi Commerce
Thanks,
Vincent

This issue has been solved and a new version of Geta.SEO.Sitemaps (1.5.7) has been uploaded to the Episerver NuGet feed and should be available soon.


Tiny updates

Changed database location to hidden folder off of home directory
Added back and forth functionality to search results

What do you think about allowing for a .tnoterc file with the potential override the directory? If this gets pulled in, I can try my hand adding that.

Hey @huntcsg. I would be more than happy for more contributions :smile:

@huntcsg Merged it. If you are interested in adding the feature you wanted, please go ahead.


html.autoCreateQutoes

So i know this work with an .html file. Is there away to get this to work like class="|" in writing html in a .php file?

It's only when the editor is in html mode. For php, you have to make a request against the PHP extension that you use.


Migrate off of Equinix Metal Elastic Block Storage

https://github.com/clong/DetectionLab/commit/165a9b77bac05ef067757c80c441226e35d3ea87