Partition Equal Subset Sum | C++

Submission Title
Data Structure/Array
Submission Description
Partition Equal Subset Sum
Submission Directory
Folder(Algorithm/Data_Structures/Array...) => Sub_Folder(equal subset sum partition) => ... => .cpp
Contributors

[x]  C++
[ ]  C
[ ]  Python
[ ] Java
[ ] JavaScript
[ ] TypeScript
[ ] Golang
[ ] Ruby
[ ] php
[ ] Swift
[ ] C#

Hi! I can try this in Java?

thanks everyone :v:


Move Drupal related console commands to DrupalPackagist bundle

Example: Packagist\WebBundle\Command\DrupalOgCommitLogParserCommand => DrupalPackagist\Bundle\Command\DrupalOgCommitLogParserCommand
All custom commands:

packagist:drupal_org_parse_commitlog
packagist:drupal_org_module_index_parser
packagist:drupal_org_update (Maybe deprecated in favor of commitlog and module index?)

Done in https://github.com/drupal-composer/drupal-packagist/commit/3acd8926bde53aa1a4f9c52018fa6a648ec856ed


Enable nightly cache_test by using spark-version specific Cache Serializer

We removed the per-version serializer because we wanted to avoid keeping multiple copies of the Serializer but we have recently run into problems where the tests won't pass unless we have the version of Serializer for the Spark-version we are running with.
This PR adds back the ability for spark-tests to pick the right version of the Serializer.
fixes #3311

build

why are we doing this if we are just going to rip it out again?

why are we doing this if we are just going to rip it out again?

We don't know when we will be ripping it out again, so in the meantime, we should still have the cache tested I thought

@tgravescs do you have any other concerns?

Closed because once #3323 is in we will have a long-term fix


[Bug]: the about us page is not responsive

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
below 350px the about us page is not responsive
due to the image on the navbar i want to fix the image placement so that the page becomes responsive

Expected behavior
the placement of the image should be such that it do not hinder the responsive ness
Add ScreenShots

the footer items are also overflowing
On which device are you experiencing this bug?
No response
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC-EXT contributor
[X] I'm a HACKTOBERFEST contributor
[X] I have starred the repository

can you assign this to me I will work on it

can you assign this to me I will work on it
please raise other issue this one is already assigned

U can assign it to @uzefaqureshi06 I will not work on this

can you assign this to me I will work on it

@uzefaqureshi06 go ahead, also resolve horizontal scroll issue


Support for Desktop apps using electron or NW.js

Can we have support to build electron or NW.js desktop application in the este react boiler plate?
Also, if you could explain the approach to us in this issue, may be one of us can build it and send you a pull request.
Here are 2 github project which does that at a small scale

https://github.com/benoitvallon/react-native-nw-react-calculator
https://github.com/gfogle/multi-platform-react

Feel free to send a pull request.


Add a way to get a typed AST

I understand that TypeScript is not intented to be compiled to eg. asm.js or C/C++, but the ability to export a language like Flow or TypeScript to typed AST in some way or another would allow another team of developers to use that as a basis for "TypeScript to C/C++", "TypeScript to asm.js" or "TypeScript to whatever" conversions, as suggested in this issue for Flow.
The short term benefit would obviously be small, but the large term benefit would be quite significant, as it would basically provide a pluggable interface that allows (subsets of?) TypeScript to be converted to any language that is sufficiently compatible. In theory, it would allow TypeScript - when combined with third party plug-ins" - to be used as some kind of "convert to anything" kind of language, which is what many people are trying to use JavaScript for but for which JavaScript (due to the lack of static typing) happens to be less suitable than TypeScript or Flow. And this, with - I imagine - little effort from the TypeScript core devs, as exporting the typed AST that is used internally would be all they would have to do to make this possible.
Is there any chance you might consider exporting the typed AST?

You can access the AST, including all the types, via the language services, and you can then in theory emit whatever you wanted.

@kitsonk
Now, that's interesting. Can you think of any online source that to recommend on accessing the AST through the language services?
As far as I can tell, the official docs are very limited...

This has the best official examples, but yes, the documentation is not overly strong.  Taking a look at vscode's integration can be helpful as well as tslint has integration to the language services as well.

@kitsonk
Thanks!

Automatically closing this issue for housekeeping purposes. The issue labels indicate that it is unactionable at the moment or has already been addressed.


[LOGIN] Scroll bars

You can scroll up and down

Is issue in TFConnect authenticator
Since this is just a minor issue I would ignore this for now.


Log less

FYI: @baldersheim I think you have been using these log messages from time to time.

Why only the providers and resources, and not AbstractComponents?

These are the ones I see way too many of but yes, I'll change that one as well.

@baldersheim you ok with this?

Ok


A convenience API to create and add cookies.

A convenience API to create and add cookies.
Description
The new public enum CookieAttribute is created with cases that represent the attributes of a cookie. The addCookie function takes an array of  type CookieAttribute and returns either an HTTPCookie object or nil, depending on whether foundation HTTPCookie initializer passes or fails. Each attribute in the array is added into the dictionary cookieProperties with appropriate keys. The attributes having nil values are not added. This cookieProperties dictionary is then passed to the HTTPCookie initializer. If this initializer returns a new  HTTPcookie object, with the given properties, the HTTPCookie object is added to the cookies dictionary which contains set of cookies to return with the response. If the initializer fails then a warning is logged. Resolves #1456
Motivation and Context
Currently, the user has to write a lot of boilerplate code for cookie creation. This pull request tries to cookie creation and its addition to the response easier for the user.
Checklist:

[x] If applicable, I have updated the documentation accordingly.
[x] If applicable, I have added tests to cover my changes.

@djones6, @kilnerm
Can you please review this change?
This PR is the solution for cookie creation enhancement request: https://github.com/IBM-Swift/Kitura/issues/1456. With this new API if user doesn't give mandatory attributes name, value, domain and path, Foundation's HTTPCookie initializer fails. To avoid this problem I have implemented an alternative solution, where mandatory attributes are function parameters.
You can check the alternate solution here : https://github.com/RudraniW/Kitura/commit/1dd52f3ea06375c8e8ecb3f56629098a31ea09c0

@kilnerm I have addressed your review comments.

I have added support for custom cookie attributes. But these custom cookie attributes are not honored by Foundation on both Linux and Darwin.
I have implemented addCookie with mandatory cookie attributes name, value, domain and path as function parameters so that HTTPCookie initializer never fails.
I considered implementing CookieAttribute enum in open enum style but it is making code too much complex because different cases have different associated types. Also it is unlikely that Foundation will add new cookie attributes to HTTPCookiePropertyKey.

@RudraniW Here's my suggestion hacked on top of your PR: https://github.com/djones6/Kitura/commit/61651da4bbcb5095438d92b3414d829ca1e00dcb
(you're welcome to use my commit if you like, or use it as the basis for your own changes)
@kilnerm @pushkarnk what do you think about this approach instead?

@djones6 Sure, we can have an open CookieAttribute enum as you've demonstrated. Rudrani and I discussed using static functions for associated values but we weren't clear about how we'll do the deconstruction/parsing.
However, I'm a little uncomfortable about not having the mandatory cookie attributes included in the CookieAttributes. Given that it does not include all the cookie attributes, what would we call it?

I think it's going to cause surprise / confusion for somebody, if you include name/path/etc in the set (but then tell people not to use them).
Personally I'd think it's still fine to call it CookieAttributes, but I suppose it could be called OptionalCookieAttributes?

@djones6 Thanks for the feedback. I have addressed your review comments.

I have implemented CookieAttribute enum in open enum style.
I have removed the mandatory attributes name, value, path and domain from the enum.

The code is failing the swift linter:
/Users/travis/build/IBM-Swift/Kitura/Sources/Kitura/RouterResponse.swift:184:18: error: Type Name Violation: Type name should only contain alphanumeric characters: '_CookieAttribute' (type_name)

Not sure if we want to squash this linter error or rename? @ianpartridge what's your opinion?

I'd vote for removing this linter rule. It's common practice to have internal type names starting with _.

Turn off the linter error - a _ prefix is a Swift-ism.

I see that the struct was moved to be a top-level CookieAttribute type, and its internal enum renamed to OptionalCookieAttribute.  I guess this gets around the linter problem, but I'd argue the names should be the other way around:  OptionalCookieAttribute is more descriptive, so should be the public type name.  I'd still prefer the internal enum be named the same (with _ prefix), as I think the intent is clearer.
If the new type is going to be a top-level type, I'd prefer it to be defined in its own source file (ie. OptionalCookieAttribute.swift).
@RudraniW To disable the linter rule, add type_name to the disabled rules in .swiftlint.yml

@djones6 Thanks for the feedback.
I have addressed your review comments. I have made following changes

Created new swift file with name OptionalCookieAttribute.swift which contains  public struct renamed as OptionalCookieAttribute and enum _CookieAttribute.
Disabled the linter rule for type_name.


PostgreSQL query fails with no binary input function available for type semver

As discussed in #1269 sqlx always sends it's query in binary mode.
The semver type however doesn't have binary input/output function. This make interacting with this extension quite cumbersome.
Link to extension: https://github.com/theory/pg-semver

I think we might be able to work this in to the Type derive, maybe something like:
#[derive(sqlx::Type)]
#[sqlx(transparent, type_name = "semver", pg_format = "text")]
pub struct Semver(pub semver::Version);

So specifying #[sqlx(pg_format = "text")] would tell the derived Encode impl to use Display and the derived Decode impl to use FromStr for the wrapped type, and then tell Postgres that we want to send/receive the type in text format. That would even let you use String as the inner type if you didn't really care otherwise.
On the output side, when we resolve a PgType::DeclareWithName() to PgType::CustomType(), we can also check if the type has a typsend of 0 (which means there's no function to generate the wire encoding) and store that as a flag like text_only. And then when we create a portal with the Bind message, we set the format to be text for any column with a text_only type.

Have there been any developments on this issue? I would love a way to use the semver extension with sqlx.


Receive message handler

I saw in your code already have message handler, can you make webhook url post every incoming message and message status?

agreed, this feature is available in this version v3.6.0


Update README.md

Made a table that shows all the problems which are present in this repository.
Closes: #20

hey there are some issue in merging your pull request

hey, @saty-a resolved the conflicts.

hey, @saty-a resolved the conflicts.
it shows you added only two spaces nothing else it would be good if you just add that summary table for every problem with links from your previous commits. If you have time then do it, please.

Give a star if you like this repo!!


Remove duplication from ci-build and release_droid_prepare_original_checksum.yml workflows

Both the ci-build and the release_droid_prepare_original_checksum.yml GitHub Action workflows build the project and run all integration tests. That's a duplication in the configuration for the build.
Especially for projects with a more complicated CI setup like https://github.com/exasol/exasol-test-setup-abstraction-java/ thats a problem.
Idea:
Build the checksum in each CI build and grab it from there.

Something seems to be strange here. I just ran the release of https://github.com/exasol/exasol-test-setup-abstraction-java/ and it did not user the release_droid_prepare_original_checksum.yml workflow.

@jakobbraun can you please show the logs of the run when the workflow wasn't used?

@AnastasiiaSergienko sure. It just happened again with the release of project-keeper:
2021-09-15T08:39:07.715961

Goal: RELEASE
Repository: exasol/project-keeper-maven-plugin
Platforms: MAVEN, GITHUB

Validation is successful!

Validation succeeded. [MAVEN,GITHUB] Version format is correct.
Validation succeeded. [MAVEN,GITHUB] A new tag.
Validation succeeded. [MAVEN,GITHUB] 'changelog.md' file.
Validation succeeded. [MAVEN,GITHUB] 'changes_1.2.0.md' file.
Validation succeeded. [MAVEN,GITHUB] Release body in 'changes_1.2.0.md' file.
Validation succeeded. [MAVEN,GITHUB] Workflows for checksum generation exist.
Validation succeeded. [MAVEN,GITHUB] 'version' in the pom file exists.
Validation succeeded. [MAVEN,GITHUB] 'artifactId' in the pom file exists.
Validation succeeded. [MAVEN,GITHUB] Maven plugin 'project-keeper-maven-plugin'.
Validation succeeded. [MAVEN] Workflow for a Maven release.
Validation succeeded. [MAVEN] Project description presents in pom.xml file.
Validation succeeded. [MAVEN] Project URL presents in pom.xml file.
Validation succeeded. [GITHUB] Release letter header.
Validation succeeded. [GITHUB] Mentioned GitHub tickets.
Release is successful!

Release succeeded. [MAVEN,GITHUB] Release finished.

Thanks, I'll investigate it.

wouldn't the simplest way be to replace mvn verify with mvn package in these checksum workflows?

The argumentation for having it there was: Building the jar could lead to a corrupted jar. The integration tests would detect this since they usually test the built jar.

don't you do that in the CI workflow already?

yes. But for the release we build a new jar. It could be different. That's why we capture the checksum then and verify that for example the release on maven build creates the same checksum again.

After some discussion, TBD'd further when more people are in. I'll create a meeting request.

The main focus of this ticket is the refactoring of the CI steps to speed these up. Hence the refactoring instead of the bug tag (which seems resolved)


Add grid filter to scene browse

Overview
This adds a click interaction to the scene grid cells. When the user clicks an unselected grid cell, it is selected asthe active bbox filter. If the user holds ctrl, multiple grid cells can be selected.
Checklist

[x] Swagger specification updated, if necessary

Demo

Notes
We are beginning to have many use-cases for drawing polygons on the map. It may be time to start changing their color from the default leaflet blue into more meaningful colors depending on the context.
Testing Instructions

Go the to scene browse page
Click a scene grid cell and see that the scene list is updated
Hold ctrl and click another cell, see that both cells are now selected and that the scene list is refetched. Repeat a few times.
While still holding ctrl, click an already selected cell, see that it is deselected while maintaining the other selections and that the scene list is update
Release ctrl and see that clicking one of any selected cells now deselects all cells and that the scene list is updated
Try some combinations of this while zooming in and out and see that interactions are intuitive

Connects #872

Maybe not a problem for this PR to solve, but how should selecting grid squares be reflected in $state? They're filtering scenes on bounding boxes, but bbox in $state refers to the displayed map area. Do we want users to be able to return to a particular set of selected grid boxes, or is it on them to add scenes to a project and work with that in the future?

@notthatbreezy and I had discussed this but were unsure as to how this should be handled. The problem with persisting the selected filter bboxes in $state would be the potential length of the parameter.

Oops, I tried to use github's resolve conflicts and it didn't quite work so we'll probably have to toss that last commit and redo it manually. Sorry @alkamin!


Generate requirements.txt (and maybe venv)

Probably better to get a real requirements.txt generated instead of just guessing.
Also might be a good idea to include a venv with all required dependencies for good measure.

Closed by #41


Support nested sidebar items in the docs

Preview: https://deploy-preview-1011--roadie.netlify.app/docs/
Demo loom:
https://www.loom.com/share/08cda352e2244ecf834742c17eca634a

https://app.shortcut.com/larder/story/14799


Joehellmers/local ibm fix

This pull request removes references to the local-ibm simulator replacing them with qpp or aer as appropriate.

Thanks, this looks great!


vdirsyncer: 0.9.3 -> 0.10.0

Things done

[x] Tested using sandboxing (nix-build --option build-use-chroot true or nix.useChroot on NixOS)
Built on platform(s)

[x] NixOS
[ ] OS X
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

lxml is not needed anymore. I added myself to the maintainers. I didn't
check why pypi is providing this complicated URL now.
/cc @jgeerds @matthiasbeyer

@DamienCassou see http://thread.gmane.org/gmane.linux.distributions.nixos/20158
The url scheme has changed. All new uploads will follow this scheme.
I'm writing a script now to autogenerate a file with urls and hashes from PyPI, see #14927


Test suite is brittle around global sysconfig._config_vars state.

        Mainly needed on Unix, so we can plug in the information that
        varies across Unices and is stored in Python's Makefile.
        """
        if compiler.compiler_type == "unix":
            if sys.platform == "darwin":
                # Perform first-time customization of compiler-related
                # config vars on OS X now that we know we need a compiler.
                # This is primarily to support Pythons from binary
                # installers.  The kind and paths to build tools on
                # the user system may vary significantly from the system
                # that Python itself was built on.  Also the user OS
                # version and build tools may not support the same set
                # of CPU architectures for universal builds.
                global _config_vars
                # Use get_config_var() to ensure _config_vars is initialized.
                if not get_config_var('CUSTOMIZED_OSX_COMPILER'):
                    import _osx_support

                    _osx_support.customize_compiler(_config_vars)
>                   _config_vars['CUSTOMIZED_OSX_COMPILER'] = 'True'
E                   TypeError: 'NoneType' object does not support item assignment

distutils/sysconfig.py:291: TypeError
============================================================ short test summary info =============================================================
FAILED distutils/tests/test_unixccompiler.py::TestUnixCCompiler::test_cc_overrides_ldshared_for_cxx_correctly - TypeError: 'NoneType' object does not support item assignment
======================================================= 1 failed, 477 deselected in 0.16s ========================================================
py311: exit 1 (0.30 seconds) /Users/jaraco/code/pypa/distutils> pytest -p no:cov -k test_cc_overrides_ldshared_for_cxx_correctly pid=70507
.pkg-cpython311: _exit> python '/Users/jaraco/Library/Application Support/pipx/venvs/tox/lib/python3.12/site-packages/pyproject_api/_backend.py' True setuptools.build_meta
  py311: FAIL code 1 (0.86=setup[0.56]+cmd[0.30] seconds)
  evaluation failed :( (0.90 seconds)

Probably we should figure out why that test is reliant on other tests and fix that too.
Originally posted by @jaraco in https://github.com/pypa/distutils/issues/228#issuecomment-1974252710
The issue seems to be surfaced by this change, where the fallback value is now '', which allows the darwin-specific behavior to be reached:
https://github.com/pypa/distutils/blob/e651e536ef1fbafbe48856815602127df0371835/distutils/sysconfig.py#L285-L291
That code attempts to mutate a global variable, which, if it wasn't initialized by another test, will lead to the error.
I believe the proposed diff is safer and more correct. We'll want to fix that undesirable entanglement.
Originally posted by @jaraco in https://github.com/pypa/distutils/issues/228#issuecomment-1974818863

Here's another case where the problem could have been encountered except that the test ensures that the global variable is initialized.


Fix release date for 0.5.2

zest.releaser full-release will automatically update the release date for you.

@graingert Think you could walk me through doing a release?  I took over on this project a few months ago and have never worked with zest.releaser.

@jkaldon here's a doc for https://github.com/sqlalchemy-redshift/sqlalchemy-redshift/blob/master/README.rst#releasing

@jkaldon any chance of a release?

Yup - just released the currently pending changes.  Thanks for the link to the README.

@jkaldon the fullrelease command should have created some commits and tags for you to push. Did you forget to push them?
If you answer default to all prompts it should do it for you.


Name suggestions

VFIO-enabler is just a placeholder name.
I am looking for suggestions for proper name for the project.
Some ideas that have been suggested are

QuickVFIO
QuickPasstrhough

QuickPassthrough maybe ... :-)

QuickPassthrough maybe ... :-)

a lot of people i asked in my sphere liked QuickPassthrough the most so i decided to change the project name to QuickPassthrough, name is still not set in stone but at least we have the link just in case.


Effects module descriptions

In the modules page, the effects=high and effects=ultra have the same description, but in config the only differente is that effects_ultra has cl_ejectbrass enabled, while effects=high doesn't have.

I think the description should be updated.

Fixed in https://github.com/mastercoms/mastercomfig/commit/1248a9be9ef481d1ba101886b4c7fcb82d0f8984


body.gameObject is null in 'collisionstart' event handler when using TexturePacker and PhysicsEditor

Version

Phaser Version: Phaser v3.11 (WebGL | Web Audio)

Operating system: Windows 10 Pro (64-bit) Version 1803

Browser: Chrome 68.0.3440.106 (Official Build)(64-bit)

Description

After the ship hits the ball, open the console and see "Uncaught TypeError: Cannot read property 'setTint' of null"
game.js:43
Single Stepping through with Chrome Developers tools, you can see the bodyA.gameObject is null.
The setTint call works (and gameObject is valid) when I load the two images directly like this.load.image('ship', 'images/ship.png');
Do I need to modify this code in some way so I can use TexturePacker and PhysicsEditor?
Do you know if Phaser or Matter.js is responsible for defining the gameObject? I am still learning how everything fits together with body and gameObject.
Example Test Code

Link to my site for testing...
http://www.robertsgames.com/phaser3test/
Additional Information

phaser3test.zip

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@rscott442, I was deep in this issue not too long ago so figured I'd chime in. This is actually the expected behavior with compound bodies, which are matter bodies that are actually composed of multiple, separate bodies linked together. When it comes to matter collisions with compound bodies (looks like both your ship and ball are both compound bodies), it's only the root/top-level body that has the gameObject property you are looking for. In your case, you can get to the root body from bodyA via bodyA.parent, but a more general function that gets the root of deeply nested bodies would be:
function getRootBody(body) {
  while (body.parent !== body) body = body.parent;
  return body;
}

So you could do:
this.matter.world.on('collisionstart', function (event, bodyA, bodyB) {
  const rootBodyA = getRootBody(bodyA);
  const rootBodyB = getRootBody(bodyB);
  rootBodyA.gameObject.setTint(0xff0000);
  rootBodyB.gameObject.setTint(0x00ff00);
});

You can see that kind of approach in context in this demo from Phaser Labs. Note: I wouldn't rely the bodyA & bodyB parameters in the event handler like in your sample code - I would loop over event.pairs. There may be multiple colliding bodies on a given tick of the physics engine, and bodyA/bodyB will only be the first colliding pair from the tick.
If you get deeper into trying to detect matter collisions between game objects, then you might find this phaser-matter-collision-plugin useful. It wraps up things to make detecting collisions between game objects a bit easier.

@mikewesthad - Thanks Mike! I will start trying your suggestions.


Request: Dev mode to also use file:// protocol

In electron-vite-react the developer mode serves index.html from a web server on localhost, but the build serves that file using the file:// protocol. Can this be changed such that development mode also uses a file?
The reason I'm requesting this is that http: and file: have a different permission structure in browsers, so things that work fine in development mode could break in production, and this is a breeding ground for bugs.
For example, cookies work on localhost but not on the file: protocol. Conversely, loading images from disk (with the file: protocol) and showing them works if you load them from a page served over the file: protocol but are prevented from being shown due to cross-origin security on localhost.
Making sure the development and production environments of your app are served over the same protocol means there is a smaller  chance for bugs related to that difference.

The easiest way, you can put the built Renderer file on a remove serve. If you don't wath that, you need to start a server locally.

I want it the other way around: Both development and production using the file protocol instead of a web server. This would be a good improvement to the boilerplate.

Seems like a good idea, but would lose some great features like HRM.

You could serve the HTML as a file but HMR the JS? (Not sure if that's possible with Vite because the html is the entry-point, but it's the architecture I currently use with webpack)

To provide for the use of Electron-Renderer HTML static after buildding, will lose Vite brings many bendfits. May do more harm than good, or it's not suitable for use Vite.


Bump PlutoUI.jl version and improve consistency

After upgrading to Julia1.10.0 the TableOfContents and Interactive elements of PlutoUI where broken.
It appears that PlutoUI used in the notebooks does not automatically update. I've manually edited the Project.toml in all notebooks and reran all notebook to make sure they still work. I've improved some consistency in the mean time
Closes: #146, #145

Just one review is required adding you both as an FYI


Adding myself to the CONTRIBUTORS.csv

Current behavior

Proposed changes
I am adding myself to the contributors list.

Checks

[x] All commits in this Pull Request are signed and Verified by Github.
[x] All commits in this Pull Request follow the Ockam commit message convention.
[x] There are no Merge commits in this Pull Request. Ockam repo maintains a linear commit history. We merge Pull Requests by rebasing them onto the develop branch. Rebasing to the latest develop branch and force pushing to your Pull Request branch is okay.
[x] I have read and accept the Ockam Community Code of Conduct.
[x] I have read and accepted the Ockam Contributor License Agreement by adding my Git/Github details in a row at the end of the CONTRIBUTORS.csv file in a separate pull request to the build-trust/ockam repository. The easiest way to do this is to edit the CONTRIBUTORS.csv file in the github web UI and create a separate Pull Request, this will mark the commit as verified.

@THEFZNKHAN We'll merge this shortly.
Thank you for accepting the CLA and taking time to contribute!!
Welcome to the Ockam Community 🥳
If you have questions, as you explore, join us on the contributors discord channel https://discord.gg/bewvnm6zqS


some suggestion

I've been using it for a while and have some experience suggestions

The operation button is too big, please make it smaller. It would be better to have a little transparency in disabled state
The image used for the button is from Github, but sometimes the connection is not smooth, so it cannot be loaded

Thanks for developing this plugin

Thank you for your feedback.

I would rethink the design of it.

It has users from all over the world and I don't have a CDN server. I've tried Base64, but it's clunky. I'll reevaluate that. Thank you.


ANC Logic - Diagnosis and Next Steps: Uterine Rupture - Obstructed Labor - Placental Abruption - Post-Abortion Sepsis [6h]

Issue
When a patient meets the criteria for Uterine Rupture, Obstructed Labor, Placental Abruption it will trigger the pop-up and immediately go to referral. The patient will not finish the encounter as this is an emergency situation.

Pop-Up
Referral

Supporting Documents

The logic for ANC can be found here on the ANC - Nurse tab.
The designs can be found in Figma under HC - ANC under the purple logic heading.

Note:

In the case that the design in the issue varies from what is in Figma, ping Jeanette on slack and use the Figma design.

To Do:

Create next steps activities
Diagnosis Logic
Create necessary pop-ups and the logic to display them
Style per Design

QA Analysis
Works as designed

Warning shows in a pregnancy after 28 weeks with severe abdominal pain.


Android display density

I've noticed in the demo that while NGraphics.ICanvas appears to work with resolution independent "pixels" on iOS, the Android equivalent works with real pixels.
I haven't yet looked to see what NGraphics offers in this regard, but was wondering whether you think it's something that NControl could/should handle, or if you'd rather leave it up to the control implementations?
p.s. NControl is quite great. Thanks.

Thanks for your feedback - I need to investigate this a little further.

It's also worth noting that, while drawing on Android is performed using real pixels, touch events are translated to dp. This does not happen on WP (I can't test iOS at the moment), which makes it difficult to handle touch input appropriately.

https://github.com/chrfalch/NControl/blob/master/NControl/NControl.Droid/NControlViewRenderer.cs#L103
Why are you converting to DP if NGraphics (on Android) works with pixels?

Why are you converting to dp if NGraphics (on Android) works with pixels?

Exactly what I was talking about. Touch events should always use the same coordinate space as draw methods.

Created a PR: #26

Merged.


pa.errors.SchemaErrors.failure_cases only returns the first 10 failure_cases

Describe the bug
pa.errors.SchemaErrors.failure_cases only returns the first 10 failure_cases

[x] I have checked that this issue has not already been reported.
[x] I have confirmed this bug exists on the latest version of pandera. 0.6.5
[ ] (optional) I have confirmed this bug exists on the master branch of pandera.

Note: Please read this guide detailing how to provide the necessary information for us to reproduce your bug.
Code Sample, a copy-pastable example
import pandas as pd
import pandera as pa

df = pd.DataFrame({'n': range(20)})
schema = pa.DataFrameSchema({
    "n": pa.Column(pa.Int, pa.Check.greater_than(30))
})
try:
    schema.validate(df, lazy=True)
except pa.errors.SchemaErrors as err:
    print(err.failure_cases)

Expected behavior
err.failure_cases should be 20 lines long
Usage
Using pandera for data validation at the start of data processing. When errors appear I want the clean data to be able to continue the pipeline, while corrupted data is removed from the dataframe and indexes stored somewhere so I can fix the issue and plan a recovery pipeline run later.
Was trying the following code when I discovered the issue. (I've got MultiIndexes)
import pandas as pd
import pandera as pa

df = pd.DataFrame({'n': range(20), 'a': range(20), 'b': range(20)}).set_index(['a', 'b'])
schema = pa.DataFrameSchema({
   "n": pa.Column(pa.Int, pa.Check.greater_than(30))
})

try:
   schema.validate(df, lazy=True)
except pa.errors.SchemaErrors as err:
   f = err.failure_cases  # dataframe of schema errors
   d = err.data  # invalid dataframe
   df_failures = pd.DataFrame(err.failure_cases['index'].apply(literal_eval).values.tolist(), columns=err.data.index.names)
   print(df_failures)

df_failures could contain the indexes that I need to remove the corrupted data from the dataframe and store to prepare the recovery run, but it only has the first 10.

Update: looked a bit deeper into the code of pandera, turns out it's the variable pandera.constants.N_FAILURE_CASES that decides this behaviour. Setting the value to None made all the indexes show up as expected.
However, I think this constant should be configurable (turn this issue into an improvement maybe) and it's behaviour should be made explicit in the doc https://pandera.readthedocs.io/en/stable/lazy_validation.html.
I'm also noting there's a def Field(*, n_failure_cases: int = 10) that does not rely on the constant.

hi @jgirault-qs thanks for pointing this out! there are two things here to improve the experience:

add documentation to document the behavior of n_failure_cases
set the default for n_failure_cases to None.

Let me know if you're interested in making a contribution to any one (or both 😃 ) of these items!

I would love to pick this up

cool, thanks @Patil2099! Head over the the contributing guide to see how to set up your dev environment

Hey @Patil2099 just checking in: are you still able to tackle this issue?

Hi @cosmicBboy, I wanted to pick this up and looked through the code base and I think this is already done. Can we close this issue?


audit: disable launch non-unruggable coins

As reported in the audit by
@ermvrs - [L-01]
The factory could be used to launch tokens not created by the factory. If the token has the correct entrypoints, the call would not revert.
Mitigation:
Add a check to ensure the memecoin is an unruggable one.

LGTM 🚀

@ermvrs can you actually approve pls :)


Added function to build the runnable representation.

Stack:

#6687 ⬅
#6686
#6685

⚠ Part of a stack created by spr. Do not merge manually using the UI - doing so may have unexpected results.

This change is


Listen to podcasts via Stream (not download) does not work

Describe the bug
I'm logged in podfetch with my extra Account for gpodder (user role), but can not stream podcasts (podcast ist not downloaded) --> I click on the play-Button and have the bottom overview of the episode but nothing happens (I hear nothing).

As you can see from the screenshot that there is als a "test" remark in every episode (on the bottom) -> maybe this is a indication for the problem.
This problem happens also for the "normal" (not gpodder-User).
I imported the podcasts in the "normal" (not gpodder-User) and these podcasts are also listed in the gpodder-User.
(Synchronisation of open/finished episodes works with AntennaPod Sync with the gpodder-User).
docker compose attached:
docker compose.txt
Device:
Docker in Synology NAS (DSM)
Reproduction

Create podfetch docker 2. create gpodder user with "/app/podfetch users add" 3. Login  in the normal user and add podcasts 4. Try to listen to these podcasts with the gpodder user

System Info
NA

Used Package Manager
n/a
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guide.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A, please open a GitHub Discussion instead.
[X] The provided reproduction is a minimal reproducible of the bug.

Can you please go to profile, generate an API key and then try again?

Thank you very much. This solved the problem


Build Fedora 40 anaconda-iso failed on aarch64

Build Fedora 40 aarch64 anaconda-iso on aarch64 server with command
sudo podman run --rm -it --privileged --pull=newer --tls-verify=false --security-opt label=type:unconfined_t -v /var/ARTIFACTS/work-anaconda-isozv2m_v9i/tmt/plans/bib-image/anaconda-iso/discover/default-0/tests/output:/output -v /var/lib/containers/storage:/var/lib/containers/storage quay.io/centos-bootc/bootc-image-builder:latest --type anaconda-iso --tls-verify=false --target-arch aarch64 --chown 0:0 --rootfs xfs <IP_ADDRESS>:5000/bootc-workflow-test:55nk.

The building failed at org.osbuild.copy stage.
Do not have this issue on Fedora 40 x86_64 anaconda-iso building.
Do not have this issue on CS9 and RHEL 9 anaconda iso.

org.osbuild.copy: 21de03a7fecdd9cde2fb0fefb5285360fcba6e337a1a9d96c4f5316c5b75f400 {
  "paths": [
    {
      "from": "input://tree/",
      "to": "mount://device/"
    }
  ]
}
device/device (org.osbuild.loopback): loop0 acquired (locked: False)
mount/device (org.osbuild.ext4): mounting /dev/loop0 -> /store/tmp/buildroot-tmp-qrdohjkr/mounts/
copying '/run/osbuild/inputs/tree/.' -> '/run/osbuild/mounts/.'
mount/device (org.osbuild.ext4): sync: error syncing '/store/tmp/buildroot-tmp-qrdohjkr/mounts/': Input/output error
mount/device (org.osbuild.ext4): Traceback (most recent call last):
mount/device (org.osbuild.ext4):   File "/usr/lib/osbuild/mounts/org.osbuild.ext4", line 63, in <module>
mount/device (org.osbuild.ext4):     main()
mount/device (org.osbuild.ext4):   File "/usr/lib/osbuild/mounts/org.osbuild.ext4", line 59, in main
mount/device (org.osbuild.ext4):     service.main()
mount/device (org.osbuild.ext4):   File "/usr/lib/python3.12/site-packages/osbuild/host.py", line 252, in main
mount/device (org.osbuild.ext4):     self.stop()
mount/device (org.osbuild.ext4):   File "/usr/lib/python3.12/site-packages/osbuild/mounts.py", line 127, in stop
mount/device (org.osbuild.ext4):     self.umount()
mount/device (org.osbuild.ext4):   File "/usr/lib/python3.12/site-packages/osbuild/mounts.py", line 215, in umount
mount/device (org.osbuild.ext4):     self.sync()
mount/device (org.osbuild.ext4):   File "/usr/lib/python3.12/site-packages/osbuild/mounts.py", line 223, in sync
mount/device (org.osbuild.ext4):     subprocess.run(["sync", "-f", self.mountpoint],
mount/device (org.osbuild.ext4):   File "/usr/lib64/python3.12/subprocess.py", line 571, in run
mount/device (org.osbuild.ext4):     raise CalledProcessError(retcode, process.args,
mount/device (org.osbuild.ext4): subprocess.CalledProcessError: Command '['sync', '-f', '/store/tmp/buildroot-tmp-qrdohjkr/mounts/']' returned non-zero exit status 1.
device/device (org.osbuild.loopback): Traceback (most recent call last):
device/device (org.osbuild.loopback):   File "/usr/lib/osbuild/devices/org.osbuild.loopback", line 178, in <module>
device/device (org.osbuild.loopback):     main()
device/device (org.osbuild.loopback):   File "/usr/lib/osbuild/devices/org.osbuild.loopback", line 174, in main
device/device (org.osbuild.loopback):     service.main()
device/device (org.osbuild.loopback):   File "/usr/lib/python3.12/site-packages/osbuild/host.py", line 252, in main
device/device (org.osbuild.loopback):     self.stop()
device/device (org.osbuild.loopback):   File "/usr/lib/python3.12/site-packages/osbuild/devices.py", line 124, in stop
device/device (org.osbuild.loopback):     self.close()
device/device (org.osbuild.loopback):   File "/usr/lib/osbuild/devices/org.osbuild.loopback", line 159, in close
device/device (org.osbuild.loopback):     self.lo.clear_fd_wait(self.fd, 30)
device/device (org.osbuild.loopback):   File "/usr/lib/python3.12/site-packages/osbuild/loop.py", line 265, in clear_fd_wait
device/device (org.osbuild.loopback):     raise TimeoutError("waiting for loop device timed out")
device/device (org.osbuild.loopback): TimeoutError: waiting for loop device timed out
Traceback (most recent call last):
  File "/usr/bin/osbuild", line 33, in <module>
    sys.exit(load_entry_point('osbuild==124', 'console_scripts', 'osbuild')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/osbuild/main_cli.py", line 181, in osbuild_cli
    r = manifest.build(
        ^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/osbuild/pipeline.py", line 477, in build
    res = pl.run(store, monitor, libdir, debug_break, stage_timeout)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/osbuild/pipeline.py", line 376, in run
    results = self.build_stages(store,
              ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/osbuild/pipeline.py", line 348, in build_stages
    r = stage.run(tree,
        ^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/osbuild/pipeline.py", line 146, in run
    with contextlib.ExitStack() as cm:
  File "/usr/lib64/python3.12/contextlib.py", line 610, in __exit__
    raise exc_details[1]
  File "/usr/lib64/python3.12/contextlib.py", line 595, in __exit__
    if cb(*exc_details):
       ^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.12/tempfile.py", line 946, in __exit__
    self.cleanup()
  File "/usr/lib64/python3.12/tempfile.py", line 950, in cleanup
    self._rmtree(self.name, ignore_errors=self._ignore_cleanup_errors)
  File "/usr/lib64/python3.12/tempfile.py", line 930, in _rmtree
    _shutil.rmtree(name, onexc=onexc)
  File "/usr/lib64/python3.12/shutil.py", line 759, in rmtree
    _rmtree_safe_fd(stack, onexc)
  File "/usr/lib64/python3.12/shutil.py", line 703, in _rmtree_safe_fd
    onexc(func, path, err)
  File "/usr/lib64/python3.12/shutil.py", line 700, in _rmtree_safe_fd
    onexc(os.unlink, fullname, err)
  File "/usr/lib64/python3.12/shutil.py", line 698, in _rmtree_safe_fd
    os.unlink(entry.name, dir_fd=topfd)
OSError: [Errno 30] Read-only file system: '/store/tmp/buildroot-tmp-qrdohjkr/mounts'
2024/08/03 11:05:43 error: cannot run osbuild: running osbuild failed: exit status 1

Look like it can successfully build out iso for fedora-40 on aarch64 with below command(without --target-arch aarch64 option):
sudo podman run --rm -it --privileged --pull=newer --security-opt label=type:unconfined_t -v /var/lib/libvirt/images/output:/output -v /var/lib/libvirt/images/config.json:/config.json   -v /var/lib/libvirt/images/auth.json:/run/containers/0/auth.json  quay.io/centos-bootc/bootc-image-builder:latest  --type anaconda-iso --tls-verify=true  --config /config.json  quay.io/fedora/fedora-bootc:40  --chown 107:107  --rootfs ext4 '

....

2024-08-14 03:58:05,519 process          L0470 DEBUG| [stdout] bootiso-tree:	fc0fb59fcc21d531d3e81bfe4df620c0f784d7f3e13521362917054597041b28
2024-08-14 03:58:05,519 process          L0470 DEBUG| [stdout] bootiso:  	92da29a858a96726301387982499ac230358cedd37d7f60c45bb0cbbbeccb95d
2024-08-14 03:58:07,511 process          L0470 DEBUG| [stdout] Build complete!
2024-08-14 03:58:07,511 process          L0470 DEBUG| [stdout] Results saved in
2024-08-14 03:58:07,511 process          L0470 DEBUG| [stdout]

In my case, the Fedora 42 has the same issue.
Fedora 42: https://artifacts.osci.redhat.com/testing-farm/9eb5647e-cc61-4fd3-8c82-d3d5a8ab6842/


Provide all for tuf.ngclient module

Description of the changes being introduced by the pull request:
Document public API for tuf.ngclient module.

It looks like the public API is not documented in the whole python-tuf project. Would community be interested in providing __all__ to explicitly document exported API?

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.0009%) to 98.195%

Totals

Change from base Build<PHONE_NUMBER>:
0.0009%

Covered Lines:
1350

Relevant Lines:
1366

💛  - Coveralls

Superseded by #2234.

Reopening based on discussion in https://github.com/theupdateframework/python-tuf/issues/2235#issuecomment-1357332357


fix(input[type=email]) validate email array created by ng-list

Fix validation of mails addresses in an array generated by ng-list.

Bot, I'm the whole author of the commit.

Hi @christopher-ramirez thanks for your PR. However, we cannot merge this right now as we want to tackle the problem differently in the future (1.5ish). The disadvantage of your solution is that you'd need to build the array condition into every validator that should support multiple text inputs. We hope to handle this better in the future, without this overhead. But thanks for contributing!


Update env.json

JIRA link (if applicable)
Change description
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[ ] No

Closing as cos is closed


Add automatic reloader for development

This is just a nice quality of life thing when developing.
Implements #7.
:eyeglasses: @dellis23 @bsimpson63

🐟

🐟  This'll make development a lot nicer!

Merged as a1a53a516c70b0cd7c1b438bc957ae00f1587840.


Update icon badge on Notification

Summary
When receiving a notification while you are on a thread, the app badge icon was not being updated to match the amount of mentions across all servers while the app was in the background.
A very easy way to reproduce:

Set the notifications to trigger while offline, away or online
switch to channel A and then go to the Thread screen
Have another user send a notification on channel A while you are in the Thread screen

Note: if channel A is a DM, no need to mention the user.
Important: It seems that the server has some code to not send the notification if the user has been active for a period of time https://github.com/mattermost/mattermost-server/blob/master/app/notification_push.go#L548 that appears to be 20 seconds not sure why this is there, perhaps someone from server platform should look into that as the PR that introduced it is quite old and I'm not sure if that is needed, but maybe I'm missing something.
Ticket Link
https://mattermost.atlassian.net/browse/MM-45682
https://mattermost.atlassian.net/browse/MM-47830
NONE

Regarding your Important comment, have you reached to the server platform already?
If I am not mistaken, the last time I looked at it, the idea i got is not to receive notifications while you are using Mattermost, specially if you are with two different clients open at the same time. 0/5 of whether that still makes sense, or whether that is the best option.

No, I haven't talked to the server team, maybe is working as expected and is doing what you pointed out, just that while testing it I can move the the home screen and not get the notification (although the channel is marked as unread with a mention badge)


bin/get for getting provider data on the cli

This adds a command line utility for getting the data from a provider/collection as CSV. By default it will print CSV to stdout, which you can redirect or also use --output to send to a file.
$ bin/get penn penn_egyptian > data.csv

This commit touches a lot of files for two reasons:

I wanted users to be able to run it with bin/get without having to modify PYTHONPATH. All imports that were previously depending on PYTHONPATH being set to dlme_airflow now include dlme_airflow in the import.
I needed to register intake drivers separate from airflow. So I extracted register_drivers() to the dlme_airflow.drivers module.

This functionality is almost present in the intake CLI, but it doesn't output CSV (just a string representation of the DataFrame). If this PR gets merged I think we can probably get rid of ours?
Closes #205

I'm getting the same

Oh you need the poetry environment set up:
poetry shell
bin/get ...

or:
poetry run bin/get ...

does that help?

I flipped this to Draft while I work on a --limit option. Should be pretty easy to add! 🤞


Chinese language support in GBNG

Originally captured in SAK-31263:
there is no i18n file for chinese in gradebookng

Added.


Implement Get-PlasterTemplate

Opening this first for discussion and then to start doing the work :)  Please take a look and give feedback on anything here (naming, paramset design, object design, etc).
Right now we only have the Invoke-Plaster and Test-PlasterManifest cmdlets but it makes sense to also have a Get-PlasterTemplate cmdlet which can gather information about a single template, available templates in a folder path, or templates included with PowerShell modules the user has installed on their machine.  The goal here would be to provide some way for the user to choose which template they'd like to use in a call to Invoke-Plaster, either on the command line or in the user interface of an editor like Visual Studio Code.
Cmdlet Design
I am imagining three paramsets for this cmdlet:
Get-PlasterTemplate
This paramset will return an array containing the templates that are included with the Plaster module.
Get-PlasterTemplate -IncludeModules [-Whitelist <string[]>]
This paramset will search the user/machine's installed modules to find any that contain Plaster templates.  Any templates found will be included in the results along with the built-in templates.  If an array of strings is passed to the -Whitelist parameter, only templates from any module named in that array will have its templates returned.
Get-PlasterTemplate -TemplatePath  [-Recurse]
This paramset will provide details about the Plaster template(s) at the given path.  If the path points directly to a plasterManifest.xml file or a folder containing that file, the information for that module will be returned.  If the path does not contain a plasterManifest.xml file then an error will be reported.
If the -Recurse parameter is added, the cmdlet will recursively search the given path to locate any folder that contains a plasterManifest.xml and return an array containing any templates that were found.
NOTE: The Test-PlasterManifest cmdlet basically provides this functionality already but it returns the template metadata as a XML object rather than our own domain object.  We could either leave Test-PlasterManifest as it is and then wrap it with Get-PlasterTemplate or even change the behavior of Test-PlasterManifest to return a domain object instead.  Generally it seems to make sense to have a Get-PlasterTemplate cmdlet that can be pointed at as specific path, though.  Thoughts?
Template Metadata Object
The paramsets of this cmdlet will return objects which contain metadata for the template(s) found.  As mentioned before, Test-PlasterManifest currently returns this information as an XML object.  I'd like to create a type based on PSCustomObject (not classes since I'd prefer to also support PSv3 and PSv4) which contains the information form the manifest XML in its own type.  This type will be expected by the Invoke-Plaster cmdlet.
Usage
The user (or editor integration) will call the form of Get-PlasterTemplate which gives them the list of templates (or specific template details) that they are looking for.  Once the user has a template metadata object, they can pass it into a new paramset of Invoke-Plaster which contains the -Template <PlasterTemplate> parameter.
New default Invoke-Plaster behavior?
This may also allow us to provide a default paramset for Invoke-Plaster which can prompt the user about which template they'd like to use based on the ones they have installed on their machine.  Yeoman has this capability; it gives you a list of templates you can choose from if you don't specify one when you invoke the command.
Template Module Resolution
I won't go into details about how we'll resolve template modules yet because I'm working on a different proposal to address this more generally for all PowerShell modules.  I'll post a link to that proposal once it's ready :)

Hi David,
This paramset will provide details about the Plaster template(s) at the given path
May be Find-PlasterTemplate and Get-PlasterTemplate with : Find-PlasterTemplate -Path -Gallery (PSGallery/MyGet/UNC_Share...)
I'd like to create a type based on PSCustomObject (not classes since I'd prefer to also support PSv3 and PSv4) which contains the information form the manifest XML in its own type
May be this is inappropriate, Plaster provide a XSD, it is possible to create a C# class via Xsd.exe and manipulate one instance. PS v3,v4 and v5 use the same dotnet framework (4.0)
$plaster|fl
# metadata      : PlasterSchema.plasterManifestMetadata
# parameters    : {ModuleName, ModuleDesc, Version, FullName, Email, Options, Editor, License}
# content       : {PlasterSchema.plasterManifestMessage, , PlasterSchema.plasterManifestFile,....}
# schemaVersion : 0.3

$plaster.parameters|fl
# choice         :
# name           : ModuleName
# type           : text
# prompt         : Enter the name of the module
# default        :
# store          : text
# storeSpecified : False
$plaster.content|fl
# condition :
# nonewline : False
# Value     :
#             Scaffold a PowerShell Module with the files required to run Pester tests, build with PSake and publish to
#             the PSGallery.
#
#
# destination   : ${PLASTER_PARAM_ModuleName}.psd1
# author        : $PLASTER_PARAM_FullName
# companyName   :
# description   : $PLASTER_PARAM_ModuleDesc
# moduleVersion : $PLASTER_PARAM_Version
# rootModule    : ${PLASTER_PARAM_ModuleName}.psm1
# condition     :
# encoding      : UTF8NoBOM   #!!! Changed by XSD.exe
#
# source      : Module.psm1
# destination : ${PLASTER_PARAM_ModuleName}.psm1
# condition   :

$plaster.content[1].GetType().fullname
#PlasterSchema.plasterManifestNewModuleManifest

$Asm=Get-Assemblies|? location -match 'PlasterSchema'
$Asm.ExportedTypes.Fullname
# PlasterSchema.choice
# PlasterSchema.parameter
# PlasterSchema.ParameterType
# PlasterSchema.StoreFormatType
# PlasterSchema.original
# PlasterSchema.substitute
# PlasterSchema.plasterManifest
# PlasterSchema.plasterManifestMetadata
# PlasterSchema.plasterManifestFile
# PlasterSchema.plasterManifestMessage
# PlasterSchema.plasterManifestModify
# PlasterSchema.plasterManifestModifyReplace
# PlasterSchema.encoding
# PlasterSchema.plasterManifestNewModuleManifest
# PlasterSchema.plasterManifestTemplateFile
```

Hey Laurent, thanks for the feedback!

May be Find-PlasterTemplate and Get-PlasterTemplate

Hmm, I hadn't thought about Find-PlasterTemplate, that'd be really nice for finding available templates on the PowerShell Gallery.  I agree, it'd be nice if you could specify which Gallery repository you wanted to use for that.
For Get-PlasterTemplate, I think I'd only pull templates that are already installed on the local machine.

it is possible to create a C# class via Xsd.exe and manipulate one instance

It's certainly possible but the object I have in mind would only have a subset of what is available in the manifest.  It's a good idea though, I'll keep that in mind.

The Test-PlasterManifest cmdlet basically provides this functionality already but it returns the template metadata as a XML object rather than our own domain object.

I went back and forth on this a bit and settled on returning the XML document instead of True/False to eliminate having to read the XML document multiple times.  This command "could" return a domain object like PlasterTemplateInfo but at this point, that would be a big change.  First, we'd have to create this domain object and second, all of the script in Invoke-Plaster parties on the XML directly.
How Inovke-Plaster works internally is an implementation detail that we could certainly change at any point.  However what Test-PlasterManifest returns probably shouldn't change over time.  Or maybe we add a new parameterset to have the command return a domain object object like PlasterTemplateInfo instead of XML if a new parameter is specified.
If you'd really like to get the domain object in there for v1, I could modify Invoke-Plaster to use Test-PlasterManifest just for validation and then load the XML document separately.  I'm not sure I'll have time to convert Test-PlasterManifest though in the next couple of weeks. I really want to focus on getting the templates up-to-snuff.

This paramset will return an array containing the templates that are included with the Plaster module.

The manifest file includes a comma separated tags metadata element e.g.:
<tags>Module, ModuleManifest, Build, Publish</tags>

I would hope that a Get-PlasterTemplate command would have a -Tag parameter where I could specify one or more tags to match on.
The manifest also has these elements that might be useful for displaying:
<title>New Module Project</title>
<!-- For display by UI's in hover help -->
<description>Plaster template for creating the files for a PowerShell module.</description>
<version>0.2.0</version>

Yep, the more I looked at Test-PlasterManifest, I felt that it should continue to return the XML document.  In my current prototype, Get-PlasterTemplate uses that XML object to return a simple domain object.
I definitely agree that makes sense to not parse the XML again when Invoke-Plaster is called.  Maybe on the domain object we can have a Manifest property which contains the XML document?  The idea for having a domain object is to just simplify the presentation of the template details for the purpose of listing out modules, etc.
Yeah, tag-based searching with the Get-PlasterTemplate cmdlet would also be helpful, I'll add that!
Right now I'm thinking that domain object could contain:

Title
Description
Version
Tags
Manifest

Any thing else?

Maybe on the domain object we can have a Manifest property which contains the XML document?

I was thinking the same thing but didn't want to say it.  Feels a bit like a leaky abstraction but it would probably be OK in this case.  If we ever switched to another file format, that property could remain and be empty or null.

Any thing else?

You might not want to display it but the id field will contain a unique id for each template.  Where this is of use is when you have different versions of the same template (where "same" is determined by the id field).  In this case, we would probably only want to show the latest version of multiple templates that have the same id.
I haven't spent as much time thinking about this aspect of Plaster as I probably should have but there is this issue of identifying templates.  At the moment id works as a good way to uniquely identify templates (like the guid in a PowerShell module).  Title and description were meant for UI purposes only (no need to disallow invalid path chars).
What we are perhaps lacking now is a name.   I was originally thinking we would have one template per pkg where the pkg name is the name.  But now we are talking about putting multiple templates in a PowerShell module.  So what do we use for a template name.  The main place I'm using this now is for the default value store ($home/appdata/local/plaster):
$templateId = $manifest.plasterManifest.metadata.id
$templateVersion = $manifest.plasterManifest.metadata.version
$templateBaseName = [System.IO.Path]::GetFileNameWithoutExtension($TemplatePath)
$storeFilename = "$templateBaseName-$templateVersion-$templateId"
$defaultValueStorePath = Join-Path $ParameterDefaultValueStoreRootPath $storeFilename

The $templateBaseName is the directory name and I use that for a template name.  This gives a default value store filename of:
NewModuleTemplate-38bd80d9-0.2.0-3a47-4916-9220-bed383d90876.clixml

Not sure that's the best approach. It's certainly not obvious the folder is being used for this purpose.  And template "name" is more natural for something like finding templates.  Maybe I want to look for a template named "NewDscResource" in which I case I may find multiple hits (that's OK), if I can see the description.  And I guess I'd like to see author information which is currently not in the schema.  Hmm, that seems like a gap.  I propose adding an <author> element to the metadata.  Should it be required?  Perhaps we should add a <name> element as well to provide a "human friendly" term to search for a template on?

OK I'm adding <author></author> to the manifest metadata.  Even though the contain PowerShell module has an author field, I can see someone packages templates from multiple authors into a single PowerShell module.

Agreed on the leaky abstraction, I had started to ask whether there's a way we could hide the manifest property in the domain model object but then decided that maybe it's not worth it.  I think just having it excluded from the formatting output would be enough to de-emphasize it while still allowing it to be there in case a user wanted to check the manifest contents.
Yeah, Author is a great field to have.  Since you mentioned inheriting fields from the module which shipped the template, that actually makes sense as a way to build a unique template name.  The manifest file could have a name field which defines the individual template's name, but when the template is resolved from within a module we could use the module name as a namespace, i.e. Plaster.NewModule or PSScriptAnalyzer.NewRule.  For any template that's not contained in a module, the author could do their own namespacing in the name field if it mattered.

Random thought, I wonder if there should also be an optional parameter to specify the desired language for templates in case a template has a localized version?  Right now I'm just scanning folders for plasterManifest.xml but it might make sense to look for specific language variants of the template as well.

The manifest file could have a name ...

Agreed.  I'm going to add name to the schema as required and to the New-PlasterManifest command.  Title will be optional and if the title is missing (or empty) we will drop back to the name field for a short, display name to use in a user interface (like in VSCode).

I wonder if there should also be an optional parameter to specify the desired language

The current implementation has the plasterManifest.xml file act at the culture fallback.  If there are no culture-specific manifest file names that match up to $PSCulture, then plasterManifest.xml is used.  However, that fallback file doesn't have to be en-US.  Unfortunately, there is no metadata for the culture of a plasterManifest.xml file.  So we are left guessing about the culture of the default manifest file.
We could add lang/culture as a metadata element. But if we do that, it might be weird having that info in metadata and in the filename.  I guess we could use subdirs like fr-FR and de and then the manifest filename would always be plasterManifest.xml with fr-FR\plasterManifest.xml and de\plasterManifest.xml.

Maybe Title should be mandatory?  I think the Name value itself may indicate what the template does but the Title gives a better experience.  Also, only the Title can be localized.
Ahhh, if Invoke-Plaster figures out the filename of the manifest variant for the current culture, that's good enough for me!  Probably not worth it to have lang/culture as a metadata element, the file naming convention is good enough for now.

OK name is required in the manifest and title is now required as well.  Just submitted a PR for it.

Awesome, thanks!
I'll be getting back to the Get-PlasterTemplate work soon, got sidetracked on some PSES work that just won't finish...

I was thinking about Find-PlasterTemplate, and though it might be worth looking into creating a custom OneGet provider specifically for Plaster templates.
It could be installed with the module and the Find-PlasterTenplate could be a wrapper to search both the custom provider and the PowerShell gallery for module tagged plaster template.
The reason I was thinking about this, is I can see Plaster gaining adoption outside of PowerShell, so it might be nice to have a provider dedicated to templates. Then we could embed a template for creating and publishing plaster templates to the plaster template provider.


Create a first-pass issues template, so we can itterate on it in a PR

GitHub apparently supports Issue Templates now, https://github.com/dear-github/dear-github/issues/125 - let's try one.

Looks like a great start! I'll merge.

It works!


Add Favicon

Placeholder is fine - mostly concerned about layout and code.

Coverage remained the same at 100.0% when pulling 17ecd6ed389d0ea134a6a7eaa610b140fd039701 on feature/22 into 020a49f11c49ec624078fb5ff61b3911f9597baa on master.


FDC3 2.0 Support

moved to Connectifi Agent 2.0 for example
using 2.0 DesktopAgent interface
all APIs async
error handling for no connection

Note: basic FDC3 2.0 support, not all new APIs fully supported ATM (e.g. private channels).

LGTM 👍


webpack builds show [Object object] for sequence rendering

expected:

the actual has [Object object] for the seq1 -> seq2 part

i think this only affects webpack+proxy mode; the proxy side returns pending promises, nice, for entity.prettyVersion in openwhisk-core


Can't change the font.

I'm using a Semantic-UI from there:http://cdnjs.cloudflare.com/ajax/libs/semantic-ui/1.12.0/semantic.min.css
It's using a Lato font, but i want Open Sans.
So i write code like this:
body {
  margin:0;
  padding:0;
  min-height: 100%;
  height: 100%;
  background-image:url(background.png);
}

html, body {
    font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
}

...and font is always Lato!
What can I do?

You need to work with the LESS version and change the font in site.variables otherwise you'll be loading both fonts.

But can I do it only with CSS?

No, you will have to adjust or disable the google font @import rules.
This is for bug tracking and suggested features for the project, please use our Gitter or stackoverflow for these discussions.


Canvas renderer does not work on chrome OS.

jurassicworldevolution.com/research -> example

closed in favor of #43


Cut off pages on mobile devices

We have now taken our documentation live with Hyperbook.
We noticed afterwards that on mobile devices, with small displays, not all the space is used:

Furthermore, the Safari browser on iOS seems to cut off a few pages and it is not possible to scroll sideways:

On the other hand, things are looking good on other sites:

I will investigate the issue and can hopefully provide a solution till monday.

It should be fixed now.

Thanks!


Update to latest stable Qemu release. Fixes #557.

Update Qemu version to the latest stable release, v6.1.0. The latest Qemu release contains numerous bug fixes, and other improvements, and the existing patches various issues reported in older Qemu versions.
The only changes required are incrementing the Qemu version and adding ninja-build as a temporary dependency, since Qemu now uses it for the build system.

Putting this on hold until Ubuntu versions are incremented, since Qemu 6.x requires Python3.6+ installed, but Ubuntu 16.04 only provides Python3.5.


[WIP] OCPBUGS 2782: Update service deletion to retry with timeout

Signed-off-by: perdasilva<EMAIL_ADDRESS>Description of the change:
Adds a retry with timeout when attempting to delete a service during installation/upgrade.
This is a small mitigation for the bug linked in the title. The real fix for this would be to make install plan retryable. But given the efforts towards v1, it's probably not worth it.
Motivation for the change:
In the operator upgrade process, any services will be deleted and re-created. Sometimes these services can have finalizers attached that may delay the deletion of the resource and cause the upgrade to fail.

closing and this does not seem like the direction we want to take


Separate log properties from format strategy implementation

Feature request for separating log properties from the implementation of the specific format strategy.
It would make the library more flexible and powerful, more configurable. For example CsvFormatStrategy has the following properties:

date
dateFormat
logStrategy
tag

It would be nice to be able to add custom properties like app, device, etc.

Interesting idea. Would you mind to give me some example from integration point of view? For example, when you initialize Logger how it would look like and when you log anything, how it would look like as output?

Ok. The idea is that the logger has some default and necessary fields like timestamp, level, message, tag, all of them independent of the format strategy. But then a properties object may contain other fields that are desirable for a custom project: deviceId, method, eventDescrition, secondaryTag. These properties should be configured once and the beggining using a configure method for passing the adapters, strategies and properties.
I am not an expert in Java so it will take me some time to think how I would initialize the logger, but the idea is to do something like this library structlog  in Python.

Let me check that python library to understand more. I see that logging into disk feature might be more powerful and useful.


[Experiment] Run components E2E tests in CI

This is to find out which of our various CI test runners are ready to run the Components' Selenium-based E2E tests.
If they all run them flawlessly we could merge this as-is. If not, I'll close this PR and investigate further.

I'm unclear on how to know whether this is passing or not.

The AspNetCore-pr-validation-temp job is passing, but that appears to be building only (not running any tests)
The AspNetCore-ci job always gets cancelled after 2h, which appears to be before it gets to the Component tests
The aspnetci setup runs the build separately from tests. I could manually trigger a build for the stevesa/run-components-e2e-tests-in-ci branch, but then is it possible to make it run tests based on the result of that build? The build of master is failing on aspnetci right now anyway, so it may well not be able to get to the stage of running tests.

It doesn't really matter right now though. Since this is a whole new category of tests, I was planning to wait until January before merging to master to avoid any risk of instability while I'm out. So I'll review the CI situation again at the start of the new year.


Search issues: Invalid parameter 0

Bug report
Describe the bug
I'm facing diverse, strange issues when trying to use the geo-search better. Following example:
/api/cities/?fields[0]=id&$location[wk_coordinates]=48.1663,11.5683,70600&fields[1]=wk_name_en
resolves in this response:
{
    "data": null,
    "error": {
        "status": 400,
        "name": "ValidationError",
        "message": "Invalid parameter 0",
        "details": {}
    }
}

When changing the distance radius to: 7600: 48.1663,11.5683,7600, I receive some results:
{
    "data": [
        {
            "id": 6260,
            "attributes": {
                "wk_name_en": "Munich"
            }
        },
        {
            "id": 51726,
            "attributes": {
                "wk_name_en": "Munich"
            }
        },
        {
            "id": 317408,
            "attributes": {
                "wk_name_en": "Unterföhring"
            }
        }
    ],
    "meta": {
        "pagination": {
            "page": 1,
            "pageSize": 25,
            "pageCount": 1,
            "total": 3
        }
    }
}

When leaving the distance away ( query looks like that: /api/cities/?fields[0]=id&$location[wk_coordinates]=48.1663,11.5683&fields[1]=wk_name_en)  I suddenly receive 0 results:
{
    "data": [],
    "meta": {
        "pagination": {
            "page": 1,
            "pageSize": 25,
            "pageCount": 0,
            "total": 0
        }
    }
}

Furthermore, combining the location query with other filters is sometimes working, sometimes resulting in 0 results.. we need to make extensive use of the location queries, so I would love to see improvements in that fields.
Steps to reproduce the behavior

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Code snippets
If applicable, add code samples to help explain your problem.
System

Node.js version:
NPM version:
Strapi version:
Database:
Operating system:

Additional context
Add any other context about the problem here.

Hi @JannikZed this is strange. Do you think any of your other PRs can fix this or this is a separate problem? I had similar problems only when implementing the Shape fields in #112. I can also check if I can simulate it on current location fields


Allow users to add more attachments to report a bug

@hplin Can you check the lint failures that Travis is seeing? It'd be good to get a passing CI build before going through this change thoroughly

Hi @drewhannay
This is due to the i18n "missing translation" issue. I am working with @kkoser to kick off translation server to provide other strings for different locales.

@kkoser i18n strings are completely in


Add 'svc' as a DNS search path

Needed for new DNS schema transition.  #8089 was reverted in #868 because of #8512
Need to add 'metatdata' to e2e names-to-resolve list for GCE
@ArtfulCoder @vishh

OK, so we have a real problem.
if libc resolver has a limit of 6 search paths, and we intend to prepend at least 3 (ns.svc.cluster.local svc.cluster.local cluster.local) there's a very real possibility that a random machine on which someone wants to run kube will have more than 3 search domains.  Even worse, what we really want is to prepend 4 (otherwise we have to do a release with which you MUST update your DNS server), and even GCE has 3 search paths.
So the question is how to handle it?

Use less search paths ourselves.  Force users to use more specific names or even FQDNs.  Mitigates but does not eliminate the problem.

Log an error in kubelet, but soldier on: "some of your DNS search domains may get dropped".  It really is "may" since we don't know what every resolver lib does.  Need a way for people to fix this, e.g. a kubelet flag --dns-search-paths="foo.com,k.foo.com" which trumps /etc/resolv.conf

Make kubelet hard-stop.  Log an event, set a Condition, refuse to run.  Still need a way to fix this as in (2).

@smarterclayton for consult.

I suggest the following strategy to move forward:

Kubelet checks for the number of search paths in host's /etc/resolv.conf and mark the node unhealthy if it has more than a maximum number of search paths. We can also add a kubelet flag to let users provide custom search paths for pods.
Avoid being backwards compatible while introducing the new "svc" sub-domain.

For reference RHEL recommends running dnsmasq on systems affected by this, because dnsmasq isn't affected - https://bugzilla.redhat.com/show_bug.cgi?id=168253 links to some discussion about the ABI on it.

Could we drop 'cluster.local' for now from the search path?  I think i'm less concerned about that one if it's unlikely people change it.

I like it.  If we drop cluster.local for now, we can keep compat and squeek by on GCE.  We still need to solve the problem overall.

How about the following:

Require kube dns pod to be upgraded as part of the next release (v0.18.0)
Make kube dns create dns records with and without svc sub-domain (This
is the current plan)
Update kubelet to replace existing search paths with
myns.svc.cluster.local and svc.cluster.local in the next release
(v0.19).

Existing pods will not face any resolving issues as long as they don't use
FQDNs or have their namespace set to svc.
Pipelining the changes provides some time for users to update their pods if
they use FQDNs.
Does this work for Openshift @smarterclayton?
On Wed, May 20, 2015 at 9:56 AM, Tim Hockin<EMAIL_ADDRESS>wrote:

I like it. If we drop cluster.local for now, we can keep compat and squeek
by on GCE. We still need to solve the problem overall.
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/issues/8569#issuecomment-103958020
.

We already dropped the old paths for support, so what you've proposed is fine for us.
----- Original Message -----

How about the following:

Require kube dns pod to be upgraded as part of the next release (v0.18.0)
Make kube dns create dns records with and without svc sub-domain (This
is the current plan)
Update kubelet to replace existing search paths with
myns.svc.cluster.local and svc.cluster.local in the next release
(v0.19).

Existing pods will not face any resolving issues as long as they don't use
FQDNs or have their namespace set to svc.
Pipelining the changes provides some time for users to update their pods if
they use FQDNs.
Does this work for Openshift @smarterclayton?
On Wed, May 20, 2015 at 9:56 AM, Tim Hockin<EMAIL_ADDRESS>wrote:

I like it. If we drop cluster.local for now, we can keep compat and squeek
by on GCE. We still need to solve the problem overall.
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/issues/8569#issuecomment-103958020
.

Reply to this email directly or view it on GitHub:
https://github.com/GoogleCloudPlatform/kubernetes/issues/8569#issuecomment-103970270

@vishh raised a good point - Clayton's suggestion doesn't work until search paths are transitioned.
We need to be sure:
a) running pods can resolve "svc" and "svc.ns" to "svc.ns.cluster.local"
b) new pods can resolve "svc" and "svc.ns" to "svc.ns.svc.cluster.local" or "svc.ns.cluster.local". depending on search paths
Then we can transition search paths to svc.cluster.local.  So I think Vish is right, but minor nits:

Make kube-dns release that supports both old and new names.
Tell users to upgrade kube-dns after 0.18 before 0.19.
Generate only new search paths in 0.19; running pods are fine, new pods are fine
Later: Make kube-dns drop support for old names

This will let us squeek by on GCE.  In the mean time, we can consider how to make kubelet warn when it detects a problem, and how to mitigate said problem.

/cc @mbforbes

@smarterclayton re: dnsmasq, I played with it and got it doing what we need wrt nameservers but NOT wrt search paths.  As far as I can tell, it expects to pass queries on unmolested, and that the client has proper search paths.  Is there some config I am not seeing that makes it apply search paths to incoming queries before forwarding them?  Otherwise we're still stuck at 6.

Is the instruction I got internally.
1. Install dnsmasq.
2. Create an /etc/resolv.conf with a single entry pointing
  to <IP_ADDRESS> as the resolver
3. Configure dnsmasq to use a different (private) resolv.conf,
  say /etc/resolv.conf.dnsmasq.
4. In /etc/resolv.conf.dnsmasq, add as many domains as you like.

----- Original Message -----

@smarterclayton re: dnsmasq, I played with it and got it doing what we need
wrt nameservers but NOT wrt search paths.  As far as I can tell, it expects
to pass queries on unmolested, and that the client has proper search paths.
Is there some config I am not seeing that makes it apply search paths to
incoming queries before forwarding them?  Otherwise we're still stuck at 6.

Reply to this email directly or view it on GitHub:
https://github.com/GoogleCloudPlatform/kubernetes/issues/8569#issuecomment-104019244

dnsmasq manpage specifically says it ignores everything but 'nameserver' directives from any resolv.conf file.  That means it does not do search path expansion, which is exactly what I observe.  DNS forwarding works but it only forwards the queries, not expand them.


Update TOC.md

Adding link to new doc

@ifeomaufondu-ms Please fix merge conflict and then I'll approve.  Thanks!

Fixed Conflict


snapwidget.cpp insists on having zxing/common/GlobalHistogramBinarizer.h even though ZXING was not detected by configure

This is <IP_ADDRESS> branch, but release tag v0.9.6 has the same issue.
I don't have zxing installed and your configure does not detect it:
./configure --with-incompatible-bdb
$ grep -i 'xing' config.log config.status
config.log:configure:27088: checking for main in -lzxing
config.log:configure:27107: g++ -std=c++11 -o conftest -g -O2 -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter  -Wstack-protector -fstack-protector-all -fPIE -fPIC  -DBOOST_SPIRIT_THREADSAFE -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS  -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2   -Wl,-z,relro -Wl,-z,now -pie conftest.cpp -lzxing  -lminiupnpc -lminiupnpc -lminiupnpc -lminiupnpc  -lssl -lcrypto >&5
config.log:/usr/bin/ld: cannot find -lzxing
config.log:ac_cv_lib_zxing_main=no
config.log:USE_ZXING=''
config.status:S["USE_ZXING"]=""

Unexpectedly build fails complaining about the missing zxing includes:
In file included from walletview.cpp:23:0:
utilitydialog.h: At global scope:
utilitydialog.h:30:20: warning: 'Ui::OPENNAME_NAME_RENEWAL' defined but not used [-Wunused-variable]
 static const char* OPENNAME_NAME_RENEWAL="e";
                    ^~~~~~~~~~~~~~~~~~~~~
utilitydialog.h:29:20: warning: 'Ui::OPENNAME_NAME_TRANSFER' defined but not used [-Wunused-variable]
 static const char* OPENNAME_NAME_TRANSFER="d";
                    ^~~~~~~~~~~~~~~~~~~~~~
utilitydialog.h:28:20: warning: 'Ui::OPENNAME_NAME_UPDATE' defined but not used [-Wunused-variable]
 static const char* OPENNAME_NAME_UPDATE="c";
                    ^~~~~~~~~~~~~~~~~~~~
utilitydialog.h:27:20: warning: 'Ui::OPENNAME_NAME_REGISTRATION' defined but not used [-Wunused-variable]
 static const char* OPENNAME_NAME_REGISTRATION="b";
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
utilitydialog.h:26:20: warning: 'Ui::OPENNAME_NAME_PREORDER' defined but not used [-Wunused-variable]
 static const char* OPENNAME_NAME_PREORDER="a";
                    ^~~~~~~~~~~~~~~~~~~~~~
  CXX      libbitcoinqt_a-reportview.o
In file included from reportview.cpp:13:0:
walletmodel.h:11:0: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable:4717)  //bogus warning from MS

  CXX      libbitcoinqt_a-snapwidget.o
snapwidget.cpp:10:51: fatal error: zxing/common/GlobalHistogramBinarizer.h: No such file or directory
 #include "zxing/common/GlobalHistogramBinarizer.h"
                                                   ^
compilation terminated.
make[4]: *** [Makefile:2126: libbitcoinqt_a-snapwidget.o] Error 1
make[4]: Leaving directory '/home/data/software/gnu_linux/feathercoin/Feathercoin/src/qt'
make[3]: *** [Makefile:3018: all-recursive] Error 1
make[3]: Leaving directory '/home/data/software/gnu_linux/feathercoin/Feathercoin/src/qt'
make[2]: *** [Makefile:1164: all] Error 2
make[2]: Leaving directory '/home/data/software/gnu_linux/feathercoin/Feathercoin/src/qt'
make[1]: *** [Makefile:993: all-recursive] Error 1
make[1]: Leaving directory '/home/data/software/gnu_linux/feathercoin/Feathercoin/src'
make: *** [Makefile:579: all-recursive] Error 1

I don't want zxing and QR code support. Your configure script appears to allow for that, but the build process does not honor it.

This is a known problem.
You can run 'confgure --with-incompatible-bdb --with-qrencode=no' to avoid the problem.
We are working on a fix

```--with-qrencode=no`` did not help as of latest commit on branch <IP_ADDRESS> when I opened this ticket. Tried again on the latest #b5d8bc05b7711cae7db1ead9ec4e75fbcaee1d78 just now and build still fails in the same manner.

Can you give us the error massages and some info on the operating system, we tested <IP_ADDRESS> build many times with and without qr codes.

@wrapperband
You have the error message right there in this ticket. It's make output.
I suppose that even though you set --with-qrencode-no you still have ZXING installed on your system, which lets the build find GlobalHistogramBinarizer.h on your system and pass, even though it doesn't actually compile the code that depends on ZXING. Try uninstalling ZXING completely and then build. Does make pass then?

@allesklaar: Can you pull the latest commit of <IP_ADDRESS> and try again?

Same error in <IP_ADDRESS> e977bc52740507636c73a8e5c7768665acc16fda.
./autogen.sh
./configure --with-qrencode=no --with-incompatible-bdb
make

  CXX      libbitcoinqt_a-snapwidget.o
snapwidget.cpp:10:51: fatal error: zxing/common/GlobalHistogramBinarizer.h: No such file or directory
 #include "zxing/common/GlobalHistogramBinarizer.h"
                                                   ^
compilation terminated.
make[4]: *** [Makefile:2126: libbitcoinqt_a-snapwidget.o] Error 1
make[4]: Leaving directory '/home/dane/software/gnu_linux/feathercoin/Feathercoin/src/qt'
make[3]: *** [Makefile:3018: all-recursive] Error 1
make[3]: Leaving directory '/home/dane/software/gnu_linux/feathercoin/Feathercoin/src/qt'
make[2]: *** [Makefile:1164: all] Error 2
make[2]: Leaving directory '/home/dane/software/gnu_linux/feathercoin/Feathercoin/src/qt'
make[1]: *** [Makefile:993: all-recursive] Error 1
make[1]: Leaving directory '/home/dane/software/gnu_linux/feathercoin/Feathercoin/src'
make: *** [Makefile:579: all-recursive] Error 1

Hi @allesklaar
can you try this:
./autogen.sh
./configure --with-qrcode=no --with-incompatible-bdb
make

@aciddude
That will not solve the problem. The problem is caused by the handling of the compiler variables USE_QRCODE and USE_ZXING
I think, I have a fix, but need to verify that my fix is working well with ./configure --with-qrcode=no and ./configure --with-qrcode=yes

@natedavis, @wellenreiter01
The build is still failing in a , as of b7b59064287d6912f8df2dfbde201df1797f6a09 on branch <IP_ADDRESS>:
./autogen.sh
./configure --with-qrcode=no --with-incompatible-bdb
make

  CXX      libbitcoinqt_a-snapwidget.o
snapwidget.cpp:10:51: fatal error: zxing/common/GlobalHistogramBinarizer.h: No such file or directory
 #include "zxing/common/GlobalHistogramBinarizer.h"
                                                   ^
compilation terminated.
make[5]: *** [Makefile:2056: libbitcoinqt_a-snapwidget.o] Error 1
make[5]: Leaving directory '/home/dane/software/gnu_linux/feathercoin/Feathercoin/src/qt'
make[4]: *** [Makefile:2926: all-recursive] Error 1
make[4]: Leaving directory '/home/dane/software/gnu_linux/feathercoin/Feathercoin/src/qt'
make[3]: *** [Makefile:1109: all] Error 2
make[3]: Leaving directory '/home/dane/software/gnu_linux/feathercoin/Feathercoin/src/qt'
make[2]: *** [Makefile:922: all-recursive] Error 1
make[2]: Leaving directory '/home/dane/software/gnu_linux/feathercoin/Feathercoin/src'
make[1]: *** [Makefile:676: all] Error 2
make[1]: Leaving directory '/home/dane/software/gnu_linux/feathercoin/Feathercoin/src'
make: *** [Makefile:511: all-recursive] Error 1

solved in latest code in master-0.9 and branch <IP_ADDRESS>

fixed in <IP_ADDRESS>


Add support for RepairRun REST resource

While API design is being discussed in #5, I'm opening this PR to get the ball rolling. If the design principles change, I will amend it accordingly.
This PR contains a few commits so far:

A few preparatory commits:

Run go mod tidy c8aae7e
Rename main interface and implementing struct ad9e736
Refactor HTTP internals 1a96163
Move API members to files grouped by REST resources 69afba2

Support for RepairRun REST resource cd1f458

Commits can be reviewed separately.
┆Issue is synchronized with this Jira Bug by Unito

@adejanovski @jeffbanks or @jsanda if everything looks good, would you mind giving your approval please?

You still have some methods that start with "Get", but I think it's not such a big deal and we can move on with this PR.
We can deal with this in a future refactoring.

Oh you are absolutely right, my bad. I can offer to change the RepairRun-related methods real quick. The I'd suggest to leave the pre-existing methods (GetCluster, etc...) as is and change them later in a follow-up PR.

Thanks for making the change @adutra ! LGTM ✅


Update docs to show how Bootstrap 4's .custom-select class can be used

Hello,
I've been using this superb library since the past month. Our application is using Bootstrap 4.6 and we apply the .custom-select to all our select form controls, as it provides a cross browser compatible style.
It took me a while to figure out how to apply .custom-select when automating forms with Angular Formly. (To my knowledge) It wasn't mentioned in the docs nor in the examples' debug options. It was only when I delved into the source code did I realise that we can use customSelect: true in the templateOptions property.
This is a handy feature, which is optimal for cross-browser compatibility of the UI as mentioned earlier. Could be specified in the docs, maybe as a toggle in the 'debug' mode for the Bootstrap demos. Would be happy to lend a hand!
Tech stack used

Angular 11
Angular Formly v5
Bootstrap 4.6

that's on our scop, we'll provide an API doc that will explain all the extra options for each type so not only bootstrap but all our UIs.
Thanks!


Non blocking stream

Hi, thank you for this nice library, I'm doing a project using it. So far it works just as it's expected, however I'm stuck trying to create a nonblocking server stream.
I mean one that will not stop sending once the connection is opened.
Any help will be greatly appreciated.
Please include some code samples if you know how to do this.
		  echo.on_open = [](shared_ptr<WsServer::Connection> connection) {
			cout << "Server: Opened connection " << connection.get() << endl;

			while(1){
				auto send_stream2 = make_shared<WsServer::SendStream>();
				*send_stream2 <<"I am always sent";
				local_server.send(connection, send_stream2);
				cout<<"sent data"<<std::endl;

		  };

The above code doesn't do anything , but the loop works since I can see the console output "sent data"

I think there is a problem on local_server.send(connection, send_stream2); this line.

Fixed this, I used the clients echo.on_message to maintain a loop between and also did the same on the server side.

The way to do what you ask in an asynchronous environment is using an recursive function, for example:
WsServer server;
server.config.port = 8080;

auto &some_endpoint = server.endpoint["^/some_endpoint$"];
some_endpoint.on_open = [&server](shared_ptr<WsServer::Connection> connection) {
  // Trick to define a recursive function within this scope (for your convenience):
  class MessageServer {
  public:
    static void wait_and_send(WsServer &server, shared_ptr<WsServer::Connection> connection) {
      std::thread wait_and_send_thread([&server, connection] {
        this_thread::sleep_for(chrono::seconds(1));
        auto message = make_shared<WsServer::SendStream>();
        *message << "some message";
        server.send(connection, message, [&server, connection](const SimpleWeb::error_code &ec) {
          if(!ec)
            wait_and_send(server, connection);
        });
      });
      wait_and_send_thread.detach();
    }
  };
  MessageServer::wait_and_send(server, connection);
};
server.start();

The wait_and_send_thread is not needed of course, it was only added to add some delay between the messages.

Thanks very much for your response, i just used a different method that will only send when the client requests some response.

In case someone tries this code:
I assume the server implementation has changed since the previous comment, but I could (I had to in fact) run it without capturing the server:
`class MessageServer {
public:
static void wait_and_send(shared_ptrWsServer::Connection connection) {
std::thread wait_and_send_thread([connection] {
this_thread::sleep_for(chrono::seconds(1));
auto message = make_sharedWsServer::SendStream();
            *message << "some message";
            connection->send(message, [connection,em](const SimpleWeb::error_code &ec) {
              if(ec) {
                cout << "Server: Error sending message. " <<
                "Error: " << ec << ", error message: " << ec.message() << endl;
            }
            else wait_and_send(connection);
        });
        });
          wait_and_send_thread.detach();
      }
  };
  MessageServer::wait_and_send(connection);`

@jbodart Thank you. I updated my example as well.

nicely done. I actually built my implementation through that example, i'll update my code eventually.
I use 2 servers on the server. When a client connects it is awarded a new port via a message which it the switches to, both client and server will create a new thread to achieve this. The server can the connect to multiple clients at the same time and share the same info.