MRG: add --module-name argument to cython command

I'd like to ask for feedback for this implementation of a
--module-name command line argument to the cython utility.
It can be useful to specify the module name for the output file
directly, rather than working it out from the enclosing file tree -
particularly for out of tree build systems, like Meson.
See: https://github.com/rgommers/scipy/issues/31#issuecomment-1002662816
for background.
However, the implementation here is a little ugly, because the cython
command line utility always executes through the compile_multiple code
path in Main.py.  This in turn is because the passed sources
argument is a list, and not a string, and therefore, the check around
line 629 always fails, meaning that I have to recover the passed
module_name from options in compile_multiple, rather than using
the full_module_name argument available in compile_single.
Is this the right thing to do?  If so, I'll write up some tests.

Nice, thanks @matthew-brett

This in turn is because the passed sources
argument is a list, and not a string, and therefore, the check around
line 629 always fails, meaning that I have to recover the passed
module_name from options in compile_multiple, rather than using
the full_module_name argument available in compile_single.

I noticed this too, and had assumed that was a small implementation issue somewhere, that hasn't been noticed before because taking the compile_multiple path works just fine. The alternative fix is to unpack sources if it's a length-1 list (or don't turn the input into a list in the first place) - that would perhaps be cleaner, however this diff is only a few lines long and should have no side-effects so is perhaps fine and safer.

Reviewing the code for compile_single and compile_multiple, I believe it would be equivalent to use compile_single for all calls to the cython utility where there was only one passed source file - and this makes the change neater, because I can use thefull_module_name argument directly.   On the other hand, it does mean that I can't use the --module-name with --timestamps, as written - and if I'm wrong about the equivalence, it will change the behavior of cython calls for single sources.

On further investigation, there is a difference in behavior in the code path for compile_single and compile_multi.  I don't know whether it is intentional, but compile_multi first converts all source files to absolute paths, and this in turn will make a difference in the found module name.  Both call into run_pipeline, which then, in turn, call extract_module_name, and the results differ for relative and absolute path names.  For example, running the code from a submodule folder (in this case nibabel/cifti2, where both nibabel and nibabel/cifti2 contain __init__.py files):
[ins] In [14]: context.extract_module_name('foo.pyx', None)
Out[14]: 'foo'

[ins] In [15]: context.extract_module_name(os.path.abspath('foo.pyx'), None)
Out[15]: 'nibabel.cifti2.foo'

I think this is accidental, and there's a bug in the extract_module_name code, but nevertheless, as things stand, compile_single does not exactly correspond to compile_multi with a single filename, and so we need the approach in this PR to avoid changes in the default behavior of cython.

I have added some tests, and some fixes - I believe it is ready for review.

Tests passing.

This LGTM (the feature, I'm not familiar with this way of testing).
@matthew-brett did you already try use this with SciPy? There's a bunch of direct cython invocations where you could add this argument (search for fast-fail to find them). It should allow getting rid of hacks like this:
# Needed to trick Cython, it won't do a relative import outside a package
_dummy_init_optimize = custom_target('_dummy_init_optimize',
  output: '__init__.py',
  input: '__init__.py',
  command: [copier, '@INPUT@', '@OUTDIR@']
)

This does work as intended, in testing with Scipy - discussions over at https://github.com/rgommers/scipy/issues/31

I think the failure is unrelated.

@matthew-brett
Any update on this? Looking at the diff, there's still 2 unresolved comments at least.

I've marked the comment that remains as resolved - is there anything else I can do here?

Another gentle ping on this. It's actually important for SciPy's development workflow. Without it, I noticed that there's a ton of unnecessary rebuilding going on. For example, since all extensions built from Cython code depend on the main __init__.py without the feature added in this PR, they all get rebuilt as soon as you touch __init__.py at all in combination with Meson or any other out-of-place build setup.
Aside from that, it will make moving away from setuptools much easier for other projects, because of how much it simplifies working with Cython in Meson. The start of Python 3.12 development is not that far off anymore, and at that point projects are going to want to move away (NumPy and scikit-learn at least are about to start with that).
This is a very small change, now well-tested, that should be quite safe to merge. @scoder any chance this can be merged soon and backported to the 0.29.x branch?

The start of Python 3.12 development is not that far off anymore

Nominally, 3.12 development has kicked off already with the branching of 3.11 off from main.
(+1 to merge & backport)

Just another ping - is there anything else I can do here?

FWIW this looks good to me. It's just a little larger than I'm happy merging myself.
It might be worth investigating whether it backports cleanly (just so you're prepared to fix any issues if it doesn't) but that's more "advanced preparation" than something to do here.

@scoder this seems like it should probably be in the next release if possible?

I think a backport to 0.29.x is reasonable but needs extra work due to various changes in the master branch.

I think a backport to 0.29.x is reasonable but needs extra work due to various changes in the master branch.

I will try a backport later today, unless there is opposition to that or @matthew-brett gets to it before me. :)

@h-vetinari - thanks - that would be very helpful.   Let me know if you're stuck for time, I'll try and get to it in a bit.   I'm afraid I've got various deadlines coming up.


Add depends on service name attribute

A simple addition of depends on described under "SERVICE DEPENDENCIES" on https://mmonit.com/monit/documentation/monit.html
I also corrected the @listens to be optional allowing default['monit']['config']['listen'] = nil as per

ADDRESS make Monit listen on a specific interface only. For example if you don't want to expose Monit's web interface to the network, bind it to localhost only. Monit will accept connections on any address by default (if ADDRESS option is missing).

Hope you find these useful

Thanks @kcd38, this looks great! If you could fix the typo on the key in the monit_check_config, this looks good to merge!

Good catch!

thanks for the quick turnaround @kcd83! this is shipped now in version 2.0.1 :tada:
have a great rest of the week!

@nathwill many thanks, keep up the good work


⚠ Bofrost.lu has degraded performance

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

HTTP code: 200
Response time: 2052 ms

Resolved: Bofrost.lu performance has improved in e27fdcd after 8 minutes.


Make README.md more novice-friendly

I decided to make the diagrams in the README a bit more novice-friendly and I fixed a typo (consumtion → consumption).
As I noted in the commit message, I'm releasing the diagrams under the CC0 so they'll be in the public domain even in Germany and people are free to reuse them for other DIY stuff. The photos are originals I took (which is why the lighting setup is even weirder than it looks), and the one diagram I borrowed was already in the public domain.

Thank you, very much appreciated!


Show full type definition on hover

The same question came up on stackoverflow: https://stackoverflow.com/questions/61412688/how-to-view-full-type-definition-on-hover-in-vscode-typescript
Is there any way to show the type when using the const?

Duplicate of #35601

Duplicate of #35601

This is not regarding ellipses, this is regarding the type name Account being used instead of the expanded definition of Account


UX: Unify the installed plugins views

Describe the bug
After our Contribufest at KubeCon, it was clear that having an installed view for plugins installed by the Plugin Catalog + a list for all installed plugins is not a great idea, as many were looking for their development plugin in the Plugin Catalog installed list.
I think the easiest way to prevent this problem is to show all plugins in the Plugin Catalog installed view. Since we may not be able to uninstall plugins that have no been installed by the Plugin Catalog, we could have them in a different category. Maybe we show two tables, e.g.:
Installed from the Plugin Catalog
[...]

Other Plugins
[...]

We should also link from this page to the respective plugins' details/settings.
To Reproduce
Steps to reproduce the bug:

Use Headlamp desktop versionl; Go to the Plugin Catalog view.
Click the installed list: only plugins installed by the Plugin Catalog are shown there

Environment (please provide info about your environment):

Installation type: Headlamp for desktop
Headlamp Version: 0.26.0

related: #2545

PR for this is on the plugins repo
https://github.com/headlamp-k8s/plugins/pull/117


update passphrase

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (905a776) 36.49% compared to head (7261467) 36.49%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff            @@
##             master     #137   +/-   ##
=========================================
  Coverage     36.49%   36.49%
  Complexity       92       92
=========================================
  Files            31       31
  Lines          1529     1529
  Branches        230      230
=========================================
  Hits            558      558
  Misses          876      876
  Partials         95       95

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Update Messages

When I was working on my PR I noticed that compiling messages generated quite a few more updates than the ones resulting from my changes.
So keep them updated in the repo I just ran run.sh messages and pushed the changes.

Pull Request Test Coverage Report for Build 690

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

Totals

Change from base Build 688:
0.0%

Covered Lines:
3766

Relevant Lines:
3766

💛  - Coveralls


How to debug AUX file import?

At some point I randomly stumbled upon the possibility to import LaTeX-generated .aux files into Zotero (I later tried to use the feature again and could not – it took me some time to realise it's provided by z-b-b, but that it was on a separate machine that did not have z-b-b installed.)
It worked quite well for a while, but has somewhat recently stopped working properly: I now have the problem that after importing an aux file, the BibTeX AUX scanner item lists all items from the AUX file as “missing references”. This includes both items that got their BibTeX name explicitly set (“Extra: bibtex: wals” – “* wals” turns up in the AUX scanner report) and those that did not.
How do I fix this, or how do I help debugging?

Please go into Preferences->Advanced->Enable, reproduce the problem, and then select "Report ZotPlus Errors" from the zotero gear menu. You'll be presented with a short URL, please post that URL here.

Oh and could you drop the aux file in https://dbinbox.com/allthatisthecase

The report has been pasted to http://goo.gl/cr9Ihk
The Extra: field of the generated “BibTeX AUX Scanner” ‘Journal Article’ is
Missing references:
* atkinson2005curious
* bouckaert2012mapping
* bouckaert2014beast
* bybee1994evolution
[…]
* wals
[…]

The AUX file is now https://gist.github.com/Anaphory/7c027bacd69a95369377
One of the items in there, wals, is in my Zotero library with the following report.
Type 	Document
Contributor 	Matthew S. Dryer
Contributor 	Martin Haspelmath
URL 	http://wals.info
Publisher 	Leipzig: Max Planck Institute for Evolutionary Anthropology
Date 	2013
Extra 	bibtex: wals
Abstract 	The World Atlas of Language Structures (WALS) is a large database of structural (phonological, grammatical, lexical) properties of languages gathered from descriptive materials (such as reference grammars) by a team of 55 authors.
Short Title 	WALS Online
Date Added 	10/22/2014, 12:24:39 AM
Modified 	3/5/2015, 2:03:58 PM

Oh, this was in some way a logging problem?
Do I now just expect a BBT update, and then it should work?

Nope, the logging fix is a performance enhancement that just made it into
the same release. The problem was that I forgot to check against the
library id - the aux scanner only worked for group libraries, not the main
library.

Oh and yes, upgrade and it should be fixed.
Thanks for reporting the bug!


Adding Terms and Conditions

@Puskar-Roy
I would like to add Terms and Conditions option above to this line '© Designed and Developed By Puskar Roy', when user click it, seperate page will be open for Terms and Conditions
I'll make sure to align it with the website styling
Could you please assign this to me

Hey @AswaniBolisetti👋! Thanks for raising this issue and demonstrating your interest in contributing to our project!🚀
We value your engagement and eagerly anticipate your contributions. Should you wish to get involved, please use the /assignme command to self-assign the issue.
This issue provides an excellent opportunity for us to enhance our project, and we're excited to have you join us! Please take a moment to review our CONTRIBUTING GUIDELINES before getting started.
If you have any questions or need assistance, feel free to reach out to us on LinkedIn.❤

Hello @AswaniBolisetti! We'd like to inform you that the issue has been resolved and is now closed. We appreciate your understanding and look forward to your continued involvement with our repository!🤗
If you encounter any further issues, please don't hesitate to reach out to us on LinkedIn. Thank you for your support!❣
Happy coding!✨ We hope to see you again soon!❣


No watchers found issue

Hi,
I installed Sentinl 5.6.3 version and create watcher with wizard. But watchers don't trigger automatically. And i see [debug][Sentinl][scheduler] no watchers found on the kibana logs.
Kibana..yml:

Logs:

You probably have some form of authentication preventing the watchers from being saved.
Check for errors in Elasticsearch as you attempt to save/schedule for hints.

@lmangani
I can succesfully create watcher :

@lmangani
I can succesfully create watcher :

You probably have some form of authentication preventing the watchers from being saved.
Check for errors in Elasticsearch as you attempt to save/schedule for hints.

@lmangani
I can succesfully create watcher :

@lmangani Getting exact same issue with 5.6.x. Any resolution on this.


Meta data: +1 671-480-xxxx (Guam) should be validate

According to https://www.area-codes.com/exchange/exchange.asp?npa=671&nxx=480, this is a valid area code. E.g, a working number +1<PHONE_NUMBER>
On 8.4.3, is_valid_number returns False.
Please update the meta data. Thanks!

Thanks for providing all the details we need! We've accepted this issue and
will fix this in an upcoming release. For your next metadata issue, we invite
you to file issues in Google's new Issue Tracker,
which we're currently testing.
Please note that you have submitted this information with the knowledge that we
may use, modify, reproduce, publicly display, and distribute the information in
accordance with our open source policies. Please let us know if you did not
intend to submit the information for such use.

Thanks!

Fixed in release 8.5.1.


Added a new firewall / CGW workbook by Barracuda

<EMAIL_ADDRESS>Required items, please complete
Change(s):
-added a new workbook
Reason for Change(s):

new workbook

Version Updated:

Required only for Detections/Analytic Rule templates
See guidance below

Testing Completed:
yes
Checked that the validations are passing and have addressed any issues that are present:

See guidance below

Guidance <- remove section before submitting

Hey @FelixBman, I can see that many irrelevant changes are committed in this PR. Can you please check and close this and raise another PR just with the changes that are needed. Thanks.

@FelixBman Can you please fix the PR? This PR contains so much of errors.

@rushriva - This PR should be closed and a new clean one opened by the contributor.

Hi @FelixBman, we have closed this PR now you can open new PR for the same. Thanks


Not compiling the sm_atomic and other code examples

Hello,
Somehow when running catkin_make I have compiling errors with the sm_atomic example and probably the others:
In file included from /usr/include/boost/statechart/fifo_scheduler.hpp:13,
from /usr/include/boost/statechart/asynchronous_state_machine.hpp:12,
from /home/user/Workspace/ws_catkin/src/SMACC/smacc/include/smacc/common.h:11,
from /home/user/Workspace/ws_catkin/src/SMACC/smacc/include/smacc/smacc.h:7,
from /home/user/Workspace/ws_catkin/src/SMACC/smacc_sm_reference_library/sm_atomic/include/sm_atomic/sm_atomic.h:1,
from /home/user/Workspace/ws_catkin/src/SMACC/smacc_sm_reference_library/sm_atomic/src/sm_atomic_node.cpp:1:
/usr/include/boost/statechart/processor_container.hpp: In instantiation of ‘void boost::statechart::processor_container<Scheduler, WorkItem, Allocator>::create_processor_impl1(const processor_holder_ptr_type&, const boost::statechart::processor_container<Scheduler, WorkItem, Allocator>::processor_context&, Arg1) [with Processor = sm_atomic::SmAtomic; Arg1 = smacc::SignalDetector*; Scheduler = boost::statechart::fifo_scheduler<boost::statechart::fifo_worker<std::allocator >, std::allocator >; WorkItem = boost::function0; Allocator = std::allocator; boost::statechart::processor_container<Scheduler, WorkItem, Allocator>::processor_holder_ptr_type = boost::shared_ptr<std::auto_ptr<boost::statechart::event_processor<boost::statechart::fifo_scheduler<boost::statechart::fifo_worker<std::allocator >, std::allocator > > > >]’:
/usr/include/boost/statechart/processor_container.hpp:136:20:   required from ‘WorkItem boost::statechart::processor_container<Scheduler, WorkItem, Allocator>::create_processor(boost::statechart::processor_container<Scheduler, WorkItem, Allocator>::processor_handle&, Scheduler&, Arg1) [with Processor = sm_atomic::SmAtomic; Arg1 = smacc::SignalDetector*; Scheduler = boost::statechart::fifo_scheduler<boost::statechart::fifo_worker<std::allocator >, std::allocator >; WorkItem = boost::function0; Allocator = std::allocator; boost::statechart::processor_container<Scheduler, WorkItem, Allocator>::processor_handle = boost::weak_ptr<std::auto_ptr<boost::statechart::event_processor<boost::statechart::fifo_scheduler<boost::statechart::fifo_worker<std::allocator >, std::allocator > > > >]’
/usr/include/boost/statechart/fifo_scheduler.hpp:62:17:   required from ‘boost::statechart::fifo_scheduler<FifoWorker, Allocator>::processor_handle boost::statechart::fifo_scheduler<FifoWorker, Allocator>::create_processor(Arg1) [with Processor = sm_atomic::SmAtomic; Arg1 = smacc::SignalDetector*; FifoWorker = boost::statechart::fifo_worker<std::allocator >; Allocator = std::allocator; boost::statechart::fifo_scheduler<FifoWorker, Allocator>::processor_handle = boost::weak_ptr<std::auto_ptr<boost::statechart::event_processor<boost::statechart::fifo_scheduler<boost::statechart::fifo_worker<std::allocator >, std::allocator > > > >]’
/home/linuxsocke/Nextcloud/Workspace/ws_catkin/src/SMACC/smacc/include/smacc/smacc_signal_detector.h:89:42:   required from ‘void smacc::run() [with StateMachineType = sm_atomic::SmAtomic]’
/home/linuxsocke/Nextcloud/Workspace/ws_catkin/src/SMACC/smacc_sm_reference_library/sm_atomic/src/sm_atomic_node.cpp:9:37:   required from here
/usr/include/boost/statechart/processor_container.hpp:324:44:
error: no matching function for call to ‘sm_atomic::SmAtomic::SmAtomic(const boost::statechart::processor_container<boost::statechart::fifo_scheduler<boost::statechart::fifo_worker<std::allocator >, std::allocator >, boost::function0, std::allocator >::processor_context&, smacc::SignalDetector*&)’
324 |       *pProcessor = processor_holder_type( new Processor( context, arg1 ) );
Is this version issue with boost? I am using Ubnunt 20.04 with ros-noetic.
When checking my boost is says:
libboost-all-dev is already the newest version (<IP_ADDRESS>).
Side note: Currently looking for a state machine and I am impressed by your work and effort :+1:

Hello @linuxsocke, thanks for trying smacc and reporting this.
I exactly know what it is happening.
As you say, the issue is in libboost-all-dev. There are some syntactical changes in the new version of boost-statechart that is breaking the ubuntu 18.04 build in 20.04. The master branch is right now "tracking" ros-melodic/ubuntu18.04.
I know that issue, because I already fixed these issues in the effort we are doing portting the library to ros2. Please check: https://github.com/droidware-ai/SMACC2
That version of smacc works on ubuntu 20.04 - ros-foxy and I had to fix there all these issues you are mentioning. Alll of them are mostly related with the replacement of one allocator std::allocator -> to std::allocatorboost::statechart::none.
Right the work for the migration to noetic paused at least until we complete the migration to ros2 (then we will decide what to do with this).
If you want to try to solve this, please check the differences related with SmaccAllocator and std::allocatorboost::statechart::none in the smacc2 repository:
https://github.com/droidware-ai/SMACC2/blob/master/smacc2/include/smacc/smacc_fifo_worker.h
https://github.com/droidware-ai/SMACC2/blob/master/smacc2/include/smacc/common.h
https://github.com/droidware-ai/SMACC2/blob/master/smacc2/include/smacc/introspection/introspection.h
Please, feel free to make a pull request if you want to fix this issue. It shouldn't be hard to move from melodic to noetic (altough we have many projects and booststate errors are very verbosy and scary).
It would be great if someone could check at least that the basic core packages (smacc) build in noetic. if clients or examples fails we can always deactivate them by the moment.

Ok, thank you for the fast response! So I will close this issue.


Update data-platform-create-entity.md

Remove errant bracket causing a broken link

@snagy : Thanks for your contribution! The author, @Mattp123, has been notified to review your proposed change.

@snagy : Thanks for your contribution! The author, @Mattp123, has been notified to review your proposed change.

Thanks, @snagy, for your feedback! This issue has been fixed through PR #18, which was opened just before this one. Closing this PR as a duplicate.


#28 Add transforms2d to searchMap

transforms2d is missing from the searchMap causing 2d transforms not to be prefixed for IE9. Just ran into this problem after updating Radium. I've fixed this specific issue in the PR but there might be a better solution.
Would be possible to look at the value of a style vs it's key? for example:
If we only look at the key, we can't differentiate between
transform: 'rotateX(20deg)' and transform: 'translate3d(0,100px,0)'
even though browser support differers between the two.

Hey @kings0c, thanks for the quick fix! For now we should be save just adding those and checking the key. As far as I know e.g. IE 9 does not support any 3D transformations right? So it should not matter if it is -ms-transform: translate3d(...) or 'transform: translate3d(...)` as both should not work. But we might add a special plugin later that checks the key-value pair instead of just the key.

Yeah I think IE9 just doesn't support 3d transforms at all. And okay thanks :+1:

Also according to w3schools CSS 2D Transform we should only add transform and transform-origin to the searchMap or am I wrong? Only w3schools CSS 3D Transform shows the others (backfaceVisibility, etc.)
PS: I know one should not use w3schools, but they summarized those 2 examples quite nice.
If I am right, please removed everything expect those two 2D Transform properties.

Yep you're right. Doh!
I'll push the changes up now.

@kings0c That's it :) Many thanks for that (I would have never found that as I am on OS X only)

Awesome :-)
Is transform-origin-x / transform-origin-y even a valid css rule? I can't seem to find anything in the spec
https://drafts.csswg.org/css-transforms/#transform-origin-property

Oh hah, seems that they are not even in the CSS spec :sweat_smile: We should remove those.


Infrastructure as code support

Hey OpenNext 👋🏻
Amazing project and thanks a lot for the effort !
I was wondering if you guys are planning to support Infra as code as part of the project, tools like Terraform (multi-cloud) can help create the AWS/GCP infrastructure for OpenNext as simple as running one command.
The terraform code will be in form of configuration code and it's mostly yaml-like files, I believe this will help users instantly create Lambdas, CloudFront CDNs etc, with the configuration required for OpenNext to run, a way to "Standarize" deployments.
Also Google Cloud users (& other clouds) will be able to deploy OpenNext infra too, so no Cloud Provider lock-in 😁
I offer to personally help with this task if you guys like the idea.
Thanks!

Other people pointed me here, so I will do the same 😬 https://github.com/sladg/nextjs-lambda if you want to deploy to AWS.
@jayair @fwang let me know if it would make sense to talk considering the similar scope of our packages :)

Hey @sladg, a lot of what I did is inspired by nextjs-lambda, and the serverless-next.js project. Meant to reach out after getting OpenNext gets to v1. I think there's much value to combing our efforts.
@swve I'm hoping OpenNext to become this tool where ppl pick the adapter they want to use (currently only AWS), and it spits out the assets (server code, image-optimizer code, middleware code, and assets) you can deploy as is. At the moment, I wonder if it makes sense to decouple the infrastructure from the code, and let the community create ie.open-next-cdk or open-next-terraform.
Totally open to suggestions.

Hi @fwang
I think it depends on allocated time available to this project, as you said it makes more sense to focus on the actual code and tool instead of managing (repo) the Infrastructure code too,
But as you said it would be great if the CLI could generate the assets and also let the user choose the adapter (cloud service) & generate the terraform code for it letting the user deploy the infrastructure later (using terraform commands etc) the generated code would be taken from a community-led repo or a repository hosted on your organisation and managed by the community && OpenNext core contributors.
Something like serverless-stack/open-next-infra with folders for every IaC tool :
- terraform/aws
- terraform/gcp
- aws/cdk
- aws/cloudformation

But again I know managing open source repos can be an additional overhead so I guess it depends on time allocated to the project 😊
Cheers!

I'm excited about where this is going. So, I'm in process of ditching the unsupported @sls-next/cdk-construct, but I still want to deploy my app to AWS Lambda (or Lambda@Edge) using CDK. Is sladg/nextjs-lambda my best bet at this point?

So, if I understood correctly, my NextJS could be built and transformed with OpenNext and then deployed using sladg/nextjs-lambda, right?
Sounds promising but has anyone been able to achieve it already? If so, can you share it, please?

We can close this I assume? We have CDK construct in: https://github.com/sst/sst/blob/master/packages/sst/src/constructs/NextjsSite.ts

As mentionned by @sladg there is the SST construct, but there is also some other frameworks
https://github.com/sst/open-next#other-frameworks.


Talos conventions

Slightly related with #256.
For the past few days I've been working on a major overhaul of the codebase. Over the past few months I've noticed three things:

there are parts of the code that are rather cryptic
some things (like inferring metric names) are done many times
the mainline code is all over the place (goes from here to there in a way that is difficult to follow)

I've thought, as part of this process, some basic conventions for going forward.

/commands contains one file per command (end-user command)
/scan contains everything related with Scan
/reducers contains all kinds of limits and reducers
if the file name is *_run.py it represents the main procedural code of that aspect
if the file name is * _prepare.py or *_prepare.py it is called only from corresponding *_run.py
in all other cases, the docstring has to start with "Called from path/function.py"
imports outside of talos are made inside each function below doctstring
imports outside of talos must contain a two letter prefix e.g. import numpy as np
NOTE: it's absolutely prohibited to perform absolute imports e.g. from numpy import array
imports from inside talos are made immediately before the corresponding line of code
import from inside talos are always absolute imports (to disclose the full path to the originating code)
a reducer (e.g. correlation) is a single self-contained function in its own file
a reducer accepts self from Scan() only and returns value and label only where label is the parameter label and value is the parameter value

...more to come. Before releasing this overhaul, I will write up a wiki entry with comprehensive information conventions / standards etc.

Scan() creates a self so whenever this is mentioned, it refers specifically to Scan(). Otherwise the class originating the function is specifically mentioned. Objects from other classes can be appended as an attribute to self and must indicate that it is an object (e.g. self.param_object).
More generally regarding names of commands, they must strictly follow the name of the file if only one function is in the file. The name should clearly indicate what it does.
The very basic process flow is:
Experiment

Scan() initiates scan_run()
scan_run() initiates other procedures in /scan (e.g. scan_prepare())
Each round is handled by scan_round.py
Once limits have been met or no more permutations remain in index, scan_finish.py handles rest

Parameters

ParamSpace() creates and handles parameter space (permutation grid)
ParamSpace() first handles all the relevant limits
Based on the limits,  a parameter space and a corresponding index is created
This is stored to self.param_object (e.g. self.param_object.param_index)
The index can be updated anytime through self.param_object.param_index
self.param_object.remove_is(label, value) allows removing permutations from the parameter space
remove_is_not, remove_ge, remove_le, and remove_lambda are also provided
NOTE: remove_lambda exceptionally accepts a lambda function instead of label and value
label is the parameter label, and value is the value of the parameter
self.param_object.round_paramaters() is used for retrieving a parameter dictionary with parameters for a single permutation
self.param_object.round_paramaters() returns False when limits have been met or no more permutations remain in the index

Reducers

all reducers are activated through calling reducers_run.py
all new reducers must be added as a reference to reducers_run.py
a reducer (e.g. correlation) is a means to reduce the remaining parameter space
a reducer returns False if there is no reason to reduce, and [value, label] otherwise

@JohanMollevik what do you think, what kind of things would be important to outline to make Talos as easy to understand from the development/maintenance/extension stand-point.

Hard to tell, these kinds of conventions will probably help but I feel that my single hardest issue with understanding talos code has been the way it saves state into self objects instead of taking more explicit parameters (that it does not modify) and returning the results of an operation in the return value. I am of the opinion that this kind of non mutation code is much easier to understand but on the other hand making a change towards that would be a total change to how it is done now.
The other thing I would warn about is to make to many abstractions, I find it usually easier to read a clear sequential non condintional flow in a single file than a calls to other files that makes me jum back and forth. Don't understand me wrong, modularization and abstraction is good, but only up to a point and I would caution against overdoing it.
I would also emphasise more that when an object is passed from function to function it is nice if it uses the same variable name in all places (when possible), this makes tools like 'git grep' work better to find where some value is comming from.
What would help understanding is what you have done in these posts, documenting the rational behind changes, I would recoment saving the final text of this design in a prominent place in the documentation.
Hope I do not come across as complaining, I think this is a very nice project and it saved me the trouble to write my own incompleate version. So thanks for your great work


Error when running the "add" function

2023-07-20 19:35:18,373 - 51123 - ocdskingfisher.summarize.summary-tables - INFO - Processing middle:release_summary
concurrent.futures.process._RemoteTraceback:
"""
Traceback (most recent call last):
  File "/usr/lib/python3.10/concurrent/futures/process.py", line 246, in _process_worker
    r = call_item.fn(*call_item.args, **call_item.kwargs)
  File "/home/summarize/kingfisher-summarize/manage.py", line 452, in _run_summary_tables
    db.execute(f'/* kingfisher-summarize {identifier} */\n' + content)
  File "/home/summarize/kingfisher-summarize/ocdskingfishersummarize/db.py", line 84, in execute
    self.cursor.execute(statement, variables)
psycopg2.errors.UndefinedColumn: column release_check.override_schema_version does not exist
LINE 69:         AND release_check.override_schema_version = ''
                     ^
"""

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

Traceback (most recent call last):
  File "/home/summarize/kingfisher-summarize/manage.py", line 847, in <module>
    cli()
  File "/home/summarize/kingfisher-summarize/.ve/lib/python3.10/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/home/summarize/kingfisher-summarize/.ve/lib/python3.10/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/home/summarize/kingfisher-summarize/.ve/lib/python3.10/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/summarize/kingfisher-summarize/.ve/lib/python3.10/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/summarize/kingfisher-summarize/.ve/lib/python3.10/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/home/summarize/kingfisher-summarize/.ve/lib/python3.10/site-packages/click/decorators.py", line 26, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/home/summarize/kingfisher-summarize/manage.py", line 373, in add
    summary_tables(schema, tables_only=tables_only, skip=skip, where_fragment=where_fragment)
  File "/home/summarize/kingfisher-summarize/manage.py", line 493, in summary_tables
    run_concurrently(graph, _run_summary_tables, lambda identifier: (name, identifier, files['middle'][identifier]))
  File "/home/summarize/kingfisher-summarize/manage.py", line 205, in run_concurrently
    result = future.result()
  File "/usr/lib/python3.10/concurrent/futures/_base.py", line 451, in result
    return self.__get_result()
  File "/usr/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result
    raise self._exception
psycopg2.errors.UndefinedColumn: column release_check.override_schema_version does not exist
LINE 69:         AND release_check.override_schema_version = ''

Closed by c393552 and deployed.


docker snap unconditionally uses xtables

https://bugs.launchpad.net/ufw/+bug/1968608 has a great deal of information on the background of the problem, but in essence, the kernel supports two different firewall interfaces: xtables (historic) and netfilter (modern). Per kernel upstream, all software on the system must agree to all use xtables or all use netfilter, otherwise undefined behavior can occur. For docker, this might be that containers are unable to obtain an ip address, etc.
Distributions like Ubuntu 22.04 are migrating to using netfilter as the default kernel interface, but the docker snap unconditionally uses xtables. This can be seen on an up to date Ubuntu 22.04 system. Eg:
$ sudo ufw allow 22 && sudo ufw enable
$ sudo snap install lxd
$ sudo snap install multipass
$ sudo iptables-nft -S
... lots of rules ...
$ sudo iptables-legacy -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT

In the above, the iptables-legacy -S output shows that nothing is using the xtables backend. Install the docker snap, and it does:
$ sudo snap install docker
$ sudo iptables-legacy -S
-P INPUT ACCEPT
-P FORWARD DROP
-P OUTPUT ACCEPT
-N DOCKER
-N DOCKER-ISOLATION-STAGE-1
-N DOCKER-ISOLATION-STAGE-2
-N DOCKER-USER
-A FORWARD -j DOCKER-USER
-A FORWARD -j DOCKER-ISOLATION-STAGE-1
-A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o docker0 -j DOCKER
-A FORWARD -i docker0 ! -o docker0 -j ACCEPT
-A FORWARD -i docker0 -o docker0 -j ACCEPT
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
-A DOCKER-ISOLATION-STAGE-1 -j RETURN
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
-A DOCKER-ISOLATION-STAGE-2 -j RETURN
-A DOCKER-USER -j RETURN

The docker snap should've instead added rules to netfilter. The ufw, lxd and multipass snaps all detect when to use netfilter vs xtables. The docker snap should do the same.
Until this bug is fixed, Debian/Ubuntu users can workaround this by using the 'legacy' backend with:
$ sudo update-alternatives --config iptables
$ sudo update-alternatives --config ip6tables

This should probably be treated with some urgency since Ubuntu 22.04 is defaulting to the nft backend for iptables and any Ubuntu users that upgrade and use ufw and docker are likely going to hit this issue.

FYI, I just checked and if I instead install the docker deb as per https://docs.docker.com/engine/install/ubuntu/, it uses the nft backend:
$ sudo iptables-nft -S|grep DOCK
-N DOCKER
-N DOCKER-ISOLATION-STAGE-1
-N DOCKER-ISOLATION-STAGE-2
-N DOCKER-USER
-A FORWARD -j DOCKER-USER
-A FORWARD -j DOCKER-ISOLATION-STAGE-1
-A FORWARD -o docker0 -j DOCKER
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
-A DOCKER-ISOLATION-STAGE-1 -j RETURN
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
-A DOCKER-ISOLATION-STAGE-2 -j RETURN
-A DOCKER-USER -j RETURN

$ apt-cache policy docker-ce
docker-ce:
  Installed: 5:20.10.14~3-0~ubuntu-jammy
  Candidate: 5:20.10.14~3-0~ubuntu-jammy
  Version table:
 *** 5:20.10.14~3-0~ubuntu-jammy 500
        500 https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
        100 /var/lib/dpkg/status
     5:20.10.13~3-0~ubuntu-jammy 500
        500 https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages

Reading https://docs.docker.com/network/iptables/, I believe the docker deb will use iptables on the system and so follow the symlink. The docker-snap needs to do something different, perhaps something along the lines of what the ufw snap is doing (ie, ship iptables-1.8 that has both backends, run a detect-iptables script on startup as well as with install, post-refresh and connect-plug-firewall-control hooks that updates the symlinks in a $SNAP_DATA/bin for the binaries and ensures that PATH is updated to include $SNAP_DATA/bin before anything else). This should account for all scenarios for when docker is the only software manipulating the firewall, when other software has loaded rules already and reboots with a changed backend.

Reading https://docs.docker.com/network/iptables/, I believe the docker deb will use iptables on the system and so follow the symlink. The docker-snap needs to do something different, perhaps something along the lines of what the ufw snap is doing (ie, ship iptables-1.8 that has both backends, run a detect-iptables script on startup as well as with install, post-refresh and connect-plug-firewall-control hooks that updates the symlinks in a $SNAP_DATA/bin for the binaries and ensures that PATH is updated to include $SNAP_DATA/bin before anything else). This should account for all scenarios for when docker is the only software manipulating the firewall, when other software has loaded rules already and reboots with a changed backend.

Ahh, thank you for posting this - I've got a private thread with @mclemenceau @murraybd and @mwhudson where I suggested something very similar as the likely solution, so it's great to hear there's already prior art! :grinning:

This one is a little bit hairy -- Docker doesn't officially support nftables (yet!) because a lot of that old networking code was unfortunately designed around the way iptables works, but I have had a lot of success with recent versions of the "iptables-nft" translation tooling (in fact the system I'm typing on now is using it successfully).
One challenge for Docker in a containerized (or semi-containerized) environment is detecting which one it ought to be using, but from the wording in that issue it sounds like perhaps we'd be safe to just assume nftables all the time?  Do you think ensuring the iptables-nft tooling is installed and preferred inside the Snap would be sufficient?  I guess maybe we need to do something slightly more complicated in the Snap startup script to detect whether "x_tables" is a loaded kernel module (or something?) and update the alternatives appropriately?  (Or perhaps have our own "iptables" wrapper that chooses the correct implementation per-invocation - slightly less efficient but perhaps easier to implement correctly inside a Snap?)

https://git.launchpad.net/ufw/tree/snap-files/bin/detect-iptables is a lot more complex/involved than I expected it to be! :sweat_smile:
Do you think there's any chance/value in that living in a package somewhere so it could be shared wisdom instead of us just taking a copy of it?  I guess we could copy it via snapcraft.yml but it feels a bit weird to have ufw as one of our "parts" just to steal this script. :smile:

I wouldn't mind it living somewhere else. There isn't any thing particularly 'ufw' about it until at the end when it decides what to do when it determines if it should do legacy or not. It could help other snaps that plugs firewall-control too...

https://git.launchpad.net/ufw/tree/snap-files/bin/detect-iptables is a lot more complex/involved than I expected it to be! 😅

IIRC, this was based on what lxd did 😀

Team, this issue is being referenced in the https://discourse.ubuntu.com/t/jammy-jellyfish-release-notes/24668 which is the LTS version of Ubuntu 22. I saw no activity here, since Apr 13 and I must respectfully ask if Docker snap will use the nftables, or not (is there any work planned, or users should use xtables also in the future?).

That warning is a little bit misleading IMO: Docker itself is fine with nftables; it could be better, but my Debian Bullseye host is running Docker and it uses nftables well.

`nft list ruleset` output (using `grep` to hide the rules themselves, but this shows the general shape):
$ sudo nft list ruleset | grep -E '[{}]'
table ip nat {
	chain DOCKER {
	}
	chain POSTROUTING {
	}
	chain PREROUTING {
	}
	chain OUTPUT {
	}
	chain ts-postrouting {
	}
}
table ip filter {
	chain DOCKER {
	}
	chain DOCKER-ISOLATION-STAGE-1 {
	}
	chain DOCKER-ISOLATION-STAGE-2 {
	}
	chain FORWARD {
	}
	chain DOCKER-USER {
	}
	chain ts-input {
	}
	chain ts-forward {
	}
	chain INPUT {
	}
}
table ip6 filter {
	chain ts-input {
	}
	chain ts-forward {
	}
	chain INPUT {
	}
	chain FORWARD {
	}
}
table ip6 nat {
	chain ts-postrouting {
	}
	chain POSTROUTING {
	}
}

The issue is that Docker inside a Snap is essentially containers-inside-a-container, and it's very difficult to detect whether we should use iptables or nftables from within a container (on the host system, this is solved by symlinks and update-alternatives, but those aren't directly visible inside the Snap).
There are some heuristics in https://git.launchpad.net/ufw/tree/snap-files/bin/detect-iptables, but it feels really counter-productive for every Snap that needs to know which to use to have to implement this exact same code (especially if it might need to change over time, given it is essentially a heuristic).

https://git.launchpad.net/ufw/tree/snap-files/bin/detect-iptables is a lot more complex/involved than I expected it to be! sweat_smile

IIRC, this was based on what lxd did grinning

at the very least we could do stage-snap: -lxd or stage-snap: -ufw if we need to copy all that.

I just lost soild 4 days of my life chasing behind this. Was migrating to 22.04 LTS server and installed docker during the installation (snap). Networking on my container and even the firewall was not working as supposed to be. I believe I have the same issue, docker as snap xtables and firewall rules with ufw netfilter.
I am on a tight schedule because I am leaving Wednesday out of town and all my containers are migrated to the new server with snap and docker. If I now decide to deinstall snap docker and install the apt docker, will all my volumes,... be there again or do I have to bring them back from the backup? I won´t have enough time for the second.

Note to self https://github.com/moby/moby/issues/26824

Need to check that simply providing multi iptables symlinks to docker makes it use nftable just fine, or if it fails to setup appropriate chains.

1 is how my Debian host works, and is absolutely what I would recommend
2 is definitely not right and things like per-container port publishing and Docker networks in general will not function correctly

not sure if i need to do anything on old systems, that don't have nftables, or want to use xtables..... detection sounds weird.
Maybe they should only use core18/stable track docker, and latest/stable docker will be nftables only.

Solution:
latest/edge uses nftables exclusively (to be promoted to latest/stable soon), because this is the future
core18/stable uses xtables exclusively (and will not change), because that is the history.
If there is a desire to support xtables on modern distributions, please comment here with exact requirements / scenarios / userstories to see if we can implement detection or manual snap setting.

Hey, I am sorry, I was pretty busy before leaving on my business trip. I went ahead and uninstalled the snap and installed the apt version of docker. Had to flush all legacy rules but now it’s all working. Unfortunately i can’t test anymore for you guys.


ADD: golang 1.11 env for CI

Pull Request Test Coverage Report for Build 31

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

Totals

Change from base Build 28:
0.0%

Covered Lines:
395

Relevant Lines:
434

💛  - Coveralls


Fix merge conflicts from nf-core template v1.12 update

An attempt to fix merge conficts in #6 ; seems there is an issue with the Docker image version of smoothxg being out-of-sync with both the command used here and also with that in https://github.com/pangenome/pggb/blob/master/pggb.
See https://github.com/pangenome/pggb/issues/30

Also, it is hard to tell if CI is actually running the workflow
...
N E X T F L O W  ~  version 20.10.0
Launching `/home/runner/work/pangenome/pangenome/main.nf` [stoic_monod] - revision: a886153fcf
WARN: DSL 2 IS AN EXPERIMENTAL FEATURE UNDER DEVELOPMENT -- SYNTAX MAY CHANGE IN FUTURE RELEASE
----------------------------------------------------
                                        ,--./,-.
        ___     __   __   __   ___     /,-._.--~'
  |\ | |__  __ /  ` /  \ |__) |__         }  {
  | \| |       \__, \__/ |  \ |___     \`-._,-`-,
                                        `._,._,'
  nf-core/pangenome v1.0dev
----------------------------------------------------

[ec/17b293] Submitted process > edyeet (1)
[b9/9df2ed] Submitted process > seqwish (1)
[e3/3c3529] Submitted process > smoothxg (1)
[f0/9a514d] Submitted process > odgiBuild (1)
[ba/083e49] Submitted process > odgiChop (1)
[46/24b8c6] Submitted process > odgiViz (1)
[e1/08f70e] Submitted process > odgiLayout (1)
[97/5b2e3b] Submitted process > odgiDraw (1)
WARN: To render the execution DAG in the required format it is required to install Graphviz -- See http://www.graphviz.org for more info.

https://github.com/nf-core/pangenome/pull/7/checks?check_run_id=1439564849
From running this locally, I expect it to fail.

Ready for review.
This is working for me now locally with a new pull of the ghcr.io/pangenome/pggb:latest tag.  The failing check in nf-core lint can safely be ignored, see https://github.com/nf-core/tools/issues/791 and discussion on Slack.


APE metrics and method name

Hello,
First of all, thanks for releasing your code.
In your paper, in Figure 4, the APE metrics looks different from the Table 1 of Languag2Pose (https://arxiv.org/pdf/1907.01108.pdf). Is the evaluation script different, or are you using different train/test split?
And by the way, how should we name your method?
Thanks,

Hi, thanks for your interest in our work. I have used the pre-trained model provided in language2pose repo to evaluate the baseline metrics. However, they didn't provide the code for evaluation so it's unclear if it is something different from how we have calculated APE. I have used the same train/test split as language2pose.
You can refer to our work as Ghosh et al. since we haven't come up with a short name for the method. Hope these answers your questions.

I have another question about evaluation. In the paper, you say:

We randomly split the dataset in the ratio of 0.6, 0.2, and 0.2 for our training, validation, and test sets.

Are these the same splits as in Language2Pose?
In any case, where or how can I download the splits?
Thanks again

Yes, I have used the same splits as language2pose. You can do so by keeping the seed value unchanged. The splits are generated when you load the data. The code is in dataUtils.py.

Hello again,
When I generated the visuals with your code, I noticed that, for the test set, there are 520 videos. When I do the same process with language2pose, I obtain 587 videos. It seems that the 520 videos is a subset of the 587 videos. Do you know why some videos are missing?
Thanks for your help


Questionable block of code in collection persistence

Is this duplicate code or was this done on purpose? Looks like this can be compacted down to just blob_size += len * 2 + 4.
https://github.com/SpiderLabs/ModSecurity/blob/master/apache2/persist_dbm.c#L482
        len = var->name_len + 1;
        if (len >= 65536) len = 65536;
        blob_size += len + 2;

        len = var->value_len + 1;
        if (len >= 65536) len = 65536;
        blob_size += len + 2;

Indeed. I don't see a reason for that. It seems to be like that for a quite some time.
Check out the git blame:
https://github.com/SpiderLabs/ModSecurity/blame/master/apache2/persist_dbm.c#L482
Want to send a patch for it?

Tagging @csutherl who has done some testing with a patch

Heh, so those blocks are different. One is for var->name_len and other is for var->value_len. I think @csutherl is going to submit a code comment addition.

Closing out since this is not a real issue. Would appreciate if #1279 still got accepted just to clear up anyone else who might stumble over same code.


cf push fails to work with hwc-buildpack in PCF Dev

Here's the command I used to create the buildpack in PCF Dev:
PS > cf create-buildpack hwc_buildpack https://github.com/cloudfoundry/hwc-buildpack/releases/download/v2.3.8/hwc-buildpack-v2.3.8.zip 10 --enable
Creating buildpack hwc_buildpack...
OK

Uploading buildpack hwc_buildpack...
Done uploading
OK

When I try and push a .NET Framework 4.6.2 app from its PublishOutput folder, it fails:
PS > cf push devops-dotnetframework -b hwc_buildpack -s windows2012R2
Using stack windows2012R2...
FAILED
Stack windows2012R2 not found

I'm not sure what I'm doing wrong. The buildpack seems to have been imported just fine.

Do I need to somehow create the stack in PCF itself?
PS > cf stacks
Getting stacks in org pcfdev-org / space pcfdev-space as admin...
OK

name         description
cflinuxfs2   Cloud Foundry Linux-based filesystem

PCF Dev does not support Windows stacks as they require Windows VMs that require Microsoft licensing. You can push .NET Core apps using the provided .NET Core buildpack.
A full PCF installation supports Windows stacks via the Windows Runtime Tile.

Okay, I suspected that. Thanks for the quick reply. :)


Integrate ruby 3.1 into builds

This is a combination of 64 commits, the originals were mostly
repeating one-line messages so that history has not been kept here.
Same as  jm/ruby-revert-to-ruby31, history has been squashed
Signed-off-by: Marc Paradise<EMAIL_ADDRESS>Signed-off-by: John McCrae<EMAIL_ADDRESS>

Replaces #13037

Replaced by #13144


Fix StyleCop warnings on Microsoft.Bot.Builder.Dialogs project

I made several commits as some changes implied moving classes to different files just in case you want to check the changes before that move.
Also, I haven't fixed any of the warnings related to adding ConfigureAwait on async calls. I think those should be addressed in a different PR.
This will likely introduce some breaking changes per the renaming of Async methods. Samples will likely have to be updated one moved to a version containing this changes.

Looks great thanks for doing this!


RUMM-837 Provide a basic implementation for the DataProcessor

What does this PR do?
A brief description of the change being made with this pull request.
Motivation
What inspired you to submit this pull request?
Additional Notes
Anything else we should know when reviewing?
Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] Make sure you discussed the feature or bugfix with the maintaining team in an Issue
[ ] Make sure each commit and the PR mention the Issue number (cf the CONTRIBUTING doc)

Codecov Report

Merging #404 into feature/gdpr will increase coverage by 0.04%.
The diff coverage is 100.00%.

@@                Coverage Diff                 @@
##             feature/gdpr     #404      +/-   ##
==================================================
+ Coverage           91.06%   91.10%   +0.04%
- Complexity           1188     1204      +16
==================================================
  Files                 144      146       +2
  Lines                3971     3977       +6
  Branches              461      461
==================================================
+ Hits                 3616     3623       +7
+ Misses                210      206       -4
- Partials              145      148       +3

Impacted Files
Coverage Δ
Complexity Δ

...n/com/datadog/android/core/internal/CoreFeature.kt
94.90% <ø> (ø)
29.00 <0.00> (ø)

...m/datadog/android/core/internal/data/file/Batch.kt
100.00% <ø> (ø)
3.00 <0.00> (?)

...adog/android/core/internal/data/file/FileReader.kt
85.19% <ø> (ø)
13.00 <0.00> (ø)

...id/core/internal/data/upload/DataUploadRunnable.kt
100.00% <ø> (ø)
17.00 <0.00> (ø)

.../android/core/internal/data/upload/UploadWorker.kt
90.00% <ø> (ø)
8.00 <0.00> (ø)

...internal/domain/batching/DefaultMigratorFactory.kt
100.00% <ø> (ø)
4.00 <0.00> (?)

...rnal/domain/batching/migrators/MoveDataMigrator.kt
100.00% <ø> (ø)
3.00 <0.00> (?)

...rnal/domain/batching/migrators/WipeDataMigrator.kt
100.00% <ø> (ø)
1.00 <0.00> (?)

...d/core/internal/privacy/TrackingConsentProvider.kt
100.00% <ø> (ø)
7.00 <0.00> (?)

...oid/core/internal/data/file/ImmediateFileWriter.kt
89.47% <100.00%> (+0.28%)
11.00 <1.00> (+1.00)

... and 20 more


Removing leading and trailing quotes from result. Fix for issue #20.

False positives are possible (the quotes are actually in the source
string and not added by reading stdout), but I don't know how it could
be done more reliably and the error rate should be rather low.
A workaround for false positives could be to add extra quotes at the
beginning and at the end of the source string, e.g. ""This string will
be quoted with a single quote character"" or using single quotes (') instead
of double quotes (").

Any chance this will be accepted?

:+1:

This issue doesn't happen on my test envs (mac os, linux). Closing as can not reproduce.


Fix for issue #109. Helpers now available to request specs.

I'm not sure if this breaks something else, all I know is that it fixes the issue for me.

This fixed issues I was having loading helpers into request specs :+1: +1

@timcharper could you merge this please?

I'm concerned about this patch. I need to get the integration tests working again so I can validate the change. The code that is deleted there was written specifically to address another issue.

It kills any methods I have in app/helpers/application_helper.rb from being available in my tests' environment.

+1 for this patch.
When doing:  bundle exec rspec --drb spec
ApplicationHelper methods were not being loaded in controller specs that called "render_views."  Now apps/helpers/application_helper.rb methods are available.... (opposite effect of parndt's comment).
FYI:
spork (0.9.0)
rails (= 3.2.1)
ruby-1.9.2-p290
rspec (2.8.0)


giv: removed

Motivation for this change
Because of a build error dropped for 19.09 (#68361).
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] 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.

Notify maintainers
cc @

We're the only distro that has it packaged: https://repology.org/project/giv/versions

backport: [detached HEAD 5db2b9b6f2d] giv: removed
Author: danme<EMAIL_ADDRESS>Date: Fri Sep 13 17:52:15 2019 +0200
3 files changed, 58 deletions(-)
delete mode 100644 pkgs/applications/graphics/giv/build.patch
delete mode 100644 pkgs/applications/graphics/giv/default.nix


/Z7 documentation is confusing

[Enter feedback here]
/Z7 is a cl.exe switch and as such it is targeting compiler part of the process.  These (the front-end:c1.dll  and the back-end:c2.dll) translate the source into object file (.obj), which normally only exist in the intermediate output directory.
So in this context the “no pdb will be produced” is technically correct as all the debug information is contained in the .obj files.
.obj files can then be bundled into a static lib using lib.exe or link.exe /lib
BUT this is not the final form….
For this we now need to invoke the linker.  This consumes .obj files and static .lib files
The linker will take the executable code and data from the objs and combine them into a single executable.  It will not place any of the debug information into the final executable.  If the correct linker switches are invoked (/debug) the linker will take the debug information in the obj files and emit them to a pdb.
So really it should read: “These object files and lib files can be substantially larger”.
And “No separate PDB file is produced by the compiler, but may later be produced by the linker.”

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

ID: 429cc6e8-2120-8a0f-eadb-0bc926d5bb5c
Version Independent ID: d5a3132e-9f84-0cb3-446a-9703f65ba782
Content: /Z7, /Zi, /ZI (Debug Information Format)
Content Source: docs/build/reference/z7-zi-zi-debug-information-format.md
Product: visual-cpp
Technology: cpp-tools
GitHub Login: @corob-msft
Microsoft Alias: corob

@paddymcd-MSFT
Thanks for the report. A fix is in the works, and should be visible by sometime tomorrow.


Is the behavior of push-to-back and bring-to-front swapped?

Repro steps

Download, unzip, and open layering demo.box.zip
Run tell circle bring-to-front

Expected result: The circle is rendered on top of the square. The square is not visible.
Actual result: The circle is rendered behind the square. Both the circle and square are visible. Screenshot:

Missing reference documentation
push-to-back and bring-to-front aren't mentioned in Boxer Manual V2 so I'm inferring their expected behavior entirely from their names.

Yes, the behavior of these is weird and not totally documented.  It's sort of been on the todo list to reform for a bit, and maybe add a few other niceties.  I'll keep this ticket in hand for that work.

Fixed in cee88662ec63c6efdc74ae5ecd6e77482a505991 will be in v3.4.21

Verified on v3.4.21 and closing.


added neuroscope sorting metadata

@bendichter Pretty self-explanatory; built to be as redundant as possible with regard to the existence of optional fields in the matlab files, as well as the existence of the files themselves.

@CodyCBakerPhD The .mat files are not part of the neuroscope data standard. This one is part of the cellexplorer/buzcode standard. I'd like to keep things named "neuroscope" about purely data types that are in that standard. This seems like a useful interface, as it would allow us to be more interoperable with the cellexplorer software, but it needs to be named and organized accordingly.

@bendichter Fair point; I'll make a separate CellExplorerSortingInterface for that then.

Interface now organized according to format type.

TODO: Enhance metadata to fill in as much info as possible, including in non-'UnitProperties' fields, and allow the central deep_dict update to merge these into the central converters metadata.

@bendichter CellExplorerSorting is now merged on spikeextractors, so this should be ready for final review.
It is now filling in any non-UnitProperty metadata that happens to be in the same files being accessed by the interface.


[Automation] Generate Fluent Lite from Swagger mariadb#package-2020-01-01

[Automation] Generate Fluent Lite from Swagger mariadb#package-2020-01-01

/azp run java - mariadb - ci

API change check
APIView has identified API level changes in this PR and created following API reviews.
com.azure.resourcemanager:azure-resourcemanager-mariadb


Always crash on BHI260AP IRQ

In the commit: https://github.com/lewisxhe/SensorLib/commit/d6f515c86adadb3548f5d46ca97e6e29b98cdbaf an always crash was added by this line from SensorBHI260AP.hpp:
static void handleISR()
{
*(bool *)(__data_available) = true;
}
as the definition of __data_available is: volatile bool SensorBHI260AP::__data_available;
so a bool is cast to bool *  and than dereferenced.
Fix: change to  __data_available = true;

Thank you for reminding me that this change was only done for compilation testing and not for hardware testing.


Downgrade to Yarn 1

Because of the current issues described in #13, I'm going back to Yarn 1 for now.

Codecov Report

Merging #65 (1486751) into main (7afa910) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main       #65   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           29        29
  Lines          195       195
  Branches        40        40
=========================================
  Hits           195       195

Continue to review full report at Codecov.

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


Import Word files to BookStack Page

Describe the feature you'd like
I have many legacy Word documentation files containing text and images. I want to import these to generate new Pages. Tried copying & pasting from the Word file into new Pages but that is time consuming and error prone. A similar issue was raised in 2021 then closed .
Describe the benefits this would bring to existing BookStack users
Importing Word makes the difference in whether or not BookSmart is the right tool for documentation when historical documentation is in Word. Manual copy & paste of the Word file contents into a Word page is not a practical workaround.
Can the goal of this request already be achieved via other means?
There is a solution here but it would be much more convenient if it was directly built into BookStack.
Have you searched for an existing open/closed issue?

[X] I have searched for existing issues and none cover my fundemental request

How long have you been using BookStack?
Not using yet, just scoping
Additional context
No response

Thanks for the request, but from my point of view my feelings remain the same as per #3064 and I haven't really seen any other change in state/circumstance since that issue that would change the position on supporting such a feature.

I understand, thanks.

This issue did get me thinking about a non-official hack solution, based upon my API script you linked.
Here's a version that can be added to the "Custom HTML Head Content" customization setting:
<script<EMAIL_ADDRESS>defer></script>
<script type="module">
    function convertAndInsertDocx(editor, file) {
        const reader = new FileReader();
        reader.onload = async function(loadEvent) {
            const arrayBuffer = loadEvent.target.result;
            const {value: html, messages} = await window.mammoth.convertToHtml({arrayBuffer});
            if (messages.length > 0) {
                console.error(messages);
                window.$events.emit('warning', `${messages.length} warnings logged to browser console during conversion`);
            }
            editor.insertContent(html);
        }
        reader.readAsArrayBuffer(file);
    }

    window.addEventListener('editor-tinymce::setup', event => {
        const editor = event.detail.editor;
        editor.on('drop', event => {
            const files = event?.dataTransfer?.files || [];
            for (const file of files) {
                if (file.type === 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' && window.mammoth) {
                    convertAndInsertDocx(editor, file);
                }
            }
        });
    });
</script>

Once added, you could then drag and drop a .docx file into the WYSIWYG editor and it's contents will be inserted as HTML. Conversion is very rough, will get a dismissiable editor popup message regarding not supported file type, might break or have problems on future updates. Tested only on Firefox on my dev system/instance.
I'd be interested to know if that kinda works for you. I may add this to our hacks page.

Thanks! Hope to try this once I figure it out some basics.

I've now added this as a hack here: https://www.bookstackapp.com/hacks/wysiwyg-docx-import/
But since there's no further follow-up, and this is not something I'd look to add to the core project as touched upon above, I'll go ahead and close this off.

Hi, thank you very much for this hack. Can I ask how can I apply this hack to a bookstack instance? Also is it possible to apply it to the demo instance?


Add GHA workflow for aca-py integration tests

Workflow can run on PR (hyperledger repo) or manually.  Runs a specific sub-set of bdd tests since some tests cause test execution to "hang" under GHA:
./run_bdd - runs all the tests, can be run manually
./run_bdd -t @GHA - runs a sub-set of tests - should be sufficient to smoke test existing functionality
Workflow is setup to run its own indy ledger and tails server, but can be run with external ledger/tails server using environment settings.
"Actions" are re-factored the same way as they are setup under AATH.

Codecov Report

Merging #1046 (affc176) into main (46c2265) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1046   +/-   ##
=======================================
  Coverage   99.37%   99.37%
=======================================
  Files         374      374
  Lines       21603    21603
=======================================
  Hits        21467    21467
  Misses        136      136

Looks good, I think we may want to merge some open PRs first before rebasing this, in case the new tests trip them up

Looks good, I think we may want to merge some open PRs first before rebasing this, in case the new tests trip them up

There isn't any reason to wait to merge this PR.  If the GHA fails it won't (yet) block any of the PR's, and it would be good to get this merged so if the GHA does fail then it will be visible.


Feature/lua support

add lua support

To avoid merge conflict, you can merge my reqeusts one by one from old time to new time.


Pass --local-engine* from dev/bots/test.dart to pub test (only web)

This is bassically reapplying #71721, but only enables it on web tests.
There are known issues that several tests under the integration.shard
depend on a specific platform, and as a result they require some
additional flexibility or changes to those tests.
By enabling this on the web-test shard, we hope to reduce or eliminate the false positives in the dart-flutter-HHH-web bot.
Fixing the more general problem is tracked by #72368.

FYI - @annagrin @mkustermann

Linux validate_ci_config appears to be stuck, I'm landing this manually but FYI @CaseyHillers @keyonghan

LGTM, this was expected. We removed this test, so a recent rebase with upstream would have fixed it.


SMTP reception

Receive Emails with key attachments

https://github.com/go-gomail/gomail

https://github.com/mhale/smtpd


Error message not informative enough

Perhaps it would be better to display an example usage after saying "There are no parameters supplied!"

@lawwm FYI! If you're busy we can always assign this to someone else, but it should be a quick fix.


fix: buffer preparation in serializer

I'm going to add tests for using serializer with a http_proto::source instance. this should reproduce the issue.

The test changes seemed good on paper but I'm not sure I understand the problem this code is solving because I can comment things and tests will still pass for me locally so I think I need some clarification on what's going on here and how we're fixing it.


feat(fr): add anisama

Checklist:

[x] Have tested the modifications by compiling and running the extension through Android Studio
[x] Have removed web_hi_res_512.png when adding a new extension
[ ] oil bottle
[ ] toilet paper
[ ] 2 sponges
[ ] ravioli

damn, was absolutely sure you wouldn't allow that Triple atrocity


Allow positioning to PhysicsPolygon

Parameter position was always set to zero

Please resubmit with a new constructor. If you change the existing one, everyone who's using this code will have to adapt.

Accepted, thank you for your input.

Please guys, use the develop branch for PR and not the master, see CONTRIBUTING.

OMG, you just created a *Spaghetti monster". It just became very complicated to update the lib for the students and provide them with a new version. For instance, I was not able to compile the lib as a jar for the student despite my 10 minutes effort.... pfff... :sweat:


Allow leaving the endpoint order unmodified

Currently, the order of endpoints within a tag is always modified. I propose adding the option none to sort-endpoints-by to leave the order as is.

An endpoint can have multiple tags associated with it. In that case it will appear under more than one tag.
Have a look at this example https://mrin9.github.io/RapiDoc/examples/arrange-by-tags.html
In that case what should be the order ?
depending on how we deal with arranging end-points it can make things little complicated. If there is a reasonable approach i am willing to take a PR else I will be moving it to our backlog bucket

An endpoint can have multiple tags associated with it. In that case it will appear under more than one tag.
Have a look at this example https://mrin9.github.io/RapiDoc/examples/arrange-by-tags.html
In that case what should be the order ?
I will look into the PR you have submitted . Thanks for attempting  the fix

the PR looks good to me. Thankyou for taking care of this.


Document new annotations for QA

[ ] #[unique]
[ ] #[require_filters]
[ ] #[handle_thingtalk]
[ ] extended #[canonical]

Done (for the still relevant annotations) at https://wiki.almond.stanford.edu/genie/annotations


Fix issue template

The "front matter" of the template is broken because a line break is missing.
This PR restores the front matter and improves the formatting

This is what it looks like before this PR, the front matter is visible:


Add video to homepage hero

Hey @Newbie012 👋 Just a quick PR adding the video from your tweet (not working yet!)
https://user-images.githubusercontent.com/1935696/190372679-b02a1e43-ec6f-427d-ac0f-1586aa5e5c5a.mp4

Ah, I guess VitePress's default theme's home layout doesn't support HTML in there (see screenshot below): https://github.com/vuejs/vitepress/issues/1340
Hm, I'm not entirely sure what to do here. Happy to follow some suggestions!
Alternative: Switch out the large logo for a GIF instead... 🤔 VitePress would support this

@Newbie012 any opinion on this here?
In https://github.com/vuejs/vitepress/issues/1340 they say that they would like to support a video, but who knows when this feature will appear.
Maybe we could still add a video (screen recording) on the homepage in the meantime? I think it would show quickly and simply what SafeQL does. Even just using your original video from the tweet would be a great start!

I like the idea, although I think we should show a simpler and shorter videos with higher quality (the one in Twitter has a quite poor quality) that still emphasizes the power of this tool.
There's this tweet as well - https://twitter.com/CoEliya/status/1570051268294463490?s=20&t=zn3SAQUNODabhAgat7aN1A

Ok good, sounds fine to me.
Do you know VitePress well? (eg. creating a custom theme / layout based on the home layout)
Do you have a suggestion for how we can add a video to the homepage?

We have a few options:

Wait for vitepress for official support.
Copy and edit https://github.com/vuejs/vitepress/blob/main/src/client/theme-default/components/VPHero.vue and then use it instead.
Add the video to the bottom of the page.

Since I'm not in a hurry, then I wouldn't mind going with option one.
I think I have the original video with a higher quality.
I'll have to check.

Seems like VitePress supports this now!

https://github.com/vuejs/vitepress/pull/1528
https://github.com/vuejs/vitepress/issues/1062

Although I'm not super familiar with VitePress and extending slots - not sure exactly how to implement this. I've asked in https://github.com/vuejs/vitepress/issues/1340#issuecomment-1366698070

@Newbie012  Added a Layout.vue according to the recommendation by @brc-dd over here:

https://github.com/vuejs/vitepress/issues/1340#issuecomment-1463522111

Maybe ready for review now?

Oh, the deploy preview for that does not show the video, did I do something wrong?

I thought it would take place of the image on the right. Or maybe VitePress needs to be updated? 🤔

@karlhorky Update lock files too.

Ok, CI is passing now, not sure what needs to be done to trigger another deploy...

A recommendation: Split tagline (docs/index.md) to multiple lines (currently it's overlapping with the video):
  tagline: |
    An ESLint plugin for writing SQL queries
    in a type-safe way.

Looks like it's working, thanks!! Thanks for the help and improvements @brc-dd ! 🙌
https://user-images.githubusercontent.com/1935696/224289567-de011e5e-3f78-48af-b75f-47452ddef485.mp4

No worries, thanks for getting back to it!

Thanks everyone , it looks great 😃

Glad to help, thanks for the review and merge!


Test reorganisation (results part)

Here is a first step in tests reorganisation. I split all tests results in files (in test/results) and completely removed the use of MATIO_AT_HOST. You can find there are some small discrepancies between the output between the {4,5,7.3} versions. Most of them were removed with my previous patch, but some of them subsist. There are 3 types of discrepancies:

in 7.3 format logical are always int8 whereas in previous cases they can be of any type of int/uint, mat73.c has an explicit comment on this.
in dump, the order of variables differs with the format ? Is this normal ?
More strange: the difference between readvar-write_empty_struct-73-var4.out readvar-write_empty_struct-var4.out. This one looks like a genuine bug.

All such discrepancies can be seen with "ls -5 -73" and then compare those files with the ones with the -5 -73 removed.
A next step would be to remove the matlab test files (in test/matlab). I have some test failures when running the matlab tests. Is this normal ?
Then we can maybe generate the testsuite (.at) files from templates (I found some small discrepancies between the various {4,5,73} and {compressed,uncompressed}).
Anyway, this is already a huge improvement (in my view) and can be pulled independently, thus this pull request (a real one this time).

Thanks for your PR.
I'll check the issues you observed.
As for the MATLAB test files and M scripts. I have no MATLAB on Linux available which can run these tests. So, it would be nice if you are able to run them to open issues for them.
And yes moving them from the AT files to test/matlab is fine for me.

Please add all files of test/results to the distribution. Thanks

I do not understand your last comment. The files have been added....

No problem. I can do it.
I think I also found a fix for the EOL issue on Win.

Why is it AT_CLEANUP(expout) in mat73_read_le.at but AT_CLEANUP in mat73_read_be.at? Which one to use?

Files mat73_read_le.at and mat73_read_be.at miss AT_SKIP_IF([test $MAT73 -ne 1]) in line 578.

Well, as far as I understand AT_CLEANUP once had arguments and there were such calls. So I expected that AT_CLEANUP was clening the files in argument. It does not. So the proper call is just AT_CLEANUP. I intended to do that but forgot for some files. Consider it done with a next patch.

For the missing miss AT_SKIP_IF, I suspect they were already missing before. Unless I made a mistake, I did not touch anything with this respect.

I already extended your changes. I can do it for these two follow-on changes.

Your questions

in 7.3 format logical are always int8 whereas in previous cases they can be of any type of int/uint, mat73.c has an explicit comment on this.
A: Need to check.
in dump, the order of variables differs with the format ? Is this normal ?
A: No way to have it in same order with current MAT dataset files. Only renaming varx to var0x could help in proper sorting, but is not possible as long as little-endian MAT files cannot be regenerated.
More strange: the difference between readvar-write_empty_struct-73-var4.out readvar-write_empty_struct-var4.out. This one looks like a genuine bug.
A: Need to check.

Some tests are not yet reorganized. Are you doing it or did you left it for me?

I'm doing it.... But it's a little bit more difficult for me as matlab tests are so slow.... But progressing.... Note that some tests are currently blocking, I'll correct that.

Third issue is fixed by 16bb5e80ca47c76905276d560756db4c9858f18d.

Great !!!


add ability to use http proxy when making web requests

Summary

add ability to use a proxy server when making http requests
modifyHTTPProjectConfigManager and EventDispatcher to take in proxy config options

I am unable to use this library as all my web requests must be routed through a web proxy.
HTTParty proxy config documentation
Issues

Fixes #241

@thomaszurkan-optimizely sounds good! Happy to do the refactor.

Does it make sense to further entrench the httparty gem via this configuration? As I opened in #211 , I think it makes sense to eliminate the gem dependency entirely and just depend on Ruby Core/StdLib alone. (ie, net/http or open-uri) Both of the stdlib tools respect HTTP Proxy env vars out of the box and would require no configuration at all.

I'm 100% onboard with #211.
I don't think we'll entrench this gem that much further If we extract the proxy config settings to a separate config object that @thomaszurkan-optimizely mentioned above, couldn't that be used in whatever HTTP library we end up moving to?
I think respecting the HTTP Proxy env var is a good approach, but I also like having the option to explicitly config the proxy in application level code. What if we have multiple proxies that we'd like switch between?
@jasonkarns implementing #211 seems like a bigger chunk of work that I'm not sure I can lead, but  I'm happy to pitch in if there are some smaller pieces to be worked on or at least offer some code review.

I think respecting the HTTP Proxy env var is a good approach, but I also like having the option to explicitly config the proxy in application level code. What if we have multiple proxies that we'd like switch between?

Good call. The trick will be ensuring that we distinguish the options being unset (to allow env vars to affect), from them being intentionally set to nil (to ignore env vars and disable the proxy).

Hi @rloomba,
We removed httparty and created a HttpUtils class to wrap our http calls.  Can you refactor your proxy settings here and we can merge it?  Otherwise, we will do it sometime in the next few sprints.  Thanks!

@thomasgodwell-optimizely ah sorry for letting this drag on. Yes, happy to rebase master and make those changes sometime this week.

@thomasgodwell-optimizely tooka pass at this refactor, let me know if you have any feedback.

@msohailhussain  and @thomaszurkan-optimizely  Tested FSC Suite here https://github.com/optimizely/ruby-sdk/pull/261

Coverage increased (+0.003%) to 99.568% when pulling 0873952fada98eca0c79d57c8b05ad5130ca58d7 on rloomba:rloomba/add-proxy-config into 6ea2681b9cc11cfec29b64d9188751d0155167f2 on optimizely:master.

This was move to PR #263 so that we could run FSC tests.  @rloomba thank you!  I made sure to include your credit in the PR and will also make another note to include you when I merge it.  Thanks again!


Release 1.0.11

Pull Request Test Coverage Report for Build 558163765

0 of 0   changed or added relevant lines in 0 files are covered.
11 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.02%) to 86.677%

Files with Coverage Reduction
New Missed Lines
%

openapi_client_generator/common/http.py
11
69.84%

Totals

Change from base Build 557836026:
0.02%

Covered Lines:
579

Relevant Lines:
668

💛  - Coveralls


Error In Console solved

I was only having one syntax error, which I have solved
@championswimmer Check and merge.

Current coverage is 42.58% (diff: 100%)

Merging #709 into development will not change coverage

@@           development       #709   diff @@
=============================================
  Files                6          6
  Lines              688        688
  Methods             71         71
  Messages             0          0
  Branches           112        112
=============================================
  Hits               293        293
  Misses             395        395
  Partials             0          0

Powered by Codecov. Last update 3ab6790...28566f9


There are 3 vulnerable dependencies according to nsp

Hi, this package has three vulnerable dependencies according to nsp. Namely, mime, request and hawk which come from the packages<EMAIL_ADDRESS>Please check and update them.

Reported in the @google-cloud/storage package: https://github.com/googleapis/nodejs-storage/issues/134 . Please update this package when they fix the issue.

The package @google-cloud/storage has been updated with new dependencies! Can you please update yours to include the latest version of it?

Cutting too close to the release currently in progress. Will include in the following patch release.

@hiranya911 Great thnaks!


uncmin doesn't work

Seems like the most simple test possible... am I missing something?
numeric.uncmin(function(x){
  return x[0];
},[10])

f: 9.000000000037858
solution: 9.000000000037858
message: "Line search step size smaller than tol"

You're definitely right. Doing a vanilla pull of numeric and running the unit tests (under tools/build.sh) fails miserably in uncmin.
In particular, it seems that the helper function gradient(f, x) doesn't compute the correct gradient for constant x. Trying it out with my code on node.js (v8) as the engine I get:
> sq = function(x) {return x*x;}
[Function]
> numeric.uncmin(sq, [10])
{ solution: [ 2.3305801732931286e-11 ],
  f: 5.431603944147029e-22,
  gradient: [ 4.6611603465862566e-11 ],
  invHessian: [ [ 0.5000000000011653 ] ],
  iterations: 2,
  message: 'Newton step smaller than tol' }

which gets the right result. Trying it out on a simple linear function, screws up hilariously:
> cons = function(x) {return x;}
[Function]
> numeric.uncmin(cons, [10])
{ solution: [ 10 ],
  f: [ 10 ],
  gradient: [ 0 ],
  invHessian: [ [ 1 ] ],
  iterations: 0,
  message: 'Newton step smaller than tol' }

Note in particular that the hessian is zero, thus the inverse of the hessian is not defined. There should be an explicit check for this.
In terms of the unit test, it fails when you do test 179:
> f = function(x) {
    var ret = 0,
        i, ti, yi, exp = Math.exp;
    for (i = 1; i <= 13; ++i) {
        ti = 0.1 * i;
        yi = exp(-ti) - 5 * exp(-10 * ti) + 3 * exp(-4 * ti);
        ret += sqr(x[2] * exp(-ti * x[0]) - x[3] * exp(-ti * x[1]) + x[5] * exp(-ti * x[4]) - yi);
    }
    return ret;
}
[Function]
> f(numeric.uncmin(f,[1,2,1,1,1,1],1e-14).solution) < 1e-20
false

on the current head. I'm unsure as to why this is, but I feel it has to do with the computation of the current Hessian inverse.

In the two simple examples you gave I think you're supposed to reference x[0] instead of x inside those functions -- the function to minimized is passed an array, not a value. Maybe it is converting it by lucky chance to a number in that case.

You're right, my mistake. It evaluates to the same result on both cases, though, as
> cons = function(x) {return x[0];}
[Function]
> numeric.uncmin(cons, [10])
{ solution: [ 9.000000000037858 ],
  f: 9.000000000037858,
  gradient: [ 1.0000000000368852 ],
  invHessian: [ [ -13379220933.331156 ] ],
  iterations: 62,
  message: 'Line search step size smaller than tol' }
> sq = function(x) { return x[0]*x[0]; }
[Function]
> numeric.uncmin(sq, [10])
{ solution: [ 2.3305801732931286e-11 ],
  f: 5.431603944147029e-22,
  gradient: [ 4.6611603465862566e-11 ],
  invHessian: [ [ 0.5000000000011653 ] ],
  iterations: 2,
  message: 'Newton step smaller than tol' }

It still fails to correctly compute the inverse hessian (or check that it is completely ill-conditioned for invertibility). I fear this may be a result of the way the hessian is computed, but I'm unsure as it seems to be stuck on the line-search step for enough iterations that it exits there. In particular,
//[...] Some previous code defining things
if(typeof maxit === "undefined") maxit = 1000;
//[...] code that begins the newton-raphson method on the derivative

//Begin the line search
while(it < maxit) {
    if(t*nstep < tol) { break; }
    s = mul(step,t);
    x1 = add(x0,s);
    f1 = f(x1);
    if(f1-f0 >= 0.1*t*df0 || isNaN(f1)) {
        t *= 0.5;
        ++it;
        continue;
    }
    break;
}

This code begins in line 2782 of numeric.js from the repository.

What is the current state of this issue?

Afaik, I don’t think there’s been any pull request accepted for a few years… unsure if there’s also been any active branches from this project.

On Mar 29, 2017, at 12:09 PM, Carsten Schwede<EMAIL_ADDRESS>wrote:
What is the current state of this issue?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/sloisel/numeric/issues/69#issuecomment-290194353, or mute the thread https://github.com/notifications/unsubscribe-auth/ACZjr8rVdJvT3UXA_opOTxpgQh7vyEicks5rqqxkgaJpZM4GhSKy.


Template option "force" ignored

Hello everybody, first and foremost thanks for this library it's refreshing !
Bug report
Description
I ran into an issue where the parameter force in the template is being ignored.
Steps to reproduce :
Given this project tree :

With this simplified setup :
_templates/dotfile/nvm/new.ejs.t
---
to: .nvmrc
force: true
---

<%= node_version %>

package.json
{
  "name": "@roms1383/generators",
  "version": "0.0.1",
  "files": [
    "_templates/**",
    // ...
  ],
  // ...
  "scripts": {
    "test": "npx hygen dotfile nvm:new --node_version 12.19.0"
  }
}

p.s : my local repo is npm linked so I can run generators easily.

Expected result
The existing .nvmrc in the repo should be overriden without prompting the user.
Given result

TBH I haven't investigated further as this is a non-blocking issue for me at the moment, but I report in case.
Edit : I use hygen v6.0.4

I had the same issue on this.
My PR on https://github.com/jondot/hygen/pull/272


Rewrite the copy-to-clipboard functionality to use the Win32 functions

Windows Terminal version
1.18.10301.0
Windows build number
10.0.19045.3930
Other Software
No response
Steps to reproduce

Select output
[CTRL + C] or [right click] or [CTRL + Shift + P (command palette -> "Copy Text" option]
Neither [CTRL + V] pastes nor does [Win + V] have the selected and presumably copied text in the clipboard

Expected Behavior
Expecting copy from terminal into Windows Clipboard and paste into other programs to work as normal.
Actual Behavior
No text copied to clipboard. I can, at times, get it to continue functionality if I un-snap the Windows Terminal window from fullscreen view but this is only intermittently successful.
This happens whether my shell is ssh'ed to another machine or running locally.
Other programs continue to copy to clipboard and paste to other programs perfectly fine.

Maybe we need to rewrite the copy-to-clipboard functionality to use the Win32 functions as well. But 's fairly likely that your machine is having issues right now, like background applications trying to acquire the clipboard lock all the time, etc. May be worth trying to reboot / exiting all background applications, just in case.

Thanks for filing. Per Leonard's comment above, we'll repurpose this issue to track rewriting the clipboard code to use Win32 functions.

Same here on Terminal Windows Version: 1.19.10573.0 and Windows 11 23H2 OS Build 22631.3296.
The copy mechanism from the terminal randomly stops/starts working. It has been happening for a few weeks now.
I would appreciate any workaround (if any known). For now, it is only waiting until it randomly starts working once again.


Compatibility Select2 41

This PR brindgs compatibility to select 4.1 ans should fix #54.

superseeded by #56


Update custom-frontend.md

Updated the tutorial with more current details to allow an error-free compilation.
Thank you for your contribution to the IC Developer Portal.
Before submitting your Pull Request, please make sure that:

[x] You have updated the .github/CODEOWNERS file according to your changes.
[x] You have registered new documents to /sidebars.js if any.

Thank you very much for the suggestions! I went ahead and polished them a bit more, and am now waiting for the CLA bot to to allow me to merge (no action required from your side)


Always dump the current output/result

This fixes an issue that was introduced in #467. The original
functionality was to always dump the current output to .json-result,
that way it was easy to build & compare the output.
With the current implementation (from #467) we raise an exception if the
old results aren't available, but don't create the new results.  This is
an issue whenever creating a new test.
@danielkza can you verify that this doesn't break anything that you were trying to fix in #467?  I can't see how it would.

Codecov Report

Merging #528 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master     #528   +/-   ##
=======================================
  Coverage   88.72%   88.72%
=======================================
  Files          92       92
  Lines        5926     5926
=======================================
  Hits         5258     5258
  Misses        668      668

Impacted Files
Coverage Δ

stacker/blueprints/testutil.py
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

can you verify that this doesn't break anything that you were trying to fix in #467? I can't see how it would.

I can't see how it would either, and getting more information for debugging is always nice.

Thanks @danielkza !


Grammar refactor

When time allows, we can build off the following PR and improve the tokenization of the lexer and parser.
https://github.com/openfga/language/pull/22
Core problem stopping this is the character chosen to trigger a comment - it is very difficult to match with best practices in ANTLR4.
https://github.com/antlr/grammars-v4/blob/3ecefc5f8ed0a38ff4b68705bcfd521bcd59f8d3/python/python2-js/Python2.g4#L454

@rhamzeh  is this still a problem?
Check https://github.com/mindersec/minder/blob/main/internal/authz/model/minder.fga


Reword tooltip in forked-to links

"Open your fork to username/repo" -> "Open your fork at username/repo"
English is not my first language, but it seems to make more sense if the address is used as a location?
"Clicking this link will open your fork that can be found at https://github.com/username/repo"
Test
https://github.com/sindresorhus/refined-github

I think that's right! "to" would make sense if the action was "to fork to X" or if the verb was "to go to X", but "to visit to X" doesn't

😄


Fix missing "s" in url path to display examples

Description
The url path to display the examples in the repo was missing an "s". For example, the path "./example/pokeapi_functional/" would point to a 404 page because the actual path should have been "./examples/pokeapi_functional/".
Changes
I have updated the url path to display the examples to include the missing "s". This change has been tested and works as expected.

Great, thanks @acromondx 🙏🏼


[V2V] Renaming openstack_tls_ca_cert variable

In order to have a consistent wizard for oVirt and OpenStack conversion hosts, we ask for the provider endpoint TLS CA certificate for both. This means that the specific variable openstack_tls_ca_cert should be renamed to something more generic. We decided that it would be tls_ca_cert. This pull request renames the variable.


remove blank square in item recognition

Checklist:
Related work items:
Preview url: [TODO | N/A]

[ ] Tests have been added for new functionality
[ ] Work has been reviewed by other team members
[ ] Work has been reviewed by @craigayre or @eclennett

@HelloUniverseNo31415 This gives me an error and suggests "strokeLinecap" in Chrome.
Is this deliberately meant to be in "stroke-linecap" syntax?