fix(monitor): do not include outputs when monitors are supported

Previously, when splitting an output into two monitors, polybar -m
would report both the splitted monitors and the output. This was not
caught by the the clone detection as the detection works by removing
monitors contained into another monitors (and monitors were excluded
from that logic) and we want the other way around: outputs covered by
monitors should be ignored.
Instead of trying to detect covered outputs, the solution is quite
simple: when monitors are supported, do not consider outputs. A
monitor can be set primary (and RandR reports primary outputs as
primary monitors). The only information we would miss from monitors
are things like refresh rate and EDID. We don't need that, so we are
fine.
As monitors are only created for connected output (and they are in
this case "active") or disconnected output if they are mapped (and
they are in this case "inactive"), I am a bit unsure if we have
exactly the same behaviour as previously when connected_only is set
to false.
As some modules require an output, we keep the output in the
monitor_t structure and we ensure it is correctly set when using
monitors. A monitor can have 0 or several outputs. We only handle the
0 and 1 cases. When a monitor has more outputs, only the first one is
used. AFAIK, only the xbacklight module needs that and I think we are
fine waiting for a user needing this module and merging monitors.
This last part is buggy. The C++ binding fail to expose the
outputs() method to iterate over the outputs of a monitor. This
seems to be a bug in XPP. The field is correctly defined in the RandR
XML file and it works with the Python binding. I attempt to fallback
to C, but the C header does not have room to include this information
and the C++ binding may make a copy, losing the information.
	<struct name="MonitorInfo">
		<field type="ATOM" name="name" />
		<field type="BOOL" name="primary" />
		<field type="BOOL" name="automatic" />
		<field type="CARD16" name="nOutput" />
		<field type="INT16" name="x" />
		<field type="INT16" name="y" />
		<field type="CARD16" name="width" /> <!-- pixels -->
		<field type="CARD16" name="height" /> <!-- pixels -->
		<field type="CARD32" name="width_in_millimeters" />
		<field type="CARD32" name="height_in_millimeters" />
		<list type="OUTPUT" name="outputs">
		    <fieldref>nOutput</fieldref>
		</list>
	</struct>

When not buggy, we shouldn't get "XRandR monitor" in the output of
polybar -m unless there is no output attached to the monitor.
Fix #2481

What type of PR is this? (check all applicable)

[ ] Refactor
[ ] Feature
[x] Bug Fix
[ ] Optimization
[ ] Documentation Update
[ ] Other: Replace this with a description of the type of this PR

Documentation (check all applicable)

[ ] This PR requires changes to the Wiki documentation (describe the changes)
[ ] This PR requires changes to the documentation inside the git repo (please add them to the PR).
[x] Does not require documentation changes

Unfortunately, I don't know how hard this is to fix the remaining issue (in XPP, I think).

OK, I have added a line of code for also showing physical outputs (the one with any_of). Changelog added and I squashed everything.


ModuleNotFoundError: No module named 'pkg_resources' error after upgrading to Devbox v0.0.9

Description
After Devbox automatically upgraded itself to v0.0.9, my Devbox environment broke. This was not happening in Devbox v0.0.7.
When running python -m pipenv inside the Devbox instance, the following error is shown:
Traceback (most recent call last):
  File "/nix/store/rs23kn5r3qm96cq26b6bzy2w7rs5r39d-python3-3.10.5/lib/python3.10/runpy.py", line 187, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "/nix/store/rs23kn5r3qm96cq26b6bzy2w7rs5r39d-python3-3.10.5/lib/python3.10/runpy.py", line 146, in _get_module_details
    return _get_module_details(pkg_main_name, error)
  File "/nix/store/rs23kn5r3qm96cq26b6bzy2w7rs5r39d-python3-3.10.5/lib/python3.10/runpy.py", line 110, in _get_module_details
    __import__(pkg_name)
  File "/Users//*****/.local/lib/python3.10/site-packages/pipenv/__init__.py", line 58, in <module>
    from .cli import cli
  File "/Users//*****/.local/lib/python3.10/site-packages/pipenv/cli/__init__.py", line 1, in <module>
    from .command import cli  # noqa
  File "/Users//*****/.local/lib/python3.10/site-packages/pipenv/cli/command.py", line 7, in <module>
    from pipenv.cli.options import (
  File "/Users//*****/.local/lib/python3.10/site-packages/pipenv/cli/options.py", line 3, in <module>
    from pipenv.project import Project
  File "/Users//*****/.local/lib/python3.10/site-packages/pipenv/project.py", line 23, in <module>
    from pipenv.environment import Environment
  File "/Users/*****/.local/lib/python3.10/site-packages/pipenv/environment.py", line 14, in <module>
    import pkg_resources
ModuleNotFoundError: No module named 'pkg_resources'

Running pipenv alone does not cause the error, only python -m pipenv does now.
My devbox.json:
{
  "packages": [
    "python310",
    "pipenv"
  ]
}

How to reproduce

Use Devbox v0.0.9 (I suspect v0.0.8 is the version, where this regression started to occur)
Use the devbox.json shown above
Run python -m pipenv inside the Devbox shell

I hope there will be a way to fix the version of Devbox to make these kinds of regression bugs

@savil Running DEVBOX_USE_VERSION=0.0.7 devbox shell helped, and I'm again up and running.

This should be fixed in version 0.0.10, which was just released.


Open shell/logs in new window

In the UI, it would be nice to be able to detach both the logs and shell access to a container so multiple ones can be used simultaneously.

+1

:+1:

+1

+1

+1

:+1:

This would have to do some interesting magic to keep a socket open and the terminal open while transferring it to a new window, but I think is possible...

or open it up detached already.

As an option if you hold the alternate key (Cmd on mac, Ctrl on others) while clicking the action, with a ProTip in the dialog to tell you about it.

Version - master 3/15
Verified fixed/added


Encoding Problem

I'm currently using your library at my project for downloading a large number of small files. These files are parts of a web app that needs to be downloaded locally and is displayed via a webview. Until RC5 everything was fine, I tried using RC8 and the downloaded files has a strange encoding thus the browser was not able to display them. BTW great work, keep it up.

@Sergios21 what kind of weird encoding are you seeing? Can you share a sample? Does this happen in another Android Studio project?

@Sergios21 is this still an issue?

I will be working on it tomorrow so I will let you know as soon as I am able to reproduce it. It is happening in my own Android studio project.

I've attached some files that were downloaded with the RC8 versio. As you will see they are corrupted or their encoding is wrong.
sample.zip

@Sergios21 I am going to look into this some more

@Sergios21 Tested several urls and file downloads and they were all successful with no encoding issues. I also checked the md5 checksum of the downloaded files to make sure they matched. Could It be the device you are using? Can you test on another device?

HI Tony, I have tested on the Galaxy Note 5, on the Galaxy S8, on the Nexus 5x, on the Redmi 4x, on the Redmi note 3, One plus X, HTC U11 Plus and a Lenovo tab. We were using Amazon's S3 for storage. We have just switched to Amazon's cloudfront (I haven't tested it on cloudfront).
Following is a public S3 URL that you can test:
https://s3.amazonaws.com/myownbucket-8675309/my-internet-chart/my-webpage.html

@Sergios21 Just tested and I got no encoding issue. Here is the sample file downloaded with Fetch2 on a Motorola device.
fetchwebsite.html.zip

I'll be working on the project tomorrow so I will keep testing to try and get to the bottom of this.

Hello Tony, I've been trying to find the issue. I''ve narrowed down that the issue occurs from RC6 onwards RC5 works just fine.
The way I'm using Fetch is the following:
I need to download two groups of files that are later fed into a webview for offline access.
The first group are files that contain web code and images. This is essential. for the web applications to run.
These web applications have a set of multimedia assets. If these assets are not present offline, the application loads an online copy of the file. Otherwise the file is loaded from storage.
Following is my object initialization code:
`public Fetch contentFetch;
public Fetch applicationFetch;
OkHttpClient applicationOkHttpClient = new OkHttpClient.Builder()
.build();
    OkHttpClient contentOkHttpClient = new OkHttpClient.Builder()
            .build();

applicationFetch = new Fetch.Builder(this, "application")
.setDownloader(new OkHttpDownloader(applicationOkHttpClient))
.setDownloadConcurrentLimit(10) // Allows Fetch to download 4 downloads in Parallel.
.enableLogging(false)
.build();
contentFetch = new Fetch.Builder(this, "content")
.setDownloader(new OkHttpDownloader(contentOkHttpClient))
.setDownloadConcurrentLimit(4) // Allows Fetch to download 4 downloads in Parallel.
.enableLogging(false)
.build();
`
When using Fetch above version RC5, the applocationFetch downloads the files in the corrupt manner that I had attached. The contentFetch downloads everything normally.
All files, both content and application, are hosted on cloudfront.
Following is the method that I use to provide the local path to where each file will be saved:
public String getSaveDir() {         return activity.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS).toString() + "/appname/" + user.getServerUrl().replace("/", "") + "/";     }

@Sergios21 Here are a few troubleshooting suggestions.

Can you change the concurrent download limit to 1 for the applicationFetch and change the namespace from application to something else. Then try downloading  the files again

use the httpurlconnection downloader for the the applicationFetch and see if anything changes.

Looking forward to hearing the results.

Hello Tony,
I changed the namespace of my fetch instances and had the same results.
What actually worked was not using the OkHttpDownloader but reversing back to httpurlconnection .
I keep using the OkHttpDownloader for my content download and it works just fine.

Yup I figured okHttp was encoding your content wrong. What you may want to do is check the different okhttp options and configure its settings. That may help. I will go ahead and close this issue. Open a new ticket if you have any issues.

OK Tony, thank you for your time and an awesome library. Keep up the good work.

FYI, it was a problem with the okHttp Response. My backend guys gzipped all files before uploading. Cloudfront does this on it's own. So the library read the "Accept-Encoding", "gzip, deflate, br" header and unzipped the files once but didn't know that the contents were zipped as well. Hence the encoding error. We have stopped zipping the files on our server and everything works perfectly.


Remove information about the environment from exception when reverting VM snapshot

Description
When attempting to revert a VM to a VM snapshot, the exception displayed to users can expose some information about the environment.
This PR addresses this issue by keeping the current message to be sent to the logs and adding a new one for the exception shown to users.
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[x] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)
[ ] build/CI
[ ] test (unit or integration test code)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[x] Minor

Screenshots (if appropriate):

How Has This Been Tested?
I forced a CloudRuntimeException when reverting a VM to a VM snapshot and the new exception was thrown as expected. Then I checked that the current message was still being added.

I am not sure if and how many testing we would need for this, only the textual contents of an exception message has changed and that contents is still available in the log.


NP at the END of the chain?

Hello.
I am reading through instructions, but can not find info about it anywhere.
Is it possible to set NP after 2 basic card attacks?
I currently have a setup, where I can realiably 3turn it, if anyone attacks the highest HP enemy before firing NP to get enough refund. Yet I do not know, if I can set it up like that through the script.
Thank you for the answer.

Look here: https://29988122.github.io/Fate-Grand-Order_Lua/#/features?id=attack-with-command-cards-before-nps


add codeowners file

Hope it's correct syntax

You need to add usernames to the file

You need to add usernames to the file

lol, content didn't get committed


fix: excessive builds

If the guages animate from any value to 0 there is a bit of pointer color painted which disappears after about 20 seconds.
The following pr attempts to fix this.
- What I did
Rebuild gauges only once when values are updated.
- How I did it
Moved animationController.animateTo from build into didUpdateWidget
changlelog:
Stop continuous rebuilds.

HI @KevMCarp, Thanks for the PR. We've moved the at_gauges library over to at_viz library to provide even more visualisations. The code remains the same. Can you add your PR there. Thanks for your contribution.


Fix window git clone error invalid path

just chanage the snapshotsfile names ">" to "_" to fix window clone error:
error: invalid path 'packages/replicad/tests/drawing/snapshots/booleans.test.ts-tests-drawing-booleans.test.ts->-build-from-triangles-1-snap.svg'
Here are some helpful links:
https://dev.to/jumbo02/how-to-fix-error-invalid-path-when-working-with-git-on-windows-16kf
https://learn.microsoft.com/en-us/windows/win32/fileio/naming-a-file

@goswinr
I found a similar pr open.
please merge one or change the file name you like but not invalid in window
it help a lot

my PR is here: https://github.com/sgenoud/replicad/pull/148


aarch64: mmu: cleanups and fixes

Major changes:

move related functions together
optimize add_map() not to walk the page tables twice on
every loop
properly handle leftover size when a range is already mapped
don't overwrite existing mappings by default
return an error when the mapping fails

and make the code clearer overall.

Hey @npitre, some tests are failing on CI because of the MT_OVERWRITE attribute. The failure looks like this:
*** Booting Zephyr OS build zephyr-v2.4.0-3436-g295e69788289  ***
Running test suite test_mem_map
===================================================================
START - test_z_phys_map_rw
ASSERTION FAIL [0] @
WEST_TOPDIR/zephyr/arch/arm/core/aarch64/mmu/arm_mmu.c:214
        entry already in use: level 2 pte 0x40012018 *pte
0x0060000040600711

The problem is that we need to map as MT_OVERWRITE also the regions that are dynamically allocated at runtime using arch_mem_map() so you need to have:
uint32_t entry_flags = MT_SECURE | MT_P_RX_U_NA | MT_OVERWRITE;

because these regions are overlapping the SRAM region.

Hey @npitre, some tests are failing on CI because of the MT_OVERWRITE attribute. The failure looks like this:
*** Booting Zephyr OS build zephyr-v2.4.0-3436-g295e69788289  ***
Running test suite test_mem_map
===================================================================
START - test_z_phys_map_rw
ASSERTION FAIL [0] @
WEST_TOPDIR/zephyr/arch/arm/core/aarch64/mmu/arm_mmu.c:214
        entry already in use: level 2 pte 0x40012018 *pte
0x0060000040600711

The problem is that we need to map as MT_OVERWRITE also the regions that are dynamically allocated at runtime using arch_mem_map() so you need to have:
uint32_t entry_flags = MT_SECURE | MT_P_RX_U_NA | MT_OVERWRITE;

because these regions are overlapping the SRAM region.

@npitre I force-pushed the fixes.

@npitre I force-pushed the fixes.

does the arch MMU code include kernel_arch_interface.h? I would expect CI to fail due to prototype mismatch for arch_mem_map() since it has void return value now

does the arch MMU code include kernel_arch_interface.h? I would expect CI to fail due to prototype mismatch for arch_mem_map() since it has void return value now

On Tue, 26 Jan 2021, Andrew Boie wrote:

does the arch MMU code include kernel_arch_interface.h? I would expect CI to fail due to prototype mismatch for arch_mem_map() since it has void return value now

It didn't. Now fixed.
And it now panics on error.
Will address your other comments in another PR.

On Tue, 26 Jan 2021, Andrew Boie wrote:

does the arch MMU code include kernel_arch_interface.h? I would expect CI to fail due to prototype mismatch for arch_mem_map() since it has void return value now

It didn't. Now fixed.
And it now panics on error.
Will address your other comments in another PR.

looks good, ship it

looks good, ship it


Problem with ng-repeat

Hello @benjamincharity
When I don't use ng-repeat - just plain HTML - everything works like a charm.
But I have a problem when using ng-repeat with bc-flickity directive. It seems it runs after bc-flickity postLink is finished.
I put a breakpoint in this line https://github.com/benjamincharity/angular-flickity/blob/master/src/flickity.directive.js#L53 to find out that:

When using plan html (listing all slides literally) - element[0] contains all slides DOM elements. As expected, nothing fancy here.
But when I use ng-repeat - element[0] is empty.

I saw one of yours examples: http://plnkr.co/edit/qdyKKo?p=preview
and I implemented it in my code, and it does not work either for me. Which brings me to conclusion that there might be something wrong with my code.
The problem is that this is a code that was handed over to me, and I'm not really sure what can cause this issue.
This might not be a bug of your code at all, but I'd appreciate any help/hints from you.

Hey @tiriana, sorry you're hitting an issue here. ng-repeat definitely should work. (honestly never even tried it without ng-repeat and I'm using it in a few different projects now). Of course, I'll never rule out an issue with the library itself.
I would be more than happy to look into it if you can reproduce the issue somewhere that I can see/touch it. Maybe a Plunker/JSFiddle/CodePen etc.
Even if it's something related specifically to your code, I'm sure someone else will run into the same issue.

@benjamincharity I'll try to reproduce it.
Breaking news: I edited sources locally, just to check. And after wrapping https://github.com/benjamincharity/angular-flickity/blob/master/src/flickity.directive.js lines from 53 to 60 info setTimeout(function (){...}, 0 ) everything looks like a charm. ugly-but-works

Very interesting.. curious as to why this fixes it.. I've definitely had to use Angular's $timeout before to keep 3rd party libs in sync with Angular's cycles. I don't believe using a native setTimeout has the same effect, so it seems this may be more DOM related than Angular digest cycle related..

$timeout also helps.
If I'll find  away to reproduce it I will let you know.

Ahh maybe Angular is tying standard timeouts into the digest cycle.. I'll definitely have to look more into that.

Hey @tiriana, are you by any chance fetching your slider data from a remote source? I have seen an error similar to this in relation to fetching data via ajax. Wrapping the service call to create() in a $timeout fixed that issue much like you reported here.
Here is a demo using a $timeout with create(): http://plnkr.co/edit/hkT7Tx?p=preview
Closing for now since the solution you found seems to match what I have found. Feel free to continue the discussion if you are still having issues though!

@benjamincharity Yes - my images are from remote source. You may merge my PR if you want, as it really seems to fix this problem once and for all.


Global hooks?

I can see the before, after and around hooks, but these seem to have to be defined in each file. Is there any way to define global hooks that apply to all tests?

There are no global hooks.
You can make a module and include it.
Alternatively the config provides hooks for the runner, but this isn't the same as global before and after hooks at the test level:
https://github.com/ioquatix/sus/blob/07e61b64270ad5204d30cd093c3eefc92997cfa7/lib/sus/config.rb#L102-L111
Can you let me know what problem you are trying to solve?

I need to clean the DB before each test to give me a fresh blank slate. Right now I'm defining a before hook in each test file, but that is a little cumbersome, and prone to my forgetfulness 😏

Make a module
# fixtures/database_access.rb
module DatabaseAccess
  attr :database_connection

  def before
    @database_connection = Database.connect
    @database_connection.begin_transaction
    super
  end

  def after
    @database_connection.abort_transaction
  end
end

# test/database.rb
require 'database_connection'

describe MyModel do
  include DatabaseConnection
end

Yeah, that's better, but it still requires me to include it in each and every test file, resulting in the same problem.

There is always a trade off between implicit and explicit like in this case, but for tests, I think too much implicit state makes it hard to reason about what's going on. I think it's best you can look at one test file and understand what is going on - specifically this is important for being able to load tests files in parallel and without depending on a global configuration, i.e. all test files are self contained.

Fair enough. Thanks


add burn method to minter

this should remove any remaining token_id from MINTABLE_TOKENS

If someone accidentally launches a collection, or partially launches, make it easy to burn or lock the rest of the token supply
useful scenarios:

instantiate a broken contract
realize after the fact a mistake in metadata
exploit in metadata ordering
sales taking too long and need to burn the remaining token supply


Allow me to specify floatingLabelGap

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Use case
I want a tighter gap (smaller) between a floating label on a TextField, and the content of the TextField. Right now it's hard coded. But it doesn't have to be.
Consider this situation: figma on the left, emulator on the right:

See how the "Username" label is much closer to the "SomeGuy" user name in the figma? By about 4 pixels. There is no way for me to duplicate that aspect of the design (short of recreating the entire TextField-InputDecorator functionality myself).
for more details see https://stackoverflow.com/questions/76622954/override-inputdecorator-widget-functionality-internally-called
Proposal
Very simply: parameterize the 4.0 hard coded number. I've tested this out on my local machine, works great, solves the problem, and we can use the InputDecoration class to parameterize it. Submitting a pull request soon.

Thanks for the report @lastmeta
Can you take a look at this similar issue and check if it resembles your case ?
Also check this SO link and see if it helps to resolve your issue or not.
Moreover, see if this property is helpful or not.

Thank you for your attention to this matter. In reverse order:

Moreover, see if this property is helpful or not.

I'm aware of that property, it's not helpful at all in my case. (I don't want to 'turn the label on or off' I want to move it to a different location).

Also check this SO link and see if it helps to resolve your issue or not.

I saw that one when I originally searching. I don't want to add to the gap, I want to subtract from the gap.

Thanks for the report @lastmeta Can you take a look at this similar issue and check if it resembles your case ?

This issue, I hadn't seen yet. It is very similar to my case, however, the author of that issue wants more than I want. He wants more control over label placement, as I do, but he's also asking for more control over other aspects of the border and background, and placement of the text. I found ways to manage those other elements with a combination of managing the InputDecoration class (as is ideal) and kind of manually producing the background where I want it. The only thing I didn't have control over is was moving the label closer to the text content of the field. that's hard coded. so my purposed solution is to simply parameterize that hard coded number and I'll handle the rest of the design myself, as maybe he should also. He's asking for a rewrite of functionality (which could turn out better) but I'm just asking for small addition.

Thanks for the update and feedback.

Thanks for the update and feedback.

No problem, I also added more details to the other issue if you want to see my piecemeal solution in code.

If anyone else is experiencing this, please let us know by giving a 👍 reaction to the issue description above and commenting on the PR https://github.com/flutter/flutter/pull/130039 if it fixes your problem.

I looked at the current implementation,  floatingLabelHeight = (4.0 + _kFinalLabelSize * labelStyle.fontSize!) * MediaQuery.textScalerOf(context).textScaleFactor; seems to be an estimate of the height of the floating label when fully contracted. But I don't know where the 4.0 comes from.
I think it's already possible to move the floating label down by using the InputDecorator.label API with an additional Transform  widget.


When closing tab -- Cmd-D for Don't Save does not work (not keyboardable)

On Mac OS, when closing a window or tab and seeing the attached dialog, standard behavior is that Cmd-D can be used as an equivalent of clicking Don't Save. Alternatively, one should be able to use the Tab key to tab to a selection such as Don't Save. However, this dialog in recent Atom builds doesn't respond to Cmd-D or Tab, and forces mouse use.

This is a duplicate of https://github.com/atom/atom/issues/12277. Feel free to subscribe there for updates.


w example is still wrong (only slightly)

[Sorry, I end up opening new tickets for the same thing. Github just doesn't allow opening closed tickets..]
There's just one issue left with the w example on the wiki-page. Note that Herbie recognizes the inner expression that is actually negated and optimizes it, so you need to wrap the modified code in a negate call..
I guess another way to look at this is why the plugin does not recognize the whole expression, but just the inner one. Perhaps it should directly recognize the top-level one and there's actually bug lurking in there.

I will be forever indebted to your excellent attention to detail :)
It should be fixed now.  The problem was that the plugin wasn't considering negate a math function.  I've added that to the functions considered and modified the pretty printer so that all calls to negate get displayed as -.


Add limit_rotation option to constrain needle rotation

This resolves: https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_Layout/issues/23
by adding a limit_rotation option to constrain needle rotation between min and max values.  Default is True to constrain rotation.
Also, I updated the docstrings to include the default values of most input parameters.

I review the changes mentioned in https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_Layout/pull/26/commits/5733d1d9be859e3de025ed8d5c995a6a991aacb5 on
Adafruit CircuitPython 6.2.0-beta.4 on 2021-03-18; Seeeduino Wio Terminal with samd51p19

I did this changing the values in the simple_test_dial using -5 and 2000.
https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_Layout/blob/5733d1d9be859e3de025ed8d5c995a6a991aacb5/examples/displayio_layout_dial_simpletest.py#L24
Changes work as mentioned in this PR. Needle moves slower, but did not go under or over the dial.
Looks good to me


Rewrite Galaxypedia pages in markdown and import them

I've more or less gotten an export of all pages on the Galaxypedia. I've used a python script to take them out of the exported xml and into their own .txt files. Then I used pandoc to convert from wikitext to markdown.
The issue arrises with sanitization. Mediawiki uses double curly brackets for templates, hugo uses them for compile time functions. We'll probably need to do regex to remove templates, categories, and magic words. Since they all break page loading


Implementing the --msi-file option

Not much an issue but one of the things that I liked about knife-windows was the implementation of the --msi-file option. This will allow you to specify where to download the chef client. Any chance this can be added to knife-vsphere?

Hi, yes, I'm sure it could be added. At some point in the code we just hand over control to knife-windows.
Are you downloading it to subsequently run it for bootstrapping? Or do you need to download it for other purposes? I'm not positive, but I thought there are already features to bootstrap a Windows node in the existing code. (I don't run any Windows machines so I don't know first hand)

Yeah my company isolates our windows and linux servers from the network so the best way for bootstrapping them is to specify where the installer file is located locally. Yes the code is there to bootstrap a windows server but it relies on being able to pull the installer from the net.

So just for clarity, you'd be passing it a UNC path? Or a local path with the installer being part of the template?

I was passing the URL ie http://server/chef-client-latest.msi. The UNC path was not working the last time I tried it.

Aha, got it, thanks.

Have you thought about putting the chef-client msi into the vmware template? The way the company I work for achieved this was, bootstrapping the template into our chef org / removed the client.pem file and the reference to the hostname in the client.rb file. For Windows: We then put a powershell script that basically adds the hostname to the client.rb then runs chef-client, then runs knife node runs_list add/set nodename "recipe[]" and we do something similar for our linux VMs.

Yeah that's another way to do it but I was hoping to stream line this with knife-vsphere. Pulling the file from a local web server is possible with knife-windows and since knife-vsphere just passes along the boot strap options, I don't see why this could not be implemented here.

The --msi-url functionality being implemented in the next release. Thanks again for all the help folks.

I just released 1.2.15 (and then shortly after, 1.2.16) that implements this.


Replace TimeSource With Strictly Increasing Block Timestamps

Current dependencies on/for this PR:

feature/pos-syncing-and-steady-state

PR #1014   👈

This stack of pull requests is managed by Graphite.


client.insecure Does Not Affect TLS/STARTTLS Checks

Describe the bug
I am trying to monitor TLS endpoints that use certificates signed by an internal CA.  For the purposes of this monitor, TLS validation is not strictly necessary.  For HTTPS endpoints, setting client.insecure to true will prevent certificate validation errors from causing a failure response.  This doesn't seem to be honored for TLS/STARTTLS checks.
In the interim, I am just using TCP checks which are not able to provide additional useful information such as [CERTIFICATE_EXPIRATION]
What do you see?
When doing a TLS or STARTTLS check, the client.insecure option does not seem to be honored and the checks fail if the cert is unable to be validated for any reason (no IP SAN, not trusted, etc)
What do you expect to see?
When setting client.insecure to true for an endpoint, TLS validation for TLS/STARTTLS checks should be disabled to allow the check to complete.
List the steps that must be taken to reproduce this issue

Configure an endpoint that uses a TLS check
Either use a target that has a self-signed cert or replace the hostname with its IP address (assuming the cert does not have an IP SAN)
Set client.insecure to true for that endpoint

The check will fail for one or more reasons related to TLS validation.
Version
5.5.1
Additional information
No response

@asimons04 I've never personally tested this case, but I did assume that the following would work for STARTTLS: https://github.com/TwiN/gatus/blob/225e6ac7ae122243b0f88047ee15071939a2e770/client/client.go#L128-L131
As for TLS, you're right in that I wouldn't expect client.insecure being set to true to change anything considering the code itself doesn't even take client.insecure into consideration: https://github.com/TwiN/gatus/blob/225e6ac7ae122243b0f88047ee15071939a2e770/client/client.go#L144-L155
Would you like to try fixing the issue, since you seem to be in a position where you can reproduce this issue locally?

@TwiN @asimons04
Can I try to solve it?
Seems that no one is fixing it right now?

@TwiN @asimons04
Hello, I've made some changes to fix the bug and create a PR for it.
Would you mind do the code review for me ?
Ofcourse when you guys have available time
Thank you so much!

That's still to be released, isn't it?

@amai2012 It hasn't been released as part of a tagged version yet, but you can use latest if you need it immediately.
Is there a specific reason why you need it now?


Render diagrams on inner doc-comments (when custom_inner_attribute lands)

Currently is not possible to have diagrams at the inner doc comments, e.g.:
lib.rs:
#[cfg_attr(doc, aquamarine::aquamarine)]
//! demo
//!
//! ```mermaid
//! graph LR
//!     s([Source]) --> a[[aquamarine]]
//!     r[[rustdoc]] --> f([Docs w/ Mermaid!])
//!     subgraph rustc[Rust Compiler]
//!     a -. inject mermaid.js .-> r
//!     end
//! ```

since there can't be anything before the module-level doc-comment block...

I'm not sure that's even possible to do with attribute macros. Maybe with build.rs.

I'm not sure that's even possible to do with attribute macros. Maybe with build.rs.

Is there a workaround for this issue? I have a use case for a diagram that only makes sense on the entry point of the documentation.

I did investigate a bit, trying to produce a prototype implementation for generating inner attributes, but it doesn't seem to be possible at all on the current Rust.
custom_inner_attribute isn't stable yet, but that's only half of the problem. Even on nightly compiler cannot handle proc-macro-produced inner attributes at all at this time, and treats them as they were preceded by some non-existent outer attribute.
@zbraniecki the only workaround I can think of is to do what the macro does by hand, but I wouldn't recommend that.

Is there a workaround for this issue? I have a use case for a diagram that only makes sense on the entry point of the documentation.

@zbraniecki Did you find a suitable workaround?

One workaround is that it's possible to document modules in two different places:

At the top of the file with //!
On the pub mod ...; line

The 2nd option works; however, it requires the unstable #![feature(proc_macro_hygiene)] if the module isn't inline. You can either enable that with the doc feature flag or you can define the module internally and then create an inline wrapper for it that re-exports.
#[cfg_attr(doc, feature(proc_macro_hygiene))]

#[cfg_attr(doc, aquamarine::aquamarine)]
/// The configuration module.
///
/// ```mermaid
/// graph LR
///     s([Source]) --> a[[aquamarine]]
///     r[[rustdoc]] --> f([Docs w/ Mermaid!])
///     subgraph rustc[Rust Compiler]
///     a -. inject mermaid.js .-> r
///     end
/// ```
pub mod config;

Or with the re-export workaround:
mod config_internal;

#[aquamarine::aquamarine]
/// The configuration module.
///
/// ```mermaid
/// graph LR
///     s([Source]) --> a[[aquamarine]]
///     r[[rustdoc]] --> f([Docs w/ Mermaid!])
///     subgraph rustc[Rust Compiler]
///     a -. inject mermaid.js .-> r
///     end
/// ```
pub mod config {
    pub use crate::config_internal::*;
}

Unfortunately this can be a bit messy if there are a lot of modules because all of their docs live in the same file. I'm not aware of any other workaround.

support inner doc would be really nice

For anyone else who needs mermaid in the top level, no compromise, you can check out the crate simple_mermaid: https://github.com/glueball/simple-mermaid
It supports top-level mermaid diagrams with the only disadvantage being needing to make the diagrams separate files. Perhaps this project could adopt a similar approach to allow in-file top level diagrams? For now though, I am going to have to use that crate because it better supports my needs.

For anyone else who needs mermaid in the top level, no compromise, you can check out the crate simple_mermaid

@joeyame How do you accomplish mermaid in the top level with simple_mermaid?

For anyone else who needs mermaid in the top level, no compromise, you can check out the crate simple_mermaid

@joeyame How do you accomplish mermaid in the top level with simple_mermaid?

Just like this:
//! # Brief Overview
//! The following diagram is a simple overview of how Parrhesia is used.
#![ doc=mermaid!( "diagrams/overall_form.mmd" ) ]

Then, for non - top level, remove the exclamation

Thanks! I was doing
//! # Brief Overview
//! The following diagram is a simple overview of how Parrhesia is used.
#[ doc=mermaid!( "diagrams/overall_form.mmd" ) ]

i.e. no ! after the # 🤦

@joeyame great little crate, I love the simplicity. Hopefully one day I'll be able to support outer docs too, hehe.
Thanks for pointing out the aquamarine deficiency regarding filesystem-stored diagrams in your readme, btw, I've fixed it in 0.4.0.


Getting started examples produces a lot of UserWarnings

First "Getting started" example in Readme.rst produces a lot of Warnings which may confuse new users, since they reference to some internal issue of gp_minimize().
Getting Started Example:
def f(x):
    return (np.sin(5 * x[0]) * (1 - np.tanh(x[0] ** 2)) *
            np.random.randn() * 0.1)
res = gp_minimize(f, [(-2.0, 2.0)])

Warnings:
.../skopt/optimizer/optimizer.py:366: UserWarning: The objective has been evaluated at this point before.
  warnings.warn("The objective has been evaluated "

Proposal:
Adapt example, so that these warnings do not occur.

No more warnings after #511.


Purge frontend cache when modifying redirects

When creating or modifying redirects, it's possible their source URL(s) are still cached by frontend caching, meaning the URL won't apply instantly.
This PR purges the "old" URL(s) of a redirect when modified. For site-agnostic redirects, assume all sites need purging.
The new tests reuse the existing MockBackend for testing. Because the backend instance doesn't persist, it's difficult to obtain the purged URLs.

Merged in 22fe143d36cc050ea1e1b7c0500379077430b278


Notification sounds persisting, despite being disabled

Since updating the app yesterday I've found that notification sounds are playing despite being turned off. I've sought out every possible option for this within the app, and the accounts hosted within it, and disabled the notification sounds, however they continue to persist.
I've also disabled the apps notification sounds within OS X's system preferences, and yet they still play.
As I work in audio, this is extremely irritating whilst I'm trying to work, and having to keep the application open to communicate with clients. This is also extremely risky to ones hearing, given that I often have to work with high volume levels for various purposes.
Any assistance in resolving this would be greatly appreciated.
I am using Version 5.0.0 (<IP_ADDRESS>6)

I can also confirm that this is happening with version: Version 5.0.0-beta.22 (5.0.0-beta.22.1059)


leftMargin and rightMargin need to return None for empty glyphs.

Currently these two attributes return 0 if a glyph does not have outline data. This was done for backwards compatibility with RoboFab. However, it's not a major compatibility concern and the behavior has always been confusing. So, let's switch it to None.

Working on this. Will do a PR asap

In my RF 3.2 beta accessing leftMargin on an empty glyph raises an exception, which is also not good. This should also be covered in the test suite.


Mask password in JDBC URL

I use HikariCP in my project and set JDBC URL with password property. I found the password in JDBC URL is not masked while directly set password is. I think it's good to mask it as well. Could you consider to merge this change?

Compile failures.

I fixed it and forcibly pushed the commit.

Coverage decreased (-0.03%) to 76.407% when pulling 6d137e460eace6028aeac705b1bf18cdc5274cf8 on dtaniwaki:mask-password-in-url into 6a156830c73f139ff9928e737329e8f2793bfae2 on brettwooldridge:dev.

Hi @brettwooldridge I made it fixed. Could you consider to merge it?


Custom texture as background

It would be nice to be able to choose an image (PNG or JPEG) to use as a 'repeating texture' instead of a background color. This would help people who want a more interesting background texture. Personally, my use case is a bit different. I want to be able to set the background to an image containing a math problem to solve (e.g. it might say "Solve x^2 - 1 = 0"). For my particular use case, it's very important that the image remain un-stretched; I'd like it displayed pixel-by-pixel.

I the grid not sufficient for this usecase? TBH i don't really see much use in a customizable background image.


Run smoketests with e2e

Description of changes

Issue #, if available

Description of how you validated changes
Checklist

[ ] PR description included
[ ] yarn test passes
[ ] Tests are changed or added
[ ] Relevant documentation is changed or added (and PR referenced)
[ ] New AWS SDK calls or CloudFormation actions have been added to relevant test and service IAM policies
[ ] Pull request labels are added

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Please run e2e tests to see if the smoke test pass in the pipeline 😄


feat(nuxt): supports automatic import of stores from extend layers

When I install pinia in a nuxt layer and create stores folder, and then I extend this layer in another nuxt application, I find that the stores are not automatically imported.
What this PR does:
When addImportsDir, consider the nuxt layers also.
Refer:
Pinia autoImports for nuxt
Nuxt layers

I noticed there is also https://github.com/vuejs/pinia/pull/2757, so let's use that one instead. Thanks for the PR!


Running demos other than block-insertion fail on urdf loading

This is a great project -- thanks for open-sourcing it! Looking forward to trying it out, however, only the block-insertion demo seems to be working at present. When trying to run demos.py on any other example, relative paths to description files appear to be causing issues resulting in errors.
For example for assembling-kits:
python ravens/demos.py  --assets_root=./ravens/environments/assets/ --disp=True --task=assembling-kits --mode=train --n=10

b3Printf: b3Warning[examples/Importers/ImportURDFDemo/BulletUrdfImporter.cpp,152]:

b3Printf: URDF file './ravens/environments/assets/assets/kitting/kit.urdf' not found

Traceback (most recent call last):
  File "ravens/demos.py", line 81, in <module>
    app.run(main)
  File "/home/user/.miniconda/envs/ravens/lib/python3.7/site-packages/absl/app.py", line 303, in run
    _run_main(main, args)
  File "/home/user/.miniconda/envs/ravens/lib/python3.7/site-packages/absl/app.py", line 251, in _run_main
    sys.exit(main(argv))
  File "ravens/demos.py", line 62, in main
    obs = env.reset()
  File "/home/user/.local/lib/python3.7/site-packages/ravens-0.1-py3.7.egg/ravens/environments/environment.py", line 168, in reset
    self.task.reset(self)
  File "/home/user/.local/lib/python3.7/site-packages/ravens-0.1-py3.7.egg/ravens/tasks/assembling_kits.py", line 80, in reset
    urdf = self.fill_template(template, replace)
  File "/home/user/.local/lib/python3.7/site-packages/ravens-0.1-py3.7.egg/ravens/tasks/task.py", line 324, in fill_template
    with open(template, 'r') as file:
FileNotFoundError: [Errno 2] No such file or directory: '/home/user/.local/lib/python3.7/site-packages/ravens-0.1-py3.7.egg/ravens/tasks/../assets/kitting/object-template.urdf'

Have also tried using pip install -e ., but error persists. Example for towers-of-hanoi:
python ravens/demos.py  --assets_root=./ravens/environments/assets/ --disp=True --task=towers-of-hanoi --mode=train --n=10

int args: [CNSFileIO is not enabled in this build.
Oracle demonstration: 1/10
ven = NVIDIA Corporation
ven = NVIDIA Corporation
b3Printf: b3Warning[examples/Importers/ImportURDFDemo/BulletUrdfImporter.cpp,152]:

b3Printf: URDF file './ravens/environments/assets/assets/hanoi/stand.urdf' not found

b3Printf: b3Warning[examples/Importers/ImportURDFDemo/BulletUrdfImporter.cpp,152]:

b3Printf: URDF file './ravens/environments/assets/assets/hanoi/disk0.urdf' not found

b3Printf: b3Warning[examples/Importers/ImportURDFDemo/BulletUrdfImporter.cpp,152]:

b3Printf: URDF file './ravens/environments/assets/assets/hanoi/disk1.urdf' not found

b3Printf: b3Warning[examples/Importers/ImportURDFDemo/BulletUrdfImporter.cpp,152]:

b3Printf: URDF file './ravens/environments/assets/assets/hanoi/disk2.urdf' not found

Traceback (most recent call last):
  File "ravens/demos.py", line 81, in <module>
    app.run(main)
  File "/home/user/.miniconda/envs/ravens/lib/python3.7/site-packages/absl/app.py", line 303, in run
    _run_main(main, args)
  File "/home/user/.miniconda/envs/ravens/lib/python3.7/site-packages/absl/app.py", line 251, in _run_main
    sys.exit(main(argv))
  File "ravens/demos.py", line 62, in main
    obs = env.reset()
  File "/home/user/code/ravens/ravens/environments/environment.py", line 173, in reset
    obs, _, _, _ = self.step()
  File "/home/user/code/ravens/ravens/environments/environment.py", line 193, in step
    while not self.is_static:
  File "/home/user/code/ravens/ravens/environments/environment.py", line 111, in is_static
    for i in self.obj_ids['rigid']]
  File "/home/user/code/ravens/ravens/environments/environment.py", line 111, in <listcomp>
    for i in self.obj_ids['rigid']]
TypeError: an integer is required (got type NoneType)

Or sweeping-piles:
python ravens/demos.py  --assets_root=./ravens/environments/assets/ --disp=True --task=sweeping-piles --mode=train --n=10

Traceback (most recent call last):
  File "/home/user/code/ravens/ravens/utils/pybullet_utils.py", line 29, in load_urdf
    return pybullet_client.loadURDF(file_path, *args, **kwargs)
AttributeError: 'str' object has no attribute 'loadURDF'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "ravens/demos.py", line 81, in <module>
    app.run(main)
  File "/home/user/.miniconda/envs/ravens/lib/python3.7/site-packages/absl/app.py", line 303, in run
    _run_main(main, args)
  File "/home/user/.miniconda/envs/ravens/lib/python3.7/site-packages/absl/app.py", line 251, in _run_main
    sys.exit(main(argv))
  File "ravens/demos.py", line 62, in main
    obs = env.reset()
  File "/home/user/code/ravens/ravens/environments/environment.py", line 152, in reset
    self.ee = self.task.ee(self.assets_root, self.ur5, 9, self.obj_ids)
  File "/home/user/code/ravens/ravens/tasks/grippers.py", line 59, in __init__
    os.path.join(self.assets_root, SPATULA_BASE_URDF), pose[0], pose[1])
  File "/home/user/code/ravens/ravens/utils/pybullet_utils.py", line 30, in load_urdf
    except pybullet_client.error:
AttributeError: 'str' object has no attribute 'error'

Note that this has been tested on all tasks listed in the README.md, and the three examples above cover the extent of errors seen in tasks not mentioned.

Thanks for testing this out. It looks like we forgot to remove the redundant "assets/" folder from the URDF string paths in the other task definitions. We’ll push a fix soon.
You can temporarily bypass this by deleting "assets/" from the path strings for whichever task you'll need to run. For example, L43 and L72 of ravens/tasks/assembling_kits.py. Same for L35 and L46 of ravens/tasks/towers_of_hanoi.py, and L40 and L51 of ravens/tasks/sweeping_piles.py. Etc...

Yes, it looks like doing a find/replace on on the assets folder works, with one additional change for the path at  L323 of ravens/tasks/task.py.
I'll leave this issue open for now since it sounds like you are working on a fix that hasn't been merged yet.

This appears to have been fixed in https://github.com/google-research/ravens/commit/d7f9db3214ed730c6d16e5c248684688555c6d23 .
Thanks!


Research the history of the Command Line Interface (CLI)

Ticket: Research the History of the Command Line Interface (CLI)
Summary
Research the historical development, key milestones, and notable figures in the Command Line Interface (CLI) evolution.
Description

Objective: Gain a comprehensive understanding of the CLI's history to inform future development and educational content.
Scope: Cover from its inception to current iterations and identify key events, technological advancements, and individuals who have been instrumental in its development.

Tasks

Trace back to the initial concept of the CLI: Identify the first systems that used command-line interfaces.
Identify key milestones:

Development of early shells like Bourne Shell, C Shell, etc.
Introduction of scripting capabilities
Open-source contributions
CLI-based utilities and tools (e.g., grep, awk, sed)

Note important figures:

Who were the pioneers?
What organizations were pivotal?

Highlight major shifts:

Transition from text-based to graphical interfaces and how CLI maintained relevance.
Evolution with cloud computing and DevOps culture.

Examine current state:

Modern CLI tools and frameworks (e.g., PowerShell, Zsh)
CLI in cloud computing and microservices

Compile information into a coherent report or presentation.

Acceptance Criteria

A detailed report or presentation that covers all the tasks.
Cite credible sources for all information gathered.
Provide a timeline that illustrates key events and milestones.
Identify at least 3-5 notable figures and their contributions.

Priority

Medium

Sorry!  wrong click.


Initial work to optionally output JobID as field not tag

@nick-ellexus - I need a better way to do this, any ideas.

[ ] Development complete
[ ] Documentation complete
[ ] Test case added
[ ] Version number updated
[ ] Representative testing complete
[ ] Full testing complete

What you've done feels about as good as you could do with the current model of having a single call to asprintf to format the whole "record".
If I've understood the problem correctly, then if you wrote a function which was a bit like sprintf, but which appended its output to a "buffer", and ideally dynamically resized that buffer as necessary, then you could have code like...
if (!job_as_field) {
   sprintf_append(buffer, "jobgroup=%s,jobid=%s,", job_gid, job_id);
}
sprintf_append(buffer, "label=%s,path=\"%s\",fstype=\"%s\",fsname=\"%s\",fshost=\"%s\",host=%s%s", <whatever>);
sprintf_append(buffer, " ");
if (job_as_field) {
    sprintf_append(buffer, "jobgroup=\"%s\",jobid=\"%s\", job_gid, job_id);
}
sprintf_append(buffer, <everything else>);

The hypothetical sprintf_append wouldn't be trivial to write, but not that difficult, maybe using vasprintf. And it would remove the need for the trick where we insert the previous lines into the "new" data each time we go around the loop. But it feels quite a lot of work for perhaps not much gain?

The hypothetical sprintf_append wouldn't be trivial to write,

See open_memstream, which allows you to treat a memory buffer as a "file", which you can then write to using fprintf rather than having to write sprintf_append.
(Found while looking at the implementation of syslog, which uses memory streams internally. I don't think I've ever seen them used before, although the man page says it existed in glibc 1.0!)

My attempt on here to make this plugin table-driven has ground to a halt. The code is complete, and appears to work, but InfluxDB says "400 Bad Request" fairly consistently (the plugin error log file shows Could not run curl query: The requested URL returned error: 400 Bad Request). I also see that response on the master-branch plugin when fed Mistral v3 output, but only on particular lines - this table-driven branch produces that result all the time. Comparing the POST data before/after is not very illuminating. For the record, here is a failing snippet of Mistral data (this can be piped directly into the plugin for testing:
:PGNSUPVRSN:4:6:
:PGNDATASRT:1:
global#monitor#2022-02-08T12:00:00.100000,label,/,ext4,/dev/nvme0n1p4,,write,all,bandwidth,17B/1s,0/1s,nick-ubuntu,0,0,,,,,,0
:PGNDATAEND:1:
:PGNSHUTDWN:

I'm sure that table-driven is the way to go here, but to finish this off we'd need to review InfluxDB documentation and (ideally) find a way to get a more informative error message out of it (better than "400 Bad Request", i.e. "Computer Says No").


Unable to display ads on ios Phone Gap app

Hello,
I have been facing an unexpected issue today with admob pro. I am currently testing my app hosting it with PhoneGap on Windows and opening it with the iOS PhoneGap app. However, ads never show up.
My code is exactly the same as the example (despite the id of my ads).
Did anyone face the same problem ?

I'm not able to display interstitial ads on iOS simulator, too.

I can prove it still works if build with cordova CLI. There must be something wrong with your env.
Remember, in simulator, you can only get test Ad, to get live Ad, you have to run it in device.
A fast way to verify the plugin with its demo app:
[sudo ] npm install -g plugin-verify;
plugin-verify cordova-plugin-admobpro ios;

BTW, my env: Mac OS, cordova CLI 5.2, Xcode 6.4
See screenshot:


Create AllianceTransformUtils

looks good. did some clean up and integrated it. works in sim at least.


CORTX-30097: Fix codacy issues.

Signed-off-by: Shriya Deshmukh<EMAIL_ADDRESS>Problem Statement

Fix codacy issue for cortx-rgw-integration repo
Codacy result for this PR: https://app.codacy.com/gh/Seagate/cortx-rgw-integration/dashboard?branch=fix-codacy-issue

Design

For Bug, Describe the fix here.
For Feature, Post the link for design

Coding
Checklist for Author

[x] Coding conventions are followed and code is consistent

Testing
Checklist for Author

[ ] Unit and System Tests are added
[ ] Test Cases cover Happy Path, Non-Happy Path and Scalability
[x] Testing was performed with RPM

Impact Analysis
Checklist for Author/Reviewer/GateKeeper

[ ] Interface change (if any) are documented
[ ] Side effects on other features (deployment/upgrade)
[ ] Dependencies on other component(s)

Review Checklist
Checklist for Author

[x] JIRA number/GitHub Issue added to PR
[x] PR is self reviewed
[x] Jira and state/status is updated and JIRA is updated with PR link
[x] Check if the description is clear and explained

Documentation
Checklist for Author

[ ] Changes done to WIKI / Confluence page / Quick Start Guide

Codacy result - https://app.codacy.com/gh/Seagate/cortx-rgw-integration/dashboard?branch=fix-codacy-issue


Updating "context" on the permission layer

Thank you for this helpful tool!
I am just curious are we allowed by shield principle to update the "context" object from the permissions layer then passing it to the resolvers?

@jhnferraris thanks!
Updating the context from permissions is possible because graphql-shield doesn't copy the context into permission resolve but rather only creates a pointer. I wouldn't recommend doing this, though, because updating the context from your permission would only cause blurred separation between logic and permissions, and difficulties with debugging.
Hope this answers your question 🙂

Thanks for answering 👍
Maybe you can give me some pointers on my use case. Since I want to verify an authorization header, I need to pass around the user context after it has been verified in the permission layer. So there will be some

ctx.user = <some user object>

before returning a boolean true in the permissions resolver.

@jhnferraris I think you have two options; first, you could create a helper tool which extracts your userId from JWT, I suppose, or something similar, and then reuse it in every resolver. graphql-shield would then help you verify that user exists in the database, for example.
const resolver = (parent, args, ctx, info) => {
  const userId = getUserId(ctx)
  return 'something'
}

const permission = (parent, args, ctx, info) => {
  const userId = getUserId(ctx)
  return checkDatabaseForUser(userId)
}

The second option is to resolve user when creating context itself. Using graphql-yoga you would achieve this like this:
const server = new GraphQLServer({
  typeDefs: './src/schema.graphql',
  resolvers,
  context: req => ({
    ...req,
    user: getUser(req),
  }),
})

I hope you get the idea 🙂


kosmosctl: feedback information and other optimization suggestions

Task description:

If ns named clusterlink-system does not exist when uninstall, kosmosctl will report an error, as shown below

I think it is not an error if ns does not exist, because we go to uninstall to delete this ns.
In other words, uninstall also does what it needs to do

pkg/kosmosctl/uninstall/uninstall.go
line118: apierrors.IsAlreadyExists(err)
I think client-go deleting a resource does not return an ‘IsAlreadyExists’ error type

Solution:

I think we can return ‘no resources found’

I think the error type judgment can be modified as follows

if !apierrors.IsNotFound(err) {
	return fmt.Errorf("kosmosctl uninstall run error, deployment options failed: %v", err)
}

Who can join or take the task:

have done.
but not cite


Can you provide a very simple example about how can it be used in a macOS app

Hey there,
Thanks for this package great work 🙌🏻 As title suggests can you please provide a very simple example about how can it be used in a macOS app?
Thanks!

You simply can't unless your using Mac Catalyst. I hate it too, please support native macOS @Finalet

Frankly, this project is deep low in my backlog, so I don't think I'll be adding macOS support any time soon.
That said, if anyone wants to contribute - the doors are open.


feat: lighter weight for titles

#572  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @davidlj95 and the rest of your teammates on  Graphite


does vue-syntax-highlight support vscode

does vue-syntax-highlight support vscode?

No. But you can use vetur instead
https://github.com/vuejs/vetur


[8.x] Add Http::configure() method

This pull request introduces a new Http::configure() method that can be used to modify all PendingRequest objects globally.
class AppServiceProvider extends ServiceProvider
{
    public function boot() {
        Http::configure(function (PendingRequest $request) {
            $request->withHeaders(['custom' => 'yes!']);
        });
    }
}

In this scenario, all requests made from the app will have this custom header applied.

Does it make sense for this to be invoked right before the request is actually sent? That way you could inspect other information about the request before configuring it further - for example, what if you only wanted to add some headers if the URI matched a given value?

@taylorotwell Yeah, fair point. My personal use case was for all requests, regardless of URL but you're right, that would make a lot more sense.

OK

Hmm - I dunno, something about this still kinda clunky to use it feels like. How do I inspect the request for a header or look at its final URI? How can I see what data it has?

Happy to close this and leave it be if you think it's not worth it. There are user-land workarounds like constructing a base client that has the correct options already.
Without dedicated methods on the request object to inspect the Guzzle options, there's no easy way to do the things you mentioned.

Yeah - here's how I would do this:
In service provider:
Http::macro('github', function () {
    return Http::withHeaders([
        'X-First' => 'foo',
    ])->baseUrl('https://github.com');
});

In code:
Http::github()->get('/');

@taylorotwell Yeah, this is an alternative approach. Thanks for taking a look though! :)

Embrace the dynamic language ❤

🔥🔥🔥


[Snyk] Security upgrade org.apache.logging.log4j:log4j-core from 2.1 to 2.3.1

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to fix one or more vulnerable packages in the `maven` dependencies of this project.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

pom.xml

Vulnerabilities that will be fixed
With an upgrade:

Severity
Priority Score (*)
Issue
Upgrade
Breaking Change
Exploit Maturity
Reachability

949/1000  Why? Confidentiality impact: High, Integrity impact: High, Availability impact: High, Scope: Changed, Exploit Maturity: High, User Interaction (UI): None, Privileges Required (PR): None, Attack Complexity: Low, Attack Vector: Network, EPSS: 0.97454, Social Trends: No, Days since published: 796, Reachable: No, Transitive dependency: No, Is Malicious: No, Business Criticality: High, Provider Urgency: Critical, Package Popularity Score: 99, Impact: 10.1, Likelihood: 9.41, Score Version: V5
Remote Code Execution (RCE) SNYK-JAVA-ORGAPACHELOGGINGLOG4J-2314720
org.apache.logging.log4j:log4j-core:  2.1 -> 2.3.1
No
Mature
No Path Found

(*) Note that the real score may have changed since the PR was raised.
Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Remote Code Execution (RCE)

test Snyk Fix PR


Error on startup if webhook array(s) in config file is/are empty

Should be ok to have empty arrays in the config file.

Relates to version 12.0.0


Typo in function emitExternalImportDeclaration?

const isNakedImport = SyntaxKind.ImportDeclaration && !(<ImportDeclaration>node).importClause;

https://github.com/Microsoft/TypeScript/blob/ddb5a00410d695d35b55c5482876a16f7c696c4b/src/compiler/emitter.ts#L6590
Possibly missing node.kind === before SyntaxKind.ImportDeclaration ?
Noticed it when running uglifyjs lib/tsc.js -c
WARN: Condition left of && always true [lib/tsc.js:34409,48]

 34409	                            var isNakedImport = 230 && !node.importClause;

Nice catch @kzc! We'd be willing to take a PR for the fix with a test where this surfaces.

Just thought I'd report the obvious issue. You can take over.

A previous patch confirms the suggested fix:
https://github.com/Microsoft/TypeScript/commit/956d7a82f337f50b8778fbc1578abf8897ceccd6#diff-20a9fa4d3e9d09f60c275a3dda245867L5008
Surprised by its author - coding royalty!

If you could avoid bugs by being smart, we wouldn't need TypeScript :wink:


Fix handling of large ints

Currently --lenient parsing is capped at u32/i32; this PR tries to work around the lack of a proper I256 with some hacks involving two's complement of u256.
The "strict" tokenizer isn't strict at all and only checks input length; afaict the intention is that the user is wholly responsible for ensuring the input is sane.
After this PR the --lenient mode is doing more validation work than "strict" mode, which is a little awkward.
I don't know if this makes sense or not; it's just annoying and surprising to be limited to a u32 for no apparent reason.

The "strict" tokenizer isn't strict at all and only checks input length; afaict the intention is that the user is wholly responsible for ensuring the input is sane.

Actually any 32 bytes are valid u256 number, so there is no other check to do.


Pass env variables using cli

Which version and edition of Flyway are you using?
6.4.0
If this is not the latest version, can you reproduce the issue with the latest one as well?
(Many bugs are fixed in newer releases and upgrading will often resolve the issue)
Which client are you using? (Command-line, Java API, Maven plugin, Gradle plugin)
Gradle
Which database are you using (type & version)?
MySQL
Which operating system are you using?
Windows
What did you expect to see?
I have a property set like this:
url=localhost:3206
Is there a way to specifiy this like below instead:
url=${hostname}:3206

Flyway already accepts environment variables for configuration.
If you really need to do what you've described, it should already be possible by relying on the built-in capabilities of your terminal. For instance, in PowerShell you can do something like this:
$url= Get-Variable URL -valueOnly
flyway info -url=$url

Does that help?

May the issue got misunderstood, I am using below flyway.conf for gradle build:-
flyway.url=jdbc:mysql://localhost:3206/database
But I trying to make it as below by passing the "dbenv" value by gradle cli :-
flyway.url=jdbc:mysql://${dbenv}:3206/database

It's possible to substitute environment variables in configuration files.
Flyway's Gradle plugin documentation also explains more about configuration methods. Does that help?

I am passing the below command:-
gradle -Pflyway.user=myUsr -Pflyway.password=mypass -Pflyway.placeholders.dbenv=locahost
And trying to get it inside flyway.conf:-
flyway.url=jdbc:mysql://${dbenv}:3206/database
But it throwing error, the variable is not replaced with the value passed as an argument.

The placeholders option is only for migration scripts. To replace things in the config file you'll have to set an environment variable.

Tried the below:-
gradle -Pflyway.user=myUsr -Pflyway.password=mypass -Pdbenv=locahost
Its also not working, please let me know if I assigning it correctly.

The -P sets a Gradle property, not a system environment variable. You'll need to depend on other mechanisms to set the environment variable (like the PowerShell example above).

Closing the issue, as I am able to perform it by using Gradle project environmental variables.


[AUTOPATCHER-CORE] Upgrade fluent-bit to 3.0.3

[AUTOPATCHER-CORE] Upgrade fluent-bit to 3.0.3 https://microsoft.visualstudio.com/OS/_workitems/edit/50531424
Upgrade pipeline run -> https://dev.azure.com/mariner-org/mariner/_build/results?buildId=566271&view=results
buddy build -> https://dev.azure.com/mariner-org/mariner/_build/results?buildId=566272&view=results

@mfrw Is this going to be merged?


Added italian translation

I have added italian translation in the directory locales. Maybe I will add more strings to be translated because there are others strings not translatable.

Thank you @loviuz!
And yes, there are some strings not translateable, yet.


Remove the calendarTitle pipe

Can just be replaced with the calendarDate pipe

hey matt, I tried to implement this quickly but I seem to be running into an error. Whenever I switch out the calendarTitle pipe for calendarDate, my console spits out this message.
EXCEPTION: TypeError: this.dateFormatter[method] is not a function

I tried a few different things but wanted to reach out and see if you had a simple solution before I really spent time digging around. Let me know !

It's because the methods have changed. Before:
date | calendarTitle:'day'

After
date | calendarDate:'dayViewTitle'

The current calendarTitle is just a very thin wrapper that appends the ViewTitle string to the day view: https://github.com/mattlewis92/angular2-calendar/blob/master/src/pipes/calendarTitle.pipe.ts#L12

@mattlewis92 got it 👍 thank you for the clarification. about to push the change now


Fixed some missing tooltips

Fixed the chromium and stainless steal "Melts into {metal}" tooltips, and the sealed barrel recipes' tooltips.

Sorry about leaving in the merge, I'm not sure how to remove it

Doesn’t matter to me, thanks
On Thu, Sep 1, 2022 at 5:59 PM Alexander Pezarro @.***>
wrote:

Sorry about leaving in the merge, I'm not sure how to remove it
—
Reply to this email directly, view it on GitHub
https://github.com/eerussianguy/firmalife/pull/70#issuecomment-1234826150,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOJJ2FE24SX7JTZCMG45DX3V4ERNXANCNFSM6AAAAAAQCW5JUA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Stack navigator disable gestures globally

Hi,
in Stack Navigator is there a way to disable gestures globally instead of being a per-card setting?
https://reactnavigation.org/docs/navigators/stack#gesturesEnabled
Thanks!

Not currently - but I imagine it would be useful to people!

That's actually also what the docs suggest, although it doesn't work: https://reactnavigation.org/docs/navigators/navigation-options#Default-Navigation-Options

Pinging OP @pensierinmusica since this issue has not been active for a while, and it's related to an old version of the lib.
Please let me know if you want this to remain open; if I get no answer in the next 7 days I will close it.
Moreover, it looks this is more of a bug (your second part). I use the default nav options without any issue, can you please provide a snack that reproduces your issue of those options not working?

Hi there @pensierinmusica ,
In an effort to cleanup this project and prioritize a bit, since this issue had no follow up since my last comment I'm going to close it.
If you are still having the issue with the latest version (especially if it's a bug report) please check the current open issues, and if you can't find a duplicate, open a new one that uses the new Issue Template to provide some more details to help us solve it.

@kelset this issue should stay open until it's fixed. Just removing issues instead of fixing them does not help. Thanks!

this issue should stay open until it's fixed. Just removing issues instead of fixing them does not help. Thanks!

You could have simply commented this issue during those 7 days.

const RootStackNavigator = StackNavigator(
{
Login: {
screen: LoginScreen
},
Main: {
screen: MainDrawerNavigator
}
},
{
index: 0,
initialRouteName: 'Login',
headerMode: 'none',
navigationOptions: {
gesturesEnabled: false
}
}
);
From #1063

@xyzzyxyzzy0077 have you tried it and tested that it actually works?

@pensierinmusica Yep, am using it right in my configuration.

Awesome, then this can be closed I guess  :)

@xyzzyxyzzy0077 That code works perfectly. Thanks.

@oseifrimpong with pleasure


chore: update to spring sdk 8.6.0

Bumps sdk dependency to 8.6.0 and adopts config to new properties https://docs.camunda.io/docs/apis-tools/spring-zeebe-sdk/getting-started/#self-managed .
Tested via mvn spring-boot:run with C8Run:
2024-10-09T08:17:15.498+02:00  INFO 20694 --- [process_payments] [           main] i.c.z.s.c.jobhandling.JobWorkerManager   : . Starting Zeebe worker: ZeebeWorkerValue{type='charge-credit-card', name='chargeCreditCardWorker#chargeCreditCard', timeout=PT-0.001S, maxJobsActive=-1, requestTimeout=PT-1S, pollInterval=PT-0.001S, autoComplete=true, fetchVariables=[totalWithTax], enabled=true, methodInfo=MethodInfo{classInfo=ClassInfo{beanName=chargeCreditCardWorker}, method=public java.util.Map io.camunda.demo.process_payments.ChargeCreditCardWorker.chargeCreditCard(java.lang.Double)}, tenantIds=[<default>], forceFetchAllVariables=false, streamEnabled=true, streamTimeout=PT1H, maxRetries=-1}
2024-10-09T08:17:15.504+02:00  INFO 20694 --- [process_payments] [           main] i.c.d.p.ProcessPaymentsApplication       : Started ProcessPaymentsApplication in 1.477 seconds (process running for 1.673)
2024-10-09T08:17:15.622+02:00  INFO 20694 --- [process_payments] [           main] i.c.d.p.ProcessPaymentsApplication       : started a process:<PHONE_NUMBER>685402
2024-10-09T08:17:15.643+02:00  INFO 20694 --- [process_payments] [pool-2-thread-1] i.c.d.p.ChargeCreditCardWorker           : charging credit card: 120.0

FYI the cause was confirmed to be a backwardscompatibility issue which will be fixed in the upcoming 8.6.1 release, see https://github.com/camunda/camunda/issues/23183
It still makes sense to move to the new config properties for a public 8.6.0 example as the old zeebe properties are deprecated.


[LiveComponent] Allow updates in arrays of DTOs

Q
A

Bug fix?
yes

New feature?
no

Issues
Fix #1953

License
MIT

This PRs allows changes in arrays of DTOs, see the linked issue for more background information.
There is one limitation though: For now it is not possible to generally set nested properties to be writable (i.e. something like writable: 'items.*.prop', or items[].prop). You either have to set everything to writable (writable: true), or a very specific element (writable: items.1.prop).

Thanks a lot for this PR @cgrabenstein! I was pretty sure most of the code was already one! Nice work! 🧡

Thank you for checking it. What about the fabbot.io errors? I did not change the exception messages, so I'm not sure if I should apply the suggested patch.

Great first contribution Christoph, thank you!


[Go] array.UnionBuilder.Len implementations always return 0

Describe the bug, including details regarding any error messages, version, and platform.
array.(*DenseUnionBuilder).Len and array.(*SparseUnionBuilder).Len always return 0. They should instead return the number of values appended.
This bug exists because these methods are promoted (via unionBuilder) from (*builder).Len, which reads builder.length, but DenseUnionBuilder and SparseUnionBuilder don't update that field.
It is a problem because some nested type builders require working child builder Len methods.  For example, at present, a ListBuilder for a union child type always builds empty lists and a MapBuilder for a union key type always builds empty maps.
One way to fix this is to add a (*unionBuilder).Len implementation that calls unionBuilder.typesBuilder.Len.
// Len returns the current number of elements in the builder.
func (b *unionBuilder) Len() int { return b.typesBuilder.Len() }

Component(s)
Go

Issue resolved by pull request 14776
https://github.com/apache/arrow/pull/14776


merge

fixes #

Checklist:

[ ] Add tests that demonstrate the correct behavior of the change. Tests should fail without the change.
[ ] Add or update relevant docs, in the docs folder and in code docstring.
[ ] Add an entry in CHANGES.md summarizing the change and linking to the issue.
[ ] Add *Version changed* or *Version added* note in any relevant docs and docstring.
[ ] Run pytest and tox, no tests failed.

What does this PR do?


Use navigation scoped viewmodel

Issue

close #609

Overview (Required)

Now, We can use navigation destination scoped ViewModel. (Currently we use Activity scoped ViewModels)

Links

I referred to https://github.com/DroidKaigi/conference-app-2021/pull/608

Screenshot
There is no change in appearance, so I will omit it.

@takahirom
I've challenged myself to create a fix. Could you please have a moment to take a look at it?

👀

thank you!


[HUDI-1294] Adding inline read and seek based read(batch get) for hfile log blocks in metadata table

What is the purpose of the pull request

Added support to read HFile log blocks via inline FileSystem in metadata table.
Also added support to read for a list of keys(batch get) rather than full scan in metadata table.

Brief change log

Added two new configs to HoodieMetadataConfig. hoodie.metadata.enable.inline.reading.log.files and hoodie.metadata.enable.full.scan.log.files.
Since we are adding support for seek based read, renamed AbstractHoodieLogRecordScanner to AbstractHoodieLogRecordReader. and so have renamed HoodieMetadataMergedLogRecordReader.
Added new method to HoodieMetadataMergedLogRecordReader to support this purpose(i.e. reading records for a list of keys) w/o doing full scan.

public List<Pair<String, Option<HoodieRecord<HoodieMetadataPayload>>>> getRecordsByKeys(List<String> keys) {

}

Added new method to HoodieDataBlock for the new requirement. Base class does not have any impl. HoodieHFileDataBlock overrides and gives a concrete impl where in records are read via inline FileSystem with seek based approach.

public List<IndexedRecord> getRecords(List<String> keys) throws IOException {
}

HoodieDataBlock also adheres to enableInline config even if not for batch get. Basically 3 options are possible. a: full scan w/o inline. b. full scan with inlining. c. batch get (with inline)
Have fixed BaseTableMetadata.getAllFilesInPartitions(List partitions) to use batch get api rather than N single calls to getAllFilesInPartition(Path partitionPath).
have fixed metadata reader (HoodieBackedTableMetadata) to leverage the new apis based on config values.

Verify this pull request
This change added tests and can be verified as follows:

Added tests to TestHoodieRealtimeRecordReader to verify the change.
Found some gaps in testing HFileWriter and Reader especially around seek based read and have added TestHoodieHFileReaderWriter to test these cases.
Enabled inline and batch get reads to 1 test in TestHoodieBackedMetadata.

Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

@hudi-bot azure run

@hudi-bot azure run

@hudi-bot azure.


Blank taxonomy pages when using Permalink

What version of Hugo are you using (hugo version)?

$ hugo version
hugo v0.101.0+extended darwin/amd64 BuildDate=unknown

Does this issue reproduce with the latest release?
Yes
When using permalink to change the path of taxonomy, the old (default) path and the new path for the taxonomy page are both valid but are blank (not a 404), a blank page without any layout (even the baseof.html layout is ignored).
To reproduce it

Create a new taxonomy in your config file:

taxonomies:
  test: tests

Set a new permalink for that taxonomy (still in your config):

permalinks:
  tests: /testing/:slug

Now add a new post and in the front matter of this post add:
tests: [duck]

Now, we can access the term page of duck with: https://example.com/testing/duck
But there is issues
The taxonomy pages testing(https://example.com/testing/) and tests (https://example.com/tests/) are both existing and both return a blank page, it’s not a 404 error, a true blank html page.
Even stranger, if we create a layout taxonomy.html it will be used to render the two taxonomy pages but without using baseof.html. Only taxonomy.html will be used.

Here is a minimal reproducible example:
git clone --single-branch -b hugo-github-issue-10115 https://github.com/jmooring/hugo-testing hugo-github-issue-10115
cd hugo-github-issue-10115
hugo && tree public

Output:
public/
├── post/
│   ├── test/
│   │   └── index.html
│   └── index.html
├── testing/
│   └── duck/
│       └── index.html
├── tests/
│   └── index.html
└── index.html

You described three problems...
1) https://example.com/testing/ returns a blank page
This is not true. When you run hugo to build your site, you can see from the tree output above that an index.html file is not generated in the public/testing directory, resulting in a 404 error. However, if you run hugo server, a phantom page is visible at http://localhost:1313/testing/. Perhaps you are referring to that behavior.
2) https://example.com/tests/ returns a blank page
This is not true. When you run hugo to build your site, you can see from the tree output above that a non-empty index.html file is generated in the public/tests directory. If you want this taxonomy page to be served from public/testing/index.html, you need to create content/tests/_index.md and override the url:
+++
title = 'Tests'
date = 2022-07-22T11:43:21-07:00
draft = false
url = 'testing'
+++

You must perform this step because the permalinks configuration settings do not apply to section pages.
See https://github.com/gohugoio/hugo/issues/8523.
3) if we create a layout taxonomy.html it will be used to render the two taxonomy pages but without using baseof.html
I am unable to reproduce this. Let's troubleshoot this in a new topic on the forum (https://discourse.gohugo.io/). Thanks.

Okay, so the issues are:

1. No index.html is generated for https://example.com/testing/
Resulting in a 404 when site builded and a phantom page when using hugo server.
2. The old / default taxonomy page (a.k.a section) is accessible, the permalink isn't applied to this page.
After looking at #8523 it's seems it's exactly the issue.
These two issues are linked, and are directly correlated to #8523.
For the last point "3)", it's my bad, I forgot to use the correct syntax : {{- define "main" -}}...{{- end -}}

Btw @jmooring thanks for taking the time to check this bug report, and point me to #8523 , so I can understand why there is currently this limitation (I will define the url and aliases via front matter for now).


Fix stream closing

Both the png and svg methods correctly close the stream if a filename
is given (the svg method was not calling close).
The stream is not automatically closed if a stream is given (now it is
possible to save the generated image in a on-memory buffer)

I have gone back to school for my PhD. All my classes have made projects due simultaneously. I promise I am not ignoring your contribution. I will get to it, hopefully next week.
Thanks.

:+1:

Added issue #20


re-work senzing install

re-work senzing install so that we leave the package information around to apt, et al.

PR merged release created


Error Handling

There's no error handling for cases where the file cannot be read or written due to permissions or other issues.
Input validation is minimal, leading to potential errors if unexpected inputs are provided.

Fixed as of the latest version


[AutoPR] servicefabric/data-plane

Created to accumulate context: servicefabric/data-plane

(message created by the CI based on PR content)

Codecov Report

Merging #3865 into master will decrease coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #3865      +/-   ##
==========================================
- Coverage   54.21%   54.21%   -0.01%
==========================================
  Files       10106    10102       -4
  Lines      205576   205572       -4
==========================================
- Hits       111457   111453       -4
  Misses      94119    94119

Impacted Files
Coverage Δ

...-luis/azure/cognitiveservices/language/__init__.py

...suggest/azure/cognitiveservices/search/__init__.py

...-language-luis/azure/cognitiveservices/__init__.py

azure-mgmt-advisor/azure/mgmt/__init__.py

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 ec18d0b...7d59a31. Read the comment docs.


CFE allows trailing comma and multiple arguments in extension type representation declaration

The current extension type specification proposal does not allow a trailing comma in the representation type declaration.
Example:
extension type E(int x,) {} // Not allowed

The CFE currently allows this, and it should not.
Further, if I add a second argument, extension type E(int x, int y) {}, the CFE accepts that too, and also an invocation of it:
extension type E(int x, String y) {}
void main() {
 var e = E(1, "b");  // Complains if giving too few arguments.
 print(e.x); // b
 // print(e.y); // y
 print(e.runtimeType); // String
 int x = e.x; // succeeds.
 print(x.runtimeType); // String, **unsounds**
}

Or make the paramters optional or named:
extension type E({int x = 0}) {}
void main() {
  print(E(x: 42).x); // 42
}

Or I can omit the type entirely: extension type E(x) {} void main() { print(E(42).x); } prints "42".
All this is invalid syntax. While it's nice that the grammar parser allows it, so that we can give better error messages, the syntax should be rejected by a later validation step, preferably still in the parser.
(The analyzer has this validation step. The error given for the trailing comma isn't great,
  error - trailcom.dart:1:23 - Each extension type should have
          exactly one representation field. Try combining fields
          into a record, or removing extra fields. -
          multiple_representation_fields

but for two arguments, or named arguments, an error of
  error - trailcom2.dart:1:18 - Expected a representation field.
          Try providing the representation field for this
          extension type. - expected_representation_field

is reasonable. It has some further down-stream errors from not having a valid representation type declaration, which could be quenched.
The analyzer AST model also has a trailingComma token in the RepresentationDeclaration which should always be null.)
If we ever introduce primary constructors in general, with a syntax compatible with extension type declarations, it's likely that the syntax for extension types will be opened up to allow other singleton parameter lists, and trailing commas (and at that point the analyzer AST could give RepresentationDeclaration an asPrimaryConstructorParameterList method).
So far then the syntax is restricted to '(' <metadata> <type> <identifier> ')'. No more and no less.

Do you wish to enforce that there cannot be <metadata> on the parameter? I think there was a request for allowing the metadata already now (in spite of the fact that the <representationDeclaration> is currently as minimal as we could make it).

No, I just forgot about metadata. I never use it :)

AFAIK we don't have trailingComma in RepresentationDeclaration in the analyzer.
I will add a separate error for trailing comma.
https://dart-review.googlesource.com/c/sdk/+/328340

There is indeed no trailing comma in the current analyzer AST. The re seems to have been a commaAfter, which is still in the analyzer version used by dart-format. I should not be using it.

The issue is addressed by the following: https://github.com/dart-lang/sdk/commit/ffd43b214ed453dd30f38ea491ff5b90a3173e67, https://github.com/dart-lang/sdk/commit/0e2ed5ab7a7741b822f4bcfec043c5e0549b838a, https://github.com/dart-lang/sdk/commit/75920dd24bd3b3f0080676dc52a96186c1dab12d.


Attributes on line preceding the function are not parsed

I'm working with custom attributes for a serializer, and for readability purposes I'd like to have attributes on the line before the function the attribute is for, eg:
[[test::attr]]
void myFunc();

Unfortunately, CppAst cannot correctly identify the attribute in that case.
However, if I put the attribute on the same line:
[[test::attr]] void myFunc();

it works fine. As far as I know, the standard does allow the attributes to be before as per the former example. I'm not sure if this is an issue with CppAst or with libclang itself, but it would be great if attributes could be on the line before the function.

Definitely possible, as attributes have to be parsed manually, so there might be some bugs.

Definitely possible, as attributes have to be parsed manually, so there might be some bugs.

Yes, it seems custom attribute is act as a ignore cursor here, but in now version of ClangSharp, it has no feature to query custom attribute here. I'm try to do it by manual use SourceLocation and offset. The on the line feature is important for not let code easy to read.  Our project is try to use annoute with custom string to do this, but it will need many macros, and it is not controllable. It used looks like struct RCLASS(Ignore=true, DisplayName="abc") MyClass, where RCLASS is a macro at last will replace to a annotate attribute here.


chore: update ssh-key format in tests to match real-world usage

This change allows us to reproduce RHBZ#2218231 (and to catch more related bugs in the future)
and it also fixes that same BZ.
Our FSIM for creating users with an associated ssh key did
not take into account that ssh keys are strings that may
have spaces, e.g. 'ssh-ed25519 long-string<EMAIL_ADDRESS>and used ' ' as the split character.
This sets ';' as the split character in the FSIM avoiding
installing unusable ssh keys.

One minor nit is the general accepted for non real domains is example.com, I think email.com is a real domain so we may not want to use that.

oh, I did not know that, will update this accordingly, thanks :+1:

@nullr0ute sorry about the dismissed review, I ended up fixing the BZ also in this PR

Linking #507 for awareness


Proposal to change factory definition

The factory definition syntax right now uses the same function name, but pattern matches on the first argument. This works ok, but it does cause a few problems

You can't easily use ctags/symbol view to jump to factories because they are all the same function
You can't add functions that are used by an factory in between other factories since they are all the same function and elixir will raise a warning.

I propose that we change the factory definition syntax to {factory_name}_factory. This will also make it so we can add callbacks that are grouped near the factory in the future
defmodule Factory do
  # This is nice because you can add functions for the user factory near it instead of at the bottom
  # Also works better with symbol view so it doesn't show a bunch of `factory` functions.
  def user_factory do
    %User{
      first_name: "Paul",
      last_name: "Smith",
    }
  end

  # You can now define helper functions near the factory that it applies to
  def make_admin(user) do
    assing_to_admin_group(user)
  end

  # In the future we could add callbacks like this. If we keep the current syntax you'd have to put these
  # at the bottom of the file which makes it hard to see what a factory can do
  def after_build_user(user, attrs) do
    email = attrs.first_name <> attrs.last_name <><EMAIL_ADDRESS>    Map.put_new(user, :email, email)
  end

  def comment_factory do
    %Comment{
      body: "This is my comment"
    }
  end
end

You would still call these with the same function build(:user), etc.

This makes sense to me, I think it's a good change early in the life of the tool.

Commenting here so I am notified when/if this change makes it into master so I can possibly do work for #97

This makes create(:user) just a tad more magical to me. Not enough to turn me off completely, but worth noting, perhaps.
I agree that the helper functions/traits/callbacks at the bottom of the factory file are really difficult to keep track of. I often have no idea which helpers/traits are intended to work with which factories.
Sometimes, though, the helpers are generic enough that they can work for multiple factories. In which case, the inline ordering also breaks down.
I guess I'm saying I'm not really sure right now if I'd like this or not.

I assume that if a function works for multiple factories it would go at the bottom and if it's for a specific factory it would go near that factory, but that is still a valid point. It's one more thing to think about.
That's also a good point about create(:user) being more magical...Another option would be to make the factory definition a macro like we had before and automatically generated build/create/etc. functions
# Defines `build_user`, `create_user`, `create_user_pair`, `create_user_list`
factory :user do
  %User{name: "John"}
end

Another option would be to encourage people to put functions that apply to specific factories in their own modules?
# Import this in your tests or create a __using__ in your factory that imports all traits
defmodule UserTraits do
  def make_admin(user) do
    assign_to_admin_group
  end
end

I think I prefer the use of macros.
I'm not sure I understand your module example.

@lpil I updated the example to hopefully clarify what I meant. I was trying to show that you could have a separate module for all the functions that you use to manipulate factories and then import them.
I'm not totally sold on the macro because then you can't jump to the factory with ctags/symbol view. I'm also not totally sure that calling user_factory with build(:user) will be a big deal either, so a macro just to generate build_user, create_user, etc. might be overkill. What do you think?


Provide KDoc documentation

Tried to do that with Dokka, and it didn't go that smoothly. Also, it doesn't seem to be needed for the start as source jar is provided, so e.g. docs in IDEA will work nicely. To pass maven central publishing it's enough to publish an empty javadoc artifact, and that's done now. So, KDoc might be needed perhaps only for publishing to a site in the future.


Bluetooth support

Obviously don't expect it to already work since it was just released, but figured I'd leave an issue here for completeness sake. At least on the beta branch of Steam a firmware update has been released for the controller that allows it to connect in Bluetooth mode or the proprietary communication the official dongle uses. If connecting in Bluetooth mode this program does not hook the inputs from the controller and it continues to use lizard mode.

Maybe the work @kozec has done on BT support in SC Controller would help. This would be great for GTK-less systems like Kodi on RPi.

I would like to vote for this!!! My steam controllers adaptor broke, so on my PC I use the USB cable but on my Steam Link I use Bluetooth. I have successfully managed to pair my controller to my RasPi but not sure how to get it to pick the controls...


Replace death screen with new latex on TF

When the player TFs (and dies), the camera could follow the newly minted latex that replaced the player.

Doesn't work in singleplayer, the client doesn't simulate the entity.


updated snapshots

Problems when there is no score.
Uncaught TypeError: Cannot read property 'length' of null
at Score (Score.js:23)
at renderWithHooks (react-dom.development.js:13450)
at mountIndeterminateComponent (react-dom.development.js:15606)
at beginWork (react-dom.development.js:16241)
at performUnitOfWork (react-dom.development.js:20285)
at workLoop (react-dom.development.js:20326)
at HTMLUnknownElement.callCallback (react-dom.development.js:147)
at Object.invokeGuardedCallbackDev (react-dom.development.js:196)
at invokeGuardedCallback (react-dom.development.js:250)
at replayUnitOfWork (react-dom.development.js:19509)
at renderRoot (react-dom.development.js:20439)
at performWorkOnRoot (react-dom.development.js:21363)
at performWork (react-dom.development.js:21273)
at performSyncWork (react-dom.development.js:21247)
at interactiveUpdates$1 (react-dom.development.js:21532)
at interactiveUpdates (react-dom.development.js:2268)
at dispatchInteractiveEvent (react-dom.development.js:5086)


Add xterm-color to improve colour support

Similar to the last PR, this attempts to add even better colour support. Currently trying to break it but seems to fix most of them.
https://i.imgur.com/35dhkJl.png
Do you think this should be behind a flag?

Can you show a before screenshot? rg output seems correctly colored without.

Partly because of our rg alias.

rg is a bad example then xD I will find a few tonight

It's mostly triggered with the doom cli from what I can see, a few others here and there

Did you figure it a fix? Is this PR safe to close?

The only one I could see was add the hook back and set TERM to eshell-term-name, or use this PR


Replace Az Powershell commands on Az Script.

"New-AzureStorageContainer" --> "New-AzStorageContainer"
"Set-AzureStorageBlobContent" --> "Set-AzStorageBlobContent"
"Get-AzureStorageBlob" --> "Get-AzStorageBlob"

@mattu0119 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@mattu0119 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off

#sign-off


Unfork

This is a great project! 🏅
To make it more obvious that this is the canonical repository, I'd suggest unforking from the original repo (removing the text "forked from …").
To unfork, simply contact Github support and explain that the other repo is stale/old and that you want to unfork. They'll fix it within ~1 day.
Having a non-forked repo will help signal that this is the canonical repo, which helps focusing PRs and issues to this repo.
Perhaps we can also ask the old repo to add a link to this repo in their readme?

Good idea. I don't know re. the old repo - the repo management at WT has become very structured and I already had to poke a few folks to make the fork possible. But de-forking the repo here is something I can certainly do.
Thank you for the kind words.

What I saw is that Github currently suggests to delete the repo and re-push it at the same URL, recreating it. That will lose the few issues and PRs that are already in the repo. I navigated the support portal for a while trying to figure out how to place a support request for unforking. Time for dealing with bureacracies is somewhat limited, so I will put this on a backburner for now 🙏

@julik If you are paying for Github in any way, I think this is the link: https://support.github.com/

If not, I don't think it's possible to get hold of their support team unfortunately.
I can try asking them if you want to, but they'd probably want your confirmation as an account owner.
Maybe if you make a clear statement about your wish to unfork in this chat thread, and I'll link to this issue.

It's done! ✈


Add new data source support for ADLS Gen2

Code complete and Released with<EMAIL_ADDRESS>


Remove unnecessary checking for missing joined date.

@nazeer1100126
This change is related to pull request 1785 from openMF/community-app. I made corresponding field mandatory and checking the same on server side seems unnecessary.

@TypicalGitHubUser 20 test cases are failing with this change :-).
If you have time, please correct them as it is related to joining date only. Otherwise I will fix them and merge this PR later
Thanks.

@nazeer1100126 Is there a description of how to run the tests? Where can I find information about the failures?
However I doubt about my ability to fix these. The change so simple that I think the tests just send empty value and expect failure. And fix should be changes in tests, right?

@TypicalGitHubUser goto fineract-provider directory and run gradlew clean integrationTest command
it will take around 30 mins to complete all integration tests. It will show an html file path about failure report. Open that and you can see which are test cases are failed. In these 20 test cases, staff is created without passing joiningDate.
Fixing these 20 test cases are not part of GCI task  and ask your mentor to approve the this task (if you are a GCI student) :-)

@nazeer1100126

Fixing these 20 test cases are not part of GCI task and ask your mentor to approve the this task (if you are a GCI student) :-)

Yes, I will ask. Thank you.


feat: implement standard schema into router core

This PR implements Standard Schema in router core. Currently only valibot implements this but the intention is for all validation libraries to implement it. Which means we don't need to support adapters

[ ] Update docs
[ ] Type tests