mpi executable crashes with a segfault when there's not enough memory

I'm building the mpi/ subfolder on my GNU/Linux Devuan Chimaera, with 2 GTX 1050 Ti cards, and OpenMPI 4.1.1 and CUDA 11.4.48 installed. I've modified the Makefile to build for compute_61 and sm_61.
Now, my first GPU has ~4 GB of memory, but when I ran mpi it only had about half of that available, for reasons which are actually rather interesting but perhaps not right now. Anyway, running mpi, this is what I got:
ERROR: CUDA RT call "cudaMalloc(&a_new, nx * ny * sizeof(real))" in line 378 of file jacobi.cpp failed with out of memory (2).
ERROR: CUDA RT call "cudaMemset(a_new, 0, nx * ny * sizeof(real))" in line 381 of file jacobi.cpp failed with invalid argument (1).
ERROR: CUDA RT call "cudaGetLastError()" in line 68 of file jacobi_kernels.cu failed with invalid argument (1).
ERROR: CUDA RT call "cudaDeviceSynchronize()" in line 385 of file jacobi.cpp failed with an illegal memory access was encountered (700).
ERROR: CUDA RT call "cudaStreamCreate(&compute_stream)" in line 387 of file jacobi.cpp failed with an illegal memory access was encountered (700).
ERROR: CUDA RT call "cudaStreamCreate(&push_top_stream)" in line 388 of file jacobi.cpp failed with an illegal memory access was encountered (700).
ERROR: CUDA RT call "cudaStreamCreate(&push_bottom_stream)" in line 389 of file jacobi.cpp failed with an illegal memory access was encountered (700).
ERROR: CUDA RT call "cudaEventCreateWithFlags(&compute_done, cudaEventDisableTiming)" in line 390 of file jacobi.cpp failed with an illegal memory access was encountered (700).
ERROR: CUDA RT call "cudaEventCreateWithFlags(&push_top_done, cudaEventDisableTiming)" in line 391 of file jacobi.cpp failed with an illegal memory access was encountered (700).
ERROR: CUDA RT call "cudaEventCreateWithFlags(&push_bottom_done, cudaEventDisableTiming)" in line 392 of file jacobi.cpp failed with an illegal memory access was encountered (700).
ERROR: CUDA RT call "cudaMalloc(&l2_norm_d, sizeof(real))" in line 394 of file jacobi.cpp failed with an illegal memory access was encountered (700).
ERROR: CUDA RT call "cudaMallocHost(&l2_norm_h, sizeof(real))" in line 395 of file jacobi.cpp failed with an illegal memory access was encountered (700).
ERROR: CUDA RT call "cudaDeviceSynchronize()" in line 397 of file jacobi.cpp failed with an illegal memory access was encountered (700).
ERROR: CUDA RT call "cudaMemsetAsync(l2_norm_d, 0, sizeof(real), compute_stream)" in line 413 of file jacobi.cpp failed with invalid resource handle (400).
ERROR: CUDA RT call "cudaStreamWaitEvent(compute_stream, push_top_done, 0)" in line 415 of file jacobi.cpp failed with invalid resource handle (400).
ERROR: CUDA RT call "cudaStreamWaitEvent(compute_stream, push_bottom_done, 0)" in line 416 of file jacobi.cpp failed with invalid resource handle (400).
ERROR: CUDA RT call "cudaGetLastError()" in line 112 of file jacobi_kernels.cu failed with an illegal memory access was encountered (700).
ERROR: CUDA RT call "cudaEventRecord(compute_done, compute_stream)" in line 421 of file jacobi.cpp failed with invalid resource handle (400).
ERROR: CUDA RT call "cudaMemcpyAsync(l2_norm_h, l2_norm_d, sizeof(real), cudaMemcpyDeviceToHost, compute_stream)" in line 424 of file jacobi.cpp failed with an illegal memory access was encountered (700).
ERROR: CUDA RT call "cudaStreamWaitEvent(push_top_stream, compute_done, 0)" in line 430 of file jacobi.cpp failed with invalid resource handle (400).
ERROR: CUDA RT call "cudaMemcpyAsync(a_new, a_new + (iy_end - 1) * nx, nx * sizeof(real), cudaMemcpyDeviceToDevice, push_top_stream)" in line 431 of file jacobi.cpp failed with an illegal memory access was encountered (700).
ERROR: CUDA RT call "cudaEventRecord(push_top_done, push_top_stream)" in line 433 of file jacobi.cpp failed with invalid resource handle (400).
ERROR: CUDA RT call "cudaStreamWaitEvent(push_bottom_stream, compute_done, 0)" in line 435 of file jacobi.cpp failed with invalid resource handle (400).
ERROR: CUDA RT call "cudaMemcpyAsync(a_new + iy_end * nx, a_new + iy_start * nx, nx * sizeof(real), cudaMemcpyDeviceToDevice, compute_stream)" in line 436 of file jacobi.cpp failed with an illegal memory access was encountered (700).
ERROR: CUDA RT call "cudaEventRecord(push_bottom_done, push_bottom_stream)" in line 438 of file jacobi.cpp failed with invalid resource handle (400).
ERROR: CUDA RT call "cudaStreamSynchronize(compute_stream)" in line 441 of file jacobi.cpp failed with invalid resource handle (400).
Single GPU jacobi relaxation: 1000 iterations on 16384 x 16384 mesh with norm check every 1 iterations
[bakunin:8796 :0:8796] Caught signal 11 (Segmentation fault: address not mapped to object at address (nil))
==== backtrace (tid:   8796) ====
 0  /usr/lib/x86_64-linux-gnu/libucs.so.0(ucs_handle_error+0x2a4) [0x7fb471099ea4]
 1  /usr/lib/x86_64-linux-gnu/libucs.so.0(+0x220af) [0x7fb47109a0af]
 2  /usr/lib/x86_64-linux-gnu/libucs.so.0(+0x2226a) [0x7fb47109a26a]
 3  /lib/x86_64-linux-gnu/libpthread.so.0(+0x14140) [0x7fb47aaec140]
 4  ./jacobi(+0x5700) [0x560dfc295700]
 5  ./jacobi(+0x2d37) [0x560dfc292d37]
 6  /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xea) [0x7fb47ab26d0a]
 7  ./jacobi(+0x23fa) [0x560dfc2923fa]
=================================
[bakunin:08796] *** Process received signal ***
[bakunin:08796] Signal: Segmentation fault (11)
[bakunin:08796] Signal code:  (-6)
[bakunin:08796] Failing at address: 0x3e80000225c
[bakunin:08796] [ 0] /lib/x86_64-linux-gnu/libpthread.so.0(+0x14140)[0x7fb47aaec140]
[bakunin:08796] [ 1] ./jacobi(+0x5700)[0x560dfc295700]
[bakunin:08796] [ 2] ./jacobi(+0x2d37)[0x560dfc292d37]
[bakunin:08796] [ 3] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xea)[0x7fb47ab26d0a]
[bakunin:08796] [ 4] ./jacobi(+0x23fa)[0x560dfc2923fa]
[bakunin:08796] *** End of error message ***

So... is the error handling code busted? Should the program not have ended after the first allocation failure?

Thanks for the report. Agree that the error handling can be improved. Should be addressed with 4c9806c4890530dbb4553d20670738b3ff11169a. The program now terminates on the first error. Closing this.


support generators?

Add support to handle "end" of generators? e.g.
var i = 10
function * success() {
  yield [i++]
  return i
}

function * fail() {
  yield [i++]
  throw new Error('boom')
  return i
}

asyncDone(success, function(err, res) {
  expect(res).to.equal(11);
});
asyncDone(success, function(err, res) {
  expect(err).to.be.instanceof(Error);
});

I'd be :+1: for this but is there a way to implement it that doesn't break back-compat with node 0.10?

Mm.. I think yes, I'll try.

Erm, wait, why not? I made it, actually. Check if given fn is generator, then pass it to co.wrap() and it transform the fn to regular function that return promise. Will only get the tests working on 0.10, lol

I'd prefer for this module to not need external dependencies for completion support.  e.g. the promise implementation just checks for a .then method and RxJS just checks for a .subscribe method.  We brought in end-of-stream to normalize the behavior between streams1/2/3, child processes and event emitters.  What does co.wrap do internally and how do you check if something is a generator?

Sidenote - I don't depend on TJ projects, so even if I was going to bring in a library to help out, it wouldn't be co

Sidenote - I don't depend on TJ projects

Interesting. That community, hmm. Jon Schlinkert - Sinde Sorhus, phated - TJ. Lol, nothing serious, just kidding.

I'd prefer for this module to not need external dependencies for completion support.

It wouldn't. It would be needed only for the tests.
btw, i cant realize why gnode not works (or i missing something), lol.

What does co.wrap do internally and how do you check if something is a generator?

It just would make it promise, so another code will still work and handle all the things.
its nothing more than, really
  var d = domain.create();
  d.once('error', onError);

  if (isGeneratorFn(fn)) {
    fn = co.wrap(fn)
  }

  var domainBoundFn = d.bind(fn);

https://github.com/tunnckoCore/is-es6-generator-function

so even if I was going to bring in a library to help out, it wouldn't be co

with what, then?

Sidenote - I don't depend on TJ projects

Okey, its normal and understandable to everyone, but.. co is co, it is good thing. And yea, I'm thinking for something new like co - support regular and generator functions as input and return promise or callback style... e.g.
regular function to promise
ko(function (next) {
  next(null, 123)
})
.then(function (res) {
  console.log(res)
  //=> 123
})

regular to callback

ko(function (next) {
  next(null, 123)
})(function (err, res) {
  console.log(res)
  //=> 123
})

generator to callback
var count = 10
ko(function * (next) {
  yield count++
  return count
})(function (err, res) {
  console.log(res)
  //=> 11
})

generator to promise
var count = 10
ko(function * (next) {
  yield count++
  return count
})
.then(function (res) {
  console.log(res)
  //=> 11
})

Hmm, I don't have much experience with these, but couldn't you just do (gulp example):
gulp.task('default', ko(function * () { yield count++ }));

??

My latest comment and examples in it are just in my mind for new project like co/vo and without using them.

The problem because that I dont do the PR now is cuz can't run the test on node 0.10 lol, which actually will be job of the user that will use async-done in node 0.10, as it is job of the user that use co in node 0.10, and at all user that trying to use generators in 0.10.

Travis currently runs on 0.10 only, this will be updated in the future, but should be enough to have things tested.

Travis currently runs on 0.10 only

yea, noticed that
Haha, wait.. wait. We should not do anything than that. People now that generators are not supported in 0.10, so if they want ot run code in 0.10 that have generators they should search what to the to run it. It's not our job.
It's easy just to not run the generator tests on 0.10 and all is done. It would be enough to add notice that async-done support generators, but not in node 0.10, which is logical.

@TooTallNate help to run tests that use generators on 0.10? I tried with just
require('gnode')

on top of the file containing that tests, but it continue to throw error for Unexpected token *

in 0.10, I think you can use --harmony flag when starting node (not sure though).
Also, https://github.com/cujojs/when/blob/master/docs/api.md#es6-generators could probably be used in place of co.

in 0.10, I think you can use

nope its for 0.11
i'll just try with mocha instead of lab, cuz im curious.

And why? When you can use 200 lines of code without any dependency, without any requirement of promise and have flexibility. That example of when/generator not looks good to me.

@tunnckoCore your fork currently uses co which has a promise dependency.  I'm not sure where you are going with this?  I was suggesting an alternative to co that I trust as a dependency.  Anyway, I'm out for the night, so send a PR when you have something.

ha.. it seems travis or nvm drop support for < 1.0 ? lol this is from last hours.
nvm ls-remote locally dont list any lower than < 1.0 lol.

https://travis-ci.org/tunnckoCore/is-hexcolor
https://travis-ci.org/regexps/hex-color-regex
https://travis-ci.org/tunnckoCore/char-codes
https://travis-ci.org/jstransformers/boilerplate
try rebuild, hm.

ahh omg, nodejs.org is donw for 4 hours http://www.isitdownrightnow.com/nodejs.org.html

@phated what you mean with

your fork currently uses co which has a promise dependency.

co dont have promise dependency and that is the problem, actually when I rethink it.

@phated okey i found workaround. But in that time found new bug, I'll open new PR in a bit.


how does one send a message with a snippet?

Description
I'd like to send a nice snippet of code in a message instead of markdown code block.
This is what I do now:

This is what I want:

Im not quite sure how to do it and will appreciate any guiding
What type of issue is this? (place an x in one of the [ ])

[ ] bug
[x] enhancement (feature request)
[x] question
[ ] documentation related
[ ] example code related
[ ] testing related
[ ] discussion

Requirements (place an x in each of the [ ])

[x] I've read and understood the Contributing guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.
[x] I've searched for any related issues and avoided creating a duplicate issue.

Hi @iamstarkov! 👋 Thanks for sharing the example! The second snippet is showing a file upload with a specific file type instead of block kit blocks or other formatting, which isn't yet possible, but it is good to know of some workaround for this right now.
Support for this is in progress (#333) and also tracked in #92, but let's keep this open since this seems like a useful case to have documented 📚 🙏

This is now possible with the @2.0.0 release! Details on updating are included with that link, but a step like so might be helpful for sending snippets:
- name: Share a file to that channel
  uses<EMAIL_ADDRESS>  with:
    method: files.uploadV2
    token: ${{ secrets.SLACK_BOT_TOKEN }}
    payload: |
      channel: ${{ secrets.SLACK_CHANNEL_ID }}
      file: "./path/to/api.json"
      filename: "api.json"

I'm going to close this issue for now, but please feel free to comment with follow ups or open another whenever! 🙏


'webdev serve' fails on web-angular boiler

Running Dart version: 2.0.0.

webdev could not run for this project.
The build_runner version – 0.10.1+1 – is not within the allowed constraint – >=0.8.10 <0.10.0.

Thanks for the issue. A few questions:

Which version of stagehand are you using?
Are you using the latest webdev version? Try re-running pub global activate webdev

I just tried with the stagehand from this repo, and webdev 0.2.4 and it runs fine.

Needed to update webdev; works fine now. Thanks!

I'm going to edit https://webdev.dartlang.org/tools/webdev to make clear how to update webdev.


Is possible "Touch Sounds" on button?

Hi,
I have a question. Is possible (and how) add or switch on "Touch Sounds" on button when onPress event  fired?
thanks

implemented in react native version 0.56.0


Stop registering schemas for default objects

Currently we register schemas for corev1 and appsv1 but this is incomplete and we need a few more schemas like batchv1. However we have not noticed it because the resources available in k8s by default don't need explicit schema registration.
Let's remove these instead of keeping the incomplete list.

/retest
failed to wait for the created cluster claim to become ready: timed out waiting for the condition


databroker: Check for allowed_values

At the time of writing, databroker does not check if a new field's value belongs to field's Metadata.allowed_values.
This means Set() gRPCs will always succeed as long as the data type matches even though the new value shouldn't be valid.

Do we set the field for allowed values by default?

also not existing in sdv proto or am I wrong so no back compatibility

Do we set the field for allowed values by default?

No, but there is support for parsing it from the VSS json file provided at startup.

also not existing in sdv proto or am I wrong so no back compatibility

I don't see why it wouldn't be backwards compatible... If there's no allowed present, all values (of the correct type) are allowed, right.

My understanding what needs to be done here is:

making sure, if "allowed_values" exists for any VSS signal described in the jSON, that databroker reads/stores that information (maybe already done/happening?)
When a datapoint is set, check if the datatype is correct (should already happen, although #496  ?) and then,  if there is some allowed_value restriction for that signal, only set it, if the value is valid (i.e. one of allowed values) and return an error otherwise (this is definitely not happening currently)

The DataBroker struct indeed correctly verifies the type of a datapoint to be set. It is just that the corresponding UpdateError is not converted to the gRPC proto definition's DataEntryError when the response to a request is being sent.

ActiveAutonomyLevel": {"allowed": ["SAE_0", "SAE_1", "SAE_2_DISENGAGING", "SAE_2", "SAE_3_DISENGAGING", "SAE_3", "SAE_4_DISENGAGING", "SAE_4", "SAE_5"], "comment": "Follows https://www.sae.org/news/2019/01/sae-updates-j3016-automated-driving-graphic taxonomy. For SAE levels 3 and 4 the system is required to alert the driver before it will disengage. Level 4 systems are required to reach a safe state even if a driver does not take over. Only level 5 systems are required to not rely on a driver at all. While level 2 systems require the driver to be monitoring the system at all times, many level 2 systems, often termed "level 2.5" systems, do warn the driver shortly before reaching their operational limits, therefore we also support the DISENGAGING state for SAE_2.", "datatype": "string", "description": "Indicates the currently active level of autonomy according to SAE J3016 taxonomy.", "type": "sensor", "uuid": "b101c6928fc55948b1cc485e568ecd8d"}
This allowed is meant by allowed_values? @SebastianSchildt

Done in #502


When batch size is small (1 or 2), the mnist example could not work at all.

Hello, everyone. I am trying the example provided by the code, but When I change the batch size to 1,or 2 the model dramatically does not work , has anybody seen this before?
I paste the final log here.
2016-06-01 20:17:57,235 Node[0] Epoch[9] Validation-accuracy=0.097400 2016-06-01 20:17:57,235 Node[0] Epoch[9] Validation-top_k_accuracy_5=0.483200 2016-06-01 20:17:57,235 Node[0] Epoch[9] Validation-top_k_accuracy_10=1.000000 2016-06-01 20:17:57,236 Node[0] Epoch[9] Validation-top_k_accuracy_20=1.000000

May need to change the lr?

yeah, now it works, I change the lr to 0.001. Thanks, @sxjscience


transparent background

It is better if the background of the picture can be transparent.

This is not something I can control.
Transparent background is possible by using the SVG renderer plantuml-svg or by adding
skinparam backgroundcolor transparent
to the start your diagrams code(or in the settings as a header).


Dropdowns Need To Be Clicked Twice: Patch3

When using version 1.0.0-rc.3.patch3, it seems the Select fields now require 2 clicks to activate the dropdown showing the options. The first one focuses on the field, the second click actually opens the dropdown. This can even be seen on the examples page: http://github.hubspot.com/react-select-plus/. All those examples (except for the Cities (Large Dataset) example) require 2 clicks for the dropdown to appear.
Please let me know if this is intended or a bug. Thanks!

i think that that is the default behavior, but you can override it by setting openOnFocus = {true}.  But i found that autofocus needs to be turned off b/c otherwise the dropdown opens when the component loads

@davidpaulmcintyre Ah, you are correct. Looks like it came from react-select being merged into react-select-plus. It was brought up by some people who found it annoying to double click in a project of ours. Thanks for pointing that out! I'll close this as it's not an issue.

For anyone else who encounters this problem, be aware that setting autoFocus = true results in the select component occasionally receiving focus and popping open when it shouldn't, such as after an alert box pops up and is then closed.

Looks like it came from react-select being merged

Confirmed, same behavior is present in the current master of React-Select. Not sure whether that was intended or not (it does strike me as strange), but I've been trying to diverge from the upstream project as little as possible.


Bug: if an entity's field is named as «name», and another filed of the same entity has the «Select» type, then the entity's grid mistakenly shows the values of the «Select» field's column instead of the «name» field's column

On the screenshot below the column «Name» mistakenly shows values of the column «Type»:

At the same time, the entity form shows the data correctly:

The «Name» field settings

The «Type» field settings

OroCRM queries the grid's data as follows:

Similar issue : https://github.com/orocrm/platform/issues/676

Hi @dmitry-fedyuk
Thank you for pointing the issue.
@sadortun, The issue is fixed by your patch too.

@mkudelya Awesome !

https://github.com/orocrm/platform/issues/676#issuecomment-311901230

Fixes for related issues already in master. Can I close that PR


Question: How to authenticate against the container's web service APIs?

To the best of my knowledge, the following statements are factually true statements:

A container doesn't have its own Active Directory and cannot be joined into an AD. (although this script which creates Azure Active Directory apps appears to contradict this slightly.)
Authentication against NAV API endpoints must be done by Azure Active Directory
It is possible to authenticate against an API endpoint with windows credentials through something simlar to NTLM which operates bellow the HTTP level but this won't be possible in a production environment.

Which leads to the following question:
What is the expected way to authenticate against web service APIs (such as OData) that are exposed by a container?
Would the following work?

Created a Windows VM where the windows users were populated by Active Directory
Installed Docker and ran the corresponding commands to set up a Business Central Container where the ports on the container are bound to the ports on the OS.
Used the powershell commands to create NAV users which are linked by Windows Authentication to users on the Windows OS which are then transitively linked to AD users.
Register OAuth Apps in AD.
Have users go through the OAuth login flow, where by providing login credentials to AAD they grant access to the transitively linked Business Central user.

I can't comment on your original question, but the statement about AD definitely is wrong. You definitely can connect a container to AD as described here https://github.com/MicrosoftDocs/Virtualization-Documentation/tree/live/windows-server-container-tools/ServiceAccounts


This module can't be used within Docker-based Node-RED install on Raspian 10 (Buster)

Which node-red-contrib-modbus version are you using?
5.21 (also tried 5.25)
What happened?
Node-RED crashes.
Server
Modbus-Flex-Server Node (Please attach Script to the next section)
How can this be reproduced?
Dockerfile based on official Node-RED images; mine uses nodered/node-red:2.2.2-14. Built and worked fine late last year. Build now has many errors and resulting image won't run, but crashes when flows start.
What did you expect to happen?
Build and run normally as it used to.
Other Information
It appears this is because of upstream issues with node-serialport.
I think this maybe could be avoided if this project locked in on what seems to be the last working version: 9.0.7.
In any case, it appears that this module cannot work with Node-RED official Docker images as-is.

This will work with official Node-RED Docker images if the npm command includes --unsafe-perm --build-from-source.
So in my case, in my Dockerfile I changed...
RUN cd /data && npm install --only=production
...to...
RUN cd /data && npm install --only=production --unsafe-perm --build-from-source
Also, this works for both versions 5.21 and 5.25.


a call to connect hangs and peerd logs "invalid nodeid"

Checklist

[x] Make sure you are using the latest code (git checkout master && git pull origin)
[x] Compile only with rust nightly: rustup default nightly && rustup update nightly && cargo test --all --all-features -v
[x] Try to do cargo update
[x] Try to remove target directory

Classify the bug
Put x in the boxes below:

[ ] Build issue
[ ] Test failing
[ ] Runtime panic
[ ] Incorrect results
[x] Unexpected/undocumented behaviour /

Describe the problem
Calls to connect are not successful: they hang, while peerd logs:
peerd: lightning peer network connection microservice
error: Invalid value for '--connect <connect>': Invalid public key data representing node id
For more information try --help

I am sure about the correctness of the nodeid I used, the remote node is connected to the same network.
To Reproduce
Steps to reproduce the behavior:

Operating system

debian buster

Rust compiler version

1.47.0

Did you

installed lnp-node via cargo install lnp_node --vers 0.1.0-beta.1 --all-features
run lnp-cli listen on the first node
run lnp-cli connect <nodeid>@<ip-addr> on the second node

Expected behavior
When user performs a call to connect, it does not hang and the two nodes connect as peers

The possible problem is that you are running both LNP node peers on the same CTL interface, so CLI sends it message to the one you are starting first: listening peer daemon. And it tries to connect to itself and fails. The solution is to provide one of two lnpd with a different data dir -d /tmp for instance. Can you pls show how you set up two nodes?

The setup is the same I proposed in the written version of the demo alpha.4. And I experience the issue both in local and in docker setup.
In the local setup the two nodes have different data dirs, in docker they are inside different containers.
Yesterday i built binaries in debug mode and I saw a TRACE-level log that might help:
[2020-11-18T17:58:37Z TRACE lnp::lnpd::runtime] Executing `"/home/step/lnpbp/lnp-node/target/debug/peerd" "-vvvv" "-d" "data1" "--connect" "{_0}"`

while on the cli side I see:
Executing ConnectPeer(Remote(RemoteNodeAddr { node_id: PublicKey(af1d6e63da37c8686656f6e0b41ffacef19f693111110da21fbc9e871fc6408bfbadb528efe7b6604c46d00d9588c6b31f957fcaa7abaa4213a9725a572ed514), remote_addr: Ftcp(InetSocketAddr { address: IPv4(<IP_ADDRESS>), port: 9735 }) }))

Both logs print the variable with "{:?}". Maybe some formatting issue passing the NodeLocator through?

I tried out something more to collect some more debugging info:
A is lnp-node:0.1.0-beta.1
B is lnp-node:0.1.0-alpha.4

A is set to listen mode
B connects to A
connection is successful
A has "{_0}" in the list of peers shown by lnp-cli info, like:

---
node_id: 033888c79b3336ae0d562ac71457aca86db032da97110822be9b685d944343bb1b
listens:
  - Ftcp:
      address:
        IPv4: <IP_ADDRESS>
      port: 9735
uptime: 879
since:<PHONE_NUMBER>
peers:
  - "{_0}"
channels: []

It looks even more like a formatting issue

O, strange... Can you pls grep for {_0}, and then check git blame comparing to the version that was working?

A git grep "{_0}" gives no matches.
I have no clue why, but the issue seems to be solved now on git tag v0.1.0-beta.1 (160b4b1), while I still get the same problem in the version installed from crates.io. Since I now have a working version to play with, I can also close the issue and we'll see if this problem shows up again.

Very strange. The version published to the crates is the same as the tag...

I tried a number different settings while keeping my testcase as uniform as possible and these are the results I got:

cargo build: git checkout v0.1.0-beta.1 && cargo build --release --all-features -> lnp-cli connect works
cargo install from source: git checkout v0.1.0-beta.1 && cargo install --path . --locked --all-features ->  lnp-cli connect works
cargo install via git: cargo install --git https://github.com/LNP-BP/lnp-node#0.1.0-beta.1 --locked --all-features ->  lnp-cli connect works
cargo install via crates: cargo install lnp_node --locked --version 0.1.0-beta.1 --all-features ->  lnp-cli connect returns error: Invalid value for '<peer>': Invalid public key data representing node id

So as a workaround it is also possible to use cargo install --git.

It could be that cargo is not building all binaries or you are using some previous build of one of them. I had similar issues in such cases

Nope, it happens in clean docker containers as well, no way I could be using old binaries there.

Since the opening of the issue we nearly have a complete re-write of the node and on the new version connect is working; so closing this for now


CustomShaderMaterial does not support clone()

Problem
Trying to clone() CustomShaderMaterial does not work currently and gives this error:
TypeError: Cannot destructure property 'baseMaterial' of 'undefined' as it is undefined.

Cause
The reason is that the clone method is inherited from THREE.Material and looks like this
	clone() {
		return new this.constructor().copy( this );
	}

But the constructor looks like this (it destructures its first argument, which is not provided by clone).
  constructor({
    baseMaterial,
    fragmentShader,
    vertexShader,
    uniforms,
    patchMap,
    cacheKey,
    ...opts
  }) {
    ...
  }

Workaround
/**
 * This class is a workaround to make CustomShaderMaterial support clone.
 */
class CustomShaderMaterial2 extends CustomShaderMaterial {
  parameters: iCSMParams;
  constructor(parameters: iCSMParams) {
    super(parameters);
    this.parameters = parameters;
  }
  clone() {
    return new this.constructor(this.parameters).copy(this);
  }
}

Thanks for the report, will fix!

This is an issue again in version 6.1.1 when using vanilla

You are right. Will fix

@Benjythebee Should be fixed in 6.2.0 please confirm.

Looks fixed! Thanks @FarazzShaikh


Clean error msg when lockfile contains duplicate packages.

Resolves #5267.
(Implemented at RustFest Paris impl days.)

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @matklad (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see the contribution instructions for more information.

@bors r+
Thanks!

:pushpin: Commit cedc0ca has been approved by matklad

:hourglass: Testing commit cedc0ca97e684eb1c19fdb8f1e17da24aba63f9e with merge 92b5106d9dfb7cf57ed12a58ec6fc8bf82cc9aa9...

:sunny: Test successful - status-appveyor, status-travis
Approved by: matklad
Pushing 92b5106d9dfb7cf57ed12a58ec6fc8bf82cc9aa9 to master...


Joblib file missing

when running the chapter 2 setup the error that I ran into was that there was no job lib file. Here is the error message that I got when I tried running it: `
ModuleNotFoundError                       Traceback (most recent call last)
Cell In[1], line 2
1 import time
----> 2 import joblib
3 import pickle
4 import numpy as np
ModuleNotFoundError: No module named 'joblib'`

fixed the environment file but the binder is taking a long time to load.


CPO: Add more verbose to e2e conformance test

e2e conformance is failing during dumping of cluster logs after the tests passed. To be able to debug adding more verbose and also giving explicitly write permission to dir to make sure permissions is not an issue.

@wangxiyuan could you please review this? Thanks


Reference dialog doesn't allow selecting full framework assemblies when Cross-targeting

Create an asp.net core app on Full Framework

R-click, Add Reference. Notice the choices available:

Now create an asp.net core app. Edit project file and add a 2nd framework like net452.

R-click, Add Reference. Notice the options to add assemblies (and COM) are missing:

You need to edit the project file and add framework references manually.

Yep, see: https://github.com/dotnet/roslyn-project-system/issues/400#issuecomment-265622372 for how xproj did this.


use correct returntype on CloudFront::purge

FOSHttpCache 3 adds return types.
if we would use the self return type on the interface, this would only declare that it returns an instance of the interface. static means its the exact class.
php explodes when it sees an extending class use self, so we should use static here. (although this being a final class, it happens to have the exact same semantics i think)
would be great if we can tag this as 1.1.1

thank you!


Throw MissingMemberException instead of Exception

There's a dedicated exception for a missing member, so use it instead of the generic Exception.

thanks. deployed


ytarchive complains about youtube not storing livestream past 5 days

Hi i seem to be getting this message when running ytarchive:
2024/07/25 11:00:57 WARNING: video: YT only retains the livestream 5 days past for seeking, starting from sequence 7988 (latest is 94388)
if i grab the url that has the seq number like this:
https://rr2---sn-uxanug5-5qa6.googlevideo.com/videoplayback/expire/1721892654/ei/zqqhZqHwFtfn4t4Pg4jYoAw/ip/REDACTED/id/B_dkwPx9J9Y.2/itag/137/source/yt_live_broadcast/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/ctier/SPL/vprv/1/playlist_type/LIVE/ratebypass/yes/mime/video%2Fmp4/live/1/gir/yes/noclen/1/dur/5.000/rqh/1/keepalive/yes/sparams/expire,ei,ip,id,itag,source,requiressl,xpc,ctier,vprv,playlist_type,ratebypass,mime,live,gir,noclen,dur,rqh/sig/AJfQdSswRgIhAPqablyVdSMvdQpzuMqsWMsTNdNxTUgBXLlUkBWA1_NTAiEAj7yOHxXC-HTOwHTBuapkEpGHtqHjoXh3GPCatAfEhNg%3D/initcwndbps/1441250/mh/a7/mm/44/mn/sn-uxanug5-5qa6/ms/lva/mt/1721870439/mv/m/mvi/2/pl/18/lsparams/initcwndbps,mh,mm,mn,ms,mv,mvi,pl/lsig/AGtxev0wRQIgcQnxnJDEM0J8hCYqAUejmwmLGEXNsgfZEx9JpQKZ0awCIQCYfW1OYqsLWvMjaxzXj--y-cQP_cw9RG_E0HS2RJRFHg%3D%3D/sq/7988
i can manually send a request with 1 and it seems to work that it does download
any reason why ytarchive just complains and goes to whatever the manifest file tells it to start from instead of trying?
note yt-dlp does the same behaviour

Because for a time that was the absolute max Youtube allowed, across hundreds of tested streams. Before that it was 12 hours even. I will need to verify other long streams have similar changes made.
Also thanks for the link, I was able to verify something in regards to multi-manifest streams so I know what to do in regards to fixing them when archiving.

After testing on another long-running stream, it would appear the new limit is 622300 seconds. I am not sure what the significance of this time is since it's not an even day or anything, but it seems to work.

fair enough


A couple of minor improvements to AsyncContextFrame::StorageKey

Reset the tracing storage key in IoContext when the context is destroyed.
Do not store a key if the key has already been reset
Compare pointers and not hash in operator=

Updated to remove the AtomicRefcounted change (yay!). Also rebased. Please take another look!

Weird... looks like the ubuntu and macos CI builds timed out, and the windows build failed early on with a 404 while trying to pull something.  Will try rerunning.


Limit allowed digits to first base digits.

Fixes #24.

Looks fine, could you fix the conflicts please?


Building with Swift 1.2

There are currently several issues with the build after the latest Xcode update (6D520o). We are looking at these locally and probably have a patch during today.
How are you handling backwards incompatible changes at the moment? After the updates the code will only compile with Swift 1.2 as there is no proper support for conditional compiling in the language.

I just pushed 181cc69 and tagged it with 3.2.0. Thank @cakper for submitting the fixes. :+1:
I also created tags for past versions in case someone wants to use an older version of Swift.


Streamline Modifying Department List

Note: While all requests are welcome, finding available cycles to custom-code a feature we won't use in our production environment is always challenging.

Is your feature request related to a problem? Please describe.
Modifying the list of departments presented to the user can be a bit frustrating in the current approach.
Describe the solution you'd like
If we move the list of departments from the welcomeJSON section up to the top, we can make it a bit easier to update without having to dig through the rest of the script.  For example
departmentList="Asset Management
Australia Area Office
Marketing
Board of Directors"
departmentList=$( echo "${departmentList}" | tr ',' '\n' | sort -f | sed 's/^/\"/' | sed 's/$/\",/' | sed '$ s/.$//' )

will automatically alphabetize the department list and format it for the json field to insert later on.  Then, we would just replace the Department section of the welcomeJSON with
        {   "title" : "Department",
            "default" : "Please select your department",
            "values" : [
                "Please select your department",
                '${departmentList}'
           ]
         }

That should make it a bit easier to modify the department list down the line, either for new departments or for other people using this script.
Describe alternatives you've considered
This process can be done manually, but if you have a large number of departments to add it can be cumbersome.

Thanks for the FR, @rougegoat!
Do you have cycles to submit a Pull Request against the development branch, or would you prefer I implement your suggestions from above?

I do not have anything up in GitHub right now.  My example code works, but I'm not sure if there's a more streamlined version than that.  If it looks good, feel free to use it.

That works perfectly, and looks like it works with both new line lists and comma separated lists.
On an unrelated note, I noticed that Rosetta's local test reports back "Running" instead of "Installed".  Guessing it's just a copy/paste mixup on line 1613.


Add unit testing to all methods

Add testing to all methods

#27 covering tcpconnect package

Proposal:
@dcaba is taking care of end to end tests (close to the dockerization we have been discussing), plus mtcpclient?
@chadell takes care of tcpclient, cmdutil and review of tcpserver?

yup 👍

btw, I've detected random errors because of concurrent map writes when executing our current "functional test":
=== RUN   TestTcpConnect
<IP_ADDRESS>:37748
<IP_ADDRESS>:37746
fatal error: concurrent map writes

TO bear in mind when refactoring tests...

tcpclient done in #27

We are promoting end to end tests implementation in parallel, and we will add testing coverage incrementally, as part of the next PRs we are going to raise


Test merge actions

Codecov Report

Merging #5 (058a322) into master (9351e0e) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master       #5   +/-   ##
=======================================
  Coverage   88.88%   88.88%
=======================================
  Files           2        2
  Lines          36       36
=======================================
  Hits           32       32
  Misses          2        2
  Partials        2        2

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 9351e0e...058a322. Read the comment docs.


Error while keras.fit() give two input as a list

System information

Have I written custom code (as opposed to using example directory):
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):  CentOS7.3
TensorFlow backend (yes / no):  yes
TensorFlow version:  v1.14.0-rc1-22-gaf24dc91b5 1.14.0
Keras version:  2.3.1
Python version:  3.6
CUDA/cuDNN version:
GPU model and memory:

You can obtain the TensorFlow version with:
python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)"
You can obtain the Keras version with:
python -c 'import keras as k; print(k.version)'
Describe the current behavior
I want concatenate two model to a fully connected layer，and then train it，but keras.fit reporte an assert error like this:
==> Training model...
Traceback (most recent call last):
File "train-2dcnn-1dcnn.py", line 295, in
main()
File "train-2dcnn-1dcnn.py", line 219, in main
model.fit([x_train_1dcnn, x_train_2dcnn], y_train, batch_size=args.batch_size, epochs=args.epochs, validation_split=0.1, callbacks=callback_lists)
File "/usr/local/anaconda3/envs/tensorflow-1.0/lib/python3.6/site-packages/keras/engine/training.py", line 1154, in fit
batch_size=batch_size)
File "/usr/local/anaconda3/envs/tensorflow-1.0/lib/python3.6/site-packages/keras/engine/training.py", line 504, in _standardize_user_data
self._set_inputs(x)
File "/usr/local/anaconda3/envs/tensorflow-1.0/lib/python3.6/site-packages/keras/engine/training.py", line 414, in _set_inputs
assert len(inputs) == 1
AssertionError
Describe the expected behavior
No error occur
Code to reproduce the issue
Provide a reproducible test case that is the bare minimum necessary to generate the problem.
import keras
from keras import layers
from keras.models import Model
from keras.utils import to_categorical
from keras.models import load_model
from keras.callbacks import Callback, ModelCheckpoint, TensorBoard, LearningRateScheduler, EarlyStopping
import keras.backend as K
print('==> Building model...')
model1 = keras.Sequential()
model1.add(layers.Conv1D(32, 3, activation='relu', input_shape=(1, 39), padding='same', name='data1'))
model1.add(layers.MaxPooling1D(2, 2, padding='same'))
model1.add(layers.Conv1D(64, 3, activation='relu', padding='same'))
model1.add(layers.MaxPooling1D(2, 2, padding='same'))
model1.add(layers.Flatten())
model1.build((None, 1, 39))

model2 = keras.Sequential()
model2.add(layers.Conv2D(32, 5, activation='relu', input_shape=(28, 28, 3), padding='same', name="data2"))
model2.add(layers.MaxPooling2D((2, 2), (2, 2), padding='same'))
model2.add(layers.Conv2D(64, 5, activation='relu', padding='same'))
model2.add(layers.MaxPooling2D(2, 2, padding='same'))
model2.add(layers.Conv2D(64, 7, activation='relu', padding='same'))
model2.add(layers.Flatten())
model2.build((None, 28, 28, 3))

model = keras.Sequential()
model.add(layers.Concatenate([model1.output, model2.output]))
model.add(layers.Dense(1024, activation='relu'))
model.add(layers.Dense(128, activation='relu'))
model.add(layers.Dense(len(class_names), activation='softmax', name="output"))
model.compile(optimizer=keras.optimizers.RMSprop(),
         loss='sparse_categorical_crossentropy',
         metrics=['accuracy'])
print('==> Training model...')
filepath = "little_class_2dcnn_1dcnn_tf2.h5"
checkpoint = ModelCheckpoint(
    filepath, monitor='val_accuracy', verbose=0, save_best_only=True, mode='max')
lr_scheduler = LearningRateScheduler(schedule)
callback_lists = [lr_scheduler, checkpoint]
model.fit([x_train_1dcnn, x_train_2dcnn], y_train, batch_size=args.batch_size, epochs=args.epochs, validation_split=0.1, callbacks=callback_lists)

The dataset shape is as follows：
x_train_1dcnn.shape:  (322819, 1, 39)
x_train_2dcnn.shape:  (322819, 28, 28, 3)
y_train.shape:  (322819, 1)
Other info / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.

Duplicate of #https://github.com/tensorflow/tensorflow/issues/39013
Please check the response here. Thanks!


Add voronoi segmentation

Codecov Report

Merging #348 into master will increase coverage by 0.02%.
The diff coverage is 95.73%.

@@            Coverage Diff             @@
##           master     #348      +/-   ##
==========================================
+ Coverage    94.6%   94.62%   +0.02%
==========================================
  Files          32       32
  Lines        9725     9946     +221
==========================================
+ Hits         9200     9411     +211
- Misses        525      535      +10


Consider using correct plural form for "child"

The purpose of this PR is to improve the readability and mantainability of the code.
If "childes" was an intentional misspelling or refers to something else, then please ignore and close it.

This is intentional, all methods with child/childes are supposed to be internal/protected. I tried to preserve common method names like size(), getElements() ... for end use. Since this lib uses a lot of hierarchical structures and such names are scarce.
for example on this structure TableBlock > PackageBlock > TypeBlock if you call TableBlock.getChildes() you will get different headers, string pools ... instead of an array of PackageBlock


SSD1306_SPI TypeError: function expected at most 5 arguments, got 6

I'm following this spi oled guide to program my 128x32 SPI oled from a feather m0 express.
I am running circuit python 3.1.2, with the 3.x bundle
# boot_out.txt
Adafruit CircuitPython 3.1.2 on 2019-01-07; Adafruit Feather M0 Express with samd21g18

I'm running the sample code, with the pins changed to mach how I've connected the wires.
# code.py
import adafruit_ssd1306
import board
import busio
import digitalio

spi = busio.SPI(board.SCK, MOSI=board.MOSI)
dc_pin = digitalio.DigitalInOut(board.A0)    # any pin!
reset_pin = digitalio.DigitalInOut(board.A2) # any pin!
cs_pin = digitalio.DigitalInOut(board.A1)    # any pin!

oled = adafruit_ssd1306.SSD1306_SPI(128, 32, spi, dc_pin, reset_pin, cs_pin)

I cannot initialize SSD1306_SPI, it fails with TypeError: function expected at most 5 arguments, got 6
soft reboot

Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.
code.py output:
Traceback (most recent call last):
  File "code.py", line 11, in <module>
TypeError: function expected at most 5 arguments, got 6

Before reporting this bug I updated circuitpython to 3.1.2 by copying the .uf2 into the bootloader, and I cleared the filesystem using system.erase_filesystem(), then I reinstalled the circuit python bundle.

odd - it should work, not sure what it is :/ can you use i2c?

Will you update the guides to say that spi doesn't work?

@everett1992 just curious -- when did you last update the "bundle"? If it has been awhile, try updating to the current 3.x release.

@jerryneedell Today, extracted from adafruit-circuitpython-bundle-3.x-mpy-20190216.zip, downloaded from https://github.com/adafruit/Adafruit_CircuitPython_Bundle/releases/tag/20190216,
linked from https://learn.adafruit.com/adafruit-feather-m0-express-designed-for-circuit-python-circuitpython/circuitpython-libraries

FYI - I just tried the code above on a Feather_m4_express with CP 4.0 beta  and it works normally
Press any key to enter the REPL. Use CTRL-D to reload.
Adafruit CircuitPython 4.0.0-beta.1-7-g765d877df on 2019-01-28; Adafruit Feather M4 Express with samd51j19
>>> import adafruit_ssd1306
>>> import board
>>> import busio
>>> import digitalio
>>> spi = busio.SPI(board.SCK, MOSI=board.MOSI)
>>> dc_pin = digitalio.DigitalInOut(board.A0)    # any pin!
>>> reset_pin = digitalio.DigitalInOut(board.A2) # any pin!
>>> cs_pin = digitalio.DigitalInOut(board.A1)    # any pin!
>>> oled = adafruit_ssd1306.SSD1306_SPI(128, 32, spi, dc_pin, reset_pin, cs_pin)
>>> oled.invert(True)
>>> oled.invert(False)
>>> oled.invert(False)

I realize that may not help you, but the 3.x and 4.x libraries "should" be the same.
Not sure what is wrong.

one suggestion is to make sure you do not have an "old" version of adafruit_ssd1306.py or .mpy on your feather_m0. I've gotten caught by that.

I am having the same issue. It seems to be something odd happening where the SPI object is trying to use it's base class's constructors. I am running CP 3.1.2 with the 3.x bundle as well.

I am definitely not using an old version of adafruit_ssd1306.py. I am using the latest .py version from GitHub directly (not using the .mpy) and if I remove it I get a module not found error.

@jerryneedell I don't have an old version of adafruit_ssd1306.py, I cleared the filesystem with storage.erase_filesystem() before filing the ticket.
I've installed cp 4.x and it's 4.x libraries and now the code is working.
Is is possible that the feb 16th 2019 release of cp 3.x is bad?
https://github.com/adafruit/Adafruit_CircuitPython_Bundle/releases/tag/20190216

Like everett1992 I am using a Feather M0 express board so maybe it's something specific to this board.

hmm-- glad it is working under 4.x  -- clearly some issue with either 3.1.2 and/or the 3.x library.  That's a great clue.

everett1992, what 4.0.0 beta version are you using? With Beta 2 the framebuf has been removed so it cannot find that module.

@kyp44 4.0.0-beta.2
adafruit-circuitpython-feather_m0_express-en_US-4.0.0-beta.1.uf2 from the circuitpython/releases page

The display is working but the image is poor. Calling oled.fill(1) oled.show() only draws every other line, with a few dead pixels on the end. But this feels like a hardware issue, not a software issue.

ever, sounds like its a mixup with chipsets or resolutions!

@everett1992 I'm seeing the exact same thing on my screen. I'm using the 128x32 OLED. You?

[@everett1992 FYI I figured out the screen issue (with my screen anyway). Mine uses the SSD1305 chip, which supports screen resolutions of up to 132x64. Evidently the way my screen is setup of that the chip is expecting a buffer of this size even though the actual screen is smaller (128 x 32).
It worked wonderfully when I set the resolution to 132 x 64 in the SSD1306_SPI construtor. Then pixel 0,0 on the actual screen (upper left is) actually 4,32 in the frame buffer. So setting turning that pixel on will set the upper-left-most pixel on the actual screen. The lower-right pixel is then 131,63 as you'd expect.

@kyp44 Thanks that's working great now.
@ladyada Should the docs mention the framebuffer size?
I'm fine closing this issue, but someone should look into the issues with this library in circuit python 3.1.2.

Closing because CPy 3.1.2 is not supported anymore. If this issues occurs in more recent versions, please feel free to reopen.


Library namespace

As far as I can tell, the library does not use any namespaces for its classes. Since some of the classes have very generic names (e.g. "Device"), this can easily lead to collisions when included in other projects. I've seen the "dai" namespace being used in some places, but please consider using this everywhere.

Thanks @oysstu .  Makes sense and will discuss with team.  I -think- the conclusion was to standardize on dai for both Python and C++, and we are moving to that completely.  But will check.

@oysstu whole (gen2) library uses dai namespace for all public classes / symbols.
If you've found a case where this isn't true please let me know.

I see, I wasn't aware of the pipeline builder gen2. This may be a topic for another issue, or a discussion board, but how stable is the gen2 C++ interface currently? Looks like it was forked last summer, so it may make more sense to build new applications off gen2 instead of the main branch right now.

Great question @oysstu .  We are about to do our first formal release of Gen2 hopefully this month.  So I agree and would recommend developing C++ off of Gen2.  Specifically, for now, the gen2_develop branch:
https://docs.luxonis.com/projects/api/en/latest/
We had meant to transition entirely to Gen2 in December but are a bit behind.

And here is the repo that shows an example of how to use Gen2 C++ API.  A lot carries over directly from the Python API (as the Python API is just a wrapper on C++): https://github.com/luxonis/depthai-core-example
This whole repo is Gen2 based.

That's great, I'll close this issue seeing as all my questions are answered. Thanks!

Thanks!


Purge Logs?

My log files are filling up the SD / after about a year. Does anybody know of a plugin or any other way to automatically purge the log files from time to time? I can do it with SSH, but then I will always forget until it's too late.
PS I love this web interface. Great work.

If you use hb-service as the process supervisor the logs are purged automatically - every 4 hours of above 2MB in size.
https://github.com/oznu/homebridge-config-ui-x/wiki/Homebridge-Service-Command
When using hb-service, there is also a button in the UI to truncate / purge the logs on demand.
Otherwise checkout the logrotate utility.

Thanks a lot. How do I know if I'm using hb-service? I installed the Pi some 2 years ago I think, and really can't remember what I chose back then. Pardon my ignorance :)

You aren't - your logs would be being truncated and it only came out in Jan 2020.
If you want too, make sure you remove your existing service first, and take a backup in case you need to restore - https://github.com/homebridge/homebridge/wiki/Backup-and-Restore

That's some great and fast help. Thanks!


Open... and Open Folder... appearing on Mac getting started

cc @digitarald I think I've successfully solved the boolean satisfiability problem here but LMK if you think something's amiss.


is it easy to show an example of using websocket with http2 and http3 together?

@fakeshadow it seems quite difficult to fuse / interface websocket and http2/3 together.
can you help provide an example whereby i can combine them for both?
i cant wrap my head around using xitca web and xitca server together. i'm new to rust.
p.s. : i'm learning rust etc and do mention how i can help contribute to this proj. thx

There is no websocket over http/3 in existing other than some potential RFC draft. If you need an alternative you can look into WebTransport
You can reference #938 for how to utilize it.
in general xitca-web is just a composer crate between xitca-xxx crates. Below is roughly what it does to bridge a xitca_web::App with xitca-http and xitca-server:
use xitca_http::HttpServiceBuilder;
use xitca_web::{handler::handler_service, route::get, App, service::ServiceExt};

fn main() -> std::io::Result<()> {
    let service = App::new()
        .at("/", get(handler_service(|| async { "" })))
        .finish() // explicit finish app composing.
        .enclosed(HttpServiceBuilder::new()); // apply http layer middleware to app.

   // use xitca-server to run the composed app service with given http middleware.
    xitca_server::Builder::new()
        .bind("xitca-web", "localhost:8080", service)?
        .build()
        .wait()
}

@ouvaa for the question of Router with xitca-http. You can just use xitca_web::App and it's API to compose.
That said there is also Router type for xitca-http which offers lower level API. For example:
[dependencies]
xitca-http = { version = "0.4", features = ["router"] }
xitca-server ="0.2"
xitca-service = "0.1"

use std::convert::Infallible;

use xitca_http::{
    body::RequestBody,
    http::{Request, RequestExt, Response},
    util::service::{route::get, Router},
    HttpServiceBuilder, ResponseBody,
};
use xitca_service::{fn_service, ServiceExt};

fn main() -> std::io::Result<()> {
    let service = Router::new()
        .insert("/", get(fn_service(handler)))
        .enclosed(HttpServiceBuilder::new());

    xitca_server::Builder::new()
        .bind("xitca-http", "localhost:8080", service)?
        .build()
        .wait()
}

async fn handler(
    _: Request<RequestExt<RequestBody>>,
) -> Result<Response<ResponseBody>, Infallible> {
    Ok(Response::new(ResponseBody::empty()))
}

@fakeshadow
can you show the example with router for the below? it seems very redundant to have two different handlers for h2 and h3. how to just have 1 router + display logic for both?
async fn handler_h2(
    _: Request<RequestExt<h2::RequestBody>>,
) -> Result<Response<ResponseBody>, Box<dyn std::error::Error>> {
    let res = Response::builder()
        .status(200)
        // possible redirect browser to http/3 service.
        .header("Alt-Svc", "h3=\":443\"; ma=86400")
        .header(CONTENT_TYPE, TEXT_UTF8)
        .body("Hello World!".into())?;
    Ok(res)
}

async fn handler_h3(
    _: Request<RequestExt<h3::RequestBody>>,
) -> Result<Response<ResponseBody>, Box<dyn std::error::Error>> {
    Response::builder()
        .status(200)
        .version(Version::HTTP_3)
        .header(CONTENT_TYPE, TEXT_UTF8)
        .body("Hello World!".into())
        .map_err(Into::into)
}

@fakeshadow i'm new to websocket
i thought it's supposed to do ws:// ... anyway, how to have it do it in http2 then? can you show the example code in full? if you show it here, it'll be easier for chatgpt to help out. currently chatgpt is hallucinating a lot with xitca implementation.

I recall already told you how. You can just take this example and add http2 feature to it.
https://github.com/HFQR/xitca-web/blob/597f0a4f04ab8a3ee6c86c0207ef4f9faa6b7490/examples/websocket/Cargo.toml#L8
It's just one line change to xitca-web = { version = "0.4", features = ["http2", "websocket"] }

@fakeshadow can you show the example with router for the below? it seems very redundant to have two different handlers for h2 and h3. how to just have 1 router + display logic for both?
async fn handler_h2(
    _: Request<RequestExt<h2::RequestBody>>,
) -> Result<Response<ResponseBody>, Box<dyn std::error::Error>> {
    let res = Response::builder()
        .status(200)
        // possible redirect browser to http/3 service.
        .header("Alt-Svc", "h3=\":443\"; ma=86400")
        .header(CONTENT_TYPE, TEXT_UTF8)
        .body("Hello World!".into())?;
    Ok(res)
}

async fn handler_h3(
    _: Request<RequestExt<h3::RequestBody>>,
) -> Result<Response<ResponseBody>, Box<dyn std::error::Error>> {
    Response::builder()
        .status(200)
        .version(Version::HTTP_3)
        .header(CONTENT_TYPE, TEXT_UTF8)
        .body("Hello World!".into())
        .map_err(Into::into)
}

It seems you are missing the point of the example you are referencing. The multi service example is to show case how you can bind multiple services on multiple ports of your host with different service types. It's not necessary to handle multiple http protocols. The example showed in https://github.com/HFQR/xitca-web/issues/979#issuecomment-1987966382 can be used to handle http/1,http/2 and http/3 automatically with correct configuration.

@fakeshadow can you just show how to handle just http/2 and http/3 automatically with the correct configuration?
fyi, i'm doing this for http1.1:
pls just provide the "practical" normal example that people will use daily. it's quite confusing with the http2/http3 example
async fn handler_h1_redirect(req: Request<RequestExth1::RequestBody>) -> Result<Response, Infallible> {
// Extract the host from the incoming request.
// This assumes that the "Host" header is present in the request.
let host = req.headers().get("Host").and_then(|v| v.to_str().ok()).unwrap_or("");
// Construct the target HTTPS URL by appending the host to the "https://" scheme.
let https_url = format!("https://{}{}", host, req.uri());

Ok(Response::builder()
    .status(307) // or 301 for permanent redirection
    .header("Location", https_url) // Dynamically constructed target HTTPS URL
    .body("Redirecting to HTTPS".into())
    .unwrap())

}

The point of xitca-web is about composability. There is no magic solution for everyone and what you believe being "practical" is just your opinion. Sorry I can't help you if you just want some quick "solution" because I don't  know exactly what you want.

I'll go ahead close this issue as https://github.com/HFQR/xitca-web/issues/979#issuecomment-1987966382 can seen as the answer. For further read please reference the following:
If you need specific feature flag
https://github.com/HFQR/xitca-web/blob/597f0a4f04ab8a3ee6c86c0207ef4f9faa6b7490/http/Cargo.toml#L12
If you need tls
https://github.com/HFQR/xitca-web/blob/597f0a4f04ab8a3ee6c86c0207ef4f9faa6b7490/http/src/builder.rs#L170
If you want to bind to both TCP and UDP
https://github.com/HFQR/xitca-web/blob/597f0a4f04ab8a3ee6c86c0207ef4f9faa6b7490/server/src/builder.rs#L238


Banned my PTC Accounts. New IP, still banned

As the title says, my PTC accounts were banned again.
I created a new account, logged in the game via an emulator and accepted the TOS (as I always do), but still says waiting.
I then switch my IP (thinking I was IP banned) and still says waiting.
Anyone have any ideas?

Maybe i got the same issue. like 2 hours ago my map stopped working, It keeps saying "waiting" and i'm getting this in console.
main.html:158 server up: null
main.html:146 Error getting location, trying second provider PositionError
main.html:148 Found location [60.6745,17.1417] by ipinfo.io
main.html:168 2016-08-18 00:59:26,897 [      MainThread][     runserver][    INFO] Parsed location is: 60.6514/17.1376/0.0000 (lat/lng/alt)
main.html:168 2016-08-18 00:59:26,898 [      MainThread][        models][    INFO] Connecting to local SQLLite database
main.html:168 2016-08-18 00:59:26,900 [   search_thread][        search][    INFO] Search overseer starting
main.html:168 2016-08-18 00:59:26,901 [   search_thread][        search][    INFO] Starting search worker threads
main.html:168 2016-08-18 00:59:26,914 [   search_thread][        search][    INFO] New location caught, moving search grid
2016-08-18 00:59:26,914 [ search_worker_0][        pgoapi][    INFO] pgoapi v1.1.7 - Copyright (c) 2016 tjado https://github.com/tejado
main.html:168 2016-08-18 00:59:26,915 [ search_worker_0][        search][    INFO] Search step 1 beginning (queue size is 0)
main.html:168 2016-08-18 00:59:26,917 [ search_worker_0][      auth_ptc][    INFO] PTC User Login for: ********
main.html:173 Python server started!
main.html:173 Got open express port: 8001
main.html:173 Express server started!
main.html:158 server up: http://localhost:8001
main.html:168 2016-08-18 00:59:28,410 [ search_worker_0][      auth_ptc][    INFO] PTC User Login successful.
2016-08-18 00:59:28,410 [ search_worker_0][      auth_ptc][    INFO] Request PTC Access Token...
main.html:168 2016-08-18 00:59:28,716 [ search_worker_0][      auth_ptc][    INFO] PTC Access Token successfully retrieved.
main.html:168 2016-08-18 00:59:28,727 [ search_worker_0][        pgoapi][    INFO] Creating a new direct request...
main.html:168 2016-08-18 00:59:28,729 [ search_worker_0][        pgoapi][    INFO] Adding 'GET_MAP_OBJECTS' to RPC request including arguments
main.html:168 2016-08-18 00:59:28,743 [ search_worker_0][        pgoapi][    INFO] Execution of RPC
main.html:168 2016-08-18 00:59:29,285 [ search_worker_0][        pgoapi][    INFO] API Endpoint redirect... re-execution of call
main.html:168 2016-08-18 00:59:29,499 [ search_worker_0][        pgoapi][    INFO] Cleanup of request!
main.html:168 2016-08-18 00:59:29,500 [ search_worker_0][        search][   ERROR] Search step 1 map parsing failed, retyring request in 10 seconds
main.html:168 2016-08-18 00:59:39,522 [ search_worker_0][        pgoapi][    INFO] Creating a new direct request...
2016-08-18 00:59:39,522 [ search_worker_0][        pgoapi][    INFO] Adding 'GET_MAP_OBJECTS' to RPC request including arguments
main.html:168 2016-08-18 00:59:39,522 [ search_worker_0][        pgoapi][    INFO] Execution of RPC
main.html:168 2016-08-18 00:59:39,743 [ search_worker_0][        pgoapi][    INFO] Cleanup of request!
main.html:168 2016-08-18 00:59:39,746 [ search_worker_0][        search][   ERROR] Search step 1 map parsing failed, retyring request in 20 seconds


ActiveRecord/sqlite3 truncation strategy & sqlite_sequence

I'm using sqlite and ActiveRecord and the truncation strategy, and I noticed there was some funny behavior with sqlite_sequence not getting cleared. (I have some seed data with hard coded IDs, thus the problem.) I can't think of any reason why this table shouldn't be cleared, and likewise, it DOES get cleared if you use the transaction strategy. I think these two strategies should have the same effective result.
I created a small work-around for this:
https://github.com/earnold/database_cleaner/commit/98d324a18b1539c67998fbf77ee0148f1cdd5396
Does it seem appropriate for you?
Thanks,
Evan

I second this! In my apps I have been monkey-patching database_cleaner with the following code to get the expected behavior (i.e. table ids being reset to 1, like MySQL's TRUNCATE command does):
class DataMapper::Adapters::SqliteAdapter
  alias_method :broken_truncate_table, :truncate_table
  def truncate_table(table_name)
    broken_truncate_table(table_name)
    execute("DELETE FROM sqlite_sequence") # Reset the table's ids
  end
end

Since SQLite has no TRUNCATE command, the only way to duplicate MySQL's (desirable) behavior is to delete a table's row from sqlite_sequence.
I'd be happy to submit a patch, though since it would only be one line, it's probably just as easy for anyone to do it.


Fix race condition on startup 4.2.x

With Neo4j 4.2.x (tested with 4.2.5 and 4.2.3) I found a possible race condition that prevents the Causal Cluster to form correctly.

closed via b310424


test with jest causing an exeption

I have to test my code with the jest framework. But every time a test is calling stringifyObject with a object its crash with follow exception:
TypeError: get_own_enumerable_property_symbols_1.default.default is not a function or its return value is not iterable
  336 |
  337 |   const obj = { status: 400, data: { code: 400, message: 'Test'} };
> 338 |   const log = stringifyObject(obj);
      |               ^

with a simply data type like string or number the test works fine. Here the example code
//util.ts
export function traceError() {
const obj = { status: 400, data: { code: 400, message: 'Test'} };
const log = stringifyObject(obj);
console.log(log);
return obj;
}
//util.test.ts
describe('functions', () => {
test('traceError should return 400', () => {
const response = traceError();
expect(response.status).toEqual(400);
});
Any solution for this?

You should ask on the Jest issue tracker. This is not an issue with this package.


fix: remove testing-library and outdated react-hooks

Hey! I've seen the last build fails because there seem to be no tests in the repo. Without '--passWithNoTests' flag on jest, jest will exit with 1.
I would really love to get the last fix published (https://github.com/lindesvard/pushmodal/commit/16c3f326f713de14082fa84821aea50416d08176). Hoping this fixes the build issue 😄
I also removed the testing-library packages (as there are no tests) and the @testing-library/react-hooks package seems outdated and is superseeded by some other package.

Could you remove the lock file? Using pnpm and gets annoyed with the npm lock file 😅

Yeah that makes sense haha. Updated it!


Add Audio Hijack Pro v2.11.4

With the introduction of Audio Hijack v3, submitting the previous version to caskroom/versions, as requested.

Thank you.


Add 0 Based Position tip.

Sometimes you need a zero based index, unless you read the api there is no information that $Pos is actually a method that takes a starting position rather than just a property.

How about putting it inline with the $Pos documentation, and simply add it as an addendum that this optional parameter can be added, rather than the method version being a separate feature in itself. :D

@tractorcow are you suggesting

$Pos: The current position in the list (integer). Will start at 1. $Pos(0) will start at 0.

I think making it clear that you can put any integer there that you want; You can even put -4 in if you like. ;D


Error: Multiple possible networks found, use a Network ID to be more specific

Hi,
I've installed OpenStack(Juno) with 5 compute node, 1 network node and 1 controller node, using CentOS 7.
I'm trying to use OCCI API in openstack and I'm using the branch https://github.com/sandlbn/occi-os/tree/stable/juno-neutron, that is:
pip install pyssf
in /usr/local/src -> git clone git://github.com/tmetsch/occi-os.git
in the occi-os directory -> python setup.py install
configure the api-paste.ini
In the project created there are two network: one external and one internal;
If I try to Create a new VM as written in https://wiki.openstack.org/wiki/Occi I have this error:
"Multiple possible networks found, use a Network ID to be more specific"
I try to specific the Network ID adding:
-H 'Link: /network/id_network ; rel="http://schemas.ogf.org/occi/infrastructure#network"; category="http://schemas.ogf.org/occi/infrastructure#networkinterface"
replace the id_network with the my internal id_network, but the response is "Internal Server Error".
Thanks!

@sandlbn: can you check?

@ipuc : yes that's true, fix is on the way. This branch is under heavy development, and should be finally ready for production this Friday.

thank you so much!!!
I'll try the updated branch when I see it online and I'll let you know


Minor: Fix bug where interactive_beam API documentation is not visible

I noticed that documentation for ib.collect and other methods isn't showing up in the API docs. I found that the root cause is that the @progress_indicated decorator is dropping the docstring. This PR adds @functools.wraps to address this.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

Tested this by building the API docs locally:

Run Python PreCommit


[PR] Added support for Audio-Profiles & Variable bitrate (audio)

Adds support for High-Efficiency AAC (v1 & v2) and possibly other profiles one may want to specify.
Also small fix for having 'mov_text' specified and encoding set to 'utf-8' causing errors. Perhaps that fix could have been done prettier.
Additionally, adds support for Variable Bitrates on codecs that supported it.
Ran tests on Windows 10 with nvenc_h264, h264 and h264_qsv aac & libfdk_aac.
ref: https://trac.ffmpeg.org/wiki/Encode/AAC

Gonna re-submit PR.

Was there any specific reason why this Pull request was ignored? If so, please let me know - then I won't spend time this holiday to fix the conflichts.

This should be merged

https://github.com/mdhiggins/sickbeard_mp4_automator/commit/ef4bdbd7142bbbe113b0e17aa1d4816e65ea5cf5
This close this out


Solution for planetarium portfolio project

![image](https://github.com/user-attachments/assets/dfdce0e9-11d9-427a-a3a9-1d345a8eac3f
Tickets validation:

Show speaker time walidation:

Authentication validation:

User creation:

Getting token via endpoint:


add simple lua format base on js.

What does this implement/fix? Explain your changes.

I want to format Lua, but need install perl frist? It's not cool.
so, I use js, and translate it to coffee.

the current perl version has some bug like following:

it will change whitespace in string.
local a    = "a..b...c" will be local a = "a.b.c" (use '.' to represent ' ')

Does this close any currently open issues?
Of course, many of issues about 'Lua' and 'format'.
Any other comments?
yes, I am not good at coffee, so if my code is not friendly to read. just edit it.
BTW, when I use Travis CI, Lua is OK, but other 9 language fail, I do not think I'm causing it.
Checklist
Check all those that are applicable and complete.

[x] Merged with latest master branch
[x] Added examples for testing to examples/ directory
[x] Travis CI passes (Mac support)
[x] AppVeyor passes (Windows support)

wait, I found some thing wrong.
local a = -1 will be local a =  - 1
I will fix it.


Updated web sample to allow dpop with resource indicators

Updates the web sample application to allow more DPoP use, especially with resource indicators.

Closing in favor of #90


Spring ContextId resolved to application-1 if spring-cloud-starter-netflix-ribbon is included as dependency

When including spring-cloud-starter-netflix-ribbon 2.2.1 (or 2.2.3) into a project with spring boot (tested with 2.2.7 & 2.3.1) the spring.application.name is resolved to null in ContextIdApplicationContextInitializer#getApplicationId because the parent context does not include the application.yml as propertysource. The Initializier is called twice with a context containing the application.yml as property source but due to if (parent != null && parent.containsBean(ContextId.class.getName()))  the parent context id is returned which is application-1 because spring.application.name was null during the initialization of the parent. Maybe there are other impacts as well maybe not but I think this is not intented.

bootstrap causes this. It is no longer on by default in spring cloud 2020.0 (spring cloud netflix 3.0.x), but ribbon is also no longer supported. You can try setting spring.cloud.bootstrap.enabled=false, but that disables things like config client if you are using that.

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

@spencergibb Thanks for the answer. We removed ribbon and do not face this issue anymore. This ticket can be closed since there's an existing solution to disable bootstrap and ribbon is already deprecated.


Paste events on selection

I'm using the react quill without controlled mode, without default style, only with some customizations on toolbar. When I paste some content over a text selection, the content is  deleted.
React-Quill version: 1.2.7

<ReactQuill
        ref={ref => {
            this.reactQuillRef = ref;
        }}
        onChange={this.onChange}
        defaultValue={this.state.content}
        modules={{
            toolbar: false
        }}
        readOnly={this.state.saving}
        formats={["bold", "italic", "underline", "video", "image", "link"]}
        className="release-editor"
        placeholder="Escreva seu release aqui com no mínimo 250 caracteres..."
/>

Hi @rodrigo-brito, check out my examples in another issue (https://github.com/zenoamaro/react-quill/issues/276#issuecomment-384618178) related to pasting content into the editor. Maybe they help you out.

I think that is not the same problem, I tested in your code pen, but it hasn't the expected behavior. I tried to create a example with my problem, but doesn't works on codepen.

Problem solved! We are using a custom theme for the editor and the class .clipboard should not use display: none;. I copied the style from snow theme, and the problem was solved.


Sort is done alphabetically instead of in UDA value order from config

When showing a report that is sorted by an UDA, VIT sorts the UDA values alphabetically, while Taskwarrior sorts using the order the UDA values are defined in the config.
To reproduce, use the following taskrc config:
data.location=~/test/data
uda.test.type = string
uda.test.label = Test
uda.test.values = a,b,c,z,y,x

report.test.columns = id,test,description
report.test.labels = ID,Test,Description
report.test.description = Test
report.test.sort = test-

Add tasks with each of the Test UDA values.
Display the Test report on VIT and Taskwarrior.
The sorting of the tasks will be, from top to bottom, based on the Test UDA values:
Taskwarrior: a,b,c,z,y,x
VIT : z,y,x,c,b,a

This seems more like a bug in TaskWarrior.
test- should sort descending, and the TaskWarrior result is ascending. Also, I've seen no documentation in TaskWarrior that UDA values should be sorted according to the order they are specified. Doesn't alphabetical make more sense anyways?
Finally, all of the sorting in VIT is structured around alphabetical sorting, so even if none of the above is true, it might be a real pain to treat UDA fields separately.

IMHO, it rather makes sense to use the lexicographic order when sorting a UDA

of type string
which has a specified set of values
(if we don't care about order, we wouldn't have a rc.report.foo.sort specify field[+-] anyway, so point would be moot).

It can be e.g. used with default priority field.
As I use it, I have configured uda.priority.values=H,M,,L so that tasks with Low priority are shown later than those with none specified when sorted descending.
I analyzed how it works in TaskWarrior: the entries are specified in descending order, e.g.
Say we have (for a string UDA) uda.field.values = High, Medium, Low
Then we have tasks sorted as follows, according to the value of field:
rc.report.foo.sort=field- => <empty>, High, Medium, Low
rc.report.foo.sort=field+ => Low, Medium, High, <empty>
(<empty> field value is arbitrarily considered the biggest value if not specified explicitely [as with my priority example hereabove, note the empty value is between the two consecutive commas]).
For numeric, duration and date types, uda.field.values is unused, and natural order is used, so no change needed
For string type, one would need to use a custom comparator that sorts alphabetically if no uda.field.values is used, or lexicographically otherwise (with allowed values specified in descending order, and special case of <empty> value, as shown above)

This seems like an awful lot of work for not a ton of benefit.
I'd be open to reviewing a PR that implements the functionality described above for string UDAs, but will probably not spend the time to fix this myself.

I second this motion for the sort feature.

Just to be clear, this issue doesn't need votes, it needs somebody to write the code.


Image corruption when resizing and converting to jpg

When I try to resize and convert a png to jpg sharp outputs a corrupted image.
Input:
$ pngcheck test.png
OK: test.png (1280x877, 32-bit RGB+alpha, non-interlaced, 78.5%).
$ file test.png
test.png: PNG image data, 1280 x 877, 8-bit/color RGBA, non-interlaced

convert-resize.js
var sharp = require('sharp');

var width   = 1000;
var height  = 1000;
var quality = 75;
var format  = 'jpeg';

var newImage = sharp('./test.png')
                .resize(width, height)
                .max()
                .withoutEnlargement()
                .quality(quality)
                .toFormat(format)
                .toFile('./test.jpg');

Output:
$ file test.jpg
test.jpg: JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 1000x685, frames 3

This seems to happen every time a png gets converted to jpg and resized to a smaller size.
vipsthumbnail test.png -o tn_%s.jpg --size 1000 produces correct output.
I used sharp 0.11.0 and vips 7.40.6 on Debian 8.1.

Hello, the saturated output you're experiencing looks like it could be related to the (un)pre-multiplication stage added in v0.11.0. This is designed to improve the quality of transparent image resizing and allow alpha compositing and is applied for any input image with an alpha channel.
libvips 8.1.0+ provides a native (un)premultiply operation for us and for earlier versions sharp uses it's own (un)pre-multiplication logic (thanks to @gasi).
I've tried your sample image with both libvips' and sharp's version of this logic and both work for me with the latest libvips master code.
My best guess is that we may have run into something that's been fixed within the last year in libvips itself since 7.40.6. Are you able to test using a more recent version of libvips to help narrow this down?
A possible quick fix here might be to use flatten if you know you're converting to JPEG as this seems to avoid sharp's (un)pre-multiplication logic (but the presence of this shortcut is probably itself a bug!).

Using flatten, the image is converted correctly.
It seems like I can't get a working build of libvips 8 on Debian 8.

@compeak Glad to hear the quick fix worked for you.
I'm still a little concerned there may be a problem with the premultiply code on older versions of libvips.
If anyone else should run into this, please add more examples here and I'll re-open the issue.

@lovell Thank you for your help.

A possible quick fix here might be to use flatten if you know you're converting to JPEG as this seems to avoid sharp's (un)pre-multiplication logic (but the presence of this shortcut is probably itself a bug!).

Hmmm, shouldn’t (un)premultiplication only happen for compositing images with alpha channel? In this case, @compeak is only resizing and converting from PNG to JPEG.

Hmmm, shouldn’t (un)premultiplication only happen for compositing images with alpha channel?

I take that back. Looks like it happens for any affine transform: https://github.com/lovell/sharp/blob/dee9ca3ec28e9c4ee7f6c1490f2bdcf1e8bdfeb9/src/pipeline.cc#L495-L500

Thanks @gasi, I think the use of premultiply with affine is the correct behaviour.
In addition, thanks to the investigation into this problem, I may have discovered another relating to the use of normalisation and/or gamma correction with alpha channels.

Thanks @gasi, I think the use of premultiply with affine is the correct behaviour.

Agreed, I believe it is too.

In addition, thanks to the investigation into this problem, I may have discovered another relating to the use of normalisation and/or gamma correction with alpha channels.

Sounds promising. Based on my (limited) experience working with (un)premultiplication, errors were usually subtle especially if images were close to fully opaque or fully transparent. Sometimes errors were big, but that generally meant the sign of some multiplication was wrong and that would be an obvious error we’d see more frequently.
Good luck on your investigation!

@gasi see https://github.com/lovell/sharp/commit/36ac8828f2e4eb60cc8d97301998011bb3d1f763

@lovell Wow, nice find and fix! :+1:

So @lovell has fixed the problem in 0.11.1? I'm running on 0.11.2, but the problem is still there.
Any suggestions? Thanks.

@baoshan Which version of libvips are you using? I think the summary was that 7.40.6 can fail but 8.0.2 is OK. The workaround for earlier versions is to explicitly add the flatten() option.

flatten works great! Thanks.
Baoshans-MacBook-Pro:contributor Baoshan$ brew install vips
Warning: homebrew/science/vips-8.0.2 already installed

Does that mean I have 8.0.2? But still requires flatten.

@baoshan Sorry, my mistake, I meant to say that libvips v8.1.0 is (or will be) OK. Glad to hear flatten works for now.

Thanks. Sorry for didn't get the summary correct at first.
Wonderful work!

I've had the same issue.
brew install vips
Warning: homebrew/science/vips-8.0.2 already installed

Using flatten() solved the issue for me as well.


consistent devtools keyboard shortcut

Operation System: archlinux
Beaker Version: 0.7.2
was checking out the extended browser apis and found that beaker a different dev-tools shortcut. In beaker the devtools keyboard shortcut is ctrl-alt-i but on firefox and chrome it's ctrl-shift-i.

Sure thing, added to my todo list

Done


Autofocus prop on TextArea/TextField in FocusView does not work

Describe the bug
If a TextArea is added to a FocusView with the autoFocus prop, the TextArea is not immediately focused on when the FocusView is opened by the user.
<FocusView title="Add a new note">
  <TextArea
    label="Message"
    placeholder="Looking for more enterprise features like SEO..."
    value={message}
    autoFocus
    onChange={(e) => {
      setMessage(e.target.value);
    }}
  />
</FocusView>

To Reproduce
Steps to reproduce the behavior:

Create a FocusView like the code above
Add a TextArea with autoFocus
When the FocusView is opened, I cannot start typing directly into the TextArea. I have to manually focus in on the input.

Expected behavior
When I open the FocusView, the TextArea is already in focus and I can start typing without needing my mouse.
Screenshots
Desktop (please complete the following information):

OS: MacOS 12.1
Browser: Chrome

Additional context
This is the same case with TextField component as well

@cchalstrom-stripe can you look at this?

confirmed, perhaps @dannygarcia-stripe can investigate further?

Created a DS run ticket with them to track.


scheduling a repeated task ceases after some number of reschedules

I have an rtfm-based app
that creates a repeated scheduled task to blink an LED and another repeated task to read an i2c driver.
This app appears to run the repeated tasks many thousands of times (2-3 minutes real clock time) before the scheduler appears to...stop scheduling the repeated tasks.  At this point the idle task runs (verified by setting a breakpoint) and the scheduled tasks never run again.  As far as I can tell, scheduling the repeated tasks does not fail.
I'm probably doing something obviously wrong here, but this behavior is consistent across stm32h743 and a similar app running on stm32f401CxUx.

I attempted to boil down the issue to an even simpler reproducible case, but since that hasn't worked, I assume this is a problem with the driver.  I'll close this issue and reopen if I encounter a simpler reproducible case.

Sounds like there might be some wrap around problem in play here. If you can come up with a minimal example that be super helpful.


Undefined variable "$large-screen"

Hi,
Just trying out the bourbon/neat/bitters/refills combo and after setting a basic project injecting only the first navigation pattern, I get the following error : Undefined variable "$large-screen"
Is the docs not up to date or am I doing something wrong?

+1 for the semicolon...

I ran into the same problem. Solved the issue by adding a semi-colon after:
@import "../neat/neat-helpers";

in my base/_grid_settings.scss file


Duplicate Keys

Getting a number of warnings during rspec runs over duplicate key defnitions...
versions/005010/element_defs.rb:240: warning: key "DQ" is duplicated and overwritten on line 242
versions/005010/element_defs.rb:258: warning: key "GD" is duplicated and overwritten on line 264
versions/005010/element_defs.rb:319: warning: key "RW" is duplicated and overwritten on line 337
versions/005010/element_defs.rb:322: warning: key "S4" is duplicated and overwritten on line 338

Hi, thanks for reporting this. These are harmless and won't affect the operation of a program. I believe they are only used for generating error messages. I will gladly accept a PR that removes the duplicate key/value pairs, though.

I started to give it a shot but couldn't find it in code; turns out this issue was addressed with PR https://github.com/irobayna/stupidedi/pull/236

Thanks @jsp for looking into that.
@tomk-ja, We don't have a release planned, since the only code changes in master is the small PR that @jsp mentioned, which fixes these warnings. If you're using Bundler you could point it to the latest commit in the repo like gem "stupidedi", git: "https://github.com/irobayna/stupidedi.git", ref: "cca3ebdd". in any case, the warnings are harmless, albeit annoying.


Add images of contributors in leaderboard

PR Description 📜
Added images of contributors to the leaderboard
Fixes #395

Mark the task you have completed ✅

[ x] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[ x I have performed a self-review of my own code or work.
[ x] I have commented my code, particularly in hard-to-understand areas.
[ x] My changes generates no new warnings.
[ x] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[ x] I have added screenshot for review.

## Add your screenshots(Optional) 📸

Thank you soo much for contributing to our repository 💗

@Durgesh4993  resolved


Update good services partial

Add field when application is type mobility
Remove duplications in the goods services form partial

 [QAE16IMP] Company details - description of goods/services - pulling through wrong information

Looks ok :+1:


username

Hi My Friend
Cloud you please change your user name noset to another one? This is our human organization name and wants to take it.
Thanks

Talking is cheap, show my friend the money.

How much do you want?
On Tue, Apr 9, 2024 at 5:15 AM Leon @.***> wrote:

Talking is cheap, show my friend the money.
—
Reply to this email directly, view it on GitHub
https://github.com/noSet/MSILComparator/issues/1#issuecomment-2044078733,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAU7QSVMRKN4YHHCOWJGANDY4NMLVAVCNFSM6AAAAABEND3W5OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBUGA3TQNZTGM
.
You are receiving this because you authored the thread.Message ID:
@.***>

how important you think your org is？

We can give 200$ for it.

@noSet, Erinc has already offered a very sincere price, think about it, as it may help a great organization in the future.


Deep learning RNN model on periodic states data

Context:
We are now storing more data than ever on the states_snapshot db.
How much of this is useful? Which features are useful?
How do we apply a RNN model on this? Is there a standard function to call on tensorflow?
Deliverables:
-> Identified key feature vectors
-> Identify approach to use this in a RNN model
-> Trained first model

Not relevant for this project - checkout thesillyhome-container-cloud


MaterialButton causing a System.ArgumentNullException on iOS

I am using XF.Material for the first time; I've followed the steps to add the NuGet package to my PCL project, Android project, and iOS project. I've copied the C# code for a simple MaterialButton from the XF.Material documentation and see the button rendering and behaving as expected on Android platforms. When I build for iOS 13.1 platform, I get an error:
System.ArgumentNullException has been thrown
Value cannot be null.
Parameter name: other
I've tried going through the instructions from scratch 3 times now, and I cannot think of anything else to try. Any suggestions would be greatly appreciated.

The relevant error log looks something like this:
System.ArgumentNullException: Value cannot be null.
Parameter name: other
  at Foundation.NSMutableAttributedString..ctor (Foundation.NSAttributedString other) [0x00042] in /Library/Frameworks/Xamarin.iOS.framework/Versions/<IP_ADDRESS>/src/Xamarin.iOS/NSMutableAttributedString.g.cs:138
  at XF.Material.iOS.Renderers.MaterialButtonRenderer.UpdateText () [0x00088] in /Users/vsts/agent/2.148.2/work/1/s/XF.Material/XF.Material.iOS/Renderers/MaterialButtonRenderer.cs:500
  at XF.Material.iOS.Renderers.MaterialButtonRenderer.OnElementPropertyChanged (System.Object sender, System.ComponentModel.PropertyChangedEventArgs e) [0x00250] in /Users/vsts/agent/2.148.2/work/1/s/XF.Material/XF.Material.iOS/Renderers/MaterialButtonRenderer.cs:133
  at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__7_0 (System.Object state) [0x00000] in /Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:1021
  at Foundation.NSAsyncSynchronizationContextDispatcher.Apply () [0x00000] in /Library/Frameworks/Xamarin.iOS.framework/Versions/<IP_ADDRESS>/src/Xamarin.iOS/Foundation/NSAction.cs:178
  at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain(int,string[],intptr,intptr)
  at UIKit.UIApplication.Main (System.String[] args, System.IntPtr principal, System.IntPtr delegate) [0x00005] in /Library/Frameworks/Xamarin.iOS.framework/Versions/<IP_ADDRESS>/src/Xamarin.iOS/UIKit/UIApplication.cs:86
  at UIKit.UIApplication.Main (System.String[] args, System.String principalClassName, System.String delegateClassName) [0x0000e] in /Library/Frameworks/Xamarin.iOS.framework/Versions/<IP_ADDRESS>/src/Xamarin.iOS/UIKit/UIApplication.cs:65
  at Solstice.iOS.Application.Main (System.String[] args) [0x00001] in /Users/fjorgedevelopers/Projects/Solstice/Solstice.iOS/Main.cs:17
2019-09-26 12:13:28.216 Solstice.iOS[1701:71298] Unhandled managed exception: Value cannot be null.
Parameter name: other (System.ArgumentNullException)
  at Foundation.NSMutableAttributedString..ctor (Foundation.NSAttributedString other) [0x00042] in /Library/Frameworks/Xamarin.iOS.framework/Versions/<IP_ADDRESS>/src/Xamarin.iOS/NSMutableAttributedString.g.cs:138
  at XF.Material.iOS.Renderers.MaterialButtonRenderer.UpdateText () [0x00088] in /Users/vsts/agent/2.148.2/work/1/s/XF.Material/XF.Material.iOS/Renderers/MaterialButtonRenderer.cs:500
  at XF.Material.iOS.Renderers.MaterialButtonRenderer.OnElementPropertyChanged (System.Object sender, System.ComponentModel.PropertyChangedEventArgs e) [0x00250] in /Users/vsts/agent/2.148.2/work/1/s/XF.Material/XF.Material.iOS/Renderers/MaterialButtonRenderer.cs:133
  at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__7_0 (System.Object state) [0x00000] in /Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:1021
  at Foundation.NSAsyncSynchronizationContextDispatcher.Apply () [0x00000] in /Library/Frameworks/Xamarin.iOS.framework/Versions/<IP_ADDRESS>/src/Xamarin.iOS/Foundation/NSAction.cs:178
  at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain(int,string[],intptr,intptr)
  at UIKit.UIApplication.Main (System.String[] args, System.IntPtr principal, System.IntPtr delegate) [0x00005] in /Library/Frameworks/Xamarin.iOS.framework/Versions/<IP_ADDRESS>/src/Xamarin.iOS/UIKit/UIApplication.cs:86
  at UIKit.UIApplication.Main (System.String[] args, System.String principalClassName, System.String delegateClassName) [0x0000e] in /Library/Frameworks/Xamarin.iOS.framework/Versions/<IP_ADDRESS>/src/Xamarin.iOS/UIKit/UIApplication.cs:65
  at Solstice.iOS.Application.Main (System.String[] args) [0x00001] in /Users/fjorgedevelopers/Projects/Solstice/Solstice.iOS/Main.cs:17

I am able to get MaterialTextField elements to render successfully on both iOS and Android platforms, but it appears that something about MaterialButton is having issues on iOS.

I'm using 1.5.4 but i still got an exception.


Cant Compile

I cant compile the last release of the plugin

Please provide more information in your issues, in this case the error log.

Ok

http://gyazo.com/7283ed656637542dd240f5e9693d6628

Sorry about that, should be fixed. Thanks for reporting!


::placeholder-shown partially supported in Chrome 47

Chrome 47 doesn’t support color property (used in Can I use... test case) in :placeholder-shown pseudo class, but support font-weight property.
Test case: https://jsfiddle.net/gg6smqqd/1/
Also we can debug in developer tools:

Is :placeholder-shown.

This is not a bug.
Because it is not to define the style of placeholder, it is used to match an element when placeholder is displayed(shown).
You can used this:
::-webkit-input-placeholder {
  color: inherit; /* Or currentcolor */
}

Or
:placeholder-shown::-webkit-input-placeholder {
  color: red;
}

@yisibl, vendor ::-webkit-input-placeholder is supposed to be replaced with standard pseudo-class :placeholder-shown. All vendor prefixed pseudo-classes expected to be dropped, including ::-webkit-input-placeholder.
:placeholder-shown expected to support no more or less than ::-webkit-input-placeholder, besed on spec. Current spec draft https://drafts.csswg.org/selectors-4/#placeholder doesn't say almost anything what allows browsers to make their choices till defined strict spec.
In Chrome 47 there are even more issues, see https://code.google.com/p/chromium/issues/detail?id=451120#c13, testcase http://jsbin.com/haxozazuza.

@laukstein https://drafts.csswg.org/css-pseudo-4/#placeholder-pseudo

cc @tabatkins I think the spec should clarify their differences.

@tabatkins, what one is outdated :placeholder-shown or ::placeholder? Perhaps need to remove :placeholder-shown from spec drafts?

Seems supported to me, so updated now.

👍


Need to force a refresh of cached GetSymbolsMetadata if no result is found during ClampOrderPrice/Quantity

Bug:
In ExchangeAPI, PopulateExchangeMarkets caches symbolsmetadata. However there isn't a mechanism to auto-expire the cache or refresh on a cache miss. For example, last night Binance listed LOOMBTC and LOOMETH, both of which were not in the cache and this caused GetExchangeMarket to return null and Clamp* to no-op when placing order.
Expected:
On null result from GetExchangeMarket, call GetSymbolsMetadata.
Bonus points: don't double refresh if symbolsmetadata started as null.

Solved now due to your helpful pull request.


Fix: give clipboard read permission in Chrome browser.

Description
[Describe what this change achieves]
Issues Resolved
[List any issues this PR will resolve]
Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Please note that based on my discussion with @kavilla we are using electron browser for running OSD integration tests.


fix(input-group): Support form-control-plaintext as a sibling

PR #25871 added support for .form-control-plaintext inside an input-group (addressing issue #25870), but it did not include handling the situation of multiple inputs in the same input group (where .form-control-plaintext is not the first input).
This PR adds in the missing line to handle this situation.

Hmmm now that I look at this, I just realized that .form-control-plaintext inside an input group doesn't have a border. And it is missing the left and right padding (to line it's contents up with other controls that may be in the same form) when inside an input-group.

No need for this PR, you can use the readonly attribute for this as mdo mentioned https://github.com/twbs/bootstrap/issues/25870#issuecomment-374037198

@MartijnCuppens that is a good point re readonly. I wonder if that suggestion should be mentioned in the input group documentation?


Sharpen the Background aerial imagery

I sharpen the imagery on potlatch when the imagery is a bit hazy or the locality is densely populated - helps a lot when adding streets. Is this left out on iD on a deliberate note?

Would like to reopen this following discussions at SOTM-US with some HOT folks.  This would really be useful for tracing.
CSS filters offer a way do do this without needing to worry about CORS, and support in modern browsers is pretty good.
Live example here: http://stackoverflow.com/questions/29599794/how-to-sharpen-an-image-in-css
For example, the below rule bumps up the contrast and brightness slightly on all loaded tiles, and this does make a noticeable improvement in some places.
img.tile-loaded {
  opacity: 1;
  -webkit-filter: contrast(120%) brightness(120%);
}

We could make a very minimal UI for this in the background pane similar to the opacity switcher.
Thoughts?

@mikelmaron Do you think this is a top priority for HOT, or a nice-to-have?


xob: 0.2 -> 0.3

Motivation for this change
The current package is outdated and does not have a maintainer anymore.
This updates the package to version 0.3 and adds myself as the new
package maintainer since I am already the maintainer of xob.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

@ofborg eval