DOTJ031I messages during global filtering do not consider subsequent branch filtering

Expected Behavior
When branch filtering fully covers its profiled content:

then no DOTJ031I messages should be issued for the profiled content.
Actual Behavior
If global filtering is also used, then it issues false messages because it does not consider subsequent branch filtering:
gen-list:
 [gen-list] Using Xerces grammar pool for DTD and schema caching.
 [gen-list] Processing file:.../dita/map.ditamap
 [gen-list] [DOTJ031I][INFO] No specified rule for 'product=A' was found in the ditaval file. This value will use the default action, or a parent prop action if specified. To remove this message, you can specify a rule for 'product=A' in the ditaval file.
 [gen-list] [DOTJ031I][INFO] No specified rule for 'product=B' was found in the ditaval file. This value will use the default action, or a parent prop action if specified. To remove this message, you can specify a rule for 'product=B' in the ditaval file.
 [gen-list] [DOTJ031I][INFO] No specified rule for 'product=C' was found in the ditaval file. This value will use the default action, or a parent prop action if specified. To remove this message, you can specify a rule for 'product=C' in the ditaval file.
 [gen-list] Processing file:.../dita/submap.ditamap
 [gen-list] Processing file:.../dita/topic.dita
 [gen-list] [DOTJ031I][INFO] No specified rule for 'product=D' was found in the ditaval file. This value will use the default action, or a parent prop action if specified. To remove this message, you can specify a rule for 'product=D' in the ditaval file.
 [gen-list] Serializing job specification

debug-filter:
   [filter] Using Xerces grammar pool for DTD and schema caching.
   [filter] Processing file:.../dita/submap.ditamap to file:/tmp/temp20221221102503832/del-html5/submap.ditamap
   [filter] Processing file:.../dita/topic.dita to file:/tmp/temp20221221102503832/del-html5/topic.dita
   [filter] [DOTJ031I][INFO] No specified rule for 'product=A' was found in the ditaval file. This value will use the default action, or a parent prop action if specified. To remove this message, you can specify a rule for 'product=A' in the ditaval file.
   [filter] [DOTJ031I][INFO] No specified rule for 'product=D' was found in the ditaval file. This value will use the default action, or a parent prop action if specified. To remove this message, you can specify a rule for 'product=D' in the ditaval file.
   [filter] Processing file:.../dita/map.ditamap to file:/tmp/temp20221221102503832/del-html5/map.ditamap
   [filter] [DOTJ031I][INFO] No specified rule for 'product=B' was found in the ditaval file. This value will use the default action, or a parent prop action if specified. To remove this message, you can specify a rule for 'product=B' in the ditaval file.
   [filter] [DOTJ031I][INFO] No specified rule for 'product=C' was found in the ditaval file. This value will use the default action, or a parent prop action if specified. To remove this message, you can specify a rule for 'product=C' in the ditaval file.

Possible Solution
Defer the DOTJ031I check until after both global and/or branch filtering are performed. This would resolve both limitations 1 and 3 in now-closed issue #4048.
I understand that this is not a trivial fix due to architecture and order of operations. However, the correctness of the DOTJ031I check is important because it helps prevent unexpected content from being published, which can have significant consequences.
Steps to Reproduce

Download the following testcase:
4085.zip
Run the following command:
dita --project project.xml --verbose

Environment

DITA-OT version: develop branch
Operating system and version: Linux
How did you run DITA-OT? dita command
Transformation type: HTML5, PDF

In my opinion maybe the best would be for the DITA OT not to issue such information messages because sometimes the person designing the filters knows best. I added an internal issue to reconsider the information messages: https://github.com/dita-ot/dita-ot/issues/4086
About how the filters and ditaval filters are applied by the publishing engine, here is an observation I made:

I have this paragraph in a DITA topic:
Test

I have this global DITAVAL file:
<val>
 <prop action="exclude" att="audience" val="A"/>
</val>

And this ditaval file referenced using <ditavalref>:
 <val>
     <prop action="exclude" att="audience" val="C"/>
 </val>

If both filters behaved as being merged into one, the element would be excluded.
But both filters are applied one by one so the element does not get excluded in the end.
So each filter is in a way self contained and applied separately.

@raducoravu - that observation surprised me - good discovery!
If filtering was enhanced to remove excluded conditions as well as content elements, then I think this could be handled properly. With your example of globally excluding A and branch-filtering C, then given the following input:

Test 1

Test 2

Test 3

Test 4

then the output of global filtering (excluding A) could be:

Test 2

Test 3

Test 4

and the output of branch filtering (excluding C) could be:

Test 2

Test 4

What do you think? Should I file an enhancement issue for this?

@chrispy-snps I'm not sure if my observation is a bug or it's the proper way in which filtering should work, I re-read the DITA specs talking about ditavalrefs, it does not seem to have an example similar to mine:
https://www.oxygenxml.com/dita/1.3/specs/langRef/base/ditavalref.html

@raducoravu - thank you for sharing the <ditavalref> documentation link! I interpret the paragraph about cascaded <ditavalref> elements as follows:

If a "condition" (attribute name and value) is excluded at a higher level, that condition cannot be reenabled for inclusion at a lower level.
Processing-wise, <ditavalref> is applied from top to bottom, with higher levels removing conditions from consideration by lower levels.
It is the exclusions, not the inclusions, that combine in an OR-like way from top to bottom.

As an industrial DITA user, I need this behavior so that sensitive content excluded from a higher level cannot unexpectedly be re-included at a lower level (such as when reusing common submaps).
In the following experiment:

I found that the product="B" content excluded by the higher-level only-A.ditaval is not re-included by the lower-level only-B.ditaval, which matches the ORing of exclusions described above. However, the product="A B" content is incorrectly included due to multi-condition limitation. And this experiment convinces me that this is a bug, because content profiled separately for A and B is excluded, then why should content profiled for either A and B be included? I will file a separate issue for this multi-condition limitation.
Getting back to this issue, I hope the DOTJ031I message can be enhanced to accurately indicate profiled content not explicitly permitted for publishing, perhaps even upgraded from "information" to "warning" when enhanced.


Difference in inference scripts

I noticed that there are different scripts for inference:

/scripts/normalize_regex_inference.py
/inference/normalize_regex_inference.py

From the paper I understood that <dnt>, </dnt> tags are added to not translate the text in between, but the 2nd script seems to be handling this differently, by adding <ID>. Any reason for this?

Closing this matter due to lack of activity. Please feel free to reopen the issue if you have any questions or need further assistance.


Adds extraContainers to integration test elasticsearch

this was mighty tricky to figure out!

ct lint isn't smart enough to know we haven't released 0.2.0 yet...

thanks for the look @anuraaga. next I'll add eureka (as that's what I was originally wanting to do), then see about a dependency graph test. The latter is a bit more work as we have to generate recent spans that hit at least 2 things, so.. we can't use self-tracing. I was thinking about trying the example apps as "extraContainers" maybe..


request: add a randomly-generated tag to the metadata

Hi there, I love your plugin! Definitely helps make my library cleaner.
Like others, I have struggled with doubles of movies/shows after merging.
My workaround is as follows:

select one of the movie files (that were registered as a double for versions)
add the tag - "hidden"
for each of my user's parental control, they cannot see "hidden"

Duplicates out of sight!
I was wondering if this could be automated into the plugin?
Possibly with a randomly-generated [string] tag that can be displayed on the plugin settings page.
I figured randomly-generated to avoid conflicts (maybe the movie 'Hidden Figures' already has a hidden tag on all files, for example).
This would ensure only the files the plugin has identified will be hidden.
Thanks again for this great project! (:

Hi,
If I've understood correctly, you want to tag every version except one. This means if there are 2 versions, only one will be tagged, and if there are 4 versions, 3 of them will be tagged.
Is that correct?

hi there, thanks for responding!
yes, that's correct!
it's a rather clunky workaround, but it's been working well for me so far.
if there's an easier method, that require you adding this, I'm happy to learn!


"Push to branch" button takes a few seconds to disappear on production screen

Steps to recreate:
make changes in dev
commit them
push to git
open the pull request and resolve
come back to DF and refresh the page
do the pull from master
then after that pull has resolved click on production

From Mike Lee on whether it disappears after a while:

sometimes it hangs, sometimes it stays
I've had two stayers and two goers so far today

@GJMcGowan do you know if this is fixed now?

Fixedish. I did these steps on my local machine and did not experience any hanging around or weirdness like above.
I do see the wrong text while the git status is loading (should be telling me to push) but I think that is a different issue.

I made more changes to remove this today, I'm going to close.


Unexpected Behavior with out_of_route_done=False in MetaDrive Simulator

Description
Currently, in the MetaDrive simulator, specifying out_of_route_done=False in the configuration should theoretically prevent the simulation from ending when the vehicle deviates from the route. However, the simulation terminates as soon as vehicle.on_lane becomes False, based on the implementation.
Questions
Intended Behavior Clarification: Is it intended that the simulation ends when vehicle.on_lane becomes False, even when out_of_route_done=False is specified in the configuration?
Improvement Suggestions:
Is it possible to modify the behavior so that the simulation does not end when vehicle.on_lane becomes False, even when out_of_route_done=False? This will be possible by just moving the vehicle.on_lane checks inside if.
Alternatively, could a new configuration parameter, such as out_of_lane_done, be introduced to control the termination of the simulation when the vehicle deviates from the lane?
Additional Information
MetaDrive version: <IP_ADDRESS>

Hi,
Sorry for the late reply.
Yes, it is expected. To achieve your goal, you can make a new sub-environment with the done_function overridden. So you can have any termination conditions according to your needs. We are not able to support this officially as different user has different requests. It is better to make it highly customizable.

I understood. It sounds very reasonable. Thank you for your response!


OSX 10.11, Docker 1.9.1 and Cisco AnyConnect 4.1.02011

Is there a preferred method of running Docker on a Mac when connected to a VPN? Running
docker-machine create --driver virtualbox default
results in the following:
This machine has been allocated an IP address, but Docker Machine could not
reach it successfully.

SSH for the machine should still work, but connecting to exposed ports, such as
the Docker daemon port (usually <ip>:2376), may not work properly.

You may need to add the route manually, or use another related workaround.

This could be due to a VPN, proxy, or host file configuration issue.

Anyone have a solution for this?
Thanks!

You have to either do the creation and usage of Machine without the VPN enabled, or add the route to the VM on the host only network manually.

Alternatively, you could just run docker commands directly inside the VM after docker-machine sshing in.  Depends on your use case.

Thanks for the response! docker-machine ssh does work. How do you add the route on the VM?

Something like should work: https://github.com/docker/machine/issues/1500#issuecomment-121134958

I am having similar issues trying to get it to work while on VPN. I was able to get reconnected after disconnecting from VPN though.
I first had to make sure I was on the latest VirtualBox (VirtualBox 5.0.12) - I was on 5.0.0
chantra comment is valid, my challenge was figuring out the vboxnet name.
To do this find out your current hostonlyifs
$ VBoxManage list hostonlyifs
Name:            vboxnet0
GUID:            786f6276-656e-4074-8000-0a0027000000
DHCP:            Disabled
IPAddress:       <IP_ADDRESS>
NetworkMask:     <IP_ADDRESS>
IPV6Address:
IPV6NetworkMaskPrefixLength: 0
HardwareAddress: 0a:00:27:00:00:00
MediumType:      Ethernet
Status:          Up

Then run chantra's command the the name
sudo route add -net <IP_ADDRESS>/24 -interface vboxnet0
Then run the docker-machine environment command.
docker-machine env dev
Then run the eval call
eval $(docker-machine env aem)

This also seems related ( https://github.com/docker/machine/issues/2258 ).

Okay, will this still allow me to access the Docker host via IP address in a browser?  I have a couple containers running on my Docker host -- one with a webapp and the other with a database.  I want to ensure that after I make this change I will still be able to use the IP address of the Docker host/VM to access the database and webapp.
Thanks,
Kurt

Okay, will this still allow me to access the Docker host via IP address in a browser? I have a couple containers running on my Docker host -- one with a webapp and the other with a database. I want to ensure that after I make this change I will still be able to use the IP address of the Docker host/VM to access the database and webapp.

@formerlyKurt If you use the route command like that it should work for accessing from the browser too.
Alternatively, might be able to use SSH port forwarding.  e.g. if your webapp and database ports are 8080 and 6379, this should start a process that forwards them to your computer's native localhost:
$ docker-machine ssh default -L 8080:localhost:8080 -L 6379:localhost:6379 -N

Somehow adding the route is not working for me.  I ran the command:
sudo route add -net <IP_ADDRESS>/24 -interface vboxnet0
route: writing to routing socket: File exists
add net <IP_ADDRESS>: gateway vboxnet0: File exists

But when I run
docker-machine env default

I get:
Error checking TLS connection: Error checking and/or regenerating the certs: There was an error validating certificates for host "<IP_ADDRESS>:2376": dial tcp <IP_ADDRESS>:2376: i/o timeout
You can attempt to regenerate them using 'docker-machine regenerate-certs [name]'.

Be advised that this will trigger a Docker daemon restart which will stop running containers.
I've tried removing the route and re-adding it and get the same error.  What am I missing here?

@formerlyKurt Are you sure that's the correct vbox interface?  What's the output of VBoxManage list hostonlyifs?

@nathanleclaire sadly, this seems to be the right interface.
VBoxManage list hostonlyifs
Name:            vboxnet0
GUID:            786f6276-656e-4074-8000-0a0027000000
DHCP:            Disabled
IPAddress:       <IP_ADDRESS>
NetworkMask:     <IP_ADDRESS>
IPV6Address:
IPV6NetworkMaskPrefixLength: 0
HardwareAddress: 0a:00:27:00:00:00
MediumType:      Ethernet
Status:          Up
VBoxNetworkName: HostInterfaceNetworking-vboxnet0

What's the output of the route command if run with -v?

With the -v command, I get:
sudo route -v add -net <IP_ADDRESS>/24 -interface vboxnet0
u: inet <IP_ADDRESS>; u: link vboxnet0:a.<IP_ADDRESS>.0; RTM_ADD: Add Route: len 140, pid: 0, seq 1, errno 0, flags:<UP,STATIC>
locks:  inits:
sockaddrs: <DST,GATEWAY,NETMASK>
 <IP_ADDRESS> vboxnet0:a.<IP_ADDRESS>.0 (0) 0 ffff ff
route: writing to routing socket: File exists
add net <IP_ADDRESS>: gateway vboxnet0: File exists

@formerlyKurt
are u able solve this issue? I have similar issue with ciscoVpn.

@cloudsan42 I was not able to resolve this issue.
Found instructions on port forwarding in the boot2docker docs but that did not resolve this issue.
:(

same here :-)

Same exact behavior as @formerlyKurt on my cisco VPN:
sudo route -v add -net <IP_ADDRESS>/24 -interface vboxnet0
u: inet <IP_ADDRESS>; u: link vboxnet0:a.<IP_ADDRESS>.0; RTM_ADD: Add Route: len 140, pid: 0, seq 1, errno 0, flags:<UP,STATIC>
locks:  inits:
sockaddrs: <DST,GATEWAY,NETMASK>
 <IP_ADDRESS> vboxnet0:a.<IP_ADDRESS>.0 (0) 0 ffff ff
route: writing to routing socket: File exists
add net <IP_ADDRESS>: gateway vboxnet0: File exists

As a note...  Default routes aren't messed with. So it turns out it's not company VPN setup, and it's not my computer and it's not docker or virtual box.

One possible workaround (although not perfect) is to use SSH port forwarding.  docker-machine ssh default -L 8080:localhost:8080 will forward the VM's SSH port 8080 to localhost:8080 on the host computer for as long as the SSH session is enabled.

@kelsin if only I could take that path. Security group would, and I quote, :scream: As it stands right now, I seem to be having difficulty connecting to VPN.
@dantran @cloudsan42 have you tried the suggestion by @nathanleclaire?

ssh port forwarding works for me

Hey guys, just to be clear, AnyConnect can "own" your routes if configured to do so.  If this is the case, as it is for me, you can try to modify your routes all day long and it will make no difference. Unfortunately this is considered a security feature to prevent split routing.
Is there any way to get docker-machine to bind to localhost and port forward :2376 to localhost instead of the hostonly adapter?

Is there any way to get docker-machine to bind to localhost and port forward :2376 to localhost instead of the hostonly adapter?

At present, there's no way to do this directly in create, but you could potentially use SSH port forwarding to forward :2376 and then set DOCKER_HOST yourself manually.  It's a bit of a hack, but should work for the interim.
i.e.:
$ docker-machine ssh default -L 2376:localhost:2376 -fN

$ eval $(docker-machine env)

$ export DOCKER_HOST=:2376

$ docker info
Containers: 8
 Running: 0
 Paused: 0
 Stopped: 8
Images: 17
Server Version: 1.11.0-rc5
Storage Driver: aufs
 Root Dir: /mnt/sda1/var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 66
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge null host
Kernel Version: 4.1.19-boot2docker
Operating System: Boot2Docker 1.11.0-rc5 (TCL 7.0); HEAD : fed36ed - Mon Apr 11 22:16:20 UTC 2016
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 3.858 GiB
Name: default
ID: VXQW:R2XV:5SD4:TRAR:F2OU:VKTB:TKA5:4SOL:4IEW:4K4T:EV3G:A4UZ
Docker Root Dir: /mnt/sda1/var/lib/docker
Debug mode (client): false
Debug mode (server): true
 File Descriptors: 12
 Goroutines: 37
 System Time: 2016-04-12T20:29:29.482273224Z
 EventsListeners: 0
Username: nathanleclaire
Registry: https://index.docker.io/v1/
Labels:
 provider=virtualbox

By the way, I would be happy to consider proposals or PRs to enable this as a more first-class feature of Machine (e.g. --virtualbox-nat-only or what have you).

I followed some of the hacks mentioned above in vain. Is there any documented workaround for this issue. Issue really stalling our docker development largely. please help.
I am using
Mac OSX- 10.11.14 ( EL Captain),
Docker 11.1

@sadhasivam Have you tried using the open-source version of Cisco's VPN client, openconnect? You can install it via Homebrew and it won't mess with the underlying network table entries.
I can confirm that openconnect works with Docker Machine (and Dinghy) while connected to my office's Cisco SSL VPN. I'm on the latest El Cap release (btw I think you have a typo there – no Mac OS 10.11.14 release yet).

Fwiw Cisco Anyconnect administrators can easily enable policy's which prevent users from using openconnect.
Sent from mobile

On May 8, 2016, at 17:59, Matt Lubner<EMAIL_ADDRESS>wrote:
@sadhasivam Have you tried using the open-source version of Cisco's VPN client, openconnect? You can install it via Homebrew and it won't mess with the underlying network table entries.
I can confirm that openconnect works with Docker Machine (and Dinghy) while connected to my office's Cisco SSL VPN. I'm on the latest El Cap release (btw I think you have a typo there – no Mac OS 10.11.14 release yet).
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub

@mattlubner  corrected the typo. i haven't tried openconnect yet. let me check and ping back the group.

Very similar issues on Windows 7 64-bit using Juno Pulse. I have to create the VM off of the VPN (which is fine), but once I connect to the VPN I can no longer interact with the VM through Docker. What's odd is that I can still SSH in to the machine and ping it.
Still playing with some port forwarding things and some routing, but so far nothing has solved it with my particular setup.

@nathanleclaire those steps didn't work for me. Here's what happened:
$ docker-machine ssh default -L 2376:localhost:2376 -fN
$ eval $(docker-machine env)
Error checking TLS connection: Error checking and/or regenerating the certs: There was an error validating certificates for host "<IP_ADDRESS>:2376": dial tcp <IP_ADDRESS>:2376: i/o timeout
You can attempt to regenerate them using 'docker-machine regenerate-certs [name]'.
Be advised that this will trigger a Docker daemon restart which will stop running containers.

So, I thought maybe you meant to add default and then I tried this:
$ eval $(docker-machine env default)

I basically got the same error message (above).
Running the regenerate-certs command also failed:
$ docker-machine regenerate-certs default
Regenerate TLS machine certs?  Warning: this is irreversible. (y/n): y
Regenerating TLS certificates
Waiting for SSH to be available...
Detecting the provisioner...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...

This machine has been allocated an IP address, but Docker Machine could not reach it successfully.

SSH for the machine should still work, but connecting to exposed ports, such as the Docker daemon port (usually <ip>:2376), may not work properly.

You may need to add the route manually, or use another related workaround.

This could be due to a VPN, proxy, or host file configuration issue.

You also might want to clear any VirtualBox host only interfaces you are not using.

looked for a solution for hours, thanks @nathanleclaire for the solution with the ssh port forwarding

I struggled with this issue on and off for the last few weeks and this is what worked for me: http://www.iancollington.com/docker-and-cisco-anyconnect-vpn/. Thank you Ian!

Folks. With the latest Mac OSX Docker binaries, Ref: (beta.docker.com) everything simplified to the core. Since VirtualBox image concept is removed in the latest version. Anyconnect is not the stopper AnyMore
checkout blog.docker.com for more information.

This should do all the machinery required for setting up docker-machine with local port forwarding: https://github.com/onejli/docker-vpn-helper. Plus explains very well where problems are in using docker-machine with a VPN that intercepts all the traffic.


Not ready for 311

https://github.com/conda-forge/py2exe-feedstock/pull/11

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender


feat: cabi_realloc_adapter

This adds support for a core cabi_realloc_adapter function export as taking precedence over the cabi_realloc function export for the implementation of cabi_realloc that is provided back to the adapter itself when importing from the component.
This resolves https://github.com/bytecodealliance/preview2-prototyping/issues/145.

I've integrated this fix into componentize-js where the stack allocation attempts were freeing adapter memory inadvertently and can confirm that it fully resolves the issues.

I do still feel like the adapter support is hacks-on-hacks but that's also sort of the purpose for its existence. I also can't think of anything that's substantively better here, so looks good to me 👍
Thanks!

Thank you for implementing this Guy!


Add Abstractions for Runtime ModelManagement classes

What this PR does / why we need it:
This PR converts the ModelLoader and ModelSizer classes into abstract base classes with their own factories. This mimics the core model management classes like ModelFinder.
Special notes for your reviewer:
If applicable:

[ ] this PR contains documentation
[X] this PR contains unit tests
[X] this PR has been tested for backwards compatibility

@gabe-l-hart just a gentle nudge on this PR. I know you're busy with other work


bare string exports (webpack vs nodejs)

Do you want to request a feature or report a bug?
bug

What is the current behavior?
Strings are exported bare, so that contents are interpreted as identifiers.
var foo = __webpack_require__(628)({}, __webpack_require__.i({"url":https://api-server.example.com,"headers":__webpack_require__.i({"Authorization":Basic dGVkMzpUSDFuazE3MTA=})}));

Uncaught SyntaxError: Unexpected token :
Unexpected Identifier: Basic dXplcm5hbWU6cHN3ZA==
If the current behavior is a bug, please provide the steps to reproduce.

expose dynamic strings as exports
require and reference module fields
run in webpack-dev-server

module api-config.js
var base64 = require('base-64');

var u = process.env.UZER;
var p = process.env.PSWD;
var b64 = 'Basic ';
var raw = [u, ':', p].join('');
b64 += base64.encode(raw);

module.exports = {
  url: process.env.API_URL,
  headers: {
    Authorization: b64,
    'Content-Type': 'application/json'
  }
};

webpack.config.js
const API_CONFIG = require('mms-ask-client/lib/api-config');
// ...
  plugins: [
    new webpack.DefinePlugin({
      'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'development'),
      API_CONFIG: API_CONFIG,
  ]
// ...

usage
var envOptions = {
    headers: API_CONFIG.headers,
// ...
};

What is the expected behavior?
Strings will be exported as delimited strings.
If this is a feature request, what is motivation or use case for changing the behavior?
n/a
Please mention other relevant information such as the browser version, Node.js version, webpack version and Operating System.
npm ls webpack babel-loader babel-core
<EMAIL_ADDRESS>/path/to/my-app
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS> node -v & npm -v
v6.10.1
3.10.5

It seems that the problem you're having is that you're not JSON.stringify-ing your API_CONFIG.
It seems to work for me if I change that in your configuration

@Axnyff JSON-stringify was my first go-to. Results:
browser: 'the string'
node or webpack-server: '"the string"'
So the double quotes inside the string break the url, password, etc.
As a result, a piece of code that works in browser/webpack-dev-server breaks in unit tests and vice versa.
More description is here: http://stackoverflow.com/questions/43598376/extra-quote-marks-in-node-json-stringify

Where is your JSON.stringify?  The JSON stringify needs to go in your webpack defineplugin conf. Sorry if I misunderstood your problem though

No worries
Stringify-inside-the-module is working in the case of another build, which uses webpack 1:
"webpack": "1.14.0",
"webpack-dev-server": "1.16.2"

The JSON stringify needs to go in your webpack defineplugin conf.
Oh?  What if I want my module to be used in non-webpack environments?

Also, say the module has 4 string fields

username
password
api url
some token
Would defineplugin have to JSON.stringify each one?
Kind of defies the point of having a module.

After these were written, I discovered webpack.EnvironmentPlugin. Maybe that's the webpack 2 way, but it seems like migration should not break something as simple as exporting a string.

I'd say there's two way:
Either you do something like
const api = API_CONFIG;

and
  plugins: [
    new webpack.DefinePlugin({
      'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'development'),
      API_CONFIG: JSON.stringify(API_CONFIG),
  ]

in your webpack config.
Or you can loop through your object in your webpack config to create multiple definition like HEADERS, USERNAME etc..

thanks.
If it worked in webpack 1 and broke in webpack 2, isn't that a bug?

What isn't working in webpack 2?
my webpack config:
const webpack = require("webpack");
const API_CONFIG = require("./api.js");
module.exports = {
    entry: "./app.js",
    output: {
        filename: "live.js"
    },
    plugins: [
        new webpack.DefinePlugin({
            API_CONFIG: JSON.stringify(API_CONFIG)
        })
    ]
};

my file
var api = API_CONFIG;
console.log(api.headers);

gives me
var api = {"headers":{"Authorization":"Basic Og==","Content-Type":"application/json"}};

console.log(api.headers);

with webpack 2.4.1

It looks like you've provided a workaround for a breaking change. Yes, that pattern works for me in 2.4.1.
In webpack 1, it worked with just the stringify limited to the module.
The result was a module that was more testable and distributable.
here is what used to work:
const webpack = require("webpack");
const API_CONFIG = require("./api.js");
module.exports = {
    entry: "./app.js",
    output: {
        filename: "live.js"
    },
    plugins: [
        new webpack.DefinePlugin({
            API_CONFIG: API_CONFIG
        })
    ]
};


luarocks-packages-updater script is flaky

Describe the bug
The luarocks-packages-updater script has a very flaky behavior and crashes.
Because of that, I have not been able to update the luaPackages package set for a while and it starts to affect the vimPlugins set as well.
Logs:

Traceback (most recent call last):
  File "/nix/store/pm87llw5n1j6ygfkzs5zcvzjwgyb988r-luarocks-packages-updater-0.1/bin/..luarocks-packages-updater-wrapped-wrapped", line 222, in <module>
    main()
  File "/nix/store/pm87llw5n1j6ygfkzs5zcvzjwgyb988r-luarocks-packages-updater-0.1/bin/..luarocks-packages-updater-wrapped-wrapped", line 218, in main
    editor.run()
  File "/nix/store/pm87llw5n1j6ygfkzs5zcvzjwgyb988r-luarocks-packages-updater-0.1/lib/pluginupdate.py", line 568, in run
    getattr(self, command)(args)
  File "/nix/store/pm87llw5n1j6ygfkzs5zcvzjwgyb988r-luarocks-packages-updater-0.1/bin/..luarocks-packages-updater-wrapped-wrapped", line 101, in update
    update_plugins(self, args)
  File "/nix/store/pm87llw5n1j6ygfkzs5zcvzjwgyb988r-luarocks-packages-updater-0.1/lib/pluginupdate.py", line 803, in update_plugins
    redirects = update()
                ^^^^^^^^
  File "/nix/store/pm87llw5n1j6ygfkzs5zcvzjwgyb988r-luarocks-packages-updater-0.1/bin/..luarocks-packages-updater-wrapped-wrapped", line 138, in update
    results = pool.map(_prefetch, sorted_plugin_specs)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/pgb120fb7srbh418v4i2a70aq1w9dawd-python3-3.12.5/lib/python3.12/multiprocessing/pool.py", line 367, in map
    return self._map_async(func, iterable, mapstar, chunksize).get()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/pgb120fb7srbh418v4i2a70aq1w9dawd-python3-3.12.5/lib/python3.12/multiprocessing/pool.py", line 774, in get
    raise self._value
  File "/nix/store/pgb120fb7srbh418v4i2a70aq1w9dawd-python3-3.12.5/lib/python3.12/multiprocessing/pool.py", line 125, in worker
    result = (True, func(*args, **kwds))
                    ^^^^^^^^^^^^^^^^^^^
  File "/nix/store/pgb120fb7srbh418v4i2a70aq1w9dawd-python3-3.12.5/lib/python3.12/multiprocessing/pool.py", line 48, in mapstar
    return list(map(*args))
           ^^^^^^^^^^^^^^^^
  File "/nix/store/pm87llw5n1j6ygfkzs5zcvzjwgyb988r-luarocks-packages-updater-0.1/bin/..luarocks-packages-updater-wrapped-wrapped", line 204, in generate_pkg_nix
    output = subprocess.check_output(cmd, text=True)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/pgb120fb7srbh418v4i2a70aq1w9dawd-python3-3.12.5/lib/python3.12/subprocess.py", line 466, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/pgb120fb7srbh418v4i2a70aq1w9dawd-python3-3.12.5/lib/python3.12/subprocess.py", line 571, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['luarocks', 'nix', '--maintainers=vyp', 'lpeg']' returned non-zero exit status 99.

Steps To Reproduce
Steps to reproduce the behavior:

nix run .#luarocks-packages-updater (from a clone of nixpkgs)

Expected behavior
The script runs fine and does not crash.
Notify maintainers
cc @mrcjkb @teto
Metadata
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.6.47, NixOS, 24.11 (Vicuna), 24.11.20240831.12228ff`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.5`
 - nixpkgs: `/nix/store/bd4fmzws6n5542khxbifbkr6nrygi232-source`

Add a :+1: reaction to issues you find important.

The package listed in the final stacktrace is not always the same by the way.
Also, earlier during the execution, those error messages appear several times (although they do not directly stop execution):
Error: LuaRocks dev bug (please report at https://github.com/luarocks/luarocks/issues).
Arch.: linux-x86_64
...0-unstable-2024-04-29/share/lua/5.2/luarocks/cmd/nix.lua:350: attempt to concatenate local 'src_str' (a nil value)
stack traceback:
	...0-unstable-2024-04-29/share/lua/5.2/luarocks/cmd/nix.lua:350: in function 'convert_spec2nix'
	...0-unstable-2024-04-29/share/lua/5.2/luarocks/cmd/nix.lua:544: in function <...0-unstable-2024-04-29/share/lua/5.2/luarocks/cmd/nix.lua:483>
	(...tail calls...)
	[C]: in function 'xpcall'
	...nix-0-unstable-2024-04-29/share/lua/5.2/luarocks/cmd.lua:672: in function 'run_command'
	...luarocks-nix-0-unstable-2024-04-29/bin/.luarocks-wrapped:39: in main chunk
	[C]: in ?
Error: https://api.github.com/repos/leafo/moonscript/commits?per_page=1: status code 403
Call to nurl --indent 2 https://github.com/leafo/moonscript.git failed with status: nil

try running it with --debug=DEBUG and you might see the real error. It runs updates in parallel, which might explain why you dont see the same output everytime

Thanks, I have done that, along with -p 1.
I confirm that the script reliably fails on lpeg.

The issue is caused by lpeg's src: http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz being 404.
The script calls luarocks nix --maintainers=vyp which itself calls nix-prefetch-url which fails to download the source and returns null.
I propose to remove the package. Does someone has a better solution ?

Actually, the prior release is still online. Maybe the author has yanked the latest one but forgot to remove it from luarocks...

The issue is caused by lpeg's src: http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz being 404.

The URL works fine on my end :thinking:

I actually don't have a 404, but rather a 301, sorry:
✗ nix-prefetch-url http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz
warning: error: unable to download 'http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz': HTTP error 301 (curl error: SSL peer certificate or SSH remote key was not OK); retrying in 296 ms
warning: error: unable to download 'http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz': HTTP error 301 (curl error: SSL peer certificate or SSH remote key was not OK); retrying in 552 ms
warning: error: unable to download 'http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz': HTTP error 301 (curl error: SSL peer certificate or SSH remote key was not OK); retrying in 1092 ms
warning: error: unable to download 'http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz': HTTP error 301 (curl error: SSL peer certificate or SSH remote key was not OK); retrying in 2658 ms
error: unable to download 'http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz': HTTP error 301 (curl error: SSL peer certificate or SSH remote key was not OK)

My web browser (firefox) doesn't complain, but wget/nix-prefetch-url does.

301 is for redirection:
➜ curl 'http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz'
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">

<title>301 Moved Permanently</title>

Moved Permanently

The document has moved here.

If I follow the redirection:
curl 'https://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz'
curl: (35) OpenSSL/3.0.14: error:16000069:STORE routines::unregistered scheme

Note sure what that means. certificate issue ? firefox is fine with https://www.inf.puc-rio.br/~roberto/lpeg/ . No big warning about a self-signed certificate (website is let's encrypt).
Several options:

ideally someone asks them to fix it. I've done my fair deal of lua ecosystem fixup so I pass. They should at least
you can modify in the luarocks csv file to use an alternate valid rockspec (towards one of your fork for instance, I've done it in the past for faulty packages. Not great but well..)
remove lpeg from the update list and add it back. Or move it to lua/overrides.nix so it doesn't get autoupdated for now

I'd suggest we go with option 3. (move to overrides) as a temporary hotfix and bug the rockspec maintainer for a fix (I've just sent them an e-mail).

LPeg rockspec maintainer here.  i released a new revision of the rockspec earlier, updating all the URLs to https.

LPeg rockspec maintainer here. i released a new revision of the rockspec earlier, updating all the URLs to https.

Thank you for helping us with this !
Unfortunately, nix-prefetch-url still complains as follows:
✗ nix-prefetch-url https://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz
warning: error: unable to download 'https://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz': SSL peer certificate or SSH remote key was not OK (60); retrying in 254 ms
warning: error: unable to download 'https://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz': SSL peer certificate or SSH remote key was not OK (60); retrying in 503 ms
warning: error: unable to download 'https://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz': SSL peer certificate or SSH remote key was not OK (60); retrying in 1132 ms
warning: error: unable to download 'https://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz': SSL peer certificate or SSH remote key was not OK (60); retrying in 2676 ms
error: unable to download 'https://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz': SSL peer certificate or SSH remote key was not OK (60)

I don't think this can be an issue with the rockspec.  If there's an issue with the website certificate, I believe that site is maintained by @lhf (on GitHub).  However, I have no trouble downloading the lpeg tarball using curl, wget, or clicking the link with my browser from either the http:// or https:// protocols.
Maybe nix-prefetch-url is tripping over 301's or something?

Just wanting to chime in here that it seems to be 301 being the issue here, I am facing something similar when attempting to build Semgrep.
+nix-store-export-outpath-oidc-s3 *failed* |        last 7 log lines:
+nix-store-export-outpath-oidc-s3 *failed* |        > exporting https://github.com/semgrep/semgrep.git (rev v1.89.0) into /nix/store/ibn8xawg0yjc8c49zg2xyf4630klgrv4-source
+nix-store-export-outpath-oidc-s3 *failed* |        > Initialized empty Git repository in /nix/store/ibn8xawg0yjc8c49zg2xyf4630klgrv4-source/.git/
+nix-store-export-outpath-oidc-s3 *failed* |        > fatal: unable to access 'https://github.com/semgrep/semgrep.git/': OpenSSL/3.0.14: error:16000069:STORE routines::unregistered scheme
+nix-store-export-outpath-oidc-s3 *failed* |        > fatal: unable to access 'https://github.com/semgrep/semgrep.git/': OpenSSL/3.0.14: error:16000069:STORE routines::unregistered scheme
+nix-store-export-outpath-oidc-s3 *failed* |        > fatal: unable to access 'https://github.com/semgrep/semgrep.git/': OpenSSL/3.0.14: error:16000069:STORE routines::unregistered scheme
+nix-store-export-outpath-oidc-s3 *failed* |        > fatal: unable to access 'https://github.com/semgrep/semgrep.git/': OpenSSL/3.0.14: error:16000069:STORE routines::unregistered scheme
+nix-store-export-outpath-oidc-s3 *failed* |        > Unable to checkout refs/tags/v1.89.0 from https://github.com/semgrep/semgrep.git.
+nix-store-export-outpath-oidc-s3 *failed* |        For full logs, run 'nix log /nix/store/mk81q6nzyzjhf7v9pvm2zcrx4q6wa73z-source.drv'.
+nix-store-export-outpath-oidc-s3 *failed* | error: 1 dependencies of derivation '/nix/store/7ly9ikhz0cbkpbhqgpsgfrxbs089lnn5-ocaml5.2.0-semgrep-core-1.89.0.drv' failed to build

Oddly enough was that other ocaml packages seem to build fine (also sourced from github) so I am not entirely sure what's wrong here.

$ nix flake prefetch 'https://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz' -vvvv
using cache entry 'file:{"name":"flake-registry.json","store":"/nix/store","url":"https://doctor.novadiscovery.net/main/flake-registry.json"}' -> '{"etag":"\"fd250cec34a66700cd8cecb34de2d831\"","storePath":"vzqix6akr8d16k325w31038inxv4hnwd-flake-registry.json","url":"https://doctor.novadiscovery.net/main/flake-registry.json"}'
performing daemon worker op: 11
acquiring write lock on '/nix/var/nix/temproots/2691282'
performing daemon worker op: 1
using cache entry 'file:{"name":"flake-registry.json","store":"/nix/store","url":"https://doctor.novadiscovery.net/main/flake-registry.json"}' -> '{"etag":"\"fd250cec34a66700cd8cecb34de2d831\"","url":"https://doctor.novadiscovery.net/main/flake-registry.json"}', '/nix/store/vzqix6akr8d16k325w31038inxv4hnwd-flake-registry.json'
performing daemon worker op: 11
performing daemon worker op: 12
looked up 'https://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz' -> 'https://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz'
did not find cache entry for 'tarball:{"url":"https://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz"}'
unpacking 'https://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz' into the Git cache...
downloading 'https://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz'...
starting download of https://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz
finished download of 'https://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz'; curl status = 60, HTTP status = 0, body = 0 bytes, duration = 0.47 s
warning: error: unable to download 'https://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz': SSL peer certificate or SSH remote key was not OK (60); retrying in 283 ms
starting download of https://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz
finished download of 'https://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz'; curl status = 60, HTTP status = 0, body = 0 bytes, duration = 1.22 s

and man curl says 60     Peer certificate cannot be authenticated with known CA certificates.. I cant look at it right now but either we have outdated list of CA or the website is using some "not" traditional CA

If it helps, my previously known working nixpkgs was pinned to commit ad416d066ca1222956472ab7d0555a6946746a80.

even after the rockspec update I get.
wget 'https://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz'
--2024-11-12 13:54:55--  https://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz
Resolving www.inf.puc-rio.br (www.inf.puc-rio.br)... <IP_ADDRESS>
Connecting to www.inf.puc-rio.br (www.inf.puc-rio.br)|<IP_ADDRESS>|:443... connected.
ERROR: cannot verify www.inf.puc-rio.br's certificate, issued by ‘CN=R10,O=Let's Encrypt,C=US’:
  Unable to locally verify the issuer's authority.
To connect to www.inf.puc-rio.br insecurely, use `--no-check-certificate'.

firefox doesn't seem to mind though but firefox embeds its own certficiate store I think.
I dont know how "lets encrypt" operates but I would assume it's one of the most dynamic out there ?
the cacert package is a tag NSS_3_104_RTM. The repo contains lots of tags but does that mean we need https://github.com/nss-dev/nss/tree/NSS_3_106_RTM ? I tried nix-shell maintainers/scripts/update.nix --argstr package cacert which didn't seem to do anything, so I updated the package to NSS_3_106_RTM but as it's a core package, I am afraid it's rebuilding the work.
Any insight @fpletz @lukegb ?

$ nix-shell -p openssl

[nix-shell:~]$ openssl s_client -connect www.inf.puc-rio.br:443
Connecting to <IP_ADDRESS>
CONNECTED(00000003)
depth=0 CN=www.inf.puc-rio.br
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 CN=www.inf.puc-rio.br
verify error:num=21:unable to verify the first certificate
verify return:1
depth=0 CN=www.inf.puc-rio.br
verify return:1

They appear to be missing the leaf->intermediate chain, so we can't chain it back to the root store. wget doesn't implement AIA chasing so we can't resolve the certificate.
Note that on MacOS the system wget uses Secure Transport, which does implement AIA chasing.

Pinging @gvvaughan just in case he missed the previous comment

Thanks for the ping.
While I do package Roberto's lpeg distribution as a luarock, I guess you would need to ask @hishamhm (luarocks maintainer) or @leafo (luarocks.org maintainer) about technical aspects of certs with package downloading, depending on whether you are fetching with luarocks itself or otherwise interacting with luarocks.org.

thanks for the follow up. I've sent an email to the first link on the contact page of http://www.inf.puc-rio.br/, hopefully it gets forwarded to the webmaster


V0.0.91 crashes when opening any media

logcat_04-22-2023_20-51-05.txt

log.log

Uhuruphotos log
log.log

V0.0.92 still crassness the app opening any media
Uhuru logs
log (2).log

Should be fixed by https://github.com/savvasdalkitsis/uhuruphotos-android/releases/tag/v0.0.94


Create beacon config file

PR for issue #3

Add .beaconrc file
Add loadConfig to handle loading and parsing
the .beaconrc json file

Work in Progress -- Looking for Feedback
I've included the .beaconrc but I'm wondering if that should be added to the .gitignore file. Or possibly we should be trying to load it from the users home directory? We probably should Fatal when we can't load the file but I don't have the prompt changes in this branch.

Looks great! I think we should, for now, just try and load the beaconrc file from the main directory.
Happy to see the json parsing worked out. I think for now we can check-in the beaconrc as it will probably be useful to all have the same file for testing / dev'ing purposes.
I think this should be good to merge before we get around to merging the prompt / write to file branch.

Looks great! shipping!


Fixes og:image

Added absolute path (needed for social media)
Fetches proper image with require()

thanks @bpmct !


Roll Flutter Engine from 7f15dc1200bc to eb0d02497a86 (1 revision)

https://github.com/flutter/engine/compare/7f15dc1200bc...eb0d02497a86
2024-03-16<EMAIL_ADDRESS>Re-land "[Impeller] A toolkit for managed handles to Android NDK vended objects." (flutter/engine#51460)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC bdero@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Enh/2/behavior sessions 2

Addresses https://github.com/AllenNeuralDynamics/aind-slims-api/issues/2 and https://github.com/AllenNeuralDynamics/aind-slims-api/issues/3.
Uses a different pattern in behavior_session which I'd like to port over to other fetching/writing methods and also partially add to the core client so that table references can be resolved by the core client code.
Also, I'd like to return all records fetched from all fetching code and maybe have the return thresholding as some client level option (ideally to fetch less via the query params if that exists on the slims api ) or for that to be on the user also returning a list of validated and unvalidated data like fetch_behavior_session_content_events

Can't add reviewers, if either of y'all could take a look at this it would be helpful. @dyf @patricklatimer @jtyoung84 @bruno-f-cruz


Draft order changes

Before creating a pull request make sure that:

[ ] commit messages are meaningful and follow good commit message guidelines
[ ] README and other documentation has been updated / added (if needed)
[ ] tests have been updated / new tests has been added (if needed)

Please remove this line and everything above and fill the following sections:
JIRA link (if applicable)
PRL-1643
Change description
Solicitor draft order
Does this PR introduce a breaking change? (check one with "x")
[x] Yes
[ ] No

Closing this PR since editable text area approach is halted for solicitor draft order


Documentation for whylogs architecture

Description
We should add some documentation around the underlying sketching technique of whylogs, discusses relative errors etc....

I've got a few diagrams that I made as part of ramping up on the whylogs design. I'll leave them here for a second look to make sure they pass a sniff test, then we can incorporate them into the wiki or something.
The first one is a sequence diagram of the important parts of logging data.

The second one is a high level overview of the types of entities that exist in whylogs and how they relate to each other.

@jamie256


Search with umlaut characters not working

Expected behavior
I am German and, thus, would expect the search to work with umlauts (ä, ö, ü) if those are contained in the header, body, etc. of the message.
Actual behavior
Search does not yield any results when using umlauts.
Steps to reproduce

Open app
Search for mail by word, e.g. "Özbay"
Search yields no results

However if you:

Search for mail by word, e.g. "Oezbay"
Search yields all expected results including "Özbay"

I supposed there might be an easy fix if those characters could be mapped to the corresponding ASCII workaround-characters such as ö->oe, ü->ue, ä->ae, since this seems to be implemented already.
Environment
K-9 Mail version: 5.600
Android version: 8.0
Account type (IMAP, POP3, WebDAV/Exchange): IMAP

I experienced the same issue. Specifically: I tested this with 3 different e-mail providers (all IMAP). One (one.com) worked the other two (Gmail and Outlook) did not succeed to perform a remote search of a word containing an umlaut (error message). Local search always worked.
Also I was not able to find messages by paraphrasing the umlauts (ä :arrow_right: ae). :disappointed:
Environment

K-9 Mail version: 5.600
Android version: 7.0
Account type (IMAP, POP3, WebDAV/Exchange): IMAP

Duplicate of #3607


fix: Spatie tags sync

Fixes #8411.

I tried the fix. Apparently it only works when the model doesnt have any tags.
If it already has, and new tags were to be saved, it will throw SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry
If it already has and some of the tags removed and were to be saved, it will throw SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry
If it already has and all of the tags removed and were to be saved, no error thrown but the tags doesnt get removed.

I can't reproduce that behaviour, please create a reproduction repo @sairiz

I am using custom tag model and override the tags method according to official spatie documentation
public function tags(): MorphToMany
{
return $this
->morphToMany(self::getTagClassName(), 'taggable', 'taggables', null, 'tag_id')
->orderBy('order_column');
}
It differ from their current method in the HasTags trait
public function tags(): MorphToMany
{
return $this
->morphToMany(self::getTagClassName(), $this->getTaggableMorphName())
->using($this->getPivotModelClassName())
->ordered();
}
The current method chain  has using($this->getPivotModelClassName())
I made some adjustment and its all good but you might want to put in documentation for those who use their own tag model and follow the official instruction.

What adjustment did you need to make

In my case particular case, i am using 2 seperate database.
The tags & taggables tables is on the main database.
The model i want to associate tags with is in secondary database,
so for that i need to create custom Tag model which extends Spatie\Tags\Tag
```
// This class model is in the secondary database

use HasTags;

public static function getTagClassName(): string
{
    return App\Models\Tag::class;
}

public function tags(): MorphToMany
{
    return $this
        ->morphToMany(self::getTagClassName(), $this->getTaggableMorphName(), 'main_database.taggables')
        ->using($this->getPivotModelClassName())
        ->ordered();
}

I need to explicitly append the main_database name to the table name otherwise it will look for taggables table in the secondary database where the model is located.

However in most use case (single database), i believe that will be unnecessary and the tags function did not have to be overridden unless the custom setup involve custom taggables table and model as well.


Filled in Form Fields not displaying

Have a simple form in a pdf.  Text fields are not displaying their values
Adobe:

pdf.js version:

Here's a link to the pdf
https://www.dropbox.com/s/d09mau8dyb0fi0n/Test Form Fields.pdf?dl=0

Works fine for me using the latest PDF.js version at https://mozilla.github.io/pdf.js/web/viewer.html. Could you try opening the file (Open File button in the toolbar) using that URL?

@timvandermeij
It looks like the demo is using version 1.1.474.   I was using stable 1.1.366.   It looks like the issue is addressed.  I apologize for the dupe.   Thanks.

No worries! Closing as resolved.


[ic-side-navigation] react router app title shows when it's not expanded

Summary of the bug
In the react router example in storybook it shows that the app title shows slightly before the side navigation has been expanded, when it should just show the icon.
This has been spotted to be an issue when using nav link in the app title instead of the standard <a>.
🪜 How to reproduce
Tell us the steps to reproduce the problem:

Go to react storybook
Click on: Side navigation
Click on: react router
See the error

🧐 Expected behaviour
Only the icon should show if it's not expanded.
📸 Screenshots or code

fixed in 2.5.0 release


3D map page add

✨ Feature Request
Description of the Feature

Problem Statement

Proposed Solution

Add 3d maps
Alternatives Considered

Additional Context

Are you participating in GSSoC?

[x] Yes
[ ] No

assigned @shreyad2806

comment on new open issue to get assigned


Fix where Vulkan validation layer JSON files are placed by the nixpkgs install phase

Motivation for this change
When Vulkan looks for validation layers, it looks for JSON files in several directories.  One of those directories is {vulkan-loader}/etc/vulkan/explicit_layer.d.  This appears to be because {vulkan-loader}/etc is specified in SYSCONFDIR, which is used here in the Vulkan loader source.  And according to the Vulkan loader's BUILD.md file:  "You can further customize the installation directories by using the CMake variables CMAKE_INSTALL_SYSCONFDIR to rename the etc directory and CMAKE_INSTALL_DATADIR to rename the share directory".  It seems pretty clear that the vulkan/explicit_layer.d folder should be in etc, not share.
As for how the current version seems to work already:  A later folder that it checks for these JSON files (after it fails to find anything at {vulkan-loader}/etc/vulkan/explicit_layer.d) is {user-profile}/share/vulkan/explicit_layer.d.  (No idea why it checks share instead of etc here, though.)  When you install vulkan-loader via nix-env, it seems to also copy the files to that folder, which allows Vulkan to find them.  However, in a context where you're running a nix-shell or nix-build without already having vulkan-loader installed via nix-env, it fails to find the files anywhere.
Things done
Changed the install phase to place vulkan/explicit_layer.d under {vulkan-loader}/etc instead of {vulkan-loader}/share.
Caveat:  My only testing is that I ran vulkaninfo under nix-shell, with and without my change, and it worked (i.e. listed layers) only with my change.  I also ran my own tutorial-based Vulkan program, built with a dependency on vulkan-loader, and it failed to find any installed validation layers until my fix was applied.

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)  No such test exists for vulkan-loader
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip" Test failed, but I don't think it has anything to do with my change.  See below.
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

I think I know why these are installed into /share/: because if you install into systemPackages it is almost for sure that /share is in pathsToLink, and /etc is quite likely to be missing. I think it is safer to copy to /etc, as you do, but symlink to /share for now and then evaluate the options; unless you want to test this with global installation.

I also suggest rebasing this on staging, since quiet a lot of stuff needs to be rebuilt.

@GrahamcOfBorg eval

I've made the suggested changes.  Rebased onto staging, and added the creation of a /share symlink to /etc.  I also removed a redundant mkdir of $out/lib.

 But oh well, I don't want to ping-pong this PR between master and staging branches.

@7c6f434c, thanks!


pnpm install

@rot1024
I made a mistake and PR'd the forking destination.
My apologies.
We will close the PR.


feat: Sentry Integration

What type of pull request is this?

[x] Non-breaking code change
[ ] Breaking code change
[ ] Documentation change/addition
[ ] Tests change

Description
Adds an extension that sets up Sentry.io hooks
Finally Closes #403
Changes
Adds extension.
Adds (really bad) documentation.  Polls, please rewrite improve it.
Checklist

[x] I've formatted my code with Black
[x] I've ensured my code works on Python 3.10.x
[x] I've tested my code

Docs could be improved, but i'm happy to merge (changes pending) without their improvement as theyre succinct enough


plugin dependency fails

Adding the plugin to a grails 3.0.7 app
dependencies {
...
    compile "org.grails.plugins:quartz"

or
dependencies {
...
    compile "org.grails.plugins:quartz:2.2.0"

results in a dependency failure.
repository config for reference
repositories {
	jcenter()
	mavenCentral()
	mavenLocal()
	maven { url "https://repo.grails.org/grails/core" }
	maven { url "http://dl.bintray.com/grails/plugins" }
}

I think I had some error-inducing character hiding in whitespace -- retyping the dependency resolved the problem.


Module not found: Can't resolve 'string_decoder'

As of the latest release of @langchain/core (v0.1.23) Next.js/Webpack builds are failing with the following error:
Failed to compile.

./node_modules/sax/lib/sax.js:234:17
Module not found: Can't resolve 'string_decoder'

https://nextjs.org/docs/messages/module-not-found

Import trace for requested module:
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>./app/api/langchain/route.ts

When the version of @langchain/core is reverted to v0.1.22 it builds as expected.
At this point, that's all the info I have on this.

Versions

Next.js: v14.1.0
Node.js: v20.11.0
Webpack: v5.86.0 (based on package.json for Next.js here)
Operating System: MacOS Sonoma/GitHub Actions Runners/Linux (latest Alpine and Ubuntu via Docker)

Custom Config

N/A - No custom config, this is entire next.config.js:/** @type {import('next').NextConfig} */
const nextConfig = {
  typescript: {
    ignoreBuildErrors: true,
  },
};

module.exports = nextConfig;

Please let me know if I can provide any additional details.

Same issue after updating the core

I have the same issue. It seems to be the new XML parser
import { XMLOutputParser } from "../xml.js" and the edge runtime that might not be compatible

This seems to be resolved in 0.1.24 of @langchain/core.

I spoke too soon... local dev runs fine but production builds still produce same error.

Hey, really sorry, am on this now!

Core release 0.1.25 should fix this in a few minutes.

My Next.js app seems to be building successfully again using 0.1.25. Thank you!


Channel parameter location inconsistency

The channel object defines parameters as:

A map of the parameters included in the channel name. It SHOULD be present only when using channels with expressions (as defined by RFC 6570 section 2.2).

But the parameter object allows you to define a runtime expression defining the location of the parameter value through location.

A runtime expression that specifies the location of the parameter value. Even when a definition for the target field exists, it MUST NOT be used to validate this parameter but, instead, the schema property MUST be used.

The runtime expression is defined as using the syntax:
      expression = ( "$message" "." source )
      source = ( header-reference | payload-reference )
      header-reference = "header" ["#" fragment]
      payload-reference = "payload" ["#" fragment]
      fragment = a JSON Pointer [RFC 6901](https://tools.ietf.org/html/rfc6901)

Which I assume gives the possibility to define message headers for the channel such as:
asyncapi: 2.5.0
info:
  title: Account Service
  version: 1.0.0
  description: This service is in charge of processing user signups
channels:
  user/signedup:
    parameters:
      Authorization:
        schema:
          type: string
          const: 'bearer token'
        location: '$message.header#Authorization'
    subscribe:
      message:
        $ref: '#/components/messages/UserSignedUp'
components:
  messages:
    UserSignedUp:
      payload:
        type: object
        properties:
          displayName:
            type: string
            description: Name of the user
          email:
            type: string
            format: email
            description: Email of the user

Or does the definition of what a parameter is A map of the parameters included in the channel name veto that?
Related discussion in spec 3.0 meeting: https://youtu.be/JsalpKiWsP4, the question raised here: https://youtu.be/JsalpKiWsP4?t=2930
Extended discussion afterward:

If it is allowed to define headers in the channel parameters, I would assume that would remove the need for websockets to define their own headers in the bindings?

it is pretty old feature and I think only @fmvilas is able to answer really

The whole thing started here: https://github.com/asyncapi/spec/issues/199. Yeah, I think A map of the parameters included in the channel name vetoes that. We can clarify it more, of course.


Add boschindego to latest

@TA2k
This is a replacement for #2918

RE-CHECK!

First of all - THANK YOU for the time and effort you spend to maintain this adapter.
I would like to give some feedback based on my personal oppinion. This is NOT an offical review and @Apollon77 might have several additional suggestions or even a different oppinion to one or the other statement. Please feel free to contact him (or wait for a response from him) if you cannot follow my suggestions or want to discuss some special aspects.

[ ] Readme.md is very short
The README.md of this adapter is very minimalistic. Please consider add a short description about the functionality of the adpter,  add links the the manufacturer site (if applicable) and add a description of the configuration of the adapter. If you provide an external documentation - which should be located at doc/xx directory - please add links to at least the english documentation.
This remark is NOT blocking, consider it as a feedback only with one exception: A link to the manufactorers site / device page should be added i n any case. This will help users to check if the adapter is releted to the device they are loking for.

[ ] package.json contains override
Is there a special reason to specify overrides at package.json?
"overrides": {
  "axios": "^1.6.1"
}

Please let me know the reason.

[ ] Why did you decide to not use i18n environment?
You added translations directly into jsonConfig.json. Please consider movin to i18n tree solution as this will enable usage of weblate and hence provide the possibility for native speakers to correct transaltions at theit langiuge easily.
This remark is NOT blocking, consider it as a feedback as it can be changed anytime later withut much side effects.

[ ] consider using adapter.setTimeout / this.setTimeout instead of (standard) setTimeout
The adapter package provides wrapper routines for native setTimeout, setInterval, clearTimeout and clearInterval. Using those routines ensures that timers are cancelled on on load. Additional checks on thomse limits might be performed, too. So consider replacing native setTimeout/clearTimeout by adapter.setTimeout/adapter.clearTimeout or this.setTimeout/this.clearTimeout. The same refers to setInterval/clearInterval.
This remark is NOT blocking, consider it as a feedback for improvement

[ ] check and limit configurable timeouts / intervals
Node setTimeout/setInterval routines have a maximum allowed value of 2,147,483,647 ms. Using delays larger than 2,147,483,647 ms (about 24.8 days) result in the timeout being executed immediately. So all (user configurable) values passed to setTimeout / setInterval should be checked in code and limited. Checking/limiting in code is required as config data could be changed directly or by some other adapter too, so limiting at ui level might not be sufficient.
Minimum is checked, but maximum seems to be not checked currently. This could (in theory) be a problem especially when not using this.setToeout/this.setInterval.

[ ] check and adapt testing
Standard iobroker testing is required but seems to be missing. Please activate standard deploy workflow at .github/workflows/test-and-release.yml as all community adapters should have a common release workflow enabled. https://github.com/iobroker-community-adapters/ioBroker.boschindego/blob/8de22ca95444c4dee6afc2ad7f5757fbee476343/.github/workflows/test-and-release.yml#L58

[ ] This adapter seems to use sentry, but no sentry info is added to Readme.md
This adapter seems to use sentry for error logging. Please add the suggested sentry information at the top of Readme.md
**This adapter uses Sentry libraries to automatically report exceptions and code errors to the developers.** For more details and for information how to disable the error reporting see [Sentry-Plugin Documentation](https://github.com/ioBroker/plugin-sentry#plugin-sentry)! Sentry reporting is used starting with js-controller 3.0.

Thanks for reading and evaluating this suggestions.
McM1957
Please add a comment when you have reviewed and fixed the suggestionsor at least commented the suggestions and you think the adapter is ready for a re-review!

Added information to readme
But I will not link to  the manufacturer site because of copyright issues
Overrides are needed because the release scripts packages are not maintained and using vulnerable version of axios
Weblate translation is so bad I is not recommended to use it and for 3 line of text makes no sense to introduce this folder structure
I prefer to use the direct implementation to have full control about it
limit check is added
release part is not active in the GitHub action workflow file
sentry information is added

Overrides are needed because the release scripts packages are not maintained and using vulnerable version of axios

Do you refer to @alcalcone\releasescript?
How should they effect the productive environment at all?

release part is not active in the GitHub action workflow file

Yes, but it should as this is a community adapter and I do not ssee a reason to not use the automatic deploy. Its (besides activation)mdefinitly no additional work neither during test nor during release.

productive environment not but still an issue when npm install
release part is now active in the GitHub action workflow file

productive environment not but still an issue when npm install

Could you please give some more information. As this issue should effect more adaoters it should be fixed. Should be discussed with @AlCalzone

One think I just detected. Theres a repo: https://github.com/a1development/ioBroker.boschindego
Did you fork / importand adpat this earlier adapter or is your work a independent (re)write. If imported I would suggest to add some credits, (But this is indo only and not a requirement=

independent rewrite

independent rewrite

DANKE für deine Arbeit und Zeit

@TA2k
This adapter has been released to latest repository and should be visible within 24h maximum.
Please create a thread at https://forum.iobroker.net/category/91/tester titled like "Test Adapter " to collect some user feedback and provide a link to this topic when requesting addition to stable repository later.
Note: If an other testing topic already exists, ist OK to continue using this topic too.


Feature/issue 706 mdivide right

Submission Checklist

[x] Run unit tests: ./runTests.py test/unit
[x] Run cpplint: make cpplint
[x] Declare copyright holder and open-source license: see below

Summary:
Fix template parameters in mdivide_right_tri so that it could be called with lazy Eigen transpose rather than our copy-heavy version.
Intended Effect:
Speedup.
How to Verify:
Unit tests.
Side Effects:
No.
Documentation:
n/a
Copyright and Licensing
Please list the copyright holder for the work you are submitting (this will be you or your assignee, such as a university or company):
Columbia University
By submitting this pull request, the copyright holder is agreeing to license the submitted work under the following licenses:

Code: BSD 3-clause (https://opensource.org/licenses/BSD-3-Clause)
Documentation: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

That's 16 tests (tri/full, var/double, var/double, matrix/vector).  I started down this road and each one's so complicated I backed into writing a metaprogramming framework.  Two functors and several traits metaprograms later, I gave up for now.  This one's going to have to wait until I have time to do this properly or someone with more copy-and-paste stamina than me does it by brute force.

The changes in this pull lead to significant speedups for these functions. Can we file an issue for additional test, but merge already this?

Bob, can you commit at least one your tests on the branch? Perhaps we can split the workload and it'll go much faster.

The changes in this pull lead to significant speedups for these functions. Can we file an issue for additional test, but merge already this?

@wds15, no.
I understand what you're asking for, but the tests (and doc) should come with the pull request. We tried to do what you suggested in the past and it hasn't worked out in many cases.
I think @bob-carpenter is trying to do more than what I envisioned? But I can't tell. (I probably should have been much more explicit on what I wanted tested. I didn't want it fully tested, I just wanted to know that it wouldn't crash when it was instantiated in the 16 ways. We already don't have tests for correct behavior, but I'm not comfortable rolling out code that affects so many things without having at least some test that touches the code once.)

It's not a new function and there are not tests now, but I agree that all of our functions should be tested.  The problem is that's effectively a stop-work order on autodiff given the current lack of a testing framework.  The combinatorics are just too prohibitive in these heavily templated matrix functions.  This square function requires dozens of tests to be exhaustive, but there are only two shapes.  Same thing for the triangular version.
These particular functions are super painful to work with because of the six template parameters and complicated traits return types that depend on the shape of the input.  I never got anyting working, but here's where I was going:
template <typename T1, typename T2, int R1, int C2>
struct mdivide_right_return {
  using boost::math::tools::promote_args;
  typedef Eigen::Matrix<typename promote_args<T1, T2>::type, R1, C2>
  type;
};

struct mdiv_fun {
  template <typename T1, typename T2, int R1, int C1, int R2, int C2>
  inline typename mdivide_right_return<T1, T2, R1, C2>::type
  operator()(const Eigen::Matrix<T1, R1, C1> &A,
             const Eigen::Matrix<T2, R2, C2> &B,
             int i) const {
    return mdivide_right(A, B);
  }
};

struct expanded_fun {
  template <typename T1, typename T2, int R1, int C1, int R2, int C2>
  inline typename mdivide_right_return<T1, T2, R1, C2>::type
  operator()(const Eigen::Matrix<T1, R1, C1> &A,
             const Eigen::Matrix<T2, R2, C2> &B,
             int i) const {
    return multiply(A, inverse(B))(i);
  }
};

template <typename T, int R, int C>
Eigen::Matrix<stan::math::var, R, C>
to_var(const Eigen::Matrix<T, R, C>& A) {
  Eigen::Matrix<stan::math::var, R, C> Avar(A.rows(), A.cols());
  for (int i = 0; i < A.size(); ++i)
    Avar(i) = A(i);
  return Avar;
}

template <typename T1, typename T2, int R1, int C1, int R2, int C2>
void same_derivs(const Eigen::Matrix<T1, R1, C1> &A,
                 const Eigen::Matrix<T2, R2, C2> &B) const {
  mdiv_fun f1;
  expanded_fun f2;
  int size = A.rows() * B.rows();
  for (int i = 0; i < size; ++i) {
    var y1 = f1(A, B)(i);
    std::vector<double> grad1;
    y1.grad(to_vector(A, B), g);
  }

    mdivide_right_return<T1, T2, R1, C2>::type C2 = mdivide_right(A, B);
    std::vector<double> grad2;
}

template <int R1, int C1, int R2, int C2>
void test_mdivide_right_derivs(const Eigen::Matrix<double, R1, C1> &A,
                               const Eigen::Matrix<double, R2, C2> &B) const {
  using stan::math::var;
  // var, var
  Eigen::Matrix<var, R1, C1> Av1 = to_var(A);
  Eigen::Matrix<var, R2, C2> Av2 = to_var(B);
  validate_same_derivs(Av1, Av2);

}

TEST(AgradRevMatrix, mdivide_right_derivs_mm_vv) {
  using stan::math::matrix_d;
  using stan::math::matrix_v;
  using stan::math::mdivide_right;

  matrix_v A1(2, 2);
  A1 << 1, -2, 3, 17;
  matrix_v B1(2, 2);
  B1 << 3, 4, 1, 9;
  matrix_v C1 = mdivide_right(A1, B1);

  matrix_v A2(2, 2);
  A2 << 1, -2, 3, 17;
  matrix_v B2(2, 2);
  B2 << 3, 4, 1, 9;
  matrix_v C2 = multiply(A2, inverse(B2));

  validate_same_derivs(C1, C2);

}

This case really needs 76 tests just for autodiff behavior and 4 for scalar behavior (I'm assuming the latter are in place already, but maybe not).
I'm going to start by documenting the testing framework I built for scalar autodiff and then sketching out  a test for multivariates.  I hope I can get to that after taking on the map function for MPI.  I'm OK putting this optimization on hold until then.  To test this properly, we need a whole bunch of test cases:

mdivide_right/mdivide_right_tri
autodiff/double on inverted argument
autodiff/double on non-inverted argument
vector/matrix on non-inverted argument

times the autodif type (which is only a single choice) for each combo of the above:

var, fvar<double>, fvar<fvar<double>>, fvar<var>, and fvar<fvar<var>>

I count 80 tests.  I don't want to do these by hand.  It's just not sustainable.
I'm OK waiting to stage this (and all subequent) performance improvements until after someone has time to implement an autodiff test framework.  I'd ideally like to work on finishing tests for what we have before writing new code.

Hey @syclik, it came up in the meeting that we didn't know exactly what you meant for the tests here. Can you give more of a spec so we know what we're aiming at, if we really need to make an automated testing framework for this?

The testing framework isn't necessary in the sense that other functions have this all done by hand.
It would be most useful to test the derivatives for all combinations of inputs at all orders.  I wouldn't want to do that by hand for this pair of functions.

@seantalts, thanks for asking for more clarity. @bob-carpenter, I don't see the ability to have both vector and matrix on the non-inverted type. So the total count should be 40, but I was really just asking for 8 tests. I was suggesting a few quick tests for var, but not every instantiation of higher-order autodiff. More below.
** What I'm worried about **
The thing that scares me about this pull request is the use of Eigen's template expressions in this complicated way. It scares me because it may affect our autodiff stack in some unexpected way.
I'm afraid that under some instantiation, the code may seg fault, allocate memory on the wrong stack, or does something else that's wild and beyond our normal ability to imagine it.
Fortunately, I think that concern can be fixed with a simple test or two.
** What I want tested **

Instantiations in the things we care about now: double and var for the templated arguments.
Check that calling the function and grad for each of the instantiations doesn't crash.
Check the autodiff stack before and after the grad call.

I think this will help with maintenance (just in case it works for current Eigen, but not future Eigen). It should also help when anyone wants to push forward with specialized derivatives for this function.
** What I'm not worried about **
Funny enough, I'm less worried about correctness. We've gone on this far without having tests for the function value or the gradients for this function.
Of course, I'd like to have it, but I don't think it's on the person that changes a function to have to carry that burden. It's technical debt. I'm ok carrying that technical debt forward. I'm not ok if a function like this starts "leaking" memory or seg faults on a user because we didn't call each instantiation once.
I'm also less worried about the instantiations we're not calling from Stan now. We will eventually need to test all of fvar, but that's not a burden I'm putting on this pull request.
** More specifically **
I think we need to do two things for this pull request:

modify stan/math/rev/mat/mdivide_right_test.cpp to call .grad() on any element just to make sure the gradient function is being called. (Yes, it doesn't do that now!)
copy that test to mdivide_right_tri_test.cpp and instantiate that in the same way.

Of course, I'd like to see all the gradients tested through, but I'm not asking for it (because we haven't tested it in the past and you're just making a modification to this function).

For
mdivide_right(a, B) = a * inv(B)
a can be a row vector or a matrix.
The types should probably be simplified because B has to
be a matrix.

On Feb 9, 2018, at 2:38 PM, Daniel Lee<EMAIL_ADDRESS>wrote:
@seantalts, thanks for asking for more clarity. @bob-carpenter, I don't see the ability to have both vector and matrix on the non-inverted type. So the total count should be 40, but I was really just asking for 8 tests. I was suggesting a few quick tests for var, but not every instantiation of higher-order autodiff. More below.
** What I'm worried about **
The thing that scares me about this pull request is the use of Eigen's template expressions in this complicated way. It scares me because it may affect our autodiff stack in some unexpected way.

Only arithmetic affects the stack.

I'm afraid that under some instantiation, the code may seg fault, allocate memory on the wrong stack, or does something else that's wild and beyond our normal ability to imagine it.

That could only happen if some piece of our arithmetic
did that.  That would be a pretty deep bug, but this
isn't the place to test that.

Fortunately, I think that concern can be fixed with a simple test or two.
** What I want tested **
• Instantiations in the things we care about now: double and var for the templated arguments.
• Check that calling the function and grad for each of the instantiations doesn't crash.
• Check the autodiff stack before and after the grad call.

What did you want to check the stack for?   If this is something
you're going to want in general, we should add it to the existing
autodiff tests.
The stack before and after the grad() call is really grad's responsibility.
Are you worried about nested calls somehow accidentally getting
called or an error in our calling of chain() somehow?

I think this will help with maintenance (just in case it works for current Eigen, but not future Eigen). It should also help when anyone wants to push forward with specialized derivatives for this function.
** What I'm not worried about **
Funny enough, I'm less worried about correctness. We've gone on this far without having tests for the function value or the gradients for this function.
Of course, I'd like to have it, but I don't think it's on the person that changes a function to have to carry that burden. It's technical debt. I'm ok carrying that technical debt forward. I'm not ok if a function like this starts "leaking" memory or seg faults on a user because we didn't call each instantiation once.

I'm much more worried about this because I can't imagine any
of the ways anything you're worried about above could go wrong,
since they'd have to go wrong in our underlying arithmetic.

I'm also less worried about the instantiations we're not calling from Stan now. We will eventually need to test all of fvar, but that's not a burden I'm putting on this pull request.

OK.  What about with new functions?

** More specifically **
I think we need to do two things for this pull request:
• modify stan/math/rev/mat/mdivide_right_test.cpp to call .grad() on any element just to make sure the gradient function is being called. (Yes, it doesn't do that now!)

I completely agree the current tests are insufficient.

• copy that test to mdivide_right_tri_test.cpp and instantiate that in the same way.

But with triangular matrices.

Of course, I'd like to see all the gradients tested through, but I'm not asking for it (because we haven't tested it in the past and you're just making a modification to this function).

I'm not clear on this distinction.  I'd be more worried that a change
will introduce an error in calculating the value than I would be
on it finding a bug buried in our arithmetic somewhere.

Bob

Only arithmetic affects the stack.

Yes, but we're relying on Eigen here to do the arithmetic.

That could only happen if some piece of our arithmetic did that.  That would be a pretty deep bug, but this isn't the place to test that.

Yes and no. Let me elaborate a bit.
We're relying on Eigen for these operations. We've already seen that different versions of Eigen produce different results (we have tests conditional on version of Eigen in our codebase). We've run into Eigen bugs, compiler bugs, and even different behavior based on compiler. Let alone cross-platform incompatibility.
The right place to test would possibly be some sort of integration test that verifies that every Eigen operation works with our autodiff variables and stack. Then we could just rely on that behavior to move forward. We don't have that and I really don't want to test against Eigen for everything that Eigen does.
Instead, I think this is one place we can test that the behavior is correct, including how it plays out on the autodiff stack. This pull request is now using Eigen's functions instead of what we've tested all the way down (or should have tested). My fear here is that a future version of Eigen will do something different and we won't know.
The reasonable thing may be to ignore that fear. Especially if you're convinced that Eigen's implementation can't allocate things on the wrong stack and everything on the stack will be ok.

Are you worried about nested calls somehow accidentally getting called or an error in our calling of chain() somehow?

Not worried about nested calls. More worried that certain things don't end up on our stack and some place else.

I'm much more worried about this because I can't imagine any of the ways anything you're worried about above could go wrong, since they'd have to go wrong in our underlying arithmetic.

Ok! We should worry about correctness. Especially if you're convinced that none of the things that I'm worried about could go wrong.

OK.  What about with new functions?

We'll discuss on discourse instead of this PR.

And you're absolutely right. It's 80, not 40. It's hard to keep these instantiations correct.
I'm going to approve this pull request. I think we know where the weaknesses are. It's not new technical debt we're carrying forward. Can I ask you to add a new issue to request testing for this particular function?

Issue for testing: https://github.com/stan-dev/math/issues/763

So we can merge?


PruneChildren actually means no prune children...

Hey, just noticed that PruneChildren = true (ImageDeleteParameters) actually means no prune children according to Docker API and my observation (did an integration test to verify my guess), should we consider to name it NoPruneChildren instead? Or flip the Boolean value before sending out the request to docker daemon? Since PruneChildren is called "--no-prune" in Docker API.

I have no idea why this would of been implemented this way. You are 100% correct. We should change the model to NoPrune and update the ImageDeleteParameters. Do you want to PR up this change?

Sure, I will send out a PR and post link here. Thanks for the quick response!

Here is the PR: https://github.com/Microsoft/Docker.DotNet/pull/316
Let me know if this change is sufficient or tests need to be fixed or added.

PR get merged, feel free to close this issue:) @jterry75

Thanks again @JasonStein


graphia: init at 2.2

Motivation for this change
Graphia is a relatively new tool for graph visualisation and analysis,
in the same vain as gephi.
Things done

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

[x] 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"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Beat me to it!

Thanks for the review @SuperSandro2000!
I'll address this shortly. I also think I might have missed a dependency on qtquickcontrols (which bizarrely only manifested as missing UI elements).

Fixed.

Fixed. Thanks for the reviews, @SuperSandro2000 !

Anyone want to merge this one?


Issue with k8s.io/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro/

This is a...

[ ] Feature Request
[ X ] Bug Report

Problem:
Looks like the link to github is broken. This is given a 404 on github: https://github.com/kubernetes/website/tree/master/docs/tutorials/kubernetes-basics
Proposed Solution:
Page to Update:
https://kubernetes.io/...

I think it will be fixed in #8763. 🎉


Xamarin Support

Projects like PCL in Xamarin do not install nuget. More works by adding reference to DLL.
Please add support.

I believe Xamarin switched from PCL to .NET Standard some time ago. I've added .NET Standard support in the 2.0.4 release.


Fix failing helm install due to meshkit version update.

Signed-off-by: MUzairS15<EMAIL_ADDRESS>Description
This PR fixes #
Notes for Reviewers
Signed commits

[ ] Yes, I signed my commits.

@leecalcote Helm and manifest install both are failing (at least for me), I checked install is failing before dep update also?
Could you please confirm?

it seems that we are having a similar issue with the mistook helm chart


chapter 2 : using mLab/MongoDB

mLab was recently acquired by MongoDB, Inc.  The explanation in the book doesn't correspond with information on the MongoDB site. It is too confusing. what to do now?

Click to see Hill for issue #204

Click to see Hill for all issues

created by Async

@abeeb1000 Thanks for reporting. I am working on adding instructions for MongoDB Atlas and removing mLab instructions as mentioned in #138.

@abeeb1000 I replaced mLab instructions with MongoDB Atlas instructions. Changes are live at:
https://builderbook.org/books/builder-book/server-database-session-header-and-menudrop-components#database


how to change the scale size of the pie and doughnut chart when hover

Version
5.5.0
Link to Minimal Reproduction
https://github.com/karthik-noveau/e-charts
Steps to Reproduce
npm install
npm start
hover on pie chart
Current Behavior
not able to control the scaling size of the hovered pie chart
Expected Behavior
need to reduce the scaling size of hovered piechart item
Environment
- OS:macOS
- Browser:chrome
- Framework:react js

Any additional comments?
No response

https://echarts.apache.org/en/option.html#series-pie.emphasis.scaleSize

https://echarts.apache.org/en/option.html#series-pie.emphasis.scaleSize

Thank you


ZeroRPC Port Issue

Describe the issue / bug.
I added this to a closed issue here, but I wasn't sure if you receive notifications for closed issues, so I apologize if this is redundant.
How can I reproduce this problem?
1. In package.json add:
dependecies: {
     "zerorpc": "git+https://github.com/fyears/zerorpc-node.git"
},
dev-dependencies{
    electron-packager 9.0.1
    electron 1.7.6
}

2. npm install with this specific command
npm install --runtime=electron --target=1.7.6
3. Add the following code ABOVE the electron process in src/main/main.js
// py process

const PY_DIST_FOLDER = 'pycalcdist';
const PY_FOLDER = 'pycalc';
const PY_MODULE = 'api'; // without .py suffix

let pyProc = null;
let pyPort = null;

const guessPackaged = () => {
  const fullPath = path.join(PY_DIST_FOLDER);
  return require('fs').existsSync(fullPath);
};

const getScriptPath = () => {
  if (!guessPackaged()) {
    return path.join(PY_FOLDER, PY_MODULE + '.py');
  }
  if (process.platform === 'win32') {
    return path.join(PY_DIST_FOLDER, PY_MODULE, PY_MODULE + '.exe');
  }
  return path.join(PY_DIST_FOLDER, PY_MODULE, PY_MODULE);
};

const selectPort = () => {
  pyPort = 4242;
  return pyPort;
};

const createPyProc = () => {
  const script = getScriptPath();
  const port = '' + selectPort();

  if (guessPackaged()) {
    pyProc = require('child_process').execFile(script, [port]);
  } else {
    pyProc = require('child_process').spawn('python', [script, port]);
  }

  if (pyProc != null) {
    // console.log(pyProc)
    console.log('child process success on port ' + port);
  }
};

const exitPyProc = () => {
  pyProc.kill();
  pyProc = null;
  pyPort = null;
};

app.on('ready', createPyProc);
app.on('will-quit', exitPyProc);

4. Add a Python folder pycalc in the root. Inside pycalc add a file api.py
5. Inside api.py add the following code. Inside thing function, and a path to a local image:
from __future__ import print_function
from calc import calc as real_calc
import sys
import zerorpc

class CalcApi(object):
    def calc(self, text):
        """based on the input text, return the int result"""
        try:
            return real_calc(text)
        except Exception as e:
            return 0.0
    def echo(self, text):
        """echo any text"""
        return text
    def thing(self):
        image = 'ADD PATH TO A LOCAL IMAGE HERE '
        return image

def parse_port():
    port = 4242
    try:
        port = int(sys.argv[1])
    except Exception as e:
        pass
    return '{}'.format(port)

def main():
    addr = 'tcp://<IP_ADDRESS>:' + parse_port()
    s = zerorpc.Server(CalcApi())
    s.bind(addr)
    print('start running on {}'.format(addr))
    s.run()

if __name__ == '__main__':
    main()

6. Add a .vue file with the following code:
<template>

</template>

7. npm run dev  and the console should log a 404 error. Specifically the 404 should be on port  9080.
Tell me about your development environment.

Node version: 6.11.3
NPM version: 5.4.1
vue-cli version: (if necessary)
Operating System: Ubuntu 16.04

Thank you so, so much for your time.

@k29 I'm so sorry I didn't see this until just now. I have gotten zeroRPC to work with this package, actually. I'm not exactly sure what's going on with your code. Looks like the connection to zeroRPC is good. What zeroRPC package are you using? I recommend using the modified package that fyears[https://github.com/fyears/electron-python-example] uses. I think the zeroMQ version is the main issue. Follow the steps inside that repo with the electron runtime as well! That is pretty important.
Again, sorry such a late reply. Hope you got it working!

Hey, no worries, I managed to get it working. :)


Update hcsshim to v0.8.9

My main motivation for this update is to pull in a version of hcsshim recent enough to not require CGO to build.

I've lost my merge access at the moment, but this should definitely go in


Add a command line interface for collageradiomics. #86 #87

Adds a command line interface version of collageradiomics. This is a wrapper around our core module with support for statistic output of the entire masked region via a CSV file.
Available on Pypi: pip install collageradiomicscli
Thank you @sarthakpati!

@sarthakpati looks like there's some leftover files in the root of the repo in this branch. Could you please delete those?

Looks good, now?

Yup!

This is now integrated in CaPTk (the corner case that results in #89 has been disabled, for now): https://github.com/CBICA/CaPTk/pull/1326


api version

set version without sending through the array get parameters
https://vk.com/dev/versions

Would you mind to fix the conflicts?

sure, done


feat: remove initial tool call messages

Background
When this project was first created as a POC, chat message history did not persist, but your DB tables did. So we added a hidden initial tool call message at the beginning of every conversation that told the LLM which tables were available. This allowed the LLM to know your schema right away without asking.
Since making the POC, we added the ability to persist chat messages which makes this feature unnecessary (DB will always have no tables at the start of the conversation).
Change
Remove these initial hidden tool call messages. They add a decent amount of tokens every request, so if they don't have a good purpose anymore lets remove them.

Holding off on merging this as the initial chat behaviour seems to regressed (can't just say "books" and a books table appears immediately). Going to test a few prompt updates.


Fix trailing space in doc/security.md

Fix trailing space in doc/security.md line 716.
Signed-off-by: David A. Wheeler<EMAIL_ADDRESS>

This trailing space causes many other problems, let's fix that ASAP.

@andrewfader - I'm going to fix this trailing space in a markdown file separately, here.


CI: add publishing to maven central

First setup OSSRH:
Documentations for github actions:
https://docs.github.com/en/actions/publishing-packages/publishing-java-packages-with-maven#publishing-packages-to-the-maven-central-repository-and-github-packages
https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#Publishing-using-Apache-Maven
https://github.com/jonashackt/github-actions-release-maven
Only on release (create tag)

New issue opened in Sonatype Jira for groupId creation.


July 2020 NHI format changes

According to MoH, NHI is getting extended to support more numbering
https://www.health.govt.nz/our-work/health-identity/national-health-index/upcoming-changes-nhi-numbers
This pull request contains updates to support both old and new version

Thank you for this PR. Yes, the NHI standards are changing.
However, your solution currently throws a Reference Error. The calculatedDigit variable name on line 36 is referenced but never assigned to. Did you instead mean to use checkDigit?
Also, to improve readability, it might be best to split the new and old cases into two separate if-blocks rather than using multiple ternary operators. This will add a small amount of code duplication but will simplify the code significantly. I have a simple example of this in a python implementation of the NHI validation routine.

Superseded by #60


about evaluation.py

ValueError: cannot reshape array of size 211730400 into shape (5000,36,2048)，what should I do?

I set up the wrong training epoches


html inspector

Kind of like chrome's. Able to edit rendered HTML & CSS directly.

Hmmm, web devs can be attached to their editors (config, intellisense, highliters, linters).  I'm not sure if you're ready to open Pandora's Box yet.... you'll see an endless stream of requests & bug reports on this feature alone.
Maybe at most a Edit this button which will open said files in an editor.  But then, how will you handle imports, both of parents & children?

@tomByrer I agree that an HTML inspector would be a bit of a Pandora's box. I'm imagining the initial version of this will be read-only, allowing developers to only see the rendered HTML of their application for debugging purposes. From there, we can explore ways of adding visual editing tools from the inspector itself.


Cleanup and minor fixes

This PR contains various minor fixes and improvements.

Remove the deprecated mempool_cluster_wrap.
Run the simulation at 500MHz to align to MemPool's actual frequency and post-layout simulations.
Improve the trace parsing.
Improve and fix parameter propagation.

Solves #32.

[ ] Automated tests pass
[ ] Changelog updated
[ ] Code style guideline is observed

I assume this closes #32?


Provides a requirements.txt file to install dependencies

Currently, there is no requirements.txt file so to use the tool we nee to launch it, see the first error about dependency not found, install the dependency using pip, re-launch ...
Providing a requirements.txt would solve the issue.

For the records, the following pip command can be used to install the dependencies.
pip install python-dateutil google-api-python-client oauth2client python-kafka