Can't see Tilt

I'm running the container on a R.Pi3 with a fresh install of DietPi ARMv7 via:
docker run -d --name fermentrack --privileged --network host -v /home/goose/fermentrack/db:/home/fermentrack/fermentrack/db -v /home/goose/fermentrack/data:/home/fermentrack/fermentrack/data -v /home/goose/fermentrack/log:/home/fermentrack/fermentrack/log -v /dev:/dev mpse2/fermentrack-docker:latest

Setup goes fine, I select to not use GitHub updates. I'm able to add my controller without difficulty; however, my Tilt does not read. It's working, I'm about to see it via the Tilt mobile app. My bluetooth dongle works, scans fine outside of Docker.
Any ideas?

Well there are a few things that could be wrong. You have the priviliged and host options sorted out so that should be ok.
The other thing that is needed is for Python to have access to the device which is handled through the entrypoint.sh script in the docker container.  There is a troubleshooting wizard in Fermenentrack that will check the settings but that will report that the capabilitiy flags are missing even if they are set (bug in Fermentrack that has not yet been fixed).
Can you check the output from the container when you start? If everything is ok you should have these 2 lines in the output;

Checking if the container is running in priviliged mode
Container is running in priviligied mode

If you dont get the second line the commands to set the capabilityflags failed and you probably have a linuxkernel/file system that does not support the capabilityflags with docker (from what have been able to figure out).
It could be other things that could be an issue but check these first and if they dont work I can do some testing on my end to see what we can do to troubleshoot the BT connectitiy. I dont own a tilt but have been testing this with a tilt simulator.

Yeah, logs confirm it's running privileged:
[goose@Kamal: ~ ] $ docker logs fermentrack
Checking if all required volumes are mounted correctly
Volume for data and database are mounted.
No secret file found, creating one
Generating SECRET_KEY and writing to fermentrack_django/secretsettings.py
secretsettings.py created!
Saving copy of secretsfile to db folder
Setting correct access rights on mounted volumes
Version of main linux packages installed in image:
****************************************************************
Debian GNU/Linux 10 \n \l

nginx version: nginx/1.14.2
Redis server v=5.0.3 sha=00000000:0 malloc=libc bits=32 build=1b271fe49834c463
Python 3.7.3
Image build date:
Sat Jan 30 14:39:20 UTC 2021
Starting NGINX
Starting REDIS
nginx: [warn] the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1
Checking if the container is running in priviliged mode
Container is running in priviligied mode
Starting Fermentrack
Collecting static files

269 static files copied to '/home/fermentrack/fermentrack/collected_static'.
Applying database migration
Operations to perform:
  Apply all migrations: admin, app, auth, contenttypes, database, external_push, firmware_flash, gravity, sessions
Running migrations:
  No migrations to apply.
Version/Source of fermentrack installed in image:
****************************************************************
origin  https://github.com/thorrak/fermentrack.git (fetch)
origin  https://github.com/thorrak/fermentrack.git (push)

commit b4e73786803e94eda4f0a2794d1e8ed8815fe933
Merge: 3f6a8a1 d592658
Author: John<EMAIL_ADDRESS>
    Tilt Pro Support (and other things)
****************************************************************
Starting circus deamon
[goose@Kamal: ~ ] $

And your requested hostnamectl:
[goose@Kamal: ~ ] $ hostnamectl
   Static hostname: Kamal.goose.ws
         Icon name: computer
        Machine ID: e6e4b4f3110a48198e09ef48fd82d14f
           Boot ID: 757904886b9b49b7b872c702e3ad9778
  Operating System: Raspbian GNU/Linux 10 (buster)
            Kernel: Linux 5.10.11-v7+
      Architecture: arm
[goose@Kamal: ~ ] $

I'm installing bare-metal Fermentrack right now, to ensure that it works on bare-metal, and it's not related to me using DietPi instead of Raspbian. If it's beneficial to work with a real Tilt, would you have any time/interest in debugging it over AnyDesk?

If you go to the help page in fermentrack (?) in the menu and take a look at the logfile called fermentrack-process manager.log. Are there any errors or indication that a tilt has been found?
Can you also try the Troubleshoot tilt/bluetooth on the bottom of that page? It should be a warning connected to the capability flags but its just a wrong detection in the code.
I've just done a quick test on my Pi3 with Buster and with my tilt-sim the connection worked. I noticed that I'm using kernel 5.4 but dont know if that makes a difference.
If we cannot find anything there we need to do some troubleshooting on the linux cmdline.

I found this guide that could be useful to att least see if it's working on the host. It should be possible to do the same commands in the docker image...  I'm not sure which is the Tilt.

I know the Tilt is working, as I can read its data from my phone, at a further distance than the RasPi is.
The output of my entire /log/fermentrack-processmgr.log:
INFO:processmgr:Settings: Start delay: 2s, Sleep Interval: 15s,
INFO:processmgr:New BrewPi device found: dev-1
INFO:processmgr:New Tilt device found: tilt-

The Troubleshoot Tilt page passes all checks, no issues with the setcap or any of the dependent packages.
As an aside, I'm unable to test using bare-metal Fermentrack, as it fails to correctly install on DietPi or Raspbian, for me. I get a 509 return from Nginx using the official/bare metal install on both OS variants.

It looks like fermentrack has found the tilt according to the log.... so it should work... Can you test this on the standard raspian as well ? If you cant get it to work on bare metal there might be something strange with DietPi... I'm starting my day here so I will take a look after work at the code and see if I can put togehter some type of test code to test with.

You can try this python script to see if the tilt can be detected... it works on my simulator... will try it in the docker container later tonight. its a modified version of this script; https://github.com/LinuxChristian/tilt2mqtt
#!/usr/bin/env python

pip install requests PyBluez beacontools

import time
import logging as lg
import os
import json
from beacontools import BeaconScanner, IBeaconFilter, parse_packet, const
import requests

Constants

sleep_interval = 10  # How often to listen for new messages in seconds
Unique bluetooth IDs for Tilt sensors
TILTS = {
'a495bb10c5b14b44b5121370f02d74de': 'Red',
'a495bb20c5b14b44b5121370f02d74de': 'Green',
'a495bb30c5b14b44b5121370f02d74de': 'Black',
'a495bb40c5b14b44b5121370f02d74de': 'Purple',
'a495bb50c5b14b44b5121370f02d74de': 'Orange',
'a495bb60c5b14b44b5121370f02d74de': 'Blue',
'a495bb70c5b14b44b5121370f02d74de': 'Yellow',
'a495bb80c5b14b44b5121370f02d74de': 'Pink',
}
def callback(bt_addr, rssi, packet, additional_info):
"""Message recieved from tilt
"""
print(additional_info)
msgs = []
color = "unknown"
try:
    uuid = additional_info["uuid"]
    color = TILTS[uuid.replace('-','')]
except KeyError:
    print("Unable to decode tilt color. Additional info was {}".format(additional_info))

try:
    # Get and convert temperature
    temperature_farenheit = float(additional_info["major"])
    temperature_celsius = (temperature_farenheit - 32) * 5/9

    # Get and convert gravity
    specific_gravity = float(additional_info["minor"])/1000
    degree_plato = 135.997*pow(specific_gravity, 3) - 630.272*pow(specific_gravity, 2) + 1111.14*specific_gravity - 616.868

    data = {
        "specific_gravity_uncali": "{:.3f}".format(specific_gravity),
        "plato_uncali": "{:.2f}".format(degree_plato),
        "temperature_celsius_uncali": "{:.2f}".format(temperature_celsius),
        "temperature_farenheit_uncali": "{:.1f}".format(temperature_farenheit)
    }

    print( json.dumps(data) )
except KeyError:
    print("Device does not look like a Tilt Hydrometer.")

scanner = BeaconScanner(callback)
scanner.start()
monitor = scanner._mon
while(1):
time.sleep(sleep_interval)

You can also run this from within the container. Place the file in one of the mounted directories, i.e data.
start a shell in the running container
docker exec -it  /bin/bash
run these commands in the container
cd /home/fermentrack/fermentrack
source ../venv/bin/activate
pip install BeaconTools BeaconScanner
python /home/fermentrack/fermentrack/data/

For anyone else who comes across this:
Changing the battery fixed it. I'm not sure how, as the bluetooth receiver is mounted on the outside of the chest freezer I use for fermentation, and could not pick up the Tilt. My phone was in my hand, 10 feet away from the chest freezer, and could. But lo and behold, a battery change fixed it.

Great news, some issues are not what you first expect.


Another pass at the getting started doc

Sentence casing titles.
Making the first few paragraphs less wordy.
Restructured the contents of the Javascript section.

Overall looks good and the wording flows better in general. A few comments inline on things that shouldn't be changed or that need to be in an alternative voice.

I addressed the comments, but I think I may have made a mistake with the pull request since I'm merging in to docs/integration-with-frameworks branch instead of master that I intended to.
I'm going to recreate this PR again. Sorry for the hassle.


python310Packages.fastapi: 0.79.0 -> 0.79.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python310Packages.fastapi is: "Web framework for building APIs"
meta.homepage for python310Packages.fastapi is: "https://github.com/tiangolo/fastapi"
meta.changelog for python310Packages.fastapi is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.79.1 with grep in /nix/store/9klybm42wsdxjjh2v1wlvnhrhiz38b47-python3.10-fastapi-0.79.1
found 0.79.1 in filename of file in /nix/store/9klybm42wsdxjjh2v1wlvnhrhiz38b47-python3.10-fastapi-0.79.1

Rebuild report (if merged into master) (click to expand)

20 total rebuild path(s)

20 package rebuild(s)

First fifty rebuilds by attrpath
dyndnsc
etebase-server
python310Packages.dependency-injector
python310Packages.etebase-server
python310Packages.fastapi
python310Packages.fastapi-mail
python310Packages.json-logging
python310Packages.ormar
python310Packages.slowapi
python310Packages.strawberry-graphql
python39Packages.dependency-injector
python39Packages.etebase-server
python39Packages.fastapi
python39Packages.fastapi-mail
python39Packages.json-logging
python39Packages.ormar
python39Packages.slowapi
python39Packages.strawberry-graphql
soco-cli
theharvester

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/9klybm42wsdxjjh2v1wlvnhrhiz38b47-python3.10-fastapi-0.79.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python310Packages.fastapi https://github.com/r-ryantm/nixpkgs/archive/42424759c19e0c4eb5948f2abbe0badea321287c.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/9klybm42wsdxjjh2v1wlvnhrhiz38b47-python3.10-fastapi-0.79.1
ls -la /nix/store/9klybm42wsdxjjh2v1wlvnhrhiz38b47-python3.10-fastapi-0.79.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages failed to build:

python310Packages.ormar
python39Packages.ormar

17 packages built:

dyndnsc
etebase-server (python310Packages.etebase-server)
python310Packages.dependency-injector
python310Packages.fastapi
python310Packages.fastapi-mail
python310Packages.json-logging
python310Packages.slowapi
python310Packages.strawberry-graphql
python39Packages.dependency-injector
python39Packages.etebase-server
python39Packages.fastapi
python39Packages.fastapi-mail
python39Packages.json-logging
python39Packages.slowapi
python39Packages.strawberry-graphql
soco-cli
theharvester

Maintainer pings
cc @wd15 for testing.

LGTM, ormar is currently failing on master at 9ce248ee.
Result of nixpkgs-review pr 187524 run on x86_64-linux 1

2 packages failed to build:

python310Packages.ormar
python39Packages.ormar

17 packages built:

dyndnsc
etebase-server (python310Packages.etebase-server)
python310Packages.dependency-injector
python310Packages.fastapi
python310Packages.fastapi-mail
python310Packages.json-logging
python310Packages.slowapi
python310Packages.strawberry-graphql
python39Packages.dependency-injector
python39Packages.etebase-server
python39Packages.fastapi
python39Packages.fastapi-mail
python39Packages.json-logging
python39Packages.slowapi
python39Packages.strawberry-graphql
soco-cli
theharvester


Added support to write metadata files in parquet

This issue was auto-generated
PR: https://github.com/deephaven/deephaven-core/pull/5105
Author: malhotrashivam
Original PR Body
Closes #5039, #958
Also,

Added support to do partitioned parquet writing.
Offset index information will be read from parquet files on demand and not while reading column chunks.

Will be in upcoming Parquet updates.


Middleware doesn't see headers

I am working on this Angular app that uses NodeJS/express as backend. Whenever a call is made from the frontend, the authorization token (which is a token generated by jsonwebtoken) is put in the Authorization header. I've got this teeny-tiny problem where the middleware can't see the Authorization header.
Yes, I did make sure the client is allowed to use those headers
app.use(function (req, res, next) {
  res.header('Access-Control-Allow-Origin', '*/*');
  res.header('Access-Control-Expose-Headers','Authorization');
  res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept, Authorization');
  res.header('Access-Control-Allow-Methods', 'GET, PUT, POST, DELETE');
  res.header('Access-Control-Allow-Credentials', 'true');
  next();
});

Yes, I'm pretty sure my middleware function is correct
router.use((req,res,next) => {
  let decoded = jwt.verify(req.get('Authorization'), req.app.get('key'));
  req.type = decoded.type;
  req.user = decoded.id;
  next();
});

Please note that this middleware function has also been tried app-wide, without any result.
Now here are two things that make this issue a little bit more interesting:

If I make an API call from SuperTest, the middleware works just fine.
(This is the point where you're going to be like "Bro this sounds like an Angular issue" but...)
The Authorization header works just fine in GET/POST functions defined on the router.

Can somebody explain to me what on earth is happening?

Hi! Sorry you're having issues. It's hard to say why you are seeing that behavior and/or if there is a bug from the description alone. Is it possible you can provide version numbers of everything in use, full code the reproduces the issue, and the steps to perform with the provided code to see the issue in action?

Okay, so Angular by default sends out a CORS Preflight Request, this is apparently routed through the middleware (don't ask me why). The Preflight Request contains a few headers (like which ones are going to be in the actual request). The JWT Library doesn't have anything to decrypt so it throws an error, which is sent back and the actual request is canceled by Angular due to CORS errors.
SuperTest doesn't send Preflight Requests, hence the difference in behavior.
This leaves me with one question: the PFR goes through the middleware, but is this preferred behavior? Is there a way for me to disable this or should I just check for the Authorization header?

If you replace that middleware with the access control headers with the https://github.com/expressjs/cors then the preflight won't continue to later middleware,  which seems to be the behavior you're looking for :+1:


Add raw bindings to the internal DNS resolver API

I am using dns_gethostbyname_addrtype to do parallel resolution of IPv4 and IPv6 addresses with async callbacks in my project.
Adding this header file would help me greatly.

Thanks!

Thanks for the quick merge, makes this easier to validate for everyone.
https://github.com/jothan/llvm-sign-extension-bug/commit/3be7487f7a2cf5220a310d9f9e50c018ea5fb037


Revision of releases page

Finally...
We can now see all upcoming releases. The Trello card contains a number of to-dos. For example, the right filter bar has no function yet.

 Revision of releases page

Ah and I got a lot of 400 errors for the images but I guess that's my local database, haven't checked yet

Ah and I got a lot of 400 errors for the images but I guess that's my local database, haven't checked yet

I have the same error, it's your local database. Later we need something to use also images from local disc.


Rate limiting

Are there any sort of rate limits I should be aware of? I'm hosting a local server for an IoT Wi-Fi module (Particle Photon) because it doesnt support HTTPS. If im reinitializing the get accountId/get sessionId functions every minute or so, will I have any issues?
Also, when and where is verifying serial numbers needed?

Im afraid I'm not sure. I created this because i was unable to find any good API docs from dexcom itself. Honestly, you'll want to check out the pydexcom repo for better answers. I made this in an hour just porting their code directly to JS without any best practices.
If they do have rate limiting and you'd like to implement it, feel free to open a PR!

Awesome, thanks for the response. Ill look into it soon.

Verifying serial numbers isn't really useful -- in fact I'm removing it in the next version of pydexcom. It checks if a Dexcom transmitter serial number belongs to your account. As for rate limiting -- the closer you can keep things to 5 minutes, I think the better off you are. The lower our limits, the less they look at us, the longer we can use the API.


Support for morph targets / blend shapes in 3D models

There are certain types of animations which can only be reasonably achieved by using morph targets / blend shapes. This would be a great feature to add to the growing list of 3D animation capabilities of LibGDX.
The fbx-conv tool would need updating as well, so I created https://github.com/libgdx/fbx-conv/issues/73
There are two elements to blend shape animations in the FBX format:

Definitions of the blend shapes themselves
Combining these blend shapes via keyframed animations

Proposed Implementation
A proposed interface would be added to ModelInstance, which would need to hold a list of BlendShapes (new class).
Usage:
ModelInstance player = new ModelInstance(model);
// Apply blend shape "blink-left" to base mesh with 50% influence
player.getBlendShape("blink-left").setWeight(50);

// Apply blend shape "blink-right" to base mesh with 100% influence
player.getBlendShape("blink-right").setWeight(100);

In this example, the resulting mesh would have a "half blinked" left eye combined with a "fully blinked" right eye. Blend shapes can be combined and would only override each other if they affect the same vertices. In this case, the final position of the vertex would be affected by all active blend shapes.
A convenience method could be used to reset all blend shapes at once:
// Resets all blend shape weights to 0 in this ModelInstance
player.resetBlendShapes();

The ModelInstance would likely need to keep track of the "base" or "neutral" blend shape, to allow returning to the default state of the mesh.
Once blend shape control is implemented, animations could easily be performed in code by tweening the blend shape weights over time (ie: using Universal Tween Engine).
FBX Format Details
Using the Blender ASCII FBX exporter with a very simple model (12 verts), the following format is used to define blend shapes (only relevant parts included):
Objects:  {
    Model: "Model::Cylinder", "Mesh" {
        Shape: "twist" {
            Indexes: 1,3,5,7,8,9,10,11
            Vertices: -0.866025,-0.500000,0.000000,-0.500000,0.866025,0.000000,0.866026,0.500000,0.000000,0.500000,-0.866025,0.000000,
				          -0.500000,-0.133975,0.000000,-0.133975,0.500000,0.000000,0.500000,0.133975,0.000000,0.133975,-0.500000,0.000000
            Normals: 0,0,0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,0,0
        }
    }
}

The locations of the vertices are relative to their original locations.

Closing this out due to no further activity.

I'm very surprised that you've closed this. This feature is still missing from libgdx, and desired by more than just myself. At Xoppa's request, I put a fairly sizable amount of research into describing the implementation and exploring approaches to add it to the library. I was actually in the process of coming up with a POC to help advance an implementation. Closing the issue seems like a very discouraging response to potential collaborators (such as myself). Care to elaborate?

This issue tracker can have 100+ open issues. Issues with no activity become clutter, making it hard to see the issues that need action to be taken. Also, people are often active and then abruptly leave forever.
It seems discussion indicated that a benchmark or POC was needed, then there was no activity for over a month. Feel free to request this issue to be reopened when there is more activity or open a new issue and reference this one.

Will do. Thank you, Nathan.

What Nate said :) Sorry, this was not supposed to come off as rude, and i thought my explanation was to the point (closing because no further activity).

Thank you, Mario. The mistake was mine in misunderstanding the process, so I apologize for that. No harm done :)


Automatic PR from RestAPI-PR1525

Generated from RestAPI PR: https://github.com/Azure/azure-rest-api-specs/pull/1525

Seems the swagger PR will be reverted, do nothing for now

Codecov Report

Merging #1364 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master    #1364   +/-   ##
=======================================
  Coverage   54.82%   54.82%
=======================================
  Files        3012     3012
  Lines       75844    75844
=======================================
  Hits        41578    41578
  Misses      34266    34266

Impacted Files
Coverage Δ

...h/azure/mgmt/search/models/search_service_paged.py
100% <ø> (ø)
:arrow_up:

...search/azure/mgmt/search/models/query_key_paged.py
100% <ø> (ø)
:arrow_up:

...re/mgmt/search/operations/admin_keys_operations.py
92.98% <100%> (ø)
:arrow_up:

...re/mgmt/search/operations/query_keys_operations.py
89.87% <100%> (ø)
:arrow_up:

...zure/mgmt/search/operations/services_operations.py
90% <100%> (ø)
:arrow_up:

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 1ae7448...78f2930. Read the comment docs.

Reverted


Add contributing documentation

Codecov Report

Merging #14 (1439226) into main (3dfac2c) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #14   +/-   ##
=======================================
  Coverage   32.22%   32.22%
=======================================
  Files          56       56
  Lines        1809     1809
=======================================
  Hits          583      583
  Misses       1226     1226

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 3dfac2c...1439226. Read the comment docs.


PR number showing up in generated preview URL as 'undefined'

First of all, thanks for creating this GitHub action! I was setting up my first workflow to use it, and but then was getting this error when it would try to connect to the preview URL:
Unable to connect to https://deploy-preview-undefined--macops-ca.netlify.app

If I substitute in my actual PR number 14 to get https://deploy-preview-14--macops-ca.netlify.app, I have a valid URL. Is it possible that the context's payload no longer contains number at that level in the structure?
The actual action run for my repo was here.

Hi @timsutton, would you mind re-running to see if this was potentially an intermittent issue? I'm looking at the most recent PR in this repo and I see that the PR # is included:
https://github.com/JakePartusch/wait-for-netlify-action/runs/4158578466?check_suite_focus=true

Just tried it again and have the same issue, but now I notice something that I had missed earlier:

..and that was because my workflow yml was using on: [push] instead of on a pull_request event. Makes sense!

Will move onto the next thing. Thanks for the help!


Change analytics_statistics_ttl to 4

Change analytics_statistics_ttl to 4 as requested by Yuvaraja

Waiting for Yuvaraja's confirmation before merge


How to add dividers below each menu item ?

How can I show divider of length such that my divider of menu items will not overlap on reside menu?I want dynamic solution I don't want to keep fix layout width like 250 dp in reside menu item layout?


keep eval related computations and data on gpu

Overall, the idea looks good to me. However, seems we can do further enhancement if we ensure the predicted/transformed data is on the GPU before evaluating. like here and here

That is exactly what is being done in the PR here:  https://github.com/NVIDIA/spark-rapids-ml/pull/587/files#diff-5bffca677cda02544897eeac447779db91115ec59138bc10c6115e56ed123692R1476-R1482
But only for logistic regression so far.  Needs to be extended to the other crossvalidator supported models like random forest and linear regression.

build

build

build

build


authremove some method in AccessControllerManager

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall

run buildall


Filter for invalid array items

Fixes #28599

I am closing this pull request because it lacks sufficient explanation, tests, or both. It is difficult for us to merge pull requests without these things because the change may introduce breaking changes to the framework.
Feel free to re-submit your change with a thorough explanation of the feature and tests - integration tests are preferred over unit tests. Please include it's benefit to end users; the reasons it does not break any existing features; how it makes building web applications easier, etc.
Thanks!

@tpaksu please keep in mind the pull request template and add a thorough explanation to your pr and not just link to an issue: https://raw.githubusercontent.com/laravel/framework/5.8/.github/PULL_REQUEST_TEMPLATE.md

Also provide a test for the breakage.


Incorrect command usage instructions in kubectl-gs

Some usage instructions are not aligned with their associated commands. In some cases the instructions mention e.g. flags that do not exist in the command.
We need to go through all commands and make sure their usage instructions are up to date.
Todo:

[ ] Make a list of all problematic usages

For refinement: Let's think about how to ensure automatically that the usage does not show wrong information.


Remove openocd

Removing old versions from registries is generally not a thing because it breaks 'no changes means no changes'.
Don't there need to be index.yaml changes?

Ah, yes, there do need to be index.yaml changes.

If this is removed, how do I install OpenOCD using vcpkg? What will happen to the projects and teams already configured to use it?

The deletion of repository microsoft/openocd has already brought this into effect (no sources available), unfortunately.
Instead of removing openOCD entirely would it not be more beneficial to existing projects to use openocd-org/openocd going forward?
(also, microsoft:tools/raspberrypi/pico-sdk is still a dependent on openOCD (0.11.0-ms2), though it should not require it)

This commit broke installation of "microsoft:tools/ninja-build/ninja": "1.10.2". The index refers to ninja as index 17, but it actually has index 13. The indices of the pico-sdk package also need to be adjusted.


OpenBSD (amd64 and arm64) - sys/statfs.rs - fix

Hi,
File:
sys/statfs.rs
target_os = "openbsd"
-----------------------------------
pub fn optimal_transfer_size(&self) -> i32 {
    |         self.0.f_iosize
    |         ^^^^^^^^^^^^^^^ expected i32, found u32
help: you can convert an `u32` to `i32` and panic if the converted value wouldn't fit
-----------------------------------

target_os = "openbsd"
-----------------------------------
pub fn files_free(&self) -> i64 {
    |         self.0.f_ffree
    |         ^^^^^^^^^^^^^^ expected i64, found u64
help: you can convert an `u64` to `i64` and panic if the converted value wouldn't fit
-----------------------------------

please fix to:
self.0.f_iosize as i32
self.0.f_ffree as i64

Regards,
Louis Jasbetz

Can you please clarify which version of OpenBSD you're using?  And if you could submit a PR too, that would be great.

Commit https://github.com/nix-rust/nix/commit/7a1e86131361b5fae03517513d46c188399fa07b should have fixed this issue since v0.17.0. Update your crate.
According to the online blame at https://github.com/openbsd/src/blame/f0801dd35b987df069e806e4afc6f87aa5da4038/sys/sys/mount.h, f_iosize has been u32 and f_free has been u64 for 12 years.

Closing as duplicate of #1125 .


Package proposal: diaphora.vm

Package Name
diaphora
Tool Name
diaphora
Package type
OTHER/UNKNOWN
Tool's version number
2.1.0
Category
Utilities
Tool's authors
joxeankoret
Tool's description
Diaphora is a program diffing tool that works as an IDA plugin.
Download URL
https://github.com/joxeankoret/diaphora/archive/refs/tags/2.1.0.zip
Download SHA256 Hash
TODO
Why is this tool a good addition?
Diaphora is very useful for comparing samples.

@mandiant/flare-vm where do you think we should put this tool? Is Utility the right place?

Out of the current categories, I'd say yes. Utility is good.

What about adding an IDA plugin category? 🤔

It think it could be cool to install IDA plugins using VM-Packages. But I am thinking now that we don't need a category, but to link them from the IDA plugins directory. So probably a category doesn't make sense in any sense. Diaphora is a bit special because it is not really a plugin, but a script you need to open with IDA. So I think it is ok to add it to Utilities.


always perform a hash for each password length to avoid potential timing...

... attacks that give information about password lengths. As discussed in #23

I just ran a quick test on my machine - I'm not sure how accurate this is, but I think that running the hash function takes around 8-9 microseconds while the repeat() call takes significantly less - something around or below 2 microseconds.
So yes, I think that this improves resistance against timing attacks, although I have no idea how feasible those are either before or after the change.


stoped working today with viomi.vacuum.v8

I have installed this integration and it worked with my robot until today. Now is the device unavailable. When I tried thy python script for extracting cloud token, it says "unable to get devices". The vacuum is working normaly and I can see it or control it via the Mi Home app normaly.

most likely the same issue as https://github.com/al-one/hass-xiaomi-miot/issues/345 (europe server has changed?)

most likely the same issue as https://github.com/al-one/hass-xiaomi-miot/issues/345 (europe server has changed?)

most likely the same issue as #345 (europe server has changed?)

It looks like it. And this one too.

most likely the same issue as #345 (europe server has changed?)

It looks like it. And this one too.

https://github.com/al-one/hass-xiaomi-miot/issues/345#issuecomment-1003857714


show a message to indicate which links might not be shown

Because results have been filtered out using on or more of the follwing features
#5
#4
#2

or because (a) particular features(s) haven't been implemented yet


api: "unstable" features

I'm slightly hesitant about how to merge #1298 and #1290 - rolling_mean is marked as unstable in Polars. ewm_mean isn't, but follows the api kind of API style
I do think we should merge them, I just think we need a way to signal that we won't make the same kinds of promises for them as we do for the rest of the API in stable.v1
So, I'm tempted to say:

let's wait for some decision / further discussion on https://github.com/plotly/plotly.py/issues/4834
we can discuss the Narwhals unstable API

I'm sorry for the delay here in merging these PRs

I'm sorry for the delay here in merging these PRs

No need to be sorry, I think #1290 was not even discussed fully (e.g. in which way we want to implement rolling for pyarrow backend).
Regarding how to mark features as unstable, which options do we have? Adding a warning/disclaimer in the docstrings and docs is the bare minimum, aside that:

Raising a warning might be too much and too strong for a user.
Raising a warning only in the stable API i.e. if used in narwhals.stable.v1, but let it go silently if called from narwhals?

I would say this second option could be a compromise?

Is this decided then?: "define a NarwhalsUnstableWarning class, and advise users to silence warnings of that class if they're OK with using an experimental feature"

Yeah I think this is probably the best way to go about it, thanks for the discussion
Are you interested in adding NarwhalsUnstableWarning to your PR (it could be defined in narwhals/_exceptions), or in adding it as a precursor PR?

So, the NarwhalsUnstableWarning is being done on #1395, I don't need to do this right @MarcoGorelli ?

i think you're right - i'll change the assignment then, once we get that in we can ship ewm_mean too 🚀


Default name for migration folder shown but not used when no name is entered

Bug description
If you create a schema change then run prisma migrate dev the prompt offers a migration directory name suggestion that isn't used if you press Enter despite appearing to be a default inferred name.
Instead it creates a directory with only the timestamp and and underscore as the name.
How to reproduce

add new model to schema
run prisma migrate dev
enter y, press Enter
press Enter again instead of entering a migration name

✔ We need to reset the following schemas: "public" at "localhost:5432"
Do you want to continue? All data will be lost. … yes

Applying migration `0_init`
Applying migration `20231115075202_new_table`

The following migration(s) have been applied:

migrations/
  └─ 0_init/
    └─ migration.sql
  └─<PHONE_NUMBER>5202_new_table/
    └─ migration.sql

✔ Enter a name for the new migration: …
Applying migration `20231115235133_`

The following migration(s) have been created and applied from new schema changes:

migrations/
  └─<PHONE_NUMBER>5133_/
    └─ migration.sql

Your database is now in sync with your schema.

Expected behavior
It should default to using the default directory name shown in the prompt:<PHONE_NUMBER>5202_new_table.
Prisma information
N/A
Environment & setup
prisma                  : 5.6.0
@prisma/client          : 5.6.0
Computed binaryTarget   : darwin-arm64
Operating System        : darwin
Architecture            : arm64
Node.js                 : v18.16.0
Query Engine (Node-API) : libquery-engine e95e739751f42d8ca026f6b910f5a2dc5adeaeee (at<EMAIL_ADDRESS>Schema Engine           : schema-engine-cli e95e739751f42d8ca026f6b910f5a2dc5adeaeee (at ../../node_modules/@prisma/engines/schema-engine-darwin-arm64)
Schema Wasm             : @prisma/prisma-schema-wasm 5.6.0-32.e95e739751f42d8ca026f6b910f5a2dc5adeaeee
Default Engines Hash    : e95e739751f42d8ca026f6b910f5a2dc5adeaeee
Studio                  : 0.495.0
Preview Features        : multiSchema
Prisma Version
5.6.0

Isn't<PHONE_NUMBER>5202_new_table the name of an existing, previous migration?

@janpio Sorry that wasn’t super clear, that’s the value I type along with the command but I think I’m just figuring out there’s no default positional arg assumption without the —name flag.

Going to close this since I can't exactly remember in which circumstances it occurred. I'll reopen if I encounter it again.

As far as I know we indeed to not support any positional arguments, although the way this went bad is indeed weird. Please do come back to this if this ever happens again. Thanks.


feat: Add click, focus and blur methods to the CheckboxToggle component.

fixes #198

Pull Request Test Coverage Report for Build 828

4 of 7 (57.14%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.2%) to 79.484%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/components/CheckboxToggle/index.js
4
7
57.14%

Totals

Change from base Build 820:
-0.2%

Covered Lines:
443

Relevant Lines:
541

💛  - Coveralls


[Feature] Config for showing optional properties in request/response examples

Is your feature request related to a problem? Please describe.
When the response in my OpenAPI spec has properties that are all optional, I don't see a response in my Fern Docs. I'd like my users to see default values (e.g., the word string for a string) to get an idea for the shape of the response.
Describe the solution you'd like
I'd like a config that will make optional properties appear in my request JSON examples within my docs.
Describe alternatives you've considered
N/A

closing as we haven't heard a user ask for this request


Mark template as #__PURE__ in generated code.

When components are included in files but are unused, Terser of course removes those functions. However, the generated calls to template outside of that function are kept, leading to code like:
template("

");
const _tmpl$2 = template('<button type="button"></button>');

Note the first template is not assigned to anything, but Terser preserves it just in case it has side-effects.
However, the only side-effect template has is creating an unparented DOM node, which is just wasteful if not removed.
Therefore, marking template with the leading comment /*#__PURE__*/ allows Terser the freedom to remove calls to it if the results are unused.
Also, may want to squash this when merging.

Thank you.


Jobs Table Gizmo

Create a gizmo to display the app jobs for a user with the status and actions that can be taken for each job. Similar to the jobs table in the Parley's Creek App.

Issue closed with commit: 0fd3d5939dd3bd419732aaf0f16ebc16a4783689


pull request for e2e test at 11/23/2016 23:56:02

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


DotNet/NuGet: Fix test projects to use an existing jQuery version

If a non-existing version is used, NuGet seems to fall back to using the
latest version, resulting in failing tests if a new jQuery version is
realeased.
Signed-off-by: Sebastian Schuberth<EMAIL_ADDRESS>

This change is

/cc @neubs-bsi


Drag and Drop list

dragging an item into and out of the list on another target also relates to this issue
https://medium.com/swlh/reparenting-with-react-426d12fb6d0d


[FEATURE REQUEST]: Option to load project from directory

It would be very helpful to be able to load a project from a selected directory. As more repositories implement KCL projects these repos might be cloned outside of the Modeling App's project directory. Currently for a user to load a prebuilt project, the user would need to copy the .kcl files into a new root directory inside of the Modeling App project directory

have you tried double click from finder, i agree we need "open" like in a normal os menu but double click effectively does the same thing if you click a kcl file in that directory

Double click works as a temporary solution, but I would need to double click every time I want to open the project after closing the modeling app. It would be nice if that project location persisted in the app, once double clicked or opened when use a file -> open directory


make run lunchclass.io:3000 for #427 issue

#427 issue we can see the result in http://lunchclass.io:3000.

@Wuseok, check lunchclass.io:3000. You can get a review and test with this url:port.

@Wuseok, I'm closing this issue.


Apply data retention constraints for schema checks

Schema checks should only be stored for the data retention period of the selected hive plan.
We can add a new column expires_at with an index and then just have a cron job that deletes the old data that passed the expiration date.

Closed via https://github.com/kamilkisiela/graphql-hive/pull/2691
Internal follow-up task: https://github.com/the-guild-org/graphql-hive-deployment/issues/1385


New kernels in GPy

¿How can i set a new kernel in GPy?
I already have read the documentation about, but i do not understand anything

Is this what you are looking for?
http://gpy.readthedocs.io/en/deploy/tuto_creating_new_kernels.html
2018-03-16 15:35 GMT+01:00 jorgeloaiza<EMAIL_ADDRESS>
¿How can i set a new kernel in GPy?
I already have read the documentation about, but i do not understand
anything
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/SheffieldML/GPy/issues/610, or mute the thread
https://github.com/notifications/unsubscribe-auth/ABfcKfqbcqpvFuP6vyvLFcNQvIH55RP0ks5te83HgaJpZM4St5F3
.


superset_config.py doesn't work

Make sure these boxes are checked before submitting your issue - thank you!

[x] I have checked the superset logs for python stacktraces and included it here as text if any
[x] I have reproduced the issue with at least the latest released version of superset
[x] I have checked the issue tracker for the same issue and I haven't found one similar

Superset version
0.15.0
Expected results
the  parameters in superset_config.py should work.
Actual results
the  parameters in superset_config.py don't work.
Steps to reproduce

vim superset_config.py
SQLALCHEMY_DATABASE_URI = 'sqlite:////path/to/superset.db'  DRUID_IS_ACTIVE = False
and
mv superset_config.py /usr/local/superset

add PYTHONPATH in /etc/profile
export PYTHONPATH=/usr/local/superset:$PYTHONPATH
or
export PYTHONPATH=/usr/local/superset
source /etc/profile

run superset
I set wrong SQLALCHEMY_DATABASE_URI but superset still works

so the  superset_config.py doesn't works, something wrong?

Looks like superset has created new "superset.db" in the path you specified. Thats why its working. Check once.

@pawan-kv The superset_config.py is loaded in supersete/config.py, so I set CONFIG_PATH_ENV_VAR = '/usr/local/superset' in supersete/config.py, and it works, which seems that there is no need to set PYTHONPATH, right?

Maybe Im not getting you quite right.
But this is how we can override "config.py" default settings:

create a new file "superset_config.py" in some directory say "/home/local_settings/".
Add line:
SQLALCHEMY_DATABASE_URI = 'sqlite:////home/data/superset.db' (or any path u have write permissions to)

Now you can do either:
export PYTHONPATH=/home/local_settings/:$PYTHONPATH
OR
export SUPERSET_CONFIG_PATH=/home/local_settings/

Thats it.

Thanks @pawan-kv!

Didn't work for me in superset 0.18.0 . When setting SUPERSET_CONFIG_PATH=/code/superset/ it was throwing this:
Traceback (most recent call last):
  File "/usr/local/bin/superset", line 12, in <module>
    from superset.cli import manager
  File "/usr/local/lib/python3.5/dist-packages/superset/__init__.py", line 21, in <module>
    from superset import utils, config  # noqa
  File "/usr/local/lib/python3.5/dist-packages/superset/config.py", line 305, in <module>
    imp.load_source('superset_config', os.environ[CONFIG_PATH_ENV_VAR])
  File "/usr/lib/python3.5/imp.py", line 172, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 693, in _load
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 669, in exec_module
  File "<frozen importlib._bootstrap_external>", line 774, in get_code
  File "/usr/lib/python3.5/imp.py", line 158, in get_data
    return super().get_data(path)
  File "<frozen importlib._bootstrap_external>", line 826, in get_data
IsADirectoryError: [Errno 21] Is a directory: '/code/superset/'

What did work is setting the full path to the file, not just directory. SUPERSET_CONFIG_PATH=/code/superset/superset_config.py

We just ran into this. If the option is for the config file, not path, can it be changed to:
SUPERSET_CONFIG_FILE=

HI  all , i am getting below issue can any one help
Traceback (most recent call last):
File "/home/itsupport/superset-venv/bin/superset", line 12, in
from superset.cli import manager
File "/home/itsupport/superset-venv/lib/python3.5/site-packages/superset/init.py", line 22, in
from superset import config, utils
File "/home/itsupport/superset-venv/lib/python3.5/site-packages/superset/config.py", line 437, in
os.environ[CONFIG_PATH_ENV_VAR])
File "/usr/lib/python3.5/imp.py", line 172, in load_source
module = _load(spec)
File "/home/kranthi/superset-venv/bin/superset_config.py", line 34
secret = <>

secret = <> is not valid python.


exporter/stats/prometheus: metric collection time

We are currently using the Collector API provided by the Prometheus Go package but it is not clear if it is possible to timestamp the collected metrics via it. Investigate whether we can use (ViewData).Start and (ViewData).End timestamps instead of letting collector time-stamping the recordings.
/cc @odeke-em

So I was reading from the Prometheus "Writing exporters" page at https://prometheus.io/docs/instrumenting/writing_exporters/
and they talk about using
https://github.com/prometheus/pushgateway or https://godoc.org/github.com/prometheus/pushgateway
https://prometheus.io/docs/practices/pushing/
if we want to set the timestamps our selves

The other seemingly plausible option is to use, WithLabels for Histograms and Summaries:

https://godoc.org/github.com/prometheus/client_golang/prometheus#HistogramVec.WithLabelValues
https://godoc.org/github.com/prometheus/client_golang/prometheus#SummaryVec.WithLabelValues

For example:
// For prometheus.HistogramVec
histogramVec.WithLabelValues("start_time").Observe(vd.Start.Unix())
histogramVec.WithLabelValues("end_time").Observe(vd.End.Unix())

// For prometheus.SummaryVec
summaryVec.WithLabelValues("start_time").Observe(vd.Start.Unix())
summaryVec.WithLabelValues("end_time").Observe(vd.End.Unix())

For cumulative windows, we don't need this to be done right now. I am moving the issue to R2, so we can come back at it when we are thinking about the interval support.


Aggregate stats by the hour

per chat with @kepta @ajithranka @rasagy @planemad  - let's aggregate stats by the hour and not give minutely.

This is a possibility:
select date_trunc('hour', change_at) as hours, SUM(CAST(nodes ->> 'c' AS integer)) from stats group by date_trunc('hour', change_at) order by hours asc;
The query is going to really long for all the fields.

For the tags this will be complicated because we want to aggregate for all possible combinations :-/

This is done.


[LLVMCPU] Do not return the dim size if it is greater than maxSize.

We want the tile sizes not greater than maxSizes. If they are greater than maxSizes at the last level of tiling, it could introduces big unroll factors.

The issue is found in DeepLabV3. It looks like it could improve the perf on RISC-V side as well.

The issue is found in DeepLabV3. It looks like it could improve the perf on RISC-V side as well.

Let me give it a try when I get home today!

What was the specific issue in DeepLabV3? What tile sizes did you see?

What was the specific issue in DeepLabV3? What tile sizes did you see?

In one of depthwise convolutions, dim_size = 14; vector_size=16; max_size=8. Without the fix, we choose 14 for the tiling sizes, and it's greater than the limit 8.
See the case in lit test:
#pipeline_layout = #hal.pipeline.layout<push_constants = 0, sets = [
  #hal.descriptor_set.layout<0, bindings = [
    #hal.descriptor_set.binding<0, storage_buffer>,
    #hal.descriptor_set.binding<1, storage_buffer>,
    #hal.descriptor_set.binding<2, storage_buffer>
  ]>
]>
hal.executable private @thin_depthwise_conv_static {
  hal.executable.variant public @system_elf_x86_64, target = <"llvm-cpu", "system-elf-x86_64", {
    data_layout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128",
    native_vector_size = 64 : index,
    target_triple = "x86_64-unknown-linux-gnu"
  }> {
    hal.executable.export public @thin_depthwise_conv_static layout(#pipeline_layout)
    builtin.module {
      func.func @thin_depthwise_conv_static() {
        %cst = arith.constant 0.0 : f32
        %input_binding = hal.interface.binding.subspan set(0) binding(0) type(storage_buffer)
            : !flow.dispatch.tensor<readonly:1x57x57x72xf32>
        %filter_binding = hal.interface.binding.subspan set(0) binding(1) type(storage_buffer)
            : !flow.dispatch.tensor<readonly:3x3x72xf32>
        %result_binding = hal.interface.binding.subspan set(0) binding(2) type(storage_buffer)
            : !flow.dispatch.tensor<writeonly:1x28x28x72xf32>
        %input = flow.dispatch.tensor.load %input_binding, offsets = [0, 0, 0, 0], sizes = [1, 161, 161, 240], strides = [1, 1, 1, 1]
            : !flow.dispatch.tensor<readonly:1x57x57x72xf32> -> tensor<1x57x57x72xf32>
        %filter = flow.dispatch.tensor.load %filter_binding, offsets = [0, 0, 0], sizes = [3, 3, 240], strides = [1, 1, 1]
            : !flow.dispatch.tensor<readonly:3x3x72xf32> -> tensor<3x3x72xf32>
        %init = linalg.init_tensor [1, 28, 28, 72] : tensor<1x28x28x72xf32>
        %fill = linalg.fill ins(%cst : f32) outs(%init : tensor<1x28x28x72xf32>) -> tensor<1x28x28x72xf32>
        %conv = linalg.depthwise_conv_2d_nhwc_hwc {dilations = dense<1> : tensor<2xi64>, strides = dense<2> : tensor<2xi64>}
          ins(%input, %filter : tensor<1x57x57x72xf32>, tensor<3x3x72xf32>)
          outs(%fill : tensor<1x28x28x72xf32>) -> tensor<1x28x28x72xf32>

        flow.dispatch.tensor.store %conv, %result_binding, offsets = [0, 0, 0, 0], sizes = [1, 28, 28, 72], strides = [1, 1, 1, 1]
            : tensor<1x28x28x72xf32> -> !flow.dispatch.tensor<writeonly:1x28x28x72xf32>
        return
      }
    }
  }
}
//  CHECK-DAG: #[[CONFIG:.+]] = #iree_codegen.lowering_config<tile_sizes = {{\[}}[0, 7, 14, 36, 0, 0], [1, 1, 7, 18, 0, 0], [0, 0, 0, 0, 1, 3]]>
//  CHECK-DAG: #[[TRANSLATION:.+]] = #iree_codegen.translation_info<CPUConvTileAndDecomposeExpert>
//      CHECK: hal.executable.export public @thin_depthwise_conv_static
// CHECK-SAME:     translation_info = #[[TRANSLATION]]
//      CHECK:     linalg.depthwise_conv_2d_nhwc_hwc
// CHECK-SAME:       lowering_config  = #[[CONFIG]]

10%, 5% and 4% improvements on MobileNetV1, DeepLabV3 and Person Detect. Awesome!


Kernel crashes with 'Check failed: work_element_count > 0 (0 vs. 0)' after first model has finished training.

System information

Have I written custom code (as opposed to using example directory):  No
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):  Windows 10
TensorFlow backend (yes / no):  Yes
TensorFlow version:  2.1
Keras version:  2.2.4-tf
Python version:  3.7.6
CUDA/cuDNN version:  CUDA 10.1, cuDNN: 7.5.6
GPU model and memory:  Nvidia GTX1070, 8GB

Describe the current behavior
I'm currently trying to train multiple permutations of the same model using the "Keras Tuner" with the following setup:
from kerastuner.tuners import BayesianOptimization
from kerastuner.engine.hyperparameters import HyperParameters

tuner = BayesianOptimization(build_model,
                             objective='val_loss',
                             max_trials=1000,
                             executions_per_trial=3,
                             directory=LOG_DIR)

tuner.search(train_data_single,
             verbose=0,
             epochs=EPOCHS,
             steps_per_epoch=EVALUATION_INTERVAL,
             validation_data=val_data_single,
             validation_steps=EVALUATION_INTERVAL // 4)

Where my dynamic model is defined as:
def build_model(hp):
    model = tf.keras.models.Sequential()

    model.add(tf.keras.layers.LSTM(units=hp.Int(f'LSTM_0_Units', min_value=8, max_value=128, step=8),
                                   dropout=hp.Float(f'LSTM_0_Dropout_Rate', min_value=0, max_value=0.5, step=0.1),
                                   batch_input_shape=(BATCH_SIZE, x_train_single.shape[1], x_train_single.shape[2]),
                                   return_sequences = True))

    for i in range(hp.Int('n_Extra_Layers', 0, 3)):
        model.add(tf.keras.layers.LSTM(units=hp.Int(f'LSTM_{i + 1}_Units', min_value=8, max_value=128, step=8),
                                       dropout=hp.Float(f'LSTM_{i + 1}_Dropout_Rate', min_value=0, max_value=0.5, step=0.1),
                                       return_sequences = True))

    model.add(tf.keras.layers.LSTM(units=hp.Int(f'LSTM_Closing_Units', min_value=8, max_value=128, step=8),
                                   dropout=hp.Float(f'LSTM_Closing_Dropout_Rate', min_value=0, max_value=0.5, step=0.1),
                                   return_sequences = False))

    if hp.Boolean("Extra_Dense"):
        model.add(tf.keras.layers.Dense(units=hp.Int(f'Extra_Dense_Units', min_value=8, max_value=128, step=8)))

    if hp.Boolean("Extra_Dropout"):
        model.add(tf.keras.layers.Dense(units=hp.Float(f'Extra_Dropout_Rate', min_value=0.1, max_value=0.5, step=0.1)))

    model.add(tf.keras.layers.Dense(1))

    model.compile(optimizer=tf.keras.optimizers.Adam(),
                  loss='mae')

    return model

I'm faced with the following after the first successfully trained model:
2020-03-27 17:21:28.275596: F .\tensorflow/core/util/gpu_launch_config.h:129] Check failed: work_element_count > 0 (0 vs. 0)
[I 17:21:29.843 LabApp] KernelRestarter: restarting kernel (1/5), keep random ports
kernel 2bac517a-c195-47ca-952b-c25881cf0757 restarted

And the Jupyter Kernel crashes. Any ideas? :)
Describe the expected behavior
I would expect the session to NOT crash during hyperparameter optimization after the first model has completed since I would ideally want to train hundreds if not thousands of permutations.
Other info
Prior to this issue I was faced with the following: https://github.com/tensorflow/tensorflow/issues/37932

@nistrup This is a stale issue.
I tried running your code with recent TF/keras and I noticed different kind of error as shown below. Please check the gist here
Can you please share updated code so that I can reproduce the issue. Thanks!


Where is release download?

The release section in readme is empty now. I also try to import your image from docker hub using https://github.com/yuk7/wsldl
but I got "[process exited with code 1]" every time I launch solus. Is there any issue with the image so you remove the release section?

Yes, I removed it because it will error after solus updated usysconf.
https://getsol.us/2020/07/01/usysconf-rewrite-and-major-upgrades-roundup-16/
I have added a new one now. Be warned that it will throw up all kinds of errors when you run update or install any package inside solus because of usysconf update. That can be averted by using a patched usysconf. I cannot unfortunately tell you how to do it.
Read the Readme.md. It has a section on how to build a new zip file. It still works.


Footerv2

Added a basic footer, chaged the header image, added +1 logo color.
-Misc changes, not affecting code-

at the footer the original idea didn't work, placeholder is there temporarily


Giving back🤝

Since the day this repository is up, 80% of the questions have been put up by me.
It gets difficult for a maintainer to manage the PRs, solve github doubts and do daily chores. So I request you to contribute not only the solutions but also the questions.
The type of questions being asked can be seen in the issues, feel free to experiment. Appreciate everyone who helps, thanks✌

Sure!


Increment versions for storagepool releases

Increment package versions for storagepool releases

API change check
API changes are not detected in this pull request.


Implement a driver object accepting all URI schemes

There are bolt, neo4j and http drivers making the scheme beforehand unnecessary and making it difficult to use environment variables.
We should create a driver object which looks at the URI scheme and creates the correct driver object under the hood.
$driver = Driver::create(getenv('NEO4J_URI'));

Closed by commit #d436eb1cb328a7ca5c1070de229ed2e2d9c92cbe


fix: Unformatted comment spans add extra newline

closes #2691.
TODO

[x] Add a test

I had to change how function signatures inside traits are formatted since it was failing in the stability check but I think the new one looks more reasonable and it is now matching rustfmt
trait test {
    fn test();
    fn non_test();
}

was getting formatted into
trait test {
    fn test();

    fn non_test();
}

it is now matching rustfmt and becomes
trait test {
    fn test();
    fn non_test();
}

If user inserts a newline in between them like:
trait test {
    fn test();

    fn non_test();
}

it will be formatted into:
trait test {
    fn test();

    fn non_test();
}


🐛 Bug Report: No Loading Indicator When Adding Payment Details on Cloud

👟 Reproduction steps
When saving a new payment method where the backend attempts to connect with Stripe for card verification, there's no loading indicator to show the app is processing the request. This issue persists from the moment the connection to Stripe starts until the card details are finally added to the database after verification.
Without clear feedback, a user might think the app has frozen or their action didn't register.
👍 Expected behavior
Show a small indicator beside the Save button.
👎 Actual Behavior
The modal on the screen looks like it is frozen a a few seconds.
🎲 Appwrite version
Appwrite Cloud
💻 Operating system
Linux
🧱 Your Environment
No response
👀 Have you spent some time to check if this issue has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

I am working on this


Add option in helm to operate with TLS

Description of changes:
Currently, helm performs all actions using --insecure-skip-tls-verify
This PR makes this flag optional and users have to specify WithInsecure() option when creating Helm to add this flag to the helm calls.
Right now, all the packages that were using insecure will continue to use them. This flag is currently only being disabled for the tinkerbell provider.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/lgtm

/cherry-pic release-0.10

/cherry-pick release-0.10


Added missing comma in example code.

@ThomasDetemmerman : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Looks good; thanks.


Added default agent tags

Closes #632.
Signed-off-by: Juraci Paixão Kröhling<EMAIL_ADDRESS>

@objectiser are the go.mod/go.sum changes in line with the ones you observed when running ./.ci/script.sh locally ?

@jpkrohling yes looks the same from a quick scan.

yes looks the same from a quick scan

Need to save some time to properly learn go mod. I thought the dependency list was static, unless we actively ran an update command.
In any case, I'll keep the dependency changes in this PR, as it will otherwise fail due to the unstaged changes to the go.mod/sum files, even though no dependencies actually changed as part of this PR.


Plugin do not have onRequestPermissionResult. Cause plugin do not return when call requestPermissionsScan()

Description
Plugin do not have onRequestPermissionResult. Cause plugin do not return when call requestPermissionsScan()
Environment

Platform: Cordova

Code fixed:
//PermissionUtils.java:
public static final int CAMERA_PERMISSION_CODE = 100;
//HMSScan.java:
@Override
public void onRequestPermissionResult(int requestCode, String[] permissions,
int[] grantResults) throws JSONException {
super.onRequestPermissionResult(requestCode, permissions, grantResults);
for (int r : grantResults) {
if (r == PackageManager.PERMISSION_DENIED) {
Log.d(TAG, "Permission Denied!");
callbackContext.error(scanError.toJSON());
return;
}
}
switch (requestCode) {
case PermissionUtils.CAMERA_PERMISSION_CODE:
callbackContext.success();
break;
}
}

Hello @cempay

Hello @cempay
Since you already fixed the issue and sent PR, I am closing this issue. I have explained the situation in #18 why PR cannot be merged because of the Huawei regulations.
Thanks for your contribution.


Double check the mutations in astronomize()

In the vignette on lineage definitions, I found that 43% of the mutations that are in both the constellations and the usher barcodes are different!!! This requires investigation.

plot_lineage_defs2 has revealed why this is. There's not a problem with the definitions, that's just the way they are.


[fix-14119] The checkBucketNameExists method should not use s3Client. listBuckets()

fix https://github.com/apache/dolphinscheduler/issues/14119

Codecov Report

Merging #14188 (94996ca) into dev (5c4ba41) will increase coverage by 0.02%.
The diff coverage is 0.00%.

:exclamation: Current head 94996ca differs from pull request most recent head 3566146. Consider uploading reports for the commit 3566146 to get more accurate results

@@             Coverage Diff              @@
##                dev   #14188      +/-   ##
============================================
+ Coverage     38.25%   38.28%   +0.02%
+ Complexity     4464     4463       -1
============================================
  Files          1228     1228
  Lines         42884    42829      -55
  Branches       4762     4733      -29
============================================
- Hits          16406    16397       -9
+ Misses        24671    24624      -47
- Partials       1807     1808       +1

Impacted Files
Coverage Δ

...nscheduler/api/controller/SchedulerController.java
82.60% <ø> (ø)

...heduler/api/service/impl/SchedulerServiceImpl.java
30.21% <0.00%> (ø)

...cheduler/common/log/remote/S3RemoteLogHandler.java
0.00% <0.00%> (ø)

...scheduler/plugin/storage/s3/S3StorageOperator.java
34.24% <0.00%> (+0.52%)
:arrow_up:

... and 36 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


New Pairs for kraken?

There are plenty new pairs in kraken that are not implemented into gekko.
Is it sufficent to just add them in the exchange.js and kraken.js? Or are there other factors to be aware off?
best regards
denym_

I am pretty sure that would be sufficient. Will test later today.

I have added all markets (contained in this API call). I tested a few of these pairs and they all seem to be working (monitoring as well as trading).


bug: Android Biometric (OnePlus, Galaxy) Devices Error in KeyStore Encryption

Bug Report
Capacitor Version

Latest Dependencies:

  @capacitor/cli: 5.4.1
  @capacitor/core: 5.4.1
  @capacitor/android: 5.4.1
  @capacitor/ios: 5.4.1

Installed Dependencies:

  @capacitor/cli: 5.2.3
  @capacitor/core: 5.2.2
  @capacitor/android: 5.2.2
  @capacitor/ios: 5.2.2

Plugin Version

 Installed Dependencies:

   @capgo/cli: 3.13.31
   @capgo/capacitor-native-biometric: 5.1.0

✓ Latest Dependencies:

   @capgo/cli: 3.13.31
   @capgo/capacitor-native-biometric: 5.1.0

Platform(s)

Android Devices (So far have tracked OnePlus & Galaxy)
Pixel Devices seem to work (note: mine has touchID while the others use faceId)

Current Behavior
SetCredentials does not work and Android Errors:
       await NativeBiometric.deleteCredentials({
                  server: BIOMETRIC_SERVER,
                });
                await NativeBiometric.setCredentials({
                  username: mobileNumber,
                  password: 'password',
                  server: BIOMETRIC_SERVER,
                });

Results In: "Failed to Set Credentials" being thrown
Expected Behavior
Biometrics should work and credentials should be set
Code Reproduction
            Calling Simply doing this on certain devices such as a OnePlus7 results in the following being logged to logcat & the error reported above being sent to JS error object:

       await NativeBiometric.deleteCredentials({
                  server: BIOMETRIC_SERVER,
                });
                await NativeBiometric.setCredentials({
                  username: mobileNumber,
                  password: 'password',
                  server: BIOMETRIC_SERVER,
                });

                2023-09-22 13:49:17.374 1484-1484/? E/SchedAssist: ofbSetSfMsgTrans pid(1484) failed with error=Permission denied
2023-09-22 13:49:17.566 1484-1484/? E/SchedAssist: ofbSetSfMsgTrans pid(1484) failed with error=Permission denied
2023-09-22 13:49:17.582 1484-1484/? E/SchedAssist: ofbSetSfMsgTrans pid(1484) failed with error=Permission denied
2023-09-22 13:49:17.665 804-24181/? E/keystore2: keystore2::gc: Error trying to delete blob entry. In process_one_key: Trying to unwrap to-be-deleted blob.

    Caused by:
        0: In unwrap_key: Required super decryption key is not in memory.
        1: Error::Rc(ResponseCode(2))
2023-09-22 13:49:17.668 1484-1484/? E/SchedAssist: ofbSetSfMsgTrans pid(1484) failed with error=Permission denied
2023-09-22 13:49:17.681 804-20811/? E/keystore2: keystore2::error: In get_security_level: No such security level.

    Caused by:
        Error::Km(ErrorCode(-68))
2023-09-22 13:49:17.685 1484-1484/? E/SchedAssist: ofbSetSfMsgTrans pid(1484) failed with error=Permission denied
2023-09-22 13:49:17.698 804-818/? E/keystore2: keystore2::error: In create_operation. Failed to handle super encryption.

    Caused by:
        0: In unwrap_key: Required super decryption key is not in memory.
        1: Error::Rc(ResponseCode(2))
2023-09-22 13:49:17.702 1484-1484/? E/SchedAssist: ofbSetSfMsgTrans pid(1484) failed with error=Permission denied
2023-09-22 13:49:17.711 1484-1484/? E/SchedAssist: ofbSetSfMsgTrans pid(1484) failed with error=Permission denied
2023-09-22 13:49:17.719 1484-1484/? E/SchedAssist: ofbSetSfMsgTrans pid(1484) failed with error=Permission denied
2023-09-22 13:49:17.727 1484-1484/? E/SchedAssist: ofbSetSfMsgTrans pid(1484) failed with error=Permission denied
2023-09-22 13:49:17.735 1484-1484/? E/SchedAssist: ofbSetSfMsgTrans pid(1484) failed with error=Permission denied

Other Technical Details

npm --version output: 8.19.2
node --version output: v16.18.1
pod --version output (iOS issues only): N/A
Additional Context

/bounty 30

It’s seems on the original plugin someone made something for this issue:
It seems very similar / related to what this person was facing:
https://github.com/epicshaggy/capacitor-native-biometric/pull/103

Closing issue in favor of - https://github.com/Cap-go/capacitor-native-biometric/issues/8

@danbunkr how is this similar to #8? The root cause of this is related to the shared preferences.


Chinese language support

There does not seem to be Chinese language support in the library contrary to what the documentation says: https://github.com/eggheadgames/Siren#localization.
Am I right? Is the support of this language planned?

Hi @pirishd , we should have all the languages that the iOS Siren supports, but perhaps we missed some, or they were added between when we created the code and copied and modified the documentation.
If you can tell me which ones here: https://github.com/ArtSabintsev/Siren/tree/master/Sources/Siren.bundle that you need, and what the equivalent Android language code(s) are, we can add them.
Or, of course, feel free to give us a PR based on the translations you can see at https://github.com/ArtSabintsev/Siren/tree/master/Sources/Siren.bundle.
Thanks!

Hi @mikemee, I created a PR to add the support of the Chinese language (based on the translations found in https://github.com/ArtSabintsev/Siren/blob/master/Sources/Siren.bundle/zh-Hans.lproj/SirenLocalizable.strings).
Would you please review that?

@pirishd Thanks! Let's continue in the PR, where I have a question.

@pirishd Many thanks for the issue and PR. This was fixed in release 1.4.8.


Add Support for Per Actor Type Configuration

Describe the proposal
The Dapr Runtime added support for per actor type configurations in 1.7. This support needs to be added to the SDKs.
The new configuration looks like:
{
  "entities":["actorType1", "actorType2"],
  "actorIdleTimeout": "1h",
  "actorScanInterval": "30s",
  "drainOngoingCallTimeout": "30s",
  "drainRebalancedActors": true,
  "reentrancy": {
    "enabled": true,
    "maxStackDepth": 32
  },
  "entitiesConfig": [
      {
          "entities": ["actorType1"],
          "actorIdleTimeout": "1m",
          "drainOngoingCallTimeout": "10s",
          "reentrancy": {
              "enabled": false
          }
      }
  ]
}

Implementation can be varied per SDK but should output to the above JSON.
Docs: https://github.com/dapr/docs/pull/2334
Runtime: https://github.com/dapr/dapr/pull/4201

@halspang - Is the example missing a RemindersStoragePartition key?

Yes, the example doesn't have that in it but it is a valid part of the configuration.


Comparing between the different object (int == tuple)

https://github.com/gaiusyu/Brain/blob/4b9151d16583cf5b558aa6f251eb67cfd2a3b546/Brain/Brain.py#L197C39-L197C39

Per the code, father[0] is a number, but root_set_detail[][][] is a tuple, so we get false always here...

Thanks for your interest. I reviewed this part of the code carefully, it is about parent node update. These codes are used to implement the functionality where all the words in a parent column are treated as variables once a different word appears in the parent column. It seems that the code execution on the benchmark dataset doesn't involve this part of the code. I recommend changing 'root_set_detail[][][]' to 'root_set_detail[][][][0]' and then applying it to your dataset.

Thanks for your interest. I reviewed this part of the code carefully, it is about parent node update. These codes are used to implement the functionality where all the words in a parent column are treated as variables once a different word appears in the parent column. It seems that the code execution on the benchmark dataset doesn't involve this part of the code. I recommend changing 'root_set_detail[][][]' to 'root_set_detail[][][][0]' and then applying it to your dataset.

Change it to root_set_detail[][][][0], then the the condition of if father[0] == root_set_detail[key][i][k]: will be triggered. So "involve" rather than "doesn't involve" as commented above by the author.


iOS - Camera Source not resumed due to videoDeviceInUseByAnotherClient when app moves from Background to Foreground

Description
In my application, before starting Twilio call, there is one screen to preview user's background. In there the app shows a camera preview, we use AVCaptureSession here. The AVCaptureSession is stopped whenever the view disappear.
After that user starts Twilio call,  if user moves the app to background CameraSourceDelegate::cameraSourceWasInterrupted fires with reason: videoDeviceNotAvailableInBackground which is normal.
But then when app returns to Foreground, CameraSourceDelegate::cameraSourceWasInterrupted fires one more time with reason: videoDeviceInUseByAnotherClient, no new frame emit, the receiver doesn't receive video any more
Steps to Reproduce

Start a View Controller with AVCaptureSession, start session when view appear and stop session when view disappear.
Start Twilio Call
Moves app to background
Moves app to foreground

Expected Behavior
Twilio call should continue as normal
Actual Behavior
Black preview, no new video frame arrive to receiver side
Reproduces How Often
Sometimes it work, sometimes doesn't work. About 80% doesn't work
Logs
// Log output when the issue occurs

2021-03-30 10:51:51.707594+0900 [4453:394988] DEBUG:Twilio:[Platform](Thread 0x0x10d63f3f0): Rendering inactive scene at 30 fps.
2021-03-30 10:51:51.707888+0900 [4453:394988] DEBUG:Twilio:[Platform](Thread 0x0x10d63f3f0): Rendering inactive scene at 30 fps.
2021-03-30 10:51:51.849696+0900 [4453:395365] INFO:Twilio:Platform: AVCaptureSession interrupted with reason: 1
2021-03-30 10:51:51.849931+0900 [4453:395365] INFO:Twilio:Platform: ... Capture pipeline did stop.
2021-03-30 10:51:51.850061+0900 [4453:395365] DEBUG:Twilio:Platform: Teardown video output pipeline ...
2021-03-30 10:51:51.850427+0900 [4453:395365] DEBUG:Twilio:Platform: Finished video output pipeline teardown.
2021-03-30 10:51:51.850560+0900 [4453:395365] DEBUG:Twilio:Platform: Video pipeline did finish running
2021-03-30 10:51:51.942642+0900 [4453:395212] INFO:Twilio:Platform: AVCaptureSession interrupted with reason: 1
2021-03-30 10:51:51.942815+0900 [4453:395212] INFO:Twilio:Platform: ... Capture pipeline did stop.
2021-03-30 10:51:51.942931+0900 [4453:395212] DEBUG:Twilio:Platform: Teardown video output pipeline ...
2021-03-30 10:51:51.943235+0900 [4453:395212] DEBUG:Twilio:Platform: Finished video output pipeline teardown.
2021-03-30 10:51:51.943349+0900 [4453:395212] DEBUG:Twilio:Platform: Video pipeline did finish running
[DEBUG CAMERA] interrupted: 1
2021-03-30 10:51:51.943612+0900 [4453:395212] INFO:Twilio:Platform: AVCaptureSession stopped running
2021-03-30 10:51:51.943675+0900 [4453:394988] DEBUG:Twilio:[Core](Thread 0x0x10d63f3f0): API Call setEnabled
2021-03-30 10:51:51.944894+0900 [4453:395608] DEBUG:Twilio:[Core](MediaFactoryImpl::signaling 0x0x28108c930): API Call isEnabled
2021-03-30 10:51:51.945105+0900 [4453:395608] DEBUG:Twilio:[Core](MediaFactoryImpl::signaling 0x0x28108c930): API Call getTrackId
2021-03-30 10:51:51.945209+0900 [4453:395608] DEBUG:Twilio:[Core](MediaFactoryImpl::signaling 0x0x28108c930): API Call getTrackId
2021-03-30 10:51:51.945438+0900 [4453:394988] DEBUG:Twilio:[Core](Thread 0x0x10d63f3f0): API Call isEnabled
2021-03-30 10:51:51.945716+0900 [4453:395211] DEBUG:Twilio:Core: API Call getTrackId
2021-03-30 10:51:51.945957+0900 [4453:394988] DEBUG:Twilio:[Core](Thread 0x0x10d63f3f0): API Call getWebRtcTrack
2021-03-30 10:51:51.946113+0900 [4453:394988] DEBUG:Twilio:[Core](Thread 0x0x10d63f3f0): API Call getWebRtcTrack
2021-03-30 10:51:52.660685+0900 [4453:394988] DEBUG:Twilio:[Platform](Thread 0x0x10d63f3f0): Scene did enter background. Pausing rendering.
2021-03-30 10:51:52.660990+0900 [4453:394988] DEBUG:Twilio:[Platform](Thread 0x0x10d63f3f0): Scene did enter background. Pausing rendering.
2021-03-30 10:51:53.447124+0900 [4453:394988] DEBUG:Twilio:[Platform](Thread 0x0x10d63f3f0): Application will enter foreground.
2021-03-30 10:51:53.447295+0900 [4453:394988] INFO:Twilio:[Platform](Thread 0x0x10d63f3f0): Manually restarting interrupted session.
2021-03-30 10:51:53.455571+0900 [4453:395521] [connection] nw_read_request_report [C11] Receive failed with error "Software caused connection abort"
2021-03-30 10:51:53.455945+0900 [4453:395521] [connection] nw_read_request_report [C5] Receive failed with error "Software caused connection abort"
2021-03-30 10:51:53.456744+0900 [4453:395521] [connection] nw_read_request_report [C6] Receive failed with error "Software caused connection abort"
2021-03-30 10:51:53.460394+0900 [4453:395521] Connection 10: received failure notification
2021-03-30 10:51:53.460537+0900 [4453:395521] [connection] nw_flow_add_write_request [C10.1 <IP_ADDRESS>:443 failed channel-flow (satisfied (Path is satisfied), viable, interface: en0, ipv4, dns)] cannot accept write requests
2021-03-30 10:51:53.460640+0900 [4453:395521] [connection] nw_write_request_report [C10] Send failed with error "Socket is not connected"
2021-03-30 10:51:53.462231+0900 [4453:395521] Connection 9: received failure notification
2021-03-30 10:51:53.462339+0900 [4453:395521] [connection] nw_flow_add_write_request [C9.1 <IP_ADDRESS>:443 failed channel-flow (satisfied (Path is satisfied), viable, interface: en0, ipv4, dns)] cannot accept write requests
2021-03-30 10:51:53.462426+0900 [4453:395521] [connection] nw_write_request_report [C9] Send failed with error "Socket is not connected"
2021-03-30 10:51:53.463120+0900 [4453:395521] Task .<3> HTTP load failed, 1959/0 bytes (error code: -1005 [1:53])
2021-03-30 10:51:53.468431+0900 [4453:395742] Task .<3> finished with error [-1005] Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo={_kCFStreamErrorCodeKey=53, NSUnderlyingError=0x2834de070 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={NSErrorPeerAddressKey=<CFData 0x2818c58b0 [0x1d2679b20]>{length = 16, capacity = 16, bytes = 0x100201bb6bb2f09f0000000000000000}, _kCFStreamErrorCodeKey=53, _kCFStreamErrorDomainKey=1}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask .<3>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalDataTask .<3>"
), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=https://api.mixpanel.com/track/, NSErrorFailingURLKey=https://api.mixpanel.com/track/, _kCFStreamErrorDomainKey=1}
2021-03-30 10:51:53.778941+0900 [4453:395523] INFO:Twilio:Platform: AVCaptureSession interrupted with reason: 3
2021-03-30 10:51:53.779518+0900 [4453:395523] INFO:Twilio:Platform: ... Capture pipeline did stop.
2021-03-30 10:51:53.780040+0900 [4453:395523] DEBUG:Twilio:Platform: Teardown video output pipeline ...
2021-03-30 10:51:53.782112+0900 [4453:395523] DEBUG:Twilio:Platform: Finished video output pipeline teardown.
2021-03-30 10:51:53.782463+0900 [4453:395523] DEBUG:Twilio:Platform: Video pipeline did finish running
2021-03-30 10:51:53.783228+0900 [4453:395523] DEBUG:Twilio:Platform: Interruption is not recoverable, will not attempt to resume.
2021-03-30 10:51:53.831974+0900 [4453:394988] DEBUG:Twilio:[Platform](Thread 0x0x10d63f3f0): Application will enter foreground.
2021-03-30 10:51:53.832168+0900 [4453:395211] INFO:Twilio:Platform: AVCaptureSession interruption ended
2021-03-30 10:51:53.832369+0900 [4453:394988] DEBUG:Twilio:[Platform](Thread 0x0x10d63f3f0): No manual restart of the session required.
2021-03-30 10:51:53.832710+0900 [4453:395211] INFO:Twilio:Platform: Best device format was: <AVCaptureDeviceFormat: 0x2839e71e0 'vide'/'420f'  960x 540, { 2- 30 fps}, HRSI:3840x2160, fov:67.564, max zoom:135.00 (upscales @4.00), ISO:19.0-1824.0, SS:0.000013-0.500000, supports wide color>
2021-03-30 10:51:53.833959+0900 [4453:395211] INFO:Twilio:Platform: AVCaptureSession started running
[DEBUG CAMERA] interrupted: 3
2021-03-30 10:51:53.853482+0900 [4453:394988] DEBUG:Twilio:[Core](Thread 0x0x10d63f3f0): API Call setEnabled
2021-03-30 10:51:53.855964+0900 [4453:394988] DEBUG:Twilio:[Core](Thread 0x0x10d63f3f0): API Call isEnabled
2021-03-30 10:51:53.862230+0900 [4453:394988] DEBUG:Twilio:[Platform](Thread 0x0x10d63f3f0): Rendering active scene at 60 fps.
2021-03-30 10:51:53.862431+0900 [4453:394988] DEBUG:Twilio:[Platform](Thread 0x0x10d63f3f0): Rendering active scene at 60 fps.
2021-03-30 10:51:53.935415+0900 [4453:395521] DEBUG:Twilio:Platform: Video device will start running: <AVCaptureFigVideoDevice: 0x10d645d50 [Front Camera][com.apple.avfoundation.avcapturedevice.built-in_video:1]>.
Versions
All relevant version information for the issue.
Video iOS SDK
4.3.0
Xcode
12.4

Hi @tuando3i,
Sorry for the late response. A good rule is to only have a single AVCaptureSession alive at a time and make sure there is no overlap.

Start a View Controller with AVCaptureSession, start session when view appear and stop session when view disappear.
Start Twilio Call

Are you sure that you are stopping the AVCaptureSession before step 2 where you create TVICameraSource? Stopping AVCaptureSession can take a long time and you should wait for it to complete. If not, in step 2 Twilio can interrupt your AVCaptureSession when it starts capturing video for the Room.

Logs

Can you include logs that show between steps 1 to 2, including logs from your use of AVCaptureSession?
Based on the later steps it looks like there are two instances of TVICameraSource in your app. Make sure to stop and destroy TVICameraSource when you are done with it, and don't overlap use with your own AVCaptureSession. Our example code shows one way to do this.
Best,
Chris


Zero smartctl_device_bytes_written due to missing logical_block_size for some drives

The exporter uses the logical_block_size and nvme_smart_health_information_log.data_units_written outputs to calculate the total bytes written.
However, some drives don't output the logical_block_size value. Here's an example output from my machine:
# smartctl -aj /dev/nvme0
{
  "json_format_version": [
    1,
    0
  ],
  "smartctl": {
    "version": [
      7,
      2
    ],
    "svn_revision": "5155",
    "platform_info": "x86_64-linux-5.4.157-1-pve",
    "build_info": "(local build)",
    "argv": [
      "smartctl",
      "-aj",
      "/dev/nvme0"
    ],
    "exit_status": 0
  },
  "device": {
    "name": "/dev/nvme0",
    "info_name": "/dev/nvme0",
    "type": "nvme",
    "protocol": "NVMe"
  },
  "model_name": "SAMSUNG MZQL27T6HBLA-00A07",
  "serial_number": "REDACTED",
  "firmware_version": "GDC5602Q",
  "nvme_pci_vendor": {
    "id": 5197,
    "subsystem_id": 5197
  },
  "nvme_ieee_oui_identifier": 9528,
  "nvme_total_capacity":<PHONE_NUMBER>656,
  "nvme_unallocated_capacity": 0,
  "nvme_controller_id": 6,
  "nvme_version": {
    "string": "1.4",
    "value": 66560
  },
  "nvme_number_of_namespaces": 32,
  "local_time": {
    "time_t":<PHONE_NUMBER>,
    "asctime": "Tue May 16 14:27:27 2023 EDT"
  },
  "smart_status": {
    "passed": true,
    "nvme": {
      "value": 0
    }
  },
  "nvme_smart_health_information_log": {
    "critical_warning": 0,
    "temperature": 27,
    "available_spare": 100,
    "available_spare_threshold": 10,
    "percentage_used": 0,
    "data_units_read": 3264831,
    "data_units_written": 35345226,
    "host_reads": 38564427,
    "host_writes": 339789142,
    "controller_busy_time": 160,
    "power_cycles": 57,
    "power_on_hours": 3631,
    "unsafe_shutdowns": 43,
    "media_errors": 0,
    "num_err_log_entries": 0,
    "warning_temp_time": 0,
    "critical_comp_time": 0,
    "temperature_sensors": [
      27,
      37
    ]
  },
  "temperature": {
    "current": 27
  },
  "power_cycle_count": 57,
  "power_on_time": {
    "hours": 3631
  }
}

In the smartctl source code, the NVMe "Data Units Written" (non-json) output has a hard-coded conversion from units to bytes (1 unit = 1000*512 bytes). Should we hard-code in this project as well?

Can you provide the output of smartctl -a /dev/nvme0 (plain version)? Obscure any sensitive info.

PR #138 fixes the bytes read/written.

Should we hard-code in this project as well?

It's in 2 places and won't change. I don't see a need for a constant.
As for the missing attribute, does smartctl_exporter output any information for the drive? I.e. is the missing attribute preventing other attributes or the whole drive from being reported?

Can you provide the output of smartctl -a /dev/nvme0 (plain version)? Obscure any sensitive info.

smartctl -a /dev/nvme0
smartctl 7.2 2020-12-30 r5155 [x86_64-linux-5.4.157-1-pve] (local build)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Number:                       SAMSUNG MZQL27T6HBLA-00A07
Serial Number:                      REDACTED
Firmware Version:                   GDC5602Q
PCI Vendor/Subsystem ID:            0x144d
IEEE OUI Identifier:                0x002538
Total NVM Capacity:                 7,681,501,126,656 [7.68 TB]
Unallocated NVM Capacity:           0
Controller ID:                      6
NVMe Version:                       1.4
Number of Namespaces:               32
Local Time is:                      Fri Aug 11 19:45:53 2023 EDT
Firmware Updates (0x17):            3 Slots, Slot 1 R/O, no Reset required
Optional Admin Commands (0x005f):   Security Format Frmw_DL NS_Mngmt Self_Test MI_Snd/Rec
Optional NVM Commands (0x005f):     Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat Timestmp
Log Page Attributes (0x0e):         Cmd_Eff_Lg Ext_Get_Lg Telmtry_Lg
Maximum Data Transfer Size:         512 Pages
Warning  Comp. Temp. Threshold:     80 Celsius
Critical Comp. Temp. Threshold:     87 Celsius

Supported Power States
St Op     Max   Active     Idle   RL RT WL WT  Ent_Lat  Ex_Lat
 0 +    25.00W   14.00W       -    0  0  0  0       70      70
 1 +     8.00W    8.00W       -    1  1  1  1       70      70

=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

SMART/Health Information (NVMe Log 0x02)
Critical Warning:                   0x00
Temperature:                        26 Celsius
Available Spare:                    100%
Available Spare Threshold:          10%
Percentage Used:                    0%
Data Units Read:                    8,400,254 [4.30 TB]
Data Units Written:                 108,726,492 [55.6 TB]
Host Read Commands:                 233,427,956
Host Write Commands:                1,463,483,203
Controller Busy Time:               634
Power Cycles:                       69
Power On Hours:                     5,722
Unsafe Shutdowns:                   53
Media and Data Integrity Errors:    0
Error Information Log Entries:      0
Warning  Comp. Temperature Time:    0
Critical Comp. Temperature Time:    0
Temperature Sensor 1:               26 Celsius
Temperature Sensor 2:               36 Celsius

Error Information (NVMe Log 0x01, 16 of 64 entries)
No Errors Logged

As for the missing attribute, does smartctl_exporter output any information for the drive? I.e. is the missing attribute preventing other attributes or the whole drive from being reported?

Here's the output of the exporter:
> curl -s localhost:9633/metrics | grep nvme0
smartctl_device{ata_additional_product_id="unknown",ata_version="",device="nvme0",firmware_version="GDC5602Q",form_factor="",interface="nvme",model_family="",model_name="SAMSUNG MZQL27T6HBLA-00A07",protocol="NVMe",sata_version="",serial_number="REDACTED"} 1
smartctl_device_available_spare{device="nvme0"} 100
smartctl_device_available_spare_threshold{device="nvme0"} 10
smartctl_device_block_size{blocks_type="logical",device="nvme0"} 0
smartctl_device_block_size{blocks_type="physical",device="nvme0"} 0
smartctl_device_bytes_read{device="nvme0"} 0
smartctl_device_bytes_written{device="nvme0"} 0
smartctl_device_capacity_blocks{device="nvme0"} 0
smartctl_device_capacity_bytes{device="nvme0"} 0
smartctl_device_critical_warning{device="nvme0"} 0
smartctl_device_interface_speed{device="nvme0",speed_type="current"} 0
smartctl_device_interface_speed{device="nvme0",speed_type="max"} 0
smartctl_device_media_errors{device="nvme0"} 0
smartctl_device_num_err_log_entries{device="nvme0"} 0
smartctl_device_percentage_used{device="nvme0"} 0
smartctl_device_power_cycle_count{device="nvme0"} 69
smartctl_device_power_on_seconds{device="nvme0"} 2.05992e+07
smartctl_device_smart_status{device="nvme0"} 1
smartctl_device_smartctl_exit_status{device="nvme0"} 0
smartctl_device_status{device="nvme0"} 1
smartctl_device_temperature{device="nvme0",temperature_type="current"} 26

The following appear to be zero but intuitively shouldn't be:
smartctl_device_block_size
smartctl_device_bytes_read
smartctl_device_bytes_written
smartctl_device_capacity_blocks
smartctl_device_capacity_bytes
smartctl_device_interface_speed

Not sure which ones are directly affected by the zero logical_block_size.

FYI. I started a troubleshooting guide, #157, and would appreciate feedback. One thing I haven't added is NVMe namespaces. See --device=TYPE in man smartctl.
Let's go through the list.

smartctl_device_block_size{blocks_type="logical",device="nvme0"} 0
smartctl_device_block_size{blocks_type="physical",device="nvme0"} 0
smartctl_device_capacity_blocks{device="nvme0"} 0
smartctl_device_capacity_bytes{device="nvme0"} 0

These are coming from %s_block_size for "logical" and "physical". Since smartctl --json are missing these values (logical_block_size and physical_block_size), please report this upstream or contact the manufacturer to see if this is intentional or not needed for NVMe drives.

smartctl_device_bytes_read{device="nvme0"} 0
smartctl_device_bytes_written{device="nvme0"} 0

Both of these use logical_block_size and since that's missing, the value is 0. There are a couple of approaches.

Since logical_block_size is missing, do not output smartctl_device_bytes_read or smartctl_device_bytes_written. This seems like the logical choice.
The JSON has nvme_smart_health_information_log.data_units_read and data_units_written but it's unknown what a "data unit" represents. Bytes? 512 byte blocks? 4K blocks? Something else? I'd report this upstream to quantify "units".

smartctl_device_interface_speed{device="nvme0",speed_type="current"} 0
smartctl_device_interface_speed{device="nvme0",speed_type="max"} 0

Both of these are coming from interface_speed which is missing from smartctl --json. Similar to above, the best smartctl_exporter can do is omit the metric if the data is missing from the JSON.

The smartctl_device_capacity_blocks and smartctl_device_capacity_bytes metrics will be fixed with PR #154.

@NiceGuyIT @ben-z
I had the same trouble - one of NVMEs returns 0 block size. A short investigation revealed that there is difference how to access smartctl attributes. If you run smartctl for bare drive name /dev/nvme0, block size is missing in the output, if you use full qualified name with a namespace /dev/nvme0n1, block size is shown. I do not know yet how to get namespace number using smartctl --scan, but nvme list shows full qualified names.
Here is the example of outputs on my machine:
# nvme list
Node                  SN                   Model
--------------------- -------------------- ----------------------------------------
/dev/nvme0n1          S665NE0T314314       SAMSUNG MZ1L2960HCJR-00A07

# smartctl --scan
#dev/nvme0 -d nvme # /dev/nvme0, NVMe device

# smartctl -a /dev/nvme0 --json | grep -i logical_block
#

# smartctl -a /dev/nvme0n1 --json | grep -i logical_block
  "logical_block_size": 512,

As you see, nvme0 drive reports no block size, while nvme0n1 reports 512 bytes.

I have an implicit fix for this in https://github.com/prometheus-community/smartctl_exporter/pull/168
Specifically, if the block size information is not present, don't export this metric at all.
But on deeper reading, I wonder if the metric has been wrong here since the start.
Why? smartctl_exporter is supposed to deal in the whole drive.
The smartctl code uses this:
nvmeprint.cpp:  jout("Data Units Read:                    %s\n", le128_to_str(buf, smart_log.data_units_read, 1000*512));
nvmeprint.cpp:  jout("Data Units Written:                 %s\n", le128_to_str(buf, smart_log.data_units_written, 1000*512));

I happen to have a new drive on hand, so I could test out the behavior:
This device is set to 4K LBA format presently.
$ nvme list |grep -e nvmeXn -e FW -e --
Node                  Generic               SN                   Model                                    Namespace Usage                      Format           FW Rev
--------------------- --------------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvmeXn1          /dev/ngXn1            REDACTED         Micron_7450_MTFDredacted               1          21.50  MB /   REDACTED  TB      4 KiB +  0 B   REDACTED

$ smartctl -x /dev/nvme1n1 >before.txt ; dd if=/dev/zero bs=1M of=/dev/nvme1n1  count=1 ; sleep 30  ; smartctl -x /dev/nvme1n1 >after.txt
1+0 records in
1+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.00164651 s, 637 MB/s
$ diff before.txt  after.txt
# trimmed
< Data Units Written:                 43 [22.0 MB]
< Host Write Commands:                48
---
> Data Units Written:                 45 [23.0 MB]
> Host Write Commands:                51

If the logical unit had been used; I think this would have shown 8x higher than intended. If somebody else could confirm this, we could likely get rid of the block size issue entirely here.