Stop using dnsmasq and a non-standard DNS port on linux

Users of libvirt on linux boxes run into the following problems:

The default port for landrush on linux is 10053, therefore the entry in resolv.conf isn't usable as it assumes port 53

See: https://github.com/vagrant-landrush/landrush/blob/master/lib/landrush/server.rb#L37

Entries in /etc/dnsmasq.d are ignored because dnsmasq has already been started by libvirt and it is using a private configuration directory.

We could resolve this by just using port 53.  If port 53 is blocked on <IP_ADDRESS> we should just bind to other ips in the <IP_ADDRESS>/8 which is reserved for loopback per https://tools.ietf.org/html/rfc3330
Note: This is a change to behavior.  Today we try to bind to all interfaces, see: https://github.com/vagrant-landrush/landrush/blob/master/lib/landrush/server.rb#L55
This IP address could then be written to resolv.conf and we won't need dnsmasq or firewall rules.  This seems to be a general solution.
Extensions that may solve different versions of this problem are:

We could detect libvirt and libvirt's dnsmasq and use it. (This may have unintended consequences and creates a dependency)
We could check for dnsmasq running and using /etc/dnsmasq.d and use it in lieu of the above.
We could use network manager to add a global DNS configuration for our server and port combination

As part of this we could also extend server.rb to continuously check /etc/resolv.conf for its entry and to replace it whenever network manager rewrites the resolv.conf.  The more elegant solution is to talk to networkmanager.
Feedback and comments welcomed.

I agree it would simplify many things.
We just need sudo then I guess?
About binding to another IP. I understand the current way of resolving from inside virtualbox VMs is to forward all DNS traffic to <IP_ADDRESS>:10053 using iptables. Would we still be able to reach landrush this way?

We just need sudo then I guess?

We already need it to make the entry in /etc/resolv.conf so this isn't new.  We may need to choose to keep privileges if we don't want to use networkmanager so we can make sure /etc/resolv.conf stays accurate.

About binding to another IP. I understand the current way of resolving from inside virtualbox VMs is to forward all DNS traffic to <IP_ADDRESS>:10053 using iptables. Would we still be able to reach landrush this way?

You're right :).  My mind was elsewhere.  I was also forgetting to put the -t nat in sudo iptables -t nat -L -n when looking at iptables rules.  It was a bad day :)
That said, I think that this should be modified to just bind on the single network address for the NAT and not everything and still shift back to 53.

Ok makes sense!
Maybe we could do the port 53 binding additionally to keep it backward compatible.

same issue here, as a workaround I use the following dirty commands to start dnsmasq prior to libvirt-bin service:
#!/bin/sh
if ! systemctl status dnsmasq | grep -qa running
then
    sudo systemctl stop dnsmasq.service
    sudo systemctl stop libvirt-bin.service
    sleep 1
    sudo pkill --signal=TERM dnsmasq
    sudo systemctl start dnsmasq.service
    sudo systemctl start libvirt-bin.service
fi

it seems you have a better idea, do you have any manual workaround configuring libvirt not to start dnsmasq to share?
Cheers

@erickeller my thoughts are around stopping the use of dnsmasq entirely on the host.  This way we don't have the libvirt issue at all.  (which you can solve by modifying the dnsmasq.conf to use "interface=lo" and "bind-interfaces", iirc)
The could, potentially, also remove the need for iptables rules in the virtual machine.

Ok, trying to catch up here. What is the actual problem here and how does it manifest itself.

The default port for landrush on linux is 10053, therefore the entry in resolv.conf isn't usable as it assumes port 53

I don't get this part. The entry in resolv.conf points to the dnsmasq server which in turn has the Landrush DNS configured. It is in the dnsmasq config where we point to the Landrush server running on port 10053.

Entries in /etc/dnsmasq.d are ignored because dnsmasq has already been started by libvirt and it is using a private configuration directory.

The scripts restart dnsmasq, so the config should get picked up, right?
I thought @praveenkumar tested this and it worked for him.
Automating the host DNS configuration is a new thing and I am all up for improvements. However, we should not get overboard here. OS X and Windows are "simple", since there is only on way of doing it. With Linux and all its different versions and flavors I want to avoid to use a different approach for each. Using dnsmasq was my first cut, since this approach was also mentioned in the Landrush docs. If someone has a better idea, let's create a prototype. I fear on though that on Linux we are opening a can of worms here. We might be better off providing a simple "works most of the time" solution and in other cases let the user turn off the automatic configuration (which he already can do) and do whatever she likes.
That said, what are the steps to re-produce this issue?

We could resolve this by just using port 53.

I don't think that a user process should use ports in this range. This are really privileged ports. Can resolv.conf not handle custom ports as well?

That said, what are the steps to re-produce this issue?

Below you can see that dnsmasq service is not running but libvirtd is active and it actually using dnsmasq port which actually block it.
$ systemctl status dnsmasq
● dnsmasq.service - DNS caching server.
   Loaded: loaded (/usr/lib/systemd/system/dnsmasq.service; disabled; vendor preset: disabled)
   Active: inactive (dead)

$ systemctl status libvirtd
● libvirtd.service - Virtualization daemon
   Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; disabled; vendor preset: enabled)
   Active: active (running) since Fri 2016-09-16 17:56:59 IST; 14min ago
     Docs: man:libvirtd(8)
           http://libvirt.org

# $ ps aux | grep dnsmasq
nobody    1701  0.0  0.0  51140  1528 ?        S    Jul21   0:05 /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/docker-machines.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
root      1702  0.0  0.0  51112  1592 ?        S    Jul21   0:00 /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/docker-machines.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
nobody    1791  0.0  0.0  51140  1620 ?        S    Jul21   0:10 /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
root      1793  0.0  0.0  51140  1692 ?        S    Jul21   0:00 /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
nobody    1896  0.0  0.0  51140  1928 ?        S    Jul21   0:00 /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/vagrant.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
root      1897  0.0  0.0  51140   356 ?        S    Jul21   0:00 /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/vagrant.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
prkumar  31284  0.0  0.0 118496   848 pts/18   S+   17:57   0:00 grep --color=auto dnsmasq

# netstat -ntpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 <IP_ADDRESS>:53        <IP_ADDRESS>:*               LISTEN      1896/dnsmasq
tcp        0      0 <IP_ADDRESS>:53        <IP_ADDRESS>:*               LISTEN      1791/dnsmasq
tcp        0      0 <IP_ADDRESS>:53         <IP_ADDRESS>:*               LISTEN      1701/dnsmasq
tcp        0      0 <IP_ADDRESS>:22              <IP_ADDRESS>:*               LISTEN      1316/sshd

I thought @praveenkumar tested this and it worked for him.

I did test it and followed what @erickeller put in the script.

So the problem seems to be that libvirt actually uses dnsmasq to service the virtual networks which can lead to conflicts - http://wiki.libvirt.org/page/Libvirtd_and_dnsmasq.
It seems one can indeed work around this by forcing the global dnsmasq instance to a specific interface, for example the loopback one, however this requires changes to the global _dnsmasq.conf _.
@bexelbie,

my thoughts are around stopping the use of dnsmasq entirely on the host. This way we don't have the libvirt issue at all. (which you can solve by modifying the dnsmasq.conf to use "interface=lo" and "bind-interfaces", iirc)

The could, potentially, also remove the need for iptables rules in the virtual machine.

Can you elaborate on that.


mfa train error

（1）on line 54 of examples/aishell3/run.sh，mfa train ...
I got an error :
ArgumentError: Got more arguments for output_paths than 2: ['fastspeech2/mfa_pronounciation_dict.txt', 'fastspeech2/mfa/mfa_model.zip', 'fastspeech2/TextGrid']
I found that the format of this command（mfa train） seems to be different than usual，maybe i'm a newbie.
And I don't have fastspeech2/mfa/mfa_model.zip either
(2) on line 29 of aishell3/local/prepare_data_list.py ,maybe "type=str"

What's the version of your MFA? please refer https://montreal-forced-aligner.readthedocs.io/en/latest/user_guide/workflows/train_acoustic_model.html#mfa-train

Please run conda activate wetts; conda list montreal-forced-aligner to see the version for mfa. We have tested on 2.0.0rc9 and 2.0.1 and everything is fine.
This is a typo and we will fix it. Thankyou!

Version 2.0.1 is ok, Thank you. I used version 2.0.0b9 before

Version 2.0.1 is ok , Thank you ,I used version 2.0.0b9 before


fork main process on openwrt

Hi
We faced weird issue by using unirest on openwrt,
The main process is being forked.
This happen more when the network connection is slower.
Is it possible the issue relates to unirest ?
Thanks.

Any update on it ?


Wrong expert policy for FetchPush

In trying to reproduce your experiments, we have run into the agent not learning in the FetchPush environment. The reason seems to be a faulty expert policy for this environment. I have attached a rendering of the policy in action illustrating its random behavior.
https://user-images.githubusercontent.com/17391760/122923240-c7f75e80-d364-11eb-97d6-c9d818a1e1cc.mp4

Thanks for trying out our code!
For collecting demonstrations for FetchPush, please make sure special_reset is set to 'close' when you initialize the environment. This adds additional steps at episode start which move the gripper to the correct side of the block.
Please feel free to re-open this thread if there are any other questions!


Update to fix issue with no result found on MDL

To fix issue which is reported here: https://github.com/tbdsux/kuryana/issues/26 This is when user searches for a drama but it's not available on MDL yet then it will return error:
500: INTERNAL_SERVER_ERROR
Code: FUNCTION_INVOCATION_FAILED
ID: sin1::hz578-1678765839345-26a0508481ef
[ERROR] AttributeError: 'NoneType' object has no attribute 'find'

Thank you very much


Disable debug in build script.

https://github.com/amazeeio/lagoon/pull/600 introduced an issue where the SSH key is output in build logs. Disabling debug flag will hide the export command.

this will be fixed with https://github.com/amazeeio/lagoon/pull/614


HeapSort

Added heap sort in cpp

Merging is Blocked first of all you have to make SHH key to merge in this block 😊.


⚠ Bofrost.lu has degraded performance

In 37b1f9d, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 973 ms

Resolved: Bofrost.lu performance has improved in 4b0d6d3 after 6 minutes.


Writing code generic over client type?

Currently Client is parametrized over the Read + Write + fmt::Debug types. Unfortunately, because this is a requirement of three non-marker traits, it does not seem possible to write code which is agnostic to the specific kind of the underlying stream by using a trait object like Box<dyn Read + Write + fmt::Debug>.
My use case is that I need to write some code which works with IMAP servers, but depending on configuration those servers can be TLS or non-TLS. As of now, it does not seem possible to handle such servers in a uniform way.
I'm frankly not sure how, but it would be great if the library supported some kind of a way to write code which does not depend on the connection details of a particular client and would allow working with any of them. I guess the most straightforward way to do it would be to extract the public interface of the Client and Session structs to traits, but given that traits can't have async method now, it might be hard to do...

I agree this is an issue, I have not found a great solution that I like yet, but I definitely experienced this, which is why this file (https://github.com/deltachat/deltachat-core-rust/blob/master/src/imap_client.rs) exists.

but given that traits can't have async method now, it might be hard to do...

async-trait works quite well, so that might be possible.

we could take some inspiriation from here https://docs.rs/async-tungstenite/0.3.1/async_tungstenite/stream/enum.Stream.html (haven't looked in detail yet)


Create topic method is unable to determine Controller broker.

When I am connecting to Kafka using bootstrap address, during creation of topic I get Error = [41] Not Controller when creating topic . When I put all broker addresses manually and pick proper leader - it is able to complete the task. Coud you take a look on this doc and elaborate a bit if the issue can be solved?

@failytaler It's a bug and I'll publish a fix soon.

@failytaler Please build the main branch locally and test if it is fixed, using these commands:
git clone git@github.com:mostafa/xk6-kafka.git && cd xk6-kafka
xk6 build --with github.com/mostafa/xk6-kafka@latest=.
./k6 run yourscript.js

Feel free to reopen this issue if the problem persists.


Allowing storyboard layout & custom main view class for BaseChatViewController

I've faced a problem trying to subclass an already existing VC from BaseChatViewController.
It had some storyboard layout, and it's view was of a custom class with some presentation logic.
However loadView() in BaseChatViewController replaced VC's main view with BaseChatViewControllerView & setupKeyboardTracker() didn't set bmaInputAccessoryView unless it stayed that way.
Now we can work with custom view taken from storyboard:

Change your VC's view class to MyAwesomeCustomViewClass
Make sure MyAwesomeCustomViewClass adapts BaseChatViewControllerViewProtocol
_
var bmaInputAccessoryView: UIView?
override var inputAccessoryView: UIView? {
return self.bmaInputAccessoryView
}
_
In your VC's init() set self.substitutesMainViewAutomatically = false // It has to happen before loadView() is called, init would be a safe place.

Codecov Report

Merging #323 into master will increase coverage by 0.06%.
The diff coverage is 91.66%.

@@            Coverage Diff             @@
##           master     #323      +/-   ##
==========================================
+ Coverage   63.28%   63.35%   +0.06%
==========================================
  Files          63       63
  Lines        3519     3528       +9
==========================================
+ Hits         2227     2235       +8
- Misses       1292     1293       +1

Impacted Files
Coverage Δ

...ler/Collaborators/BaseChatViewControllerView.swift
0% <ø> (ø)
:arrow_up:

...Source/ChatController/BaseChatViewController.swift
81.42% <91.66%> (+0.38%)
:arrow_up:

Continue to review full report at Codecov.

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


Add TrackerNet API

Endpoints Added:

[x] PredictionSummary
[x] PredictionDetailed
[ ] StationStatus
[x] LineStatus


Remove workaround for Mesos validation issues.

The validation issues reported in MESOS-6208 have been reverted. The
workarounds are no longer necessary.

Thanks


Grave errors during building do not increment attempt counter

This means that we will build crates forever if every build results in a grave error.

I wonder if we should be catching this panic at all? The worst that happens is no more builds finish until an admin logs in and restarts the server, but I'd expect most panics to be keep happening on every retry anyway, and at least that way we avoid wasting resources.
https://github.com/rust-lang/docs.rs/blob/55c7386b9178dc3d33e34508aad29a9b8f4f2639/src/utils/queue_builder.rs#L83-L99


image_data = np.array(new_image)/255. #图像像素归一化

image_data = np.array(new_image)/255. #图像像素归一化
MemoryError

have you solved this problem？I have the same question.

have you solved this problem？I have the same question.

I have solved it

have you solved this problem？I have the same question.

I have solved it

我也有这个问题，请问您是怎么解决的？


Installing TTS Step in the installer bat file

there seems to be an issue with this step because it just hang there and i can never get passed this part, is this a bug or is it me installing it wrongly?

What do you mean by hanging? Does it keep loading?
TTS is a large package, so on computers with slower internet, or other limitations, it might take a bit to install.

yes it just stays in that phase i had been waiting for 2 hours and last 2 weeks ago it was instant install but now i have no idea why is this happening.

That's odd, can you try manually installing?

run activate_only.bat/activate_only.sh to activate the virtual environment
type pip install --upgrade TTS and press enter

is this normal for pip to be struggling like this? INFO: pip is looking at multiple versions of idna to determine which version is compatible with other requirements. This could take a while.
Collecting idna<4,>=2.5
Using cached idna-2.9-py2.py3-none-any.whl (58 kB)
Using cached idna-2.8-py2.py3-none-any.whl (58 kB)
Using cached idna-2.7-py2.py3-none-any.whl (58 kB)
Using cached idna-2.6-py2.py3-none-any.whl (56 kB)
Using cached idna-2.5-py2.py3-none-any.whl (55 kB)
INFO: pip is looking at multiple versions of chardet to determine which version is compatible with other requirements. This could take a while.
Collecting chardet<5,>=3.0.2
Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB)
INFO: pip is looking at multiple versions of idna to determine which version is compatible with other requirements. This could take a while.
Using cached chardet-3.0.3-py2.py3-none-any.whl (133 kB)
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. If you want to abort this run, you can press Ctrl + C to do so. To improve how pip performs, tell us what happened here: https://pip.pypa.io/surveys/backtracking
Using cached chardet-3.0.2-py2.py3-none-any.whl (133 kB)
INFO: pip is looking at multiple versions of requests to determine which version is compatible with other requirements. This could take a while.
Collecting clean-fid
Using cached clean_fid-0.1.33-py3-none-any.whl (25 kB)
INFO: pip is looking at multiple versions of chardet to determine which version is compatible with other requirements. This could take a while.
Using cached clean_fid-0.1.32-py3-none-any.whl (26 kB)

it just stops at clean_fid dependency and it wont progress

ok so upgrading pip seems to fix the issue

Okay, great!


stoped traccar crash

is there any solution as below error ? it's happen in few days or around in week and there is like 80 devices  only
around 8 days happen like this
INFO   | jvm 1    | 2016/01/06 00:36:18 | Jan 06, 2016 12:36:17 AM org.jboss.netty.channel.socket.nio.AbstractNioSelector
INFO   | jvm 1    | 2016/01/06 00:36:18 | WARNING: Failed to accept a connection.
INFO   | jvm 1    | 2016/01/06 00:36:18 | java.io.IOException: Too many open files
INFO   | jvm 1    | 2016/01/06 00:36:18 |   at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
INFO   | jvm 1    | 2016/01/06 00:36:18 |   at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:250)
INFO   | jvm 1    | 2016/01/06 00:36:18 |   at org.jboss.netty.channel.socket.nio.NioServerBoss.process(NioServerBoss.java:100)
INFO   | jvm 1    | 2016/01/06 00:36:18 |   at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:337)
INFO   | jvm 1    | 2016/01/06 00:36:18 |   at org.jboss.netty.channel.socket.nio.NioServerBoss.run(NioServerBoss.java:42)
INFO   | jvm 1    | 2016/01/06 00:36:18 |   at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
INFO   | jvm 1    | 2016/01/06 00:36:18 |   at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
INFO   | jvm 1    | 2016/01/06 00:36:18 |   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
INFO   | jvm 1    | 2016/01/06 00:36:18 |   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
INFO   | jvm 1    | 2016/01/06 00:36:18 |   at java.lang.Thread.run(Thread.java:745)
INFO   | jvm 1    | 2016/01/06 00:36:18 |
...
INFO   | jvm 1    | 2016/01/06 00:36:32 | WARNING: Failed to accept a connection.
INFO   | jvm 1    | 2016/01/06 00:36:32 | java.io.IOException: Too many open files
INFO   | jvm 1    | 2016/01/06 00:36:32 |   at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
INFO   | jvm 1    | 2016/01/06 00:36:32 |   at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:250)
INFO   | jvm 1    | 2016/01/06 00:36:32 |   at org.jboss.netty.channel.socket.nio.NioServerBoss.process(NioServerBoss.java:100)
INFO   | jvm 1    | 2016/01/06 00:36:32 |   at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:337)
INFO   | jvm 1    | 2016/01/06 00:36:32 |   at org.jboss.netty.channel.socket.nio.NioServerBoss.run(NioServerBoss.java:42)
INFO   | jvm 1    | 2016/01/06 00:36:32 |   at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
INFO   | jvm 1    | 2016/01/06 00:36:32 |   at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
INFO   | jvm 1    | 2016/01/06 00:36:32 |   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
INFO   | jvm 1    | 2016/01/06 00:36:32 |   at java.util.concurrent.ThreadPoolExecutor

This error means that you have reached maximum number of connections allowed by operating system.
One option is to use resetDelay parameter in the config. It's basically an idle connection timeout.

u mean resetDelay will solve problem ?
and this thing also could be helpfull ?
http://www.cyberciti.biz/faq/linux-increase-the-maximum-number-of-open-files/
http://askubuntu.com/questions/162229/how-do-i-increase-the-open-files-limit-for-a-non-root-user

Yes, all of those things should help. Note that Traccar usually runs as a root user on Linux.

is there any monitoring system i can manage for server crash or if stop port something ?

There must be some standard system tools that you can use to monitor service status.

hello
which file is can get response of command in web  just not true false example  current location
i can see in log response so from java which files i can get command response ?
example in api method where can get those values not only true false  need actualy value in api as below current position for location so is there in api something i can get ?  over api files ?
Current position! Lat:N27.565765,Lon:E76.073227,Course:166.39,Speed:0.00Km/h,DateTime:2016-01-26 14:10:23
787875156d0000000043757272656e7420706f736974696f6e21204c61743a4e32372e3536353736352c4c6f6e3a4537362e3037333232372c436f757273653a3136362e33392c53706565643a302e30304b6d2f682c4461746554696d653a323031362d30312d32362031343a31303a323300020821d8fe0d0a

You can receive device responses in decoder class.

Hi !
I have the same issue with the  " Too many open files" error.
How can I set the  "resetDelay " ? in which config file ? and what is the sintax ?
I already increased the files decriptors for root to 40.000 but does not help...
Many thanks !

also what would be a good value for resetDelay ?
I only have 10 devices and traccar halts on the "too many open files" error after about 3 days...

The parameter has been renamed to "timeout". More info here:
https://www.traccar.org/configuration-file/

Thank Anton,
I will test this right away.
Great project by the way ;)


Fix/activate user bugs

Gracefully handles UserNotFound (instead of throwing a 500 error)
Add convenience helper method for URL (also in console helper -> easier testing :))

@Tugark LGTM


Filter devices with ManufacturerData

Summary
 Hi, I am not sure if I missed somehow by the ScanBleDevices can only accept UUID as filter.
Is it possible to scan with other filters eg manufacturer data?
Thanks!
Preconditions
   public abstract Observable scanBleDevices(@Nullable UUID... filterServiceUUIDs);
Steps to reproduce actual result

Actual result

#### Expected result

Currently there is no such feature. Feel free to contribute :)

Of course it is possible to filter the devices with the manufacturer data. The thing is you have to do it manually as the library has no built-in feature. ;) This state will probably change once the Lollipop scanning API will be supported. You can still contribute to it! #74 Best Regards.

Just added the new scanning API to 1.3.0-SNAPSHOT. Feel free to check it out.


no such container404No such image: ches/kafka:latest (tag: latest)

When creating a kafka container on my MacBook Pro, OSX 10.10.3, I got this error:
no such container404No such image: ches/kafka:latest (tag: latest)

I have tried redis container in recommended page, which worked fine, but all the kafka in search result could not been created, all stopped on this error, please help, and if anything I can do to provide more information for debugging, I would be very glad to participate.

What happens when you issue docker pull ches/kafka:latest from the command line?
You can click on the Docker CLI image in the bottom left of Kitematic to issue the above command

merging this with: https://github.com/kitematic/kitematic/issues/626

Pull from command line works fine, but the error in kitematic kept happening.
The problem now solved, it seems caused by the “Unverified” label at top right corner, and after I have verified my email address, everything goes well again. Like #625 said, brainless 404 error is bad for bug reporting, which should be fixed in highest priority.


Fix existings pages move when parent_page_types is added after their creation

Fixes #10348

The test failure is unrelated to this PR (see https://github.com/wagtail/wagtail/actions/runs/4744600962/jobs/8425736951 for main)

LGTM! Merged in 23a8fe8e0e2b94d6d0f78565b70b0db2a315a998.

@gasman I wonder whether this should be cherry-picked to stable/4.1.x too? it is affected by it and is an LTS. at the same time, this is quite the edge case 🤔

Fair enough. I agree this has existed before 4.1 and is niche enough.
For anyone on 4.1 that happens to hit this, you can run something like:
from django.contrib.auth import get_user_model
from wagtail.actions.move_page import MovePageAction
from myapp.models import MyPage, MyIndexPage

index = MyIndexPage.objects.first()
user =<EMAIL_ADDRESS>
for org in MyPage.objects.all():
    action = MovePageAction(org, index, user=user, pos="last-child")
    action.execute()


Post to direct message?

Can I use this to post a file into a direct message, or does it only work for channels?

Currently you can only post to channels and private groups. I'll leave this open to track adding support for direct message though.

:+1:

Posting to direct message added in latest release

Is there a new flag to use this feature?  I tried just substituting a user name for the channel, but got "missing_scope":
echo "testing..." | ~/Downloads/slackcat-0.8-darwin-amd64 -c username
missing_scope
slackcat Slack API Error: No such channel, group, or im

I tried @username and '@username', too, same error.  Messaging channels still works fine.

@toejough -- there is no specific flag, but the feature does require a new permission scope(users:read) to work. You should be able to enable this by re-generating a new token with --configure.

Great! Glad you're enjoying it :)


Install git prompt

This is to add a prompt asking user to install Git for Windows if git is not found.

Codecov Report

Merging #677 into master will decrease coverage by 0.01%.
The diff coverage is 0%.

@@            Coverage Diff            @@
##           master    #677      +/-   ##
=========================================
- Coverage    2.61%    2.6%   -0.02%
=========================================
  Files         310     311       +1
  Lines       11621   11641      +20
=========================================
- Hits          304     303       -1
- Misses      11317   11338      +21

Impacted Files
Coverage Δ

...tension/GoogleCloudExtension/Resources.Designer.cs
1.02% <ø> (-0.07%)
:arrow_down:

...loudExtension/Utils/ValidateGitDependencyHelper.cs
0% <0%> (ø)

...loudExtension/SourceBrowsing/SourceVersionUtils.cs
0% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Thanks for the comment, please take a look again.


fix: ensure cursor readPreference is applied to find operations

NODE-3129

LGTM 🚀
Should we add tests to catch this?

Agreed, could be just a unit test on execute that mocks out the server.

Added a ticket to add the test: NODE-3172


Added support for Messaging. Added testcase and mocked responses.

Lint report for commit a4f1848057a67a5c2600d284906947ee4176f56f:
Everything seems all right from lint perspective :smile: .
Commit inspection report:
No commit flaws detected.

CFME QE Bot


Remove incorrect notice in Transformations documentation

Previously, it claimed that only IDENTITY and TRANSFORM_EXPAND | TRANSFORM_STRIP_ALPHA worked, but this is no longer true.

It would probably be better to still somehow indicate which transformation do and don't work

See: #252


Validate persistent system config files after writing

Regarding the files caaspctl puts in modprobe.d and sysctl.d, there should be validation that these files work as expected on the system.  If we only put the files in place and do not validate them, then it's possible that they won't load as expected on the next reboot.  Depending on when the next reboot happens, this could be far enough in to the future that the cluster admin won't remember to check.
Excerpt from post by @dannysauer in https://github.com/SUSE/caaspctl/pull/98 :

If a file doesn't end in .conf, it doesn't get loaded on boot, so a reboot still brings you back to the old settings.
The main benefit to applying the file is that the file is tested, so it'll definitely work on reboot.  As-is, nothing tests that the file contents will do what's expected until the next reboot.  Based on the code, there's no reason that the file wouldn't work - except for the (hopefully) unlikely situation where the file is created with incomplete contents.  Maybe caaspctl is interrupted, or the network fails, or etc.  I haven't looked at the file copy code, but hopefully it already writes to a temporary file in the same directory and then renames to the final name, preventing that situation?  If not, then it should. Any config file edit should be fully atomic; any possibility of generating a partial config file should be avoided.

While this is certainly desirable, I think we can close this given the current state of the project.


Don't assume the project is hosted at the root

Require package.json in webpack.config.prod.js and use homepage if set; otherwise use '/'

Fixes #21

Thank you for your pull request and welcome to our community. We require contributors to sign our Contributor License Agreement, and we don't seem to have you on file. In order for us to review and merge your code, please sign up at https://code.facebook.com/cla - and if you have received this in error or have any questions, please drop us a line at<EMAIL_ADDRESS>Thanks!

@sotojuan Looks like @dhruska beat you to it—did you have a similar implementation in mind? Are there any edge cases you can see here?
@dhruska Thanks for contributing! I’ll review next week, I need to get some sleep after releasing. 😄 Next time I’d appreciate if you coordinated on the issue first because it’s frustrating when somebody already starts their work, and then somebody else submits a PR.

Thank you for signing our Contributor License Agreement. We can now accept your code for this (and any) Facebook open source project. Thanks!

Yeah that looks fine, no problem! Looks good @dhruska!

@sotojuan and @gaearon, I should have made a note that I was taking a look at this one - that's my fault, my apologies.
@gaearon, sounds great - I suppose we should make a mention of this in the README potentially?

@dhruska Yep, should do this as part of #92.
Can you please look into why travis fails?

I'm having trouble viewing the build details - getting The repository at facebookincubator/create-react-app was not found.. Potentially a permissions issue?
As for the README do you think we should mention that the prod package url is read from package.json, or put that in the creation flow?

Travis log:

I’ll check in with our team about Travis permissions, stay tuned 👍

For now you can run sh ./tasks/e2e.sh

If you push again, Travis should pick this up now. We fixed permissions.

This looks very good. The only problem I see so far is that our instructions no longer work in this case:
You can now serve it with any static server, for example:
  cd build
  npm install -g http-server
  hs
  open http://localhost:8080

Not sure how to fix this yet.

Let’s change the message to
Successfully generated a bundle in the build folder!
You can now deploy and serve it from <homepage>.
The bundle is optimized and ready to be deployed to production.

You will also need to add a section in howto (template/README.md).
Ideally there should be a walkthrough on publishing to GH pages.

A great start would be to:

git checkout -b gh-pages (if never created)
npm run build
git add . && git commit -m "some commit message"
git subtree push --prefix build origin gh-pages

git subtree push --prefix build origin gh-pages

TIL.

I learned that today too! Haha

Wow, that is awesome!

FYI, I continued this in #162.


A new leader must be selected when the first leader times out

Ref #222
When a leader times out, a new leader should be deterministicaly selected.
This involves:

timing out after receiving no leader response when sending newviews
checking/tracking leader connectivity (at some point we need to decide that they are offline)
sending a new set of NEWVIEWS to a new leader

Closed in #373 #321 #307 #350 #338


combined uid fields for customTypes to support i18n

Feature request
Summary
Allow an array of keys for customTypes.uid config field and create a combined key with it.
Why is it needed?
If i18n is enabled, Strapi will store two entries for each type instance. Right now the customTypes.uid field only accepts one key. It would be great to be able to set an array of keys to be able to also store multiple documents for customTypes which have i18n enabled.
Suggested solution(s)
customTypes: [
                {
                    configName: 'product',
                    queryString: 'api::product.product',
                    uid: ['productId', 'locale'],
                }]

Even better! Have at it :)

@tilman if you have any questions or need help with this don’t hesitate to contact me 🙃

Sure! I think I'm nearly done. Will open a new PR in a few minutes so we can discuss on the changes :)

Released with v1.0.0-beta.5


Readline edit shortcuts for command bar

VIT 2.x does not yet have a full compliment of Readline shortcuts. Currently only 'go to line beginning' and 'go to line end' are implemented.

I'd like to help with these. Are all shortcuts really needed though? It seems there are a lot of obscure ones on Readline User Interface. Wouldn't these ones here, under Cursor Movement and Copy & Paste, be enough?

I had only planned on implementing a subset of the shortcuts for sure.
Here are the ones on my short list:
Jump backward one character 	Ctrl + B / ←
Jump backward one word 	Meta + B
Delete one character 	Ctrl + D
Delete one word 	Meta + D
Jump forward one character 	Ctrl + F / →
Jump forward one word 	Meta + F
Delete previous character 	Ctrl + H
Transpose characters 	Ctrl + T
Kill (cut) forwards to the end of the line 	Ctrl + K
Kill (cut) backwards to the start of the line 	Ctrl + U
Kill (cut) forwards to the end of the current word 	Meta + D
Kill (cut) backwards to the start of the current word 	Ctrl + W
Clear screen 	Ctrl + L (already implemented as 'refresh current report')
Go to beginning of line    Ctrl + A (already implemented)
Go to end of line    Ctrl + E (already implemented)

This project would probably be a good place to start: https://github.com/rr-/urwid_readline
IIRC it's overkill on features, and I don't really want to add another dependency, but it would probably at least shorten the implementation curve.


without training code

Excuse me, will training code be provided?

We don't currently have a plan to release training code. You can find-third party implementations like this one


Integral equations

Add basic functionality for describing and solving integral equations. Note that this PR adds several dependencies to WavePropBase, and thus changes the philosophy that it should be kept dependency light. It avoids, in turn, having to maintain too many packages.

It also adds a default format, and an CI action to check that the code is properly formatted.


Authoring generator throws Win32Exception for methods with WindowId parameters

Describe the bug
Just noticed the following failure when using WindowId as a parameter for a method:

"CSC : warning CS8785: Generator 'SourceGenerator' failed to generate source. It will not contribute to the output and compilation errors may occur as a result. Exception was of type 'Win32Exception' with message 'Incorrect function'."

To Reproduce

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net8.0-windows10.0.22621.0</TargetFramework>
    <Platforms>x64;ARM64</Platforms>
    <CsWinRTComponent>true</CsWinRTComponent>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.Windows.CsWinRT" Version="2.0.4" />
  </ItemGroup>
</Project>

using Windows.UI;

namespace MinimalWinRTComponentTest;

public sealed partial class MyClass
{
    public void Test(WindowId id)
    {
    }
}

Expected behavior
Should work fine..?
Version Info

Latest AOT previews for CsWinRT and Windows SDK (as of January 6th 2024)
Also reproes on normmal 2.0.4

Mmh actually this seems to be failing even with no parameters at all. Not exactly sure what's going on 🤔

Can reproduce. Initial suspect is that you didn't specify CsWinRTWindowsMetadata. Turning on detailed verbosity to be sure.


jsk sync command broken on dpy master

Summary
The sync command is broken when using the master version of discord.py (and soon discord.py 2.4).
Reproduction steps
Use the master branch of discord.py:
discord.py @ git+https://github.com/Rapptz/discord.py@08b138cc71fea5594c068082ee565a05cde2c7fa
Attempt to sync
Expected results
The syncing of my command tree
Actual results
The sync command errors, giving the following traceback:
Ignoring exception in command jishaku sync:
Traceback (most recent call last):
  File "/home/me/bot/.venv/lib/python3.11/site-packages/discord/ext/commands/core.py", line 235, in wrapped
    ret = await coro(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/j/bot/.venv/lib/python3.11/site-packages/jishaku/features/management.py", line 242, in jsk_sync
    payload = [command.to_dict() for command in slash_commands]
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/j/bot/.venv/lib/python3.11/site-packages/jishaku/features/management.py", line 242, in <listcomp>
    payload = [command.to_dict() for command in slash_commands]
               ^^^^^^^^^^^^^^^^^
TypeError: Command.to_dict() missing 1 required positional argument: 'tree'

Checklist

[X] I have updated discord.py and jishaku to the latest available versions and have confirmed that this issue is still present
[X] I have searched the open issues for duplicates
[X] I have shown the entire traceback, if possible
[X] I have removed my token from display, if visible

System information
JSK 2.5.2
discord.py @ git+https://github.com/Rapptz/discord.py@08b138cc71fea5594c068082ee565a05cde2c7fa

Right after posting this, I found a PR that supposedly fixes this: https://github.com/Gorialis/jishaku/pull/230

Same issue here
Traceback (most recent call last):
  File "C:\Users\Administrator\Documents\Hade Manager\venv\Lib\site-packages\discord\ext\commands\core.py", line 235, in wrapped
    ret = await coro(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Administrator\Documents\Hade Manager\venv\Lib\site-packages\jishaku\features\management.py", line 242, in jsk_sync
    payload = [command.to_dict() for command in slash_commands]
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Administrator\Documents\Hade Manager\venv\Lib\site-packages\jishaku\features\management.py", line 242, in <listcomp>
    payload = [command.to_dict() for command in slash_commands]
               ^^^^^^^^^^^^^^^^^
TypeError: Group.to_dict() missing 1 required positional argument: 'tree'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\Administrator\Documents\Hade Manager\venv\Lib\site-packages\jishaku\features\invocation.py", line 168, in jsk_debug
    await alt_ctx.command.invoke(alt_ctx)
  File "C:\Users\Administrator\Documents\Hade Manager\venv\Lib\site-packages\discord\ext\commands\core.py", line 1650, in invoke
    await ctx.invoked_subcommand.invoke(ctx)
  File "C:\Users\Administrator\Documents\Hade Manager\venv\Lib\site-packages\discord\ext\commands\core.py", line 1029, in invoke
    await injected(*ctx.args, **ctx.kwargs)  # type: ignore
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Administrator\Documents\Hade Manager\venv\Lib\site-packages\discord\ext\commands\core.py", line 244, in wrapped
    raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: TypeError: Group.to_dict() missing 1 required positional argument: 'tree'

Any updates on this?

Still experiencing this issue even with 2.4. Had to make my own sync command until the PR is merged.

#235 should have fixed this. Try installing a development version and see if it fixes it.

#235 should have fixed this. Try installing a development version and see if it fixes it.

Oops, I didn't see that this was fixed on master branch. Everything is working now. When will be there a new release?

Closed by #212


Preserve first line's leading whitespace on paste

This affects the behavior of copy/paste when Auto Indent on Paste is turned off, i.e. in whitespace-sensitive languages. I think it will make things more intuitive for people. Selecting groups of lines and pasting them at column zero now works as expected.
Note that the relative indentation of the copied text is still preserved on paste, as before.
This change removes one 'Public' method - Selection::normalizeLines. I thought of deprecating it, but it implemented a behavior that this PR removes, and no package calls it.
Closes #4272.

Thanks very much guys - was driving me crazy before finding this


Example of non-blocking WebSocket client

I would be interested to see an example implementation using the websockets library of the async client that is described in the below thread using the websocket-client library.
https://stackoverflow.com/questions/29145442/threaded-non-blocking-websocket-client?rq=1&utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa

#!/usr/bin/env python

import asyncio
import websockets

async def hello():
    async with websockets.connect('ws://echo.websocket.org/') as websocket:
        for i in range(100):
            await asyncio.sleep(1)
            websocket.send("Hello %d" % i)

asyncio.get_event_loop().run_until_complete(hello())

(untested, but should work)
Find more examples in the docs: http://websockets.readthedocs.io/en/stable/intro.html#common-patterns


Update pkgs for CVEs

related issues:
https://issues.redhat.com/browse/ACM-3720
https://issues.redhat.com/browse/ACM-3171

/cc @RobDolares

/test lint-check-unittests-sonarcloud


add VND currency

add Viet Nam Dong currency

@tarzan115 can you resolve the conflicting file, then I will merge this PR :)

@jeppestaerk I have resolved the conflict file, please take a look.


allow concurrent Puts and proxied Gets

At the moment, bazel-remote only allows a single concurrent Put for a given blob. If another Put starts, while one is ongoing, we discard the second copy and return quickly, but the blob is not yet available. This can cause trouble for the second client, which assumes that the blob is available as soon as its Put finishes. The same problem also exists for Get calls when using a proxy backend.
I guess this was not a problem when bazel-remote was first written and only supported the http cache protocol, because bazel serializes those requests more than it does with the newer gRPC protocol. With gRPC, a single bazel client is able to hit this problem.
This change refactors disk.Cache to allow concurrent Puts and proxied Gets, by reserving space in the LRU index and using pseudo-random tempfiles, While I was at it I extracted some common code into a couple of functions and reuse them in both Put and Get.
Hopefully this fixes #267 and #318.

@buchgr: any thoughts on this change?
@ulrfa, @lizan: please let me know if you're able to test this with your builds.

Thanks @mostynb . Taking a look!

Thanks @mostynb . Taking a look!

The diff is a bit confusing, it might be easier to look at the entire file:
https://github.com/buchgr/bazel-remote/blob/1621686f98d07baefc117f5e57a8c068a3b160c9/cache/disk/disk.go

@mostynb I was able to test at 7c1e9bd2305b521be0baecb86b0a4f696e26d44e and it fixed my issue.

@mostynb @buchgr thank you for working on this, any update?

@mostynb @buchgr thank you for working on this, any update?

I will do another pass on this and try to land it next week.

Hello @mostynb,
We have similar issue when using bazel 3.4.1 and bazel-remote:master instance with s3 storage as remote-cache.
I've just deploy bazel-remote from your branch on our server but it's not resolving this issue.
WARNING: Reading from Remote Cache:
BulkTransferException
WARNING: Writing to Remote Cache:
BulkTransferException

or
WARNING: Reading from Remote Cache:
ClosedChannelException

Let me know, if I could help you with testing your fix.

@dstranz: are there any errors in bazel-remote's logs when you encounter this error? And do the bazel client errors mention any specific blob hashes that we can look for in bazel-remote's logs?

@mostynb I will try to compare build output with bazel-remote logs tomorrow and let you know.

@ulrfa, ... please let me know if you're able to test this with your builds.

I had a long summer vacation and is now trying to catch up. I will try to find time to review and test next week.

@mostynb Looking into bazel-remote logs was a very good point. I figure out that our issue was related to s3 configuration - after fixing it everything works perfectly.

I don't have access to a setup for high concurrency testing at the moment, So I have been mostly checking for correctness.

At Ericsson we deploy bazel-remote on 72 core machines. I plan to allocate some of them during the coming weekend, and evaluate if holding the mutex during syscall.Rename and os.Open, affects build performance or not, when there are many concurrent GET and PUT.
The previous conversation is easily lost in the collapsed code review for outdated code above. @mostynb, do you have more reflections about embedding both hash and size in the file path, to potentially reduce the need for holding mutex during the syscalls?

At Ericsson we deploy bazel-remote on 72 core machines. I plan to allocate some of them during the coming weekend, and evaluate if holding the mutex during syscall.Rename and os.Open, affects build performance or not, when there are many concurrent GET and PUT.

Thanks- that would be really useful.

The previous conversation is easily lost in the collapsed code review for outdated code above. @mostynb, do you have more reflections about embedding both hash and size in the file path, to potentially reduce the need for holding mutex during the syscalls?

Unfortunately I think it might be racy, eg:

abc-111 is in the index and on disk
request 1: add abc-222 to disk
request 1: add abc-222 to index
request 2: add abc-111 to disk
request 1: remove abc-111 from disk (no lock)
request 2: add abc-111 to the index
request 2: remove abc-222 from disk (no lock)

A more complicated version might work, where we write to files of the form .tmp then move them to .done and then insert them into the index (including a field with the  string). If we're replacing an item in the index then we remove the old .done file from disk after releasing the lock. That way there is much lower chance of collision between racing requests.
But I think this change is large enough that we should land it in the more safe version (removing the files while holding the lock), and then follow up with an optimisation if it's too slow. Changing the on-disk format in this way probably requires a major version bump.

Perhaps a {hash}-{size} named file would not have to be removed by a later PUT of same hash but different size. Instead a new entry could be added to the LRU’s double linked list, and the original entry could still be in the double linked list and be evicted the normal way. That might involve having hash+size as key in the LRU, just as the gRPC protocol seems to do conceptually. And for HTTP with unspecified size, complement with an additional map in LRU with only hash as key, towards the most recent regardless of size. I think that could avoid the problematic race and still not require holding mutex during syscall.Rename.
However, I hope to get a chance to benchmark during the weekend. If no significant performance penalty, then we don’t need to bother about this and can keep it simple. :-)

I benchmarked three alternative implementations using mutexes in different ways:

mutex rename = Almost identical to 983d785 from mostynb:concurrent_inserts
mutex minimal = As mutex rename, but releases the mutex during syscall.Rename in commit.
mutex open + rename = As mutex rename, but keeps the mutex locked also during os.Open in availableOrTryProxy.

Each implementation is benchmarked in two different scenarios. Each scenario is executed using up to 87 bazel clients started in parallell, for generating the load. Each client on separate machine. The bazel-remote server is deployed on a machine with 72 logical processors (2 x Xeon 6154) and 2 x 10 Gbit network interface (link aggregation).
Scenario A: 0% Cache Hits

All clients doing same build, but with unique dummy –action_env to trigger cache misses.
Each bazel client send:
~7000 HTTP GET requests for non existing AC entries,
~30 000 HTTP PUT requests for uploading AC and CAS entries.
No HTTP HEAD. No gRPC.
Nothing evicted from cache during benchmark.
Bazel-remote scales really well if not holding mutexes during system calls.
The graph indicates holding mutexes during syscall.Rename, starts to cause lock contention issues from 50 concurrent bazel clients. Increases build times 70% at 87 clients.
The SSD seems to handle the load. Messured Write IOPS peek at 65 000 and sustained 35 000. (But it could be interesting to see how much time f.sync() takes...)

Scenario B: 100% Cache Hits

Each bazel client send:
~36 000 HTTP GET requests downloading AC and CAS entries.
No HTTP PUT, No HTTP HEAD. No gRPC.
Almost no disk accesses, all data already in kernel’s RAM file system cache.
The 2 x 10 Gbit network interfaces become saturated from ~30 concurrent clients.

Thanks for running these benchmarks. Here are some initial questions/notes:

Did you hit eny errors during testing?
In the hot-cache/100% cache hit scenario, it looks like "mutex rename" performs pretty well. And since the network connection is saturated we might need to wait for something like https://github.com/bazelbuild/remote-apis/issues/147 to improve on this significantly.
There's clearly room for improvement over "mutex rename" in the cold-cache/0% cache hit scenario, but hopefully this isn't a common case to be in.
Re f.Sync(), there's an old issue about this being slow on Mac hardware (#67). I had a prototype for working around this, but it has gone stale.

Thanks!
I believe the logic is correct, and did not notice any errors (related to this commit) during the load test.
If you decide to merge 983d785 now, despite the performance degradation, then it could perhaps be considered to embed both hash and file size in file path strings, the next time the on-disk format is changed for other reasons? (or address the degradation in other ways)
For the hot-cache/100% cache hit scenario, with saturated network interface, I agree that something like bazelbuild/remote-apis#147 and/or https://github.com/bazelbuild/bazel/issues/6862 would be needed.

Thanks!
I believe the logic is correct, and did not notice any errors (related to this commit) during the load test.
If you decide to merge 983d785 now, despite the performance degradation, then it could perhaps be considered to embed both hash and file size in file path strings, the next time the on-disk format is changed for other reasons? (or address the degradation in other ways)

This PR is pretty large already, I think it's best to land it with the potential performance hit but continue working on improvements to see if we can win some of that back. This is surely faster than a failed build.
We can change the on-disk format later if needed (and probably bump the version number to 2.0.0 in that case).

For the hot-cache/100% cache hit scenario, with saturated network interface, I agree that something like bazelbuild/remote-apis#147 and/or bazelbuild/bazel#6862 would be needed.

We can continue optimising after we get compression support (builds-without-the-bytes are already supported of course).

Thanks @mostynb! Sounds good!


locationsharinglib 3.0.6 has requirement requests~=2.19.1

Home Assistant release with the issue:

0.81.1-0.81.6
Last working Home Assistant release (if known):
0.81.0
Operating environment (Hass.io/Docker/Windows/etc.):

hassbian (RPi3b)
Component/platform:

locationsharinglib
Description of problem:
When trying to upgrade HA to latest version with "hassbian-config upgrade homeassistant" i get following warning and offer to revert whole process:
locationsharinglib 3.0.6 has requirement requests~=2.19.1, but you'll have requests 2.20.0 which is incompatible.
Installing collected packages: requests, homeassistant
  Found existing installation: requests 2.19.1
    Uninstalling requests-2.19.1:
      Successfully uninstalled requests-2.19.1
  Found existing installation: homeassistant 0.81.0
    Uninstalling homeassistant-0.81.0:
      Successfully uninstalled homeassistant-0.81.0
Successfully installed homeassistant-0.81.6 requests-2.20.0
Deactivating virtualenv
Config check failed for new version, do you want to revert? [Y/n] :

Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):

Traceback (if applicable):

Additional information:
Haven't tried to continue, because I don't want to risk breaking my instance.

I found out that I need to update locationsharinglib to version 3.0.7. Maybe it would be fine if this was included in upgrade too.

Was addressed with https://github.com/home-assistant/home-assistant/pull/18083.

Is there some ETA when it will be live in master branch? Thank you


pico_aon_timer pulls in a lot of C Lib code on RP2040

See https://github.com/micropython/micropython/pull/15619

We should offer both time and date based libraries perhaps, and/or at least let people plug in their own conversion routines if they already have them

Since this is worked-around in MP i'm gonna push this to 2.2.0 as I don't have a magic bullet for the general case

actually changed my mind again

merged into develop


fixed IllegalStateException

when parsingContextFactory reduces the number of tokens.
Added a test (reparseWithComment) that failed before, passes after.

Added a commit for the similar problem. We were testing tokens directly instead of parsingContext.getTokens(). Added a test (comment at the beginning).


Page crash in Safari

Opening CreepJS in the latest stable Safari (15.3 - 176<IP_ADDRESS>.5) crashes the whole tab (after a page flicker), the following message appears:

No error messages in the debugger console, so it might be hard to find the root cause.

🤔 This appears to occur during webgl rendering at or following gl.linkProgram, and no error gets thrown on crash. Near all samples at webglsamples.org are encountering the crash too.
These bugs appear related:

https://bugs.webkit.org/show_bug.cgi?id=235515
https://bugs.webkit.org/show_bug.cgi?id=235594

@kkinnunen-apple fyi

Hmm, I tried the samples at https://github.com/WebGLSamples/WebGLSamples.github.io#webgl-samples but none of them crash for me. Same for the URLs mentioned in the bug reports - those might be separate issues on the mobile Safari browser. On the desktop browser, I haven't been able to find another page that crashes Safari yet.

I'm guessing the webgl sample crashes occur due to my low-end machine... fpjs, browserleaks, amiunique, and coveryourtracks all crash via the same webgl method (triggers at gl.drawArrays).
Unrelated to webgl, the use of FontFace.load() in workers crashes, but not in 15.4.

I just reduced the data captured in the worker scope. I'm not sure if that resolved this, but the issue appears gone in 15.3.
Closing for now, but let me know if the issue persists.


[PROPOSAL] Add more finalizers to OpenSearchCluster resource

We are trying to make some automation that will periodically create and delete Opensearch cluster and its resources (Users, Roles, etc). While creation works fine, we are facing issues during cluster deletion. The main problem is that you need to track the order of each deleted resource, e.g. you should first delete Users, Roles and only after that delete Cluster, otherwise all resources will stack with uncleared finilazer.
It would be nice if Operator could track all these resources and prevent deleting the cluster until child resources are still present.
e.g.:
Currently, Cluster has a single finalizer:
  finalizers:
  - Opster

and we could make it like
finalizers:
  - cluster
  - users
  - roles
  ...

So ideally, we could just execute kubectl delete ns opensearch and it will delete all resources in proper order.

[Traige]
Hey @evheniyt can you please share if you have noticed any orphaned left over resources or failed to delete ?

hi guys, I have double checked everything one more time and looks like operator works fine in terms of cleaning resources if Cluster was deleted.
In my specific case, I was removing the Operator itself before it could finish cleanup process, closing this.

Thanks for the update @evheniyt.
@getsaurabh02 @peterzhuamazon


[Forwardport] Need UI for creating RKE templates from a existing cluster

Forwardport of rancher/rancher#23325

Tested with mater-head using UI-index latest2
Feature to export a RKE template through UI from an existing cluster is functional.

The template/revision exported is displayed in the RKE templates page. Creating new revisions from the template is also functional through UI.


feat: Add OpenSearch support

https://developer.mozilla.org/en-US/docs/Web/OpenSearch

Ping?

Thank you for the PR, @BYK, and apologies for the slow slow reply! This looks great. I'll take a closer look at it in the near future and let you know if I have any feedback before merging.

@itsojon ping? :D


Avoid defaultUserInstanceID reducer error

Summary
The defaultUserInstanceID reducer was returning undefined. This means action.data.user was defined, but action.data.user.default_instance_id was not present. This PR protects against this so no error happens.
I'm not sure why the websocket message on community has an entirely different structure for the user property in the following websocket messages:
Correct websocket message I see locally
 {
  "event": "custom_jira_connect",
  "data": {
    "can_connect": false,
    "instances": [
      {
        "instance_id": "http://localhost:8080",
        "type": "server"
      },
      {
        "instance_id": "https://mmtest.atlassian.net",
        "type": "cloud"
      },
      {
        "instance_id": "http://dkh-jira.ngrok.io",
        "type": "server"
      }
    ],
    "is_connected": true,
    "user": {
      "connected_instances": [
        {
          "instance_id": "http://localhost:8080",
          "type": "server"
        },
        {
          "instance_id": "https://mmtest.atlassian.net",
          "type": "cloud"
        },
        {
          "instance_id": "http://dkh-jira.ngrok.io",
          "type": "server"
        }
      ],
      "default_instance_id": "https://mmtest.atlassian.net",
      "mattermost_user_id": "j6couwhw6brkdgm1w1x1gy8sbw"
    }
  },
  "broadcast": {
    "omit_users": null,
    "user_id": "j6couwhw6brkdgm1w1x1gy8sbw",
    "channel_id": "",
    "team_id": ""
  },
  "seq": 7
}

Community websocket message that causes the error
{
  "event": "custom_jira_connect",
  "data": {
    "can_connect": false,
    "instances": [
      {
        "instance_id": "https://mattermost.atlassian.net",
        "type": "cloud"
      }
    ],
    "is_connected": true,
    "user": {
      "id": "",
      "delete_at": 0,
      "username": "",
      "auth_service": "",
      "email": "",
      "nickname": "",
      "first_name": "",
      "last_name": "",
      "position": "",
      "roles": "",
      "locale": "",
      "timezone": null
    }
  },
  "broadcast": {
    "omit_users": null,
    "user_id": "9bhmru975pypfcajzb9i5zcd1r",
    "channel_id": "",
    "team_id": ""
  },
  "seq": 12
}

Ticket Link
Fixes https://github.com/mattermost/mattermost-plugin-jira/issues/646

Codecov Report

Merging #650 into master will decrease coverage by 0.03%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #650      +/-   ##
==========================================
- Coverage   34.53%   34.50%   -0.04%
==========================================
  Files          51       51
  Lines        5684     5684
==========================================
- Hits         1963     1961       -2
- Misses       3528     3530       +2
  Partials      193      193

Impacted Files
Coverage Δ

server/subscribe.go
68.51% <0.00%> (-0.39%)
:arrow_down:

Continue to review full report at Codecov.

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

@levb On the community server, the custom_jira_connected websocket message doesn't seem to have the right structure, which is causing a JS error after the user creates a Jira issue. The user field looks like a MM user, instead of having fields like default_instance_id. Please take a look at the PR description to see the diff of websocket messages.
This is what should be generated for the user field:
https://github.com/mattermost/mattermost-plugin-jira/blob/dcf1c651b268825b9f4ae87001f7551ae5e87eac/server/user.go#L160-L166

Just looked through the code and I don't have an explanation for the JSON message observed. Is it possible that your user record on Community is wrong?

@levb I'm thinking there may be an older version of the Jira plugin running on a particular node on community somehow. I don't see how this could be a data issue, must be code related.

@mickmister I checked. Does it still happen for you? Maybe it got reset when beta2.1 was deployed?

@levb It's not happening anymore, and I'm fairly sure I was able to reproduce every time, so it's probably not an issue now. I do wonder how it was happening though.

@jfrerich I'll let @DHaussermann make the call, but I think this is safe to merge with or without a smoke test

@mickmister or @jfrerich not sure what to do about this PR. This does not repro for me when I create Jira issues. I see no such JS error on Jira V3 Beta2. I have tested with 1 and multi instances and tested against mutiple server version including master.
That being said, there is not much I can validate here with functional testing. I did deploy this change and see no changes in dev console when an issue is created so seems fine to merge :)
I am curious if this is maybe defensive code to prevent a case that I was not running into? I would say merge it and I will follow-up with one of you to get an understanding of the technical problem that was solved here.

This does not repro for me when I create Jira issues. I see no such JS error on Jira V3 Beta2. I have tested with 1 and multi instances and tested against multiple server version including master.

@jfrerich I'm just realizing that you were referring to the master branch of the plugin and not the server version you were running. This would explain how I could not see the issue on the release build. Sorry for the misunderstanding.

@DHaussermann We believe this was an anomaly happening on community. I have not been able to repro it locally because I think what was happening was two different versions of the plugin were running simultaneously. One was V3 and one was pre V3. The frontend received a websocket message with a structure that only a V2 instance would make, and there wasn't good handling of that in the plugin's webapp code. This is mostly just a fix to avoid unintentionally hitting this error.


Implement redact_room_event + tests

Implements redact room event.
I'll be the first to admit this isn't the most elegant solution since the function has 6 params.
However, I couldn't think of a much better solution then implementing a special type for it, which feels wasteful.
Let me know what you think, happy to make any changes.

A note on transaction_id: I'll open an issue about this, but I've been generating it in RoomEvent. I now think the first version of this wrapper shouldn't include that as it entails storing state so passing it in is a good call +1
Ha well I guess I did it by accident, but yes if the txId is stateful then we will need a different approach.

(One of the recommended ways to generate it is incrementing a number prepended with the startup timestamp of the server)
Thoughts?

I think it makes sense to go with the recommended approach. The Elixir implementation I'm imagining would use an Agent process to contain the state. This would be spawned by the supervisor. Since it is sort of a convenience feature I think it belongs one layer above from the thin wrapper. We can discuss this more in the issue thread.

In light of #57 I've been thinking of an alternative implementation. I would like to use RoomEvent but it feels a bit forced currently.
We can add an optional event_id field to https://github.com/niklaslong/matrix-elixir-sdk/blob/master/lib/matrix_sdk/room_event.ex#L3
type field would be filled in with an empty string, and content could be filled with the opt map or an empty map.
I'm thinking something like this:
  room_event = %{
    content: %{reason: "Indecent material"},
    room_id: "!someroom:matrix.org",
    type: "",
    transaction_id: "transaction_id",
    event_id: "event_id"
  }

Optionally:
  room_event = %{
    content: %{},
    room_id: "!someroom:matrix.org",
    type: "",
    transaction_id: "transaction_id",
    event_id: "event_id"
  }

The empty content and type fields is a little weird, but not the big of a deal since this is all getting wrapped with a higher level client eventually.
Thoughts?

There is a redact event: https://matrix.org/docs/spec/client_server/r0.6.1#id40
For this endpoint I'd suggest passing all the arguments in, as it is meant to be a convenience function; wrapping it in a RoomEvent seems a little forced to me, especially as we'd be modifying the struct just for this case.


Follow-up questions

Hello,
I am building a smart mirror using the MagicMirror2 repository, and a Rasberry pi model 3b
I installed the module MMM-awesomealexa. Everything is working fine, but Alexa doesn't accept follow up questions even though I enabled the follow up questions option in the alexa app/website.
Any help?

can i ask how you got the format to work? did you modify anything when I add to bottom left my bottom right module stretches across the middle


pull request for e2e test at 12/25/2016 02:56:10

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


Meta issue: evented data models

We have a number of open PRs now integrating the new evented dataclass (#1475)  and list models (#1444).  I agree with @sofroniewn (https://github.com/napari/napari/pull/1489#discussion_r457582221) that this is working well to identify problem areas in these base objects and iterate before merging them into master.  It does require cleaning up periodic merge conflicts in these PRs, and makes each PR look temporarily larger than it really is... but I think it's worth sticking with it for a bit.  Creating this issue to track them:
Base PRs

[x] #1475 adds the new @dataclass decorator with (events=True, properties=True), creating a model that emits an event whenever it changes, and providing a concise syntax for getter/setter type transformations.  (This is an implementation of ideas proposed in issues #1436 and #1325)
[x] #1444 adds a new EventedList model - a concrete implementation of abc.MutableSequence that emits events when the sequence changes.  It also provides a NestableEventedList model that handles nested indexing (eg my_list[1, 4, -1]) and bubbles all events emitted by deeply nested children up to the root object.

Integration PRs

[ ] #1485 (depends on #1475) turns the new TextManager into an evented dataclass.
[x] #1486 (depends on #1444) uses the EventedList in Dims ... deprecates some old attributes, and may also bring in the dataclass from #1475
[ ] #1489 (depends on #1475) turns the ViewerModel into an evented dataclass.

changes to the dataclass decorator or the EventedList model in any of these integration PRs should be merged back into either #1444 or #1475 ... and then all of the integration PRs should merge the new change
Principles

the declaration of a model class should be clean and easy to read, with the main attributes front and center, along with type annotations.
changing any of the main attributes will automatically emit an event, where event.type is the name of the attribute and event.value is the new value for the attribute.
for common type coercion during setting getting (like converting a string to an enum and back) should be possible with minimal boilerplate by passing a transform function to an Annotated type declaration.
while _on_<name>_set/_on_<name>_get methods can be used to customize event handling and/or value getting/setting... it should be considered a last resort rather than a go-to pattern.  And the need for the override should be evaluated for potential bad designs.

These base PRs are now closed, and the integration PRs are well under way

[x] #1910 Axes
[x] #1911 ScaleBar
[x] #1912 Cursor
[x] #1913 Grid
[x] #1914 Camera
[x] #1916 Colormap

We've still got the following open

[ ] #1917 Dims
[ ] #1485 TextManager
[ ] #1489 ViewerModel

We've also got an amazing docs PR in progress too

[ ] #1965 Evented dataclass docs

Another thing to do would be add strict type checking, possibly using pydantic, see https://github.com/napari/napari/pull/1965#discussion_r532108851 and #1436 for more discussion

We've now switched over to using pydantic with #2042. I'm closing this issue


[Carry #14625] run.md: --expose does NOT override Dockerfile EXPOSE

carry of https://github.com/docker/docker/pull/14625, closes https://github.com/docker/docker/pull/14625
I kept the original commit of @SpencerBrown intact, rebased on master and applied the gists that @moxiegirl provided on the original PR
I noticed @SpencerBrown had some remarks on the last gist; https://gist.github.com/moxiegirl/ee4dbfb64f1c0191df51#gistcomment-1503908 but have not (yet) incorporated that in this PR

LGTM  --- if you can't get to the source in @SpencerBrown comments on the gist let me know.  I'll pitch /em to you.

LGTM, I discussed this with @moxiegirl, and I'm going to merge this one. Additional improvements will be made in a carry/continuation of https://github.com/docker/docker/issues/12927
Thanks again @SpencerBrown for the initial work


[Feature request] Allow typing of relative modules

Suggestion
Use case: I have a Vite / Vue app (with TypeScript). I need the bundle to have imports that are specified as:
import env from '/env.js'

...to be export as-is. The reason is that after build time, in our Jenkins promotion, I intend to create the env.js file for things like segment IDs or API endpoints (per dev / stage / prod deploy).
Vite thinks this is fine. I can set the Rollup options to treat it as an external.
The problem is TypeScript. No matter what, I can't seem to specify the type of this file to avoid a TypeScript error.
import env from '../../public/env'

// This doesn't work
declare module '/env.js' {
  const defaultEnv: Record<string, string> = env
  export default defaultEnv
}

import env from '../../public/env'

// This doesn't work
declare module '/env.js' {
  export default env
}

import env from '../../public/env'

// This doesn't work
declare module 'env.js' {
  export default env
}

// This doesn't work
declare module '/env.js' {
  let env: Record<string, string>
  export default env
}

No matter what, this throws a compilation error:
import env from '/env.js'

🔍 Search Terms
declare module js file, declare relative import
List of keywords you searched for before creating this issue. Write them down here so that others can find this suggestion more easily and help provide feedback.
✅ Viability Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

⭐ Suggestion
Allow declaring a type for a full .js path
📃 Motivating Example
This allows typing as-is imports in the finished bundle.
💻 Use Cases
Use case listed above.

Never mind! I got this to work like this:
// tsconfig.json
    "paths": {
      "/env.js": ["public/env.js"],
      "@/*": [
        "src/*"
      ]
    },


Update Release Notes format

Background
New requirements for the release process manifest itself in a separate step for release notes assessment and this places requirements on the content and verification process of the release notes as well. The release note expects certain things to be listed (e.g. known issues/missing functionality, changes since last release, etc...) and to be verified for example by a spell checker.
Task breakdown

[ ] Assess the new content requirements (see the Release Notes assessment on the Release Process confluence page) and update the Release Notes format. Basically, create an example based on the previous release.
[ ] Assess the procedural requirements (see the Release Notes assessment on the Release Process confluence page)
[ ] Write a release notes generator script to comply with both requirements and add it to the Mbed TLS project on github (the main input to the script is the ChangeLog file from the release)
[ ] Confirm with @DarshpreetSabharwal and @daverodgman that the resulting release notes and checks are compliant with the requirements (and please keep me (@yanesca) in the loop as well)

I have updated the task description to reflect recent changes.

We have been following the new release process without any complaints for years, therefore we can consider our current process and release notes format satisfactory.


feat(chart): support additional labels

@nlamirault I adjusted the metadata on the values.yaml file and ran codegen, which updates the README.md based on the metadata.
I don't want to rush into merging this, however. I wanted to asked for some clarification on the intent behind this PR.
I can definitely see the scenario where one may wish to apply additional labels to deployments or services, for whatever reasons -- reporting, identifying an owner, etc...
As you've implemented it, those additional labels do not extend to the pods managed by the deployments. For the same reasons I could see wanting to add labels of your own to deployments, I could imagine wanting those same labels on pods.
Basically, the question boils down to why one and not the other?

it was a mistake @krancour
I thought deployment template use labels
So I make a fix.

@nlamirault thanks for clarifying the intent and fixing it.
I did fix an issue with the webhook server feployment, but everything else looks great.
Thank you for the contribution!


CORE-6699 Make number of partitions configurable

Make the number of partitions and replication factor for p2p.app-received.messages configurable. This can be set in the app simulator helm chart.
To test I deployed the app simulator and overrode the defaults to partitions 27 and a replicationFactor of 2:
db:
  appSimulator:
    user: postgres

appSimulators:
   receiver:
      enabled: true
      topicCreation:
         # - the number of partitions for the p2p.app.received_msg topic
         numPartitions: 27
         # - the replicationFactor for the p2p.app.received_msg topic
         replicationFactor: 2

Then checked the app simulator logs:
08:09:59.642 [main] INFO  net.corda.libs.messaging.topic.KafkaTopicUtils {} - Attempting to create topics: [(name=p2p.app.received_msg, numPartitions=27, replicationFactor=2, replicasAssignments=null, configs={cleanup.policy=delete})]
08:10:00.256 [main] INFO  net.corda.libs.messaging.topic.KafkaTopicUtils {} - [(name=p2p.app.received_msg, numPartitions=27, replicationFactor=2, replicasAssignments=null, configs={cleanup.policy=delete})] created successfully

LGTM (build needs a look)

I will rerun this is a known issue (https://r3holdco.slack.com/archives/C037V6WVC3F/p1664798348462069).


eds generate should return nil rather than empty when no changes

According to this line, generator should return nil if hava nothing to send https://github.com/istio/istio/blob/master/pilot/pkg/xds/xdsgen.go#L102
but eds generate an empty array, when nothing changed it will send an empty array result to the client
And to help us figure out who should review this PR, please
put an X in all the areas that this PR affects.
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[X ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ X] User Experience
[ ] Developer Infrastructure
Pull Request Attributes
Please check any characteristics that apply to this pull request.
[ ] Does not have any user-facing changes. This may include CLI changes, API changes, behavior changes, performance improvements, etc.

Hi @edgar1992. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

I believe this will result in different (incorrect) behavior such that envoy will be stuck waiting forever when we fail to respond. Can you explain more what this is supposed to be fixing

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
📝 Please visit https://cla.developers.google.com/ to sign.
Once you've signed (or fixed any issues), please reply here with @googlebot I signed it! and we'll verify it.
What to do if you already signed the CLA
Individual signers

It's possible we don't have your GitHub username or you're using a different email address on your commit. Check your existing CLA data and verify that your email is set on your git commits.

Corporate signers

Your company has a Point of Contact who decides which employees are authorized to participate. Ask your POC to be added to the group of authorized contributors. If you don't know who your Point of Contact is, direct the Google project maintainer to go/cla#troubleshoot (Public version).
The email used to register you as an authorized contributor must be the email used for the Git commit. Check your existing CLA data and verify that your email is set on your git commits.
The email used to register you as an authorized contributor must also be attached to your GitHub account.

ℹ Googlers: Go here for more info.

@googlebot I signed it!

@googlebot I fixed it.

@googlebot I fixed it.

We found a Contributor License Agreement for you (the sender of this pull request), but were unable to find agreements for all the commit author(s) or Co-authors. If you authored these, maybe you used a different email address in the git commits than was used to sign the CLA (login here to double check)? If these were authored by someone else, then they will need to sign a CLA as well, and confirm that they're okay with these being contributed to Google.
In order to pass this check, please resolve this problem and then comment @googlebot I fixed it.. If the bot doesn't comment, it means it doesn't think anything has changed.
ℹ Googlers: Go here for more info.

@googlebot I fixed it.

@googlebot I fixed it.

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
📝 Please visit https://cla.developers.google.com/ to sign.
Once you've signed (or fixed any issues), please reply here with @googlebot I signed it! and we'll verify it.
What to do if you already signed the CLA
Individual signers

It's possible we don't have your GitHub username or you're using a different email address on your commit. Check your existing CLA data and verify that your email is set on your git commits.

Corporate signers

Your company has a Point of Contact who decides which employees are authorized to participate. Ask your POC to be added to the group of authorized contributors. If you don't know who your Point of Contact is, direct the Google project maintainer to go/cla#troubleshoot (Public version).
The email used to register you as an authorized contributor must be the email used for the Git commit. Check your existing CLA data and verify that your email is set on your git commits.
The email used to register you as an authorized contributor must also be attached to your GitHub account.

ℹ Googlers: Go here for more info.

@googlebot I signed it!


Build Article Template

Build new Article template, as per Mike's May 12 designs.
Note that the illustrator credit will need to be tested & adjusted at various screen sizes.

Basecamp conversation thread: https://happycog.basecamphq.com/projects/12742765-ala-ux-ia-improvements/posts/92324739/comments


Enable binding a complex object with an array element to WebApi2

I need to modify the TypeScript template for angular2 to be able to send a complex object (that has an array element) in the Get method via URI. so, instead of this generated code:
    if (filter_Filters !== undefined)
        filter_Filters.forEach(item => { url_ += "Filter.Filters=" + encodeURIComponent("" + item) + "&"; });

I want it to be:
if (filter_Filters !== undefined)
    filter_Filters.forEach((item, index) => {
        for (let attr in item) {
            url_ += "Filter.Filters[" + index + "]." + attr + "=" + encodeURIComponent("" + item[attr]) + "&";
        }
    });

how can i do this?

@rsuter
Thank you for applying my edit. hope to find it soon in the next release.

The problem with this PR: It is not allowed to set the "schema" of a query/path parameter, and thus your will never be used for a valid Swagger specification... Where do you get a Swagger spec where a query/path parameter has a "schema"?
public bool IsObjectArray => IsArray && Schema.Item?.Type == JsonObjectType.Object;

See http://swagger.io/specification/#parameterObject

"schema" is only allowed for body parameters

It's very reasonable though,

I need to pass a DataSourceRequest object to the get method's URL
public DataSourceResult<UserDTO> Get([FromQuery]DataSourceRequest dataSourceRequest)
so that it contains the paging, sort and filter paramters

public class DataSourceRequest
{
    public int Take { get; set; }
    public int Skip { get; set; }
    public IEnumerable<Sort> Sort { get; set; }
    public Filter Filter { get; set; }
}

the Filter property may be nested

public class Filter
{
    public string Field { get; set; }
    public string Operator { get; set; }
    public string Value { get; set; }
    public string Logic { get; set; }
    public IEnumerable<Filter> Filters { get; set; }
}

MVC allows this type of binding
http://stackoverflow.com/questions/17578878/using-fromuri-attribute-bind-complex-object-with-nested-array
http://stackoverflow.com/questions/31376560/complex-parameter-binding-array-of-nested-class-in-web-api
The Swashbuckle's Swagger spec (as this sample) gives the required specifications for this case.

all what I'm missing is to get NSwag handles this type of binding. and I don't care much if this handling happens in the TypeScript side or the T4 template side.

In the sample spec, your DataSourceRequest and Filter are flat parameters. Your PR will not work with that spec - we have to merge these parameters into a complex parameter first... and then decompose the instances in the client method (similar to your PR)

I appreciate your insistence of making this in the T4 side. I'm just a little afraid about the time needed to do so. It was easier for me to do it in the TypeScript side.

Honestly, I didn't test the latest commit locally before pushing it. but I did now and it worked only when I changed the IsObjectArray condition to accept None object types:
public bool IsObjectArray =>
    IsArray &&
    (Schema.Item?.Type == JsonObjectType.Object ||
    Schema.Item?.Type == JsonObjectType.None);

Is it suitable to do so? or whould break something else?

I think its better to use:
    public bool IsObjectArray => IsArray && (Schema.Item?.Type == JsonObjectType.Object || Schema.Item?.IsAnyType == true);

Is the correct code generated with this change?

Yes. and didn't try your suggestion yet.

Any can be any object, primitive types (like string and integer) must be defined... so its fine internally

I got the latest release today and enjoyed my issue fixed. :+1:  Thanks a lot. :handshake:
note that I discovered the same problem here but I'm fine with NSwag now :wink:

:+1 enjoy

According to http://swagger.io/specification/#itemsObject complex array items are not supported and your code will never be called for a valid Swagger spec:

The value MUST be one of "string", "number", "integer", "boolean", or "array".

... and thus the type is never "object" or empty (any type)


Crofting Commission

Link to the data source
https://crofting.scotland.gov.uk/open-data
Data source type (if known)
Static page
Organization(s) the data belongs to
Crofting Commission
What licences are applied to the data being published? (if known)
Unknown - page has a general copyright. TODO: Contact CC to ask for licensing info
Additional information
N/A

CC have now updated their open data page to say that their datasets are published under OGL


Add ability to select perforce client in settings

I have multiple perforce clients and would like to be able to select which perforce client a project uses, rather then create a new client. It would be great to have a setting for this, E.G. "perforce.clientName" which I could use to override the clientname.
I tried changing "perforce.command" to "p4.exe -c " but it gives an error because the value of command gets wrapped with double quotes.
To select a client you would pass -c  as an argument to p4.exe.

Looking at the code this actually is supported its just not documented. The setting is perforce.client

This feature came from a PR (#19, thanks @ralberts) but you're right, it is not documented.
My bad, I'll update the README.md file, and package.json so it can be suggested when editing VSCode settings.
Also, you can create a .p4config files at the root of your workspace to let P4 knows what should be the default values for P4CLIENT, P4USER and P4PORT.

Sorry all!  Thanks @stef-levesque !!

Now part of version 2.2.0, please update.


Added Payments Page

Added Payments Page which takes the cards of the users and saves them and shows them various payment options.
It resolves issue #140
Its working video,
https://user-images.githubusercontent.com/75881393/126878008-ebaa2839-16d9-4fbb-8a3e-3a8ea26231db.mp4

Please review this PR before merging any other PR.
@QAZIMAAZARSHAD
Its link - https://k-jais.github.io/Apni-Dukaan/

@K-jais issue was to design a payments policy page.
Go through the description once.


expected element type  but have

Hi. I use the example from the documentation, and set config.json, but in return get err
expected element type <Envelope> but have <html>
campaigns, totalCount, err := campaignService.Get(
		gads.Selector{
			Fields: []string{
				"Id",
				"Name",
				"Status",
			},
		},
	)
	if err != nil {
		fmt.Println(err.Error())
	}

I think this is because
	baseUrl = "https://adwords.google.com/api/adwords/cm/v201409"

google is no more supporting this version. So you have the html of an error page


Line numbers + Karma-based JS-testing

Line numbers are disabled by default. You can activate them in the configuration in the "Motions"-section.
In the Motion-Detail-View, you can switch the line numbering on the bottom left.
The projector-view always uses the default line numbering as set in the configuration.
What's still missing: internationalization of the strings, configurable line length & more

Nice work. Some details are still open.
Have you try line numbering with (inline) editor?


Remove automatic stdin detection

People say it's a bad idea, i.e. hard to get right. I thought that browserify was making it work somehow, so thought we could make it work too, but @substack says it's not.
Let's just make the user explicitly pass - if they want stdin, like browserify does. This will probably fix the vim and syntastic issues we've been seeing: https://github.com/feross/standard/issues/65, https://github.com/feross/standard/issues/64

Released as 3.2.0.


VC1SampleProvider

Is it possible to pass passthrough VC-1 , achieve VC-1 hardware decoding acceleration ?

Hi @sudongg, this could be possible, but I have not tried yet.
Similar to H264 and HEVC passthrough, the stream format which the decoder expects, is not what is written in the actual file stream. Some metadata and headers need to be added. So we have to manually parse metadata, then build the packets in a format which the decoder understands. Additionally, there are two types of VC-1 out there, which need to parsed differently, so we'd need two different sample providers (similar to H264).
VC-1 Bitstream converters example:
https://codereview.chromium.org/657007
Not sure if it will work that easy, but it could be worth a try. The VC1 solution should then also work for "WMV9" (which is actually WMV3): VC-1 Simple and Main profile use WMV3 encoding, only VC-1 Advanced Profile is different.

Thanks for your reply.
But I didn't find the conversion method in the example you provided.
I tried to modify H264SampleProvider and it failed.
I may have to go to the master branch to ask for help.

This one is for Simple+Main Profile:
https://codereview.chromium.org/657007/patch/2003/3014
This one is for Advanced Profile:
https://codereview.chromium.org/657007/patch/2003/3012
Of course this will need adjustments to make it work in our library. The main library Microsoft/FFmpegInterop is more or less dead right now, which is why we started this fork. Feel free to ask there, but don't expect too much.

The sample I posted are just a reference of how the output stream can be built from ffmpeg input stream. This is how it is done in Chromium, and I guess it should work for us as well. When the first sample is requested (if (!ctx->frames)), send initial header data, after that, put the actual sample, which also needs a small header applied. All following samples only send the sample with its header. The advanced profile is a bit more complicated, since we'd need to parse out some specific values from the header...

@sudongg Actually this was much easier than expected. Only after I built all that parsing into our lib, I found out that it is not even needed. So I could throw away my VC1SampleProvider and switch back to generic CompressedSampleProvider without any manual parsing. I only needed to put the extradata into codec UserData.
Please check PR #89. I also added passthrough for VP9 and MPEG2.
Note: As I said, VC-1 Simple and Main Profile is actually exactly the old WMV3 codec. So you need to enable WMV3 passthrough for VC-1 Simple and Main. Only for VC-1 Advanced Profile, the VC1 passthrough parameter needs to be enabled. But currently, both are enabled by default.

Hi lukasf, after multiple sample tests, WMV3 passthrough and VC-1 passthrough are working fine, thanks.


Use RPMBUILD macros rather than hard coded paths in openssl.spec

RT#4522
note: 1.0.2 only

+1

Merged.  Thank you!


When journal tab is updated it scrolls back to the top

When some service has a lot of text in the journal tab, it is impossible to scroll to the bottom of text field because every couple of seconds it resets back to the top.

Quick solution is to comment out this line.

I will be fixing this soon, so stay tuned.

Solved


eth2 key management

[ ] Implement v4 key files according to https://eips.ethereum.org/EIPS/eip-2335, tracking issue here: https://github.com/ethereum/eth-keyfile/issues/26
[ ] Look at integrity of writing keys to disk (https://github.com/ethereum/trinity/pull/1482#discussion_r373049134)
[ ] nice to have: HW wallet support

I don't think HW support is viable assuming we're talking in the context of the validator client since it requires a physical keypress for each signature.

there are interactive modes of operation where you just leave the HW client running and the validator client essentially pipes it hashes to sign w/in the secure chip

the bigger blocker there is getting a nice BLS implementation onto the various HW wallets which to my understanding is a stream of work that hasn't really happened yet.
from there, we would just want to drop a thin abstraction around  the HW API into the validator client


Error running app

I will just reboot it.
On Wed, Mar 30, 2022, 12:33 PM 16Prathamesh00 @.***>
wrote:

[image: Error running app]
https://user-images.githubusercontent.com/83585114/160771349-5c832139-1f9f-454a-8400-296dd6ac063c.png
—
Reply to this email directly, view it on GitHub
https://github.com/Vikrantnikumbhe/CRM_TMA/issues/1, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWQAPT3QPOQQX3WO4PQ35QLVCP4CRANCNFSM5SA43RFA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Aborted (core dumped)

WARNING: Logging before InitGoogleLogging() is written to STDERR
F0612 12:24:45.417707  7096 routing.cc:1462] Check failed: pickup < size (49 vs. 5)
*** Check failure stack trace: ***
Aborted (core dumped)

I am not sure as to what is causing this. I am repeatedly getting this. I am using multiple constraints. However, on paper, the problem looks solvable. I am using minimal examples too.

I wish the error messages were more descriptive. It turns out, I was getting the parameters from external source which were not in int() Python datatype. I just fixed it and this is solved.


Add fallback attribute to link tag

In the case that a user doesn't have access to a particular link, allow the text that would have been linked to be displayed.

Any thoughts/feedback on this feature?

Great work!  Thank-you for the contribution and thank-you for including tests!
I just had a few comments.

Thanks for the feedback! I've pushed out a new commit with your suggestions.

Thanks for the contribution!  It's been merged!


Issue with CSS injection

Using the injection method of the CSS theme, it will do nothing other than changing the font on load. Every part of Discord will be the exact same other than that, and, noticeably the shape of servers on hover. If you could fix this method, or maybe make a new .CSS for this Discord version, that might work.
By the way, I am using the unofficial BetterDiscord extension method for the web Discord, as it is what I preferably use. If this is the part messing it up or removing function, let me know.

No i can confirm its not working on the desktop app for windows either

Yea same here. It sucks too cuz it looks so good

Here's evidence too

thanks for taking an interest in the theme guys. the classes have been updated thanks to a script you can see here. i do not manually update most of my themes these days, esp my older ones.
if you see anything else broken, be sure to make an issue of it. feel free to contribute your own fixes as well. this was the first theme i ever published, so dont expect it to look nice. not that any of the other ones ive made are organized well either


navigator.serviceWorker.getRegistrations is not a function in some older Browsers

This errors blocks any other client JS code from being executed.
Example devices-browsers:
Android 5.1.1 - UC Browser 10.9.0
Android 5.1 - Chrome Mobile 39.0.0
Android 5.1.1 - Chrome Mobile 43.0.2357
Android 6.0.1 - Chrome Mobile 42.0.2311
Android 4.4.2 - Chrome Mobile 40.0.2214
Chrome 43.0.2357 - Windows 7/8

What version of next.js are you using? The serviceworker registration removal was removed.

@timneutkens thx. I'll update to latest version.