feature request: charging current

hi, i looked for a free app like "ampere"where you can see how much current your mobiile gets from the charger. at least an approximate value so you can see the charger has the power it promises. i thought wattz has ist, but it doesn't maybe you would like to  change that.

If you open the app, it shows you how many amps the battery is getting from the charger. This will be somewhat less than the charger is giving to the phone, since the phone uses some, but I don't think android exposes charging current directly. Does that help, or were you asking for something else?

I think he is talking about the status bar.
The paid version of Ampere already has this if you are willing to pay (as you will see in my screenshots, i just open both apps). Me personally, i like it that way. Ideal would be 1 App could show both W and A, but the space on the status bar is so limited...there is no way to squeeze both in 1 icon. So i'd leave it as it is (ampere shows amps, wattz shows watts...pretty logical?).
Of course some day in the future the developer of Wattz can make settings to choose from, and bloat the app with functions and ads, like Ampere. But who the hell needs 5 different ways to show the same info (yep i mean the ampere main screen). I personally like it simple and small like Wattz now.
As for the usb charging with type C and PD, there is a very nice chart from Texas Instruments explaining the specs. But the reality is, we still don't have 100W charging for phones. The maximum current is 3A in real life for a phone. And the theoretical 5v are also around 4 in reallity.
So for all practical purposes...one can just divide the Watts by 4 and get the A, as it is well seen on the screenshots.

hi, i am very sorry, i was disoriented because wattz showed me a current draw of only -0,3A from my charger where i remembered had to be much more viewed with ampere. turned out that maybe sth happened to the cable, if i use a new cable, the phone draws 1,8 A. i installed ampere (from "braintrapp") for testing and wattz tells me exactly the same.
nevertheless the idea with the status bar above is good and also for readability the ampere layout is a good inspiration i think. i will attach a screenshot. take care and thanks for the app!

Thanks for the tip. I don't think I'll add a status indicator for amps, especially since there is another app for that. I did end up overhauling the app's layout in 0fc788e9b40480b7df7ed5d794da332351e4d83a, which should help readability quite a bit. I'm no designer, but it's not too bad IMO ;)
Hopefully I'll have a new release cut in the next couple of days, but there are a few items I want to take care of first.

hi, thank you that lookes much better! i don't really lunderstand what you do mean by "especially since there is another app for that. "?! ampere? really for me, an app from google play store is like no app since i don't like that google makes money out of its users data i don't use it. i just installed ampere to test your app. or is there another app which does that on f-droid?

I was referring to ampere. Just out of curiosity, is there a reason you want to see amps instead of watts? Given that the USB-PD spec, as well as other specs like QuickCharge, operate at different voltages, just knowing amperage doesn't necessarily tell you how your charger is performing. Alternatively, watts naturally takes this into account. If you want to see a more detailed amp/volt breakdown, the app view already shows you this.

I was referring to ampere. Just out of curiosity, is there a reason you want to see amps instead of watts? Given that the USB-PD spec, as well as other specs like QuickCharge, operate at different voltages, just knowing amperage doesn't necessarily tell you how your charger is performing.

the reason is its more practical/common. see this powerbank: https://src.discounto.de/pics/Angebote/2019-02/4597445_RealPower-PB-10000-mini-HD-Powerbank-schwarz_xxl.jpg - lots of powerbanks and chargers have the volts and amperes printed on it. some cheap gadgets like my e-cigarette take 'max 1A' - so mostly i have no watts and i don't like to calculate it in my head. in first place i needed to roughly check chargers / usb power supplies respectively cables what they are able deliver and if they are working as they should.

Alternatively, watts naturally takes this into account. If you want to see a more detailed amp/volt breakdown, the app view already shows you this.

the idea with the status bar was not by me. i thought it would be useful to have that as configurable option, since for me the watts are nearly useless, but i have no problem with first starting the app view. to be honest i personally don't need any value printed into the status bar.
what i would like is a usb data cable speed test in your app, while i already accepted that that's not its purpose :)
btw. i am still using an old microUSB phone.

hi, today i installed the new version from f-droid. lookes much nicer! it doesn't look really centered maybe because the text on the left side is shorter but i can live with that. unfortunately the app now doesn't shoow any watts or amperes to me.Current shows 0,0A, Power 0,0W. Energy -Wh (-Ah) when charging or discharging. when charging. Time to Full Charge also remains empty. Regards!

ah okay. when i change the settings to mA i get values tp Current and Power, but still in A. if i change this to uA or nA they are again on 0.

You're effectively selecting what units the phone reports battery current in, not the displayed units. This is a work around for incorrect BatteryManager implementations by your phone manufacture. If you get reasonable power numbers by selecting mA instead, it means your phone is incorrectly reporting current in mA instead of uA (as specified in the API spec).

Ah ok sorry for misundertanding. "Energy" and "Time to full Charge" also fills after a while, "Energy" not yet. Thank you very much.

Jeez, that was a drastic overhaul. The font is much bigger and easy on the eyes now. Thanks.

Release https://github.com/dubrowgn/wattz/releases/tag/v1.13 added a units setting for the status bar indicator. It should show up in F-Droid in the next few days. Google Play is a different story due to new changes to their publishing requirements, so no ETA there at the moment. I'm going to close this as resolved, but feel free to provide feedback. For the time being at least, I'm going to stick to one status bar indicator.


Files not found

Hi, I'm getting the following error as I downloaded the Demo app

I sorry， i forgot push project file. Please fetch new code.

It looks pretty good, is there a possibility to make it interactive?
For example the line graph to be able to tap on it and see the stock prices by day

It looks pretty good, is there a possibility to make it interactive?
For example the line graph to be able to tap on it and see the stock prices by day

You want it like this?

Yes that would be nice


Watcher Info API: /exit.all

Related to #1133, having an endpoint that returns a list of exits will also be beneficial to external data consumers e.g. the block explorer.

Scope: Watcher Informational API
Endpoint: /exit.all
Request:
# /exit.all

{
  "address": "0xf876154263cF61E15e84695096cFdCb5ceEd8D86",
  "limit": 10,
  "page": 1
}

Request params:

address can be omitted to return an unfiltered list (all exits)
limit: number of exits to return, default to 10
page: the page to return, default to 1

Response:
# /exit.all

{
  "success": true,
  "data": [
    {
      "utxo_pos":<PHONE_NUMBER>0000001,
      "owner": "0xf876154263cF61E15e84695096cFdCb5ceEd8D86",
      "amount": 2000,
      "currency": "0x08f0f4E4049218C8BF0978e4001b4FB85bC97C3C",
      "status": "started",
      "timestamp": "1234568000"
    }
  ],
  "data_paging": {
    "page": 1,
    "limit": 10
  }
}

Possible status returns:

started - the default status to return when the exit process started
challenging - the exit is being challenged
challenged - the exit has been challenged successfully
processable - the exit is ready to be processed
processed - the exit has been processed successfully

☝ My understanding of exits is very limited at the moment so I'm expecting a lot of scrutiny on this one.

My knowledge is also quite limited, but...
Would it back sense to also have an exit type? (standard, ife) and also info conveying piggyback info?
Just some things to think about as we learn more...not sure they all make sense or not.


chore: add light-blue section version

Adds another variation of the icons with text with different background
Test URLs:

Before: https://main--netcentric--hlxsites.hlx.page/drafts/mhaack/icons-text
After: https://icon-text-blue--netcentric--hlxsites.hlx.page/drafts/mhaack/icons-text

Page on the wild https://www.netcentric.biz/what-we-do/experience-design.html


Put Object (if changed)

For Buckets that have enabled Versioning, it would be useful to have a "Upsert Object" (insert or update).
Currently, if you do a Put Object it will add a new Version of the object no matter if it's the same contents. The goal would be to check the contents and compare.
There are two ways that comparison could be done:

MD5 calculation of the file contents (and compare with current version)
Use the ETAG param for faster checking (this is available in headers when getting S3 object) s3-etag library

The S3 ETAG is also a MD5 calculation, but only for non-multipart files. Not sure how it works for multipart uploads.

This issues is closed with #13 . Upon item insertion, first MD5 hash is calculated for the body of the item, and it is compared to the current ETag for the object if the object already exists. If they don't match, it means that the contents of the file are changed and the object is put. If versioning is enabled, and the object exists, new version of it will be created. This is both for Put Object and Put Objects. Please note that this is valid only for objects that have MD5 ETags. If the ETags are not MD5, each time the object will be inserted. More details about ETags can be found here.

Re-opening this one, as it seems to overwrite files after the 1.3.0 release.

Btw, in order to allow for speed, perhaps there can be a property/checkbox (Upsert - Only Put Object if the MD5 is different), which if 'true' then will process Upserts, otherwise it will be Put.
This will allow for users that don't want Upserting to save on a HEAD Object call for every object.

Closing this until futher notice. Seems there is some issue with md5 / etag matching. Will debug more and re-open if I can reproduce.


Unknown error occurred

Hi there.
I've an issue with the AlphaEss integration.
Until friday, everything works well.
Now when I try to re-configure the integration I have the following error when I write my credentials: Unknown error occured
So, I cannot use the integration.
Any suggestion?
Thanks

I found the new pre-release for the workaround. How can I use it?

See issue 76 https://github.com/CharlesGillanders/homeassistant-alphaESS/issues/76


Remove cookiecutter-pylibrary-minimal from the list

It's deprecated and I rather not have people waster their time visiting that project page.

Current coverage is 99.58%

Merging #556 into master will not affect coverage as of a3e9bc4

@@            master    #556   diff @@
======================================
  Files           12      12
  Stmts          482     482
  Branches         0       0
  Methods          0       0
======================================
  Hit            480     480
  Partial          0       0
  Missed           2       2

Review entire Coverage Diff as of a3e9bc4

Uncovered Suggestions

+0.42% via ...ookiecutter/utils.py#27...28

Powered by Codecov. Updated on successful CI builds.


JetBrains: Chat: Add "Stop generating" button

It would be very useful to be able to stop Cody while it's talking.
This is how it looks in VS Code:

I suggest we copy this in v1.

This issue was resolved by the https://github.com/sourcegraph/sourcegraph/pull/54710


When local, API Gateway is in error when body containing just one integer (while lambda alone is in success)

Description
First thank you for your work! 🎉
As stated in the title, on local testing, API Gateway is in error for body containing just one integer while lambda is in success.
Steps to reproduce
template.yaml:
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: An example SAM template for Lambda Safe Deployments.

# More info about Globals: https://github.com/awslabs/serverless-application-model/blob/master/docs/globals.rst
Globals:
  Function:
    Timeout: 3

Resources:

  heyFunction:
    Type: AWS::Serverless::Function # More info about Function Resource: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
    Properties:
      CodeUri: hey/
      Handler: app.handler
      Runtime: nodejs8.10
      Events:
        returnS3Buckets:
          Type: Api # More info about API Event Source: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#api
          Properties:
            Path: /hey
            Method: get

hey/app.js:
"use strict";

exports.handler = (event, context, callback) => {
  callback(null, {
    statusCode: 200,
    body: 42
  });
};

sam build && sam local start-api --skip-pull-image --debug

Observed result
2019-04-15 18:28:43 Building resource 'heyFunction'
2019-04-15 18:28:43 Running NodejsNpmBuilder:NpmPack
2019-04-15 18:28:44 Running NodejsNpmBuilder:CopyNpmrc
2019-04-15 18:28:44 Running NodejsNpmBuilder:CopySource
2019-04-15 18:28:44 Running NodejsNpmBuilder:NpmInstall
2019-04-15 18:28:45 Running NodejsNpmBuilder:CleanUpNpmrc

Build Succeeded

Built Artifacts  : .aws-sam/build
Built Template   : .aws-sam/build/template.yaml

Commands you can use next
=========================
[*] Invoke Function: sam local invoke
[*] Package: sam package --s3-bucket <yourbucket>

2019-04-15 18:28:46 Using SAM Template at /Users/cyril/Documents/Dev/Perso/lambda-ci/.aws-sam/build/template.yaml
2019-04-15 18:28:46 Changing event name from creating-client-class.iot-data to creating-client-class.iot-data-plane
2019-04-15 18:28:46 Changing event name from before-call.apigateway to before-call.api-gateway
2019-04-15 18:28:46 Changing event name from request-created.machinelearning.Predict to request-created.machine-learning.Predict
2019-04-15 18:28:46 Changing event name from before-parameter-build.autoscaling.CreateLaunchConfiguration to before-parameter-build.auto-scaling.CreateLaunchConfiguration
2019-04-15 18:28:46 Changing event name from before-parameter-build.route53 to before-parameter-build.route-53
2019-04-15 18:28:46 Changing event name from request-created.cloudsearchdomain.Search to request-created.cloudsearch-domain.Search
2019-04-15 18:28:46 Changing event name from docs.*.autoscaling.CreateLaunchConfiguration.complete-section to docs.*.auto-scaling.CreateLaunchConfiguration.complete-section
2019-04-15 18:28:46 Changing event name from before-parameter-build.logs.CreateExportTask to before-parameter-build.cloudwatch-logs.CreateExportTask
2019-04-15 18:28:46 Changing event name from docs.*.logs.CreateExportTask.complete-section to docs.*.cloudwatch-logs.CreateExportTask.complete-section
2019-04-15 18:28:46 Changing event name from before-parameter-build.cloudsearchdomain.Search to before-parameter-build.cloudsearch-domain.Search
2019-04-15 18:28:46 Changing event name from docs.*.cloudsearchdomain.Search.complete-section to docs.*.cloudsearch-domain.Search.complete-section
2019-04-15 18:28:46 Changing event name from creating-client-class.iot-data to creating-client-class.iot-data-plane
2019-04-15 18:28:46 Changing event name from before-call.apigateway to before-call.api-gateway
2019-04-15 18:28:46 Changing event name from request-created.machinelearning.Predict to request-created.machine-learning.Predict
2019-04-15 18:28:46 Changing event name from before-parameter-build.autoscaling.CreateLaunchConfiguration to before-parameter-build.auto-scaling.CreateLaunchConfiguration
2019-04-15 18:28:46 Changing event name from before-parameter-build.route53 to before-parameter-build.route-53
2019-04-15 18:28:46 Changing event name from request-created.cloudsearchdomain.Search to request-created.cloudsearch-domain.Search
2019-04-15 18:28:46 Changing event name from docs.*.autoscaling.CreateLaunchConfiguration.complete-section to docs.*.auto-scaling.CreateLaunchConfiguration.complete-section
2019-04-15 18:28:46 Changing event name from before-parameter-build.logs.CreateExportTask to before-parameter-build.cloudwatch-logs.CreateExportTask
2019-04-15 18:28:46 Changing event name from docs.*.logs.CreateExportTask.complete-section to docs.*.cloudwatch-logs.CreateExportTask.complete-section
2019-04-15 18:28:46 Changing event name from before-parameter-build.cloudsearchdomain.Search to before-parameter-build.cloudsearch-domain.Search
2019-04-15 18:28:46 Changing event name from docs.*.cloudsearchdomain.Search.complete-section to docs.*.cloudsearch-domain.Search.complete-section
2019-04-15 18:28:46 local start-api command is called
2019-04-15 18:28:46 No Parameters detected in the template
2019-04-15 18:28:46 2 resources found in the template
2019-04-15 18:28:46 Found Serverless function with name='heyFunction' and CodeUri='heyFunction'
2019-04-15 18:28:46 Trying paths: ['/Users/cyril/.docker/config.json', '/Users/cyril/.dockercfg']
2019-04-15 18:28:46 Found file at path: /Users/cyril/.docker/config.json
2019-04-15 18:28:46 Couldn't find auth-related section ; attempting to interpret as auth-only file
2019-04-15 18:28:46 Config entry for key stackOrchestrator is not auth config
2019-04-15 18:28:46 http://localhost:None "GET /v1.35/_ping HTTP/1.1" 200 2
2019-04-15 18:28:46 No Parameters detected in the template
2019-04-15 18:28:46 2 resources found in the template
2019-04-15 18:28:46 Found '1' API Events in Serverless function with name 'heyFunction'
2019-04-15 18:28:46 Detected Inline Swagger definition
2019-04-15 18:28:46 Lambda function integration not found in Swagger document at path='/hey' method='get'
2019-04-15 18:28:46 Found '0' APIs in resource 'ServerlessRestApi'
2019-04-15 18:28:46 Removed duplicates from '0' Explicit APIs and '1' Implicit APIs to produce '1' APIs
2019-04-15 18:28:46 1 APIs found in the template
2019-04-15 18:28:46 Looking for credentials via: env
2019-04-15 18:28:46 Looking for credentials via: assume-role
2019-04-15 18:28:46 Looking for credentials via: shared-credentials-file
2019-04-15 18:28:46 Found credentials in shared credentials file: ~/.aws/credentials
2019-04-15 18:28:46 Loading JSON file: /usr/local/Cellar/aws-sam-cli/0.14.2/libexec/lib/python3.7/site-packages/botocore/data/endpoints.json
2019-04-15 18:28:46 Event choose-service-name: calling handler <function handle_service_name_alias at 0x11135eae8>
2019-04-15 18:28:46 Loading JSON file: /usr/local/Cellar/aws-sam-cli/0.14.2/libexec/lib/python3.7/site-packages/botocore/data/lambda/2015-03-31/service-2.json
2019-04-15 18:28:46 Event creating-client-class.lambda: calling handler <function add_generate_presigned_url at 0x111323620>
2019-04-15 18:28:46 The s3 config key is not a dictionary type, ignoring its value of: None
2019-04-15 18:28:46 Setting lambda timeout as (60, 60)
2019-04-15 18:28:46 Loading JSON file: /usr/local/Cellar/aws-sam-cli/0.14.2/libexec/lib/python3.7/site-packages/botocore/data/_retry.json
2019-04-15 18:28:46 Registering retry handlers for service: lambda
2019-04-15 18:28:46 Trying paths: ['/Users/cyril/.docker/config.json', '/Users/cyril/.dockercfg']
2019-04-15 18:28:46 Found file at path: /Users/cyril/.docker/config.json
2019-04-15 18:28:46 Couldn't find auth-related section ; attempting to interpret as auth-only file
2019-04-15 18:28:46 Config entry for key stackOrchestrator is not auth config
2019-04-15 18:28:46 Mounting heyFunction at http://<IP_ADDRESS>:3000/hey [GET]
2019-04-15 18:28:46 You can now browse to the above endpoints to invoke your functions. You do not need to restart/reload SAM CLI while working on your functions, changes will be reflected instantly/automatically. You only need to restart SAM CLI if you update your AWS SAM template
2019-04-15 18:28:46 Localhost server is starting up. Multi-threading = True
2019-04-15 18:28:46  * Running on http://<IP_ADDRESS>:3000/ (Press CTRL+C to quit)

Then calling in browser URL http://localhost:3000/hey
2019-04-15 18:29:46 Constructed String representation of Event to invoke Lambda. Event: {"httpMethod": "GET", "body": null, "resource": "/hey", "requestContext": {"resourceId": "123456", "apiId": "1234567890", "resourcePath": "/hey", "httpMethod": "GET", "requestId": "c6af9ac6-7b61-11e6-9a41-93e8deadbeef", "accountId": "123456789012", "stage": "prod", "identity": {"apiKey": null, "userArn": null, "cognitoAuthenticationType": null, "caller": null, "userAgent": "Custom User Agent String", "user": null, "cognitoIdentityPoolId": null, "cognitoAuthenticationProvider": null, "sourceIp": "<IP_ADDRESS>", "accountId": null}, "extendedRequestId": null, "path": "/hey"}, "queryStringParameters": null, "headers": {"Host": "localhost:3000", "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:66.0) Gecko/20100101 Firefox/66.0", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3", "Accept-Encoding": "gzip, deflate", "Connection": "keep-alive", "Upgrade-Insecure-Requests": "1", "Pragma": "no-cache", "Cache-Control": "no-cache", "X-Forwarded-Proto": "http", "X-Forwarded-Port": "3000"}, "pathParameters": null, "stageVariables": null, "path": "/hey", "isBase64Encoded": false}
2019-04-15 18:29:46 Found one Lambda function with name 'heyFunction'
2019-04-15 18:29:46 Invoking app.handler (nodejs8.10)
2019-04-15 18:29:46 No environment variables found for function 'heyFunction'
2019-04-15 18:29:46 Environment variables overrides data is standard format
2019-04-15 18:29:46 Loading AWS credentials from session with profile 'default'
2019-04-15 18:29:46 Resolving code path. Cwd=/Users/cyril/Documents/Dev/Perso/lambda-ci/.aws-sam/build, CodeUri=heyFunction
2019-04-15 18:29:46 Resolved absolute path to code is /Users/cyril/Documents/Dev/Perso/lambda-ci/.aws-sam/build/heyFunction
2019-04-15 18:29:46 Code /Users/cyril/Documents/Dev/Perso/lambda-ci/.aws-sam/build/heyFunction is not a zip/jar file
2019-04-15 18:29:46 Skipping building an image since no layers were defined
2019-04-15 18:29:46 Trying paths: ['/Users/cyril/.docker/config.json', '/Users/cyril/.dockercfg']
2019-04-15 18:29:46 Found file at path: /Users/cyril/.docker/config.json
2019-04-15 18:29:46 Couldn't find auth-related section ; attempting to interpret as auth-only file
2019-04-15 18:29:46 Config entry for key stackOrchestrator is not auth config
2019-04-15 18:29:46 http://localhost:None "GET /v1.35/images/lambci/lambda:nodejs8.10/json HTTP/1.1" 200 None
2019-04-15 18:29:46 Requested to skip pulling images ...

2019-04-15 18:29:46 Mounting /Users/cyril/Documents/Dev/Perso/lambda-ci/.aws-sam/build/heyFunction as /var/task:ro inside runtime container
2019-04-15 18:29:46 http://localhost:None "POST /v1.35/containers/create HTTP/1.1" 201 90
2019-04-15 18:29:46 http://localhost:None "GET /v1.35/containers/28c3af9cf13dd2a10c591995ae56099bb187aa6c680f5950177838046f8c9f90/json HTTP/1.1" 200 None
2019-04-15 18:29:46 http://localhost:None "GET /v1.35/containers/28c3af9cf13dd2a10c591995ae56099bb187aa6c680f5950177838046f8c9f90/json HTTP/1.1" 200 None
2019-04-15 18:29:47 http://localhost:None "POST /v1.35/containers/28c3af9cf13dd2a10c591995ae56099bb187aa6c680f5950177838046f8c9f90/start HTTP/1.1" 204 0
2019-04-15 18:29:47 Starting a timer for 3 seconds for function 'heyFunction'
2019-04-15 18:29:47 http://localhost:None "GET /v1.35/containers/28c3af9cf13dd2a10c591995ae56099bb187aa6c680f5950177838046f8c9f90/json HTTP/1.1" 200 None
2019-04-15 18:29:47 http://localhost:None "POST /containers/28c3af9cf13dd2a10c591995ae56099bb187aa6c680f5950177838046f8c9f90/attach?stdout=1&stderr=1&logs=1&stream=1&stdin=0 HTTP/1.1" 101 0
START RequestId: dd1011aa-75b2-117e-3d7d-6071158dd3d3 Version: $LATEST
END RequestId: dd1011aa-75b2-117e-3d7d-6071158dd3d3
REPORT RequestId: dd1011aa-75b2-117e-3d7d-6071158dd3d3	Duration: 10.50 ms	Billed Duration: 100 ms	Memory Size: 128 MB	Max Memory Used: 30 MB
2019-04-15 18:29:47 http://localhost:None "GET /v1.35/containers/28c3af9cf13dd2a10c591995ae56099bb187aa6c680f5950177838046f8c9f90/json HTTP/1.1" 200 None
2019-04-15 18:29:48 http://localhost:None "DELETE /v1.35/containers/28c3af9cf13dd2a10c591995ae56099bb187aa6c680f5950177838046f8c9f90?v=False&link=False&force=True HTTP/1.1" 204 0
2019-04-15 18:29:48 No Content-Type given. Defaulting to 'application/json'.
2019-04-15 18:29:48 <IP_ADDRESS> - - [15/Apr/2019 18:29:48] "GET /hey HTTP/1.1" 500 -
2019-04-15 18:29:48 Error on request:
Traceback (most recent call last):
  File "/usr/local/Cellar/aws-sam-cli/0.14.2/libexec/lib/python3.7/site-packages/werkzeug/serving.py", line 302, in run_wsgi
    execute(self.server.app)
  File "/usr/local/Cellar/aws-sam-cli/0.14.2/libexec/lib/python3.7/site-packages/werkzeug/serving.py", line 292, in execute
    for data in application_iter:
  File "/usr/local/Cellar/aws-sam-cli/0.14.2/libexec/lib/python3.7/site-packages/werkzeug/wsgi.py", line 507, in __next__
    return self._next()
  File "/usr/local/Cellar/aws-sam-cli/0.14.2/libexec/lib/python3.7/site-packages/werkzeug/wrappers/base_response.py", line 45, in _iter_encoded
    for item in iterable:
TypeError: 'int' object is not iterable
2019-04-15 18:29:48 <IP_ADDRESS> - - [15/Apr/2019 18:29:48] "GET /favicon.ico HTTP/1.1" 403 -

Same code perfectly works when directly calling the lambde (through the invoke feature)
Expected result
By just converting integer into string, e.g. + "" it works.
It should work with or with strong conversion.
This updated code
"use strict";

exports.handler = (event, context, callback) => {
  callback(null, {
    statusCode: 200,
    body: 42 + ""
  });
};

gives when calling the URL
2019-04-15 18:32:15 Constructed String representation of Event to invoke Lambda. Event: {"httpMethod": "GET", "body": null, "resource": "/hey", "requestContext": {"resourceId": "123456", "apiId": "1234567890", "resourcePath": "/hey", "httpMethod": "GET", "requestId": "c6af9ac6-7b61-11e6-9a41-93e8deadbeef", "accountId": "123456789012", "stage": "prod", "identity": {"apiKey": null, "userArn": null, "cognitoAuthenticationType": null, "caller": null, "userAgent": "Custom User Agent String", "user": null, "cognitoIdentityPoolId": null, "cognitoAuthenticationProvider": null, "sourceIp": "<IP_ADDRESS>", "accountId": null}, "extendedRequestId": null, "path": "/hey"}, "queryStringParameters": null, "headers": {"Host": "localhost:3000", "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:66.0) Gecko/20100101 Firefox/66.0", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3", "Accept-Encoding": "gzip, deflate", "Connection": "keep-alive", "Upgrade-Insecure-Requests": "1", "Pragma": "no-cache", "Cache-Control": "no-cache", "X-Forwarded-Proto": "http", "X-Forwarded-Port": "3000"}, "pathParameters": null, "stageVariables": null, "path": "/hey", "isBase64Encoded": false}
2019-04-15 18:32:15 Found one Lambda function with name 'heyFunction'
2019-04-15 18:32:15 Invoking app.handler (nodejs8.10)
2019-04-15 18:32:15 No environment variables found for function 'heyFunction'
2019-04-15 18:32:15 Environment variables overrides data is standard format
2019-04-15 18:32:15 Loading AWS credentials from session with profile 'default'
2019-04-15 18:32:15 Resolving code path. Cwd=/Users/cyril/Documents/Dev/Perso/lambda-ci/.aws-sam/build, CodeUri=heyFunction
2019-04-15 18:32:15 Resolved absolute path to code is /Users/cyril/Documents/Dev/Perso/lambda-ci/.aws-sam/build/heyFunction
2019-04-15 18:32:15 Code /Users/cyril/Documents/Dev/Perso/lambda-ci/.aws-sam/build/heyFunction is not a zip/jar file
2019-04-15 18:32:15 Skipping building an image since no layers were defined
2019-04-15 18:32:15 Trying paths: ['/Users/cyril/.docker/config.json', '/Users/cyril/.dockercfg']
2019-04-15 18:32:15 Found file at path: /Users/cyril/.docker/config.json
2019-04-15 18:32:15 Couldn't find auth-related section ; attempting to interpret as auth-only file
2019-04-15 18:32:15 Config entry for key stackOrchestrator is not auth config
2019-04-15 18:32:15 http://localhost:None "GET /v1.35/images/lambci/lambda:nodejs8.10/json HTTP/1.1" 200 None
2019-04-15 18:32:15 Requested to skip pulling images ...

2019-04-15 18:32:15 Mounting /Users/cyril/Documents/Dev/Perso/lambda-ci/.aws-sam/build/heyFunction as /var/task:ro inside runtime container
2019-04-15 18:32:15 http://localhost:None "POST /v1.35/containers/create HTTP/1.1" 201 90
2019-04-15 18:32:15 http://localhost:None "GET /v1.35/containers/f2a54776309341ae5018c59c99f1f6172d114283ec17c9627f8c395ea4483f41/json HTTP/1.1" 200 None
2019-04-15 18:32:15 http://localhost:None "GET /v1.35/containers/f2a54776309341ae5018c59c99f1f6172d114283ec17c9627f8c395ea4483f41/json HTTP/1.1" 200 None
2019-04-15 18:32:16 http://localhost:None "POST /v1.35/containers/f2a54776309341ae5018c59c99f1f6172d114283ec17c9627f8c395ea4483f41/start HTTP/1.1" 204 0
2019-04-15 18:32:16 Starting a timer for 3 seconds for function 'heyFunction'
2019-04-15 18:32:16 http://localhost:None "GET /v1.35/containers/f2a54776309341ae5018c59c99f1f6172d114283ec17c9627f8c395ea4483f41/json HTTP/1.1" 200 None
2019-04-15 18:32:16 http://localhost:None "POST /containers/f2a54776309341ae5018c59c99f1f6172d114283ec17c9627f8c395ea4483f41/attach?stdout=1&stderr=1&logs=1&stream=1&stdin=0 HTTP/1.1" 101 0
START RequestId: 8289a27a-a9f4-1f9c-6329-7b3292c11f94 Version: $LATEST
END RequestId: 8289a27a-a9f4-1f9c-6329-7b3292c11f94
REPORT RequestId: 8289a27a-a9f4-1f9c-6329-7b3292c11f94	Duration: 11.83 ms	Billed Duration: 100 ms	Memory Size: 128 MB	Max Memory Used: 30 MB
2019-04-15 18:32:17 http://localhost:None "GET /v1.35/containers/f2a54776309341ae5018c59c99f1f6172d114283ec17c9627f8c395ea4483f41/json HTTP/1.1" 200 None
2019-04-15 18:32:17 http://localhost:None "DELETE /v1.35/containers/f2a54776309341ae5018c59c99f1f6172d114283ec17c9627f8c395ea4483f41?v=False&link=False&force=True HTTP/1.1" 204 0
2019-04-15 18:32:17 No Content-Type given. Defaulting to 'application/json'.
2019-04-15 18:32:17 <IP_ADDRESS> - - [15/Apr/2019 18:32:17] "GET /hey HTTP/1.1" 200 -

Additional environment details (Ex: Windows, Mac, Amazon Linux etc)

OS: Mac OSX Mojave 10.14.4
sam --version: SAM CLI, version 0.14.2

Release in v0.21.0.
Closing


Remove git account

Type: Feature Request
I cant find a away to remove my git account(not the one im sending this from) from being paired with this machines visual studio
VS Code version: Code 1.76.2 (ee2b180d582a7f601fa6ecfdad8d9fd269ab1884, 2023-03-14T17:55:54.936Z)
OS version: Windows_NT x64 10.0.22621
Modes:
Sandboxed: No

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


How enable stateless authentication for all modules isn't clear.

How to configure stateless authentication is not clear about how to configure stateless auth to all modules.
It has the snippet below, where the Per Module is clear, but I can't figure out where to run line to all modules and what is pipelines.

Yeah, it should really include more context. This is in the ApplicationStartup or RequestStartup methods of your bootstrapper.

Also, is possible to deactivate for specific modules?

I don't think so. You either have to add it globally to all modules, or specific modules. You could of course create a base module that adds the hook for you.

It's important to remember that the hook only sets the CurrentUser property. It does not enforce authentication/authorization, so it doesn't really matter if you add it globally.

I was thinking that it would work's like Authorization attribute of Identity. Do you have any snippet to automatically returns HTTP 403 when token is not valid?

I updated the wiki (it's a community wiki, feel free to edit if you thing clarifications are needed). Thanks!


GCC 8: js_generator.cc:492:1: warning: control reaches end of non-void function [-Wreturn-type]

New warning:
../../3rdparty/chromium/third_party/protobuf/src/google/protobuf/compiler/js/js_generator.cc: In function 'std::__cxx11::string google::protobuf::compiler::js::{anonymous}::JSByteGetterSuffix(google::protobuf::compiler::js::{anonymous}::BytesMode)':
../../3rdparty/chromium/third_party/protobuf/src/google/protobuf/compiler/js/js_generator.cc:492:1: warning: control reaches end of non-void function [-Wreturn-type]
 }

Pre-processed version of the source file:
string JSByteGetterSuffix(BytesMode bytes_mode) {
  switch (bytes_mode) {
    case BYTES_DEFAULT:
      return "";
    case BYTES_B64:
      return "B64";
    case BYTES_U8:
      return "U8";
    default:

# 490 "../../3rdparty/chromium/third_party/protobuf/src/google/protobuf/compiler/js/js_generator.cc" 3 4
     (static_cast<void> (0))
# 490 "../../3rdparty/chromium/third_party/protobuf/src/google/protobuf/compiler/js/js_generator.cc"
                  ;
  }
}

I believe proper fix is to replace the https://github.com/google/protobuf/blob/master/src/google/protobuf/compiler/js/js_generator.cc#L523 with __builtin_unreachable.

This was likely fixed in https://github.com/protocolbuffers/protobuf-javascript/commit/5fec096544ccd7ef3cdc6ede02bdf4b0f827da0c


Empty Problem List in 3.12.3

After updating the plugin to version 3.12.3
According to the link https://github.com/alexanderzobnin/grafana-zabbix/issues/955 the issue with displaying issues still has not been resolved.
I am using Plugin 3.12.3 Grafana v7.0.5 Zabbix V3.4.14
But Plugin 3.12.3 and Grafana v7.0.5 successfully shows the status of problems in Zabbix V5.0.0 and Zabbix V4.4.7
Checked Plugin 3.11.0 it successfully shows problem stouts in Zabbix V5.0.0, Zabbix V4.4.7 and Zabbix V3.4.14

Zabbix 3.x is not supported anymore https://github.com/alexanderzobnin/grafana-zabbix/blob/master/CHANGELOG.md#changed


Add support for 'terms_stats' facet

We need to be able to use the terms_stats facet, as described here:
http://www.elasticsearch.org/guide/reference/api/search/facets/terms-stats-facet.html

The above commit implements this, but I've not had a chance to add any tests so wouldn't recommend that it's incorporated yet.

ok


getReactively returns undefined

Hi, I think getReactively is returning undefined for an object containing keys that all evaluate to undefined.
here is my quick example
// ... inside helper
let params = this.getReactively($stateParams, true); // $stateParams = {category:undefined, favourites: undefined, search: undefined}

if (params.category) query.category = params.category // throws TypeError: Cannot read property 'category' of undefined

I would expect params.category to evaluate to undefined instead of throwing an error.

@sean-stanley first argument for getReactively a variable name in current scope, not an object.

Hi, this is the angular-meteor doc for getReactively:
myModule.controller('MyCtrl', ['$scope', '$reactive', function($scope, $reactive) {
  $reactive(this).attach($scope);

  this.myUser: {
    id: 10
  };

  this.helpers({
    myData: () => {
      return Data.find({_id: this.getReactively('myUser.id')});
    }
  });

  this.myUser.id = 29; // This will cause the helper to run again and update the view
}]);

thanks for the help guys

Right my bad. For clarity: I need to use the variable name as a string, and it is possible to deep watch a variable that is an object according to the docs but I forgot to list the object name as a string in getReactively's arguments.


Is it possible to retrieve a list of users who have liked a post on Instagram?

Is it possible to retrieve a list of users who have liked a post on Instagram?
The APIs don't work and I couldn't find any options to get the likers (in metadata) and/or comments.

Additional Note
Is there a facebook alternative?

Is it possible to retrieve a list of users who have liked a post on Instagram? The APIs don't work and I couldn't find any options to get the likers (in metadata) and/or comments.

Yes, you can get usernames of all likers and/or commenters. But, it is listing only recent 50 activities.
assuming you know how to get posts.
for post in Profile.get_posts():
likes = post.get_likes()
comments = post.get_comments()
   likes.owner.username()
   comments.owner.username()

Is it possible to get this with the CLI and have it written automatically in the .json it produces?


change year

This pr is to change year of License of ./pkg/controllers/v1alpha1/goosefs/implement.go

/lgtm


Swap out a lot of tools in tests.utils.__init__ for their equivalents in vws-python

We are not using VWS Python tools where possible.


"equalToDateTime" : "now"

 {
   "request" : {
     "url" : "/dates",
     "method" : "POST",
     "body" : {
       "matchesJsonPathe" : {
         "expression": "$.date",
         "equalToDateTime" : "now",
         "actualFormat" : "dd/MM/yyyy"
       }
     }
  }
 }

Please, give an opportunity use it so
We need a dynamical dates, offset to it, and formatting

If i use so

It doesnt match
And if I use just "now"

I think you need to truncate the actual to the nearest day, otherwise it'll be unequal due to the hours/mins/seconds of the actual time.

 otherwise it'll be unequal due to the hours/mins/seconds of the actual time.
May be do, that "now" won't use time when comparing?


Feature request: file input reading compressed log files

https://github.com/splunk/sck-otel/issues/66
In Azure managed cluster, by default container logs are compressed and rotated.
it would be nice to be able to read compressed files as normal files.

I would love to have this feature as well. My initial thought: Reading a compressed file should be trivial, however, check pointing may not work. My understanding is that we cannot index a compressed file's position the same way we do with a regular file. This can cause a file to be read twice if the process is restarted. I could be wrong? If not, perhaps the trade off is worth it.


[run.sh] Add retry if HTTP status code != 200

Following the add retry if no IP is associated to the DOMAIN, I found another case that can fail.
For example, when using a Cloudflare tunnel until the tunnel is in ready state, the HTTP status code will be 502. Just earlier I faced this issue, my guess is that others could as well.
This PR adds:

a retry until a 2xx code is returned
add curl option -L to follow a redirect - this is just in case someone has an odd config and doesn't break anything.

Let me know what you think / if need to adjust anything.
Thank you.

Tesla integration has a retry to the proxy , at boot I noticed it says something like "Authentication failed, will retry" but it also have a timeout. When the timeout is reached, it shows the err "Authentication expired". I dislike this behavior :/ - when this condition happens, the end user is forced to reconfigure everything :(
I wonder if the Tesla http proxy accept the requests and return a "retry later status code" ? or should the Tesla integration, when using the proxy, keeps trying instead of giving up and forcing the end user to start all over.

I had forgotten to test with a bad request , oops.
Did tests with a valid URL and invalid one to fetch the key, works great.

lol found why right at the top :D
set -e

Sorry for the spam, latest commit retries doesn't match exactly 200.

I'm not sure the -L is a good idea.  Have you tested to see if the Tesla vehicle follows redirects?

I don't have time to test this right now, but my first thought is, why does your HTTP response code change often enough to justify a retry?  I would expect that if you get something other than 200, that's a problem you need to address manually, so it makes sense to just fail with an error.

I don't have time to test this right now, but my first thought is, why does your HTTP response code change often enough
to justify a retry? I would expect that if you get something other than 200, that's a problem you need to address manually,
so it makes sense to just fail with an error.

I guess there could be a few edge cases, I forgot to mention in the 1st comment, when HAOS is installed as a VM on a NAS and the tunnel is configured in a docker instances, if HAOS comes up before the docker instance tunnel, Cloudflare frontend will return a 502.... if someone uses the HAOS Cloudflare add-on, I'm not sure if the tunnel comes up before the tesla-proxy? If not, that could also make the request for the pubkey fail.
I agree it's something to address manually, same if there's no IP address associated with the DOMAIN, right?
In the PR the http status code is sent to the console (log), it might help someone understand what's wrong - backend issue (5xx) or nginx not properly configured / bad key location (4xx).

I'm not sure the -L is a good idea. Have you tested to see if the Tesla vehicle follows redirects?

True true, I didn't test if it follows redirects... I don't have the time to put such a setup in place and test it. Makes sense, I just push a commit to remove it.

Just fixed the IF 200 or not logic, not sure how I had made such erro.. maybe my AHDH.
Below the output from 3 tests.
If you prefer, we could change the logic to loop X times and then give up. I tried to find the logic in Tesla integration that reports "Authentication expired" and I could not. If the proxy never comes up and the T integration is already configured, I wish it would not fail but wait for the proxy to come up. By failing, the end user needs to reconfigure everything... sadly I can't find where that logic is to propose perhaps a change.

Test with return 200

[11:54:30] INFO: Testing public key...
HTTP/2 200
date: Thu, 23 May 2024 15:54:30 GMT
content-type: text/plain
content-length: 178
accept-ranges: bytes
etag: "664c346a-b2"
last-modified: Tue, 21 May 2024 05:43:06 GMT
strict-transport-security: max-age=2592000; includeSubDomains; preload
cf-cache-status: DYNAMIC
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=242gHErBlGuSP8qVFImrT1FRkmSCL%2BCXYrujGEuNm913%2FAPOTR2ihwibP%2FuglMDHkgcZG8rgubxUZx%2FyCZZ6iGhAhmukTdW%2BgIlP0Ji1CVOJ85tO9%2BudXkWRUpIHUP7gDcxXoAF%2FwNkA80OV"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
x-content-type-options: nosniff
server: cloudflare
cf-ray: 888639958bf43905-YYZ
alt-svc: h3=":443"; ma=86400

-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEkD6ShEF+P7/d02A8HUevVlwtKwqc
UmQXrSTuMdLXWcV17I6mTqVMgJKSP7L7QeJofMjKQ0Tuu1AS/hPNn+0s5A==
-----END PUBLIC KEY-----
[11:54:30] INFO: The public key is accessible.

public key not found (404)

[12:01:50] INFO: Testing public key...
HTTP/2 404
date: Thu, 23 May 2024 16:01:51 GMT
content-type: text/html
strict-transport-security: max-age=2592000; includeSubDomains; preload
cf-cache-status: DYNAMIC
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=pnjECrdCRAvPt8AUKHvsQ4JOPZvaps1k8pHVKtL2tSxsetn2chn4qc%2BLzWKzxLIR3%2Fd1GPHwd6pW4FV%2BKhUv5Hg%2BwZOdkOdWbsjllixn50LdE6suilD5qvoWDD8yzbti%2FRHRwRGQDjfWIg1R"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
x-content-type-options: nosniff
server: cloudflare
cf-ray:<PHONE_NUMBER>cf37cf-YYZ
alt-svc: h3=":443"; ma=86400

[12:01:51] FATAL: HTTP status code 404; Use a search engine to learn about the status code.
[12:01:51] FATAL: If the request keeps failing, adjust your configuration for the request not to fail.
[12:01:51] FATAL: Sleeping 2 minutes before retry.

Cloudflare tunnel down

[12:03:15] INFO: Testing public key...
HTTP/2 530
date: Thu, 23 May 2024 16:03:16 GMT
content-type: text/plain; charset=UTF-8
content-length: 16
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=39q3K58Q%2BeSfqEuHjkPBz922l36xcLrGDWhzaTTuPOdeNNmJulXBm2Kyn6ZEnqgmy2wVdd0MpEOuoFVlBw%2FDIOmn6FpVoHGV3QH9NwTFdGp%2F7YtWKvNTp5mQ%2Bwz1dzwRxSt6xALW8p7LMpTD"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
strict-transport-security: max-age=2592000; includeSubDomains; preload
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
referrer-policy: same-origin
cache-control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0
expires: Thu, 01 Jan 1970 00:00:01 GMT
server: cloudflare
cf-ray: 888646691c797117-YYZ
alt-svc: h3=":443"; ma=86400

[12:03:16] FATAL: HTTP status code 530; Use a search engine to learn about the status code.
[12:03:16] FATAL: If the request keeps failing, adjust your configuration for the request not to fail.
[12:03:16] FATAL: Sleeping 2 minutes before retry.

Good points — I have not tested rebooting the Home Assistant box to see which comes up first, and if the order varies.  I think it makes sense to loop forever as you have done.
Sorry for being picky, but I think this is needlessly verbose.  You could consolidate those 3 error lines into 1 like this:
[12:01:51] ERROR: HTTP status code 404; Sleeping 2 minutes before retry.

And change fatal to error.

No you're not picky at all, you don't know me enough ;)
I don't mind compressing, I went verbose mainly for "newbies" - Done in last commit.
Changed from fatal to error , I wasn't too sure what bashio supported for errors... - Done
I also changed fatal to error from my previous PR that you merged ~ last week.

Thank you!


fix connector source check.

Description:
fix connector source check.

Testing done:
Done

Affected area:

Functional Area

New Functionality
[ ]

CI System
[ ]

CLI Tool
[ ]

Certificate Management
[ ]

Control Plane
[ ]

Demo
[ ]

Documentation
[ ]

Egress
[ ]

Ingress
[ ]

Install
[ ]

Networking
[ ]

Observability
[ ]

Performance
[ ]

SMI Policy
[ ]

Security
[ ]

Sidecar Injection
[ ]

Tests
[ ]

Upgrade
[ ]

Other
[X]

Please answer the following questions with yes/no.

Does this change contain code from or inspired by another project? no

Is this a breaking change? no

Has documentation corresponding to this change been updated in the fsm-docs repo (if applicable)? no

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 0% with 1 line in your changes missing coverage. Please review.

Please upload report for BASE (release/v1.4@38061f5). Learn more about missing BASE report.

Files with missing lines
Patch %
Lines

pkg/connector/ktog/gateway.go
0.00%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@               Coverage Diff               @@
##             release/v1.4     #386   +/-   ##
===============================================
  Coverage                ?   13.89%
===============================================
  Files                   ?      818
  Lines                   ?    53715
  Branches                ?        0
===============================================
  Hits                    ?     7462
  Misses                  ?    46080
  Partials                ?      173

Flag
Coverage Δ

unittests
13.89% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


[AutoPR cognitiveservices/data-plane/LUIS/Runtime] typo: cognitiveservices/data-plane/LUIS/Runtime

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/5798

This PR has been merged into https://github.com/Azure/azure-sdk-for-js/pull/2576


help

May I ask if you have a 21 round impossible differential attack on CRAFT with related-tweakey？

We did not report any related-tweakey or related-tweak impossible differential attacks on CRAFT in our EUROCRYPT 2023 paper.

Hi, I am now trying to do the impossible differential attack against CRAFT for related-tweak, can I realize it based on the code you provided? How should I realize it? This is the research I am interested in at the moment, requesting your help thank you!

Thank you for your interest in our work!
If you have any further questions, please feel free to reach out to me via email.
<EMAIL_ADDRESS>

hi！I would like to perform a related-tweaky attack on CRAFT, how can I achieve this using your code?


fix(zip): ensure zip observable completes properly

adds additional tests
outerIndex is now public on InnerSubscriber
updates zip to complete when any inner observable has completed and its buffer is empty

relates to #397

This is an alternative PR to #399
Ops per second here are ~89,000 ... discussion is in #399.

Closing this in favor of #399.


Added fromTaggedBase64

Added fromTaggedBase64(tb64) to app.js to demonstrate

How to extract data from a Tagged Base64 value
How to verify that the checksum is valid

Added instructions to app.js for running the tests.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
135

Relevant Lines:
178

💛  - Coveralls


Update general-guidelines.adoc

Fixed typo and spelling of OpenAPI

👍

👍

:+1:

:+1:

Thanks, seems as if only two locations now are left.

Thanks, seems as if only two locations now are left.

@a-akimov while we would like to merge this, we can't since the build failed because of a temporary failure. Can you re-trigger it to make it successful? I unfortunately can't.

@a-akimov while we would like to merge this, we can't since the build failed because of a temporary failure. Can you re-trigger it to make it successful? I unfortunately can't.

@a-akimov while we would like to merge this, we can't since the build failed because of a temporary failure. Can you re-trigger it to make it successful? I unfortunately can't.

@tkrop thank you for reviewing. I would love to re-trigger, but not sure how exactly to do this. Or you mean to make another commit and pull request?

@a-akimov while we would like to merge this, we can't since the build failed because of a temporary failure. Can you re-trigger it to make it successful? I unfortunately can't.

@tkrop thank you for reviewing. I would love to re-trigger, but not sure how exactly to do this. Or you mean to make another commit and pull request?

should also work.

should also work.

the simplest way is to do git commit --amend on the PR to get this rebuild.

I've retriggered the build in Travis CI's UI.

:+1:

:+1:


ReactNativeJS: TypeError: undefined is not a function (evaluating '(0, _react.useMemo)')

🐛 Bug Report
I tried to install react-navigation using the offical docs at https://reactnavigation.org/docs/en/getting-started.html. However, I got this error, and I cannot find any solution in the world.
I also included build.gradle and package.json files after the error log.
Error log
E/ReactNativeJS: TypeError: TypeError: undefined is not a function (evaluating '(0, _react.useMemo)')

    This error is located at:
        in ConnectFunction (created by SceneView)
        in SceneView (at StackViewLayout.js:786)
        in RCTView (at View.js:45)
        in View (at StackViewLayout.js:785)
        in RCTView (at View.js:45)
        in View (at StackViewLayout.js:784)
        in RCTView (at View.js:45)
        in View (at createAnimatedComponent.js:153)
        in AnimatedComponent (at StackViewCard.js:69)
        in RCTView (at View.js:45)
        in View (at createAnimatedComponent.js:153)
        in AnimatedComponent (at screens.native.js:59)
        in Screen (at StackViewCard.js:57)
        in Card (at createPointerEventsContainer.js:27)
        in Container (at StackViewLayout.js:862)
        in RCTView (at View.js:45)
        in View (at screens.native.js:83)
        in ScreenContainer (at StackViewLayout.js:313)
        in RCTView (at View.js:45)
        in View (at createAnimatedComponent.js:153)
        in AnimatedComponent (at StackViewLayout.js:309)
        in PanGestureHandler (at StackViewLayout.js:302)
        in StackViewLayout (at withOrientation.js:30)
        in withOrientation (at StackView.js:79)
        in RCTView (at View.js:45)
        in View (at Transitioner.js:214)
        in Transitioner (at StackView.js:22)
        in StackView (created by Navigator)
        in Navigator (at createKeyboardAwareNavigator.js:12)
        in KeyboardAwareNavigator (created by SceneView)
        in SceneView (created by SwitchView)
        in SwitchView (created by Navigator)
        in Navigator (at createAppContainer.js:387)
        in NavigationContainer (at App.js:20)
        in RCTView (at View.js:45)
        in View (at App.js:13)
        in Provider (at provider.js:35)
        in AppStoreProvider (at App.js:12)
        in App (at renderApplication.js:34)
        in RCTView (at View.js:45)
        in View (at AppContainer.js:98)
        in RCTView (at View.js:45)
        in View (at react-native-root-siblings/index.js:33)
        in RootSiblingsWrapper (at AppContainer.js:112)
        in RCTView (at View.js:45)
        in View (at AppContainer.js:115)
        in AppContainer (at renderApplication.js:33)

android/build.gradle (project level)
// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    ext {
        buildToolsVersion = "28.0.3"
        minSdkVersion = 16
        compileSdkVersion = 28
        targetSdkVersion = 27
        supportLibVersion = "28.0.0"
        googlePlayServicesAuthVersion = "16.0.1"
    }
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.0'
        classpath 'com.google.gms:google-services:4.2.0'  // Google Services plugin

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        mavenLocal()
        google()
        jcenter()
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url "$rootDir/../node_modules/react-native/android"
        }
    }
}

wrapper {
    gradleVersion = '5.4'
    distributionUrl = distributionUrl.replace("bin", "all")
}

android/app/build.gradle (app level)
apply plugin: "com.android.application"

import com.android.build.OutputFile

/**
 * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets
 * and bundleReleaseJsAndAssets).
 * These basically call `react-native bundle` with the correct arguments during the Android build
 * cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the
 * bundle directly from the development server. Below you can see all the possible configurations
 * and their defaults. If you decide to add a configuration block, make sure to add it before the
 * `apply from: "../../node_modules/react-native/react.gradle"` line.
 *
 * project.ext.react = [
 *   // the name of the generated asset file containing your JS bundle
 *   bundleAssetName: "index.android.bundle",
 *
 *   // the entry file for bundle generation
 *   entryFile: "index.android.js",
 *
 *   // whether to bundle JS and assets in debug mode
 *   bundleInDebug: false,
 *
 *   // whether to bundle JS and assets in release mode
 *   bundleInRelease: true,
 *
 *   // whether to bundle JS and assets in another build variant (if configured).
 *   // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants
 *   // The configuration property can be in the following formats
 *   //         'bundleIn${productFlavor}${buildType}'
 *   //         'bundleIn${buildType}'
 *   // bundleInFreeDebug: true,
 *   // bundleInPaidRelease: true,
 *   // bundleInBeta: true,
 *
 *   // whether to disable dev mode in custom build variants (by default only disabled in release)
 *   // for example: to disable dev mode in the staging build type (if configured)
 *   devDisabledInStaging: true,
 *   // The configuration property can be in the following formats
 *   //         'devDisabledIn${productFlavor}${buildType}'
 *   //         'devDisabledIn${buildType}'
 *
 *   // the root of your project, i.e. where "package.json" lives
 *   root: "../../",
 *
 *   // where to put the JS bundle asset in debug mode
 *   jsBundleDirDebug: "$buildDir/intermediates/assets/debug",
 *
 *   // where to put the JS bundle asset in release mode
 *   jsBundleDirRelease: "$buildDir/intermediates/assets/release",
 *
 *   // where to put drawable resources / React Native assets, e.g. the ones you use via
 *   // require('./image.png')), in debug mode
 *   resourcesDirDebug: "$buildDir/intermediates/res/merged/debug",
 *
 *   // where to put drawable resources / React Native assets, e.g. the ones you use via
 *   // require('./image.png')), in release mode
 *   resourcesDirRelease: "$buildDir/intermediates/res/merged/release",
 *
 *   // by default the gradle tasks are skipped if none of the JS files or assets change; this means
 *   // that we don't look at files in android/ or ios/ to determine whether the tasks are up to
 *   // date; if you have any other folders that you want to ignore for performance reasons (gradle
 *   // indexes the entire tree), add them here. Alternatively, if you have JS files in android/
 *   // for example, you might want to remove it from here.
 *   inputExcludes: ["android/**", "ios/**"],
 *
 *   // override which node gets called and with what additional arguments
 *   nodeExecutableAndArgs: ["node"],
 *
 *   // supply additional arguments to the packager
 *   extraPackagerArgs: []
 * ]
 */

project.ext.react = [
    entryFile: "index.js"
]

apply from: "../../node_modules/react-native/react.gradle"

/**
 * Set this to true to create two separate APKs instead of one:
 *   - An APK that only works on ARM devices
 *   - An APK that only works on x86 devices
 * The advantage is the size of the APK is reduced by about 4MB.
 * Upload all the APKs to the Play Store and people will download
 * the correct one based on the CPU architecture of their device.
 */
def enableSeparateBuildPerCPUArchitecture = false

/**
 * Run Proguard to shrink the Java bytecode in release builds.
 */
def enableProguardInReleaseBuilds = false

android {
    compileSdkVersion rootProject.ext.compileSdkVersion
    buildToolsVersion rootProject.ext.buildToolsVersion

    defaultConfig {
        applicationId "com.bm"
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
    }
    splits {
        abi {
            reset()
            enable enableSeparateBuildPerCPUArchitecture
            universalApk false  // If true, also generate a universal APK
            include "armeabi-v7a", "x86", "arm64-v8a"
        }
    }
    buildTypes {
        release {
            minifyEnabled enableProguardInReleaseBuilds
            proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
        }
    }
    // applicationVariants are e.g. debug, release
    applicationVariants.all { variant ->
        variant.outputs.each { output ->
            // For each separate APK per architecture, set a unique version code as described here:
            // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
            def versionCodes = ["armeabi-v7a":1, "x86":2, "arm64-v8a": 3]
            def abi = output.getFilter(OutputFile.ABI)
            if (abi != null) {  // null for the universal-debug, universal-release variants
                output.versionCodeOverride =
                        versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
            }
        }
    }
}

dependencies {
    implementation project(':react-native-google-signin')
    implementation project(':react-native-gesture-handler')
    implementation project(':react-native-firebase')
    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
    implementation "com.facebook.react:react-native:+"  // From node_modules
    implementation "com.google.android.gms:play-services-base:16.1.0"
    implementation 'com.google.firebase:firebase-core:16.0.8'
    implementation 'com.google.firebase:firebase-auth:16.2.1'
    implementation 'com.google.firebase:firebase-firestore:18.2.0'
    implementation 'com.android.support:multidex:1.0.3'
}

// Run this once to be able to run the application with BUCK
// puts all compile dependencies into folder libs for BUCK to use
task copyDownloadableDepsToLibs(type: Copy) {
    from configurations.compile
    into 'libs'
}

apply plugin: 'com.google.gms.google-services'  // Google Play services Gradle plugin

package.json
{
  "name": "bm",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start-ios": "react-native run-ios && npm run lint-watch",
    "start-android": "react-native run-android && npm run lint-watch",
    "lint": "esw src/**",
    "lint-watch": "esw -w --changed src/**",
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "lodash": "^4.17.11",
    "moment": "^2.24.0",
    "prop-types": "^15.7.2",
    "react": "16.6.3",
    "react-native": "0.58.6",
    "react-native-elements": "^1.1.0",
    "react-native-firebase": "^5.3.1",
    "react-native-gesture-handler": "^1.1.0",
    "react-native-google-signin": "^1.2.3",
    "react-native-loading-spinner-overlay": "^1.0.1",
    "react-native-root-toast": "^3.0.2",
    "react-native-vector-icons": "^6.4.2",
    "react-navigation": "^3.8.1",
    "react-redux": "^7.0.2",
    "redux": "^4.0.1",
    "redux-logger": "^3.0.6",
    "redux-persist": "^5.10.0",
    "redux-saga": "^1.0.2",
    "redux-thunk": "^2.3.0",
    "remote-redux-devtools": "^0.5.16"
  },
  "devDependencies": {
    "babel-core": "^7.0.0-bridge.0",
    "babel-eslint": "^10.0.1",
    "babel-jest": "24.7.1",
    "babel-preset-airbnb": "^3.2.1",
    "babel-preset-react-native": "^4.0.1",
    "eslint": "^5.16.0",
    "eslint-config-airbnb": "^17.1.0",
    "eslint-plugin-import": "^2.17.2",
    "eslint-plugin-jsx-a11y": "^6.2.1",
    "eslint-plugin-react": "^7.12.4",
    "eslint-watch": "^5.0.1",
    "jest": "24.7.1",
    "metro-react-native-babel-preset": "0.53.1",
    "react-test-renderer": "16.6.3"
  },
  "jest": {
    "preset": "react-native"
  }
}

Environment
React Native Environment Info:
System:
OS: macOS 10.14.4
CPU: (4) x64 Intel(R) Core(TM) i5-4278U CPU @ 2.60GHz
Memory: 40.10 MB / 8.00 GB
Shell: 5.3 - /bin/zsh
Binaries:
Node: 10.15.3 - ~/n/bin/node
npm: 6.9.0 - ~/n/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 12.2, macOS 10.14, tvOS 12.2, watchOS 5.2
IDEs:
Android Studio: 3.4 AI-183.54<IP_ADDRESS>52501
Xcode: 10.2.1/10E1001 - /usr/bin/xcodebuild
npmPackages:
react: 16.6.3 => 16.6.3
react-native: 0.58.6 => 0.58.6
npmGlobalPackages:
react-native-cli: 2.0.1

The bot is right.
useMemo is a React hook. Hooks were introduced with React 16.8. You are using 16.6.3, as per your package.json.
On top of that, React Native did not support hooks until 0.59. You are using 0.58.6.
A quick search in React Navigation's GitHub repo did not give me anything for useMemo, so that library may not be the culprit.

Getting Same Error ! and upgrading to newer version didn't solved this issue

Thanks for the support, I updated this combination, then everything worked fine.
   "react": "16.8.6",
   "react-native": "0.59.5",
   "react-test-renderer": "16.8.6"

Hello @maidh91  how did u fix this issue ?  how to change that versions ?

package.json @glyhakan
You might need to clear cache of npm and pod

"dependencies": {
"react": "16.8.6",
"react-native": "0.59.5",
"react-redux": "^7.0.2",
"redux": "^4.0.1"
},
"devDependencies": {
"babel-jest": "24.7.1",
"jest": "24.7.1",
"metro-react-native-babel-preset": "0.53.1",
"react-test-renderer": "16.8.6"
},
still I'm facing the issue.

Updating react and react native fixed the issue for me

Upgrading to "react": "16.8.6", did work!

I have
"dependencies": {
    "react": "16.8.6",
    "react-native": "0.59.10",
}, "dev-dependencies": {
    "babel-jest": "^24.8.0",
    "jest": "^24.8.0",
    "babel-plugin-module-resolver": "^3.2.0",
    "react-test-renderer": "16.8.3",
    "metro-react-native-babel-preset": "^0.54.1",
}

I am still facing the issue.

Me too

Ok it worked. I retrieved data that did'nt exist in useState.
For example >
Use:
const [isLoading, setIsLoading] = useState(false);
Instead of:
const [loaded, setLoaded] = useState(0);

I have
"dependencies": {
    "react": "16.8.6",
    "react-native": "0.59.10",
},
"dev-dependencies": {
    "babel-jest": "^24.8.0",
    "jest": "^24.8.0",
    "babel-plugin-module-resolver": "^3.2.0",
    "react-test-renderer": "16.8.3",
    "metro-react-native-babel-preset": "^0.54.1",
}

I am still facing the issue.

@hzburki
import React from 'react'

console.log(React.version, React.useMemo)  // to see the real version you use in the code

in some case, the version in the package.json is not the version really run in your code


[DOCS] Some symbols not rendering properly in docs

On e.g. this page (and also expandable sections further down that page) the symbol > is not being rendered but instead appears as HTML code >:

Couple of examples, that seem to be from *.ipynb files
Suspect this is something to do mknotebooks and things appearing in code-blocks, but haven't looked into this in any detail

This issue causing some problems: https://github.com/moj-analytical-services/splink/issues/2018#issuecomment-1977575343


Discussion Topics

Creating this issue as a place to record topics I think we need to discuss, new ideas, proposals. We can keep updating the cmment below so everything's in one place.

moving VSC pane boundary vs. max terminal pane
timer vs condition dispatch & macro name changes
disable CPU usage display using touch capacitive switch
support for onboard LED added
timestamps in trace messages
revisiting using additional Volt reg for 3.3 vs using 500 ma output from ESP32
annotated log of pushups cpu usage
how to structure loop() so only one routine runs per cycle
occasional timer dispatch latency


Request to add The Eternal Tarot Collection

thank you for providing easy to use tools like the composer, it helped a lot!
I also used https://jsonformatter.org/ after to clean up the downloaded version.

hi @chrisconfirm
the collection is not visible on the website anymore, what happened?

is it alright now?


Scenario: User A owns Organization A and created Repo 1 under that organization. User A thus owns the repo and can push to it, but is not included on a team. User A connects github to his OSF project, but Repo 1 does not show up in his list of available repos. Work-around is User A adding himself to a team for Repo 1.
Expected: All repos a user has push access to will display when the GitHub Add-on is enabled.
Possible Fix: Request to list organizations through GitHub's API? https://developer.github.com/v3/orgs/#list-your-organizations
Related to a help desk ticket, case 3065.

@kushg - can you update this, even if it's only with a new estimate as to when you'll get to it?

Having a look into it now !
On Mon Jan 12 2015 at 11:24:02 PM Lyndsy Simon<EMAIL_ADDRESS>wrote:

@kushg https://github.com/kushg - can you update this, even if it's
only with a new estimate as to when you'll get to it?
—
Reply to this email directly or view it on GitHub
https://github.com/CenterForOpenScience/osf.io/issues/1425#issuecomment-69612969
.

Currently the fix is to list all the repositories of the organizations to which user has access. This should be still open for discussion as there is no such way yet in github3.py to get the repositories to which user has write access. This fix only lists out all the repositories of all the organization that user has access to.

@lyndsysimon @brianjgeiger @sloria Please let me know who is good to help discussion on this one w/ @kushG  --- And how big a deal this might be -- especially as I think we have few-to-none outside users taking advantage of GitHub?

I've closed the attached PR, and marked this is an intern task.
Whoever takes this on should take a look at the code @KushG added to make it work, and understand why that PR wasn't accepted. Based on his report on Github3.py's features, it may not be possible to do this entirely within that library - but it should be possible, one way or another.

As an FYI, I've received 3-4 more questions on the help desk about this
issue since the first report.
On Thu, Jun 4, 2015 at 10:43 AM, Lyndsy Simon<EMAIL_ADDRESS>wrote:

I've closed the attached PR, and marked this is an intern task.
Whoever takes this on should take a look at the code @KushG
https://github.com/KushG added to make it work, and understand why that
PR wasn't accepted. Based on his report on Github3.py's features, it may
not be possible to do this entirely within that library - but it should be
possible, one way or another.
—
Reply to this email directly or view it on GitHub
https://github.com/CenterForOpenScience/osf.io/issues/1425#issuecomment-108920444
.

OK

A +1 bump on this from Desk case 12314, our most active engrXiv contributor. It appears the workaround for this no longer works, as he is both a team member of the desired repository and has admin privileges but is still unable to integrate the intended repo.

I can confirm this no longer works. Adding yourself as collaborator or as team member for the repository in the organization has no effect. If I can assist in testing etc, let me know!

Hello, the help page @BRosenblatt posted is now broken.
Are there any other workarounds?

Is this the new one perhaps? https://help.osf.io/hc/en-us/articles/360019929813-Connect-GitHub-to-a-Project


Draft connect mode that exports to env

It would be cool to be able to do $(draft connect --env-export) and have DRAFT_URL set automatically so we could do:
$ $(draft connect --env-export)
$ curl $DRAFT_URL/my/path

$DRAFT_PORT might also be nice to have there.
I haven't thought through the details, given multi-connect. Maybe we'd have to do something like:
DRAFT_URL_1=http://localhost:11234
DRAFT_PORT_1=11234
DRAFT_URL_2=http://localhost:4444
DRAFT_PORT_2=4444

Or something like that.
Anyway, just a rough draft of an idea floating around as I build apps with Draft. 🎆

Do you want to use this in an automated way (say a Brigade job?)

Yeah. We also floated an idea about something similar last week with introducing a draft connect --detach and a draft disconnect commands. My only two cents here would be

draft connect --detach should keep the tunnels open in the background
draft connect --detach a second time should fail saying a connection's already been opened (or just re-display the previously opened tunnels)
this also needs to provide PowerShell support for Windows users

Similar commands in this space are minikube docker-env, gofish tank and docker-machine env.

Oh, as for the multi-port issue, how about following the same convention Kubernetes does? e.g. draft connect --detach will export port variables as
EXAMPLE_GO_SERVICE_HOST=http://localhost
EXAMPLE_GO_SERVICE_PORT=11234
EXAMPLE_PYTHON_SERVICE_HOST=http://localhost
EXAMPLE_PYTHON_SERVICE_PORT=11235

closed via #701


event var empty

The event var is structured but empty in the following code, can't find out what's wrong.
<Autocomplete
    items={this.state.autocompletedStations}
    onSelect={() => {
        this.setState({
            autocompletedStations: []
        });
    }}
    onChange={this.stationsAutocompleteChange.bind(this)}
    renderItem={this.renderAutocompleteItem.bind(this)}
    getItemValue={station => station.crsCode}
    inputProps={{ className: 'station-entry' }}
/>

stationsAutocompleteChange(event, value) { console.log(event) }

0: SyntheticEvent
_dispatchIDs: null
_dispatchListeners: null
bubbles: null
cancelable: null
currentTarget: null
defaultPrevented: null
dispatchConfig: null
dispatchMarker: null
eventPhase: null
isDefaultPrevented: ()
isPropagationStopped: ()
isTrusted: null
nativeEvent: null
target: null
timeStamp: null
type: null
__proto__: SyntheticEvent

Waiting for https://github.com/reactjs/react-autocomplete/pull/71 to land

onChange is now triggered synchronously, so this problem should no longer exist. Let us know if you're still experiencing issued.


start placement & cert controller only when mco CR available

https://github.com/open-cluster-management/backlog/issues/13263
Signed-off-by: Marco<EMAIL_ADDRESS>

/retest

/retest

/lgtm


404 stream api

#when I use the tweepy stream api  below, it returns 404 .
#Import the necessary methods from tweepy library
import tweepy
from tweepy.streaming import StreamListener
from tweepy import OAuthHandler
from tweepy import Stream
#Variables that contains the user credentials to access Twitter API
access_token = “×××"
access_token_secret = "×××"
consumer_key = "×××"
consumer_secret = "×××"
class MyStreamListener(tweepy.StreamListener):
def on_status(self, status):
    print(status.text)
def on_error(self, status_code):
    print status_code
    if status_code == 420:
            #returning False in on_data disconnects the stream
        return False

if name == 'main':
#This handles Twitter authetification and the connection to Twitter Streaming API
auth = OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
# Creation of the actual interface, using authentication
api = tweepy.API(auth)
myStreamListener = MyStreamListener()
myStream = tweepy.Stream(auth = api.auth, listener=myStreamListener)
myStream.filter(track=['python'])

Try to bypass the GFW in China

This simply means you're unable to connect to the Twitter API endpoint.
This is an issue with your connection to Twitter rather than an issue with Tweepy.
For code block usage, see https://help.github.com/articles/creating-and-highlighting-code-blocks/.


add a location property to IndexURL and another model to store controlled enum in db

we need a separate field to describe where the data is that's from a list of locations that make sense to the system.
This field is needed to make services able to infer the purpose of that storage location. eg:

on_premises_cold_storage
on_premises_primary_storage
amazon_backup
amazon_primary_storage

How do you plan on determining the best location to download from though? It probably makes the most sense to associate some sort of cost with these?

Makes sense, I'm just wondering how to best do that?
Also EDC make have data on AWS, GCP, Azure, Griffin, NCSA, RCC, etc so we probably don't want such explicit names for the locations?
Given both of those I feel like there should be some sort of "cost" on each URL still. This could be the cost of egress per gb, or for cold storage ones the cost of egress+read? Then the client or API could have some logic to determine locality and if the data doesn't exist locally serve from the cheapest source first?

I'm not familiar with the system (new guy), so sorry if I'm way off here:
o It's a good idea to have a "purpose" field attached to each location, so "offline_backup" for data in amazon glacier, "region_replica" for an S3 replica:
https://aws.amazon.com/blogs/aws/new-cross-region-replication-for-amazon-s3/
o If we have multiple copies of the same data, then we should mark the "master" somehow
o We should store the master (expected) md5 or some other hash on each location someplace
o it's a good idea to have some way to determine where that data actually is, so:
https://data.some-commons.org/data/byid/1244aa

where is that ?
Maybe have a locationURI field:
s3://bucketid/object-path

o It's a good idea for us to serve data to a user accessing the data via the public internet over a CDN:
http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html
o It's a good idea for us to somehow make data available to clients running in AWS via S3 directly, not going over the public internet.  Similarly for Google Cloud, Azure, whatever.
o It's a good idea to put a cost on a location, but the cost depends on where the client is running (which part of the world, within a particular public cloud, whatever ...), so maybe instead of a static cost - have some kind of a weight-function that the client evaluates, so accessing an S3 bucket in Virginia directly might be:
cost = inAWS ? 0 : inUnitedStates ? 10 : 100

Decided to go with generic json to store all the metadata. Closing.


Use a single place to configure demo/exp branches

Description
Use YAML references so there's a single place to configure the demo/exp branch. Also make the branches for ignoring tests configurable, too.
Reviewer Notes
This was tested as part of #7170

Warnings

:warning:
Please add the JIRA issue key to the PR title (e.g. MB-123)

  Generated by :no_entry_sign: dangerJS against c896ffbe72d0adb388d7e398de33415467b948d2

overall, lgmt, but can we please update the comment documetantion to reflect the changes?

Sorry, I'm not following. Which comment documentation?


🩹 MD sensitivity adjustments (take two)

This PR was meticulously made with the latest observations from the community. (Incl. some of my own)

Excluding ASCII text from the MD plugin ArchaicUpperLower
is_accentuated function from utils.py was incomplete, therefore, the MD plugins detection that depended on it was biased.
Lowered the word count threshold for MD plugin SuperWierdWord

And improve the weird word detection with suspiciously long ones.

Codecov Report

Merging #76 (3e1d2a7) into v2.0.4 (30602ce) will decrease coverage by 0.97%.
The diff coverage is 85.13%.

@@            Coverage Diff             @@
##           v2.0.4      #76      +/-   ##
==========================================
- Coverage   85.70%   84.72%   -0.98%
==========================================
  Files          11       11
  Lines        1077     1139      +62
==========================================
+ Hits          923      965      +42
- Misses        154      174      +20

Impacted Files
Coverage Δ

charset_normalizer/utils.py
77.40% <80.00%> (-1.02%)
:arrow_down:

charset_normalizer/md.py
88.19% <91.17%> (-0.42%)
:arrow_down:

charset_normalizer/api.py
82.01% <0.00%> (-3.18%)
:arrow_down:

Continue to review full report at Codecov.

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

1% without preemptive. Good sign.
Fixed some basic file detection. (Mostly JSON, CSV)
This PR has a positive impact on detection.

Will fix the coverage in another PR.


gmail limits

Hello.I heared google can block your location for creating many accounts.Changing ip can help?

I have the same issue.

How is this related to nylas-mail?
=> https://groups.google.com/forum/#!overview


2D pure localization fails on same map, finds old constraints.

1.roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:="full path to cartographer_paper_deutsches_museum.bag"
2.rosservice call /finish_trajectory "trajectory_id: 0"
rosservice call /write_state "filename: 'demo_2d.state'"
3.roslaunch cartographer_ros demo_backpack_2d_localization.launch bag_filename:="full path to cartographer_paper_deutsches_museum.bag" map_filename:="path to demo_2d.state"

The pure localization trajectory(in green) is away from the map trajectory(in blue) as times go by;
it seems there are new submaps added and new submaps are not consist with the map file;
It is supposed that the pose of pure localization is refer to map file;and the update of map should keep consistent.
Is there something wrong?
cartographer_ros (git head)
commit 137c75633f94dd64edbd9ae9ae05d4ad5dd6b459
Author: Holger Rapp<EMAIL_ADDRESS>Date:   Mon Oct 23 10:40:43 2017 +0200
Adds a PointsProcessor that can write ROS maps. (#548)

Fixes #475.

cartographer(git head)
commit 638aee7c2a6c7a70d2a7da39f4551b6cc6d8b318
Author: Holger Rapp<EMAIL_ADDRESS>Date:   Mon Oct 23 10:56:55 2017 +0200
Fix slow point deletion in RemovePoints. (#608)

This speeds up the asset writer significantly:

For the 3D sample bag:

Thanks for reporting and providing a helpful screenshot. This is a cartographer bug, so I close this an follow up in https://github.com/googlecartographer/cartographer/issues/647


feat: add Ed25519Signature2020 support

This is a somewhat naive implementation of adding Ed25519Signature2020 support to the W3cCredentialsModule. Feedback is most welcome and any direction you'd be willing to offer on what other things are required to get this to a merge-able state would be appreciated.

Thanks 🙌


Modbus RTU over TCP with same UID's but different IP's (IDFGH-9436)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
v5.1-dev-2066-g7869f4e151
Operating System used.
Windows
How did you build your project?
VS Code IDE
If you are using Windows, please specify command line type.
None
Development Kit.
Custom board
Power Supply used.
External 3.3V
What is the expected behavior?
In modbus tcp master mode I need to use RTU over TCP in order for the slave to respond. It doesn't respond to slave address (UID) 0.
In my use case I'm addressing 2 devices with a different ip address but they both respond only to slave address (UID) 1.
Obviously I can't use:
enum {
    MB_DEVICE_ADDR1 = 1, // Slave address device 1
    MB_DEVICE_ADDR2 = 1 // Slave address device 2
};
char* slave_ip_address_table[] = { "<IP_ADDRESS>", "<IP_ADDRESS>", NULL };
If I define all mb_parameter_descriptors with slave address 1 then they're all linked to the first ip address, which I don't want.
Ideally I would like to have 2 lists: 1 for IP addresses and another one for slave addresses:
char* slave_ip_address_table[] = { "<IP_ADDRESS>", "<IP_ADDRESS>", NULL };
uint8_t slave_address_table[] = { 1, 1 };
What is the actual behavior?
Since the slave addresses need to be unique I can't use the same slave address for 2 devices.
Steps to reproduce.

Open the mb_master_tcp example.
Configure like this:
const mb_parameter_descriptor_t Alfen_parameters[] = {  // { CID, Param Name, Units, Modbus Slave Addr, Modbus Reg Type, Reg Start, Reg Size, Instance Offset, Data Type, Data Size, Parameter Options, Access Mode}  { DEV1_I1, STR("METER_CUR_L1"), STR("A"), 1, MB_PARAM_HOLDING, 1210, 2, HOLD_OFFSET(holding_data0), PARAM_TYPE_FLOAT, 4, OPTS( 0, 20000, 1 ), PAR_PERMS_READ_WRITE_TRIGGER },  { DEV2_I1, STR("METER_CUR_L1"), STR("mA"), 1, MB_PARAM_HOLDING, 320, 2, HOLD_OFFSET(holding_data1), PARAM_TYPE_FLOAT, 4, OPTS( 0, 20000, 1 ), PAR_PERMS_READ_TRIGGER };
Enter the following ip address list:
char* slave_ip_address_table[] = { "<IP_ADDRESS>", "<IP_ADDRESS>", NULL };
Notice that only the first device is read.

Also, the slave address is not send in the TCP packet. To fix this I added
pucMBTCPFrame[MB_TCP_UID] = pxInfo->ucSlaveAddr;
after
pucMBTCPFrame[MB_TCP_TID + 1] = (UCHAR)(pxInfo->usTidCnt & 0xFF);
in port_tcp_master.c
Debug Logs.
No response
More Information.
No response

It doesn't respond to slave address (UID) 0.

The short address 0 is the broadcast address in the Modbus  and can not be assigned to concrete slave according to specification. This is expected behavior not an issue.

If I define all mb_parameter_descriptors with slave address 1 then they're all linked to the first ip address, which I don't want.

The goal of the address in the data dictionary and IP table is to assign the Unique IP address for each Unique short address in the table. The esp-modbus master is designed and can work within one configured network segment. In your case both slaves have the same short addresses and indeed they can not have different IP addresses in the same segment. If you need to access other network segment through the gateway you need to change the short address of slave or do custom address translation for your network segment in your gateway code.

Also, the slave address is not send in the TCP packet. To fix this I added
pucMBTCPFrame[MB_TCP_UID] = pxInfo->ucSlaveAddr;

This is known issue, the line is gone on some merge stage. The corresponded MR will be merged once the other critical MRs are ready for merge.
Unfortunately, for now I can not confirm this issue as a bug.

@NicoBouckaert,
I the new version of esp-modbus the new options are going to be implemented:

The new Kconfig option CONFIG_FMB_TCP_UID_ENABLED allows to support the UID in the master and slave applications. When it disabled the TCP slave will answer to request with any UID. Modbus TCP master sends requests with UID =0 when this option is disabled. When it is enabled the TCP master sends the slave UID in the request for each slave.
The TCP slave supports an additional option comm_info->slave_uid and the slave will be able to answer only to the requests for the set UID when the  CONFIG_FMB_TCP_UID_ENABLED is enabled, otherwise slave ignores UID field and answers to any UID in request.
The Modbus TCP slave is able to answer to request with UID = 0.
Unfortunately your request to support the same UID mapped on two different IP addresses can not be realized for now due to limitation of the interface which is the common for TCP and Serial ports of Modbus.

Please take a look to the changes and let me know if it can solve some of your issues showed above. You can review the changes applying the patch below:
0001_fix_support_for_unitid_master_and_slave.patch.log
Thank you.

Hi Alex,
I looked at the diff file but couldn't patch my files. I guess I'm using a different version?
Anyway, being able to use a slave id other than the default 0 is a great feature and will help a lot of people.
However, as already explained, using the slave address as an index is not a good idea. It doesn't allow to use the same slave address multiple times.
Instead, it should be an index to a list of ip addresses and a list of slave addresses.
Modbus tcp would use the list of ip addresses, modbus rtu would use the list of slave addresses.
All combinations would be possible.
You already have the list of ip addresses. Just add a list of slave addresses.
Thank you.

Hi @NicoBouckaert,

I looked at the diff file but couldn't patch my files. I guess I'm using a different version?

The changes are already merged and available in esp-modbus v1.0.10.

However, as already explained, using the slave address as an index is not a good idea. It doesn't allow to use the same slave address multiple times.
Instead, it should be an index to a list of ip addresses and a list of slave addresses.
Modbus tcp would use the list of ip addresses, modbus rtu would use the list of slave addresses.

I understand this and will take it into account. However, it is not a bug but design approach to bind the characteristic with concrete device it resides in. This come from mesh networks concept, and I was limited to change the original interface significantly. What you mention does not include just one list but involves making changes in the interface as well. This will be combined with the other tasks related to interface change.
Thank you for feedback. Unfortunately, according to plans it will not be changed soon and if you need it quickly please implement it by yourself.
Thank you for your feedback and proposal.

I'm using the lib over a year with different modbus devices, and to be honest situations like this did not make my life easier. Ofcourse the whole thing is already tedious since subtle differences exist device by device. Plus the migration from 4.x to 5.x, etc. On top of it it's hard to remember which device required what in order to operate since you do the same stuff over and over.
So.
I went for the connection agnostic  mbc_master_send_request(..)  approach. To my biggest surprise I still needed to supply those register descriptions. This is one thing. The other one - and I may be flat out wrong - that is the default way and which is terribly overthought. Yes, the register read log does look cool but other than that it's rigid in a way and also totally over-administered. ( supplying the measurement units manually. etc. )
I think it's never too late to elegantly decouple that part of the system, or make something similar next to it. So the result would be two options: go with the easy register descriptions thing or do it yourself with the 'send request' approach like a real man. Ofcourse I could work it around by supplying simply one reg.description.
Comparing to the whole this would be only a small extra. Or correction if you are lucky. Or setting, wateva. But not HC required.
The other one is this modbus rtu over tcp uuid slave address madness. First of all for the completeness sake you should print out the network port it tries to connect. RTU over TCP should NOT be a constellation, it must be somehow annotated, or at least when one gets it right he/she should see some trace of it in the log.  The best if it is annotated in the code with an enum.
Modbus inherently has some quirks so noone needs more obscurity. You guys already did the heavy lifting wonderfully, these subtle details would raise level of professionality by a magnitude. I also have a feeling that you guys did not experience it as an "end user" or simply for you it's not standig out, since you are in the core of it 0/25.

The issues mentioned here are partly resolved in the esp-modbus stack v2 version. It is updated and supports the multi-instance TCP Slave and Master with its own communication options and can send the CID requests with different UID associated with IP address or host name. The pre-release esp-modbus component version 2.0.0-beta.1.
See the mbc_master_get_parameter_with() documentation.


overflow menu overlapped when window is too small

misc:

why can't i control the width of the entire oneliner? ive been trying to look for a while and i can't seem to get anywhere. if it is possible it should be added to README.md

You can enforce this by setting #urlbar-container, #urlbar { max-width: var(--uc-urlbar-width) }. This doesn't change anything about the overflow menu. I highly recommend moving addons either to the bookmark toolbar or all the way to the right next to the tabbar.

You can enforce this by setting

i dont see any difference.

I highly recommend moving addons either to the bookmark toolbar or all the way to the right next to the tabbar.

what do you mean? i have nothing.

i dont see any difference.

With said rule:

And without said rule:

So when you don't have that rule the URL bar will overlay tabs. Isn't that what you mean by controlling the width in the oneliner? Tho, the screenshot you attached is in the small-screen stacked layout. If you want to change the breakpoint to also have the oneline layout below the default width of 1000px check: https://github.com/andreasgrafen/cascade#breakpoint=
--

what do you mean? i have nothing.

This overflow menu is what I'm talking about. This thing is annoying to work around. So I recommend moving everything out of there.

i used navbar_tabs_responsive_oneliner.css  as a css firefox theme and the overflow menu stays in place.. how come?

Because it's using a slightly different method to lay things out.

So I recommend moving everything out of there.

about that, it is difficult to actually get it gone.
it still stays there when the window is too small to display the extensions i have despite having nothing in the overflow menu.
is there really nothing that can be done about this issue?

Could you please check out the rework branch and let me know if this issue still persists for you? c:

it happens on default theme, nothing has been changed in the theme's internals.
i would also like to point out i use my own theme which is vastly different to cascade, but cascade still looks amazing to me and i might switch back to it later.

I really don't get it. Even setting things up exactly how they are on your screenshot – with the reload button and Addons within the URL Bar, even the zoom being at 90%. This just doesn't happen on my end. I have no idea what is going on; sorry. ,—,

fresh firefox profile with no changes in css, it still happens.
https://user-images.githubusercontent.com/47404953/195993394-ca6b99ae-d789-4fb9-874d-9d39ebe3498f.mp4
but since it is fixed for you, feel free to close this.
also, may i know which firefox version you are using? i am Mozilla Firefox 105.0.

I'm also on the latewst version – so 105.0.3.
My recommended solution still is to just move all Addons to the Personal Toolbar, but this ofc isn't a proper fix. I'll close this as suggested, but keep this on my personal Todo-List. c:


Add Chat Settings to Generic Langchain Provider

Thank you for your contribution! Can you provide a small code example demoing this change? Thank you and happy new year!

Hi, thank you for the kind welcome! Here is a simplified version of my workflow: https://github.com/tylertitsworth/multi-mediawiki-rag/blob/tylertitsworth/example/main.py
This workflow assumes you already have the Ollama installed and serving, as well as a vectordb to retrieve from. I'm sure there are simpler workflows that don't involve RAG, but this is the closest approximation to what I am hosting.
Langchain has many different provider types, the type that I use is Ollama. The issue found in https://github.com/langchain-ai/langchain/issues/14980 is avoided by using langchain v0.0.349. This issue may not be present in other providers.

This is a cool use case. I did not even know that you could update a provider on the fly with the chat settings! The CI is failing because you did not add the input parameter here. Maybe the simplest fix is to make the inputs arg default to []?

There is a last issue to fix, you are using the <1.0.0 code for the langchain generic provider. On the main branch we are at 1.0.0. The code changed slightly for LLM providers. For instance this line is problematic compared to main

Thanks for the help! I didn't realize that require_settings() was the line blocking the test from succeeding.

Thank you for your contribution!


Add a Web REPL

Adds a simple web REPL that can be started with make -C web.
Does not block JS main thread.
Does not need run button, runs code on change.

Here's some working code in it.

Here's it running out of time to run something and not crashing.

Here's it reporting an error.