I found a bug in the current release of the one hot encoder is that it doesn't work for categories with spaces in their values. For examples data for London tube stops:

train_station

waterloo

kings cross

piccadilly

This leads to the case where the column for train_station_kings will be aliased as cross. My contribution is to solve this by replacing the whitespace in the new column name with an underscore when naming columns.
I also suggest we change the naming convention of the result to follow Gitlab's SQL style guide and prefix one hot encoded columns with an is. e.g. is_<column>_<category> being the format of the resulting columns.
Other features
I added two other features and removed the include_columns and I thought anything but the default * is very cumbersome in terms of a user experience, and I'd be much more inclined to use the output of the macro as a CTE and select a subset of cols in a subsequent CTE.
Arguments:

drop_col: (optional): Drop the column you are encoding in the resulting table, default=none (keep column)

Accepted values: [True, False]
I've added some functionality to the function by changing the arguments from include_columns to just drop_col which will drop the source_col if set to True. Default is none which will be False. I think with SQL it is much easier to keep all columns and if you want to drop columns, use this macro as a CTE above the in a DBT model.

value (optional): a field to use for the one hot encoded values instead of default of 1 and 0.

Accepted values: Any other column in the table (i.e. customer_id)..useful for general DBT modelling outside of ML. I know this isn't part of the original SKlearn package, but I thought it was fundamentally useful for DBT and general SQL, so would understand if you don't want to include it.

Validation of macro:
I validated this function by testing off my own branch with a Snowflake database, so I would advise that perhaps this should be tested separately on Redshift, Postgres & BQ.
The previous design had a default__one_hot_encoder and a snowflake__one_hot_encoder. This PR works on snowflake and I've only been able to test it on snowflake so I change it to be a  default__one_hot_encoder, as I don't believe there is anything inherently different. But this PR would require testing on other DBs before being accepted.
To-do before merge
(I haven't done this yet because I wanted to get an opinion from you about the changes so far)

[ ] Update tests & integrations
[ ] Test on other DBs

Thanks @comaraDOTcom for the contribution and the detailed PR description, it's much appreciated.
First of all, agree completely with adopting GitLab's column convention. I considered whether wrapping the value in quotes might be an option, but by default it forces Snowflake to match case which doesn't seem desirable. So I'm happy with your approach.
Regarding the "drop_col" parameter, the "include_columns" parameter was not part of the SKLearn package so happy to have it provide more flexibility here - ultimately the goal is to minimise the amount of surrounding SQL required. But I'd like to make it backwards compatible as some people are already using this package.
So how about we keep include_columns, introduce exclude_columns (default None), and require that only one option is selected. That way you can pass the name of the source column to get the behaviour you want, or potentially more columns. It's functionality that could be ported to the other encoders.
Re the value field, if I understand it correctly, it changes the behaviour so much that it doesn't really resemble the OneHotEncoder anymore, so I'm not so keen on this change.

Oh I should add, with the changing of the column names, we should bump the major version anyway since that alone could break some people's projects.

Hi @comaraDOTcom , did you have any thoughts on my comments?

Hi James,
Yes thanks for the reply. Sorry about the delay (mad week with work). I put some work into this last week but didn't get it over the line and didn't manage to have a second stab at it until now.
Responding to your comments first:

Great about sticking to Gitlab convention - I find this very handy for SQL
I have refactored my PR to have include_columns and exclude_columns...this was causing me a bit've hassle to use the include_columns and snowflake was acting very funny indeed (I ended up having to use parts of the snowflake one_hot_encoder you had for this before my PR where you have..I had never run into this before as my previous implementation only focused on drop_col. Snowflake was not showing the columns in the compiled sql unless the {{source_table}} was before it.

{% for column in include_columns %}
                {{ source_table }}.{{ column }},

Further changes may be needed to change this back to a default__one_hot_encoder and a snowflake__one_hot_encoder like you had previously...but this currently is working as expected for snowflake.

No problem with regards to not wanting to include the value field here. I think the core mission of this package is to reflect the same functionality as SKlearn, so I was vary that this would have introduced a different functionality.

Please let me know what you think of the current implementation, it may need a slight change for redshift/etc now. I will squash all commits when needs be.

Will aim to run the tests over the weekend, once they pass I'll bump the version up a major and we should be good to go

Yes this makes sense. The reason I included the ability to handle NULLs is because pandas.get_dummies() has this functionality and I conflated this feature with SKlearn's OneHotEncoder in my head. So yes, this isn't supported in SKlearn and should be removed in the implementation here. I must say I find the NULLs a very useful feature in general and is something I do usually like to see in another column but I do understand it's not in the SKlearn offering here.
Nice handling of the handle_unknown error in your latest commit, this looks good to go to me! Do you think this is good to merge?


OpenGL renderer glitches on window scale (MacOS, retina)

If I try to run simple example (using default OpenGL renderer) and try to resize game window, it acts weird. With original size render area take 100% of the window. If I shrink window vertically, render area shrinks non in proportion, leaving some of the window blank. On the other hand, if I resize window to be larger, drawing area doesn't fit into window. Same happens to horizontal scaling.
I think is caused by retina display on my laptop, as I've seen other issues in tracker related to hdpi display.
Here's an example of drawing 80x50 red area and resizing a window:

Source code for example:

use bracket_lib::prelude::*;
struct State {
}

impl GameState for State {
    fn tick(&mut self, ctx: &mut BTerm) {
        ctx.cls();
        ctx.fill_region(Rect::with_size(0, 0, 80, 50), ' ' as u8, RGB::named(BLACK), RGB::named(RED));
    }
}
fn main()  {
    let context = BTermBuilder::simple80x50()
        .with_title("Hello RLTK World")
        .build();
    let gs: State = State {
    };

    main_loop(context, gs)
}

Have just verified same issue with latest (master) version of code

I wish I had a Mac to test on; I can't get the same results on Windows or Linux messing with display scaling. Does it also do that on the included examples?

Unfortunately it does.
If that helps - it works even for native_gl example, including custom-drawn triangle:

I am also affected by this plague, is there any workarounds?

Oh no, I thought this was fixed. Are you using the crate or the github version? I don't have a Mac to test on, but I'll see what I can do.

I am following the rogue like tutorial and i am using the following version of rltk:
[dependencies]
rltk = "0.8.1"

Just checking in to see if there's any progress on this? I've got the same issue, but I'm glad that it only seems to affect MacOS.

Just checking in to see if there's any progress on this? I've got the same issue, but I'm glad that it only seems to affect MacOS.

I tried debugging it, but didn't get very far, as my Rust is very basic.
Would love to get some clue where to look.

Just getting back into the swing of things after being unwell and then having to care for my mother being unwell. It does look like a DPI issue, I have a few ideas - I'll do some digging and post results. Trying to avoid having to buy a Mac to test with!

Happy to help to diagnose it, I run into it each time. I also cannot build bracket-lib with Metal (#188).
Hope you family gets well.

Now that's interesting. Updating glutin and winit has given me similar behavior on Windows! It looks like when PhysicalSize returns now, it already has the scale factor applied to it. I just tested on Windows, and removing the dpi_size division was required to make it work properly. I'm testing that in a Linux VM.

I just committed the code that gives sensible behavior on Windows and Ubuntu/X11. Would someone mind giving this a go on a Mac for me, please?

It got much better now, thank you!
The default size is spot on (before it had offset on the left and was off the window on the right), but resize still misbehaves a bit.

That's progress. :-) I suspect I can find a couple of other uses of DPI that are causing that issue. I'll go digging in a minute. (The bouncy gif is trippy!)

Found the downside of the above fix - it messes up mouse position calculation after the window is resized. I think I know how to get this fixed, though - it may be tomorrow, I'm running short of time for the day. Thanks for the help - I'm pretty sure I've narrowed it down.

Ok, I've taken the changes that helped earlier and gone a little further with them - and completely rewritten the mouse positioning section. This should help with the scaling issues. On my Ubuntu/X11 and Windows installations it's dead on the money both initially and after a resize on various scaling settings (tested 125%, 150%, 200%). So I'm really hopeful that this will help with the OS X issues.

Thank you very much!
Will try the mouse as soon as I can. So far, resizing the window still messes up the scale like on the image before 8(

Progress! I found someone else who had suffered a similar problem, and applied their fix. Turned out to be two lines of code! It now scales correctly on everything I have available to test with - Windows, Ubuntu 20.1/X11, Ubuntu 20.1/Wayland. That's the first time Wayland has look right in a few winit releases, which is a good sign. :-)

A friend (Red blob games on the roguelikedev discord) informs me that it is working really well on his Mac now. :-)

I've now had two people tell me that this is working correctly now. So I'm closing this issue - please re-open if the plague returns!


Implement SERIAL data type

This is integer + AUTOINCREMENT flag. See Postgres documentation

Done. Will be available in 0.1.9 or in develop branch tonight.


net/wireguard: tunnel shutdown after random time

Versions (on both ends):
os-wireguard-devel-0.9
OPNsense 19.1.7-amd64
FreeBSD 11.2-RELEASE-p9-HBSD
OpenSSL 1.0.2r 26 Feb 2019

Problem description:
I have a simple site-to-site setup, where one side has a static IP (remote) and my LAN side wich is a normal cable internet connection with dynamic IP from the provider. Unfortunately IPv4 is through a DS-Lite-Tunnel.
The Wireguard tunnel is initiated by the local opnsense  and the connection is working a random amount of time. But once in a while (i think mostly when the connection is idle and no traffic is passing through) the tunnel shuts down. The wg0 interface is still present and both sides show "latest handshake: x hour ago" but there are no new handshakes and no connection / traffic is possible to the remote side or backwards.
Restarting the Wireguard services with the webgui or via ssh doens't help. The only way i can bring up the tunnel again is by changing the listening port under "local" and press save or by restarting the whole opnsense appliance.
Can't really figure out how to trouble shoot this. Could the DS-Lite setup of my provider cause these kind of problems?
There is also a tunnel from my iPhone to the remote side wich is stable all the time, so i guess the problem resides somwhere on the local opnsense.
Just let me know if you need any further information

Yes, could be DS Lite but since I dont have such access it's quite hard to teoubleshoot

I try to implement PersistentKeepalive option with 0.10, perhaps this fixes it

Isn't there a Keepalive option yet?
I have now started a permanent ping trough the tunnel from another VM to see if the breakdown appears only on idle.

Oh yes, seems I implemented one :) And you tried on both sides with interval 20? Doesn't work?
Then you should rather google for known Wireguard and DS-Lite problems

At the moment i have a value of 25 on both ends as Keepalive. Wich doesn't seem to help. I can test to set the value (which i think is seconds?) to 20 or below. Will test with 10 or even 5 too.
There are also some good news. Since i started pinging the remote opnsense through the tunnel continuously, there was no breakdown of the connection. The tunnel has now a uptime of roughly 20h, which i think is the longest i ever got.
After some research on google i couldn't find problems like mine affecting wireguard with DS-Lite. Also the fact that two smartphones are in the same network with the same internet connection which have no problems with the wireguard vpn at all, make me believe the problem isn't the DS-Lite here.
I will set up a small Debian VM to test a wireguard connection to the remote opnsense to see, if the tunnel keeps resetting there too.
Will report the outcomes ;-)

After a week of testing it looks like setting the keepalive to 20 seconds fixed the problem.
Also it must have to do something with the local opensense, because the plain debian vm with Wireduard installed only and without any keepalive value set, didn't had any problems.
Never the less, thank you for your tips and sorry, that i didn't figure out the lower keepalive by myself and i had to steal your time. I close this issue now. :)

Maybe the debian sends some DNS requests or so via tunnel so it keeps up :)
Glad it's fixed for you.


readme updates

Pull Request Test Coverage Report for Build<PHONE_NUMBER>4
Details

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

Totals

Change from base Build<PHONE_NUMBER>9:
0.0%

Covered Lines:
296

Relevant Lines:
735

💛  - Coveralls


Docs generation is very slow

It takes ~minutes to build the docs from scratch. It really seems to get bogged down reading and writing the autodoc generated/ files. However, other projects seem to get away with using autodoc and at least as many functions that need documenting without these long build times. I'm worried there's a lot of custom processing hacked into conf.py that could be slowing things down

Confirming my suspicions; blanking out the contents of api.rst makes everything go nice and quick

While it's not a perfect solution, I added the fast flag to dev_tools/docs/build_rtd_docs.sh - this speeds up the build using parallelization.
in ~2 months we'll be retiring sphinx

I will close this issue if that's okay, please reopen if you don't agree.


Inquiry about Preprint Availability

Hello, I’d like to inquire whether there will be a preprint version of the paper titled ‘Should We Relax a Bit? A Study on Degeneracy Mitigation in Point Cloud Registration’ available 😄 .

Hello, yes! Very soon.


Supporting no_proxy

Hi there.
Although digdag currently supports http_proxy and https_proxy, no_proxy hasn't supported yet.
In my case, digdag is runnning on aws and using s3 as a log storage.
So far I have been set http proxy for each http client so digdag doesn't use proxy and communicated to s3 through vpc endpoint .
But this time, I try to use a amazon-ecr-credential-helper which only supports proxy setting by environment varialbes.
To use it, I have to set http_proxy environment variables.
As you know, digdag, especially communication to s3 will get to work with http proxy and can't use vpc endpoint.
To avoid this, digdag will support no_proxy or amazon-ecr-credential-helper has to support another way to set http proxy.

Close the old issue. Please reopen or file new one if you need.


Fix build faliures

Trying out new versions of happy and alex for ghc-7.6.*

:+1:
We can stop supporting 7.6 in a few months!


Added new namespace (clarango.gharial) to handle multi-collection gra…

…phs and manage vertices/ edges within them. Added assertion based integration tests outlining the new features and using the existing graph/traverse functions with the multi-collection graphs.

Really sorry it took so long to merge! I'll tackle the issue #12 now, so we can this out there with a new version of Clarango.


windows7 专业版vscode 占用cpu过高

新装了windows7 系统，打开vscode时，Code.exe 进程cpu占用率98% 以上，卡死。

My Windows 7 system is newly installed. When the vscode is opened, the Code.exe process has a CPU usage of 98% or more and is stuck.（by  Google Translate）

Please use this guide to provide more information: https://github.com/Microsoft/vscode/wiki/Performance-Issues. Thanks.

thank you


not every enrolled course shows up

not every enrolled course shows up in app/program. Are all enrolled courses supposed to show up in app?

Yes all enrolled courses are supposed to show up in the app. The results returned by Udemy are paginated, so you need to click on 'Load more' button in order to load results from more pages.
If you still don't see any course, please let me know.

Hi Team
I am not able to see enrolled courses in udeler app when i logged in mine account previously it was showing.


Automatically update Sync Activity when there are changes

Testing #103613

Settings Sync: Show Synced Data
Make some edits to something that's being synced

It would be nice if the view automatically updated with the newest sync activity.

Agreed its good to have the data refreshed automatically but these views are for advanced purposes like trouble shooting and administering. So its ok to click on refresh button to update the data.
I see how it is helpful to have the data refreshed while testing but not an issue in real time scenarios. Hence I would not rush on this.


google-cloud-sdk: bump 351.0.0, add i686- and aarch64-linux systems

i dident test thsi : )

Motivation for this change
i made a nixos aarch64 vm once and gcloud wasnt packaged so i was mildly disappointed and made an x86_64 vm instead
Things done
add i686-linux and aarch64-linux targets and bump the version to 351.0.0
i ran nix-prefetch-url several times and copypasted the hashes but there's probably a typo somewhere

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Relase notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 132736 run on x86_64-linux 1

1 package built:

google-cloud-sdk

Looks good to me. Thanks for the contribution!


fix bugs in showMoonTimes in clock module

as reported on https://github.com/MichMich/MagicMirror/pull/1885,
toLocaleString is not supported on old iPad Safari

SunCalc.getMoonTimes returns moonRise/moonSet times for the given date,
so moonRise can be after moonSet. We want to display the most relevant
times, which are today's moonRise and the next moonSet.

Warnings

:warning:

Please include an updated CHANGELOG.md file.This way we can keep track of all the contributions.

  Generated by :no_entry_sign: dangerJS


Adds practice Outcome-Oriented Roadmap

Requires review by original authors.

[x] Authors approve
[x] Internal community approves

Let's ship it!


Update rooms.hbs

This is in reference to the issue #787 .  Used triple mustaches to unescape html.

Current coverage is 42.54% (diff: 100%)

Merging #788 into development will not change coverage

@@           development       #788   diff @@
=============================================
  Files                6          6
  Lines              731        731
  Methods             73         73
  Messages             0          0
  Branches           118        118
=============================================
  Hits               311        311
  Misses             420        420
  Partials             0          0

Powered by Codecov. Last update 97000d9...c5a38af

@Princu7 Not escaping user input may lead to xss vulnerabilities. Although something like this : https://github.com/punkave/sanitize-html  or https://github.com/chriso/validator.js can be used to sanitize user input to allow certain html tags.

Ah. I see. Thanks for explaining. So the issue #787 isn't really a bug but a fault in the input json file which automatically assumed that the html will not be escaped. So should I close the issue and pull in the request back?

@Princu7 Thanks :) Looks Good.

@aayusharora Won't this lead to XSS vulnerabilities?


gcv.FindX error exception

gcv version (or commit ref): v0.33.0
Go version: 1.20.5

Operating system and bit: Windows 10

[ ] Not relevant

Provide example code:

package main

import (
	"github.com/go-vgo/robotgo"
	"github.com/vcaesar/gcv"
)

func main() {

	img := robotgo.CaptureImg()
	checkGameOpen, _, _ := robotgo.DecodeImg("test.png")
	x,y:= gcv.FindX(checkGameOpen, img)
	println(x,y)
}

Log gist:

Description
The code above is working when image is found on screen but there no possibility to handle the error when the image is not available on the screen. The function does not return any error just only two int can you add possibility to catch the error ?

I’m running into the same issue so tracked it down to:
https://github.com/vcaesar/gcv/blob/main/cv.go#L129-L140
Function FindAll which will eventually call FindAllSift and SIGSEGV.
If no image is found,  res = 0 in Function FindAll.
I’m not familiar with opencv swift so it’s unclear why FindAllSift is called if the res = 0. Maybe @vcaesar can offer some input here.

Having same issues


Explicitly call out dependency installation issues as unrecoverable

Adds a call-out to Python dependency installation failures that indicates that they may be unrecoverable. Also makes the error in the case that beam is not installed in the runtime environment Golang style compliant.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

PyDoc failure is as a result of #28104

Run PythonDocs PreCommit


Add Crystal::System::Dir

I decided to expose Crystal::System::Dir as an Iterator(String) since I think it's the nicest yet most generic interface for what readdir actually is: an iterator.

seem dir missing finalize, maybe from before. so iterator should have finalize. so class, not struct.

@larubujo yes, Dir is missing a def finalize, thanks for spotting.

Rebased to fix travis.

Replaced this with a more "traditional" port to Crystal::System, and I'll refactor Dir later.

Interesting bug:
S-tring.o: In function `*String#<=><String>:Int32':
String:(.text+0x4022): undefined reference to `*Int32@Number#<=><Int32>:Int32'
String:(.text+0x4038): undefined reference to `*Int32@Number#sign:Int32'
/usr/bin/ld: /tmp/crystal/crystal-run-crystal-spec-output.tmp: No symbol version section for versioned symbol `*Int32@Number#<=><Int32>:Int32'
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
Error: execution of command failed with code: 1: `cc "${@}" -o '/tmp/crystal/crystal-run-crystal-spec-output.tmp'  -rdynamic  -lpcre -lgc -lpthread /mnt/src/ext/libcrystal.a -levent -lrt -ldl -L/usr/lib -L/usr/local/lib`

re running to see if it's intermittent.

I've only seen the above error once before, and it doesn't seem to be reproducible. Perhaps a rare race condition in the cache?


Minor fixing of current Weld Python bindings

The tutorial document has a minor issue which refers to incorrect path of Weld Python bindings. This is going to fix it.

Hi @viirya,
Thanks for pointing this out! I committed a slightly modified version of this patch (instead of using WELD_HOME, we set PYTHONPATH, and I updated the doc in a few other places as well).

This has been fixed; thanks for pointing it out!


DocumentDB List Connection Strings Action

This checklist is used to make sure that common issues in a pull request are addressed. This will expedite the process of getting your pull request merged and avoid extra work on your part to fix issues discovered during the review process.
PR information

[X] The title of the PR is clear and informative.
[X] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
[X] Except for special cases involving multiple contributors, the PR is started from a fork of the main repository, not a branch.
[X] If applicable, the PR references the bug/issue that it fixes.
[X] Swagger files are correctly named (e.g. the api-version in the path should match the api-version in the spec).

Quality of Swagger

[X] I have read the contribution guidelines.
[X] My spec meets the review criteria:

[X] The spec conforms to the Swagger 2.0 specification.
[X] Validation errors from the Linter extension for VS Code have all been fixed for this spec. (Note: for large, previously checked in specs, there will likely be many errors shown. Please contact our team so we can set a timeframe for fixing these errors if your PR is not going to address them).
[X] The spec follows the patterns described in the Swagger good patterns document unless the service API makes this impossible.

This endpoint is new, in the same api-version. It was missing in the current swagger document

@dmakwana Changes looks good. It'd be great if you can please provide x-ms-examples for atleast this operation. That'd help us in verifying the operation and it's model via "Swagger Model Validator" tool that we are building.
https://github.com/Azure/adx-documentation-pr/blob/master/tools/tools.md#swagger-model-validation

Hi @dmakwana,
Is it possible for you to provide x-ms-examples for the doc db swagger? This will help us validate the models and the examples will be a part of the docs.microsoft.com (REST API doc) website. It will be very useful for our customers. It would be great if you could provide a minimum and a maximum example for every operation in the spec.
I understand that it will be a little extra work right now. However, moving forward the delta would be relatively as big as the new changes being made.
Please follow this link and let me know if you have any questions.

I've added an example for the listConnectionStrings action. Question: the response is different for differently configured database accounts, how do we make a request for a differently configured database account? Also, if the response has any unpredictable values (hashed values), how can we mask those?

I can add the rest of the examples in a separate PR if you don't mind

@vishrutshah - FYI, synced up with @dmakwana  on skype. He will be providing example for connectionStrings in this PR. Examples for other operations would come in another PR.

No modification for Ruby

No modification for NodeJS

 https://github.com/Azure/azure-sdk-for-python/pull/980


Refactor Neo interop functions unit tests to use test runner

Summary or solution description
Part of an overall refactoring.
Changed the execution tests of the compiled smart contracts related to Neo interop functions to use TestRunner instead of TestEngine
Tests
Rerun the modified unit tests

Task linked: CU-864drmwd3 Substituir a TestEngine em testes unitários dos interops do Neo (exceto storage e iterator)

Coverage: 91.083% (+0.08%) from 91.003% when pulling a8cf6c63523fd0e9d4c7fdca080d9e8048818937 on CU-864drmwd3 into 34af7a6b6132613e927a80f42f5e04dcd4ea70a1 on development.


Can't have Splash browser on Azure Linux Centos

So I host my server using Azure. I prefer Linux Centos as the OS. I installed Splash and I couldn't access hostname.azure.com:8050 even though I already open the firewall for 8050. I tried to curl localhost:8050 and it works.
What should I do so I can have an accessible Splash browser in Azure? Thanks

Found


update benchmark comment

Codecov Report

Merging #81 (deeb274) into master (558d47e) will increase coverage by 0.27%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #81      +/-   ##
==========================================
+ Coverage   84.06%   84.33%   +0.27%
==========================================
  Files          10       10
  Lines         916      913       -3
==========================================
  Hits          770      770
+ Misses        146      143       -3

Flag
Coverage Δ

unittests
84.33% <ø> (+0.27%)
:arrow_up:

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

Impacted Files
Coverage Δ

src/reports.jl
88.18% <0.00%> (+0.39%)
:arrow_up:

src/print.jl
79.79% <0.00%> (+1.58%)
: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 558d47e...deeb274. Read the comment docs.


'Via' parameter in routing tab not clearable

Once 'Via' is interactively mapped, it can´t be cleared by closing the UI. Either reload plugin or close QGIS.
Solution: Place a clear button for 'Via'

Resolved


Forza Telemetry fails to launch properly.

The program remains stuck here.

While running it in a terminal it gives this error.

I tried to build it manually as well but it gives the same error from the second image when running npm run start and a grey to black window.
I have installed dotnet sdk 5.0.401 and 6.0.100-rc.1.21463.6 with the x86 and x86-64 variants.

.NET 6.0 is already installed.
I've set the UDP settings as you said, still nothing.
I'm using the Steam version of FH4 so that way of enabling UDP Loopback doesn't work in my case.
Also if I'm using python using this small script I get some data printed in a terminal.
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind(("<IP_ADDRESS>", 5300))
while True:
    print(sock.recvfrom(65536))

It's a bunch of 0 bytes because it's in the main menu.

Seems to work now.


User receives duplicate emails if watcher/reporter and mentioned

Should have an option to not send out duplicate emails if the user is already receiving an email because they're a watcher or the reporter. The best way to handle this would be to send out one email showing they were mentioned and that they would have received the update anyways.
The quick fix would probably not to send out a mentions email if the intended recipient is already a watcher or author.

+1000. Would love to see this.

Would love to see this too!

Whole ❤ edly agree with @timstallmann and @kostajh


Add action to look uo a specific District, Piece or Civil Parish

Rather than having to look through an index it is useful to select a specific District, Piece or Civil Parish. Add anchors and push the full index down a level

Implemented into test3. Examples follow

I ;ooked at this during the transferring of a piece to another county as a data manager. I was comfortable with the result.
@johnt-freecen Did you raise this one? If so, is this what you needed?
Geoff

Geoff
I added of my own volition based on my use of the system;


Generalize Agent identification

Resolves https://github.com/open-telemetry/opamp-spec/issues/16
This change allows the protocol to be used with non-standalone
Agents, such as OpenTelemetry SDK. For such Agents the identification
is not done via service.* attributes, but via a different set of
attributes (e.g. telemetry.sdk.* attributes).
This change replaces (agent_type,agent_version) tuple by a list of
attributes which can be freely chosen by the Agent. The list is
further split into 2 parts: identifying, which is required for linking
to own telemetry, and non-identifying which allow additional description.
We also need to submit a PR against Otel spec repo to add uniquely
identifying attributes for Otel SDKs (e.g. telemetry.sdk.instance.id).

Java Instrumentation will not use service.name to describe itself. service.* attributes are intended to describe the Application (or the Service) that is being instrumented, not the SDK or the library that does the instrumentation.

Java instrumentation is part of an Otel SDK and Otel SDK uses a different set of attributes to describe itself. We already have some conventions for the SDKs. Java Instrumentation will set:
telemetry.sdk.name="opentelemetry"
telemetry.sdk.language="java"
telemetry.sdk.version="some version number" (and/or telemetry.auto.version).

This is a good explanation of why SDKs are not supposed to be setting service.* Resource attributes. Consider adding it to the changes themselves?

I think this is a good change.  Allowing the initiator to determine which attributes are relevant for identification seems better than having to shoehorn in values that don't necessarily match the concepts represented by the pre-defined attributes.  This is similar to the discussions recently had over service.name vs. application.name.  Avoiding that issue before this spec is stabilized would be good.

One related thing that I am wondering about - and maybe I missed something - is how accurately the identifying_attributes can identify the specific agent installation (rather than runtime instance)?
I.e. my understanding is that attributes such as service.instance.id are changing each time given instance restarts, event if this is the same host.
Should we have some additional means to identify the given agent installation (for a lack of a better term)? This would help with tracking events related to a specific place where agent installed. I believe we could use host.id or such for that purpose (which could be part of identifying attributes), though wanted to raise it to make sure we're not missing something

I.e. my understanding is that attributes such as service.instance.id are changing each time given instance restarts, event if this is the same host.

I think we should recommend the Agents who have access to persistent storage to persist the id and reuse it. This can allow the Server to store a specific config for the particular instance and return it. If the id is not persisted then you are right it is only useful for the duration of the process uptime and other attributes need to be used for identification.
Perhaps we need to make this clearer in the definition of what "identifying" means. For now it refers to the identification of own telemetry in the telemetry backend. The telemetry backend should have the same or stronger uniqueness requirements as the OpAMP Server. This means that identifying_attributes should be definitely able to uniquely identify a specific agent installation (otherwise reported own telemetry will be mixed up in the telemetry backend).

I.e. my understanding is that attributes such as service.instance.id are changing each time given instance restarts, event if this is the same host.

I think we should recommend the Agents who have access to persistent storage to persist the id and reuse it.

Should we open an issue for OpenTelemetry Collector that, if possible, the instance id should be persisted? (This would have another benefit of limiting time-series cardinality for own telemetry)

I.e. my understanding is that attributes such as service.instance.id are changing each time given instance restarts, event if this is the same host.

I think we should recommend the Agents who have access to persistent storage to persist the id and reuse it.

Should we open an issue for OpenTelemetry Collector that, if possible, the instance id should be persisted? (This would have another benefit of limiting time-series cardinality for own telemetry)

I was thinking that the instance id will be generated by the Supervisor and will be persisted by Supervisor. The Supervisor will put the instance id in the Collector's config file (generated by Supervisor). For this to work we will need to add support to specify the "service.instance.id" to the telemetry section of Collector config file.

This is now ready for review. Once accepted I will go ahead with the corresponding implementation in https://github.com/open-telemetry/opamp-go/pull/43

@open-telemetry/opamp-spec-approvers please review.


Renaming SSMS variable in SQL 22 publish file

Microsoft is moving away from a universal installer, so each version going forward may have their own SSMS installer version. We're going to have to start naming these to account for pulling/using the correct secrets in Concourse.
This change is a precondition for upcoming changes to the Concourse pipeline; nonbreaking as this currently is not used.

/assign bkatyl

/lgtm

We talked about this in chat. This change needs to be rolled back.


Exampel on how to use

Could you supply an example how you use it in a thymeleaf template. I have difficulties in how to apply it:
My initial code:

Text

But how would it look with text:basic instead?

It would be :

Text

However, people have mentioned to me that the text:basic is not very useful and better replaced by the css property whitespace : https://developer.mozilla.org/en-US/docs/Web/CSS/white-space
So I'm going to retire it for version 1.0, and keep only text:bbcode.
I'll add a template usage example in the readme then.
Thanks.


build: syncing the repo metadata even when an RPM or DEB package is deleted afterword

Motivation
When releasing a new version, a new git tag triggers the CI to build and publish packages. During the RPM and DEB publishing process, the new package is uploaded then repo metadata is updated. The following scripts implement the process:

https://github.com/falcosecurity/falco/blob/master/scripts/publish-rpm
https://github.com/falcosecurity/falco/blob/master/scripts/publish-deb

Basically, the scripts are intended to work only when a new package is available.
However, it might happen that a problem is noticed after the packages are being published, so overwrite or clean up packages can be necessary. Overwriting a package works out of the box (scripts use this strategy by default). On the other hand, there's no way just to remove a published package and update repo metadata consequently.
Feature
Scripts should permit us to sync the repo metadata even when an RPM or DEB package is deleted. This ability is likely needed when - in an emergency - a package or a whole release needs to be unpublished.
Furthermore, the infrastructure should provide for the possibility of running this task on demand.
Alternatives
Currently, the only way to sync the RPM/DEB repository metadata is by manually running a modified version of those scripts in a local environment. Nevertheless, I don't think it's a reliable solution.
Additional context
Those situations actually happened when we had to stop the 0.28.2 building process since we found a problem in packages. Later, we also decided to cancel the 0.28.2 in favor of 0.29.0, so packages needed to be deleted eventually.
After manually deleting those packages from S3, I had to sync the RPM/DEB repositories manually. Below I copied the modified scripts that I used.
publish-deb
#!/usr/bin/env bash
set -e

usage() {
    echo "usage: $0 -f <package.deb> -r <deb|deb-dev>"
    exit 1
}

check_program() {
  if ! command -v $1 &> /dev/null
  then
      echo "$1 is required and could not be found"
      exit
  fi
}

# Update the local DEB repository
#
# $1: path of the repository
# $2: suite (eg. "stable")
update_repo() {
    # fixme(leogr): we cannot use apt-ftparchive --arch packages ...
    # since our .deb files ends with "_x86_64" instead of "amd64".
    # See https://manpages.debian.org/jessie/apt-utils/apt-ftparchive.1.en.html
    #
    # As a workaround, we temporarily stick here with "amd64"
    # (the only supported arch at the moment)
    local arch=amd64

    local component=main
    local debs_dir=$2
    local release_dir=dists/$2
    local packages_dir=${release_dir}/${component}/binary-${arch}

    pushd $1 > /dev/null

    # packages metadata
    apt-ftparchive packages ${debs_dir} > ${packages_dir}/Packages
    gzip -c ${packages_dir}/Packages > ${packages_dir}/Packages.gz
    bzip2 -z -c ${packages_dir}/Packages > ${packages_dir}/Packages.bz2

    # release metadata
    apt-ftparchive release \
      -o APT::FTPArchive::Release::Origin=Falco \
      -o APT::FTPArchive::Release::Label=Falco \
      -o APT::FTPArchive::Release::Suite=$2 \
      -o APT::FTPArchive::Release::Codename=$2 \
      -o APT::FTPArchive::Release::Components=${component} \
      -o APT::FTPArchive::Release::Architectures=${arch} \
      ${release_dir} > ${release_dir}/Release

    # release signature
    gpg --detach-sign --armor ${release_dir}/Release
    rm -f ${release_dir}/Release.gpg
    mv ${release_dir}/Release.asc ${release_dir}/Release.gpg

    popd > /dev/null
}

# parse options
while getopts ":f::r:" opt; do
    case "${opt}" in
        f )
          file=${OPTARG}
          ;;
        r )
          repo="${OPTARG}"
          [[ "${repo}" == "deb" || "${repo}" == "deb-dev" ]] || usage
          ;;
        : )
          echo "invalid option: ${OPTARG} requires an argument" 1>&2
          exit 1
          ;;
        \?)
          echo "invalid option: ${OPTARG}" 1>&2
          exit 1
          ;;
    esac
done
shift $((OPTIND-1))

# check options
if [ -z "${repo}" ]; then
    usage
fi

# check prerequisites
check_program apt-ftparchive
check_program gzip
check_program bzip2
check_program gpg
check_program aws

# settings
debSuite=stable
s3_bucket_repo="s3://falco-distribution/packages/${repo}"
cloudfront_path="/packages/${repo}"
tmp_repo_path=/tmp/falco-$repo

# prepare repository local copy
echo "Fetching ${s3_bucket_repo}..."
mkdir -p ${tmp_repo_path}
aws s3 cp ${s3_bucket_repo} ${tmp_repo_path} --recursive

update_repo ${tmp_repo_path} ${debSuite}

# publish

aws s3 sync ${tmp_repo_path}/dists ${s3_bucket_repo}/dists --delete --acl public-read
aws cloudfront create-invalidation --distribution-id ${AWS_CLOUDFRONT_DIST_ID} --paths ${cloudfront_path}/dists/*

publish-rpm
#!/usr/bin/env bash
set -e

usage() {
    echo "usage: $0 -f <package.rpm> -r <rpm|rpm-dev>"
    exit 1
}

check_program() {
  if ! command -v $1 &> /dev/null
  then
      echo "$1 is required and could not be found"
      exit
  fi
}

# Update the local RPM repository
#
# $1: path of the repository.
update_repo() {
    pushd $1 > /dev/null
    createrepo --update --no-database .
    rm -f repodata/repomd.xml.asc
    gpg --detach-sign --armor repodata/repomd.xml
    popd > /dev/null
}

# parse options
while getopts ":f::r:" opt; do
    case "${opt}" in
        f )
          file=${OPTARG}
          ;;
        r )
          repo="${OPTARG}"
          [[ "${repo}" == "rpm" || "${repo}" == "rpm-dev" ]] || usage
          ;;
        : )
          echo "invalid option: ${OPTARG} requires an argument" 1>&2
          exit 1
          ;;
        \?)
          echo "invalid option: ${OPTARG}" 1>&2
          exit 1
          ;;
    esac
done
shift $((OPTIND-1))

if [ -z "${repo}" ]; then
    usage
fi

# check prerequisites
check_program createrepo
check_program gpg
check_program aws

# settings
s3_bucket_repo="s3://falco-distribution/packages/${repo}"
cloudfront_path="/packages/${repo}"
tmp_repo_path=/tmp/falco-$repo

# prepare repository local copy
echo "Fetching ${s3_bucket_repo}..."
mkdir -p ${tmp_repo_path}
aws s3 cp ${s3_bucket_repo} ${tmp_repo_path} --recursive

update_repo ${tmp_repo_path}

# publish

aws s3 sync ${tmp_repo_path}/repodata ${s3_bucket_repo}/repodata --delete --acl public-read
aws cloudfront create-invalidation --distribution-id ${AWS_CLOUDFRONT_DIST_ID} --paths ${cloudfront_path}/repodata/*

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

/remove-lifecycle stale

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

/remove-lifecycle stale

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

/remove-lifecycle rotten

/remove-lifecycle stale

/remove-lifecycle rotten
/remove-lifecycle stale
cc @FedeDP @Andreagit97

/remove-lifecycle stale

cc @therealbobo

/remove-lifecycle stale

Hey @therealbobo
Would you like to work on this?

Yeap! Absolutely! 😄

/assign therealbobo

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

/remove-lifecycle stale
/help

@leogr:
This request has been marked as needing help from a contributor.
Please ensure the request meets the requirements listed here.
If this request no longer meets these requirements, the label can be removed
by commenting with the /remove-help command.

In response to this:

/remove-lifecycle stale
/help

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.

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

Unfortunately, this is still a thing.
/remove-lifecycle stale
/assign
/assign @LucaGuerra

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

/remove-lifecycle stale
@LucaGuerra IIRC, this problem is partially mitigated now. But, it's still an issue in the rare case we need to remove a package (to unpublish it) manually. One possible solution would be adding a manually triggerable GH action when we need to sync.

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

/remove-lifecycle stale
@LucaGuerra and I have some ideas for addressing this. Tentatively for
/milestone 0.39.0

Any news? Or we can move to 0.40.0?

Any news? Or we can move to 0.40.0?

/milestone 0.40.0

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

/remove-lifecycle stale

/milestone 0.41.0


Logger sharedLog comment on thread-safety

fix Issue 16232 - std.experimental.logger.core.sharedLog isn't thread-safe

I'm going to assume you know what you're talking about here.


TCD-2811: Replace wording methods with endpoints

Description

Motivation and Context

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation fix (typos, incorrect content, missing content, etc.)

Checklist

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

@aliciakrebs @lysannep please review. Thanks

@lysannep changes applied :)


Socialfish doesn't start on <IP_ADDRESS>:5000

When I start it, it starts on my IP and even it doesn't work.
Please help me.

Experiencing the same issue right now, wasn't able to find a fix yet.

i too

I too

tambem estou com mesmo problema

same

If you are using windows you have to get into 'kex' and then go to the firefox browser and try again, it won't work on your device browser it has to be on kali, it worked for me

me too im using google cloud shell
how to fix it

I think that instructions should say <IP_ADDRESS>:5000/neptune

When I start it, it starts on my IP and even it doesn't work. Please help me.

I am not so sure if it will work if you build it on a vps server. you can as well try out pmap services.

https://github.com/UndeadSec/SocialFish/issues/353
https://github.com/UndeadSec/SocialFish/issues/324


Upgrade lib to fix pixel email issue

Description
We weren't able to attach logs on certain devices. I suspect this PR fixed the issue, though I need someone else to confirm since it works fine on my device
fixes #5730

For me the error, when opening Gmail disappeared, but the logs are not attached still. Also now I can send using Fastmail, but without logs as well.

I've used plural attachements as in example here https://github.com/chirag04/react-native-mail#example and now it works for me. @cmcewen PTAL

Hi @tarikbellamine i Have verified this issue latest test flight build v1.5.5 (34) and Android play store internal build v1.5.5<PHONE_NUMBER>) and observe the following

User is able to attach the logs from contact screen

Devices: Google Pixel XL (8.1), Google pixel 4a(11)


Caddy web server support

Any plans to support the next generation web server caddy in the future?
https://github.com/mholt/caddy
How does the ModSecurity team decides which web servers get native support?

Hi @medfx.
As of ModSecurity version 3 the link between the ModSecurity library and the WebServer will be held by something called connector. The connector main function is to create a layer between ModSecurity and Web Server.
You can check more about version 3 here:
https://github.com/SpiderLabs/ModSecurity/wiki#modsecurity-3
The nginx connector for version 3 is available here:
https://github.com/SpiderLabs/ModSecurity-nginx
Are you interested in start the development of the Caddy connector?

@medfx i'd like to help you with this if you're willing to work on the project with me.

@csanders-git I'm willing to help. The problem is that I have never used C, C++ or Go before. I'm a web developer in search of a secure web server. I think Caddy is great, but would be even better with ModSecurity. So tell me if and where I can help you.

what happened to this ticket? is it support or not? cc @zimmerle

I am also looking for ModSecurity to be able to work with Caddy, I have been using it with NGinx for the last 10 years after transitioning from Apache but now I have moved to Caddy. I miss ModSecurity a lot :)

I am also looking for ModSecurity to be able to work with Caddy, I have been using it with NGinx for the last 10 years after transitioning from Apache but now I have moved to Caddy. I miss ModSecurity a lot :)

Have you seen Coraza?

Just looking into it :)


推理可以直接设置do_sample=False的贪心采样策略吗

Reminder

[X] I have read the README and searched the existing issues.

Reproduction
似乎没有找到，只能设置temperature和top_p
Expected behavior
No response
System Info
No response
Others
No response

命令行应该有 --no_do_sample 选项吧？


Give way to access IProperty value as string without casting

In my "dev" branch I've added ValueString as a property of IProperty. This way, you can get the original XML string of a property regardless of its type.
What would be nice is to be able to do something like this:
foreach (var prop in obj.Properties) {
    var value = prop.Value;
    string xmlstring = prop.Value.ToString();
}

You can't do this presently, because of the differing types of Value. So that's why I landed on ValueString as something that is accessible regardless of the type. My implementation was straightforward for all of them except ClassProperty and EnumProperty. For enum, I had to dig into TmxReaderBase.Properties.cs, to set the string at object construction.
For Class, I just return public string ValueString => PropertyType; which matches the xml. In this case, ToString doesn't make sense, because its Value is a list of properties.
So perhaps, for ClassProperty, instead of Value, something like IList<IProperty> Properties { get; set; } should be used, and let Value replace PropertyType. Just an idea!

I think I understand your feature request, but I would still like to see what kind of scenario where the original XML value for a property is useful. I see it as beneficial to use the type safety that C# offers you, so why is that not an option? Or in what way is it too cumbersome?
Additionally, it might become problematic to get consistent strings between the file formats. .tmx typically has all values as strings in attributes, but .tmj uses the number type in json to store numbers. We may have to use some json parsing magic to get the actual string tokens in the file for e.g. floating point numbers if we want exactly what's in the file. Otherwise we're going to get what System.Text.Json gives us which likely is a parsed floating point number that may be offset (by some very small epsilon depending on mantissa), which unlikely is exactly what was in the file.

Instead of this becoming part of DotTiled, as it seems to be quite specific to your needs, perhaps you could do something like this?
public static class Extensions
{
  public static string GetPropertyAsString(this IProperty property)
  {
    return property switch
    {
      StringProperty sp => sp.Value,
      IntProperty ip => ip.Value.ToString(),
      FloatProperty fp => fp.Value.ToString(),
      BoolProperty bp => bp.Value.ToString(),
      ColorProperty cp => cp.Value.ToString(),
      FileProperty fp => fp.Value,
      ObjectProperty op => op.Value.ToString(),
      ClassProperty cp => cp.PropertyType,
      ...
  }
}

Would that suffice for you use-case?

Yeah, I ended up with something similar:
	public static string? GetValueString(IProperty prop) {
		switch (prop) {
			default: return null;
			case StringProperty stringprop: return stringprop.Value;
			case IntProperty intprop: return intprop.Value.ToString();
			case FloatProperty floatprop: return floatprop.Value.ToString();
			case BoolProperty boolprop: return boolprop.Value.ToString();
			case ColorProperty colorprop: return colorprop.Value.ToString();
			case FileProperty fileprop: return fileprop.Value;
			case ObjectProperty objectprop: return objectprop.Value.ToString();
			case ClassProperty classprop: return classprop.PropertyType;
			case EnumProperty enumprop: return string.Join(",", enumprop.Value);
		}
	}

This combined with another recursive function in the case of ClassProperty is good enough to create Monogame.Extended.Tiled property data, so I'll probably share that over there soon.


Federation: Per-user cluster authentication

Description
TBD
cc @kubernetes/sig-cluster-federation @kubernetes/sig-auth @nikhiljindal
Add description here
Progress Tracker

[ ] Before Alpha

[ ] Write and maintain draft quality doc

[ ] During development keep a doc up-to-date about the desired experience of the feature and how someone can try the feature in its current state. Think of it as the README of your new feature and a skeleton for the docs to be written before the Kubernetes release. Paste link to Google Doc: DOC-LINK

[ ] Design Approval

[ ] Design Proposal.  This goes under docs/proposals.  Doing a proposal as a PR allows line-by-line commenting from community, and creates the basis for later design documentation.  Paste link to merged design proposal here: PROPOSAL-NUMBER
[ ] Decide which repo this feature's code will be checked into. Not everything needs to land in the core kubernetes repo. REPO-NAME
[ ] Initial API review (if API).  Maybe same PR as design doc. PR-NUMBER

Any code that changes an API (/pkg/apis/...)
cc @kubernetes/api

[ ] Identify shepherd (your SIG lead and/or<EMAIL_ADDRESS>will be able to help you). My Shepherd is<EMAIL_ADDRESS>(and/or GH Handle)

A shepherd is an individual who will help acquaint you with the process of getting your feature into the repo, identify reviewers and provide feedback on the feature. They are not (necessarily) the code reviewer of the feature, or tech lead for the area.
The shepherd is not responsible for showing up to Kubernetes-PM meetings and/or communicating if the feature is on-track to make the release goals. That is still your responsibility.

[ ] Identify secondary/backup contact point. My Secondary Contact Point is<EMAIL_ADDRESS>(and/or GH Handle)

[ ] Write (code + tests + docs) then get them merged.  ALL-PR-NUMBERS

[ ] Code needs to be disabled by default.   Verified by code OWNERS
[ ] Minimal testing
[ ] Minimal docs

cc @kubernetes/docs on docs PR
cc @kubernetes/feature-reviewers on this issue to get approval before checking this off
New apis: Glossary Section Item in the docs repo: kubernetes/kubernetes.github.io

[ ] Update release notes

[ ] Before Beta

[ ] Testing is sufficient for beta
[ ] User docs with tutorials
- Updated walkthrough / tutorial in the docs repo: kubernetes/kubernetes.github.io
- cc @kubernetes/docs on docs PR
- cc @kubernetes/feature-reviewers on this issue to get approval before checking this off
[ ] Thorough API review

cc @kubernetes/api

[ ] Before Stable

[ ] docs/proposals/foo.md moved to docs/design/foo.md
- cc @kubernetes/feature-reviewers on this issue to get approval before checking this off
[ ] Soak, load testing
[ ] detailed user docs and examples

cc @kubernetes/docs
cc @kubernetes/feature-reviewers on this issue to get approval before checking this off

FEATURE_STATUS is used for feature tracking and to be updated by @kubernetes/feature-reviewers.
FEATURE_STATUS: IN_DEVELOPMENT
More advice:
Design

Once you get LGTM from a @kubernetes/feature-reviewers member, you can check this checkbox, and the reviewer will apply the "design-complete" label.

Coding

Use as many PRs as you need.  Write tests in the same or different PRs, as is convenient for you.
As each PR is merged, add a comment to this issue referencing the PRs.  Code goes in the http://github.com/kubernetes/kubernetes repository,
and sometimes http://github.com/kubernetes/contrib, or other repos.
When you are done with the code, apply the "code-complete" label.
When the feature has user docs, please add a comment mentioning @kubernetes/feature-reviewers and they will
check that the code matches the proposed feature and design, and that everything is done, and that there is adequate
testing.  They won't do detailed code review: that already happened when your PRs were reviewed.
When that is done, you can check this box and the reviewer will apply the "code-complete" label.

Docs

[ ] Write user docs and get them merged in.
User docs go into http://github.com/kubernetes/kubernetes.github.io.
When the feature has user docs, please add a comment mentioning @kubernetes/docs.
When you get LGTM, you can check this checkbox, and the reviewer will apply the "docs-complete" label.

Duplicate of #74, closing.

https://github.com/kubernetes/features/issues/74 is a different issue. @quinton-hoole Can you please reopen?
(I dont have the rights)

My apologies @nikhiljindal .  I meant #73 , not #74.  I think this one (#102) and #73 are substantially duplicates.  We should either clarify the difference, or close one of them.

Yes sorry I hadnt noticed #73. Yes fine to mark this duplicate of that one.

Closing as duplicate of #73


chore: bump mongoose

Add support for mongoose 7
Add nodejs 20 to tests
Update dev dependencies
Fix small lint issues

I'm fascinated how it all just works!
thanks mate

Published as v6.2.0


IP hostname fails to resolve in provisioner runs fine standalone.

Steps to reproduce
Terraform apply.
Expected behavior
Ansible playbooks applied.
...
Actual behavior
Terraform apply fails with the below output.  The host is available and you can ssh with that identity right after the failure.  You can also run the ansible remote standalone and it applies just fine.  This would happen occasionally before we moved from the default adapter in EC2.  But now that we are using a defined adapter this happens every time.  Our goals is to have dual nics configured and called out in the provisioning step.  We are getting very close to giving up on the provider.
aws_instance.city_lb (ansible): Using /etc/ansible/ansible.cfg as config file
aws_instance.city_lb (ansible): PLAY [Post boot config of City Loadbalancers] **********************************
aws_instance.city_lb (ansible): TASK [Gathering Facts] *********************************************************
aws_instance.city_lb (ansible): fatal: [<IP_ADDRESS>]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: ssh: Could not resolve hostname [<IP_ADDRESS>]: Name or service not known", "unreachable": true}
aws_instance.city_lb (ansible): PLAY RECAP *********************************************************************
aws_instance.city_lb (ansible): <IP_ADDRESS>              : ok=0    changed=0    unreachable=1    failed=0    skipped=0    rescued=0    ignored=0
The direct ssh to the EIP works.  And the below works:
ANSIBLE_FORCE_COLOR=true ANSIBLE_ROLES_PATH=/usr/share/ansible/roles:/etc/ansible/roles:./aws/city_lb/roles ansible-playbook ./city_lb/city_lb.yml --inventory-file=./inventory --forks=5 --vault-id='/keybase/team/UUUUUUU/ansible-vault-password.txt' --user='UUUU' --ssh-extra-args='-p 22 -o ConnectTimeout=10 -o ConnectionAttempts=10' -vvv --extra-vars='{"aws_account_id":"AAAAAAAAAA","cluster_size":"3","dev_team":"userland","dmz_private_ip":"<IP_ADDRESS>","env":"chris","github_org":"CypherpunkArmory","output_directory":"/keybase/team/UUUUUUU/chris","vault_file":"/keybase/team/UUUUUUUU/ansible-vault.yml","vpc_active_subnet":"<IP_ADDRESS>","vpc_vpn_subnet":"<IP_ADDRESS>","vpn_domain":"chris.DDDDDDDD.com"}'
...
Configuration
Terraform version:
me@localhost:~/work/grid/aws$ ansible --version
ansible 2.8.1
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/home/UUUUU/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/dist-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.16 (default, Apr  6 2019, 01:42:57) [GCC 8.3.0]
me@localhost:~/work/grid/aws$ terraform --version
Terraform v0.11.14

provider.acme v1.2.1
provider.aws v2.16.0
provider.datadog v1.8.0
provider.github v1.3.0
provider.local v1.2.1
provider.null v2.1.1
provider.template v2.1.1
provider.tls v2.0.1

Your version of Terraform is out of date! The latest version
is 0.12.3. You can update by downloading from www.terraform.io/downloads.html
terraform-provisioner-ansible version/SHA:
Terraform file / provisioner configuration:
provisioner "ansible" {
when = "create"
connection {
  host = "${aws_eip.city_lb_ip.*.public_ip}"
  user = "XXXXXX"
  type = "ssh"
  timeout = "5m"
}

ansible_ssh_settings {
  host_key_checking = false
}

plays {
  playbook = {
    file_path = "${path.module}/city_lb/city_lb.yml"
    roles_path = ["${path.module}/city_lb/roles"]
  }

  hosts = ["${self.public_ip}"]
  vault_id = ["${var.output_directory}/ansible-vault-password.txt"]
  verbose = true
  extra_vars = {
    env               = "${terraform.workspace}"
    dmz_private_ip    = "${aws_instance.dmz.private_ip}"
    cluster_size      = "${var.city_hosts}"
    vault_file        = "${var.output_directory}/ansible-vault.yml"
    output_directory  = "${var.output_directory}/${terraform.workspace}"
    github_org        = "${var.github_org}"
    dev_team          = "XXXXXXXX"
    aws_account_id    = "${data.aws_caller_identity.current.account_id}"
    vpc_active_subnet = "<IP_ADDRESS>"
    vpc_vpn_subnet    = "<IP_ADDRESS>"
    vpn_domain        = "${terraform.workspace == "prod" ?  Looking at your configuration and the logs:
connection {
  host = "${aws_eip.city_lb_ip.*.public_ip}"
  user = "XXXXXX"
  type = "ssh"
  timeout = "5m"
}

Could not resolve hostname [<IP_ADDRESS>].

I think what is happening, you are passing an array of hosts to connection.host (judging by the square brackets in the log output). connection.host takes a single host as a string. normally, one would expect something like:
connection {
  host = "${aws_eip.city_lb_ip.0.public_ip}"
  user = "XXXXXX"
  type = "ssh"
  timeout = "5m"
}

In your case, a list of hosts would becomes literal [<IP_ADDRESS>] instead of <IP_ADDRESS>. Obviously, [<IP_ADDRESS>] is not a valid host name, hence the error you are seeing.

Closing due to no activity.


kotlin-android-extensions gradle plugin is no longer supported error

When I try to run with the package added to my application, I get the following error:
kotlin-android-extensions gradle plugin is no longer supported:
Error: The 'kotlin-android-extensions' Gradle plugin is no longer supported. Please use this migration guide (https://goo.gle/kotlin-android-extensions-deprecation) to start working with View Binding (https://developer.android.com/topic/libraries/view-binding) and the 'kotlin-parcelize' plugin.
e: The Android extensions ('kotlin-android-extensions') compiler plugin is no longer supported. Please use kotlin parcelize and view binding. More information: https://goo.gle/kotlin-android-extensions-deprecation

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':dash_bubble:compileDebugKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction
    > Compilation error. See log for more details

This issue is because kotlin-android-extensions has been deprecated and it was used in the plugin for the Parcelize feature in BubbleOptions model 🔍
I have migrated the deprecated plugin to the new kotlin-parcelize in this commit  and I think now everything should work fine. ✅
Kindly help me to verify if the issue has been solved or not by changing the dependency in pubspec.yaml from:
dependencies:
  . . .
  dash_bubble: ^1.0.0

To:
dependencies:
  . . .
  dash_bubble:
    git:
      url: https://github.com/moazelsawaf/dash_bubble.git
      ref: 0d0d9952dd6c5f02fc472d7743e838e7c4f392de

And tell me if the issue has been solved or not ... 🙏🏻
If it is solved then you can continue using the plugin this way until I release the new version with the solution very soon Insha'Allah ❤

Yes not it's working thanks!
I wanted to use this package for a floating player I see that it is impossible to use it as a player, Just putting pictures in it, wondering for what it's useful

Glad to know that it is working now ❤
For the Floating Player Use Case, you can actually use it for that, if the audio/video track is running, then you can use a pause image with the logic to stop the track in the onTap() callback, vice versa.
I will close the issue for know because the issue has been solved, If you faced any other issue that is related to this issue, then please don't hesitate to reopen it ✅
And if you want any assistance in the Floating Player Use Case, then please add it in the discussion section with all the details and I can help you with that 🙏🏻


Stop/play parsed aPNG

Hey, after running the below code I'm able to see the image details, but could you tell me how can I stop or play again some animation? I can see the play method, but I'm unable to do trigger it:
APNG.parseURL(src).then(function(data) {
  console.log(data);
});

Should I somehow assign it to a variable like const player = APNG.parseURL(src); and then use it by player.play(); if needed or how it works?

The parseURL function is from another library, https://github.com/davidmz/apng-canvas. This code should work:
APNG.parseURL(src).then(function(data) {
  data.play();
});

Could you show some test code on the codepen or other code-sharing service?

Sure, this is here's very simple example: https://codepen.io/hamcsmtotpomntqcoa/pen/ExyJLoQ?editors=1011
But I think you won't be able to test it there since codepen block CORS and prevent image download by APNG :(
In general, I need to trigger PNG to play again if it's in the screen view. I'm using Intersection Observer, but I'm not able to trigger PNG to run again if loop is not infinite. Also I can't stop infiinite loop..

You cannot control PNG itself, as an IMG tag. The apng-canvas is designed for playing APNG on canvas. So you should create a canvas element, attach player to its context (see addContext method), and only after that you will be able to play/pause animation on canvas.

I would like to understand what exactly you want to achieve. Do you want to put an IMG tag on a page so that APNG will work in any browser? Or do you want to control the playback of a specific APNG?

I have to control the playback of multiple animated PNGs. So user adds component with list of PNGs and they run only once each time user scrolls to them. Meaning that intersection observer has to trigger play method for those images if any of them is in screen view.

Well, in this case, you should parse all of the user-added APNG URLs using the APNG.parseURL (this will get you the APNG objects). Then you should create canvas elements with the sizes of APNGs, attach canvas' contexts to APNGs using .addContext(), and then use play/rewind method of apng objects.

@davidmz, I tried it this way, but it doesn't work:
		const canvas = document.createElement('canvas');

		canvas.width = png.width;
		canvas.height = png.height;
		png.addContext(canvas.getContext('2d'));

		setInterval(() => {
			png.rewind();
		}, 3000);
});```

I get proper object from `parseURL` method, Canvas is created correctly, then I get 2D context, but after addContext method I can't affect image with play/rewind. Nothing works even though I have no errors :(

This code works: https://codesandbox.io/s/apng-sromh?file=/src/index.js

@davidmz, thank you! I really appreciate the time you spent to help me. Everything works perfectly now, once again huge thanks, and have a nice evening!


Replace "log in" with "sign in"

Currently, Terra uses "Log in" but "Sign out". Also, after clicking "Log in", you are prompted to "Sign in" with either Google or Microsoft.

This replaces "log in" with "sign in" to make language consistent throughout.

This needs a ticket. And does TDR also need to be updated for consistency?

Posted about it in their team's Slack channel.

Looks good! Thx


Enable Static ROM Allocations in JSON Config

Added the rom key in --static-config to serve specific clients specific roms.
I also cleaned up the switch slightly to make it easier to read.

LGTM as long as it's tested :+1:

I tested this with pxelinux.0, I'm not able to test the EFI stuff. However, any issues related to that will not be due to this PR. This means it's probably safe to merge.


Load shellcheck configuration from the .shellcheckrc

What type of PR is this?
/kind cleanup
What this PR does / why we need it:
Add .shelcheckrc to store shellcheck configuration to improve readability and maintainability.
Which issue(s) this PR fixes:

Updates #1518
Special notes for your reviewer:
I'm aware that the Kubernetes project uses the SHELLCHECK_DISABLED variable in hack/verify-shellcheck.sh to ignore issues, rather than using a .shellcheckrc file. This is due to historical reasons: when Kubernetes first introduced shellcheck, it did not support config files.
Does this PR introduce a user-facing change?
NONE

/ok-to-test
cc: @Vandit1604

/test pull-kueue-verify-main

@alexandear Could you rebase this PR? Because we added a new make target for the CI.


In R, Feather cannot read dataframe back if missing or having empty column header

In R, when calling read_feather function to load the cache, it could fail with error to ask to name columns, if the original dataframe is missing one, which is quite common for datasets (e.g. no index/rownames header).
The error seems to do with the tibble package in the implementation.
If the column name is required, write_feather should ask for it if missing in the first place; or the implementation should allow missing columns.
Code example to show the bug is as below:
> library(feather)
> n = c(2, 3, 5)
> s = c("aa", "bb", "cc")
> b = c(TRUE, FALSE, TRUE)
> df = data.frame(n, s, b)
> df
  n  s     b
1 2 aa  TRUE
2 3 bb FALSE
3 5 cc  TRUE
> colnames(df)[1] <- ""
> df
     s     b
1 2 aa  TRUE
2 3 bb FALSE
3 5 cc  TRUE
> write_feather(df, '~/cache/test.feather')
> df2 <- read_feather('~/cache/test.feather')
Error: Column 1 must be named.
Use .name_repair to specify repair.
Run `rlang::last_error()` to see where the error occurred.
>
> rlang::last_error()
<error/rlang_error>
Column 1 must be named.
Use .name_repair to specify repair.
Backtrace:
  1. feather::read_feather("~/cache/test.feather")
  3. tibble:::as_tibble.default(data)
  6. feather:::as.data.frame.feather(value, stringsAsFactors = FALSE)
  9. tibble:::as_tibble.data.frame(x[])
 10. tibble:::as_tibble.list(unclass(x), ..., .rows = .rows, .name_repair = .name_repair)
 11. tibble:::lst_to_tibble(x, .rows, .name_repair, col_lengths(x))
 12. tibble:::set_repaired_names(x, .name_repair)
 17. tibble:::repaired_names(names(x), .name_repair = .name_repair)
 18. tibble:::check_unique(new_name)
Run `rlang::last_trace()` to see the full context.

Is this issue present in the arrow::read_feather function? If so, could you open a JIRA issue?

@wesm Thanks for the tip. It works well with arrow::read_feather:
> library(arrow)
> n = c(2, 3, 5)
> s = c("aa", "bb", "cc")
> b = c(TRUE, FALSE, TRUE)
> df = data.frame(n, s, b)
> df
  n  s     b
1 2 aa  TRUE
2 3 bb FALSE
3 5 cc  TRUE
> colnames(df)[1] <- ""
> write_feather(df, '~/cache/test.feather')
> df2 <- read_feather('~/cache/test.feather')
> df2
# A tibble: 3 x 3
     `` s     b
  <dbl> <fct> <lgl>
1     2 aa    TRUE
2     3 bb    FALSE
3     5 cc    TRUE
> df2 <- as.data.frame(read_feather('~/cache/test.feather'))
> df2
     s     b
1 2 aa  TRUE
2 3 bb FALSE
3 5 cc  TRUE


Use npm-installed requires in README example

To make it more copy-pastable for beginning users... ;)

Oh yeah good one, thanks!


Add interface SessionUDP to make UDP handling extensible.

Change SessionUDP from a struct to an interface to allow extensible implementations for it. The current implementation is kept as the default (via struct sessionUDP). A new field (SessionUDPFactory) is added to Server though which the user can specify their own factory for SessionUDP implementations.
The pooling of UDP buffers is replaced with pooling of SessionUDP instances. This removes the need to dynamically allocate the buffer for OOB data for each request.
Extension of the current SessionUDP functionality is needed for implementation of Linux TPROXY (transparent proxy) support for the UDP requests. Without going into too much detail here, UDP support for TPROXY requires additional sockets (for responding) and extensions to the control messages being passed via the UDP OOB data.
Unfortunately the required Linux specific control message types are not supported by go libraries, so any implementation of Linux TPROXY needs to replicate some of the control message parsing and serialization code.
An example of use of this new abstraction can be seen here.
ReadUDP() of the Reader interface now returns a pointer to the SessionUDP interface instead of the old SessionUDP struct. This is strictly speaking not necessary but makes this change backwards compatible with the existing code as this way there is no change in ReadUDP() signature. Note that the old SessionUDP struct only contained private members, so this change should not be affecting any existing source code.

Codecov Report

Merging #918 into master will increase coverage by 0.05%.
The diff coverage is 86.66%.

@@            Coverage Diff             @@
##           master     #918      +/-   ##
==========================================
+ Coverage   55.09%   55.15%   +0.05%
==========================================
  Files          41       41
  Lines       10059    10072      +13
==========================================
+ Hits         5542     5555      +13
  Misses       3489     3489
  Partials     1028     1028

Impacted Files
Coverage Δ

server.go
66.03% <75%> (+0.23%)
:arrow_up:

udp.go
85.96% <96%> (+1.87%)
: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 72df207...c5da7a5. Read the comment docs.

In short, use the existing Reader interface to provide your own custom ReadUDP implementation, use the existing Writer interface to provide your own custom WriteToSessionUDP implementation, and use the existing ResponseWriter interface with a wrapping middleware to wire everything up to LocalAddr and RemoteAddr.

My first reaction is that this will not be merged. It's more session
management, than anything DNS related.
I think most of it can be done outside this lib and you can opt-in to the
DNS bits you need.
On Tue, 5 Mar 2019, 23:31 Jarno Rajahalme<EMAIL_ADDRESS>wrote:

Change SessionUDP from a struct to an interface to allow extensible
implementations for it. The current implementation is kept as the default
(via struct sessionUDP). A new field (SessionUDPFactory) is added to
Server though which the user can specify their own factory for SessionUDP
implementations.
The pooling of UDP buffers is replaced with pooling of SessionUDP
instances. This removes the need to dynamically allocate the buffer for OOB
data for each request.
Extension of the current SessionUDP functionality is needed for
implementation of Linux TPROXY (transparent proxy) support for the UDP
requests. Without going into too much detail here, UDP support for TPROXY
requires additional sockets (for responding) and extensions to the control
messages being passed via the UDP OOB data.
Unfortunately the required Linux specific control message types are not
supported by go libraries, so any implementation of Linux TPROXY needs to
replicate some of the control message parsing and serialization code.
An example of use of this new abstraction can be seen here
https://github.com/cilium/cilium/blob/pr/redirect-with-tproxy/pkg/fqdn/dnsproxy/udp.go
.
ReadUDP() of the Reader interface now returns a pointer to the SessionUDP
interface instead of the old SessionUDP struct. This is strictly speaking
not necessary but makes this change backwards compatible with the existing
code as this way there is no change in ReadUDP() signature. Note that the
old SessionUDP struct only contained private members, so this change
should not be affecting any existing source code.
You can view, comment on, or merge this pull request online at:
https://github.com/miekg/dns/pull/918
Commit Summary

udp: Add SessionUDP, SessionUDPFactory interfaces.
udp: Add LocalAddr to SessionUDP interface

File Changes

M server.go https://github.com/miekg/dns/pull/918/files#diff-0
(51)
M udp.go https://github.com/miekg/dns/pull/918/files#diff-1 (99)
M udp_test.go https://github.com/miekg/dns/pull/918/files#diff-2
(15)

Patch Links:

https://github.com/miekg/dns/pull/918.patch
https://github.com/miekg/dns/pull/918.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/miekg/dns/pull/918, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAVkW7xmEbFjFsZD3G7lzXhSl7H3PkQEks5vTv5bgaJpZM4bfuKt
.

@tmthrgd @miekg Fair enough, assuming what you say is achievable. My Go experience may be lacking, but I don't see how it is possible to wrap ResponseWriter, when the server.go code is creating and calling it's private response struct implementing ResponseWriter. I see that I should be able to do that to replace the built-in the SessionUDP processing. Any pointers in how I could achieve that? It seems to me that at the minimum there should be user-customizable decorator and/or factory method to create ResponseWriter implementations, no?

I see that I could potentially replace the whole Server implementation with my own, but I'm not sure if that would need access to un-exported types in miekg/dns. Do you think this is a way to go, or that it should not be necessary to replace the whole Server implementation?

Here's a minimal patch and example that would allow you to do nearly everything you're asking.
The only thing missing from this is the ability to access SessionUDP from a ResponseWriter wrapper and correctly override the LocalAddr method like you're example does. Though it's not obvious to me why this is necessary, the LocalAddr method isn't used internally and I can only really imagine it being used for logging. That may be harder to solve cleanly.
This hasn't been tested fwiw. I didn't override the reader code as you're example reader is pretty much identical to the existing reader. It may be a better idea to simply export the SessionUDP fields to allow a more complete override of that, but this may be suitable anyway.
Patch:
diff --git a/server.go b/server.go
index 882403704a..87982ba2e2 100644
--- a/server.go
+++ b/server.go
@@ -146,6 +146,14 @@ type Writer interface {
 	io.Writer
 }

+// ConnWriter contains optional methods that a Writer may implement.
+type ConnWriter interface {
+	// WriteTCP write a raw message to a TCP connection.
+	WriteTCP(conn net.Conn, p []byte) (int, error)
+	// WriteUDP writes a raw message to a UDP connection.
+	WriteUDP(conn *net.UDPConn, p []byte, addr *SessionUDP) (int, error)
+}
+
 // Reader reads raw DNS messages; each call to ReadTCP or ReadUDP should return an entire message.
 type Reader interface {
 	// ReadTCP reads a raw message from a TCP connection. Implementations may alter
@@ -214,6 +222,8 @@ type Server struct {
 	// Whether to set the SO_REUSEPORT socket option, allowing multiple listeners to be bound to a single address.
 	// It is only supported on go1.11+ and when using ListenAndServe.
 	ReusePort bool
+	// Whether to skip setting socket options in ActivateAndServer.
+	DisableSocketOptions bool
 	// AcceptMsgFunc will check the incoming message and will reject it early in the process.
 	// By default DefaultMsgAcceptFunc will be used.
 	MsgAcceptFunc MsgAcceptFunc
@@ -391,8 +401,10 @@ func (srv *Server) ActivateAndServe() error {
 		// Check PacketConn interface's type is valid and value
 		// is not nil
 		if t, ok := pConn.(*net.UDPConn); ok && t != nil {
-			if e := setUDPSocketOptions(t); e != nil {
-				return e
+			if !srv.DisableSocketOptions {
+				if e := setUDPSocketOptions(t); e != nil {
+					return e
+				}
 			}
 			srv.started = true
 			unlock()
@@ -762,7 +774,7 @@ func (w *response) WriteMsg(m *Msg) (err error) {
 			if err != nil {
 				return err
 			}
-			_, err = w.writer.Write(data)
+			_, err = w.writerWrite(data)
 			return err
 		}
 	}
@@ -770,10 +782,26 @@ func (w *response) WriteMsg(m *Msg) (err error) {
 	if err != nil {
 		return err
 	}
-	_, err = w.writer.Write(data)
+	_, err = w.writerWrite(data)
 	return err
 }

+func (w *response) writerWrite(p []byte) (int, error) {
+	cw, ok := w.writer.(ConnWriter)
+	if !ok {
+		return w.writer.Write(p)
+	}
+
+	switch {
+	case w.udp != nil:
+		return cw.WriteUDP(w.udp, p, w.udpSession)
+	case w.tcp != nil:
+		return cw.WriteTCP(w.tcp, p)
+	default:
+		panic("dns: internal error: udp and tcp both nil")
+	}
+}
+
 // Write implements the ResponseWriter.Write method.
 func (w *response) Write(m []byte) (int, error) {
 	if w.closed {
diff --git a/udp.go b/udp.go
index a4826ee2ff..081ee915c0 100644
--- a/udp.go
+++ b/udp.go
@@ -35,6 +35,8 @@ type SessionUDP struct {
 // RemoteAddr returns the remote network address.
 func (s *SessionUDP) RemoteAddr() net.Addr { return s.raddr }

+func (s *SessionUDP) Context() []byte { return s.context }
+
 // ReadFromSessionUDP acts just like net.UDPConn.ReadFrom(), but returns a session object instead of a
 // net.UDPAddr.
 func ReadFromSessionUDP(conn *net.UDPConn, b []byte) (int, *SessionUDP, error) {

Example:
package pr918alt

import (
	"errors"
	"log"
	"net"

	"github.com/miekg/dns"
)

type writer struct {
	dns.Writer
}

func (w *writer) WriteTCP(_ net.Conn, p []byte) (int, error) {
	return w.Write(p)
}

func (w *writer) WriteUDP(_ *net.UDPConn, p []byte, addr *dns.SessionUDP) (int, error) {
	_ = addr.RemoteAddr()
	_ = addr.Context()

	// fancy writer code here

	return 0, errors.New("not implemented yet")
}

func main() {
	udp, err := net.ListenPacket("udp", ":8053")
	if err != nil {
		log.Fatal(err)
	}

	// set socket options on udp here

	srv := &dns.Server{
		PacketConn: udp,

		DisableSocketOptions: true,

		DecorateWriter: func(w dns.Writer) dns.Writer {
			return &writer{w}
		},

		Handler: dns.HandlerFunc(dns.HandleFailed),
	}
	log.Fatal(srv.ActivateAndServe())
}

(@miekg Thoughts on that minimal patch or some variation?)

@tmthrgd Thanks for the minimal patch proposal above! I'll wait for @miekg's feedback but plan to migrate my code over to this approach.
I do need the LocalAddr(), though, not for logging but for simply sending the responses with the correct source address and port. With transparent proxying the proxy is typically listening on a different port than to which the requests are sent to (so even if the proxy listens on, say, 8053, the requests being proxyed are typically sent to port 53, which also needs to be the source port in the responses), and the destination address of the requests is not one of the local addresses of the host the proxy is running on. I'll need to parse the local address/port from the OOB data exported via the new Context() you have in your proposed patch.
The space reserved for the OOB data needs to be sized appropriately, though. Right now that is hard coded in the variable udpOOBSize in udp.go. That needs to be made configurable so that the control messages I need will fit in there. This could easily be achieved if you made SessionUDP members exported so that I could create SessionUDPs with appropriately sized oob contexts in my own decorated Reader.ReadUDP(). If the members are public then the new Context() method is not needed any more.

@tmthrgd @miekg Do you think proposing another PR along the lines discussed above would be a way forward with this? I'm all in for making the PR minimal, while still allowing for UDP I/O customization I need for transparent proxying.

My minimal patch above will need some slight tweaking, but I’m happy to open a PR for it to be reviewed when I’m back in front of my computer.

[ Quoting<EMAIL_ADDRESS>in "Re: [miekg/dns] Add interface Sessi..." ]

Here's a minimal patch and example that would allow you to do nearly everything you're asking.

this looks more useful (and indeed way less intrusive)

@tmthrgd Do you have cycles to finish this, or should I propose another PR following your lead here?

@jrajahalme Apologies, this completely fell off my radar. I’ll open a PR shortly.

Closing per https://github.com/miekg/dns/pull/949#issuecomment-487832458.


broken link issue

In the foreach, in (C# reference) page, the Try.NET link in the Examples will show empty. Somebody has reported this issue, but it seems that it has been not solved.
edit by @mairaw: added topic details

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: d710feeb-8f03-b211-a070-155938929d6b
Version Independent ID: c980ea8e-ffb4-fbb1-1761-292858616cdd
Content: C# foreach statement
Content Source: docs/csharp/language-reference/keywords/foreach-in.md
Product: dotnet-csharp
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

Thanks @jack147527. You're right. It hasn't been solved yet.
But I'll resolve this one as duplicate of #11979 to keep only one tracking issue.


No Images without img src attribute UC Browser Android

Many thanks for your work on this plugin.
I am not getting any images displayed in UC Browser for Android unless I put a src attribute in the image tag.
I have the latest UC Browser (v<IP_ADDRESS>9) and am using an HTC One M7 on Android 5.0.2 with Picturefill 2.3.1. I have also tried  3 beta 1 but have the same problem. This is happening on the Picturefill demo page as well as my development site.
This is not a problem in UC Browser HD which seems to work.

The UC browser has implented the srcset IDL attribute and the picture element constructor. Which means this browser lies about its responsive image support and picturefill doesn't polyfill the features.
While we could improve our feature detection. The needed code changes would make the test async and more errorprone. It is clearly a UC browser bug. Could you please report them the specific problem? They should be able to fix it much easier without side effects.

I just checked how we could write a "better" feature detection to detect the fact that UC browser doesn't work correctly.
From my testing the following check should work:
var img2;
var img = document.createElement('img');

var isSupported = 'srcset' in img;

if(isSupported){
	img2 = document.createElement('img');
	img.srcset = 'data:,a';
	img2.src = 'data:,a';
	isSupported = img.complete == img2.complete;
}

//--------------
alert(isSupported);

So question is should we fix this and if yes (I would vote for yes), should we do this for 3.0.0 or should we delay this after the release? (The RC PR isn't merged yet anyway.)

Hi, many thanks for getting back and sorry for my delay in replying, I have been away with no internet access.
I will submit an error report to UC Browser and a fix sounds good to me.


[stable/hazelcast] Change service to headless by default, extract readOnlyRootFilesystem (#85)

Please approve @hasancelik @leszko @mesutcelik @googlielmo @eminn

/lgtm

/approve

/ok-to-test


Using with x/y sizes of (n, m) where m >1

I appreciate your package - it has made my life much easier.  However, I have a question that I was hoping you could resolve:
In the case of:
X being an array of size (n,1), and
Y being an array of size (m,1), where m/n are number of samples,
What if I had arrays of:
X being size (n,2), and
Y being size (n,2).
Example of use case being if I have two related time series measurements such as machine vibration frequency and machine operating temperature.  Both are distinct measurements, and when doing a manual correlation you can better match events when using both indicators in tandem than just one.
The code certainly runs in both scenarios, and outputs unique paths when I run just component 1 vs. just component 2 vs. both 1 and 2 at same time.
However, with existing documentation it's hard to understand the workings of what is going on.

The function passed to dist parameter is used to calculate distances between each sample of X and Y. Therefore, as long as the dist function can compute distances of two samples, it is not a problem that each sample has multiple dimensions.

@slaypni Hi, thanks for the great package.
I have a couple of points to clarify.
In the original paper, DTW is measured between just 2 two-time series. But in the example given in the documentation, (5,2) and (3,2) shape data (x,y) are used to get the DTW distance.

What are those dimensions in the data
First I thought that the 1st dimension is the number of samples/ data points and the 2nd dimension is the sequence length. But then the DTW measurement does not make sense to me. Because the number of samples in x and y are different.

Can you please explain how can we use the metric. I could not find the documentation for this in the repository.
Thanks.

Take a look at the test code. There is 1d and 2d samples.
https://github.com/slaypni/fastdtw/blob/master/tests/test_fastdtw.py


pre-commit autoupdate

the version of black we have here is simply broken with modern python---ends up being very annoying

https://cookiecutter.readthedocs.io/en/2.1.1/advanced/hooks.html
I would like to propose adding a post hook to automatically do pre-commit autoupdate after installation.

Make a PR and I'll merge :smile:


Add cancel

Description
Add the subcommand cancel.
Proposed solution
cancel will cancel running jobs that match a given action glob and given directories (optional).
Additional context
cancel will provide an easier way for users to cancel a subset of jobs running in the current project.

Not necessary. Users can instead run row show jobs --short <any other arguments> | xargs scancel


Organize Functions into separate project in CDC github repo

Michael will work with Nicholas on getting the CDC github repo organized


DeveloperGuide - General Improvements

Comments received:

There are some change to the UML diagrams of high-level components but it lacks corresponding description to each new small class the team implement inside high-level components(e.g FishListPanel, TaskListPanel in UI component)
What does the alternative design in the Automatic Feeding Reminders mean? It seems unclear to me.
The step 1, 2, ... in implementation could stand out more (e.g. use bullet point form).
This seems to have different style from the rest of the DG “As a FishTracker application, we provide a way for fishkeepers to track the LastFedDates of all their fishes, as having multiple tanks and fishes makes feeding difficult to keep track of without a tracking system”.

we done wit this


Error when converting a form that uses "id_string" rather than "form_id"

Description
When trying to convert a form where the form id in the "settings" worksheet is set on a field called "id_string" instead of "form_id", this produces an error.
This is likely to be common for forms created for the popular survey platform "SurveyCTO".
Expected behavior
Converting does not produce an error.
Actual behavior
A TypeError: 'NoneType' object is not subscriptable is received.
Traceback (most recent call last):
File "/app/.heroku/python/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "/app/.heroku/python/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/app/.heroku/python/lib/python3.6/site-packages/ppp/__main__.py", line 8, in <module>
cli()
File "/app/.heroku/python/lib/python3.6/site-packages/ppp/interfaces/cli.py", line 228, in cli
debug=args.debug, highlight=args.highlight, preset=args.preset)
File "/app/.heroku/python/lib/python3.6/site-packages/ppp/__init__.py", line 159, in run
convert_file(file, language, outpath=_outpath, **combo)
File "/app/.heroku/python/lib/python3.6/site-packages/ppp/__init__.py", line 49, in convert_file
form = OdkForm.from_file(in_file)
File "/app/.heroku/python/lib/python3.6/site-packages/ppp/odkform.py", line 89, in from_file
return cls(xlsform)
File "/app/.heroku/python/lib/python3.6/site-packages/ppp/odkform.py", line 62, in __init__
'country': self.settings.get('form_id')[3:5],
TypeError: 'NoneType' object is not subscriptable

Additional details
The reason the type is None is because PPP is looking for a field called "form_id". When it doesn't find any, it returns the type None.
Tasks
1. Fix the error
Fix the error as described in this issue.
Possible solutions:

Have PPP look for either "id_string" or "form_id", rather than just for "form_id".

2. Add a test case
The test should be added to test/test_ppp.py.
It should be a class inheriting from the PppTest class. Something like this should work,
class IdStringSupport(PppTest):
    """Successfully creates a form when the form ID is called "id_string" rather than "form_id"."""

    def test_convert(self):
        self.standard_conversion_test()

After this, you should be able to make a folder in test/files/ called IdStringSupport. Inside that folder, put another folder called input. Then, place the test .xlsx file in there.
Task list

[ ] 1. Fix the error
[ ] 2. Add a test case

Merged.