Update for TSK>4.7.0 (APFS support)?

I'd like to use pytsk to parse APFS filesystems, which TSK added support for in 4.8.0 (they are currently on release 4.9.0).
Any chance of getting an update?
I did try:

using python3 setup.py update --use-head
changing the tag in setup.py to 4.8.0 or 4.9.0 (and updating) before building

But in both cases, running import pytsk3 afterwards causes Python to segfault.
Using Python 3.6.9 on Ubuntu 18.04.

Any chance of getting an update?

Not soon, unless you want to put some effort into this yourself. libtsk 4.8 broke many things (including clang and HFS support), so I definitely not recommend running that version. Not sure if the HFS issues have been addressed in 4.9 since the issue on the github tracker is till open.
However pytsk would also need to be extended with the libtsk "pool system" support to handle APFS, unclear how much work this is.

I'd like to use pytsk to parse APFS filesystems

I recommend using an alternative like pyfsapfs or dfVFS instead

Makes sense, sadly. Thanks for the suggestions, I'll look into them.

https://github.com/py4n6/pytsk/issues/64


pull request for e2e test at 01/17/2017 16:45:11

:white_check_mark: Validation status: passed
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.


diogo-webber / vox-launcher

hi i tried to download the link for this dedicated server but it wont download it said that it is unable to download.

Sounds like a false positive virus detection by the browser.
The version 1.2.0 is not being detected as a threat for now, so you may try again.


DateField form field min/max date logic shouldn’t use strtotime()

Affected Version
4.x
Description
DateField has options for setMinDate() and setMaxDate(). Whether a date is valid or not is tested by comparing dates using strtotime(). However, almost all the other date logic in the class uses IntlDateFormatter to parse dates which results in inconsistent behaviour.
https://github.com/silverstripe/silverstripe-framework/blob/97209bc919e5ce6f991f224fc9deadbbd58332f7/src/Forms/DateField.php#L388-L391
Steps to Reproduce
Create an input:
DateField::create('DateOfBirth', 'Date of birth')
    ->setHTML5(false)
    ->setDateFormat('dd/MM/yyyy')
    ->setMinDate('01-01-1900')

Enter a date like 01-01-70. DateField::validate() doesn’t think this is an invalid date, as PHP’s strtotime() (incorrectly) treats 70 as 1970.

Enter a date like 01-01-70. DateField::validate() doesn’t think this is an invalid date, as PHP’s strtotime() (incorrectly) treats 70 as 1970.

Am I missing something? That seems legitimate to me

I can see an argument for assuming that 2-digit years are 19xx, but it’s fairly ambiguous behaviour: https://3v4l.org/CbW8Z.
Running with the example of 01-01-70, the logic in frontendToInternal() which normalises the submitted value is all based around IntlDateFormatter, which treats it as the year 70. It then passes it to strtotime() to check min/max date which treats it as 1970 instead.


API Quota Exceeded

I'm getting this after 5 video uploads:
<HttpError 403 when requesting None returned "The request cannot be completed because you have exceeded your quota.". Details: "[{'message': 'The request cannot be completed because you have exceeded your quota.', 'domain': 'youtube.quota', 'reason': 'quotaExceeded'}]">

https://developers.google.com/youtube/v3/guides/quota_and_compliance_audits


push with ffmpeg and pull from server

I need to use ffmpeg to read packets from IP cameras and publish it using a media server. I read packets with RTSP, and have to publish it with RTSP. For example, I want to write packets to rtsp://localhost:8554/[camera-ip], and read it form that point.
Is there any manual to read and understand how to publish to xiu media server? using mediamtx it is very clear and straightforward. I want to examine the performance of xiu as well.

@NacerFaraj
Using ffmpeg to pull RTSP stream of ip camera and push to other RTSP server(like xiu), you can use the following command:
ffmpeg -i rtsp://camera_ip:port/stream_name -c:v copy -c:a copy  rtsp://xiu_server_ip:port/stream_name

I'm not very familiar with the steps of mediamtx on how to transfer RTSP stream..

Thank you. The instruction is  the same with the one provided in mediamtx.


render VictoryChart will crash when more times ----only on android

getTransitionData() {
const n = random(4, 10)
return range(n).map((i) => {
return {
x: i,
y: random(2, 10)
};
});
}
componentDidMount() {
setInterval(() => {
this.setState({
transitionData: this.getTransitionData(),
});
}, 1000);
}
render() {
var datas=this.state.transitionData;
return (

<VictoryAxis
style={{
axis: {stroke: "black", strokeWidth:1},
ticks: {stroke: "red",size:4},
tickLabels: {fontSize: 18},
axisLabel: {fontsize: 36}
}}
tickValues={[0,1,2,3,4,5,6,7,8]}
domain={[0, 9]}
orientation="bottom"
tickFormat={(x) => x}/>
<VictoryAxis
dependentAxis
style={{
axis: {stroke: "black", strokeWidth:1},
ticks: {stroke: "red",size:4},
grid: {stroke: "gray",strokeWidth: 1,strokeDasharray:"5,5"},
tickLabels: {fontSize: 12},
}}
domain={[-7, 20]}
tickFormat={(y) => y}
/>
<VictoryLine
label="Line"
style={{
data: {
stroke: "teal",
strokeWidth:1,
},
labels: {fontSize: 12}
}}
data={datas}/>
        <VictoryScatter
          width={400}
          height={300}
          standalone={false}
          style={{
            data: {
              fill: (data) => data.y < 2 ? "red" : "green"
            },
            labels: {
              fill: "#ff00ff",
              fontSize: 14,
              padding: 12
            }
          }}
          size={4}
          labels={[
           "a", "", "", "MaxValue",
          ]}
          data={datas}
        />
    </VictoryChart>
  </View>
);

}
}
The app will crash when states change more times. please help me, thanks.
10-27 23:09:21.858 15712-15762/com.myvictorytest A/libc: Fatal signal 11 (SIGSEGV), code 2, fault addr 0x90cd005c in tid 15762 (mqt_js)
10-27 23:09:24.828 15712-15712/com.myvictorytest I/Choreographer: Skipped 170 frames! The application may be doing too much work on its main thread.

Is there anything I can do to try to solve the problem? @boygirl @bmathews @waffle-iron @ebrillhart

@samuelltk we are also suffering from this problem at https://github.com/FormidableLabs/victory-uiexplorer-native/issues/1. The issue happens mainly in development builds, as the production build of the UIExplorer app seems stable in on-device testing.
We are working on this. It's an issue with react-native-svg library, tracked at https://github.com/react-native-community/react-native-svg/issues/38. The svg->bitmap rendering triggers this React Native issue https://github.com/facebook/react-native/issues/6760, which is in turn possibly caused by the Fresco image manager issue https://github.com/facebook/fresco/issues/1363#issuecomment-233865933.
The fix we are exploring is to replace the SVG bitmap rendering with Android TextureView rendering, as proposed in comment https://github.com/react-native-community/react-native-svg/issues/38#issuecomment-256556108.

@jevakallio Thank you very much.

@samuelltk good news and bad news. The proposed fix has now landed to react-native-svg in 4.3.2, and it seems to ease the problem a little, but it doesn't fix is completely. Production builds feel stable, and dev builds still crash occasionally but less often than previously.
We'll continue to investigate the root cause.

@samuelltk the fix on react-native-svg did not fix the issue, and has been rolled back in 4.3.3.
However I've discovered that the issue does not occur when you turn off the JS Dev mode in: Developer Menu (Shake / Cmd+M) > Dev Settings > JS Dev Mode. This makes it a bit harder do debug javascript errors, but in my tests the Victory charts are 100% stable with the dev mode off.

@jevakallio Thanks for your reply. I have tried to adjust it according to you steps,it's kind of useful, only crashed occasionally. what is the version of the following framework you've used?
"react-native-chart-android": "^1.0.5",
"react-native-svg": "^4.3.3",
"react-native-svg-mock": "^1.0.2",
"victory-chart-native": "^1.2.0",
"victory-core": "^9.2.4",
"victory-core-native": "^3.0.0",
"victory-pie-native": "^1.1.0"

@samuelltk I'm currently on the following versions:
    "react": "~15.3.2",
    "react-native": "~0.37.0",
    "react-native-mock": "^0.2.5",
    "react-native-svg": "^4.3.3",
    "react-native-svg-mock": "^1.0.2",
    "victory-chart": "13.2.4",
    "victory-core": "9.2.4",
    "victory-core-native": "^3.0.0"

My victory-chart-native is a local copy that I'm currently developing, but it's based on 1.2.0.

Yes, I certainly turned off the JS Dev Mode. It only crashed once today.

It looks like everything is all right now.  Thank you very much. @jevakallio


Some problems with video challenges

1. After answering a question, the answer remains highlighted in the next question.

2. Reference to Hikes upon challenge completion.

3. Large gaps in the video description.

4. Clicking on "View this challenge" on my code portfolio for one of my completed video challenges redirects me to the map.

I think that is a desired behavior in order to show what button you selected but I'm not sure.
Should probably say "challenge" instead?
Probably a design choice to make it easier to skim through. However I agree that it could be decreased a little bit.
Verified

Just a heads up in case someone missed it,

@Greenheart As for number 1, the screenshot shows my answer for Question 1; I didn't click false on Question 2. I don't think answers from the previous question should remain highlighted on the current one.
@noncentz I'm not sure what's up with Question 3. As for the Meet Bonfire solution, the challenge has been renamed so the route it's trying to link to (\challenges\meet-bonfire) doesn't exist.

Looks like there was a leftover question here:
https://github.com/FreeCodeCamp/FreeCodeCamp/blob/staging/seed/challenges/04-video-challenges/jslingo.json#L31
These were part of the template I built when we added these in.  Probably just a simple oversight.

Also you you click on a question and pull it right it will skip the question, should you do this for all the asked questions it will still reward the challenge.

@CEREBR4L I've noticed that too. However that should be handled in another issue. See if there already is an issue for this by searching or else go ahead an open a new one.
Good job everyone and happy coding! :)

@CEREBR4L Pulling it in either direction is the same as pushing the button that is on that side, so if you were able to pull right for all the questions that means false was the correct answer to all of them.


Fancy Zone Dragging multi zone with ctrl is not working

Microsoft PowerToys version
0.70.1
Installation method
GitHub
Running as admin
No
Area(s) with issue?
FancyZones
Steps to reproduce
Fancy Zone Dragging multi-zone with ctrl is not working. A window will only snap to the last area where the pointer is.
✔ Expected Behavior
Window to combine multi-zone when selecting
❌ Actual Behavior
The window does not snap to selected multi-zone
Other Software
No response

Could you please add details to help us reproduce the issue? Probably a /bugreport and a screenshot of expected/actual will help.

Here it is.
Sincerely,
Kanes Laotrakul
On Mon, Jun 19, 2023 at 10:47 AM microsoft-github-policy-service[bot] <
@.***> wrote:

Hi there!
We need a bit more information to really debug this issue. Can you add a
"Report Bug" zip file here?  Then drag the zipfile from your desktop onto the
GitHub comment box in this issue. Thanks!
[image: Report Bug]
https://user-images.githubusercontent.com/11349917/133042052-4975be21-4699-4363-83c9-a8e1869d079d.png
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/PowerToys/issues/26920#issuecomment-1597319762,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BAUZ4EDQ4P5QSAK6Z5AS73DXMBRANANCNFSM6AAAAAAZKTIU4I
.
You are receiving this because you authored the thread.Message ID:
@.***>

Not able to repro this, going to close. Let us know if you see this again!


tests: bsim: Bluetooth: Use defines for parameters in CIS tests

Use defines for scan, create connection, connection and ISO parameters in the tests.
Also, use same advertising interval for legacy and extended advertising test.

with these changes ontop #55921 the iso tests seem to pass again


Error in the documentation

Hi, i think that u have an error in the documentation. I mean, i followed step by step the configuration to render a plot and u have in the docs the url pattern like this

# LineChart is a class inheriting from jchart.Chart
line_chart = LineChart()

urlpatterns = [
    url(r'^charts/line_chart/$', ChartView.from_chart(line_chart), name='line_chart'),
]

When i try to render a template i got a json object not the plot . The issue is here  ChartView.from_chart(line_chart) if I change that for this views.some_view i got the plot without problem.
In this stackoverflow thread, i got the answer for this issue Link to resolve the issue.
I'm using Django 1.8 by the way. I hope this can help.

Sorry for the delayed response. With asynchronous chart rendering you should use the render_chart template tag in your templates:
{% render_chart 'line_chart' %}

Were you doing that? It should mention that in docs

Hi, i didnt tried that. I resolved my issue only putting my view  in url pattern. I mean, i used my view class to return a chart and the next step was to configure my url patter like this:
line_chart = LineChart()

urlpatterns = [
    url(r'^charts/line_chart/$',views.some_view, name='line_chart'),
]

But no problem you can close the issue if that method works.


Azure Firewall not getting private IPs

Bicep version
Deployment through VS Code mit extension version v0.31.34
I deploy an Azure Firewall with bicep. The deployment runs smoothly, but the firewall does not receive any IPs from the AzureFirewallSubnet and the subnets are not displayed in the firewall.
It is also interesting that the deployment of the firewall only takes about 5-7 seconds.
If I look for connected devices in the vnet, the firewall is displayed.
If I deploy the firewall via an ARM template, the subnet is assigned correctly and private IPs are also assigned.
The deployment then takes about 7 minutes.
Something seems to be wrong with the bicep deployment.
To Reproduce
resource firewall 'Microsoft.Network/azureFirewalls@2024-03-01' = {
  name: FirewallName
  location: resourceGroup().location
  properties: {
    sku: {
      name: 'AZFW_Hub'
      tier: 'Premium'
    }
    ipConfigurations: [
      {
        name: 'ipconfig1'
        properties: {
          publicIPAddress: {
            id: publicIP.id
          }
          subnet: {
            id: resourceId('Microsoft.Network/virtualNetworks/subnets', 'vn_001', 'AzureFirewallSubnet')
          }
        }
      }
    ]
    firewallPolicy: {
      id: firewallPolicyId
    }
  }
}

und hier das ARM Template
"resources": [
        {
            "apiVersion": "2020-05-01",
            "type": "Microsoft.Network/azureFirewalls",
            "name": "[parameters('azureFirewallName')]",
            "location": "[parameters('location')]",
            "zones": "[parameters('zones')]",
            "dependsOn": [],
            "properties": {
                "ipConfigurations": [
                    {
                        "name": "[parameters('publicIpAddressName')]",
                        "properties": {
                            "subnet": {
                                "id": "[parameters('subnetId')]"
                            },
                            "publicIpAddress": {
                                "id": "[parameters('publicIpAddressId')]"
                            }
                        }
                    }
                ],
                "sku": {
                    "tier": "[parameters('azureFirewallTier')]"
                },
                "firewallPolicy": {
                    "id": "/subscriptions/db05b715-3e5d-4136-bebc-7b0fdd366616/resourcegroups/rg_000/providers/Microsoft.Network/firewallPolicies/WhiteList"
                }
            },
            "tags": {}
        }
    ]

The screenshot shows that there is no private IP and no assigned subnet

And last but not least, if you look at the json of the firewall deployed with bicep, you can also see that the subnet is assigned.
{
    "name": "azFirewall",
    "id": "/subscriptions/db05b715-3e5d-4136-bebc-7b0fdd366616/resourceGroups/rg_000/providers/Microsoft.Network/azureFirewalls/azFirewall",
    "etag": "W/\"a8b73db4-458e-4a72-a304-cb0706fb9c7a\"",
    "type": "Microsoft.Network/azureFirewalls",
    "location": "germanywestcentral",
    "properties": {
        "provisioningState": "Succeeded",
        "sku": {
            "name": "AZFW_Hub",
            "tier": "Premium"
        },
        "additionalProperties": {},
        "ipConfigurations": [
            {
                "name": "ipconfig1",
                "id": "/subscriptions/db05b715-3e5d-4136-bebc-7b0fdd366616/resourceGroups/rg_000/providers/Microsoft.Network/azureFirewalls/azFirewall/azureFirewallIpConfigurations/ipconfig1",
                "etag": "W/\"a8b73db4-458e-4a72-a304-cb0706fb9c7a\"",
                "type": "Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations",
                "properties": {
                    "provisioningState": "Succeeded",
                    "privateIPAllocationMethod": "Dynamic",
                    "publicIPAddress": {
                        "id": "/subscriptions/db05b715-3e5d-4136-bebc-7b0fdd366616/resourceGroups/rg_000/providers/Microsoft.Network/publicIPAddresses/azFirewall-publicIPAddress"
                    },
                    "subnet": {
                        "id": "/subscriptions/db05b715-3e5d-4136-bebc-7b0fdd366616/resourceGroups/rg_000/providers/Microsoft.Network/virtualNetworks/vn_001/subnets/AzureFirewallSubnet"
                    }
                }
            }
        ],
        "firewallPolicy": {
            "id": "/subscriptions/db05b715-3e5d-4136-bebc-7b0fdd366616/resourceGroups/rg_000/providers/Microsoft.Network/firewallPolicies/WhiteList"
        }
    }
}

I was also able to find my error. I had probably entered AZFW_Hub as the SKU name. But it should have been AZFW_vnet.
Now it works.
Many thanks and Merry Christmas
Best regards
Stefan


Is stunner FedRamp compliant?

Just a random question, does any body know if stunner will be approved to run in AWS FedRamp and then pass the audit? Any thoughts would be welcomed.
https://aws.amazon.com/compliance/fedramp/

Currently there's no plan due to a lack of resources and financing, but we're not against it at all if there is a strong interest. Could you please give us motivations to go down that path? Is the lack if an audit blocking you from adopting STUNner?

Thanks. One minor note: if you aim to deploy into Kubernetes then don't mess with coturn, STUNner is much better suited for anything cloud-native. So the question is not "coturn vs STUNner", but rather "shall we use Kubernetes for hosting our WebRTC service"? If the answer is no then coturn may be the better option. But if it's Kubernetes it will be an endless pain supporting (let alone automatically scaling) it.
Just my (biased) 2 cents of course.

Feel free to reopen if anything new comes up. We really need your input on this

This setup will work only if you want to deploy STUNner over a public IP, but then you will have to deploy the dataplane into the host-network namespace like this:
apiVersion: stunner.l7mp.io/v1
kind: Dataplane
metadata:
  name: default
spec:
  command:
  - stunnerd
  args:
  - -w
  - --udp-thread-num=32
  image: l7mp/stunnerd:dev
  hostNetwork: true
  resources:
    limits:
      cpu: 6      # make this as big as your nodes support
      memory: 2Gi # ditto
    requests:
      cpu: 6      # ditto
      memory: 2Gi # ditto

However, this is not the way most people deploy STUNner and very often it may not work as expected (in Kubernetes you never run pods on public IPs: it's not needed). So we recommend a better model that we call symmetric ICE mode: let all clients create a TURN allocation and let STUNner connect them. For this you don't need public IPs at all (apart from the single IP provided by the cloud load-balancer that is shared by all STUNner pods). Here is a detailed walkthrough to implement this.

Hi @maksimu,
Just a couple of comments from my side, maybe it will help you during your planning.
But first of all, let me state that the whole STUNner team is from the EU, so in general we have a very shallow knowlege with US public regulations :)
From the information I found about FedRAMP, I can say the following: FedRAMP is standardized security assessment, authorization, and continuous monitoring process for Cloud Service Provider (CSP), when they want to offer their managed services for US public entities. In our case, I feel this does not apply for STUNner, since we do not offer (yet :) ) a managed cloud service based on STUNner.
I image that you would use STUNner in a Kubernetes environment running inside one of the major cloud providers: AWS, Azure or GCP, all these are FedRAMP complient.
Then the question comes down to whether you can use STUNner as an open source project inside that Kubernetes environment. From what I could find on the internet, an open-source project should follow security best practices and adhere to relevant security standards defined by NIST so that a US public entity could use it.
This NIST standard has many things defined, but a couple of relevant issues here:

The project should have a permissive and well-known open-source license, ensuring that it can be used and modified without legal issues (e.g. Apache2 or MIT).
Regularly scanning for and patching known vulnerabilities helps mitigate the risk of exploitation

On the license part STUNner is good to go, since we use MIT, whereas Coturn uses a non-standard license, so you might need to take a look on that.
On the vulnerabilities part I can also say that we're regulary do container scans on the latest relases and they do not have any know vulnerabilities (and probably we sould do a better job in publish these results). Whereas in Cotur's case, the latest release does contain some high risk vulnerabilities.

Hi @maksimu !
At first glance, your config looks correct. Since you mentioned you are using EKS, my guess is that the AWS-specific load balancer annotations are missing thus UDP LoadBalancer services are not working. Some pointers here: https://github.com/l7mp/stunner/issues/32 and here: https://discord.com/channels/945255818494902282/1176557763585916978/1184414645038092330


Update simple-scss-js boilerplate

[ ] Update packages
[ ] Update configs
[ ] Test boilerplate
[ ] Devide dependencies to dev and prod

Close due to the ending of a support of these branches


writer harness running twice

Hi @hgarrereyn,
as mentioned in pr #9 (comment), sometimes the writer gets run twice because libFuzzer somehow thinks a memory leak happened. With an additional command line argument -detect_leaks=0 this can be disabled.
The idea now was to set this flag automatically for a writer harness. We can manipulate argc and argv to always have this flag. For this I have modified the SHIM_HEADER_WRITE template in gen_cpp.py e.g. the global_init(int *argc, char ***argv) function to read the following:
extern "C" void __attribute__((visibility ("default"))) global_init(int *argc, char ***argv) {{
    char **new_argv = (char **)malloc((*argc + 2) * sizeof(char *));
    memcpy(new_argv, *argv, sizeof(*new_argv) * *argc);
    new_argv[*argc] = (char *)"-detect_leaks=0";
    new_argv[*argc + 1] = 0;
    (*argc)++;
    *argv = new_argv;
}}

It feels a bit ugly and could maybe be improved with some C++ skills, but I only really know C.
What do you think about such an approach?

Hey, this looks pretty reasonable to me, happy to merge this if you submit a PR!


Add cloudsql resource support

Bump

@Shopify/cloudplatform reviews in here please

Going to make some more invasive changes here.
As per https://github.com/kubernetes/kubernetes/issues/39906, going to end up moving the TPR flow to use create/update instead of apply until we have a better option.

and you'll need to own bumping the gem etc.

This should now skip kubectl apply calls for TPRs (preferring kubectl update instead) and use create --dry-run for discovery

Found (and fixed) a number of minor issues in 🎩
One more set of 👀 and this should be good to go I think

Is there something we can do to get our app deployed while this is being worked on?

@masom db should be up today at some point, if not ping me or the oncall cloudplatform and we'll manually set it up.

Reminder: this is a public repo. The DB is and has been up, the problem is relegated solely to shipit blowing up on attempting to kubectl apply the cloudsql resource as part of the deployment.

@wfarr Can you give me an explaination of this usage? I read the source code, it seems like a way to ensure DB running before other resources. Thank you!

@yfxie This was Shopify adding support for our internal "Cloudsql" custom resource (CR) a long time ago. We've since implemented generic support for CRs: documentation is available here: https://github.com/Shopify/kubernetes-deploy#deploying-custom-resources. You can customize whether your CRs get predeployed (the default is true) using an annotation on the CRD, as described here: https://github.com/Shopify/kubernetes-deploy#customizing-behaviour-with-annotations.


Add perf test and  fixture for conditionally running test w/ --load

Also added a test to profile log_dataframe on a dataframe 4x size of lending club 1000 as a baseline for perf.
Test does not pass but will output some statistics on most expensive calls.

Next would be to integrate the output stats better so we can track this perf over time in an automated way. By default this new test will be skipped when running tests.
Description
When we add new trackers or features, these can increase the time it takes to log data frame but we didn't have tests to report that or get insight into where time is spent during a log_dataframe() call. Walking through onboarding scenario it can be too long for log_dataframe to return or report progress depending on the size and types of data chosen in an initial data frame. So the first step to addressing this scenario better is to measure what the time is and where time is spent when logging some benchmark datasets. Next we will add some warnings if the amount of data being logged in one call is large and is known to take significant time.
To run the test, include the --load parameter, e.g.
poetry run pytest tests/component -o log_cli=true -o log_level=INFO --load
63319106 function calls (63319047 primitive calls) in 38.848 seconds

   Ordered by: cumulative time
   List reduced from 386 to 10 due to restriction <10>

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        2    0.002    0.001   34.841   17.421 /home/jamie/projects/whylogs/src/whylogs/app/logger.py:544(log_dataframe)
        2    0.319    0.160   34.839   17.420 /home/jamie/projects/whylogs/src/whylogs/core/datasetprofile.py:259(track_dataframe)
   604302    0.281    0.000   34.494    0.000 /home/jamie/projects/whylogs/src/whylogs/core/datasetprofile.py:203(track)
   604302    0.326    0.000   34.213    0.000 /home/jamie/projects/whylogs/src/whylogs/core/datasetprofile.py:230(track_datum)
   604302    1.864    0.000   33.860    0.000 /home/jamie/projects/whylogs/src/whylogs/core/columnprofile.py:100(track)
    97768    0.342    0.000   14.637    0.000 /home/jamie/projects/whylogs/src/whylogs/core/statistics/stringtracker.py:211(update)
    97768    1.717    0.000   13.014    0.000 /home/jamie/projects/whylogs/src/whylogs/core/statistics/stringtracker.py:40(update)
   435987    0.145    0.000   10.174    0.000 /home/jamie/projects/whylogs/src/whylogs/core/types/typeddataconverter.py:30(convert)
    97768    0.089    0.000    9.999    0.000 /home/jamie/.cache/pypoetry/virtualenvs/whylogs-dFpe3D9Y-py3.8/lib/python3.8/site-packages/yaml/__init__.py:154(safe_load)
    97768    0.163    0.000    9.910    0.000 /home/jamie/.cache/pypoetry/virtualenvs/whylogs-dFpe3D9Y-py3.8/lib/python3.8/site-packages/yaml/__init__.py:103(load)

General Checklist

[x] Tests added for this feature/bug
if it was a bug, test must cover it.
[x] Conform by the style guides, by using formatter
[ ] Documentation updated
[x] (optional) Please add a label to your PR

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
3771

Relevant Lines:
4360

💛  - Coveralls


ResNet model has wrong output shape

Issue
I applied the tutorial for post-training integer quantization to a ResNet model, but the conversion leads to a model with a wrong output shape of [   1    7    7 2048], instead of a 1000-element vector
1. System information
Google Colab, with the default tensorlow 2.17
2. Code
the image_array is a numpy array of shape (n, 224, 224, 3) and dtype float32
model = tf.keras.applications.ResNet50(weights='imagenet', include_top=False, input_shape=(224, 224, 3))

def representative_data_gen():
  for input_value in tf.data.Dataset.from_tensor_slices(image_array).batch(1).take(100):
    yield [input_value]

converter = tf.lite.TFLiteConverter.from_keras_model(model)
converter.optimizations = [tf.lite.Optimize.DEFAULT]
converter.representative_dataset = representative_data_gen
# Ensure that if any ops can't be quantized, the converter throws an error
converter.target_spec.supported_ops = [tf.lite.OpsSet.TFLITE_BUILTINS_INT8]
# Set the input and output tensors to uint8 (APIs added in r2.3)
converter.inference_input_type = tf.uint8
converter.inference_output_type = tf.uint8

tflite_model_quant = converter.convert()

output_details = interpreter.get_output_details()[0]
for key in output_details.keys():
  print(key, output_details[key])

/assign

Hi, @Lorsu
I apologize for the delayed response, thank you for bringing this issue to our attention if possible could you please help us with exact Google colab notebook which you created ResNet model to replicate the same behavior from our end ?
Thank you for your cooperation and patience.

Hi, @Lorsu
It seems like the issue you're facing is because you're using include_top=False in the ResNet50 model which removes the final classification layers. To get the 1000 element output vector we need to include the top layers by setting include_top=True so model includes the final classification layers with output 1000 element vector corresponding to the 1000 ImageNet classes.This is useful when you want to use the model for ImageNet classification tasks.
Please refer this gist-file
If I have missed something here please let me know.
Thank you for your cooperation and patience.

Hi, @Lorsu
It seems like the issue you're facing is because you're using include_top=False in the ResNet50 model which removes the final classification layers. To get the 1000 element output vector we need to include the top layers by setting include_top=True so model includes the final classification layers with output 1000 element vector corresponding to the 1000 ImageNet classes.This is useful when you want to use the model for ImageNet classification tasks. Please refer this gist-file
If I have missed something here please let me know.
Thank you for your cooperation and patience.

yes, the issue is in the include_top parameter, thank you really much


Fixes #24

Boolean error is easily fixed by adding tostring

Thanks @bhoov! Looks like I forgot to cast a Boolean in a debugging statement. Not sure why it never caused a problem for me in testing, though 🤔 Will try to merge today!

Ah, I see; I didn't sufficiently test the single doc render code path (the Svelte compilation is handled y a separate script if you render as part of a project, and the code that locates the Svelte config is only in that script). I'll get both of these fixed up for you!

I've pushed an additional commit to this PR that additionally fixes #23 - the underlying problem is that when rendering a single doc, I wasn't making the path to the Rollup config available (#24 was a secondary error happening when trying to report the first). I'm just running checks, and then I'll merge both :)


Add unary and binary operators

Part of #1

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

Project coverage is 98.87%. Comparing base (a13049d) to head (a3acd2b).

Files with missing lines
Patch %
Lines

crates/shad_parser/src/expr.rs
86.95%
12 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff             @@
##              main      #21      +/-   ##
===========================================
- Coverage   100.00%   98.87%   -1.13%
===========================================
  Files           18       18
  Lines          943     1068     +125
===========================================
+ Hits           943     1056     +113
- Misses           0       12      +12

Flag
Coverage Δ

98.87% <91.89%> (-1.13%)
:arrow_down:

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

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


deepseq monadic bind

Like (>>=) but evaluates the a to normal form. Since (>>=) is unchanged, do blocks will still be the same.

:astonished:
would it be interesting/useful to have a monad transformer that did this too?

👍
Is there a case for >>=! that doesn't deepseq?

yeah, (>>=!) is a valid use case, might as well add it

:cat:


[JS][bidi] add LogInspector methods with tests

Description

Add LogInspector contains the w3c Bidi spec related APIs to listen to log events.
Motivation and Context

Refer to BiDi Spec Doc about the details.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[x] I have read the contributing document.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have added tests to cover my changes.
[ ] All new and existing tests passed.

There's a problem which I'm facing while running the test.
All 3 tests pass successfully when I run them individually. But when I run it('can listen to console log') and it('can listen to javascript error log') together, the latter fails. I interchanged them just to check but the same thing happens. The test which runs second time fails.
Can you please check? @harsha509
it('can create bidi session') has no problem. It works in all cases.


A way to include more data in an assertion.

When you have a test that needs to run multiple times, or simply includes an iteration of some sort, it is often useful to know at which iteration an assertion failed. Currently the only way to include that data with because:
unittest {
    foreach(i; 0..100) {
        ...

        result.should.equal(expected).because("At iteration %s".format(i));
    }
}

It would be nice if there was a simple way of including arbitrary data along with an exception, maybe something like this:
result.should.equal(expected).with(i);

----------------------
TestException: result should equal expected.
i = 5

Expected: ...

Or perhaps a middle-ground would be to allow because to be used like format:
result.should.equal(expected).because("At iteration %s", i);

this is an interesting topic... depending on your problem, there are multiple solutions.
one way around this for your example would be this one:
static foreach(i; 0..100) {
    unittest {
        ...

        result.should.equal(expected).because("At iteration %s".format(i));
    }
}

another way is a software assertions support, which I would like to add in the future... I'm not sure about the syntax...

The issue with that workaround is that each "test" needs to happen serially, as I'm using a test runner that runs tests in parallel. What do you mean by software assertions?

sorry ... it was a typo :P I was reffering to soft assertions the idea would be to add a bunch of assertions and evaluate them at the end of the test,
maybe this is not the best reference, but it is a way of doing it:
https://github.com/Magenic/MAQS/wiki/Soft-Asserts

oh... sorry.  I think I misunderstood your problem. I think I get it now...


Update version number to 1.4.0

Resolves #279

Codecov Report

Merging #280 (3cf1f35) into master (8a7c0f2) will not change coverage.
The diff coverage is 0.00%.

@@            Coverage Diff            @@
##             master     #280   +/-   ##
=========================================
  Coverage     80.42%   80.42%
  Complexity      988      988
=========================================
  Files           146      146
  Lines          2840     2840
  Branches        338      338
=========================================
  Hits           2284     2284
  Misses          478      478
  Partials         78       78

Impacted Files
Coverage Δ

src/main/java/seedu/plannermd/MainApp.java
0.00% <0.00%> (ø)

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 8a7c0f2...3cf1f35. Read the comment docs.


json api format

forking discussion from https://github.com/mholt/caddy/issues/310
That json looks more like a syntax tree than a data specification. You're using all arrays because you're parsing the file as arrays (because you don't want the end user to concern themselves with the difference between an array and a key/value pair, and your keys never have spaces so you can use space instead of ':'), but the data actually represents key/value pairs.
There are only 3 basic data types represented in caddy (and the universe at large):

single values
key/value pair (named) collections
anonymous collections

I would recommend creating a spec for json that accurately represents a caddyfile in those terms and then handling the transform in the parser area. This means an extra step for a caddyfile to json converter (because it parses it what what it means as an object in memory), but is more semantic to json and more obvious to a casual observer / new dev.
In JSON there should never be a value that is sometimes an array but sometimes a singleton. Likewise there should never be a value that is sometimes an array but sometimes a key/value pair. This is important for machines to be able to automatically parse data as well as humans. The entire XML debacle hung around not being able to definitively know if something was an array (multiple tags of the same name vs an array tag), or a key value pair (text inside of a tag vs an attribute of a tag) or metadata (comments and attributes).
So this example as a caddy file (which is semantically a lot like XML - no implicit distinction of data types, completely parser defined):
# root level directives are allowed, right?
gzip

https://config.* {
   tls /le/{host}/fullchain.pem /le/{host}/privkey.pem
   proxy /api http://localhost:4080
   root {
     /common-scripts/ /srv/walnut/common-scripts
     / /srv/walnut/config.app
   }
}

https://<IP_ADDRESS> {
   tls /le/{host}/fullchain.pem /le/{host}/privkey.pem
   proxy /protected http://localhost:4080
   proxy /api http://localhost:4080
   root {
     /common-scripts/ /srv/walnut/common-scripts
     / /srv/walnut/sites-enabled/{host}
   }
}

Since, unlike XML, Caddyfile is not a general purpose or extensible type, each of its types may be well-defined.
As such we can unambiguously represent it as json (which requires data type distinction) like this:
{
  "global": {
    "gzip": true
  }
, "hosts": {
    "https://config.*": {
      "tls": ["/le/{host}/fullchain.pem", "/le/{host}/privkey.pem"]
    , "proxy": {
        "/protected": "http://localhost:4080"
      , "/api": "http://localhost:4080"
      }
    , "root": {
        "/common-scripts/": "/srv/walnut/common-scripts"
      , "/": "/srv/walnut/config.app"
      }
    }
  , "https://<IP_ADDRESS>": {
      "tls": ["/le/{host}/fullchain.pem", "/le/{host}/privkey.pem"]
    , "proxy": {
        "/protected": "http://localhost:4080"
      , "/api": "http://localhost:4080"
      }
      , "root": {
        "/common-scripts/": "/srv/walnut/common-scripts"
      , "/": "/srv/walnut/sites-enabled/{host}"
      }
    }
  }
}

And would be this as yaml:
# could put anything global as "global", or attach it to the root object, or add it to each host
global:
  gzip: true

# could put everything that isn't a directive under hosts
hosts:
  https://config.*:
    tls:
      - /le/{host}/fullchain.pem
      - /le/{host}/privkey.pem

    # anything that can be specified multiple times is probably a k/v collection
    proxy:
      /protected: http://localhost:4080
      /api: http://localhost:4080

    root:
      /common-scripts/: /srv/walnut/common-scripts
      /: /srv/walnut/config.app

  https://<IP_ADDRESS>:
    tls:
      - /le/{host}/fullchain.pem
      - /le/{host}/privkey.pem

    proxy:
      /protected: http://localhost:4080
      /api: http://localhost:4080

    root:
      /common-scripts/: /srv/walnut/common-scripts
      /: /srv/walnut/sites-enabled/{host}

What does it look like if a server block has two or more hosts?

At point that we're talking about machine parsing and APIs, we're no longer looking at user conveniences for writing the file (because the human-written file will be re-written by the machine once the next api call hits), so in the case of multiple keys for a single value, the parser needs to expand the values.
host1, host2, host3 {
  directive val1 val2
  dir2 {
    xyz abc
  }
}

will become
{
  "hosts": {
    "host1": {
      "directive": ["val1", "val2"]
    , "dir2": { "xyz": "abc"}
    }
  , "host2": {
      "directive": ["val1", "val2"]
    , "dir2": { "xyz": "abc"}
    }
  , "host3": {
      "directive": ["val1", "val2"]
    , "dir2": { "xyz": "abc"}
    }
  }
}

and would write out as
host1 {
  directive val1 val2
  dir2 xyz abc
}
host2 {
  directive val1 val2
  dir2 xyz abc
}
host3 {
  directive val1 val2
  dir2 xyz abc
}

You could, of course, do DeepEqual(host1, host2) and merge all hosts that are DeepEqual to each other into a single host when the file is written, but to me that seems like to much hassle.
Alternatively you could treat the hosts as a true array:
{
  "hosts": [
   { "hostnames": ["global"]
      "gzip": true
    }
 , { "hostnames": ["host1", "host2", "host3"]
      "directive": ["val1", "val2"]
    , "dir2": { "xyz": "abc"}
    }
 , { "hostnames": ["host4"]
   , "waydifferent": { "xyz": "abc"}
    , "dir2": { "xyz": "abc"}
    , "dir3": ["val1", "val2"]
    }
  }
}

You also have to consider writing user interfaces around that sort of thing. Because whatever format you choose is what UIs will want to build to and that will change how developers create the UIs because it changes how they think of the data.
hmm.... or you could go a completely different route and use templates
{
  "hosts": {
    "gobal": "configId0"
  , "host1": "configId1"
  ,  "host2": "configId1"
  ,  "host3": "configId1"
  ,  "host4": "configId2"
  }
, "configs": {
    "configId0": {
      "gzip": true
    }
  , "configId1": {
      "directive": ["val1", "val2"]
    , "dir2": { "xyz": "abc"}
    }
  , "configId2": {
      "waydifferent": { "xyz": "abc"}
    , "dir2": { "xyz": "abc"}
    , "dir3": ["val1", "val2"]
    }
  }
}

In this case config ids would be completely arbitrary at each serialization / deserialization, they just need to match (essentially emulating a serialized memory reference).
Also, where you have weird stuff that can't fit into a category because it can be optionally formatted in a multiple of ways needs to be standardized.
So something that can be represented in various ways such as
# singleton
somekey someval1 someval1

# weird
somekey someval1 someval2 {
  keya valuey
}

# plural
somekey {
  keya valuey
  keyb valuex
}

needs to have a canonical representation in json like this:
{
  "somekey": {
   "args": ["someval1", "someval"]
    "keya": "valuey"
    "keyb": "valuex"
  }
}

I would suggest mocking up a UI that fits how you think people will want to configure their server and then modeling the data after that.
If you want the Caddyfile to be treated like a document (preserve comments, whitespace) rather than like data, then throwing it into HTML / XML is actually a better choice than throwing it into JSON.
However, as soon as interfaces are developed for it the devs will get frustrated with the HTML / XML, use mongoose to parse it as JSON, throw away all of the whitespace and comments and ambiguous formatting, and then throw write it back in a standard format like the first one I showed.
YAML is a mix between the two. I perfect yaml parser allows the developer to interact with the data as data, but leaves whitespace and comments intact when stringifying.
But I've only ever seen a few near-perfect yaml parsers - either they parse it to json and loose the markup or they leave it as markup and don't expose the data object to the developer, which leaves the developer to convert it to data, loose the markup, and... yeah...

I just realized that the directives can't be used as keys unless their values are multidimensional arrays, which I'd like to avoid (more iterating)...
e.g. this Caddyfile:
localhost {
	dir line1
	dir line2
}

Would only represent dir line1 in the JSON because keys have to be unique. We could do "dir": [["line1"], ["line2"]] but I don't like the extra nesting.
Another way is that line is basically an array, and the first element in each array is the directive, so it would be:
["dir", "line1"]
["dir", "line2"]

I'll be building a real front-end that uses this and will experiment with different formats to find the one that is most useful for clients.

The problems of multiplexing a syntax... not good for machines... not good for humans.
You have to consider what it is that you're trying to represent. If you actually look at your directives, it's a map not an array.
Example
proxy /api http://localhost:4080
proxy /protected http://localhost:4080
proxy /whatever http://localhost:4080
}

You wouldn't ever do
proxy / http://localhost:4080
proxy / http://localhost:4080

Nor would you ever do
proxy / http://localhost:8080/blah
proxy / http://localhost:4080

Even though you can specify proxy multiple times, proxy is a key value pair, not an array.
 If you think in terms of "representing a Caddyfile", you're building a syntax tree. If you think about "modeling data", you're building a data structure.
{
  "somekey": {
    "args": [ "someval1", "someval2" ]
    "keya": "valuey"
  }
}

HOWEVER, if it's possible to do something like this
somekey someval1 someval2 {
  keya valuey
}
somekey someval1 someval2 {
  keya valuey
}

then I caution that you should consider changing the way you represent that in a Caddyfile and issue a warning when the old syntax is used. Otherwise you're literally recreating XML using newlines, spaces, and brackets in place of the old angle brackets, attributes, and text areas.

@coolaj86 Thanks for your feedback. I've changed the format slightly in c31e86d and will probably leave it that way for now... subject to change as I actually use it to develop a client on it.
No matter the syntax, it's likely there will be a JS client library for manipulating the Caddyfile. The nice thing about JSON is that, at least, tokenization is taken care of and the data is still structured. At this point it's just a matter of semantic meaning, which a JS client lib will help with.


Image type not displayed in reading view

The image is displayed correctly in editing, but not in reading.

Which version do you use?


DEVEXP-530: Conversation e2e (alls but templates)

Note yet templates related test due to pending Temapltes PR in review (will come after)

@asein-sinch About https://github.com/sinch/sinch-sdk-java/blob/DEVEXP-530-conversation-e2e/client/src/test/java/com/sinch/sdk/e2e/domains/conversation/WebhooksEventsSteps.java#L282
We can imagine refining mockerserver/cucumber description with something like the Conversation event header contains a valid signature for {string}
Then tests could use the {string} identifier to detect which event is having to be checked when running multihtread/parallel mode

@asein-sinch Created DEVEXP-550 regarding the authentication header validation


Consequtive RNDL calls repeat shifted bit patterns

Consequent calls to rndl provide same values in bits 23:12 that were in 15:4 in previous call.

XC=BASIC uses the 24-bit overlapped version of this algorithm: https://github.com/bbbradsmith/prng_6502 (Check out the galois24o routine). I think it was designed to be fast rather than unpredictable :-)
In a future version I might add several algorithms, so that the programmer may choose one, e. g. RNDL(<method>).

Hmm, I ran some tests with Galois and it did not repeat like this. It seems like rndl is not generating 24 random bits, but shifting seed bits 15:4 to a new positions (23:12) and then generating only 12 new random bits. I understand if this is a design choice (i.e. speed optimisation) but in that case another option would be to have slower rndl that generates 24 random bits and faster rndb that generates only 8 random bits.

I just realized that I may have misunderstood the rndl. Does it actually call Galois only once and then return
the whole seed register instead of calling Galois 3 times and constructing the long from the generated random bytes?

Yes :) I was able to reconstruct the sequence and that is exactly how it works. So the actual random number is only the 8 bits in the least significant byte of the returned long. Without knowing the use case for this, I would prefer having rndb (and perhaps also rndi and rndl, but constructed from consecutive calls to Galois instead of returning the seed register).

I just realized that I may have misunderstood the rndl. Does it actually call Galois only once and then return the whole seed register instead of calling Galois 3 times and constructing the long from the generated random bytes?

Yes it only calls Galois once and I think it's a mistake. I will fix the function to call Galois 3 times and use the consecutive low bytes to form a new 24-bit number.

Okay so I've created a new build. The RNDL() fn should now work as discussed above. Since this adds quite a big overhead, I've added the RNDB(), RNDI() and RNDW() functions that only generate 1, 2 and 2 random bytes, respectively (yet undocumented).

Super! Now all sequences look correct.


fix(ibm-major-version-in-path): remove extraneous debug message

This PR removes a debug message that was recently added to the check-major-version.js file in order to verify that the executables are being built correctly.
Removing this debug message will trigger a new version of the ruleset dependency and will allow us to verify that things are working correctly with the new fix that we have in place for the "pkg" problem.

:tada: This PR is included in version 1.15.6 :tada:
The release is available on npm package (@latest dist-tag)
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.16.6 :tada:
The release is available on npm package (@latest dist-tag)
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.4.0 :tada:
The release is available on npm package (@latest dist-tag)
Your semantic-release bot :package::rocket:


onLayout calling after componentDidMount

As documentation tells us,

onLayout
Invoked on mount and layout changes with:..

onLayout must be fired on mount.
So, on DidMount, it must be done..
But, onLayout always fires only after DidMount
(offtop): For what this function in RN( componentDidMount ) is needed, if, in fact, main data( such as component coords etc ) absolutely not ready yet
Environment
Environment:
OS: macOS Sierra 10.12.6
Node: 9.3.0
Yarn: 1.3.2
npm: 5.6.0
Watchman: Not Found
Xcode: Xcode 9.2 Build version 9C40b
Android Studio: 3.0 AI-171.4443003
Packages: (wanted => installed)
react: 16.0.0 => 16.0.0
react-native: 0.53.0 => 0.53.0
Steps to Reproduce

Add this classes( see below ) to project
Render <Parent /> component
See console output

class Child extends PureComponent {
  componentDidMount() {
    console.log('Child did mount');
  };

  render() {
    console.log('Child on render');
    return (
      <View onLayout={() => console.log('Child onLayout')} />
    );
  };
}

class Parent extends PureComponent {
  componentDidMount() {
    console.log('Parent did mount');
  };

  render() {
    console.log('Parent on render');
    return (
      <View onLayout={() => console.log('Parent onLayout')}>
        <Child />
      </View>
    );
  };
}

Expected Behavior
onLayout fires & done before componentDidMount
So, in componentDidMount, can use result of onLayout
Actual Behavior
onLayout fires after componentDidMount
Console output( from code, see above ):
Parent on render
Child on render
Child did mount
Parent did mount
Parent onLayout
Child onLayout

@kelset is there something special with runtime arrow functions using console log? in what other way could it be tested that onLayout respects its place in the lifecycle?

@kelset I told about expected order:

As documentation tells us,

onLayout
Invoked on mount and layout changes with:..

onLayout must be fired on mount.
So, on DidMount, it must be done..
But, onLayout ALWAYS fires ONLY AFTER componentDidMount

I'm expect, that componentDidMount fires AFTER mount component and other, related with it, tasks( for ex: onLayout, that, as documentation says, fires ON MOUNT, so when fires componentDidMount, it, logically, must be done ), but, it always fires AFTER.

@mastersam92 I think it's the documentation that ought to be updated to:
"Invoked after mount and layout changes with ..."
Since layout is apparently done after mounting, according to your experiment. Do you have a change to verify it works the same way in react v0.55 ?
Maybe the doc for onLayout should include something like this, too:
"
onLayout is fired after the component is rendered (and after all callbacks, like componentDidMount are executed) because then all sizes have been calculated based on the styles and the (possibly dynamic) content.
"
I'm quite amazed and puzzled that the docs for the component lifecycle doesn't say anything about onLayout...

Any resolution here? It seems in my app that if you are rendering something based on prop data or if you push prop data into state inside the constructor, onLayout will finish before DidMount is called... Now if you I massage data inside render for any reason the behavior will be opposite and onLayout will finish after DidMount..

@djErock
I found this:

Summary: onLayout event is fired when some layoutable node got inserted or updated (with changed layout) during commit phase.
https://github.com/facebook/react-native/commit/9b7f6abd877cb8f39a01eae716919ae821436c4d

See also:
https://reactjs.org/docs/react-component.html#componentdidmount
My best guess is that the behavior you are seeing has to do with calling setState.
See:
https://itnext.io/react-setstate-usage-and-gotchas-ac10b4e03d60
Also see the setState "Guarantees" at the bottom here. It was very elucidating for me, at least:
http://reactkungfu.com/2016/03/dive-into-react-codebase-handling-state-changes/


nextPosition key of EVENT_OUTPUT_END event - map to more useful value

When looking in the execution.log file, the nextPosition key of the EVENT_OUTPUT_END event maps to a number which is meaningless to the user. It should map to something more useful like the name of the next task to be run.
Example: 2015-01-22 09:50:55:344 53572 [WorkerExecutionThread-0_101600001] INFO  org.openscore.lang.cli.SlangCLI  - Event received: EVENT_OUTPUT_END Data is: {PATH=0/1, DESCRIPTION=Output binding finished, EXECUTIONID=101600001, TASK_NAME=division1, TIMESTAMP=Thu Jan 22 09:50:55 IST 2015, nextPosition=6, TYPE=EVENT_OUTPUT_END, RESULT=SUCCESS, OUTPUTS={ans=1.5}}

@avimora is this related to how you print the events?

It's actually next step id, the only navigation data available at runtime...

true.. but as Sam said.. no user has what to do with it...

It might be useful to have it for debug/analysis purposes, so it's just a matter of display (it's only in the log anyway...)

I think we need to have both

lower priority - closing this


If conversationId is not available, hide the recording toolbar

Pull Request Test Coverage Report for Build 3134

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

Totals

Change from base Build 3133:
0.0%

Covered Lines:
6888

Relevant Lines:
9801

💛  - Coveralls


HDDS-11224. Increase hdds.datanode.handler.count

What changes were proposed in this pull request?
HDDS-11224. Increase hdds.datanode.handler.count
hdds.datanode.handler.count is default to 1. This property defines the number of DataNode RPC handlers. Increasing to 10 improves DN Echo throughput
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-11224
How was this patch tested?
Just change a configuration property value. No new tests.
The change was applied to a cluster and then benchmarked the throughput change using
ozone freon dne --clients=32 -t 32 -n 1000000 --sleep-time-ms=0 --ratis --payload-req=0 --container-id=1

Yes we sure. Updated JIRA release note.

Thanks @smengcl !


Multi Room chat app

Project title
(Group Discussion app)
Project Description

This is a chat app where user authentication is done using firebase and user could chose among various topics where user could share there reviews with others globally.
This web application would contain many types of topic where user could discuss their opinions with other.
Topics would be -:

Sports
Tv Series
Movies
Crypto

Stack:

[x] Html
[x] CSS
[x] JavaScript
[x] ReactJS

hi @khushi-purwar. I would like to work on this project for the GSSOC'22.
Kindly assign this issue to me.


feat(mg): impl cyclic assigner

For some cases we just need to assign data to tables without using constraint system capabilities, e.g. for IVC input. For this purpose, it is convenient to take a expr that simply gives all available columns and does a row shift when the columns run out:
Now we need the following code for cyclic assign:
let mut fixed_columns = config.iter_fixed_columns().enumerate().cycle();

// A closure using a cyclic iterator that allows you to take available advice columns
// regardless of `T`, making as few row offsets as possible
let mut assign_next_fixed =
    move |annotation: &str, region: &mut RegionCtx<C::Base>, val| {
        let (index, column) = fixed_columns.by_ref().next().expect("Safe because cycle");

        if index == 0 {
            region.next();
        }

        region.assign_fixed(|| annotation.to_owned(), *column, val)
    };

let m_bn = limbs
    .iter()
    .enumerate()
    .map(|(limb_index, limb)| {
        assign_next_fixed(
            &limb_index.to_string(),
            &mut ctx,
            *limb,
        )
    })
    .collect()?;

However, since many such code are used in fold tests, the code is very cumbersome. To overcome this, I made an abstraction through an intermediate struct. Now the call will look like this:
let mut fixed_cycle_assigner = config.fixed_cycle_assigner();

let m_bn = limbs
    .iter()
    .enumerate()
    .map(|(limb_index, limb)| {
        fixed_cycle_assigner.assign_next_fixed(
            &mut ctx,
            || limb_index.to_string(),
            *limb,
        )
    })
    .collect()?;

Now you don't have to create a corresponding closure every time! And everything works out of the box.
I've postponed the actual integration until the next PR, as it involves some new testing changes instances

Can't resolve the conflict by mobile app, please just look at the last commit


Rework mocha fulltest configuration

#justbikesheddingthings
Optional follow up to #5437, maybe you guys are interested in some or none of the following:

leverage mocha's merging order with an impossible regex and test/mocha.opts to make npx mocha be the default which skips slow tests
put eslint and tslint together under the lint script
use standard posttest and pretest hooks

In other news, @KrisXV's test is damn slow. How long do we think is OK for Travis? Can I run a full cycle of smokes tests instead of just the one canary one?

Travis tests have failed
Hey @scheibo,
Please read the following log in order to understand the failure reason.
It'll be awesome if you fix what's wrong and commit the changes.
TravisBuddy Request Identifier: d293b3c0-5d9b-11e9-9212-e1acf2d44b97

How long do we think is OK for Travis? Can I run a full cycle of smokes tests instead of just the one canary one?

I'd like to push the test which revealed #5337 as well.

I think there's two things we need to take into account, 1) Travis timeouts and 2) how long we'd want to wait on commits.

When a job produces no log output for 10 minutes.
When a job on a public repository takes longer than 50 minutes.

_https://docs.travis-ci.com/user/customizing-the-build/#build-timeouts_
Looks like a test case can be ~10 minutes long (before it adds a . for having finished). That being said, people will probably get upset if Travis takes > 10 minutes before they get results (LGTM latency already draws complaints).
WDYT? I think (1) is  less of a limiting factor than (2). With my 2 tests runnings more iterations plus the existing ~50s long test, I think we'd be around ~3-5 minutes? How long is your test? And do you agree that all the slow test combined should probably try to stay under 10 minutes?

That being said, people will probably get upset if Travis takes > 10 minutes before they get results (LGTM latency already draws complaints).

CI time should be a very small fraction of the overall turnover time of most PRs imo, granted the author runs npm test.

How long is your test?

cough cough * I seem to have overestimated its duration since I last ran it: just 3 seconds in my machine.......

I've decided to run more cycles of my tests - doing a single exhaustion cycle of each supported metagame + 100 random battles only bumps the time up to '3m' (presumably somewhere between 3 and 4 minutes) on my laptop which still seems pretty palatable for fulltest.

cough cough I seem to have overestimated its duration since I last ran it: just 3 seconds in my machine.......

I feel we have regular tests slower than that*! Check it in!
*Maybe we should audit our existing tests and move some of the slow ones to fulltest?

If it's 3 seconds, why is Kris's so much slower? I guess because Kris's is a full validation and yours is just a "does learnset contain move"

If it's 3 seconds, why is Kris's so much slower? I guess because Kris's is a full validation and yours is just a "does learnset contain move"

Yeah, we don't care whether the final sets are legal in randbats..


Tool enhancement: dr_curve

Enhancement of the tool dr_curve:

Now there is a more complete summary (i.e. model AIC)
Improve the visualization with ggplot2 (replicates and confidence intervals are now show in the plot)
Added an additional model (BC.5)

In order to fix the R stuff you can use this one: https://github.com/Helmholtz-UFZ/galaxy-tools/blob/main/.github/styler.R .. just need to install styler.

There is now a diff with the test-data.
Output plot_output:  different than expected, difference (using diff):
( /tmp/tmpe3ivt70iimage_output.jpg v. /tmp/tmp25eq3tp4image_output.jpg )
Binary data detected, not displaying diff

I reverted the version token because it is also used in the requirement.

Good to go!


resotre from zcl

Hello how i can restore from zcl and got zen?
thanks

Hi, the wallet has an "import single key" function where you can type the secret key of the (ZCL) address. This will not destroy anything in the existing Zen wallet.
If you do not have the secret key, but do have a wallet.dat file then this can also be used - but the instructions are different for different operating systems.


Surge.sh website preview workflow failing but does not raise error

https://github.com/xarray-contrib/xarray-tutorial/actions/runs/9135494118/job/25122893778
I'm guessing the TOKEN from last year just expired at some point. cc @lsetiawan
Might need some minor changes to the workflow (https://github.com/afc163/surge-preview/issues/255)

I'll take a look on Monday. Thanks!

I just recalled that I don't think the preview ever worked for PRs coming from forks. Because those workflows have a blank SURGE_TOKEN!
I think it's great to be able to preview content coming from forks. I don't know if there is a better state-of-the art these days, but this is the approach we take for hackweek websites to accomplish this (basically anyone with repo admin permission adds a label to grant access to the token):
https://github.com/uwhackweek/jupyterbook-template/blob/3bddb53b98f0ec234850e9529b241632d7aa6b5e/.github/workflows/netlifypreview.yaml#L4-L18
on:
  pull_request_target:
    types: [labeled, synchronize]

jobs:
  add-preview:
    runs-on: ubuntu-latest
    # This workflow accesses secrets and checks out a PR, so only run if labelled
    # https://securitylab.github.com/research/github-actions-preventing-pwn-requests/
    if: contains(github.event.pull_request.labels.*.name, 'preview')

    steps:
    - name: Checkout repository
      uses: actions/checkout@v4
      with:
        ref: ${{ github.event.pull_request.head.sha }}

Helpful discussion here about various options:

distinction between deploying from a branch and deploying from an artifact: https://github.com/rossjrw/pr-preview-action/issues/21
possibility to use environment protection for PRs from forks that need secrets https://github.com/rossjrw/pr-preview-action/issues/85

I think closed by #260, see https://github.com/afc163/surge-preview/pull/294 and related discussion. Sometimes the workflow still fails with 'GitHub API rate limits' but waiting a few minutes and 're-running failed job' seems to sort things out.


Provide option to fine tune spacy NER model instead of training from scratch

first commit:

fixed regression of #152 (trainer persist got screwed up & entity extractor was not set after training)

second commit:

improved training tests (they now check if entity extractor & intent classifier exist)
fixes #166 (allows to fine tune spacys provided NER models with the training data)
don't finish after entity training. fixes #136

Documentation will be added if approved.

note to myself: add hint to docu that spacy needs a lot of training data for NER

Looks good. Please go ahead and add docs. I made one small comment (think you forgot a couple of asserts in test_train.py


Add Go tests in MySQL storage implementation

#21

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 26.17%. Comparing base (46ec9c2) to head (0228778).
Report is 29 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #110      +/-   ##
==========================================
- Coverage   35.80%   26.17%   -9.64%
==========================================
  Files          16       19       +3
  Lines        1363     1857     +494
==========================================
- Hits          488      486       -2
- Misses        801     1297     +496
  Partials       74       74

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

Would the 655536 be too large in the TestParallelAdd test?


Mobile - How to prevent scrolling when dragging an element?

In the mobile, I couldn't prevent the page from being scrolled when I try to drag a sortable item. Is there a way to prevent the scrolling of the page?

I have encountered the same problem, how did you solve it?


docs: fix typo and clarify package name

Hey there, not sure if you accept these PRs but I spotted a few typos, and was a bit confused trying to install authorizer-js because I didn't read far enough down the page for the full package name.. i figure it would be better to make these fixes.
nice product, keep up the good work

@arnorhs thanks for improving the docs


incorrect incomplete tests?

related to branches not being counted
here's some example code:
if (/^he/.test('hello')) {
  return true;
}

Will set the if as "incomplete" whereas
 if (/^he/.test('hello') === true) {
  return true;
}

will mark it as complete.

This doesn't happen with function calls or with object properties (even if those properties are functions)
Example
foo = true;
if (foo) {
}

foo = { bar: function () { return true } };
if (foo.bar()) {
}

foo = function () { return true };
if (foo()) {
}

all of them are marked as completed

So I'm guessing it happens with properties of members like RegExp, String, etc...
It breaks with isNaN and RegExp.test

It's the last ) inside the condition that breaks the code. I'll fix it soon. Thanks for report

Sorry that it took so long.
Fixed in 5e4b1881dafd74ce33f4167e4c47c62052201a9a


Incorrect error about conflicting sizes when resampling DataArray with underlying dask array data

What happened?
Hello,
While resampling data, I have encountered the following error:
ValueError: conflicting sizes for dimension '__resample_dim__': length 25 on '__resample_dim__' and length 2 on {'__resample_dim__': <this-array>}

The first length refers to the number of generated buckets and the second length is the length of the input data array. As such, these are not at all expected to be equal. The error is thrown here: https://github.com/pydata/xarray/blob/276b6bf22fdd5d6abeb6236b8e3c63e63049d44a/xarray/core/variable.py#L3282-L3285.
This error occurs only in the specific conditions outlined in the MCVE. When one of the following is true, no error is encountered:

The time values fall into the same bucket, i.e., time = np.array(['1970-01-01T00:00', '1970-01-01T00:30'], dtype=np.datetime64) (although the result might be wrong; it is correct with the example data here)
The data is loaded in-memory, i.e., data = np.zeros(2)
.reduce(da.max) is used instead of .max()

It is also worth noting, that this error occurs in the max method rather than later at the actual .compute().
What did you expect to happen?
A result of [ 0., nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,        nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,  0.]. This result is given, as expected, when using in-memory data (case 2).
Minimal Complete Verifiable Example
import numpy as np
import dask.array as da
import xarray

data = da.zeros(2)
time = np.array(['1970-01-01T00:00', '1970-01-02T00:00'], dtype=np.datetime64)

mcve = xarray.DataArray(data, coords={'time': time})
mcve.resample(time='1h').max()

MVCE confirmation

[X] Minimal example — the example is as focused as reasonably possible to demonstrate the underlying issue in xarray.
[X] Complete example — the example is self-contained, including all data and the text of any traceback.
[X] Verifiable example — the example copy & pastes into an IPython prompt or Binder notebook, returning the result.
[X] New issue — a search of GitHub Issues suggests this is not a duplicate.

Relevant log output
No response
Anything else we need to know?
No response
Environment

INSTALLED VERSIONS
commit: None
python: 3.9.15 | packaged by conda-forge | (main, Nov 22 2022, 08:45:29)
[GCC 10.4.0]
python-bits: 64
OS: Linux
OS-release: 4.18.0-425.3.1.el8.nci.x86_64
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: en_AU.utf8
LANG: None
LOCALE: ('en_AU', 'UTF-8')
libhdf5: 1.12.2
libnetcdf: 4.8.1
xarray: 2023.4.2
pandas: 1.5.3
numpy: 1.23.5
scipy: 1.10.1
netCDF4: 1.6.0
pydap: installed
h5netcdf: 1.1.0
h5py: 3.8.0
Nio: None
zarr: 2.14.2
cftime: 1.6.2
nc_time_axis: 1.4.1
PseudoNetCDF: None
iris: 3.4.1
bottleneck: 1.3.7
dask: 2023.4.0
distributed: 2023.4.0
matplotlib: 3.5.3
cartopy: 0.21.0
seaborn: 0.12.2
numbagg: None
fsspec: 2023.4.0
cupy: 12.0.0
pint: 0.19.2
sparse: 0.14.0
flox: 0.6.10
numpy_groupies: 0.9.20
setuptools: 65.6.3
pip: 23.1.1
conda: 23.1.0
pytest: 7.3.1
mypy: None
IPython: 8.12.0
sphinx: 4.5.0

Can you update flox to 0.7.2 and try again please?

Thank you. Updating fixed the issue


(WIP): Add support for Cilium CNI - Cilium Config options

This patch is to add support for Cilium CNI and specifically
targeted towards adding the Cilium Config options.
Fixes: #129
Signed-off-by: Swaminathan Vasudevan<EMAIL_ADDRESS>

@swapnilgm closing this in favor of #7


Switch logging to JSON

Description
Gitlab runner uses text-based logging by default. However due to https://gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/179 all of the logs include tty coloring codes which make logs pain to process or read.
Since this module offers logging to cloudwatch by default anyways this simple change will make the log readable and usable in CloudWatch.
Migrations required
NO. Will be handled by Gitlab runner instance refresh.
Verification
Changed manually on the server. Then tried this change in my environment.
Documentation
No changes needed.

Looks really good:
{
    "driver": "amazonec2",
    "level": "info",
    "msg": "Waiting for SSH to be available...",
    "name": "runner-vmp2g17h-runner-1644263233-47607f53",
    "operation": "create",
    "time": "2022-02-07T19:47:29Z"
}

Also started some jobs to make sure that the job logs do not use JSON (just in case ;-). Everything is fine.


Form Validation Docs use non-existent method

One of your examples on the Form Validation doc page uses a method on SilverStripe\Forms\Form called addErrorMessage.
https://docs.silverstripe.org/en/4/developer_guides/forms/validation/
No method called addErrorMessage seems to exist anywhere in your API/
https://api.silverstripe.org/4/search.html?search=addErrorMessage

dupe of https://github.com/silverstripe/silverstripe-framework/issues/8640 & https://github.com/silverstripe/silverstripe-framework/issues/9151

Looks like this can be closed... docs look to have been updated now https://docs.silverstripe.org/en/4/developer_guides/forms/validation/ / https://github.com/silverstripe/silverstripe-framework/blob/f1c74c357028235c1f4351a849773fa2a1851e89/docs/en/02_Developer_Guides/03_Forms/01_Validation.md


Implement the new Pattern API on Regex.

This probably suggests some future work too. A lot of the methods implemented in src/re.rs can probably be implemented with the StrExt methods now.
There's also the question of whether we want to remove methods on Regex that are available in StrExt, but I think I'd prefer not to. It's nice to have a comprehensive API in one place, and it gives users the option to call these methods on a Regex type directly.
cc @kimundi

r? @huonw
(rust_highfive has picked a reviewer for you, use r? to override)

Looks good!
Ideally Rejects would be discovered along the way, rather than just after-the-fact of a match, but I guess thats kinda hard/impossible with the way Regex is implemented.

Ideally Rejects would be discovered along the way, rather than just after-the-fact of a match, but I guess thats kinda hard/impossible with the way Regex is implemented.

Yup. The regex machinery only knows how to report the location of the next match, and it doesn't get much more granular than that.
Thanks for the review!


LIIF ReadMe

Prerequisite

[X] I have searched the existing and past issues but cannot get the expected help.
[X] I have read the FAQ documentation but cannot get the expected help.
[X] The bug has not been fixed in the latest version.

🐞 Describe the bug
Your LIIF ReadMe seems kinda broken
Environment

Additional information
No response

We check LIIF README and all URL work well.
Can you provide a detailed description?


Build and run issue with frontend/backend sample

Describe the bug
I'm following through the Frontend-Backend Sample, and every time I'm using dotnet new .. then tye run .., I'm getting this error:
System.ComponentModel.Win32Exception (2): The system cannot find the file specified.
   at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.Start()
   at Microsoft.Tye.ProcessUtil.RunAsync(String filename, String arguments, String workingDirectory, Boolean throwOnError, IDictionary`2 environmentVariables, Action`1 outputDataReceived, Action`1 errorDataReceived, Action`1 onStart, CancellationToken cancellationToken) in /_/src/Microsoft.Tye.Core/ProcessUtil.cs:line 110
   at Microsoft.Tye.Hosting.ProcessRunner.<>c__DisplayClass6_0.<<LaunchService>g__RunApplicationAsync|0>d.MoveNext() in /_/src/Microsoft.Tye.Hosting/ProcessRunner.cs:line 186

When I close the window, then reopen and try the command again it works.
tye version: 0.1.0-alpha.20168.8+f45b9444d4894009bde48e2a3411a52dd09497b1
dotnet: 5.0.100-preview.1.20104.11
Windows

Thanks for reporting this. Sorry you ran into problems. @davidfowl - any ideas about how to investigate?

Open up the dashboard and look at the logs for the services, and paste it in here.

dotnet build "c:\repos\microservice2\frontend\frontend.csproj" /nologo
Restore completed in 32.22 ms for c:\repos\microservice2\frontend\frontend.csproj.
You are using a preview version of .NET Core. See: https://aka.ms/dotnet-core-preview
frontend -> c:\repos\microservice2\frontend\bin\Debug\netcoreapp5.0\frontend.dll
frontend -> c:\repos\microservice2\frontend\bin\Debug\netcoreapp5.0\frontend.Views.dll
Build succeeded.
0 Warning(s)
0 Error(s)
Time Elapsed 00:00:01.42
[frontend_103321ac-6]:c:\repos\microservice2\frontend\bin\Debug\netcoreapp3.1\frontend.exe
[frontend_cf8db7b7-d]:c:\repos\microservice2\frontend\bin\Debug\netcoreapp3.1\frontend.exe
[frontend_4d8f95af-b]:c:\repos\microservice2\frontend\bin\Debug\netcoreapp3.1\frontend.exe

Can you also send the logs from tye run itself?

c:\repos\microservice2>tye run frontend
[23:31:27 INF] Executing application from c:\repos\microservice2\frontend\frontend.csproj
[23:31:27 INF] Default dashboard port 8000 is in use, choosing random port.
[23:31:27 INF] Dashboard running on http://<IP_ADDRESS>:51553
[23:31:27 INF] Building project c:\repos\microservice2\frontend\frontend.csproj
[23:31:31 INF] Launching service frontend_9225cf62-1: c:\repos\microservice2\frontend\bin\Debug\netcoreapp3.1\frontend.exe
[23:31:32 ERR] Failed to launch process for service frontend_9225cf62-1
System.ComponentModel.Win32Exception (2): The system cannot find the file specified.
at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at Microsoft.Tye.ProcessUtil.RunAsync(String filename, String arguments, String workingDirectory, Boolean throwOnError, IDictionary2 environmentVariables, Action1 outputDataReceived, Action1 errorDataReceived, Action1 onStart, CancellationToken cancellationToken) in //src/Microsoft.Tye.Core/ProcessUtil.cs:line 110
at Microsoft.Tye.Hosting.ProcessRunner.<>c__DisplayClass6_0.<g__RunApplicationAsync|0>d.MoveNext() in //src/Microsoft.Tye.Hosting/ProcessRunner.cs:line 186
[23:31:37 INF] Launching service frontend_26bf4d63-5: c:\repos\microservice2\frontend\bin\Debug\netcoreapp3.1\frontend.exe

Does this file exist? c:\repos\microservice2\frontend\bin\Debug\netcoreapp3.1\frontend.exe ?

I'm using dotnet 5.0 right now, so I have the netcoreapp5.0 folder.  Let me try uninstalling dotnet 5, since the instructions do say use 3.1.

@QueenCitySmitty I see, we're not finding the right folder. That's the issue, this is fixed in the latest CI build but not in the one linked in the tutorial. Using netcoreapp3.1 should work for now.

@davidfowl yep when I went back to 3.1.201, it worked first time.  Awesome, thanks all.


Automatic Translation

KiCad 8.0.1
Toolkit - current
Automatic Translation solves the problems I was having moving from V3 whereby EasyEDA footprints translated to KiCad were rotated wrongly.
But there is still a problem where some parts are offset.
Is there a way around this, and do you want any of the parts to check?

I am trying to automate the translating matching as much as I can.
The parts that are left should be adjusted manually.

OK - thanks ;)


Broken links on "Supported Architectures" page

This page Contains a few links to the boards' websites that are throwing 404's:
https://forums.balena.io/c/balena-os
https://www.raspberrypi.org/products/model-a-plus/
https://www.raspberrypi.org/products/pi-zero/
https://boundarydevices.com/product/nitrogen6x-board-imx6-arm-cortex-a9-sbc/
https://www.solid-run.com/product-tag/hummingboard-base/
https://www.hardkernel.com/main/products/prdt_info.php?g_code=G141578608433
https://www.hardkernel.com/main/products/prdt_info.php?g_code=G143452239825
https://www.artik.io/modules/overview/artik-10/
https://www.artik.io/modules/overview/artik-5/

Thanks for raising this issue!
These links are hardcoded here (private URL): https://github.com/balena-io/resin-site
So they aren't currently scanned with link-checker. We will have to go through them manually and clean them up

Thanks for bringing this to our attention @builder555
@klutchell This page might be worth autogenerating for a more resilient fix. The task involves fetching the resources from the /v6/device-type endpoint and creating a table out of the supported devices if this is the right use case for this. Check out this PR for reference: https://github.com/balena-io/docs/pull/1915
Also, isn't the balenaOS site being generated from github.com/balena-os/balena-os
I found the page that @builder555 mentions here https://github.com/balena-os/balena-os/blob/4e3c4ac88c28ed2df9d8758909e7a497d93086f6/pages/docs/supportedboards.md, maybe it got changed
Lastly, if it's in the same org I usually transfer issues out to other repos instead of linking issues in GitHub. It helps to maintain ownership and original thread context. But, that's more of a personal preference thing.

Good call @vipulgupta2048 , I didn't notice the balena-os repo had the same links. I wonder which is correct?
I see @builder555 has already PRd and fixed the URLs on resin-site.
https://github.com/balena-io/resin-site/blob/a821a9ba89e28aac4233f56179eb301a91a45a72/src/data/os/docs/supported-boards.md
I would normally transfer the issue as well, but I didn't in this case as resin-site is private and I didn't want anyone watching this issue to lose context. If they were both public I would have moved it, yeah.

Confirmed that this page seems not to be used anymore, I wonder why that is? I think we are missing some context here.
https://github.com/balena-os/balena-os/blob/master/pages/docs/supportedboards.md
The changes made to resin-site are correctly reflected online now.
https://github.com/balena-io/resin-site/commit/dd3f24c5f26ccb783d5fce8b70abbf778e50705a
@thgreasi Do you have any context as to why the balena-os supported boards docs are in two repos?

I think @iamsolankiamit would know about this ^^

@klutchell @vipulgupta2048 That folder in balena-os seems to be the older one before we moved the docs to resin-site. So it is not being used now.

Thanks @iamsolankiamit for the assist, I will make a PR to nuke that folder to reduce further confusion. I was actually thinking to add a GitHub button if possible to redirect folks to the repository from where docs are being generated. But, since resin-site is private I don't think that's possible. A lot of people come looking to fix things on the balenaOS docs and hence the need for the button like "Improve the Docs" would help quite a bit.

@vipulgupta2048 there is a script in docs which pulls from the balena-os repo, need to check which files are being pulled. Yes balena.io/os and the docs you find there are being built from resin-site

If that's the case @iamsolankiamit shouldn't all PR's be going to balena-os repository instead assuming the resin-site changes won't be persistent and get overwritten on next pull. At least that's what happens in balenacloud docs here.

@iamsolankiamit https://github.com/balena-io/docs/blob/master/tools/fetch-external.sh here it is. So what you mean is,

leave only the files we are pulling into docs
Delete the files being overlapped by resin-site
Call it a day?

Will go through the repo today and update the readme with this information for folks that come on this repo next.

From one issue by @builder555 we are now fully deprecating a repository 😂
Talk about the impact 💣

Closing with https://github.com/balena-io/resin-site/pull/1306


Use READ_COMMITTED transaction isolation

We've found under heavy load we're getting some queries (16 in 30,000) leaving rogue rows hanging around in some of our resource's join tables. We're moving up one transaction isolation level to see if that fixes our race conditions. I've also wrapped the delete function in a transaction - we're not using that functionality in production so it's not the source of our issue however the test suite wouldn't pass without it.

Looks legit! Let's give it a try: 👍

Looks good to me 👍


If IP recovery fails the program crash

Error output :
Unhandled exception: IP API: Timeout error, please check your internet connection or IP API status. (ScalewayDDNS::IPError)
from ???
from ???
from ???
from ???
 from src/env/__libc_start_main.c:95:2 in 'libc_start_main_stage2'

Fixed with v1.1.1


Notes from feedback

Notes from feedback from Aayush

shouldn't be case sensitive
shouldn't show the empty ones without keys (though they can stay in the db) -- Netflix has the two in the middle
we should fetch the auth0.netflix.com and netflix.auth0.com keys for zk jwt too, but that's a lower priority feature

created separate issues


createReadStream returns an empty stream

This is the relevant code in my service file
if (input.profilePicture) {
	const { createReadStream, filename } = await input.profilePicture;

	const readStream = createReadStream();
	const writeStream = createWriteStream(join(process.cwd(), `./src/upload/${filename}`));

	readStream.pipe(writeStream)

	console.log('image', await input.profilePicture);
	console.log('readStream', readStream);

	await new Promise<void>(async (resolve, reject) => {
		writeStream.on('finish', () =>
			resolve(),
		);

		writeStream.on('error', (err) => {
			console.error(err);
			reject(new ProfilePictureUploadException());
		});
	});
}

This is the only output I get from above
image {
  fieldName: '0',
  filename: '237-200x300.jpg',
  mimetype: 'application/octet-stream',
  encoding: '7bit',
  createReadStream: [Function: createReadStream]
}
readStream FileStream {
  _readableState: ReadableState {
    objectMode: false,
    highWaterMark: 16384,
    buffer: BufferList { head: null, tail: null, length: 0 },
    length: 0,
    pipes: [ [WriteStream] ],
    flowing: true,
    ended: true,
    endEmitted: false,
    reading: false,
    constructed: true,
    sync: true,
    needReadable: false,
    emittedReadable: false,
    readableListening: false,
    resumeScheduled: true,
    errorEmitted: false,
    emitClose: true,
    autoDestroy: true,
    destroyed: false,
    errored: null,
    closed: false,
    closeEmitted: false,
    defaultEncoding: 'utf8',
    awaitDrainWriters: null,
    multiAwaitDrain: false,
    readingMore: false,
    dataEmitted: false,
    decoder: null,
    encoding: null,
    [Symbol(kPaused)]: false
  },
  _events: [Object: null prototype] {
    end: [ [Function], [Function] ],
    limit: [Function (anonymous)],
    error: [Function (anonymous)],
    data: [Function: ondata]
  },
  _eventsCount: 4,
  _maxListeners: undefined,
  truncated: false,
  _readcb: null,
  [Symbol(kCapture)]: false
}

This is my input data transfer object
import { Field, InputType } from "@nestjs/graphql";
import { FileUpload, GraphQLUpload } from "graphql-upload-ts";

@InputType()
export class UpdateProfileDto {
  @Field({ nullable: true })
  username?: string;

  @Field({ nullable: true })
  name?: string;

  @Field({ nullable: true })
  biography?: string;

  @Field(() => GraphQLUpload, { nullable: true })
  profilePicture?: Promise<FileUpload>;

  @Field({ nullable: true })
  pictureIsCircular?: boolean;

  @Field({ nullable: true })
  isPrivate?: boolean;
}

And finally this is how my app is setup to use the middleware
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import { graphqlUploadExpress } from 'graphql-upload-ts';

async function bootstrap() {
	const app = await NestFactory.create(AppModule);
	app.use(graphqlUploadExpress({ maxFileSize: 10000000, maxFiles: 10 }));
	await app.listen(3000);
}
bootstrap();

The code does successfully write a file with the same filename of the file provided when I test it in Apollo Server, however that file is empty. Any help would be greatly appreciated!

@TimmyRB could you share a fully working codesandbox with the issue?

@TimmyRB please add this option overrideSendResponse: false it should work 👍
	app.use(graphqlUploadExpress({ maxFileSize: 10000000, maxFiles: 10, overrideSendResponse: false }));

``


Noob question -How do I add a second switchbot curtain?

Used your code to get Switchbot Curtain working with HA. No problems, thank you 👍 . My question is how do I add a second, separate switchbot curtain controlling a different curtain. I've tried a few things, but my configuration.yaml keeps failing. Any suggestions much appreciated

Just copy the MAC address and it should work.

Just copy the MAC address and it should work.

That's great. Thank you. Both curtains now working independently. Interestingly, second curtain is a pair so centre opening but I only had one Switchbot. 2 pulleys and some cord solved the problem. Centre opening with only 1 switchbot.
Regards, David
BSA Marketing
Sent from my phone

From: Attila Lukács<EMAIL_ADDRESS>Sent: Sunday, January 3, 2021 10:04:27 AM
To: alextud/ha-switchbot-curtain<EMAIL_ADDRESS>Cc: David Wright<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [alextud/ha-switchbot-curtain] Noob question -How do I add a second switchbot curtain? (#3)
Just copy the MAC address and it should work.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/alextud/ha-switchbot-curtain/issues/3#issuecomment-753593788, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AR5TQKGBU5CGIXUUKSXXGWTSYA6KXANCNFSM4VQQ4JYA.

That's great. Thank you. Both curtains now working independently. Interestingly, second curtain is a pair so centre opening but I only had one Switchbot. 2 pulleys and some cord solved the problem. Centre opening with only 1 switchbot.
Regards, David
BSA Marketing
Sent from my phone

From: Attila Lukács<EMAIL_ADDRESS>Sent: Sunday, January 3, 2021 10:04:27 AM
To: alextud/ha-switchbot-curtain<EMAIL_ADDRESS>Cc: David Wright<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [alextud/ha-switchbot-curtain] Noob question -How do I add a second switchbot curtain? (#3)
Just copy the MAC address and it should work.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/alextud/ha-switchbot-curtain/issues/3#issuecomment-753593788, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AR5TQKGBU5CGIXUUKSXXGWTSYA6KXANCNFSM4VQQ4JYA.

adding a second mac address doesn't work for me...

You can take a look at the home assistant logs, by activating switchbot curtain logs.
logger:
  default: error
  logs:
    custom_components.switchbot-curtain: debug

This worked for me to add multiple switchbot curtains to configuration.yaml
I hope this helps
cover:

platform: switchbot-curtain
mac: xx:xx:xx:xx:xx:xx
platform: switchbot-curtain
mac: xx:xx:xx:xx:xx:xx

This worked for me to add multiple switchbot curtains to configuration.yaml
I hope this helps
cover:
platform: switchbot-curtain
mac: xx:xx:xx:xx:xx:xx
platform: switchbot-curtain
mac: xx:xx:xx:xx:xx:xx

cover:

platform: switchbot-curtain
mac: xx:xx:xx:xx:xx:xx
platform: switchbot-curtain
mac: xx:xx:xx:xx:xx:xx

This worked for me for multiple Switchbot curtains in configuration.yaml  I hope this helps
cover:

platform: switchbot-curtain
mac: xx:xx:xx:xx:xx:xx
platform: switchbot-curtain
mac: xx:xx:xx:xx:xx:xx


Are SFC translations scoped to the current component?

Just started messing around with fluent-vue, so apologies if I'm missing the answer to this in the docs.
Are the translations in an SFC scoped to just that component?
I'm trying to add translations to a parent component that the child component will use.  In some cases its for organization, in others because the child components are generic

Yes, translations defined in SFC are scoped to just that component. Translations added directly to the bundle are global and available for every component in the app.
In early versions of the library there was functionality that allowed sharing parent translations with the child component. But this causes a lot of copying messages between bundles causing slowdown (fluent.js itself does not have a concept of parent translations)
Few times that I needed this I either moved translations to an external ftl file and added its content later to a bundle, or passed translation from a parent component as prop.
What is your use-case? Can you send an example?


Loose version format parsing

The CI can not set the version in a <IP_ADDRESS> format with
the PF_VERSION cmake variable. This is not consistent
with other internal project and not user friendly.
Allow the version tag to be any string composed of 4 numbers separated by any
non numeric character.

This pull request is now managed with CodeReviewHub. Refresh.

Current coverage is 78.80%

Merging #346 into master will not affect coverage as of acb01ed

@@            master   #346   diff @@
=====================================
  Files          210    210
  Stmts         7157   7157
  Branches         0      0
  Methods          0      0
=====================================
  Hit           5640   5640
  Partial          0      0
  Missed        1517   1517

Review entire Coverage Diff as of acb01ed

Powered by Codecov. Updated on successful CI builds.

:+1:


Say a strange question, I can't understand

I found a problem with the connection cable, but it seems to work normally on my device, I can't understand I followed the tutorial to connect my device but it can't work

I have the instructions in red text to connect the cable, and he works very well.
The device I am using is：
PLATFORM: Espressif 32 (6.2.0) > Espressif ESP32 Dev Module
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
Chip is ESP32-D0WDQ6 (revision v1.0)

Is my definition of error I'm dizzy


get-binary cli command not compatible with symfony 4.4

hello :)
When i try to run
vendor/bin/rr get-binary --location ./bin

i got the next error
Fatal error: Uncaught Error: Undefined class constant 'SUCCESS' in
/vendor/spiral/roadrunner-cli/src/GetBinaryCommand.php:147

I have symfony 4.4 but the public SUCCESS constant appeared in version 5.1 in the base symfony command class.

Yes, it seems the functionality has not been properly tested on the lowest version of the symfony.

Done https://github.com/spiral/roadrunner-cli/commit/7550cba71af95a7eb05cae25debb5bc8d3a6a8dc


Disambiguate between ObjectLocation and the Prefix

It’s semantically cleaner if ObjectLocation only refers to a specific object that exists, and the Prefix refers to a directory or similar.
Unfortunately we have StorageLocation doing double-duty as both the source location (a tar.gz that exists in S3) and in the storage manifest.
I might finish this off later, see how I go.

Makes sense.

Replaced by #325.


Improve Sentry auth_token documentation

solve #8

Coverage remained the same at 95.789% when pulling bf0d2f8d3a8feaed235edc051a8e91ebb55baf8f on improve-sentry-doc into ab7f0adda28deeee58fa11b3770c83b229bd2ea7 on master.

Coverage remained the same at 95.789% when pulling bf0d2f8d3a8feaed235edc051a8e91ebb55baf8f on improve-sentry-doc into ab7f0adda28deeee58fa11b3770c83b229bd2ea7 on master.

Coverage remained the same at 95.789% when pulling bf0d2f8d3a8feaed235edc051a8e91ebb55baf8f on improve-sentry-doc into ab7f0adda28deeee58fa11b3770c83b229bd2ea7 on master.

Coverage remained the same at 95.789% when pulling bf0d2f8d3a8feaed235edc051a8e91ebb55baf8f on improve-sentry-doc into ab7f0adda28deeee58fa11b3770c83b229bd2ea7 on master.

Coverage remained the same at 95.789% when pulling ba4b80397392f186d6eece7e4fcc769eb7b0ead9 on improve-sentry-doc into ab7f0adda28deeee58fa11b3770c83b229bd2ea7 on master.