[text] TTF fonts rendering issue

I created a sample example with loading ttf fonts but it seems the font rendering is odd using liberationmono plus is there a way to make fonts bold italic or underlined.
#include <stdio.h>
#include <raylib.h>
#include <stdlib.h>
#define GB_STRING_IMPLEMENTATION
#include "gb_string.h"

int main()
{
    // Initialization
    int screenWidth = 800;
    int screenHeight = 450;

    InitWindow(screenWidth, screenHeight, "Game Window");

    Texture2D Art = LoadTexture("assets/art.png");
    SpriteFont Font = LoadSpriteFont("assets/LiberationMono.ttf");
    SetTargetFPS(61);

    // Main game loop
    while (!WindowShouldClose())    // Detect window close button or ESC key
    {
        if(IsKeyPressed(KEY_F12)){
                TakeScreenshot("Screenshot");
        }
        // Update

        // Draw
        BeginDrawing();
        {
            ClearBackground(WHITE);
            //DrawTexture(Art,0,0,WHITE);
            DrawFPS(0,0);
            DrawTextEx(Font,"Sample Text",Vector2{190, 200},20, 0, BLACK);
        }
        EndDrawing();
    }
    CloseWindow();        // Close window and OpenGL context

    return 0;
}

This happens because raylib is internally pre-rendering the font at a size of 32px (the default) and then drawing it at a size of 20px and some pixels are lost in the process. To work around this you can tell raylib to load the font with a size of 20px: replace this line:
SpriteFont Font = LoadSpriteFont("assets/LiberationMono.ttf");

with this line:
SpriteFont Font = LoadSpriteFontEx("assets/LiberationMono.ttf", 20, 0, NULL);

@raysan5 I don't know much about font rendering, do you think there is a way to have font rendering that works better when the scale factor isn't an integer ?

Hi @nounoursheureux, you're right on your explanation. raylib internally generates a texture atlas for TTF font at 32px height per character, that can be changed as you stated with LoadSpriteFontEx().
When you draw text at a different size than the internal font base size (font.baseSize), texture is scaled, using by default an approximation scaling (the way pixels are calculated on scaling)... but you can change the scaling algorythm!
As seen in the example you can improve internal scaling algorythm for any texture with:
void SetTextureFilter(Texture2D texture, int filterMode);    // Set texture scaling filter mode

// Usage example
SetTextureFilter(font.texture, FILTER_BILINEAR);   // FILTER_TRILINEAR requires generated mipmaps

There are some new interesting text rendering techniques out there like Signed Distant Fields but they are not supported by raylib right now.
Current raylib text rendering method is used by most of the games out there, SDF would become very handy for next generation games at FullHD and 4K.
Some reference links on SDF:
http://wdobbie.com/post/gpu-text-rendering-with-vector-textures/
https://crimild.wordpress.com/2013/09/01/improving-text-rendering-with-signed-distance-fields/
https://blog.mapbox.com/drawing-text-with-signed-distance-fields-in-mapbox-gl-b0933af6f817
Even better, multi-channel SDF:
https://github.com/Chlumsky/msdfgen

Nice I missed that function !
Yep I have already heard of SDF and it looks interesting but is a bit more involved than just prerendering the whole thing (requires specific shaders, etc.)


Refactor report related packaging

This change is

 yeah naming 'text' instead 'human' is better ;)

Reviewed 4 of 4 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

:lgtm:


add a non insult bot option

Don't add a seperate command for this as the nice version is already present in in the regular /config lang command


Adds Support For HCL

Adds support for HCL.
https://developer.hashicorp.com/terraform/language

No support for new languages is added to the main distribution anymore. The way to publish this would be to release it as a separate npm package.


support repo2docker appendix

Raw repo2docker appendix can be set via c.BinderHub.appendix.
A default appendix ships in the binderhub repo in the appendix directory. Setting BinderHub.binderhub_appendix_url to a git archive URL,
e.g. https://github.com/minrk/binderhub/archive/appendix.tar.gz, will run the default appendix from the binderhub repo, which does:

download binderhub_appendix_url archive
untar /appendix subdirectory
execute /appendix/run-appendix

In the appendix added here, that results in some extra config that sets a custom login page, which is the page you are shown when you don't have access to a Binder (e.g. someone shared a link to a running pod, as in #458). The custom login page eliminates any token/password form, replacing it with a message and link to a new Binder for the current repo. It could also redirect to that link automatically, or do so after some delay, giving people a chance to read the message.
Happy to have some help defining what should be communicated on that page. It's pretty sparse right now.
closes #458 for the case where the pod is still running, but not the case where the pod has stopped, in which case JupyterHub serves a 403 page and doesn't have enough info to reconstruct the original URL.
TODO:

[x] decide if the appendix belongs in this repo, standalone, or in a deployment-specific repo, like mybinder.org-deploy
[x] add appendix support and defaults to helm charts

This also sets the stage for installing a Jupyter extension that has a copyable share link that will point to the right Binder URL.

I think this should be ready. While there is an appendix in this repo, it is not enabled by default (in large part because there's no easy way to build the URL for the right version).

Should a failure to download/run the appendix lead to a failed build? Maybe we should be forgiving especially in the case where we append it to a custom Dockerfile. Just thinking that some files might not be where we think they should be or that wget isn't installed or something crazy like that. Right now it will lead to very weird errors and "what the whats??" from the user who tested their stuff wit hrepo2docker and now sees errors from things that "don't exist in my Dockerfile".
I am confused about the default behaviour of binderhub wrt appendix. The helm chart sets it to empty values, but the default appendix in the config/traitlet isn't empty, however the default URL is, I think. So default bhub without helm chart will crash? Will read this again tomorrow.

Should a failure to download/run the appendix lead to a failed build?

Yes, I believe so. Failure to run the appendix ought to mean there's a problem. We could disable the appendix for Dockerfiles.
Yes, I believe so. wget being unavailable isn't that uncommon, but both wget and curl being unavailable is exceedingly rare. Making the append

I am confused about the default behaviour of binderhub wrt appendix.

The default is no appendix. The default appendix and appendix URL are both empty. There are two ways to enable an appendix:

set a raw appendix URL directly
specify a URL to a tarball, which will generate an appendix

I'm going to remove the shortcut from binderhub and require specifying the raw appendix. I think that will be clearer.

OK, should be ready again. Removed support for the appendix-from-url since I think that was confusing. Instead, I replaced that with an example. I've been able to test and confirm that this works.
The default appendix behavior is no appendix at all. I don't see a good way for the appendix to come from this repo by default because there's no way to add to the docker build context in the build pod. We can only add docker directives, which means any files must come from URLs.

Missed that one, thanks!


pybindings dlib to a different environment

hello, this is something I'm struggling with that I hope you can help me with
I'm trying to connect dlib to blender (free and open source 3d software). If I can successfully do that, then I can use your software to control 3d characters on any computer with any webcam in real time. This would be a huge accomplishment. So what I have done so far to try to obtain this goal is when I compile the setup.py it stores dlib my python system packages. From there, I append it to blender's standalone which has its own python and its own boost. In blender I can import dlib, but when I try to use dlib for its complex functions I get this:
 predictor = dlib.shape_predictor(predictor_path)
Traceback (most recent call last):
  File "<blender_console>", line 1, in <module>
TypeError: __init__() should return None, not 'NoneType'

but it works fine for
detector = dlib.get_frontal_face_detector()
But on my system all of the dlib functions work fine with no problems.
talking back and forth on the blender development page, I was able to determine that the most likely problem for this is that the boost dlib is not linking to blenders boost. And some suggest that all I am missing is a pybinding. But I have no idea on what needs to binding.
So what I'm I doing wrong or what binding I'm i missing?
using sys.path i gathered all of the python paths and append it to blender
pyodbcPath = ['', '/usr/local/lib/python3.5/site-packages/dlib-19.1.0-py3.5-macosx-10.11-x86_64.egg', '/usr/local/Cellar/python3/3.5.2/Frameworks/Python.framework/Versions/3.5/lib/python35.zip', '/usr/local/Cellar/python3/3.5.2/Frameworks/Python.framework/Versions/3.5/lib/python3.5', '/usr/local/Cellar/python3/3.5.2/Frameworks/Python.framework/Versions/3.5/lib/python3.5/plat-darwin', '/usr/local/Cellar/python3/3.5.2/Frameworks/Python.framework/Versions/3.5/lib/python3.5/lib-dynload', '/Users/pascaljardin/Library/Python/3.5/lib/python/site-packages', '/usr/local/lib/python3.5/site-packages', '/usr/local/Cellar/numpy/1.11.1/libexec/nose/lib/python3.5/site-packages', '/usr/local/opt/opencv3/lib/python3.5/site-packages']

sys.path.extend(pyodbcPath)

but that still does not work
thank you for your time.

You need to make sure that you use the same boost in both cases.  That's
the only real solution.  You might get away with using the same version of
boost but really you should link both to the same boost binaries since
otherwise they might have been compiled with different options and
therefore not really be the same boost.  So link with the boost in
blender.  You also need to link with the same version of python as blender
is using.
More generally, when making shared libraries that are going to load into
some application you generally need to use all the same versions of 3rd
party libraries as the hosting application.

cool, gotcha. I think I know what to do now, thank you! :)


Hypothesis MultipleFailures Uninformative Stack Trace

I frequently get stack traces such as the following when running tests. These traces don't include the failing lines of code, which is preventing me from being able to find the problems.

ivy_tests/test_array_api/array_api_tests/test_operators_and_elementwise_functions.py::test_isfinite FAILED [100%]
ivy_tests/test_array_api/array_api_tests/test_operators_and_elementwise_functions.py:908 (test_isfinite)
@ given(xps.arrays(dtype=xps.numeric_dtypes(), shape=hh.shapes()))
def test_isfinite(x):
E   hypothesis.errors.MultipleFailures: Hypothesis found 3 distinct failures.
ivy_tests/test_array_api/array_api_tests/test_operators_and_elementwise_functions.py:910: MultipleFailures

This issue may be better suited in the Hypothesis repo, but thought I would add here in case others using the array api tests run into the same issue when trying to debug the tests. Is there a good way to find the problematic code from this stack trace?

Usually the errors are shown somewhere below those lines. Can you maybe post the full test output in a gist so I can see what it looks like.

Okay this must be an issue with PyCharm as I am able to get the full stack trace when running via the terminal. Will close this issue and work out what's going on with my IDE, thanks!

This is the exact issue I've been facing in case it's useful to any PyCharm users. The issue is specific to hypothesis.


 Expected String but got Null. Path 'facebook'.
Invalid type. Expected String but got Null. Path 'twitter'.
Invalid type. Expected String but got Null.

[Error] udi-dahan.yml is not in supported format: (Line: 18, Col: 18, Idx: 567) - (Line: 18, Col: 19, Idx: 568): While parsing a block mapping, did not find expected key.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


localizer refuses to start after it crashed

When localizer is force killed or panics the socket file is left at /var/run/localizer.sock
Trying to start localizer afterwards then fails until the socket file is manually deleted.
ERRO[0000] failed to run: localizer instance already running

Yeah, I'm aware of this. Haven't figured out the best way to handle panics and clean that up. As a short term mitigation was thinking of implementing a ping GRPC method that cam be used to overwrite that file (say, no response in >10s)

Yup facing the same issue here after crash.


Enable Bytecode regen on Linux/MacOS take two

This is a less intrusive alternative to #6423

Introduce a Generate32BitByteCode flag usable in Debug and Test builds that forces a 64bit CC build to generate 32bit bytecode for the known differences. (All related logic is #ifdef'd out in release builds)

Write a script that will use that flag to perform the regen on macos & linux

I've included a note in the top of the regen script that this could be broken by future changes - in any event the windows regen script is not impacted by this and could be used if this is broken.
@zenparsing @ppenzin Better than the other option?

Minor update since review:

wrap the changed signature of CollectConcat in an ifdef to remove from release builds (mistake that I hadn't done that originally)
add a '--skip-build' flag to the bytecode regen script so can just regenerate the bytecode without rebuilding CC when the edit was to the JS files rather than to CC
a bit of tidyup/neatening of the regen script
Added comments to the windows regen scripts saying to use the xplat one if not on windows

@zenparsing Please could I have your view on this as well? I'm aware that it isn't perfect but as an interim method that a) works for enabling xplat development AND b) doesn't take away anything currently in place, what do you think?

Updated for feedback, I'll squash and merge when tests pass unless there are any other points raised before then.


[bugs] nginx-sm installation

Description
Bugs encountered while installing Nginx-sm using the edge-latest release of Meshery and the adapter installed in cluster.
1. Meshery server and adapter installed using mesheryctl:
time="2021-09-24T10:28:33Z" level=error msg="failed to install CRD crds/circuitbreaker.yaml: customresourcedefinitions.apiextensions.k8s.io is forbidden: User\"system:serviceaccount:meshery:default\" cannot create resource \"customresourcedefinitions\" in API group \"apiextensions.k8s.io\" at the cluster scope" app=nginx-adaptor code=1006 probable-cause= severity=2 short-description="Error with Nginx installation" suggested-remediation=

Cause: Missing serviceAccount in manifests downloaded by mesheryctl however they're present in the upstream adapter manifests

Workaround Edit the adapter's resource and add meshery-server as serviceAccount manually.

If you apply the above fix which works with other adapters, the adapter tries to install in meshery namespace regardless of the namespace specified and even then the nginx-sm init pods fail with errors:

    State:          Terminated
    Reason:       Error
    Exit Code:    1

2. Installing meshery and adpater manifests directly using kubectl

The same bug you would face when deploying after applying the workaround in the above step.

3. Installing meshery and adapter using Helm

Helm charts for nginx-sm adapter not present.

Other bugs:
nginx-sm deployment doesn't show up in Meshery dashboard even though meshsync is receiving the updates.
Environment:

OS: Linux
Meshery: edge-latest
Nginx-sm-adapter: edge-latest
Environment: kubernetes 1.20.7
Nginx-sm version: v1.2.0

I believe @panyuenlau will be knocking out "3. Installing meshery and adapter using Helm".

I believe @panyuenlau will be knocking out "3. Installing meshery and adapter using Helm".

Yes, I added the missing nginx-sm adapter helm chart in this PR https://github.com/meshery/meshery/pull/4227

Were we able to identify the cause behind this and patch it? :thinking: @Revolyssup @utkarsh-pro

@Revolyssup is this still valid? // @jbyers19

@leecalcote, yes. I believe the root cause of most of the issues we're seeing is this: https://github.com/helm/helm/issues/8780.
I am in the process of trying to fix this now.


Tutorial. How to turn a "makefile" into flat dagger plan and then refactor for reuse

What is the issue?
Tutorial. How to turn a "makefile" into flat dagger plan and then refactor for reuse.
Show progression of simple translation, then go to progressively better structures for reuse/testability/etc.
Talk about tradeoffs involved in more abstraction. How to avoid pitfalls. Talk about user personas and how to create actions and plans that serve their needs: ops, devops, devs, app owners, etc.
Show thought process. Show how to do the re-factors.
Example: start with todoapp "Makefile" (actually yarn file) -> show dagger todapp 1.0 -> show refactoring process and why better
Talk about downsides of original approach and advantages of dagger approach.
Better to show a project other than dagger/dagger.
cc @shykes @jpluscplusm

@grouville Assigning this one to you if you don't mind. I would ask guidance from @jpadams when you're ready to work on this, as it's pretty big in comparison to other docs issues.

Let's talk about this one before investing too much time, it might go down in priority depending on how we refine positioning (the whole "replace your Makefile / replace your CI workflow" approach doesn't seem to be performing very well compared to "replace one action first").

workflow

Ok, I'll standby it then

I'll remove the prio for now.


Hello owner of this bhop hack

I am really new to xcode and this everything, when i get the files how could i do it?
i put bunnyhop.cpp in xcode and i see the code but what can i do next?
please help or make a video installing it would be very helpfull!

please help me out i really want to use it!!

http://new.gosx.one/


[ADnD 2E Revised] Even more books

Changes / Comments
All changed described on the forum: https://app.roll20.net/forum/permalink/10709393/
Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[X] Does the pull request title have the sheet name(s)? Include each sheet name.
[X] Is this a bug fix?
[X] Does this add functional enhancements (new features or extending existing features) ?
[ ] Does this add or change functional aesthetics (such as layout or color scheme) ?
[ ] If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
[ ] If this is a new sheet, did you follow Building Character Sheets standards ?

If you do not know English. Please leave a comment in your native language.

Character Sheet Info Roll20 Internal Use only.


Filtering out features via the tag filter is broken

The changes in the 1.0.0 release broke the tag filtering functionality so that an error is thrown if an entire feature file is filtered out (and not just some of the scenarios).
In that case an error like this will be encountered:
   × When a report is generated with the code "new Generator().generate(this.allFeaturesPath, null, '@cats')" # features\support\generationSteps.js:54
       TypeError: Cannot read property 'featureId' of undefined
           at C:\git\cucumber-forge-report-generator\src\Generator.js:267:28
           at Array.forEach (<anonymous>)
           at getFeatureButtons (C:\git\cucumber-forge-report-generator\src\Generator.js:264:6)
           at getDirectoryButtonHtml (C:\git\cucumber-forge-report-generator\src\Generator.js:287:21)
           at C:\git\cucumber-forge-report-generator\src\Generator.js:304:66
           at Array.forEach (<anonymous>)
           at getSidenavButtonsHtml (C:\git\cucumber-forge-report-generator\src\Generator.js:304:30)
           at create (C:\git\cucumber-forge-report-generator\src\Generator.js:324:25)
           at Generator.generate (C:\git\cucumber-forge-report-generator\src\Generator.js:372:12)
           at eval (eval at <anonymous> (C:\git\cucumber-forge-report-generator\features\support\generationSteps.js:57:20), <anonymous>:1:17)
           at CustomWorld.<anonymous> (C:\git\cucumber-forge-report-generator\features\support\generationSteps.js:57:20)

:tada: This issue has been resolved in version 1.0.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


istio.io/istio/tests/e2e/tests/upgrade.TestUpgrade failure

https://k8s-gubernator.appspot.com/build/istio-prow/e2e-suite-rbac-no_auth/1128
It seems never passing yet.

CC @chxchx

Seems to be failing on this line. Maybe we should increase the time for waiting for pods to be reloaded.
I0322 16:49:49.528] 2018-03-22T16:49:49.528013Z	error	Failed to upgrade sidecars.. Error can't get all pods running

#4472

The test is passing now.
https://k8s-testgrid.appspot.com/istio#e2e-suite-rbac-auth


Feature 337 xml spec doc

Pull Request Testing

[x] Describe testing already performed for these changes:

verified tests still pass for test_xml.py

verified that updates to the XML schema (to accommodate listing data files individually) successfully load the listed files (via METviewer docker)

verified GHA tests all pass

visually checked the content on ReadTheDocs

[x] Recommend testing for the reviewer(s) to perform, including the location of input datasets, and any additional instructions:

read the User's Guide section, section 4 Background

verify that content is organized and instructions for setting up XML specification files is correct

[x] Do these changes include sufficient documentation updates, ensuring that no errors or warnings exist in the build of the documentation? [Yes]

[x] Do these changes include sufficient testing updates? [Yes]

[x] Will this PR result in changes to the test suite? [No]
If yes, describe the new output and/or changes to the existing output:

[x] Do these changes introduce new SonarQube findings? [No]
If yes, please describe:

[x] Please complete this pull request review by [for RC1 release].

Pull Request Checklist
See the METplus Workflow for details.

[x] Add any new Python packages to the METplus Components Python Requirements table.
[x] Review the source issue metadata (required labels, projects, and milestone).
[x] Complete the PR definition above.
[x] Ensure the PR title matches the feature or bugfix branch name.
[x] Define the PR metadata, as permissions allow.
Select: Reviewer(s) and Development issue
Select: Milestone as the version that will include these changes
Select: Coordinated METplus-X.Y Support project for bugfix releases or METdataio-X.Y.Z Development project for official releases
[x] After submitting the PR, select the :gear: icon in the Development section of the right hand sidebar. Search for the issue that this PR will close and select it, if it is not already selected.
[ ] After the PR is approved, merge your changes. If permissions do not allow this, request that the reviewer do the merge.
[ ] Close the linked issue and delete your feature or bugfix branch from GitHub.

Hi @bikegeek.  Wow!  This was a lot of work.  Thank you for all of your effort.
I have read the User's Guide section, section 4 Background.  I am comfortable verifying that the content is organized.  I made some small mostly nit-picky suggestions. Unfortunately, I don't feel comfortable reviewing/approving that the instructions for setting up XML specification files is correct.  Do you have someone else that you could ask to review that part who is more familiar with this?

For clarification, I added an explanation in one of the bullets and also
added spacing around the redirect.
On Wed, Nov 6, 2024 at 2:28 PM Julie Prestopnik @.***>
wrote:

@.**** commented on this pull request.
In docs/Users_Guide/load_data.rst
https://github.com/dtcenter/METdataio/pull/351#discussion_r1831732291:

-In the METdataio/METdbLoad/sql/scripts directory, there are two configuration files:

mysql -udbuser -pdbpasswd dbtable_name</path-to-METdataio/METdbLoad/sql/mv_mysql.sql

Phew! I'm glad you're paying attention. Please pardon my ignornace!
—
Reply to this email directly, view it on GitHub
https://github.com/dtcenter/METdataio/pull/351#discussion_r1831732291,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA4UJHQPMQAPUPVLZOQFUT3Z7KCWJAVCNFSM6AAAAABRJRI2I6VHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDIMJZGQ2TQNRSHE
.
You are receiving this because you were mentioned.Message ID:
@.***>

@bikegeek What do you think about changing the title from "Background" to "Using METdbLoad"?  I feel like "Background" doesn't cover the scope of the documentation well enough.
Also if you agree, please consider updating this section as well.
Perhaps this section could say something like "Download the latest release" (and include a link to the releases page) or clone the METdataio repository with only "git clone https://github.com/dtcenter/METdataio" in the code block.
And this section with these instructions:
cd [install]/metviewer
mysql -u[db_username] -p[db_password] -e'create database [db_name];'
mysql -u[db_username] -p[db_password] [db_name] < sql/mv_mysql.sql

could be moved to the new page as an example under "Before using the METdbLoad module, the database must exist and have the proper permissions (i.e. grant privileges to insert, delete, update, and index)."  And then the Create Database section could just be removed or could point to the new, potentially renamed, "Using METdbLoad" page.

Moved content related to database creation from the Installation section to the Using METdbLoad section
Cleaned up some wording in the METdbLoad section

I replaced what was originally there with this text, which was originally
under the Installation section.  Is that what you're wondering about?  I
also created a new section header:
Create an XML Load Specification Document
where instructions for the XML load specification file, so it is consistent
with the Create Database section.  Apologies for making further changes to
the documentation.
On Thu, Nov 7, 2024 at 3:51 PM Julie Prestopnik @.***>
wrote:

@.**** commented on this pull request.
In docs/Users_Guide/load_data.rst
https://github.com/dtcenter/METdataio/pull/351#discussion_r1833470213:

-Generate the XML Specification File

Replace path-to-METdataio with the path where the METdataio source code is saved

⬇ Suggested change

Replace path-to-METdataio with the path where the METdataio source code is saved

Replace dbuser with the username

Replace dbpasswd with the password

Replace dbtable_name with the appropriate database name that begins with mv (e.g. mv_xyz )

Replace path-to-METdataio with the path where the METdataio source code is saved

It looks like we lost the other entries that we had previously, I think.
Please correct me if I am wrong.
—
Reply to this email directly, view it on GitHub
https://github.com/dtcenter/METdataio/pull/351#pullrequestreview-2422316021,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA4UJHSCTWQE5BDAWOWZADTZ7PVGFAVCNFSM6AAAAABRJRI2I6VHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDIMRSGMYTMMBSGE
.
You are receiving this because you were mentioned.Message ID:
@.***>

I replaced what was originally there with this text, which was originally
under the Installation section.  Is that what you're wondering about?  I
also created a new section header:
Create an XML Load Specification Document
where instructions for the XML load specification file, so it is consistent
with the Create Database section.  Apologies for making further changes to
the documentation.

I'm sorry, @bikegeek, I'm not sure what you are referring to in this comment.

Hi @bikegeek. Please take a look at this comment with suggested changes. And, I’m not sure what you were referring to in this comment.


'fanout' with parallel service management?

Hi Edwin, thank you very much for answering my last question about why using 'fanout' with RabbitMQ in this tutorial! I am very curious about implementing the parallel services using 'fanout' in RabbitMQ, as the tutorial in RabbitMQ tells that you could have several 'Consumer' services with one 'Publisher' so that message in queue can be distributed into parallel services to improve the performance. So in your project for example, does it work like you could have

one(1) UserManagement Service running
two(2) VehicleManagement Services running - so these vehicle services could handle the 'register' parallel with receiving message publishing from 'UserManagement'
three(3) WorkshopManagement Services running - so these workshop services could handle the 'planning' work parallel.
Do you think the above scenario could be achieved in your project? If so, how should we create same services in multiply ports? Can we or should we do it through 'Docker'? Because as of now I only know 'Docker' may create same service with one single port at a time.

Hey Kevin,
I'm not Edwin, but I like to think he thought me a lot of the things I know :-)
You can definitely run the same service multiple times, using Docker Compose or Kubernetes. There is something about that on the Wiki: https://github.com/edwinvw/pitstop/wiki/Run the application using using Docker Compose#scaling-the-services
All of the services you mentioned do not handle events though. Since the API's you mentioned all store their state in the database, you should be able to scale them as many times as you want.
Where it gets a little more complicated is if you would want to run some of the services that are consuming events in parallel. For example, say your invoicing service is quite slow so you want to have another instance up. Or your notification service is really important so you want several instances up. In such cases, you have to make sure that each event only gets handled once.
RabbitMQ has some support for these scenarios. You could have several instances of a service up and listening to the same queue. RabbitMQ will initially send each message to only one of the listening services. If the service doesn't acknowledge a message in time, it will get requeued and might end up at another service.
Another option is to use either a direct exchange or a topic exchange. These allow you to route messages more intelligently, for instance if you had one Invoice service printing messages and another sending invoices via e-mail.
I myself haven't used this direct form of routing, but the project I'm doing right now is having a good time using the first case - multiple listeners on one queue. We can handle hundreds of thousands of messages with a few listeners. Adding more will make the processing faster.
Finally, if you have a very large throughput of messages, you can use Sharding (see https://github.com/rabbitmq/rabbitmq-sharding) to scale your services a bit more intelligently.
One thing to be aware of: if you use the fanout exchange, and you bind multiple queues to it, each queue will get all of the messages. This is probably not a good idea when scaling a service.

Hi @kevinding0218. Olaf's a colleague of mine at Info Support. He also contributes to the project. Did his reply answer your questions? In that case I will close the issue.

Hi Olaf, Thank you so much for answering my question and showed me more possibilities of implementing the parallel services approach! I really appreciated your knowledge share and case analysis here!
Just some quick question, if we have all different services but each would have only one instance running through RabbitMQ/Event bus, what's the benefit by using RabbitMQ/Event bus with multiply services? Was that used for decoupling the services and work as a media to connect each service?
Also, if I implement below scenario that message will be distributed through multiply instances of services with order from A --> B --> C

1 instance of service A
2 instances of service B
3 instances of service C
should I consider there are two queues(A-->B and B --> C) or should I consider there are eight queues(2 queues from 1 A --> 2 B and 6 queues from 2 B --> 3 C)?

Best,
Kevin

Hey Kevin,
You can indeed use a message bus just for decoupling. This will give you the advantage that you can continue providing some of your experience even when some of the services are down. Also, if some operation takes a long time (again, for instance printing an invoice), a message bus will give you the advantage of doing it asynchronously. In that case it's also being used as a queue.
When you run multiple instances of the same service that listens to events, without any specific routing, I would say in most cases you will want them to each have only one queue. If not, your messages will get handled by each of the services which in most cases will result in undesired results.
Consider for example running 3 instances of the Invoice service, with each having their own Queue, bound to the same exchange. Being a fanout exchange, it will send all incoming messages to each of the queues. So now each of the Invoice service instances will receive all messages, and will print or send the invoices to the customers. The customers receive 3 invoices and will be wondering why they're being charged three times.
So, in short: in your example there would be two queues.

Hello Olafsk, thank you very much for your reply! I understand the drawback of using 'fanout' with multiply service instances running now! However, by using 'direct' or 'topic' exchange, it makes me feel I am still dealing with one instance at a time. For example:
The Invoice service can print invoice using PDF or Email, then by using 'direct' or 'topic' means I will have two queues,

one is dealing with 'PDF Invoice'(as binding key)
the other is dealing with 'Email Invoice'(as binding key).
But if my message bus contains 100 'print invoice', 90 of the 100(90%) messages are requesting 'PDF Invoice' and the rest of 10(10%) are for 'Email Invoice', my 'PDF Invoice' services will become a lot busier and heavier load while my 'Email Invoice' service is hanging there for most of the time, correct?

That might not be what I would like to proceed, I would like to have two instances of invoice service that both can do 'PDF Invoice' or 'Email Invoice', then when the 100 messages come, it will distribute them into those two services continuously, so the direct or topic or header might not work here, and fanout works but produce duplicate result there.
By using EventingBasicConsumer/Task Queues seems a way to doing that but I feel it might not be good for the micro-services architecture . I also look at the rabbitmq-sharding which seems to matches my idea but I am not sure if it's possible to work with C# .Net Core since it's a plugin. Do you have any suggestion for implementing above scenario?
Thank you so much for your knowledge share again! It really helps me in the real-world case scenario a lot!

Hey Kevin,
Using fanout is not necessarily a drawback. I was merely giving an example of the options you have.
With the specifications you gave, you could still just use one queue with all the messages in it. Have both instances of your service listen to that same queue, and RabbitMQ will take care of distributing the messages. That way neither of them will be idle until all the messages have been processed.
The other routing options really are more advanced, to be used if you have specific requirements (for instance, one of the services has to run on a server with a printer attached, so only that service should receive the 'Print' jobs).
I haven't personally tried the Sharding plugin but I don't think it should be a problem for .NET Core. It's a plugin you install on RabbitMQ, your clients won't need to know that the plugin is installed. That's a lot more advanced though, I wouldn't recommend starting with that unless you know in advance that you'll be handling millions of messages.
As always with software development: start easy. Make your software in such a way that you can easily extend or adapt it later on, if you find out your easy solution isn't enough.

Hi Olaf,
 Thank you so much as always for your help and guideline!

Best,
Kevin


Make shortcut descriptors clickable

This times 1000%

This will come for free in the new SCG https://github.com/microsoft/PowerToys/issues/890


vfs: filter files or directories called '.' or '..' from listings

Files or directories called '.' or '..' are allowed in object storage systems and in drive for instance, but they confuse file system based things no end.
Filter any files or directories called '.' or '..' from the VFS directory listings (maybe with a debug).

@ncwI want to work on it.

@TenGumis - great!
It should be just a question of filtering them out in this function
https://github.com/ncw/rclone/blob/d5b2ec32f10bdb053e39dc172680b8723c459706/vfs/dir.go#L171


Add SPI tests to TCK

This is somewhat in conflict with #103 which at the moment only lists the Sampler, Propagator and Exporter SPIs as being supported.


Translation settings fields to chinese

I have encountered several issues while using the commands you provided:

After running npm ci, I need to execute npm run build to generate the translation-helper file.
However, this doesn't generate the style.css file.
When I run npm run translate and select zh-cn, the corresponding translation doesn't get updated in the corresponding zh-cn file.

As a result, I opted to directly translate the en.ts file. I encountered some changes during the debugging process, so I'd appreciate it if you could help me address those. I'm sorry for the delay in translation as I've been very busy recently.
Lastly, having a developer like you for Obsidian is truly an honor. I  also feel lucky to be able to use linter plugin.

I have encountered several issues while using the commands you provided:

After running npm ci, I need to execute npm run build to generate the translation-helper file.
However, this doesn't generate the style.css file.
When I run npm run translate and select zh-cn, the corresponding translation doesn't get updated in the corresponding zh-cn file.

As a result, I opted to directly translate the en.ts file. I encountered some changes during the debugging process, so I'd appreciate it if you could help me address those. I'm sorry for the delay in translation as I've been very busy recently.
Lastly, having a developer like you for Obsidian is truly an honor. I also feel lucky to be able to use linter plugin.

Thanks for letting me know. I will have to check what is up with npm run translate on zh-cn. I know it worked for Spanish, but maybe that is because it is not a compound name.

I have encountered several issues while using the commands you provided:

After running npm ci, I need to execute npm run build to generate the translation-helper file.
However, this doesn't generate the style.css file.
When I run npm run translate and select zh-cn, the corresponding translation doesn't get updated in the corresponding zh-cn file.

As a result, I opted to directly translate the en.ts file. I encountered some changes during the debugging process, so I'd appreciate it if you could help me address those. I'm sorry for the delay in translation as I've been very busy recently.
Lastly, having a developer like you for Obsidian is truly an honor. I also feel lucky to be able to use linter plugin.

Thanks for letting me know. I will have to check what is up with npm run translate on zh-cn. I know it worked for Spanish, but maybe that is because it is not a compound name.

The issue here seems to have been that it was in the map differently from the name of the file because the file language was listed as zh, but it referred to zh-cn.ts which would cause the translation helper to be unable to properly save the language values. Sorry about that.
I am going to try to remove any other scenarios like that if possible.

This looks good to me. I will take a look at the actual displaying of the values when I get a chance. Once that happens I will go ahead and merge this.

Thanks for taking the time to translate this!

Thanks for taking the time to translate this!

Compared to your efforts, this work of mine is really very insignificant. I've already posted articles in China promoting linter and they all think it works very well. Before linter had i18n, there were already translations by directly modifying the main.js file.
Thanks again for your efforts ！！！！

It works with the following language selected: 简体中文 which maps to zh in terms of its language codes.

I have yet to hear back on the 2 headings, but I will go ahead and merge this PR and a subsequent PR can be created if either of the 2 headers should not have the English name present.


Friendly request to change the name of this project?

I sincerely apologize to have to ask this question ... (I have tried to find your contact info, but wasn't able to)
As much as I appreciate open source projects like yours;
The name you picked for your project is 100% identical (capitals included) to one of my macOS applications which been around for 8+ years now.
I'm sure this wasn't done intentionally, but it has confused at least one of my users.
So my friendly request to change the name of your project to avoid confusion 😊

No problem 😊 -- thank you for taking the effort to change the name. ConnectMeHub sounds good too 😉


documentation <> example mismatch

http://pysaml2.readthedocs.org/en/latest/howto/config.html#authn-requests-signed
says
Valid values are “true” or “false”. Default value is “false”. for the "authn_requests_signed" configuration. The example in https://github.com/rohe/pysaml2/blob/master/example/sp-wsgi/sp_conf.py.example#L26 uses python-booleans.
Can you please clarify what is really accepted?

28 jul 2015 kl. 16:42 skrev spaceone<EMAIL_ADDRESS>http://pysaml2.readthedocs.org/en/latest/howto/config.html#authn-requests-signed
says
Valid values are “true” or “false”. Default value is “false”. for the "authn_requests_signed" configuration. The example in https://github.com/rohe/pysaml2/blob/master/example/sp-wsgi/sp_conf.py.example#L26 uses python-booleans.
Can you please clarify what is really accepted?

It should be python booleans. I’ve changed the docs.
But I’ve also added some code, such that is should handle both.
— Roland
'Look, that's why there's rules, understand? So that you think before you break ’em.’ - Terry Pratchett

This has been fixed


Removing example which contains AGPL license

Removing example which contains AGPL license.

The idea for long term was that we would move all the examples from our repositories to one common repository as the examples lead to a lot of false positive alerts. For now, if we do not want to remove the example, maybe we can use newRootPath to not include files from the root directory?


[ACR] upgrade to core-tracing 1.0.0

Packages impacted by this PR

@azure-container-registry

Issues associated with this PR

Fixes #21132

Describe the problem that is addressed by this PR
Upgrade core tracing to 1.0.0
Are there test cases added in this PR? (If not, why?)
Covered by existing tests

API change check for @azure/container-registry
API changes are not detected in this pull request for @azure/container-registry

I've been meaning to add that extra test but haven't gotten the chance. I'm going to merge for now and hopefully loop back and add it later on.


1.0

Update README and remove .swift-version to prepare for 1.0.

Current coverage is 90.95% (diff: 100%)

No coverage report found for master at 1483150.

Powered by Codecov. Last update 1483150...b517c4e


Update checkmarx-ast-cli binaries with 2.3.1

Updates checkmarx-ast-cli to 2.3.1
Auto-generated by [create-pull-request][2]

Checkmarx One – Scan Summary & Details – 2fea1c60-9204-4796-870e-7750e06a4c6f
No New Or Fixed Issues Found


Copy to pasteboard

Add a button to the report window "copy to pasteboard", with a tool tip that this will copy the markdown source of the report to the clip board suitable to post to github.

http://www.devx.com/opensource/Article/37233/0/page/3

Link 404s

Huh, works for me. Anyway, it was just a note-to-self with OS X/Windows pasteboard code in it. I've implemented it in the above commit.

🙏


Private Repo?

Hi,
Does the Pull app work with private repo's?  I did look at issues #124   and #112 but not 100% clear.  My company has a private repo which I have forked.  I installed Pull on my forked repo and triggered manually (with success).  However, I'm not seeing a Pull Request generated.  There are no branch restrictions on my forked repo.  Are private repo's supported?

Yes, If you are using pull to create PRs for two branches inside the same private repo.
No, If you are using pull to create PRs from another private repo to your private fork because of https://github.com/wei/pull/issues/124#issuecomment-483056670

Thanks you for the quick response!  It sounds like I fall under scenario 2, unfortunately.


TIL that STS stands for Standard Term Support, not Short!

It's a mistake lots of folks seem to make, including me in the most recent unboxing video for Umbraco!
But here's the confirmation:
https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core#release-types

Thanks @LottePitcher
I learned something new today too then.


feat: Add ability to update a dataset's metadata [CORE-2731]

Adds a command dafni upload dataset-metadata to upload new metadata to create a new metadata version on an existing dataset. Like #78 there is a --save option for saving existing metadata for modifying it manually.
Other changes:

Renamed 'definition' to 'metadata' throughout the dataset commands as I thought it made it clearer

I think there's a test missing for the upload when the save option is chosen, other than that just one tiny comment but looks good

Ah yes I missed it out of the dataset-version as well. I have just added one for each.


Adding user's ssh key to the deployed Owncloud instance and remove the support access

due to reasons discussed in the conversation with @waleedhammam @rkhamis regarding the alpha release, I suggest this modification:

collect the user's ssh key when he submits the deployment request.
send the ssh key as input var to terraform when applying the deployment configuration.
if any issue arises, the user is the only one who has access to the server content and can be guided to provide us with any logs/debugging info required to solve his issue.

@waleedhammam has a concern that by doing so users can use their free VMS for other purposes which not covered in the trial.
@rkhamis waiting for your input if we should proceed with this flow or if there are any alternatives on your mind.

@waleedhammam has a concern that by doing so users can use their free VMS for other purposes which not covered in the trial.

this is indeed a very good point. thank you for bringing it up. Let's for alpha keep it as it is. I will discuss these implications


in_app_purchase plugin documentation does not explain how to retrieve previous purchases

Steps to Reproduce

Go to the plugin page: https://pub.dev/packages/in_app_purchase
Try to understand how previous purchases are fetched (Loading previous purchases appears in the index, but there's no content)

Expected results:
As a potential consumer of this plugin, I want to know how the previous purchases are retrieved.
Actual results:
The documentation page lists the feature in its index, but there's no content on the page.
Note: I write the issue here because the plugin Github's page doesn't have the issue tracker enabled.

Related https://github.com/flutter/flutter/issues/61384

Hi @TahaTesser ,
I think I am misunderstanding something, there is a fix in version 1.04 but I can't see how the expected result fulfills:
As a potential consumer of this plugin, I want to know how the previous purchases are retrieved.
Even though the restore link has been fixed, this is not what I want to do. I want to retrieve any purchase made by the user (meaning, get the purchaseToken in Google Play for instance) of any purchase already done.
This corresponds to:
https://developer.android.com/google/play/billing/integrate#fetch
And:
https://developer.android.com/reference/com/android/billingclient/api/BillingClient#queryPurchasesAsync(java.lang.String, com.android.billingclient.api.PurchasesResponseListener)
Looking at the documentation, I can see how to restore purchases from previous installations but I cannot see how to retrieve the current purchaseToken for any active subscriptions, for instance.

@svprdga
This issue talks about getting purchase token https://github.com/flutter/flutter/issues/43720, if it is not sufficient, can you please file an issue with your documentation request and points you want to get covered.


Kernel not switched after two switches

Issue Type: Bug

Within a Jupyter notebook switch kernel (works)
Again switch the kernel (works)
Again switch the kernel (fails)

In the logs the following event doesn't appear for step 3:
Started kernel Python 3.9.1 64-bit ('env_name1': conda)
Using conda environments with python 3.8.3, 3.8.6 and 3.9.1.
Extension version: 2020.12.414227025
VS Code version: Code 1.52.1 (ea3859d4ba2f3e577a159bc91e3074c5d85c0523, 2020-12-16T16:34:46.910Z)
OS version: Windows_NT x64 10.0.19042

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz (8 x 1992)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offopengl: enabled_onprotected_video_decode: enabledrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
15.87GB (5.33GB free)

Process Argv
--crash-reporter-id 450a0805-b0f4-478f-a3f5-77ec6b65155e

Screen Reader
no

VM
0%

Thanks for filing this issue,please could you  provide the logs:
Please could you enable logging as follows:

Open settings & go into Jupyter->Logging
Change the value to debug
Reload VS Code,
Run step 1, and capture the logs from the output panel
Next clear the output panel
Run step 2, and capture the logs from the output panel
Next clear the output panel
Finally Run step 3, and capture the logs from the output panel
Next clear the output panel

Please upload the 3 log files. I'd like to have the three separately so we can determine when you perform each step, also its possible there are errors logged which could indicate the cause of the issue.
Questions:

What kernels are you switching from & to in each step (please provide the names, so I can look for it in the logs).
What version of conda are you using?

Thanks for filing this issue,please could you  provide the logs:
Please could you enable logging as follows:

Open settings & go into Jupyter->Logging
Change the value to debug
Reload VS Code,
Run step 1, and capture the logs from the output panel
Next clear the output panel
Run step 2, and capture the logs from the output panel
Next clear the output panel
Finally Run step 3, and capture the logs from the output panel
Next clear the output panel

Please upload the 3 log files. I'd like to have the three separately so we can determine when you perform each step, also its possible there are errors logged which could indicate the cause of the issue.
Questions:

What kernels are you switching from & to in each step (please provide the names, so I can look for it in the logs).
What version of conda are you using?

Thanks for the response.
I've added the logs as attachement:

 is replaced by User_Name
/<onedrive_name> is replaced by PATH

Conda version: conda 4.9.2
I'm switching between kernels 1 and 2.
Kernel 1:
'C:\Users\User_Name\Anaconda3\python.exe'
Python 3.8.3 64-bit (conda)
Kernel 2:
'C:\Users\User_Name\Anaconda3\envs\scrapy1\python.exe'
Python 3.8.6 64-bit ('scrapy1': conda)
Steps of switching:

VScode starts using Kernel 1.
I try to switch to Kernel 2.
I try to switch back to Kernel 1.

Kernels of the different steps (based on output of the notebook):

'C:\Users\User_Name\Anaconda3\python.exe'
'C:\Users\User_Name\Anaconda3\envs\scrapy1\python.exe'
'C:\Users\User_Name\Anaconda3\envs\scrapy1\python.exe'

vscode_switchkernels1.txt
vscode_switchkernels2.txt
vscode_switchkernels3.txt

Thanks for the response.
I've added the logs as attachement:

 is replaced by User_Name
/<onedrive_name> is replaced by PATH

Conda version: conda 4.9.2
I'm switching between kernels 1 and 2.
Kernel 1:
'C:\Users\User_Name\Anaconda3\python.exe'
Python 3.8.3 64-bit (conda)
Kernel 2:
'C:\Users\User_Name\Anaconda3\envs\scrapy1\python.exe'
Python 3.8.6 64-bit ('scrapy1': conda)
Steps of switching:

VScode starts using Kernel 1.
I try to switch to Kernel 2.
I try to switch back to Kernel 1.

Kernels of the different steps (based on output of the notebook):

'C:\Users\User_Name\Anaconda3\python.exe'
'C:\Users\User_Name\Anaconda3\envs\scrapy1\python.exe'
'C:\Users\User_Name\Anaconda3\envs\scrapy1\python.exe'

vscode_switchkernels1.txt
vscode_switchkernels2.txt
vscode_switchkernels3.txt

Hmm, please could you try the following:

When you have gone to step 1, save the notebook, close the notebook & reload VS Code
Re-open that same notebook & run a cell & confirm scrapy1 is the the selected kernel (it should be)
Next try to switch to the base kernel

Hmm, please could you try the following:

When you have gone to step 1, save the notebook, close the notebook & reload VS Code
Re-open that same notebook & run a cell & confirm scrapy1 is the the selected kernel (it should be)
Next try to switch to the base kernel

This works. Even without saving the notebook. The set kernel, even if it didn't switch correctly, but was selected before closing will load when restarting VS Code. (assuming reloading and restarting means the same)
Switching in both direction works. It's really about the third kernel, or in other words the second switch.

This works. Even without saving the notebook. The set kernel, even if it didn't switch correctly, but was selected before closing will load when restarting VS Code. (assuming reloading and restarting means the same)
Switching in both direction works. It's really about the third kernel, or in other words the second switch.

Switching in both direction works. It's really about the third kernel, or in other words the second switch.

So let me get this right:

Open notebook select scrapy, run cell & confirm its ok
Close notebook
Reload/restart VS Code (either one)
Open same notebook & run cell, confirm scrap is the current kernel
Switch to base conda environment, confirm this works
Switch back to scrap (2nd switch) & this does not work, please confirm
Thanks

Switching in both direction works. It's really about the third kernel, or in other words the second switch.

So let me get this right:

Open notebook select scrapy, run cell & confirm its ok
Close notebook
Reload/restart VS Code (either one)
Open same notebook & run cell, confirm scrap is the current kernel
Switch to base conda environment, confirm this works
Switch back to scrap (2nd switch) & this does not work, please confirm
Thanks

That is correct.

That is correct.

@buis12 apologies for silence from my end.
We're making a few changes to this area of the code & hope it will get resolved soon.
In the mean time please could you try the following:

Install VS Code insiders
Install the Jupyter extension
Try it in the new notebook & let me know if you can repro it there as well.
Oh yes, please enable logging & provide the logs (for each step, as previously done, thanks).
FYI - The Notebook UI is different in VS Code insiders (this is a preview notebook that we're moving to).

@buis12 apologies for silence from my end.
We're making a few changes to this area of the code & hope it will get resolved soon.
In the mean time please could you try the following:

Install VS Code insiders
Install the Jupyter extension
Try it in the new notebook & let me know if you can repro it there as well.
Oh yes, please enable logging & provide the logs (for each step, as previously done, thanks).
FYI - The Notebook UI is different in VS Code insiders (this is a preview notebook that we're moving to).

Somehow this doesn't work as well.
Steps I've taken:

Installing VS Code insiders
Installing python extension
Installing jupyter extension
Open the testSwitchingKernels.ipynb.
Run the first cell to check the sys.executable, copy and clear debug
Switch kernel using ctrl+shift+p: Jupyter select interpreter to start jupyter server
Run the first cell again, copy and clear debug
Switch kernel using ctrl+shift+p: Jupyter select interpreter to start jupyter server
Run the first cell again, copy and clear debug

In this case, the first kernel switch already fails. So the second "switch" is not a real switch. Every run I got the location of Kernel 1.
I'm starting in kernel 1, trying to switch to kernel 2, trying to switch back to kernel 1.
Kernel 1:
'C:\Users\User_Name\Anaconda3\python.exe'
Python 3.8.3 64-bit (conda)
Kernel 2:
'C:\Users\User_Name\Anaconda3\envs\scrapy1\python.exe'
Python 3.8.6 64-bit ('scrapy1': conda)
vscodeinsiders_switchkernel1.txt
vscodeinsiders_switchkernel2.txt
vscodeinsiders_switchkernel3.txt

Somehow this doesn't work as well.
Steps I've taken:

Installing VS Code insiders
Installing python extension
Installing jupyter extension
Open the testSwitchingKernels.ipynb.
Run the first cell to check the sys.executable, copy and clear debug
Switch kernel using ctrl+shift+p: Jupyter select interpreter to start jupyter server
Run the first cell again, copy and clear debug
Switch kernel using ctrl+shift+p: Jupyter select interpreter to start jupyter server
Run the first cell again, copy and clear debug

In this case, the first kernel switch already fails. So the second "switch" is not a real switch. Every run I got the location of Kernel 1.
I'm starting in kernel 1, trying to switch to kernel 2, trying to switch back to kernel 1.
Kernel 1:
'C:\Users\User_Name\Anaconda3\python.exe'
Python 3.8.3 64-bit (conda)
Kernel 2:
'C:\Users\User_Name\Anaconda3\envs\scrapy1\python.exe'
Python 3.8.6 64-bit ('scrapy1': conda)
vscodeinsiders_switchkernel1.txt
vscodeinsiders_switchkernel2.txt
vscodeinsiders_switchkernel3.txt

Switch kernel using ctrl+shift+p: Jupyter select interpreter to start jupyter server

Thanks for the feedback.
Looks like you are using the incorrect command to switch the kernel.
The command Jupyter select interpreter to start jupyter server, doesn't change the kernel. This is used to start Jupyter if we're unable to start a notebook without running Jupyter itself (a fallback approach).
To switch kernels, please use the command Jupyter: Select a Kernel
If you are in a Notebook, please use the UI
Closing the issue for now as the command used was incorrect.
If the issue persists, please feel free to comment on this and I'll be able to re-open the issue.

Thanks for pointing out my mistake. Now I've tried the command Jupyter: Select a Kernel and the UI option (bottom right). This solves the problem for VSCode insider. Before I couldn't find the UI option because I was used to it being in the top right corner.
Just to be clear, the problem in (the old) VSCode (still) exists. I've performed the kernel switch using the UI and now I've also tried Jupyter: Select a Kernel. Both methods fail switching the second time. Also, I haven't try an reinstall yet because we were hunting bugs.


Bug: Configurations which include the same root path delete each other's .yaml files on reserialization

Do you want to request a feature or report a bug?
Bug.
What is the current behavior?
Given the existence of the two attached Unicorn.config files, reserializing the Parent Configuration deletes all the Dependent Configuration items, and vice versa.
If the current behavior is a bug, please provide the steps to reproduce.

Copy Unicorn.Dependent.config and Unicorn.Parent.config to /Website/App_Config/Include/Unicorn
Open the Unicorn.aspx page and perform a Reserialization of "Parent Configuration"
Examine the contents of C:/MyDirectory/Unicorn to see a serialization of the /sitecore/Media Library/Images folder
Return to Unicorn.aspx and perform a Reserialization of "Dependent Configuration"
Examine the contents of C:/MyDirectory/Unicorn to see that the serialization of the /sitecore/Media Library/Images folder has been deleted, but now a serialization of /sitecore/Media Library/Experience Explorer exists.

What is the expected behavior?
When serializing a configuration, only that configuration's items should be deleted and recreated - not all items.
Please mention your Sitecore version and Unicorn version.
Sitecore.NET 8.1 (rev. 160519)
Unicorn 3.3.2
Unicorn.zip
Thank you,
vic

Ok I see what you're doing here. Both configurations are set to identical roots. This is essentially telling them to overwrite each other - each configuration must have its own separate physical root.
As the docs in the stock Unicorn.config say:
<!--
		The target data store is where we write serialized items to.

		Note the target data store's rootPath can be any of:
		Absolute filesystem path, e.g. c:\foo\bar
		Web-root-relative path, e.g. ~/data/serialization or ~/../out-of-root-serialization
		Data-folder-relative path, e.g. $(dataFolder)\serializedItems

		DO NOT SHARE A ROOT PATH BETWEEN CONFIGURATIONS (at least if you're using SFS).
		They can clobber each other's folders. You may inject the name of the current
		configuration as a variable with $(configurationName).

		The data cache uses a memory cache to store serialized items read from disk. It
		is recommended if using transparent syncing for performance. It's not really
		needed otherwise.
	-->
<targetDataStore physicalRootPath="$(dataFolder)\Unicorn\$(configurationName)" useDataCache="false" type="Rainbow.Storage.SerializationFileSystemDataStore, Rainbow" singleInstance="true"/>

Thank you Kam.
However, what's unclear to me is that the targetDataStore is part of the  element, not the  element. Might I ask how I would define a unique targetDataStore for the dependent configuration? Is it as simple as creating a complete Unicorn.Dependent.confg?

Any node in defaults in unicorn.config can be overridden in an individual
config by copying and modifying the element to be changed.
Think of it as each config being an IoC container but it contains defaults
unless you change them.
On Tue, Jan 24, 2017, 6:48 AM vlaloggia<EMAIL_ADDRESS>wrote:

Thank you Kam.
However, what's unclear to me is that the targetDataStore is part of the
element, not the element. Might I ask how I would define a unique
targetDataStore for the dependent configuration? Is it as simple as
creating a complete Unicorn.Dependent.confg?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/kamsar/Unicorn/issues/201#issuecomment-274823990, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAGU_Wd26A4DImlAuLE3L4vMjV-RztX3ks5rVg9IgaJpZM4Ll_Av
.

Understood, thank you.
Unfortunately, in my case, I need to merge two disparate Unicorn physical stores. So far, availing myself of Sitecore's .config patching is working out well.
Thank you for your time and attention sir.
vic


Add SymEngine ascii-art

Usage(as in Ruby wrappers):
>>> import symengine
>>> symengine.ascii_art()

Good thing to have in all our wrappers :)

In that case we should move it to the C++ library, so that if we change it (and I proposed to change it in some of our issues), we change it at one place.

Agreed, I'll try to do that.

Will update once this https://github.com/symengine/symengine/pull/797 is merged.


fix: write lock for warmup

Since warmup writes files, it is potentially possible to have multiple process trying to warmup simultaneously.
This PR prevents simultaneous write by using a FileLock (or SoftFileLock in windows).

Codecov Report
Attention: 1 lines in your changes are missing coverage. Please review.

Comparison is base (5a0e6b3) 36.81% compared to head (81b69ab) 53.33%.
Report is 394 commits behind head on main.

Files
Patch %
Lines

siibra/retrieval/cache.py
88.88%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff             @@
##             main     #563       +/-   ##
===========================================
+ Coverage   36.81%   53.33%   +16.51%
===========================================
  Files          61       69        +8
  Lines        5421     6651     +1230
===========================================
+ Hits         1996     3547     +1551
+ Misses       3425     3104      -321

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


Support tensorboard

⚠ Please check that this feature request hasn't been suggested before.

[X] I searched previous Ideas in Discussions didn't find any similar feature requests.
[X] I searched previous Issues didn't find any similar feature requests.

🔖 Feature description
Support tensorboard as an alternative to wandb.
✔ Solution
Before I started using axolotl I swore never to use wandb again. Needs access to server, annoying retry loop that sometimes breaks, doesn't log all steps and misses spikes. I was just reminded that I'd like to use tensorboard when it couldn't save the trained model because no memory left on device (wandb .cache folder is 500GB).
❓ Alternatives
No response
📝 Additional Context
No response
Acknowledgements

[X] My issue title is concise, descriptive, and in title casing.
[X] I have searched the existing issues to make sure this feature has not been requested yet.
[X] I have provided enough information for the maintainers to understand and evaluate this request.

It should be as simple as adding a config for that:
https://github.com/OpenAccess-AI-Collective/axolotl/blob/21cf09b60840ee03ba3ee4e57c2707d2296f532c/src/axolotl/utils/trainer.py#L691
report_to="tensorboard"
or alternatively, we can set it to default to tensorboard if not using wandb.

@ein-ich , could you please try #768 if it helps for you?

Thank you, I'll try it tomorrow.


fix xpath call to get node as Element instead of NodeSet

Coverage remained the same at 99.594% when pulling 5f1c8e77711f5d5fff7b58ad2cc2b66247d798ec on bernabas:fix-xpath-call into d3f257cdb7adb3f8b83c66be0549aed0d954099e on asafschers:master.

Coverage remained the same at 99.594% when pulling 5f1c8e77711f5d5fff7b58ad2cc2b66247d798ec on bernabas:fix-xpath-call into d3f257cdb7adb3f8b83c66be0549aed0d954099e on asafschers:master.

Coverage remained the same at 99.594% when pulling 5f1c8e77711f5d5fff7b58ad2cc2b66247d798ec on bernabas:fix-xpath-call into d3f257cdb7adb3f8b83c66be0549aed0d954099e on asafschers:master.

@asafschers xml.xpath returns the element wrapped in a NodeSet class ... I believe it should be returning the Node as an instance of Element instead of NodeSet (since we only expecting 1 element)

Thanks!


Allow n-dimensional data in compress_hdu and decompress_hdu

At the moment compress_hdu and decompress_hdu are hard-coded to work with 2-d arrays - we should generalize this!

Done!


AttributeError: module 'tensorflow.contrib' has no attribute 'signal'

Previously, I got the signal package merged into contrib: #9236
But now that I recompiled it all after a while, I got this when trying to use it:
AttributeError: module 'tensorflow.contrib' has no attribute 'signal'
Since all the tests went through, how can it be it can't even be found?
Could I have missed adding yet another reference to the package somewhere?

@vrv Any ideas?

I think you need to add an import to tensorflow/contrib/init.py

(The tests don't import the public API; otherwise all tests would be run on any change to any file).

Thanks @vrv, what about other unlisted contrib packages like:
android, batching, benchmark_tools, boosted_trees, cmake, hooks, hvx, imperative, makefile, mpi, pi_examples, verbs, xla_tf_graph
Are all of these not included intentionally or should they be added as well?

I am not sure, I suspect we should leave as is for now. Thanks!
On Sun, May 28, 2017, 10:39 AM Androbin<EMAIL_ADDRESS>wrote:

Thanks @vrv https://github.com/vrv, what about other unlisted contrib
packages like:
android, batching, benchmark_tools, boosted_trees, cmake, hooks, hvx,
imperative, makefile, mpi, pi_examples, verbs, xla_tf_graph
Are all of these not included intentionally or should they be added as
well?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/10232#issuecomment-304528890,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAcTebiaN0XNmcMQG8v-dsxufWZUinIVks5r-bE3gaJpZM4NoHRV
.


Running the glfw example in ghci shows a blank window

When running:
$ cabal repl exe:glfw
[1 of 1] Compiling Main             ( examples/glfw/Main.hs, interpreted )
Ok, one module loaded.
ghci> Main.main
[blank window appears]

Note that this work with exe:vulkan: the dear-imgui window is displayed.
What could be the issue?

Setting :set -fno-ghci-sandbox does not seem to help.

This issue does not happen when using the wayland host api.


[Bug] "Earned Achievements" requires custom variable for progress bar

The "Earned Achievements" progress bar found in the "Games Details" tab in fullscreen mode shows the progress % out of 100 instead of the amount of achievements that the game contains. My two examples of this are shown on Civilization 5 (34 out of 286 unlocked, however progress bar appears to be 34% across) and The Binding of Isaac: Rebirth (171 out of 637 unlocked, progress bar is stretched more than other games to accommodate for a number above 100, this effect also happens on Mass Effect: LE with all 127 achievements unlocked).
Theme = PlayniteModernUI

For me, it's an issue on the them here: https://github.com/davidkgriggs/PlayniteModernUI/blob/9bee29dc71245501710e38d5a28bedc4d1db3a2a/source/Views/GameDetails.xaml#L312
put
Width="{PluginSettings Plugin=SuccessStory, Path=Total}"
instead of
Width="100"

I just tried using the code in your reply, however this just seems to have increased the size of the progress bar to the maximum size at the same ratio instead of asking the progress bar to increase in individual intervals until reaching the maximum. I made sure to use the same line as highlighted in the link. Here is an example of the result:

Should I also post this issue to the ModernUI GitHub page so they can patch it in an official release?

It is true that my code is poorly adapted but this is what is expected in relation to the use made here.
For me, you must open an issue on theme github because the problem is there.


content/en/docs/architecture/ci-operator: Document prerelease 'stream' property

Catching up with openshift/ci-tools#2943

/lgtm
/retest
/remove-lifecycle rotten

/override ci/prow/links
All GitHub 429s.


allow file upload for hashes

On the /jobs/new/details page, the current option is to paste hashes into the text box in order to process for cracking. However, this does not scale very well when attempting to crack large sets of hashes. It would be nice to have the ability to select a file to upload that contains hashes to crack.

We definitely agree and have run into this ourselves. We are planning to make a few API changes to fix the display issue that come with this, but also make it easier to upload large hash files. We need a generic way to upload files for both this and WPA(2) and likely others such as the KeePass and TrueCrypt options. We have a rough idea how to do it, but have been working on a few performance and reliability things first. Planning on getting to this soon though. When we have a prototype, I'll reach out and have you test if that is alright.

Count me in for testing

If you need others for testing, I'd also be interested. Very keen on the file upload and WPA(2) support!

So the latest release should support this under the hashcat 3.10 plugin. You can now upload files, but we have had limited testing of the way this works.


TypeScriptGeneratorSettings setter has been removed

The setter for TypeScriptGeneratorSettings seems as though it was mistakenly removed in https://github.com/NSwag/NSwag/commit/ff9a2eea967b713bb22552c55a5db301c4053cab

Actually I see now that CSharpGeneratorSettings has been changed to read-only as well. I can't see anything about this in the release notes but I assume I am supposed to create my own class instead to override this now. Could we document this somewhere and update the doc tags to clarify?


Merge dev-P head into test base

Merged the ETL pipeline of @jonathancastillo185  into the /etl-eda/1_etl_business.ipynb


Playing/Queuing music_service streaming items results in UPNP errors

I can't for the life of me figure out how to play items I find in music services. I have tried TuneIn, Slacker, and iHeartRadio.
Here are two scripts that demonstrate different approaches I have taken and both result in different UPNP errors.
Am I doing it wrong, or is it even possible to play or queue-up music service items using soco?
tunein_test1.py.txt
tunein_test2.py.txt

You can't add a radio station to the queue, so add_to_queue will never work

play_uri is closer, but is really designed to play arbitrary streaming uris, not music service items

There is currently no easy function to play a stream from a music service (as opposed to a track or album). Generating a streaming uri using some modification of sonos_uri_from_id might do it, but you'd have to dig out wireshark and see what is going on when the official controllers play a stream

I'll add this to the list of things to look at 😉

OK, this seems to work (at least with TuneIn). Let me know if it works with the others:
from __future__ import unicode_literals
from soco import SoCo
from soco.music_services import MusicService
from soco.data_structures import DidlItem, to_didl_string
from soco.compat import quote_url

device = SoCo('<IP_ADDRESS>')  # Replace with IP address of your sonos
service = MusicService('TuneIn')
item_id = "s270109"
item_id = quote_url(item_id.encode('utf-8'))

account = service.account
uri = "x-sonosapi-stream:{0}?sid={1}&sn={2}".format(
    item_id, service.service_id, account.serial_number)

didl = DidlItem(
    title="DUMMY", parent_id="DUMMY",item_id="DUMMY", desc=service.desc)
meta = to_didl_string(didl)

device.avTransport.SetAVTransportURI(
    [('InstanceID', 0), ('CurrentURI', uri), ('CurrentURIMetaData', meta)])
device.play()

Thanks! I'll do some testing with different streams and services using this method and report results back here.

I tested this approach with Slacker radio. It did not work, but after capturing some packets with Wireshark I was able to get the right URI. Here is a script that plays a Slacker radio item.
slacker_test.py.txt

The code above from @lawrenceakka works with SiriusXM, Pandora, and Calm Radio channels that are in the Sonos Favorites list, as enumerated by either PLAYER.music_library.get_sonos_favorites() or PLAYER.get_sonos_favorites()
Example URIs for each service, as stored in the Sonos Favorites:
Sirius XM: 'x-sonosapi-hls:live%3a9450?sid=37&flags=8480&sn=4'
Pandora: 'x-sonosapi-radio:ST:3493649015737010677?sid=236&flags=8300&sn=1'
Calm Radio: 'x-sonosapi-stream:stream%3a9%3a320?sid=144&flags=8224&sn=3'
Calling PLAYER.play_uri(uri) with these SiriusXM and Calm Radio URIs doesn't work.    PLAYER.play_uri(uri) does work with the Pandora URIs, though.
>>> uri = 'x-sonosapi-hls:live%3a9450?sid=37&flags=8480&sn=4'
>>> PLAYER.play_uri(uri)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.6/dist-packages/soco/core.py", line 106, in inner_function
    return function(self, *args, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/soco/core.py", line 591, in play_uri
    ('CurrentURIMetaData', meta)
  File "/usr/local/lib/python3.6/dist-packages/soco/services.py", line 213, in _dispatcher
    return self.send_command(action, *args, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/soco/services.py", line 498, in send_command
    self.handle_upnp_error(response.text)
  File "/usr/local/lib/python3.6/dist-packages/soco/services.py", line 560, in handle_upnp_error
    error_xml=xml_error
soco.exceptions.SoCoUPnPException: UPnP Error 402 received: Invalid Args from <IP_ADDRESS>

However, creating the DUMMY DidlItem and meta string, and using PLAYER.avTransport.SetAVTransportURI() does work.
>>> didl = DidlItem(title="DUMMY", parent_id="DUMMY",item_id="DUMMY", desc='DUMMY')
>>> meta = to_didl_string(didl)
>>> PLAYER.avTransport.SetAVTransportURI([('InstanceID', 0), ('CurrentURI', uri), ('CurrentURIMetaData', meta)])
True
>>> PLAYER.play()
>>> PLAYER.get_current_track_info()
{'title': 'x-sonosapi-hls:live:9450?sid=37&flags=8480&sn=4', 'artist': '', 'album': '', 'album_art': '', 'position': '0:00:05', 'playlist_position': '1', 'duration': '0:00:00', 'uri': 'x-sonosapi-hls:live%3a9450?sid=37&flags=8480&sn=4', 'metadata': '<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="sonos.com-http:*:application/x-mpegURL:*">x-sonosapi-hls:live%3a9450?sid=37&flags=8480&sn=4</res><r:streamContent>BR P|TYPE=SNG|TITLE If You Could Only See (97)|ARTIST Tonic|ALBUM </r:streamContent><upnp:albumArtURI>http://albumart.siriusxm.com/albumart/2200/NDCA-000061664-002_m.jpg</upnp:albumArtURI><dc:title>x-sonosapi-hls:live:9450?sid=37&flags=8480&sn=4</dc:title><upnp:class>object.item.audioItem.musicTrack</upnp:class></item></DIDL-Lite>'}

I did read in the docs that play_uri() is only for unauthenticated URIs, but I don't have any issues playing URIs via the SetAVTransportURI() method.  Although, MusicServices seems to be entirely unaware of any service subscriptions, it doesn't seem to interfere with being able to play URIs from subscription services.
>>> MusicService.get_all_music_services_names()
['Radio.com', 'Global Player', 'Apple Music', 'Triple M', 'SoundCloud', 'Audible', 'Spotify', 'Pandora', 'Napster', 'Google Play Music', 'NRK Radio', 'CBC Radio & Music', 'Amazon Music', 'Hit Network', 'Relisten', 'ARTRADIO - RadioArt.com', 'WEYV', 'My Cloud Home', 'Worldwide FM', 'Plex', 'iHeartRadio', 'myTuner Radio', 'nugs.net', 'LivePhish+', 'PowerApp', 'radio.net', 'Canopy', 'Sveriges Radio', 'Minidisco', 'NTS Radio', 'TIDAL', '企鹅FM', 'Radio Disney', 'storePlay', 'Stitcher SmartRadio', 'SiriusXM', 'deliver.media', 'Saavn', 'Pocket Casts', 'TuneIn', "Wolfgang's Music", 'AccuRadio', 'Deezer', 'Bandcamp', 'focus@will', 'RauteMusik.FM', 'Audiobooks.com', 'Murfie', 'Stingray Music', 'FIT Radio Workout Music', 'radioPup', 'Mixcloud', 'Hype Machine', '7digital', 'Anghami', 'SOUNDMACHINE', 'Custom Channels', 'Dash Radio', 'Rockbot', 'NhacCuaTui', 'Tribe of Noise', 'Slacker', 'Mood Mix', 'Classical Archives', 'Gaana', 'Spreaker', 'Radionomy', 'RUSC', 'Calm Radio', 'hotelradio.fm', 'Hearts of Space', 'DAR.fm Record Radio']
>>> MusicService.get_subscribed_services_names()
[]

For any finding this thread who want a workaround (based on the above information).
Tested with soco 0.29.0, on 1/26/23, with SiriusXM
# 1. First save your radio station (or whatever) as a  **Sonos Favorite**

# 2. Get a player
player=soco.discovery.by_name("MySonosPlayerName")

# 3. Print your favorites
print(favorites := player.get_sonos_favorites())

# 4. Select your favorite
fav=favorites['favorites'][0]

#5. Play it!
player.play_uri(uri=fav["uri"], meta=fav["meta"])


Allowing grid to reset without a StateModel

Hoist P/R Checklist
Pull request authors: Review and check off the below. Items that do not apply can also be
checked off to indicate they have been considered. If unclear if a step is relevant, please leave
unchecked and note in comments.

[ ] Caught up with develop branch as of last change.
[ ] Added CHANGELOG entry, or determined not required.
[ ] Reviewed for breaking changes, added breaking-change label + CHANGELOG if so.
[ ] Updated doc comments / prop-types, or determined not required.
[ ] Reviewed and tested on Mobile, or determined not required.
[ ] Created Toolbox branch / PR, or determined not required.

If your change is still a WIP, please use the "Create draft pull request" option in the split
button below to indicate it is not ready yet for a final review.

Pull request reviewers: when merging this P/R, please consider using a squash commit to
collapse multiple intermediate commits into a single commit representing the overall feature
change. This helps keep the commit log clean and easy to scan across releases. PRs containing a
single commit should be rebased when possible.

Briefly reviewed with Lee. He wants to think about the approach.

Tom -- can you take a look and give your thoughts on this?  I was hoping for something simple that would just get us the restore ability in all grids.

Looks good to me.
Did we consider saving the entire constructor params as e.g. this.initialConfig? Would mean we wouldn't need the saveInitialConfigs() method, and may be useful generally to know how a model was configured.
I think Ext had a pretty baked in concept of keeping initialConfigs around.

This one makes me a little nervous -- also feel like its a bit unfortunate that we don't have a way to 'clear' this config when are saving it in the dashboard, as we do in some client apps -- this changes would just write out the default, I think.

Looks like we forgot the mobile  col chooser here.

Glad to fix? Are we running with this approach?


Local Dev

Setup the ability to do local dev with Firebase Emulators with Simulator or Real Device.

Moved here:
https://github.com/covid19risk/covidwatch-ios-pilot/pull/1


Can you add an "onlyFields" option?

Hi,
Thanks for this awesome plugin. I am a Chrome extension developer and I use this plugin go automatically generate the contents of my manifest.json from package.json.
Chrome is very strict about what can be in manifest.json and doesn't allow the "license" and "repository" field.
I tried explicitly specifying the files like this:
.pipe(confSync({
      src: './package.json',
      fields: ['name', 'version', 'description']
    }))

But it still syncs the "license" and "repository" fields from package.json to manifest.json.
I was wondering if this is not a bug for the "fields" option, would it be possible to add an option called "onlyFields" that syncs only and only the properties I mention?
Test
'manifest.json':
{
  "name": "",
  "description": "test",
}

package.json (same as https://github.com/danlevan/gulp-config-sync/blob/master/package.json)
configuration:
.pipe(confSync({
      src: './package.json',
      fields: ['name', 'version']
    }))

Resulting manifest.json
{
  "name": "gulp-config-sync",
  "version": "1.0.1"
  "description": "test",
}

and no other fields come to manifest.json

Hi @hanifbbz thanks for the issue. You are right, it uses _.merge that will add all the default even if you don't specify it.
I made a new release v1.0.2 that should fix this. I created a test like you suggested :)
Let me know if it works.

More info:
If you use
.pipe(confSync({
src: './package.json',
fields: ['name', 'version']
}))
That should work :)


feat(pubsublite): async topic partition count reader

This PR implements an asynchronous method for retrieving the number of partitions for a Pub/Sub Lite topic.

This change is

Closed due to https://github.com/googleapis/google-cloud-cpp/pull/8640


WIP: Company logo

Purpose: Show a company logo next to the name.
Method: Include a file in the same path as the YML content. Specify as logo: basename and it will select a file with that name and a supported extension. Supported formats for latex: jpg, png, pdf, eps.
TBD: need to add markdown and HTML output
Blocked by https://github.com/rendercv/rendercv/pull/193 and https://github.com/rendercv/rendercv/pull/239

Thank you for the PR.
It's still draft but I have two concerns about this:

Is it okay to use companies logos in our CVs? Copyright issues, etc. I see a lot of discussion on the internet that says it's not recommended to use company logos. If it's not, we shouldnt have this feature in RenderCV. RenderCV shouldn't mislead people to do mistakes in their CVs.
We are switcihing to Typst soon, so it would be the best to wait for that first.

Thank you for the PR.
It's still draft but I have two concerns about this:

Is it okay to use companies logos in our CVs? Copyright issues, etc. I see a lot of discussion on the internet that says it's not recommended to use company logos. If it's not, we shouldnt have this feature in RenderCV. RenderCV shouldn't mislead people to do mistakes in their CVs.
We are switcihing to Typst soon, so it would be the best to wait for that first.

This is a good point, I suppose the only counterpoint I can offer os that company logos are routinely on hiring sites, and LinkedIn shows logos on work history.


Fix clang-tidy errors in SPIFFE security stack

Fix clang-tidy errors in SPIFFE security stack discovered in google3 import.

The changes in this PR is cosmetic and should not cause any new test failures. Merging now.


chart with go-getter bugs with template cmd

with
# helmfile.yaml
releases:
- name: pinpoint
  chart: git::https://github.com/pinpoint-apm/pinpoint-kubernetes.git@pinpoint?ref=master

runing template results in this error
.helmfile\cache\pinpoint\https_github_com_pinpoint-apm_pinpoint-kubernetes_git.ref=master\pinpoint
  Error: found in Chart.yaml, but missing in charts/ directory: mysql, hdfs, zookeeper
  helm.go:81: [debug] found in Chart.yaml, but missing in charts/ directory: mysql, hdfs, zookeeper
  helm.sh/helm/v3/pkg/action.CheckDependencies

I saw this https://github.com/roboll/helmfile/pull/1408 but I haven't had time to look into closely.
Note to self:

@itscaro Thanks for reporting. This does sound like a bug. We do use go-getter internally to fetch the chart and use it as if it was a local chart.
In that case, I thought, any helmfile command should result in running helm dep build, which downloads those mysql, hdfs, and zookeeper dependencies.
Maybe it's not working as expected?

@mumoshu I will investigate this tomorrow or this weekend, will tell you if I find something.

@mumoshu The test to skip deps seems buggy, for go-getter-fetched charts should they be considered local?

@itscaro Thanks. That's actually a good catch!
I think you are almost correct. But what seems important here would be to differentiate the needs to run helm dep up and helm dep build respectively.
Currently, a local chart generated by using go-getter always results in skipping helm dep up and helm dep build altogether, which makes your case failing.
Previously, we were running both helm commands, so your issue didn't occur. However, it resulted in #1547 instead, which was fixed by #1548.
So just letting it run helm dep up and build on your case brings back #1547, which isn't what we want.
Probably we let chartify only skip helm dep up, so that helmfile will work on both yours and the linkerd chart mentioned in #1547?

@itscaro Ah sorry, I realized you aren't using chartify at all. Then, specifically fixing your issue should be possible just by changing the !isLocal part to (!isLocal && !chartFetchedByGoGetter), so that it runs helm dep build when the chart if fetched by ge-getter.

It turns out even helm dep build fails on the linkerd2 chart.
Perhaps we can just treat the linkerd chart as broken and make it a special case?
$ helm repo add linkerd https://helm.linkerd.io/stable
$ helm fetch linkerd/linkerd2 --version 2.8.1
$ tar zxvf linkerd2-2.8.1.tgz
$ helm dep up linkerd2
Error: directory partials not found
$ helm dep build linkerd2
Error: directory partials not found

Read https://github.com/roboll/helmfile/pull/1548 a bit more, and this turns out to be a regression introduced there.
Apparently, I only intended to make it possible to opt-out running helm dep up/build by skipDeps: true in https://github.com/roboll/helmfile/pull/1548, but the bug in skipDeps you pointed out resulted in you can't run dep up/build at all on a chart fetchded by go-getter.


fix small typo in :changes docs

Codecov Report

Merging #3228 into master will increase coverage by 0.03%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #3228      +/-   ##
==========================================
+ Coverage   76.42%   76.45%   +0.03%
==========================================
  Files          93       93
  Lines      136797   136796       -1
==========================================
+ Hits       104547   104588      +41
+ Misses      32250    32208      -42

Impacted Files
Coverage Δ

src/if_xcmdsrv.c
84.17% <0%> (-0.36%)
:arrow_down:

src/ex_cmds.c
79.81% <0%> (-0.23%)
:arrow_down:

src/ui.c
46.86% <0%> (-0.08%)
:arrow_down:

src/channel.c
83.03% <0%> (-0.08%)
:arrow_down:

src/if_py_both.h
76.56% <0%> (-0.01%)
:arrow_down:

src/syntax.c
78.39% <0%> (+0.02%)
:arrow_up:

src/getchar.c
75.21% <0%> (+0.04%)
:arrow_up:

src/screen.c
76.77% <0%> (+0.06%)
:arrow_up:

src/gui_gtk_x11.c
48.18% <0%> (+0.09%)
:arrow_up:

src/os_unix.c
57.56% <0%> (+0.13%)
:arrow_up:

... and 5 more

Continue to review full report at Codecov.

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

I'll include it, thanks.


Nuxt3 SSR Issue

[Vue warn]: Failed to resolve directive: auto-animate
[nitro] [dev] [unhandledRejection] TypeError: Cannot read properties of undefined (reading 'getSSRProps')
   at component line where v-auto-animate is used

I have the same issue, any insight into this? I tried wrapping my list in  but still get an error in my console: "dir is undefined"

Nope i'm not able to solve this

I'm not getting the error on my current nuxt 3 stable. Maybe its resolved?
import { autoAnimatePlugin } from '@formkit/auto-animate/vue'

export default defineNuxtPlugin(nuxtApp => {
  nuxtApp.vueApp.use(autoAnimatePlugin)
})

I have the same issue... need help :(

Can someone produce a minimal reproduction and post it back to here? Happy to take a look

I had the same issue with Nuxt 3 and updated my plugin the same as @chris-visser and it worked like a charm

Okay, so I still experience the same problem, but maybe this is useful to someone.
The problem seems to be, that in the Vue Directive the getSSRProps() node is missing for nuxt to correctly work with the directive on the server side. A quick and dirty workaround from me:
// <your-nuxt-root>/plugins/auto-anim-directive.ts

import autoAnimate from "@formkit/auto-animate"

export default defineNuxtPlugin((nuxtApp) => {
  nuxtApp.vueApp.directive('auto-anim', {
    mounted: (el, binding) => {
      autoAnimate(el, binding.value || {});
    },
   // we can just return this as an empty object
    getSSRProps(binding, vnode) {
      return {}
    }
  })
})

Nuxt should import that directive automatically. Maybe restart your dev server.
In your Vue Component you can then use it as intended:

<template>

      <button class="p-5 bg-green" @click="toggle = !toggle">click me</button>

</template>

@justin-schroeder: Maybe worth giving it a shot? If you want to, i can make a PR.

Just in case someone wanders in here: Delete .client from your Nuxt 3 auto animate plugin, otherwise you get this error.

for anyone got this issue, check your module name in nuxt config file. it has to be @formkit/auto-animate/nuxt.
// nuxt.config.ts export default defineNuxtConfig({   modules: ['@formkit/auto-animate/nuxt'], })


[jsx-filename-extension]: option to allow empty files

Given the config
rules:
  react/jsx-filename-extension: [2, {allow: as-needed]}]

a file that is empty or contains only comments triggers the rule, for example a .jsx file with:
// Put your components here

I think a option to allow empty files when as-needed is specified would be ideal for this use case, not sure whether it should be the default, but I think it could be.

Why? That would mean that as soon as you add code to it, you might get an error that forces you to rename it.

ohhh, i see - you want it to be .jsx but the rule is saying it's not needed and warning on it?

Yes exactly. A empty file is kind of an edge-case for such on-demand .jsx extension.

then yes, i think an additional option that ignores empty files would be reasonable.

Okay, maybe I'll look into implementing it if it's not too hard.


Fix redirect output logic

This fixes the case where the CLI does not detect if a user is redirecting the output to a device file such as /dev/null.

@bryfox ah oops! one second


Quote ansible default value.

Description
This patch quotes a default value in the ansible configuration which fixes https://github.com/apache/openwhisk-devtools/issues/329.

Related issue and scope

[x] I opened an issue to propose and discuss this change (apache/openwhisk-devtools#329.)

My changes affect the following components

[ ] API
[ ] Controller
[ ] Message Bus (e.g., Kafka)
[ ] Loadbalancer
[ ] Scheduler
[ ] Invoker
[ ] Intrinsic actions (e.g., sequences, conductors)
[ ] Data stores (e.g., CouchDB)
[ ] Tests
[ ] Deployment
[ ] CLI
[x] General tooling
[ ] Documentation

Types of changes

[x] Bug fix (generally a non-breaking change which closes an issue).
[ ] Enhancement or new feature (adds new functionality).
[ ] Breaking change (a bug fix or enhancement which changes existing behavior).

Checklist:

[x] I signed an Apache CLA.
[x] I reviewed the style guides and followed the recommendations (Travis CI will check :).
[ ] I added tests to cover my changes.
[ ] My changes require further changes to the documentation.
[ ] I updated the documentation where necessary.

Codecov Report

Merging #5101 (abcafc7) into master (d741c87) will decrease coverage by 74.70%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #5101       +/-   ##
==========================================
- Coverage   80.45%   5.74%   -74.71%
==========================================
  Files         216     216
  Lines       10609   10609
  Branches      453     453
==========================================
- Hits         8535     610     -7925
- Misses       2074    9999     +7925

Impacted Files
Coverage Δ

...ain/scala/org/apache/openwhisk/spi/SpiLoader.scala
0.00% <0.00%> (-100.00%)
:arrow_down:

...n/scala/org/apache/openwhisk/utils/JsHelpers.scala
0.00% <0.00%> (-100.00%)
:arrow_down:

...scala/org/apache/openwhisk/common/Prometheus.scala
0.00% <0.00%> (-100.00%)
:arrow_down:

...scala/org/apache/openwhisk/core/FeatureFlags.scala
0.00% <0.00%> (-100.00%)
:arrow_down:

...ala/org/apache/openwhisk/common/ConfigMXBean.scala
0.00% <0.00%> (-100.00%)
:arrow_down:

...la/org/apache/openwhisk/http/BasicRasService.scala
0.00% <0.00%> (-100.00%)
:arrow_down:

...a/org/apache/openwhisk/common/ConfigMapValue.scala
0.00% <0.00%> (-100.00%)
:arrow_down:

...a/org/apache/openwhisk/core/database/Batcher.scala
0.00% <0.00%> (-100.00%)
:arrow_down:

...a/org/apache/openwhisk/core/entity/WhiskAuth.scala
0.00% <0.00%> (-100.00%)
:arrow_down:

.../org/apache/openwhisk/core/entity/EntityPath.scala
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 175 more

Continue to review full report at Codecov.

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

@KeonHee @style95 whoever gets to it first 🙏


Container Expansion.

Containers can be expanded on demand, through contextual menus and / or mouse clicks or via
an API call. Expanded means that instead of seeing a container we will the container and the
element it contains

an HNode responds to collapse or expand methods, this methods change the visibility of the node and notifies a change to the visualization.
The visualization also puts a contextual menu to collapse or expand the node

update of this behavior

Fixed