"Walking at night" routing to route preferring well lit/open spaces

See: https://twitter.com/kanocarra/status/1175876911958044672

I wish Google Maps had a "I'm walking home by myself at night" mode that would show you a way with well lit paths and open spaces. It always seems to take you on narrow, dark pathways in cities

This is already doable (see here), but IMO it cannot be integrated in the standard walking profile, because for the general "safe at night" requirement this is not sufficient and it always needs additional (country specific) knowledge. So it more bowls down to integrate data from OSM (which is easy now with the TagParsers) or external data (depending on a specific use case) and then use this to calculate the path costs. So this is an interesting use case but we won't fix it. Of course you can make it easier to implement via providing pull requests in this direction. At the same time we will make this also easier.


About context

Update proposal for BIDS Prov (BEP028)
by @yarikoptic in https://github.com/bids-standard/BEP028_BIDSprov/issues/125#issuecomment-2492133921

would not need explicit @context (potentially related: #[ENH] Add ContextURI to allow to define the context for the entity values bids-specification#1939)
it would be for the bids-prov tooling to extract those, equip with ids and add to the graph

@yarikoptic Thanks for the suggestion. I do understand the value of simplifying the information that is required in BIDS-Prov and I am happy to discuss how we can achieve that (simplification is indeed a driving idea in the specification of BIDS-Prov).

it would be for the bids-prov tooling to extract those, equip with ids and add to the graph

Relying on BIDS-Prov tooling to recreate a valid JSON-LD from BIDS-Prov documents is to me a point of weakness. This would require sustained effort on the BIDS-Prov tooling and, unfortunately, I think that long-term support is not guaranteed (although I hope this will happen clearly).
I am keen for the BIDS-Prov document themselves to be valid JSON-LD as this will make it possible to benefit from the JSON-LD ecosystem of tools.

This probably means we have to keep the context in (unless we can have the context in a separate json and concatenate both files?).
About the identifiers, this is indeed something we could look into (using blank node) but this will be limited to the cases where we do not need to cross-reference a particular object (in practice I am not sure this will happen often).

I think that particular quote relates to

https://github.com/bids-standard/BEP028_BIDSprov/issues/146

I agree that for a full formed .jsonld there should be @context defined within -- we should not lobotomize .jsonld if it is a .jsonld (not just .json).
I only wonder if there is a way to centralize @context reference somehow, e.g. at the top of the bids dataset and then have relative URLs pointing to it.  If not -- I am ok.  But might be worth bids-validator check to ensure that @context is consistent across all present .jsonld files and warn otherwise. Overall I think also relates to

https://github.com/bids-standard/bids-specification/pull/1939


It should be possible to create a network without assigning the bridge an IP address

Using the default bridge and IPAM drivers, it should be possible to create a bridge without assigning it an IP address. This is expressed at the gateway address through the CLI, and although I can set the gateway address within the subnet assigned to the network, there appears to be no way to specify that the bridge should not be assigned an IP address at all.
This is strange when considered in the context or isolated networks where there should be no connectivity outside the isolated network, and therefore no need for a gateway.  This is important in the case of untrusted or possibly compromised containers on the isolated docker network, as the bridge address exposes host services. (i.e. if the host is running SSH, HTTP, or (god forbid) Docker listening over TCP without binding to a particular IP address, then these services will be accessible through the bridge IP, and open to compromise from an attacker)
What I'd like to see would be that if I specify a new flag (e.g. "--noip") or provide a special value (e.g. "<IP_ADDRESS>") to the "--gateway" flag when using the CLI "docker network create" command that it would create the bridge with no IP address. I am not familiar enough with the internal libnetwork APIs to know what it would be at this layer.
Any comments, pointers on how to implement this change, or workarounds, would be appreciated

+1
I thought this is what --ipam-driver=null is for, but it does not work. I would like to use the macvlan driver with --ipam=driver=null and then use a DHCP client to assign an IP address , but this does not work. At least not in docker 17.06.

+100

Apparently "moby" is the upstream from where changes trickle out, so I opened an issue:
https://github.com/moby/moby/issues/37430
and a proposed pull request:
https://github.com/moby/moby/pull/37432
there.

Google "com.docker.network.bridge.inhibit_ipv4=true" if anyone lands on this page looking for solutions

terrible things....
the "com.docker.network.bridge.inhibit_ipv4=true" dosen't work on macvlan
docker network create -d macvlan -o parent="eth1" -o com.docker.network.bridge.inhibit_ipv4=true veth2
docker network inpect veth2
I got
....
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "<IP_ADDRESS>/16",
"Gateway": "<IP_ADDRESS>"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {
"com.docker.network.bridge.inhibit_ipv4": "true",
"parent": "eth1"
},
....
when I create a new container with veth2. docker assigns <IP_ADDRESS> to me
docker version is 20.10.1


Semantics of "delete" keyword

OS : macOS ver 10.15.3
Version: GraalVM JavaScript (GraalVM CE Native 20.1.0)
When following JavaScript code is executed, GraalJS doesn't throw any exception.
"use strict";
delete 'str' [ 0 ] ;

However, according to ECMA-262 specification(https://tc39.es/ecma262/), script above should throw TypeError exception.
In "<IP_ADDRESS> Runtime Semantics: Evaluation",

in step 5.c, return value of baseObj.[[Delete]] if false by following reasons

configurable field of property descriptor of "0" is false
9.1.10 [[Delete]] calls <IP_ADDRESS> OrdinaryDelete and step 5 of OrdinaryDelete is executed because configurable field is false
As a result, return value of [[Delete]] is false

in step 5.d, deleteStatus is false and strict mode is on. Therefore, it throws TypeError exception.

Thank you for the report. I agree that this test-case should result in TypeError. We have a bug in DeletePropertyNode (we return false instead of throwing TypeError in this case).

Fixed by https://github.com/graalvm/graaljs/commit/f008ea813d059011f47679500b594c2ae63ed7db


[CI][State Compat] 1 hour limit for successful run with no app hash before succeeding CI

Background
Currently, there is no limit for the state-compatibility check.
This leads to an engineer continuously checking the status and wasting time and CI being clogged.
1 hour on mainnet with no app hash should be sufficient for most changes. For riskier changes, we should either have:
a) a manual job with manual limit
b) run a node manually from the start of the major upgrade
Suggested Design
Introduce a 1 hour limit. If state compact check runs with no app hash for that long, pass the CI
Acceptance Criteria

1 hour limit
succeeds if no app hash

We have an X block limit so we don't need this


Why does this app make a call to api.segment.io ?

This is new to one of the later versions - suddenly Mattermost desktop is calling api.segment.io - which is typically used for tracking data in 3rd party services.
Why is this client tracking anything?  Feels less secure with this going on.  Please advise.

Thanks @fmp777
You can find out more information here: https://docs.mattermost.com/administration/telemetry.html
It is optional and can be turned off on the server if preferred. No personally identifiable information is collected.

I'll close the issue since it's related to the Mattermost server rather than the desktop app. Feel free to ask further question though.

@jasonblais : It is optional and can be turned off on the server if preferred. No personally identifiable information is collected.

I think that kind of optional option should be set to disabled by default. In other words, it should be an opt-in option instead of an opt-out one.

I think it is a big security issue to use a host, which changes every 60 seconds its IPs in an unpredictable manner. So since reports are blocked by our firewall anyway (impossible to find a static stable IP), we are forced to disable telemetry ...

Hi,
I didn't want to duplicate this issue.
So I'm going to continue on this one until advised otherwise.
The pi-hole mattermost server is configured to not have telemetry activated. Their team have shown me the screenshot of the box checked to false in the settings.
Still I have plenty of api.segment.io calls on my dns filtering system which is pi-hole or latter nextdns.
Here are the screenshots that  I4ve taken when I had a problem before unblocking your telemetry partners.

@boistordu FYI, I had to reload (View->Reload) my front end app (Linux v4.3.1, in my case) after disabling reporting in the System Console.  Errors went away after that.

@boistordu FYI, I had to reload (View->Reload) my front end app (Linux v4.3.1, in my case) after disabling reporting in the System Console.  Errors went away after that.


QR Code Generator Not Working

Installed a clean copy of CASino.  Hooks up fine and let's me login, but when I try to enable two-factor authentication, I get the following error:
ActionView::Template::Error (code length overflow. (1052>864)):
    11:         <%= t('two_factor_authenticators.instructions') %>
    12:

    13:

    14:         <img src="<%= otp_qr_code_data_url(@two_factor_authenticator) %>" height="250" width="250">

    15:

    16:

    17:         <%= t('two_factor_authenticators.secret') %>:

Thank you. Fixed in CASino 4.0.1.

Works great now, thanks very much!


Stop copying compiled binaries

Considering multi-architecture systems, it is obvious that architecture-independent library directories should not contain architecture-dependent binary files.
Mixing such files often results in trying to load inproper files.

I'm not sure if I understand this patch properly but is it meant to restrict installing  arch-specific or arch-optimizes builds from being installed natively? If a generic build is intended to be made it should be decided on compile time.

This is to place arch-specific and arch-independent files to the respective directories.
ruby/date for example, this is after rake compile by some versions.
$ find -name \*.bundle
./lib/date_core.bundle
./tmp/x86_64-darwin19/stage/lib/date_core.bundle
./tmp/x86_64-darwin19/date_core/3.1.1/date_core.bundle
./tmp/x86_64-darwin19/date_core/2.7.5/date_core.bundle
./tmp/x86_64-darwin19/date_core/2.6.9/date_core.bundle
./tmp/x86_64-darwin19/date_core/3.0.3/date_core.bundle

The lib/data_core.bundle file is not only just duplicate, but can't to tell for which version/arch.
This PR removes such duplication and confusion.

As for your question, although I'm not sure if I get your intention correctly, I guess it is unrelated probably.

Ok but what would be the generic method for locating the .so file in :test after :compile is finished? And wouldn't this have compatibility issues? If Ruby is changing its strategy of placing .so files to other directories instead of lib just perhaps so multiplatfirm support can be allowed then it should be announced and discussed.

Ok I'll look at this thoroughly.

The version- and arch-specific path is in the load path already, isn't it?
And Ruby has placed .so files separately from .rb files in a quarter of a century at least.

Agreed this would be a good change, and avoids issues when using Rubies with different ABIs (e.g., 2 CRuby versions and/or ruby-head, or some CRuby version + TruffleRuby for instance).
Of course we'll need the ABI/arch-specific directory to be on $LOAD_PATH for testing locally, but maybe it's already there?

The version- and arch-specific path is in the load path already, isn't it?

Yes but only in installed gems.  Minitest for example does not specify where the binary is properly located and I only see /lib in $:.  Specifying the so file directly also makes sure test loads the right so file and run test against it instead of some other so files that may already exist in $:.
It also will be difficult to add a Rakefile rule that makes sure the so file exists regardless of how the compilation output worked.
A lazy rule that helps testing gems with differing environment from compile-time environments in making sure the so file isn't recompiled and cause failure like the following:
task :compile_lazy do
  Rake::Task[:compile].invoke
end.instance_eval do
  def needed?
    !File.exist?("lib/digest/xxhash.so")
  end
end

require 'rake/testtask'
Rake::TestTask.new(:test => :compile_lazy) do |t|
  t.test_files = FileList['test/test.rb']
  t.verbose = true
end

In my opinion it will be better to just filter out the so files during install time instead than risk breakage of already existing gems that rely on so files being placed in /lib.

Of course we'll need the ABI/arch-specific directory to be on $LOAD_PATH for testing locally (rake compile + rake test in gems using rake-compiler), but maybe it's already there?

No it isn't.

This is only related to local test case, right? (This isn't related to gem install.)
The problem is occurred in the following case, right?
$ cd ruby/date
$ ruby2.7 -S rake
$ ruby3.0 -S rake # Load date_core.so for Ruby 2.7

Agreed this would be a good change, and avoids issues when using Rubies with different ABIs (e.g., 2 CRuby versions and/or ruby-head, or some CRuby version + TruffleRuby for instance).

Due to my confusion and not being able to recall right away that rake-compiler has got nothing to do with gem installation I wasn't able to pay attention to this, but how is not copying files to /lib going to help prevent or have got anything to do with those issues though?  Rake-compiler does not install the gem.  Neither is it called by gem install.  Some package managers do utilize rake-compiler but the responsibility to not install arch or version specific files is theirs if they choose to use rake-compiler.  Otoh an option or task can be added to rake-compiler to prevent copying files to /lib for the convenience of the package managers but the current behavior should not be changed.

Due to my confusion and not being able to recall right away that rake-compiler has got nothing to do with gem installation I wasn't able to pay attention to this, but how is not copying files to /lib going to help prevent or have got anything to do with those issues though?

I meant for local testing, i.e., bundle exec rake test (and where :test might depend on :compile).
There is a separate issue that RubyGems makes a copy under lib/ in addition to the arch/ABI-specific dir, and that seems unnecessary but it is also AFAIK completely unrelated to rake-compiler.
@nobu Could you clarify the original issue for you? Is it like @kou said above?


Images once loaded, reloads while scrolling in recylerview

Images once loaded, reloads while scrolling in recylerview. Is there any way to make it work like facebook android app feed.that is Images once loaded doesn't loads again even scrolling back to same position

I am having the same issue. Can anyone fix this?

I figured out the way to do so, By inflating the imageview with images that are already in cache. Have a look at the sample code.
        File file = imageLoader.getDiskCache().get(image_url);
        if (file==null) {
            //Log.e("network load", "");
        }
        else{
            mImageView.setImageURI(Uri.parse(file.getAbsolutePath()));
            //Log.e("cache load", "");
        }


Added How a system boots up. This is corresponding to the issue 642. …

…The file added is "OS_Boot_Process.md" in "Operating Systems" directory.
Proposed changes
Added the detailed process of how a system boots.
Types of changes
added a file named OS_Boot_Process.md. Resolved issue #642

I have made the suggested changes.

@all-contributor add @manavmittal05 for content

@all-contributors add @manavmittal05 for content


Issue 1837 crosslink typecasting documentation pages

This fixes issue https://github.com/duckdb/duckdb-web/issues/1837

Thanks for the detailed PR, this is a great addition! I pushed a few minor fixes and will merge it now.


standard readmes

I'm pretty sure the docs that got removed were very badly generated from code comments and actually didn't communicate things (a single method might have been documented as if it were a bare function and so forth). I'd like to see us start generating ## API sections automatically, but that's a bigger set of work because we actually have to document code. (for example #817 and #646). Are there any specific docs that you were concerned with? I may well have overwritten soemthing of value since there were so many packages to change at once.

I didn't see anything beside method names that got overwritten, so we should be good.


Unable to find the password

Hi!
I appreciate the work you put in this, but sadly it doesn't work for me.
I'm using Kubuntu 22.04 and the WiFi is a hidden network. If I run the command nmcli -s -g 802-11-wireless-security.psk connection show '{ssid}' manually, it outputs the password though. Do I have to set up something first?
Thanks in advance!
Greetings,
Noah Streller

Thank you for reporting this. This is indeed an odd behavior and I'm unsure as to why it's occurring. I'll have to take a further look into this issue to see what happened


hint for if you got the chips

p "You want some Generi-Chips?"
toasty "Lol, no!"
toasty "Why'd you even get those anyway, I thought you hated them!"
p "Argh! That's exactly why I'm trying to get rid of them!"
toasty "Hmph. Well, where'd you get those chips anyway?"
p "...uh...the...museum...?"
toasty "...Have you asked somebody in the museum if they want them?"
p "...no, I don't think so."
toasty "Hah!


Error: "Could not parse date" with dates like 1993-??-01

I get some of these while using the releases approach. I was looking through the code for another reason and noticed that you are using isoformat to get the date from the string stored in MB. I was wondering if the string could be preprocessed to replace the ?? with zeroes? Is isoformat smart enough to deal with 00 in one of the date fields? Is this the right approach?
Also, should the check be done before sending to DateWrapper, or inside the DateWrapper initialization?
I would consider a PR for it, but I don't know how to keep it separate from my other one when I need to use both fixes going forward.

I suppose it could just replace the ?? with zeros in the init function. Do you have some examples of where this is used? I didn't come across any, which is why it's not currently handled as such

I did some light testing with the isoparse method. It will not accept zeroes it would need to replace ?? with 01. Let me scroll back in my console history and see if I can gleen a recording ID, where this happened.


Update ros2_uwp.repos

added .git to the end of ros2_dotnet url

@microsoft-github-policy-service agree


How to run (in proper way) second function in parallel?

Hello,
Good pice of code!  Thanks for your work.
I have one question. I'm looking for a proper method to run a function in parallel to web server. I would like to check every 30 seconds my temperature and send values to MQTT server. This should be independent of normal web server activity. What is the best way to do this using MicroWebSev2?
Best regards,
MvincM

Hello @mvincm,
This is not a problem, MicroWebSrv2 runs in threads, so you can use a simple alarm (timer) or a dedicated thread.
It's ok for you?

Hello,
Timer will be good to do this simple job. Should I run it before main loop "try" or in "try"?
P.S.
I'm not familiar with threads in Micropython so Timer looks better for me.
MvincM

You can initialize a timer before but that's not the question because it will call a callback function from another thread.


replace JSCS by Eslint

What does this PR do

Remove JSCS from package.json.
Update versions of eslint, eslint-react-plugin and babel-eslint.
Set .eslintrc using default react rules and some Airbnb React styles

Any background context you want to provide?
remember to run npm install before test

:love:


Mask password in Openstack VIM driver logs

Fixes #128

Could you try to add a unit test to verify the password is really masked!

I have added some unit test cases to verify the password is masked


Allow upcast when merging

I am trying to make a template config for my projects.
Unfortunately, currently I can't find a way to do it properly.
When I try to merge yaml file into config it complains of type mismatch.
Example:
from yacs.config import CfgNode

class Template(CfgNode):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self.TRAIN = CfgNode()
        self.TRAIN.LR = 1

class RepoCfg(Template):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self.DATA = CfgNode()
        self.DATA.SOURCE = ""

If I try to use RepoCfg.load_cfg(cfg_path), it creates all nodes as RepoCfg when they are declared as CfgNode.

I dug through the code and it appears that declaring attributes in __init__.py is not really possible, because during merge all dicts are converted to class and acquire those attributes.


How to draw multiple rectangles in a row？

Hi, Is it possible to click the draw rectangle button once and then draw multiple rectangles in a row？
I tried to execute OnDrawCommand after the DrawEnded event, but it would result in not being able to select the drawn rectangle and occasionally there would be a drag instead of a draw rectangle.
Best Wishes!

Hi
You want to be able to draw multiple rectangles simultaneously? Or sequentially (one by one).
For multiple objects simultaneously this is not possible yet(should be a nice feature). If you want to draw them one by one you should just add multiple rectangles in the list, and when you finish drawing for one of them you should be able to click and draw the next one and so on.
For the drag part, dragging happens if your mouse is over the rectangle, maybe set IsDraggable to false and put it back to true when you're done with the action.
Thank you.

Thank you for your detailed reply.


Date values in date and etag properties have different precisions in createEntity result object.

Package Name: @azure/data-tables
Package Version: 12.2.0-alpha.20211022.1
Operating system: macOS
[X] nodejs

version: 14.16.0

[ ] browser

name/version:

[X] typescript

version: 4.4.4

Is the bug related to documentation in

[ ] README.md
[ ] source code documentation
[ ] SDK API docs on https://docs.microsoft.com

Describe the bug
The result object returned by createEntity has two properties: date and etag. Both effectively contain the entity's new timestamp. However, the date property appears to have been rounded. A call to listEntities returns a much more precise timestamp.
To Reproduce

Call createEntity.
Note the value in the date property (it's something like "2021-11-04T00:38:38.000Z").
Note the DateTime value in the etag property (it's something like "2021-11-04T00:38:39.0611891Z").
Call listEntities and note the timestamp property.

Expected behavior
The date property should have the same value as it's actual timestamp.
Screenshots
N/A
Additional context
The alternative is to parse out the timestamp from the etag, but I'm not sure if this is technically correct. Also not sure if that's the value returned by the platform.

@craxal, I'm looking at some HTTP responses from the service and it seems like this is how the service is handing the values:
This is what we get:
 'ETag': `W/"datetime'2021-09-07T16%3A24%3A07.786071Z'"`,
 'Date': 'Tue, 07 Sep 2021 16:24:07 GMT'

It looks like the service is returning a timestamp property as part of the new entity. I'll dig a bit deeper on Monday to make sure we are returning and exposing in the return type the timestamp property which I think should be the one to use in the use case described in the SE issue linked above. Will update this issue on Monday once I learn more

Here's more information after investigating more.
By design create, update and upsert do not return the created/updated entity. This behavior is consistent across languages, and with the default behavior of the REST API.
However, after discussing with the Tables crew, we think it is reasonable to support this behavior and we'll take this work on the next release (January).
Meanwhile, the best workaround we can suggest is to use the etag property which is returned in the createEntity method.
I'll rename this Issue to track this feature request


Use search/, not search.html

Search is the only page that ends in .html, as it is a separate template. Will have to check if it is possible to make it part of the URL schema.

The new site does not have a search page.


Add GNU's include_next. Closes #104

@xquantxz Thank you to send this pull request!
Could you add unit test to test_run() function in cpptest.sh?
Why don't you add command line option -I. at line 40, or something.

@xquantxz Thank you to send this pull request!
Could you add unit test to test_run() function in cpptest.sh?
Why don't you add command line option -I. at line 40, or something.

Is it okay if I test including stdlib.h?
else I would need to create a new directory to test on

Is it okay if I test including stdlib.h?
else I would need to create a new directory to test on

I prefer the latter.


Fix feeestimate

Fixed a bug with index bounds checking.
Fix minor bug which only affected log messages.
Process fee estimate file into temporary vector first to let sanity checking complete.

Tested locally. On Mainnet fee estimates look about the same as before. Code looks okay too to me, so we can merge this.


TestLookupValueShowsOnCustomerListReport fails in pipeline

Running the tests in an ADO pipeline, as part of chapter 9, on self hosted agent on Windows 2019 Azure VM. All except one test succeed with the following warning:
[warning]LookupValue Report:TestLookupValueShowsOnCustomerListReport: The following exception was encountered when processing XML data: ''', hexadecimal value 0x14, is an invalid character. Line 1555, position 41.' at line 1555 and position 41.

This test is the only one that checks a report (the dataset only).
Running the same test on my local docker installation, with same BC18 version, it runs without any problem.
Relevant to mention: even though it is reported as a warning, the resulting TestResult.xml cannot not be uploaded to the ADO pipeline, probably due to the "invalid character" in the file.
Recalling an issue I had with WORD layout ( The Word layout document is malformed) I tend to think there is something missing in the Windows installation on the Azure VM, but not sure if it's the same as in the context of the WORD layout.
This is the entry in the TestResults.xml that contains the error:
<assembly name="81008 LookupValue Report" test-framework="PS Test Runner" run-date="2021-05-22" run-time="18:27:08" total="1" passed="0" failed="1" skipped="0" time="1.11">
 <collection name="LookupValue Report" total="1" passed="0" failed="1" skipped="0" time="1.11">
 <test name="LookupValue Report:TestLookupValueShowsOnCustomerListReport" method="TestLookupValueShowsOnCustomerListReport" time="1.11" result="Fail">
 <failure>
 <message>The following exception was encountered when processing XML data: ''', hexadecimal value 0x14, is an invalid character. Line 1555, position 41.' at line 1555 and position 41.</message>
 <stack-trace>Library - Report Dataset(CodeUnit 131007).LoadFromInStream line 12 - Tests-TestLibraries by Microsoft
Library - Report Dataset(CodeUnit 131007).RunReportAndLoad line 17 - Tests-TestLibraries by Microsoft
LookupValue Report(CodeUnit 81008).CommitAndRunReportCustomerList line 7 - TestLookupValue by fluxxus.nl
LookupValue Report(CodeUnit 81008).TestLookupValueShowsOnCustomerListReport line 12 - TestLookupValue by fluxxus.nl
Test Runner - Mgt(CodeUnit 130454).RunTests - Test Runner by Microsoft
Test Runner - Isol. Codeunit(CodeUnit 130450).OnRun - Test Runner by Microsoft
Test Suite Mgt.(CodeUnit 130456).RunTests - Test Runner by Microsoft
Test Suite Mgt.(CodeUnit 130456).RunSelectedTests - Test Runner by Microsoft
Test Suite Mgt.(CodeUnit 130456).RunNextTest - Test Runner by Microsoft
Command Line Test Tool(Page 130455).RunNextTest - OnAction - Test Runner by Microsoft
</stack-trace>
 </failure>
 </test>
 </collection>
 </assembly>

Need to find the cause and fix it.

Tip from MS (Nikola Kukrika): Save the raw XML dataset to disk in local and pipeline environment and compare.

Since recent this is also happening in local docker container.

Got the XML saved and found out that the following customer data does contain an illegal character in the Column name="CustAddr_2_" line (the 0x14 in the error):
    <DataItem name="Customer">
      <Columns>
        <Column name="CompanyName">CRONUS International Ltd.</Column>
        <Column name="Customer_TableCaption_CustFilter">Customer: </Column>
        <Column name="CustFilter"></Column>
        <Column name="Customer_No_">46525241</Column>
        <Column name="Customer_Customer_Posting_Group_">EU</Column>
        <Column name="Customer_Customer_Disc_Group_">RETAIL</Column>
        <Column name="Customer_Invoice_Disc_Code_">46525241</Column>
        <Column name="Customer_Customer_Price_Group_"></Column>
        <Column name="Customer_Fin_Charge_Terms_Code_">2.0 FOR.</Column>
        <Column name="Customer_Payment_Terms_Code_">14 DAYS</Column>
        <Column name="Customer_Salesperson_Code_">OF</Column>
        <Column name="Customer_Currency_Code_">SEK</Column>
        <Column name="Customer_Credit_Limit_LCY_" decimalformatter="#,##0">0</Column>
        <Column name="Customer_Balance_LCY_" decimalformatter="#,##0.00">0</Column>
        <Column name="Customer_Contact"></Column>
        <Column name="Customer_Phone_No_"></Column>
        <Column name="Customer_Lookup_Value_Code"></Column>
        <Column name="CustAddr_1_">Konberg Tapet AB</Column>
        <Column name="CustAddr_2_">Linnégatan 15</Column>
        <Column name="CustAddr_3_">SE-550 05 Jonkobing</Column>
        <Column name="CustAddr_4_">Sweden</Column>
        <Column name="CustAddr_5_"></Column>
        <Column name="CustAddr_6_"></Column>
        <Column name="CustAddr_7_"></Column>
      </Columns>
    </DataItem>

As the error message said:

The following exception was encountered when processing XML data: ''', hexadecimal value 0x14, is an invalid character. Line 1555, position 41.' at line 1555 and position 41.

Position 41 is after the text in the CustAddr_2 node value.
A couple of notes/questions:

I wonder if this illegal character was inserted in the new (BC19 and BC18.3) databases, but then still should this be handled by the platform?
If I run the report from the client, getting the print, there is no issue.
I haven't found a way yet to "see" the 0x14 character (tried searching with regex, a hexadecimal viewer)
If I run my test on the report including this customer I get the error (see dataset attachment report - all customers.txt). If I run excluding this customer it succeeds (see dataset attachment report - not all customers.txt).

Workaround for now would be to delete that specific customer record as part of the fixture setup before the test is run.


Manually mark auto_update as false

Some programs like Firefox allow you to configure whether or not they auto update, and by disabling this I would like homebrew-cask-upgrade to take over with managing the latest version. By allowing users to mark auto_update as false this would mean that a full upgrade could be done without using -a meaning that other apps which actually automatically update won't get updated by homebrew-cask-upgrade.

The reason why this flag would be useful on a per application basis is because -a attempts to update all apps however some apps don't support disabling auto_update and would rather not unnecessarily update them. So if I could mark the ones where I had disabled their inbuilt auto updating mechanism then it'd be nice to be able to update them without specifying -a.

i think this is it possible with brew cu firefox -a?

@Enzime exactly as @muescha suggested. I don't think we will implement any super special behaviour here, since this is how it was designed.


Colored tables color is hidden when they have top attached segments

When a colored attached table has a top attached segment, the color isn't shown. This didn't happen in version 1.x. Attached images from before (1.x) and after (2.x).

Please include a test case to reproduce the issue, there's a jsfiddle to fork in the readme.

http://jsfiddle.net/7Lff0x2k/

This still happens, as can be seen in the provided jsfiddle.
If it's intended behavior, although it's a clear regression as can also be seen in the provided screenshots, then close it.


We should always lowercase true and false when converting JSON

My calls to DescribeAutoScalingGroups returned a value of False. This caused a crash via JSONDecoder, which could not handle the input (and was expecting a lowercased false).
This change now defensively handles the case where we receive a capitalized boolean value back from the API.

Grate catching! LGTM.
@jonnymacs Do you have any opinions? If not, I'll merge this.

Thanks folks! 🙇


#comment parsed as incorrectly indented string in root block-scalar

Describe the bug
An error occurs when a #comment is one outdented than the (root level) block-scalar indentation-indicator indicates
Block scalar lines must not be less indented than their explicit indentation indicator
To Reproduce
abc: |5 # no error
      # string 6
     # string 5
    #comment 4
   #comment 3

---

|5 # error at #comment 4
      # string 6
     # string 5
    #comment 4
   #comment 3

Expected behaviour
#comment 4 should be parsed as comment, not as part of the multi-line string
Versions:

Environment: VSCode 1.89
yaml: 2.4.2

Additional context

Yeah, there's something odd going on here. Probably to do with the -1 indent level that unindented nodes are considered to have.


null value can't be shaped to an array type

Repro is with Zed commit 2b0b0c9.
Consider the following example where I attempt to shape the values of three records using a single type definition in which the named field is defined to be array-of-strings.
$ cat example.ndjson
{"tags": null}
{"tags": []}
{"tags": ["something"]}

$ zq -version
Version: v0.29.0-411-g2b0b0c97

$ zq -Z example.ndjson
{
    tags: null
}
{
    tags: [] (0=([null]))
}
{
    tags: [
        "something"
    ]
}

$ zq -Z 'type foo={tags:[string]}; put this:=shape(foo) | put shape:=typeof(this)' example.ndjson
{
    tags: null,
    shape: ({tags:null})
}
{
    tags: [] (0=([string])),
    shape: (foo=({tags:[string]}))
}
{
    tags: [
        "something"
    ],
    shape: (foo=({tags:[string]}))
}

I was not expecting the {tags:null} type definition to remain. If there was some intentional reason not to allow that shape to be applied, I'd have expected some kind of warning/error to that effect.
As for my best guess as to whether it was supposed to work, I've found this portion of the ZSON spec:

The null type is a primitive type representing only a null value. A null value can have any type.

That second sentence leads me to believe it should have worked, since an array of strings is "a type" (albeit a complex one), so I'd expect a field defined to hold an array of strings could therefore hold "a null value".

Verified in Zed commit 2ca122e.
Now the null value is shown with the expected type definition.
$ zq -version
Version: v0.29.0-429-g2ca122e1

$ zq -Z 'type foo={tags:[string]}; put this:=shape(foo) | put shape:=typeof(this)' example.ndjson
{
    tags: null (0=([string])),
    shape: (foo=({tags:[string]}))
}
{
    tags: [] (0),
    shape: (foo=({tags:[string]}))
}
{
    tags: [
        "something"
    ],
    shape: (foo=({tags:[string]}))
}

Thanks @mattnibs!


Implement NSM forwarders for private methods on interface implementation

See #34962 for deeper discussion from @lrhn and @eernstg.  The following behaves inconsistently on various implementations.
For:
foo.dart:
class Foo {
  int _x = 42;
}

void test(Foo f) {
  print(f._x);
}

bar.dart:
import 'foo.dart';

class Bar implements Foo {
}

void main() {
  var b = new Bar();
  test(b);
}

the proposal is to create NSM forwarders on Bar:
  int get foo:_x => this.noSuchMethod(Invocation.getter(#foo::_x);
  void set foo::_x(int $) => this.noSuchmethod(Invocation.setter(#foo::_x, $);

@kmillikin - is this something we can fix in the just the front end?
@mraleph - fyi - the AOT compiler might crash on the above.  We have a soundness issue without the forwarders.


[24.05] docker: move default from 24.x to 25.x, docker_24 mark as vulnerable, docker_{25,26}: bump

Description of changes
Manual backport of #330109.
Docker version 24.x is no longer maintained as of February 1, 2024.
It did not (yet?) receive a fix for CVE-2024-41110 .
Here we bump the default to 25.x for NixOS 24.05, to reduce the risk of breakage. 25.x is supposedly the future LTS version.
Related to https://github.com/NixOS/nixpkgs/issues/328275.

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

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

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

[x] (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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

I'm not sure what happened but the docker/cli tag 25.0.6 does not seem to exist right now, so the source is failing to download with a 404 error due to this PR.

Thanks for reporting, I asked upstream about the missing tag.

I think what happened is that the docker cli version was updated to 25.0.6 but the hash wasn't updated, so Hydra is likely still using the source for 25.0.5. As far as I can see the cli version 25.0.6 never existed.


h2c support in RoadRunner

Hello folks,
Garry here from BigCommerce.
We are currently evaluating RoadRunner as an app-server for some of our internal services and it is looking pretty promising, great job!
As part of our investigation, however it was discovered that RoadRunner does not support non-encrypted HTTP/2 connections (aka h2c). Based on my experience with Golang it is also relatively simple thing to implement, thanks to x/net/http2/h2c.
There is a number of reasons as to why that can be beneficial such as:

internal service to service communication can have different ways of securing traffic (such as LinkerD transparent encryption);
request routing via the service mesh might require unencrypted traffic to make appropriate decisions;
local development environment won't require a certificate and key to work with;

I'm curious if that is something that you guys will be interested in or is there a reason why it was explicitly avoided in the first place? I might consider contributing back some code to make that happen if there is no strong reason not to.
Implementation wise, my thinking is to add a new configuration option (that is off by default) to enable h2c by wrapping an HTTP/1 handler into the h2c handler. Any thoughts on that?
Cheers!
cc @precariouspanther

Hi, we have no objections on adding such functionality. Let us know if you need any assistance on altering HTTP service.

Added to 1.4.7, thanks to @Alex-Bond
H2C can be enabled via (disabled by default):
http:
    http2.h2c: true

👏 thanks a lot!


chore(components): add debugging traces

Useful to debug tracing components.
Ref CAMEL-21472
Description

Target

[ ] I checked that the commit is targeting the correct branch (note that Camel 3 uses camel-3.x, whereas Camel 4 uses the main branch)

Tracking

[ ] If this is a large change, bug fix, or code improvement, I checked there is a JIRA issue filed for the change (usually before you start working on it).

Apache Camel coding standards and style

[ ] I checked that each commit in the pull request has a meaningful subject line and body.

[ ] I have run mvn clean install -DskipTests locally from root folder and I have committed all auto-generated changes.

cc @thomas-gantenbein-tga


chore(localize): updated translation from Crowdin

:tada: This PR is included in version 2.70.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Pop Eager Creation

@markbates this PR allows you to Eager create associations for a model, it takes into account every type of associations when creating them. A common use:
user := User{
  Name: "Mark Bates",
  Books: Books{{Title: "Pop Book", Description: "Pop Book", Isbn: "PB1"}},
  FavoriteSong: Song{Title: "Don't know the title"},
  Houses: Addresses{
    Address{HouseNumber: 1, Street: "Golang"},
  },
}

err := tx.Eager().Create(&user)

@larrymjordan I'm assuming this one is good for me to start review?

@larrymjordan also, can you please resolve the conflicts when you get a chance? thanks.

@markbates have you give it a try to this feature?

I'll give it a try. I've been waiting for the go ahead from you. :)

@larrymjordan will this create join table records automatically? or is the preferred approach to create the join table record and let the eager stuff create the associated record?
Perhaps some docs around that situation would be great.

Found an issue. When I did tx.Eager().Create(joinAssociation) things don't get set/created correctly.
Here's my repo for it:
https://github.com/markbates/assoc

@markbates regarding to your question: will this create join table records automatically? or is the preferred approach to create the join table record and let the eager stuff create the associated record? I'm going to overall describe what happen inside:
user := User{
  Name: "Mark Bates",
  Books: Books{{Title: "Pop Book", Description: "Pop Book", Isbn: "PB1"}},
  FavoriteSong: Song{Title: "Don't know the title"},
  Houses: Addresses{
    Address{HouseNumber: 1, Street: "Golang"},
  },
}

err := tx.Eager().Create(&user)

The above sentence will do this:

It will notice Books is  a has_many association and It will realize that to actually store every book it will need to get the UserID first. So, it proceeds to store first User data so it can retrieve an ID and then use that ID to fill UserID field in every Book in Books. Later store all books in database.

FavoriteSong is a has_one association and it uses same logic described in has_many association. Since User data was previously saved before creating all books, it already knows that User got an ID so it fills its  UserID field with that value and FavoriteSong is then stored in database.

Houses for this example is a many_to_many relationship and it will have to deal with two tables in this case  users and addresses.  It will need to store all addresses first in addresses table before save them in the many to many table. Because  User was already stored, it already have an ID.  This is a special case I have to deal with, since this behavior was different to all other associations. I managed to solve it by let it implement the AssociationCreatableStatement interface, all other associations implement by default AssociationCreatable interface

For belongs_to association like shown in the example bellow, it will need first to create  User to retrieve ID value and then fill its UserID field before be saved in database.
book := Book{
    Title:      "Pop Book",
   Description: "Pop Book",
   Isbn:        "PB1",
   User: User{
        Name: nulls.NewString("Larry"),
   },
}

tx.Eager().Create(&book)

I'm assuming for all these cases, that none of models and associations has previously been saved in database.
I guess with this in mind we could have an overall idea for what to test. Thanks for asking, hope this can answer your question.

@markbates I checked your repo already and not sure if you have updated your Gopkg.toml definition locally on your machine? I clone your repo and noticed that you are pointing to my master branch and I have these changes on eager-executors. Here is my definition for Gopkg.toml:
[[constraint]]
  name = "github.com/gobuffalo/pop"
  source = "github.com/larrymjordan/pop"
  branch = "eager-executors"

I have the right branch https://github.com/markbates/assoc/blob/master/Gopkg.toml#L30 try pulling the repo again, you might have an old cache or something.

can you all of that great explanation to the docs so it's available to every one?

@markbates sure.

@markbates add a fix for a bug I found when trying to run your repo. Can you give it a try when you have the chance. Thanks.

@larrymjordan updated my repo and still failing:
https://github.com/markbates/assoc/commit/fb2bd3925abcb2760e40174e18042ea695de7873
I found another interesting bug, working up a use case for it now.

Ok, so I found a couple of very easy to reproduce big ones:
https://github.com/markbates/assoc/commit/094075222c066199955eb4fb49300b9bccaa755a
It started with a model like this:
type CourseCode struct {
	ID        uuid.UUID `json:"id" db:"id"`
	CreatedAt time.Time `json:"created_at" db:"created_at"`
	UpdatedAt time.Time `json:"updated_at" db:"updated_at"`
	CourseID  uuid.UUID `json:"course_id" db:"course_id"`
	Course    Course    `json:"-" db:"-"`
}

and this statement:
		code := &models.CourseCode{
			Course: models.Course{},
		}
		if err := tx.Eager().Create(code); err != nil {
			return errors.WithStack(err)
		}

when I run that the CourseCode and it's Course are not saved. the reason it didn't try and save the Course was because I didn't have the belongs_to tag on it. What's worrying is that it never returned an error failing to save either of the records and SQL statements are executed.
the next issue comes when "fix" my course model:
type CourseCode struct {
	ID        uuid.UUID `json:"id" db:"id"`
	CreatedAt time.Time `json:"created_at" db:"created_at"`
	UpdatedAt time.Time `json:"updated_at" db:"updated_at"`
	CourseID  uuid.UUID `json:"course_id" db:"course_id"`
	Course    Course    `belongs_to:"course"`
}

Then I try the create again. This time things still fail, or rather fail to fail. I again, got no error, but this time my course was properly saved in the DB and I see the SQL statement in log:
INSERT INTO courses (created_at, id, updated_at) VALUES (:created_at, :id, :updated_at)

But my CourseCode record was never saved, and no error was returned.
Finally, after my last run, where it created the Course, but not the CourseCode, I found I had a random Course in my db, those need to be cleaned up. Just becareful of the open a transaction inside of a transaction issue.
We'll get this PR to the finish line. I'm desperate for it to work, trust me, these are all issues from a real app. :)

Hi @markbates I'll take a look on these. Thanks for taking the time to check this out.

Thank you for taking the time to work on this too. :) I'm happy to keep testing it, it's going to be so useful.

@markbates I fixed issues. Let me know if works for you as well when you have the chance.

That fixed the course/code issue! Thanks!
But I'm still getting this error:
### --- LOAD PERSON --- ###

[POP] 2018/03/29 09:53:02 SELECT people.created_at, people.id, people.name, people.updated_at FROM people AS people LIMIT 1
### p -> {"id":"c3a98358-bd31-46d7-b20b-cd57c4c752c1","created_at":"2018-03-29T09:53:02.310693Z","updated_at":"2018-03-29T09:53:02.310694Z","name":"Mark","PetOwners":null,"Pets":null}
### p.Pets -> null
### p.PetOwners -> null
[POP] 2018/03/29 09:53:02 SELECT pet_owners.created_at, pet_owners.id, pet_owners.person_id, pet_owners.pet_id, pet_owners.updated_at FROM pet_owners AS pet_owners WHERE person_id = $1 ORDER BY created_at asc | [c3a98358-bd31-46d7-b20b-cd57c4c752c1]
[POP] 2018/03/29 09:53:02 SELECT pets.created_at, pets.id, pets.name, pets.updated_at FROM pets AS pets WHERE id in (select pet_id from pet_owners where person_id = $1) | [c3a98358-bd31-46d7-b20b-cd57c4c752c1]
2018/03/29 09:53:02 p.Pets should not be nil

I too want this -- anything that reduces the workload on the dev makes Buffalo amazing.

@markbates please give it a new try when you have the chance, thanks.

@markbates I added the replacement for slices in associations only when they are in a eager stage.

Hi @markbates, I cleaned up the code with the suggestions you gave to me. Really appreciated. Take a look when you have a chance and let me know your thoughts.

Itching for this^^ Good stuff!

@larrymjordan excellent work again! thank you so much for all of your hard work on this PR. from everyone in the community; thank you so much!


Intel flags are applied to PowerPC and break the build: cc1: error: unrecognized command line option "-mavx"

--->  Configuring lpcnetfreedv
Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_lpcnetfreedv/lpcnetfreedv/work/build" && /opt/local/bin/cmake -G "CodeBlocks - Unix Makefiles" -DCMAKE_BUILD_TYPE=MacPorts -DCMAKE_INSTALL_PREFIX="/opt/local" -DCMAKE_INSTALL_NAME_DIR="/opt/local/lib" -DCMAKE_SYSTEM_PREFIX_PATH="/opt/local;/usr" -DCMAKE_C_COMPILER="$CC" -DCMAKE_CXX_COMPILER="$CXX" -DCMAKE_OBJC_COMPILER="$CC" -DCMAKE_OBJCXX_COMPILER="$CXX" -DCMAKE_POLICY_DEFAULT_CMP0025=NEW -DCMAKE_POLICY_DEFAULT_CMP0060=NEW -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_COLOR_MAKEFILE=ON -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_MAKE_PROGRAM=/usr/bin/make -DCMAKE_MODULE_PATH="/opt/local/share/cmake/Modules" -DCMAKE_PREFIX_PATH="/opt/local/share/cmake/Modules" -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON -DCMAKE_INSTALL_RPATH="/opt/local/lib" -Wno-dev -DDISABLE_CPU_OPTIMIZATION=ON -DCMAKE_OSX_ARCHITECTURES="ppc" -DCMAKE_OSX_DEPLOYMENT_TARGET="10.6" -DCMAKE_OSX_SYSROOT="/" /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5
-- The C compiler identification is GNU 4.2.1
-- Checking whether C compiler has -isysroot
-- Checking whether C compiler has -isysroot - yes
-- Checking whether C compiler supports OSX deployment target flag
-- Checking whether C compiler supports OSX deployment target flag - yes
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/gcc-4.2 - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- LPCNet version: 0.5
-- Host system arch is: powerpc
-- avx processor flags found or enabled.

Yeah, this is the bug: https://github.com/drowe67/LPCNet/blob/00890a63c7c2b223f35b087efbab3b92c8829d54/CMakeLists.txt#L140-L146

Notice this happens despite -DDISABLE_CPU_OPTIMIZATION=ON being passed.

This is intentional to support the cross-compiling workflow for the FreeDV application. From the top-level CMakeLists.txt file:
# Detection of available CPU optimizations
if(NOT DISABLE_CPU_OPTIMIZATION)
    ...
else()
    # Presume all optimizations are available as the user is likely setting them themselves
    # (e.g. cross-compiling)
    set(AVX2_PRESENT TRUE)
    set(AVX_PRESENT TRUE)
    set(SSE_PRESENT TRUE)
    set(NEON_PRESENT TRUE)
endif()

You should be able to explicitly specify -DAVX2=OFF -DAVX=OFF -DSSE=OFF -DNEON=OFF at the command line to prevent usage of the Intel/ARM flags.
BTW I'm not sure if there are any PPC machines that could satisfactorily run this version of LPCNet or FreeDV 2020 modes in general. (I only have access to Intel and ARM based Macs here for development.) Definitely let us know if your testing does prove that they can.

@tmiw Thank you for responding.
Since existing code breaks the build for several archs, I believe it is wrong, regardless of the fact that it facilitates something else. It can be written in a way cross-compiling works, and PPC (or RISC-V, MIPS etc.) are not broken. Requiring the user to manually set flags (which is also undocumented, apparently), is a suboptimal solution. Especially given that people will expect -DDISABLE_CPU_OPTIMIZATION=ON to turn off optimizations – while in fact it does not.

I'm not sure if there are any PPC machines that could satisfactorily run this version of LPCNet or FreeDV 2020 modes in general

So far I only confirmed it builds fine (after CMakeLists are fixed), but I can do testing, if there are proper tests. Macports turns off testing for this port even on Intel, with a note that tests are Linux-only (I have no idea if that is accurate).
Regardless of the PPC builds on macOS, the same issue will be relevant for FreeBSD and Linux, which actively support PPC in current systems – there is, presumably, no reason why something should not work there, though I cannot test it personally.

@tmiw
UPD. Okay, Macports is wrong, tests run. This is on PowerPC: expectedly, SIMD fail, since there is no Altivec implementation, other tests pass:
--->  Testing lpcnetfreedv
Executing:  cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build" && /usr/bin/make test
Running tests...
/opt/local/bin/ctest --force-new-ctest-process
Test project /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/build
    Start 1: feature_extraction
1/4 Test #1: feature_extraction ...............   Passed    0.23 sec
    Start 2: nnet2f32
2/4 Test #2: nnet2f32 .........................   Passed    0.62 sec
    Start 3: SIMD_functions
3/4 Test #3: SIMD_functions ...................***Failed    0.01 sec
    Start 4: lpcnet_enc_dec
4/4 Test #4: lpcnet_enc_dec ...................   Passed    0.11 sec

75% tests passed, 1 tests failed out of 4

Total Test time (real) =   0.99 sec

The following tests FAILED:
	  3 - SIMD_functions (Failed)

@tmiw I looked into the source of test_vec, it apparently compares results from non-optimized and vectorized (fast) versions of sgemv_accum16 and sparse_sgemv_accum16. Obviously, there are no vectorized ones for PPC at the moment. The test_vec binary can be linked once fast functions are removed, but obviously then there is nothing to compare to, and test fails.
If you suggest another meaningful way to run that test with non-optimized functions only, I can try that.
At the moment, this is the only test which fails.

Hi @barracuda156 - using your target machine, can you pls post the output of
~/LPCNet/build_linux/src $ time sox ../../wav/all.wav -t raw -r 16000 - | ./lpcnet_enc -s | ./lpcnet_dec -s > /dev/null
<snip>
real	0m31.281s

So 31 seconds for a 49 second wave file on my machine.  So the key question is will the code run in real time on PPC etc.
This is a experimental fork of LPCNet that we have been using try out Neural speech coding with Ham radio.  We're not pitching it at widespread use outside of the FreeDV community at this time.  It may be deprecated in the next few years as our project and neural speech coding evolves.
What is you use case for this repo?

@drowe67 Thank you for responding! Here is the output:
36-25% time /opt/local/bin/sox /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_lpcnetfreedv/lpcnetfreedv/work/LPCNet-0.5/wav/all.wav -t raw -r 16000 - | /opt/local/bin/lpcnet_enc -s | /opt/local/bin/lpcnet_dec -s > /dev/null
direct split VQ
dec: 3 pred: 0.00 num_stages: 4 mbest: 5 bits_per_frame: 52 frame: 30 ms bit_rate: 1733.33 bits/s
direct split VQ
dec: 3 pred: 0.00 num_stages: 4 mbest: 5 bits_per_frame: 52 frame: 30 ms bit_rate: 1733.33 bits/s
64 1 1 16 128 1152 160 160 160 160
ftest cols = 2002
bits_written 86216
/opt/local/bin/sox  -t raw -r 16000 -  0.02s user 0.02s system 0% cpu 2:58.76 total
/opt/local/bin/lpcnet_enc -s  5.71s user 0.06s system 3% cpu 2:58.83 total
/opt/local/bin/lpcnet_dec -s > /dev/null  224.28s user 1.69s system 98% cpu 3:49.03 total

Not fast, I understand :) But we use non-vectorized code, and this is 2005 machine.
Re use case: we got two ports which depend on LPCNet: https://ports.macports.org/port/lpcnetfreedv/details
In turn, quite a number of ports depend on those two.

@tmiw - does freedv-gui still build without LPCNet?

IIRC it required LPCNet a while back. I haven't tried recently, though. Regardless, there is logic in the freedv-gui code to prevent use of 2020/2020B if AVX isn't available (x86 only) or if the 2020 decode is slower than twice the speed of real time (i.e. it needs to take ~0.5s* or less to decode a 1s audio sample).
* I don't think it's exactly 0.5s anymore; I remember adding a buffer a while back per user feedback but I don't remember what it got set to.

Since existing code breaks the build for several archs, I believe it is wrong, regardless of the fact that it facilitates something else. It can be written in a way cross-compiling works, and PPC (or RISC-V, MIPS etc.) are not broken. Requiring the user to manually set flags (which is also undocumented, apparently) is a suboptimal solution. Especially given that people will expect -DDISABLE_CPU_OPTIMIZATION=ON to turn off optimizations – while in fact it does not.

I think the lack of documentation for this is a fair point. This could perhaps be renamed to DISABLE_CPU_OPTIMIZATION_FLAG_DETECTION or something instead? (suggestions appreciated)
I do have a few concerns about PR #57 that was opened for this issue:

For PPC, the minimum macOS version was set to 10.5, whereas it's set to 10.9 for x86/ARM. This may require that Codec2 and/or freedv-gui be adjusted as well to match, which (especially for the latter) I'm not sure is possible. If not, is there a way to flag those ports such that they're x86 and ARM only, or would we need to detect attempts to compile on PPC and error out on our side?
-DBUILD_OSX_UNIVERSAL behavior is being changed so that we either build for PPC/PPC64 only or x86/ARM only. If we're already going to support PPC, we should ask whether this should be broadened to also support the machines that were built around the time of the PPC->Intel transition.
The defaults for the AVX, etc. CMake flags are being changed to OFF if -DDISABLE_CPU_OPTIMIZATION=ON. I'd prefer that they remain ON if we're building on an x86 or ARM environment (or cross-compiling for one). However, this is mainly because freedv-gui has broken for some users before due to improper use of certain compiler flags (e.g. for AVX2), so I'm very wary of making changes unless they've been tested.

That said, I took a look at how LPCNet is being built for Windows and macOS and cmake/BuildLPCNet.cmake doesn't seem to specify compiler flags:
if(CMAKE_CROSSCOMPILING)
    set(LPCNET_CMAKE_ARGS ${LPCNET_CMAKE_ARGS} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE})
endif()

if(BUILD_OSX_UNIVERSAL)
    set(LPCNET_CMAKE_ARGS ${LPCNET_CMAKE_ARGS} -DBUILD_OSX_UNIVERSAL=1)
endif(BUILD_OSX_UNIVERSAL)

include(ExternalProject)
ExternalProject_Add(build_lpcnetfreedv
   SOURCE_DIR LPCNet_src
   BINARY_DIR LPCNet_build
   GIT_REPOSITORY https://github.com/drowe67/LPCNet.git
   GIT_TAG v0.5
   CMAKE_ARGS ${LPCNET_CMAKE_ARGS}
   CMAKE_CACHE_ARGS -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${CMAKE_OSX_DEPLOYMENT_TARGET}
   INSTALL_COMMAND ""
)

So I could be worrying too much about the DISABLE_CPU_OPTIMIZATION change too. (Note: Since the last LPCNet PR that touched this, freedv-gui switched to LLVM MinGW for Windows and a lot of cleanup was done to the freedv-gui CMake scripts in general to reduce the need for the various build_*.sh scripts.)

@tmiw - does freedv-gui still build without LPCNet?

IIRC it required LPCNet a while back. I haven't tried recently, though. Regardless, there is logic in the freedv-gui code to prevent use of 2020/2020B if AVX isn't available (x86 only) or if the 2020 decode is slower than twice the speed of real time (i.e. it needs to take ~0.5s* or less to decode a 1s audio sample).

Actually I feel this is the key to this Issue.  Rather than relying on a run time test, and committing our team to support and maintenance on platforms where it can't possibly work - I'd prefer to not build LPCNet in builds where it can't possibly run, and have the higher layer build systems deal with that at build time (like codec2 does).

@drowe67 I will address other points when I am not on a mobile app, but couple of things:

It should be clear that supporting platforms other than Intel/ARM is not the same as supporting PPC on macOS. I believe, existing code breaks the build on Linux and BSD too, and certainly there are modern Power systems on par with Intel/ARM speed-wise. That is, an arguably fair point that current non-vectorized implementation may be of purely academic use on MacOS PPC does not prevent from supporting PowerPC as such.
You do not ban i386, arm32 and some specific archaic x86 CPUs which may also be too slow for real-time decoding, after all.
It makes a better sense to disable PPC by default (and that is done anyway) and not prohibit a user to try the code which actually does work (which is tested now). Someone may come up with AltiVec/VSX backend – and it is more likely to happen if the port works to begin with.

I do not think this gonna add any maintenance burden for you, given there is no vectorized implementation. In fact, there is nothing in the code to require PPC-specific changes, it builds and works as is. We only need to fix CMake build system, which at the moment sabotages otherwise working config. Fix it once, in a way is acceptable for you, and leave it then, nothing for PPC gonna change on MacOS, and unless AltiVec/VSX are added, nothing specific for PowerPC needed generally.

Re deployment target: 10.9 was there already, not my choice or change; for PPC on MacOS it makes no sense to set it above 10.6 though, and ppc64 needs 10.5. Since there is nothing here, AFAICS, to require 10.6 over 10.5, just use the latter. This change affects only macOS PPC systems, so is irrelevant for anything else.

Actually I feel this is the key to this Issue. Rather than relying on a run time test, and committing our team to support and maintenance on platforms where it can't possibly work - I'd prefer to not build LPCNet for platforms where it can't possibly run, and have the higher layer build systems deal with that at build time (like codec2 does).

FWIW, I was able to get freedv-gui to compile without LPCNet, but it definitely needed code and CMakeLists.txt changes to do so. The good news is that it needed fewer changes than I thought it would, at least for the proof of concept (a neater solution would of course need more work). One issue is that FREEDV_MODE_2020 still seems to be defined by Codec2 even if compiled without LPCNet, which caused freedv-gui to run its first-time 2020 benchmark test (and hung trying to do so).
Speaking of the runtime test, I still think one is necessary even if we conditionally compile LPCNet. For example, there are ARM systems that have NEON but aren't necessarily powerful enough to satisfactorily decode 2020 (e.g. Raspberry Pi).

For example, there are ARM systems that have NEON but aren't necessarily powerful enough to satisfactorily decode 2020

I would assume some CoreDuo would not work either, since they are presumably slower that the last G5s. Or if they do, then G5 may also work, once AltiVec backend is added.

@tmiw Regarding universal builds on macOS. The problem here is that GNU GCC does not support universal builds at all – at least until upstream fixes its driver-driver which existed with Apple GCC (and Apple GCC will not compile LPCNet, being too outdated). (It is in plans, kind of, but Iain has no time, and no one else is capable of doing that.)
This problem is arch-agnostic, AFAIK: you will not be able to build i386+x86_64 with GCC too.
Now, Macports has its own implementation for universal builds which does work with modern GCC, however it has issues with combining Intel with PowerPC. Long story short, current ports for GCC do not build as genuinely universal and won’t support x86_86+ppc(64) targets. They do support i386+x86_64 and ppc+ppc64 though.
Clang is broken for PowerPC, so if anyone is building on macOS PowerPC, they will be using GCC.
Having all this in mind, I think it is a sane choice to make it either Intel+ARM (which would require Clang) or ppc+ppc64 (gonna work with Macports environment only – so do not force-enable universal in this case).

@barracuda156, thanks for that feedback. We'll need to discuss further as a PLT how this will be resolved (if at all). Once we have any further updates, we'll update this issue accordingly.

@tmiw Thank you!
P. S. Just to be clear, universal builds issue is of very low priority, and I am fine with leaving it as is (i.e. keeping Intel+ARM only). This we can fix in Macports locally, and that kind of patch will be easy to carry, be it needed. I am also not particularly concerned about deployment target setting, as Macports overrides it with correct setting. (However it makes no sense to set it to 10.9 for PowerPC, since any SDK after 10.6 lacks PPC slices.)

I reimplemented the previously proposed PR in what should hopefully be a lower impact manner: https://github.com/drowe67/LPCNet/pull/59

@tmiw Thank you very much!


Update workflow to latest rust version

Hi @Cliftonz can you please assign this to me I would like to work on it.

@king-11 you are assigned!

A little unclear on this 😅  in the testing.yml we are running test against nightly, stable and 1.60. By default stable points to latest rust stable version as of now 1.72.1. we can get rid of the hardcoded value for most cases and set a MSRV (Minimum Supported Rust Version) instead.

@Cliftonz I have updated the rust version in testing.yml and Cargo.toml as well to match our Minimum Supported Version (MSRV) i.e. 1.63.0 found using tool cargo-msrv


Turtelbot 4 Cannot charge without payload active.

Please provide the following information:

OS: Ubuntu 22.04
ROS Distro: Humble
Built from source or installed: Installed

Expected behaviour
Dock TB4
Press Power button
Device Turns off
Actual behaviour
Dock TB4
Press Power button
Nothing happens
To Reproduce
Provide the steps to reproduce:
Dock TB4.
Other notes
According to all Clearapth manuals and Create 3 manual, there is no way to charge the TB4 without the payload active.
Considering the RPLidar uses a belt, ( just a bit better than the rubber bands used in previous models) the device will wear out due to mechanical wear prematurely as it will operate continually in charging and device operation.
Other than to unplug the lidar or the entire payload (remove card from storage bay). There really should be an option to shutdown the payload during charging. ( say set a sleep or time-out function.)
Its clear this was overlooked during the design of the Turtlebot 4.

The turtlebot4 node implements a power saving mode where it will turn the camera off when the robot docks, and turn it back on when it undocks. For the RPLIDAR, the driver exposes the auto_standby parameter set here which makes the RPLIDAR stop spinning when there are no active subscribers on the /scan topic.
By default these power saving options are enable on turtlebot4. The reason your lidar continues to spin is likely because you have the turtlebot4 diagnostics node enabled. This node subscribes to /scan to monitor the scan frequency, so the lidar continues to spin. Diagnostics can be disabled in the turtlebot4_setup tool. See https://github.com/turtlebot/turtlebot4/issues/286 for more details.

This issue is being closed due to inactivity. If you are still experiencing the issue, feel free to reopen this ticket when you are ready to continue the troubleshooting process.


recover training

when I start recover training Baichuan-7B, I meet the bug.
Exception has occurred: RuntimeError
Caught RuntimeError in replica 1 on device 1.
Original Traceback (most recent call last):
File "/opt/miniconda3/envs/flash/lib/python3.9/site-packages/torch/nn/parallel/parallel_apply.py", line 64, in _worker
output = module(*input, **kwargs)
File "/opt/miniconda3/envs/flash/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1194, in _call_impl
return forward_call(*input, **kwargs)
File "/home/jovyan/honor/xcg/LLM-Pruner-main/LLMPruner/peft/peft_model.py", line 664, in forward
return self.base_model(
File "/opt/miniconda3/envs/flash/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1194, in _call_impl
return forward_call(*input, **kwargs)
File "/home/jovyan/honor/xcg/LLM-Pruner-main/LLMPruner/models/hf_baichuan/baichuan7B/modeling_baichuan_7B.py", line 610, in forward
outputs = self.model(
File "/opt/miniconda3/envs/flash/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1194, in _call_impl
return forward_call(*input, **kwargs)
File "/home/jovyan/honor/xcg/LLM-Pruner-main/LLMPruner/models/hf_baichuan/baichuan7B/modeling_baichuan_7B.py", line 452, in forward
inputs_embeds = self.embed_tokens(input_ids)
File "/opt/miniconda3/envs/flash/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1212, in _call_impl
result = forward_call(*input, **kwargs)
File "/opt/miniconda3/envs/flash/lib/python3.9/site-packages/torch/nn/modules/sparse.py", line 160, in forward
return F.embedding(
File "/opt/miniconda3/envs/flash/lib/python3.9/site-packages/torch/nn/functional.py", line 2210, in embedding
return torch.embedding(weight, input, padding_idx, scale_grad_by_freq, sparse)
RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cuda:1! (when checking argument for argument index in method wrapper__index_select)
File "/home/jovyan/honor/xcg/LLM-Pruner-main/post_training.py", line 199, in main
trainer.train(resume_from_checkpoint=args.resume_from_checkpoint)
File "/home/jovyan/honor/xcg/LLM-Pruner-main/post_training.py", line 244, in
main(args)
How can I fix it?

Hi. Please refer to this line:
RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cuda:1!

Please check whether the model and the input is located on the same device.


System.Net.Sockets.SocketException

I get a
System.Net.Sockets.SocketException
The descriptor is not a socket

when I Start(); on a NetPeer object.
this only happens while running debug, and if I continue it continues to run fine.
however it's a pain when I'm attempting to debug something and having to continue the process whenever I start a server or client.
I'm not sure why the exception is getting hit.
debugging with monodevelop 7.1 on linux mint.

Not sure if this is the same issue, but I get the following crash information when calling Start()
mono_w32socket_convert_error: no translation into winsock error for (6) "Device not configured"
Stacktrace:
at  <0xffffffff>
at (wrapper managed-to-native) System.Net.Sockets.Socket.IOControl_internal (intptr,int,byte[],byte[],int&) [0x0000c] in :0
at System.Net.Sockets.Socket.IOControl_internal (System.Net.Sockets.SafeSocketHandle,int,byte[],byte[],int&) [0x0000a] in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/System/System.Net.Sockets/Socket.cs:2491
at System.Net.Sockets.Socket.IOControl (int,byte[],byte[]) [0x00019] in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/System/System.Net.Sockets/Socket.cs:2476
at Lidgren.Network.NetPeer.BindSocket (bool) [0x000fd] in /Users/matt/projects/test2xna/Lidgren/Lidgren.Network/NetPeer.Internal.cs:137
at Lidgren.Network.NetPeer.InitializeNetwork () [0x0007c] in /Users/matt/projects/test2xna/Lidgren/Lidgren.Network/NetPeer.Internal.cs:168
at Lidgren.Network.NetPeer.Start () [0x0006a] in /Users/matt/projects/test2xna/Lidgren/Lidgren.Network/NetPeer.cs:150

I should mention that I avoid the crash by simply commenting out the following line:
m_socket.IOControl((int)SIO_UDP_CONNRESET, new byte[] { Convert.ToByte(false) }, null);
This is on OSX, by the way.


BMW i3s unable to read SOC

Describe the bug
the SOC for the BMW i3s can not be read anymore
Steps to reproduce
type into terminal
./evcc vehicle
Configuration details
evcc.yaml has not been changed.
soc polling from bmw api is also broken within another software i use.
bmw might have changed the api again
Log details
root@loxberry:/usr/local/bin# ./evcc vehicle
[main  ] INFO 2022/04/30 11:48:45 evcc 2022_04_30
[main  ] INFO 2022/04/30 11:48:45 using config file /etc/evcc.yaml
[mqtt  ] INFO 2022/04/30 11:48:46 connecting evcc-1925931974 at tcp://<IP_ADDRESS>:1883
.SoC:     vehicle not available: cannot create vehicle 'bmw': unexpected status: 401
Capacity: 0kWh
What type of operating system are you running?
Linux
Version
selfcompiled version of the new gui design.
same bahaviour with latest release version v 0.90

working for me


Camera sensor fails with L_INT16.

Environment

OS Version: Ubuntu 22.04
Binary
Fortress 6.12.0

Description

Expected behavior: Camera runs with 16bit mono image.
Actual behavior: Camera fails to run 16bit mono as L_INT16 and appears to fail and default to use RGB_INT8

Note that when switching the format to 8bit mono as L_INT8 (instead of the 16bit mono as L_INT16) it has no issues, does not throw any errors and displays a true L_INT8 image.
Steps to reproduce

Run Gazebo sdf model that has camera sensor with: <format>L_INT16</format> example:

      <sensor name="gray_image" type="camera">
        <pose>0 0 0 0 0 0</pose>
        <camera>
          <horizontal_fov>0.977384</horizontal_fov>
          <image>
            <width>224</width>
            <height>172</height>
            <format>L_INT16</format>
          </image>
          <clip>
            <near>0.1</near>
            <far>4.0</far>
          </clip>
        </camera>
        <always_on>1</always_on>
        <update_rate>30</update_rate>
        <visualize>true</visualize>
        <topic>/royale_camera/gray_image</topic>
      </sensor>

Or if desired you can also use this existing model using this world to include the sensors plugin.
Output
[Err] [CameraSensor.cc:221] Unsupported pixel format [2]

And the output image defaults to RGB_INT8

Fixed by #276.


Add MOAC (MOAC)

http://moac.io/
https://coinmarketcap.com/currencies/moac/
We need help finding a vector version of their logo.

I managed to extract a vectorized version of the logo from their whitepaper: moac-logo.svg.zip


Laravel 8 Route::apiResource does not resolve if use statement is present

Hello,
Route::apiResource does not resolve its routes correctly under Laravel 8 if the use statement is present.
If I change the old
Route::apiResource('data-types', 'DataTypeController'); into the new
<?php
use Modules\Data\Http\Controllers\DataTypeController;
...
Route::apiResource('data-types', DataTypeController::class);

It throws the following error:
Target class [Modules\Data\Http\Controllers\Modules\Data\Http\Controllers\DataTypeController] does not exist
This works:
<?php
// use Modules\Data\Http\Controllers\DataTypeController;
...
Route::apiResource('data-types', DataTypeController::class);

And this works too:
<?php
use Modules\Data\Http\Controllers\DataTypeController;
..
Route::get('data-types', [DataTypeController::class, 'index']);

Edit: Correction last example.

me too bro. What happened in 8.X??

me too bro. What happened in 8.X now??

check the route service provider, if you have a namespace there, you don't need to use anything.

check the route service provider, if you have a namespace there, you don't need to use anything.
But indeed it's strange that it works some times, but not all the time. This seems to be laravel related though.

I resolved it with removing 'namespace' in Route::group . Hope This help you bro

I had to remove all the namespaces everywhere (incl. the service providers), but please don't follow this "fix" blindly.
It works in my uses case, as I've been slowly transforming my app into an API and moving all of my views and assets to Angular. You may rely on blade views etc. so please be careful.


Remove sdk

I think that #190 should be reverted.
It's restricting choices of http client, defeating the purpose of PSR-18.
The benefit of reducing a supposed "complex" installation is not justified

The sentry/sdk package is a way to have a simple, out-of-the-box installation where the end user can just require a single package and have all running. You can easily require another transport by requiring the appropriate package and set it as a transport or, if you wish, you can override the sentry/sdk package like this in your composer.json:
{
    "require": {
        "guzzlehttp/psr7": "^1.6",
        "php-http/guzzle6-adapter": "^2.0",
        "sentry/sentry": "^2.1",
        "sentry/sentry-symfony": "^3.1"
    },
    "replace": {
        "sentry/sdk": "*"
    }
}

This is how I do it in my projects to use Guzzle.

Hello! @Jean85 if i understand, your point is that you can quickstart with sentry in your symfony project with just composer require sentry/sentry-symfony vs requirement of installing multiple packages of your choice, etc composer require sentry/sentry-symfony php-http/curl-client guzzlehttp/psr7.
In that case i agree with you, stick to the sentry/sentry-symfony package is the only dependency you need to have it fully working in your project (it is same if you depend only on sentry/sentry it will probably not be enough.)
Though
"replace": {
        "sentry/sdk": "*"
    }

could be better documented at least in readme.md as it is not as straightforward as it might look like, there is mention about custom transports, but not about how to replace default sentry/sdk.

Sure. PR are welcome to fix that, then.

BTW I would like to point out that sentry/sdk will suggest Guzzle as the default HTTP client in the future: https://github.com/getsentry/sentry-php-sdk/pull/4

I hope that in the future this bundle will require symfony/http-client (unless we can remove any hard dependency completely, that is IMHO the best solution). At least, it's more consistent with the Symfony ecosytem

Maybe a Transport that uses symfony/http-client instead of httplug could be bundled in the sentry-symfony bundle? Could be optional, but it would replace a lot of dependencies...

Using symfony/http-client is more than feasible, but it can't be done on the bundle's side, it's up to the user to choose the preferred transport.

That's why I wrote it could be optional. I don't say it should be required hard, but as a supported dependency. If symfony/http-client is installed, a special transport could be used.

That's already how HTTPlug works, which is the underlying lib used for HTTP transport in sentry/sentry. The only point is that you need to override sentry/sdk as said before, and require the right adapter to make autodiscovery work. Or, otherwise, set the client manually in the Sentry\ClientBuilder.

Tried it with symfony/http-client (HttplugClient) and nyholm/psr7 last night, and it didn't work. Wasn't able to find the cause, will try again soon.

Same here.
I get No HTTPlug async clients found. Make sure to install a package providing "php-http/async-client-implementation" exception, even if symfony/http-client is declared as an implementation.
Do I need to require something else?

Self-reply: I managed to get it working by requiring php-http/discovery:^1.7@dev

Other alternative is to not use the bundle and do the setup manually like so @garak:
https://github.com/B-Galati/monolog-sentry-handler/blob/master/doc/guide-symfony.md

I created an alternate metapackage: https://packagist.org/packages/pugx/sentry-sdk
Can we mention it in docs, as an alternate solution? I can provide a PR

Sure!

Solved in #327

@Jean85 are you sure it works properly. I have lib with dependency guzzlehttp/psr7  <1.7 and because of dep `        "guzzlehttp/psr7": "^1.7", in sentry/sentry I cannot use pugx/sentry-sdk or sentry at all (need one of latest releases because of using php8).

@gkawka if you have a constraint that forbids you from updating a package, that's something that we can't fix on our side. Please open a separate issue if you want something else addressed.
BTW now sentry-sdk uses the Symfony client, so you can ditch pugx/sentry-sdk and go back to the standard installation.


UWP Support

Hello,
Is your project support Universal Windows Platform with Unity3d?
I'm tried to use it in Unity Editor (2017.1.1) and it works fine, and build process from Unity to UWP Application goes fine without error. But when I tried to build UWP Project to get binaries I got several errors. ( Used IL2CPP Scripting Backend)
As a unity project, I used your unity3d sample from the repository.

already I've used Hololens project(its UWP).
But that was quite a while ago.
I do not know how it is in the current state unless I confirm it.

Ah, When I've tried, not used UWP+IL2CPP.
My tested environment are
iOS + IL2CPP, Android + IL2CPP, Win + IL2CPP and UWP(not IL2CPP)

So you've tried UWP with .NET scripting backend and it works, right?

yes.

I have tried to build with .NET scripting backend and have several errors too.
Configuration in Unity:

Full Unity Editor errors output:
Full_errors_log.txt

It seems messagepack compiler error.
It is realted to https://github.com/neuecc/MessagePack-CSharp/issues/134
replace UNITY_METRO -> UNITY_WSA.
It is not fixed yet.

Replaced, but it does not work for me, unfortunately.
There a lot of unsupported APIs and a got pretty same errors after I'm calling build from unity.
ApiPortAnalysis.xlsx


Fix Travis builds without cache

These commits are cherry-picked from the upstream 0.10 branch, to fix the Travis build without cache.

Fine with me, good to merge :)


SA annotation endpoint servicename defaults for all use cases impacting external dependencies

The endpoint_service_name currently defaults to the current service for all annotation tags.
It is desirable when calling out to an external service to attach a 'SA' annotation to the span with the remote service name as the endpoint_service_name
A concrete example of the issue would be a zipkin aware service calling out to an external non-zipkin aware service.  For instance redis;
    Span newSpan = this.tracer.createSpan("redis");
    try {
      newSpan.tag("redis.op", "get");
      newSpan.tag("lc", "redis");
      newSpan.logEvent(Span.CLIENT_SEND);
      return (SomeObj) redisTemplate.opsForHash().get("MYHASH", someObjKey);
    } finally {
      newSpan.tag("sa", getRedisURI());
      newSpan.logEvent(Span.CLIENT_RECV);
      this.tracer.close(newSpan);
    }

This records the expected span but as all annotations are associated with the client service, there is nothing in the data store that would indicate that it is a call to an external service.  As such the external component is not apparent in the dependency view in zipkin.
Other libraries such as zipkin-tracer handle this scenario by creating the 'SA' annotation associated with the client span but associate it with a different 'endpoint_service_name' representing the external service.
It seems when creating a span there should be a way to indicate that it is for an external service and to tag it as such.  Thoughts?

in brave, this is handled by special-casing the close..
ex.
    brave.clientTracer()
        .setClientSent(redis.ipv4, redis.port, redis.serviceName);

We could do this by translating tags, for example opentracing peer tags. Ex. translate "peer.X" to mean server, when a CLIENT_SEND is present.
    Span newSpan = this.tracer.createSpan("redis");
    try {
      newSpan.tag("redis.op", "get");
      newSpan.tag("lc", "redis");
      newSpan.logEvent(Span.CLIENT_SEND);
      return (SomeObj) redisTemplate.opsForHash().get("MYHASH", someObjKey);
    } finally {
      newSpan.tag("peer.service", redisService);
      newSpan.tag("peer.ipv4", redisIpV4);
      newSpan.tag("peer.port", redisPort);
      newSpan.logEvent(Span.CLIENT_RECV);
      this.tracer.close(newSpan);
    }

The tag conventions look great but presumably the close() would then remove the tags and manipulate the annotation entry (the translation you mentioned).  Feels somewhat confusing to add tags explicitly and then have the close() remove/translate them due to implied behavior/convention.

Actually I've taken another look at the code and we do support the peer.service tag. @singram can you try the code that @adriancole has suggested?

ping @singram

@marcingrzejszczak Sorry for the slow response, I'll give this a whirl later today and report back.

@marcingrzejszczak this worked great.  Only thing I'd stress in the document is not to manually add a 'sa' tag otherwise this fails.  Thanks!!

Awesome!! Care to file a PR to the docs? :D

LOL, yeah NP, might not get to it today though :-)


Xam.Geolocator on iOS: GetPositionAsync never returns after a position error

We've noticed that under specific circumstances, the Geolocator plugin can get stuck and never return or throw:

Given the geolocator instance is used concurrently by a watcher, i.e. StartListening was called;
positioning fails for whatever reason, the PositionError event is triggered;
and another client calls GetPositionAsync after that.

My guess is that while the last position is handled here, the error state is not saved, though CLLocationManager doesn't send the same notification again.
Temporarily, it seems that calling StopListening/StartListening in pair before GetPositionAsync works around this.

is this still a valid issue? I know there have been a lot of changes to the code.

I'll see if I can whip up a test project later next week (I don't have a Xamarin env installed anymore).
The line marker is obviously outdated in the original post. In the current version, it seems StopListening() is called in case of an error, so it might have been already fixed.


Create automated release process.

I want to turnkey run a script and all is well with the universe.

This is a dupe of #100 closing


insight-api should try to reconnect to bitcoind

insight-api does not try to reconnect to bitcoind when it is not available through RPC which stucks insight-api even when bitcoind is restarted.

bitcoind runs in the same process now.