Failed output Pre-commit Hook

Describe the bug
When running mdformat as a pre-commit hook whenever mdformat fails there is a secondary error that happens and does not show the error output for mdformat.
Pre-commit setup:
repos:
-    repo: https://github.com/executablebooks/mdformat
     rev: 0.5.6
     hooks:
         -    id: mdformat
              args: [--check]

Error when running with pre-commit:
Traceback (most recent call last):
  File "/Users/emily.hontoria/.cache/pre-commit/reponc4o4tlo/py_env-python3.8/bin/mdformat", line 8, in <module>
    sys.exit(run())
  File "/Users/emily.hontoria/.cache/pre-commit/reponc4o4tlo/py_env-python3.8/lib/python3.8/site-packages/mdformat/__main__.py", line 8, in run
    exit_code = mdformat._cli.run(sys.argv[1:])
  File "/Users/emily.hontoria/.cache/pre-commit/reponc4o4tlo/py_env-python3.8/lib/python3.8/site-packages/mdformat/_cli.py", line 69, in run
    print_error(f'File "{path_str}" is not formatted.')
  File "/Users/emily.hontoria/.cache/pre-commit/reponc4o4tlo/py_env-python3.8/lib/python3.8/site-packages/mdformat/_cli.py", line 165, in print_error
    print_paragraphs(paragraphs)
  File "/Users/emily.hontoria/.cache/pre-commit/reponc4o4tlo/py_env-python3.8/lib/python3.8/site-packages/mdformat/_cli.py", line 157, in print_paragraphs
    sys.stderr.write(wrap_paragraphs(paragraphs))
  File "/Users/emily.hontoria/.cache/pre-commit/reponc4o4tlo/py_env-python3.8/lib/python3.8/site-packages/mdformat/_cli.py", line 179, in wrap_paragraphs
    return "\n\n".join(wrapper.fill(p) for p in paragraphs) + "\n"
  File "/Users/emily.hontoria/.cache/pre-commit/reponc4o4tlo/py_env-python3.8/lib/python3.8/site-packages/mdformat/_cli.py", line 179, in <genexpr>
    return "\n\n".join(wrapper.fill(p) for p in paragraphs) + "\n"
  File<EMAIL_ADDRESS>line 363, in fill
    return "\n".join(self.wrap(text))
  File<EMAIL_ADDRESS>line 354, in wrap
    return self._wrap_chunks(chunks)
  File<EMAIL_ADDRESS>line 248, in _wrap_chunks
    raise ValueError("invalid width %r (must be > 0)" % self.width)
ValueError: invalid width 0 (must be > 0)

"Error" when running normally with mdformat:
Error: File "blah.md" is
not formatted.

To Reproduce
Steps to reproduce the behavior:

Intentionally create a file that will fail mdformat.
Add pre-commit to the environment with the above pre-commit setup.
Run pre-commit run --all-files to produce an "error" on file not formatted.
Observe above ValueError.

Expected behavior
The error message from mdformat is included instead of the ValueError.
Namely I would prefer:
Error: File "blah.md" is
not formatted.

Instead of:
Traceback (most recent call last):
  File "/Users/emily.hontoria/.cache/pre-commit/reponc4o4tlo/py_env-python3.8/bin/mdformat", line 8, in <module>
    sys.exit(run())
  File "/Users/emily.hontoria/.cache/pre-commit/reponc4o4tlo/py_env-python3.8/lib/python3.8/site-packages/mdformat/__main__.py", line 8, in run
    exit_code = mdformat._cli.run(sys.argv[1:])
  File "/Users/emily.hontoria/.cache/pre-commit/reponc4o4tlo/py_env-python3.8/lib/python3.8/site-packages/mdformat/_cli.py", line 69, in run
    print_error(f'File "{path_str}" is not formatted.')
  File "/Users/emily.hontoria/.cache/pre-commit/reponc4o4tlo/py_env-python3.8/lib/python3.8/site-packages/mdformat/_cli.py", line 165, in print_error
    print_paragraphs(paragraphs)
  File "/Users/emily.hontoria/.cache/pre-commit/reponc4o4tlo/py_env-python3.8/lib/python3.8/site-packages/mdformat/_cli.py", line 157, in print_paragraphs
    sys.stderr.write(wrap_paragraphs(paragraphs))
  File "/Users/emily.hontoria/.cache/pre-commit/reponc4o4tlo/py_env-python3.8/lib/python3.8/site-packages/mdformat/_cli.py", line 179, in wrap_paragraphs
    return "\n\n".join(wrapper.fill(p) for p in paragraphs) + "\n"
  File "/Users/emily.hontoria/.cache/pre-commit/reponc4o4tlo/py_env-python3.8/lib/python3.8/site-packages/mdformat/_cli.py", line 179, in <genexpr>
    return "\n\n".join(wrapper.fill(p) for p in paragraphs) + "\n"
  File<EMAIL_ADDRESS>line 363, in fill
    return "\n".join(self.wrap(text))
  File<EMAIL_ADDRESS>line 354, in wrap
    return self._wrap_chunks(chunks)
  File<EMAIL_ADDRESS>line 248, in _wrap_chunks
    raise ValueError("invalid width %r (must be > 0)" % self.width)
ValueError: invalid width 0 (must be > 0)

Environment

Python Version [e.g. 3.7.1]: 3.8.4
Package version of mdformat: 0.5.6
Package version of pre-commit: 2.10.1
Operating System: MacOS Catalina 10.15.4

Additional context
No additional context.

Thanks for the issue! :smile_cat:  I can reproduce, this is indeed a bug.
The environment where pre-commit operates seems to report a terminal window width of 0 and that confuses mdformat when formatting standard error output.
Version 0.5.7 will fix this and it will be on PyPI in just a minute!


Window is blank

Microsoft PowerToys version
General program or parameter : Blank page
Installation method
GitHub
Running as admin
Yes
Area(s) with issue?
General
Steps to reproduce
General program : Double left click.
Parameter : Right click on the icon, click on parameter

Uninstalled and reinstalled with and without administrator rights.
Disabled UAC.
Powertoys & Powertoys Settings are elevated in the task manager
Open via the application or via the .exe file
Installation via Winget, Store or Github.

Windows 22h2. Problem detected with several versions of Powertoys.
Same Problem as : https://github.com/microsoft/PowerToys/issues/243
Sorry for my English, I am French speaking and don't speak much English.

✔ Expected Behavior
Open the requested window, main or parameter
❌ Actual Behavior
Blank window
Other Software
No response

Do you have an application like trustview or something installed?  Do any other apps render like this?  /needinfo

No other application gives this result. I don't have Trustview installed. On the other hand, if it is a question of remote control program, I have Teamviewer which is installed.

Not able to repro this, going to close. Let us know if you see this again!


Return nil if class constant cannot be found

When mocking controllers in Rspec, the class may be constructed in code, which means a class may look like #<Class:0x000000015ea185d8>, causing Object.const_source_location to fail. These should just return nil

@WesleyW This looks fine, but is there a way to detect these anonymous classes and return nil explicitly rather than just rescue NameError?

@alexevanczuk I don't think so... After fiddling around a bit more, I think it's just specs not always conforming to sorbet types. I can repro my original issue by calling CodeOwnership.for_class(Class.new.new.class), but this fails the typecheck here, since klass is an anonymass class instead of a Class.


connects but might not close proprly

closes #8, was missing NextProtos on tls.Config and context's.
quic.Config AcceptCookie seems to be gone but not really used anyhow?
quic.Session.Close is also gone. seems like it should be some where but i couldn't find it just yet.
also fixes #26
TODO:

[ ] read loop doesn't get unblocked

Holy crap, this is amazing @cryptix thank you so much! This has been on my bucket list for a while :)
Are you using the QUIC ORTC stuff in pion/webrtc?

I still need to setup ssb, I have this giant TODO list :(
There is always a fire with Pion that keeps me from taking a day off to get into scuttlebutt properly

@Sean-Der very welcome :)

Are you using the QUIC ORTC stuff in pion/webrtc?

no, but i wanted try that next actually :D
I'd also help with https://github.com/pion/quic/pull/28#issuecomment-626290950 if that could increase the test coverage. This one e2e test seems a bit weak.

I have this giant TODO list ...

no worries, been there.. :)

Hrm... I tried this branch with https://github.com/pion/webrtc/tree/master/examples/ortc-quic but I'm getting this unfortunate crash:

I might be using the example tool wrong. I start it twice, once with -offer and then past the base64 blobs into the others stdin, right?

I just got pion/webrtc/examples/ortc-quic working. I had to fix up passing the established addresses around after ICE (otherwise quic's multiplexer is just confused and might even panic). Will polish up the patches next time.

@cryptix :fire: that is amazing news!
I need to write docs for ortc-quic today. Mind if I add you to the Pion organization so you can review/approve my work around this? It will be way easier to collaborate.
I really want to support your work on this/unblock you as much as possible. It would be a shame to lose someone with enthusiasm in this area. I really need help on the QUIC stuff.
thanks

Mind if I add you to the Pion organization

Not at all :)

closing in favor of #32 to allow contributer access to the branch.


Please update our token url

I'm submitting a ...
[ ] bug report
[x] feature request
[ ] question about the decisions made in the repository
[ ] question about how to use this project

Summary
Our logo doesn't appear on some platforms on solana. We are aware that placing the wrong location can cause the logo to be lost. we have done a Pull Request, please help to merge again.
Feel free to contact me back, thank you.

Other information (e.g. detailed explanation, stack traces, related issues, suggestions how to fix, links for us to have context, eg. StackOverflow, personal fork, etc.)
Pull Request #4581

merged


Prototype Row Based Execution of a DAG

Is your feature request related to a problem? Please describe.
Currently Hamilton is setup to operate over entire "columns". This means there is no "incremental" computation that happens.
There are potential use cases where one might not have all the data, or want to conserve memory and chunk over data. Right now this is possible, but you end up having to rebuild the DAG prior to execution each time. This seems a little clunky; can we do better?
Describe the solution you'd like
A possibility is to:

Create another Driver class which allows multiple calls to execute to happen successively, where some input is varied.
Augment the current driver to allow for this type of execution style.
Some other option :)

In terms of technical decision making, you'd need to figure out some assumptions. E.g. do you rerun @config.when each time? Or do you do a first pass, assume a fixed DAG structure, and then all that's changing is the value of some user defined inputs? Can you do multiple rows/inputs at a time? etc. Ideally people would not have to change the shape of their functions, and things would just work...
Describe alternatives you've considered
You could wrap the current Driver class in another driver that would hold the correct state and reinstantiate the DAG correctly before each iteration. However I think first class support would enable more use-cases for Hamilton, rather than having users write this code themselves.
Additional context
E.g. could this help with image processing, where you have a loop of images, and want to process them given some configuration?
E.g. could this help with memory consumption by enabling chunking over input data?

Here's another idea:
Enable "input" functions to be iterators
def my_loading_funct(...) -> Iterator[pd.Series]:
     ...
     yield some_chunk

This is fraught with some edge cases. But could be a more natural way to chunk over large data sets? This perhaps requires a new driver -- as we'd want some next() type semantic logic on the output of execute...


Lock file on keys not properly erroring

Description
When a lock file is left on a validator key (maybe the box crashes before teku has a chance to remove the lock files), the node will not properly identify this, but instead hang around and be confused.
Acceptance Criteria

When a validator key has a lock file on it, set an error message saying so and exit.

Steps to Reproduce (Bug)

Add lockfiles to validator keys
ie: keystore-m_2425245-3453453.json.lock
Start teku node
Hang. If you set the logging to --logging debug you'll see the error.

Expected behavior: [What you expect to happen]
Teku prints an error mentioning the locks and exits
Actual behavior: [What actually happens]
2021-01-07 00:43:01.813-05:00 | validator-async-0 | ERROR | ValidatorClientService | Unable to initialize validators
tech.pegasys.teku.util.config.InvalidConfigurationException: Keystore file /var/lib/teku/validator_keys/keystore-m_1111_1111_1_0_0-11111111.json.lock already in use.
        at tech.pegasys.teku.validator.client.loader.KeystoreLocker.keystoreInUseException(KeystoreLocker.java:84) ~[teku-validator-client-20.12.1.jar:20.12.1]
        at tech.pegasys.teku.validator.client.loader.KeystoreLocker.attemptReplaceStaleLockFile(KeystoreLocker.java:67) ~[teku-validator-client-20.12.1.jar:20.12.1]
        at tech.pegasys.teku.validator.client.loader.KeystoreLocker.lockKeystore(KeystoreLocker.java:42) ~[teku-validator-client-20.12.1.jar:20.12.1]
        at tech.pegasys.teku.validator.client.loader.KeystoresValidatorKeyProvider.loadBLSPrivateKey(KeystoresValidatorKeyProvider.java:110) ~[teku-validator-client-20.12.1.jar:20.12.1]
        at tech.pegasys.teku.validator.client.loader.KeystoresValidatorKeyProvider.lambda$loadValidatorKeys$0(KeystoresValidatorKeyProvider.java:78) ~[teku-validator-client-20.12.1.jar:20.12.1]
        at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
        at java.lang.Thread.run(Thread.java:834) [?:?]
2021-01-07 00:43:01.821-05:00 | main | INFO  | SimpleThreadPool | Job execution threads will use class loader of thread: main

And proceeds to hang around and be confused.
Frequency: [What percentage of the time does it occur?]
100%
Versions (Add all that apply)

Software version: [teku --version]
teku/v20.12.1/linux-x86_64/-ubuntu-openjdk64bitservervm-java-11
Java version: [java -version]
openjdk <IP_ADDRESS> 2020-11-04
OpenJDK Runtime Environment (build <IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04)
OpenJDK 64-Bit Server VM (build <IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)
OS Name & Version: [cat /etc/*release]
Ubuntu 20.04.1 LTS
Kernel Version: [uname -a]
Linux mainnet-eth-2-box 5.4.0-59-generic #65-Ubuntu SMP Thu Dec 10 12:01:51 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Additional Information
Temporary work around is to manually delete the lockfiles in the validators key folder and restart your node. Works fine after that.

Thanks to @ajsutton for helping me out with this issue!

Thanks to @ajsutton for helping me out with this issue!

I suspect this was broken when we moved to loading validator keys asynchronously.  That's been a very beneficial change so would be good to keep it but need to work out how to get Teku to exit and print the error message right at the end of output if it fails.  If the error is further up the output its really easy to miss it.

I suspect this was broken when we moved to loading validator keys asynchronously.  That's been a very beneficial change so would be good to keep it but need to work out how to get Teku to exit and print the error message right at the end of output if it fails.  If the error is further up the output its really easy to miss it.


Can't we add custom text to it? If yes, then how?

Hi!
Add custom text to what? Please specify :)
Thanks

Adding custom text to a Presentr view. Just like I initialized a Presentr.
var presentr = Presentr(presentationType: .alert)
Now, how can I edit the text of that Presentr View.

@Kanishka3 When you present the view, you can specify which view controller you show. So you can put anything you want in your custom view controller and then present it with a Presentr object.
class PopupAlertViewController: UIViewController{
  //Whatever you want in here...
}

...and then:
class ViewController: UIViewController{
  @IBAction func tapShowPopup(_ sender: UIButton) {
    //Specify the storyboard that has your Popup alert
    let storyboard = UIStoryboard(name: "Main", bundle: nil)

    //Reference the popup alert specifically (be sure to give it a storyboard ID and the class)
    if let vc = storyboard.instantiateViewController(withIdentifier: "AlertPopup") as? PopupAlertViewController{

      let presenter = Presentr(presentationType: .alert)
      self.customPresentViewController(presenter, viewController: vc, animated: true)

    }
  }
}

Thanks @cliftonlabrum !
Expanding on what was already said. Presentr is basically a wrapper for Apple's Custom Modal Presentation API.
Makes it easy to present any of your view controllers with custom position, sizing and animations.
But as @cliftonlabrum said, you can create your own controller with any of your custom views and logic, and present it.
Or you can also use the AlertViewController I provided as an extra, which is just a view controller like any other, but is already setup for having a Title Text, Body Text, and custom action's with 1 or 2 buttons. You can find out more about it in the readme.
Thanks for your patience, new version 2.0 is coming out really soon with a bunch of new features, refactors, improvements, and an updated easier to read documentation.
Thanks!


Introduce test conditions for AWS & Azure

This pull request includes:

[ ] adequate testing for the new functionality or fixed issue
[ ] adequate documentation informing people about the change such as

[ ] submit a PR for the guides repository if this PR changed any behavior described there: https://www.osbuild.org/guides/

AWS, Azure & Base tests passing for 8.9 & 9.3 nightly:
https://gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/-/pipelines/901341972
https://gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/-/pipelines/901341355


how to increase message delivery rate

Hello Community,
I've installed postal on my dedicated server.
It have 32 GB RAM and 500 GB HDD
How to increase speed for sending mail in my server.
my current speed is around 100 mails/min.
but i want 1000 mails/min.
Guys Please help me.

Have you seen #290 ?


Noise simulation

Issue #, if available:
Description of changes:
Testing done:
Merge Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your pull request.
General

[ ] I have read the CONTRIBUTING doc
[ ] I used the commit message format described in CONTRIBUTING
[ ] I have updated any necessary documentation, including READMEs and API docs (if appropriate)

Tests

[ ] I have added tests that prove my fix is effective or that my feature works (if appropriate)
[ ] I have checked that my tests are not configured for a specific region or account (if appropriate)

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

You'll need to run tox to fix the formatting issues

Is there an instruction for that?

Yep, just run
tox

And commit the resulting changes.


[Bug/Glitch]

Legacy4J Version
1.20.4 1.7.4
Mod Loader Version
Fabric Loader 0.16.5
Bug/Glitch Occurrence Context
When changing the User Interface the GUI icons break

Crash Report
No crash report
What happened wrong?
Yeah, the things just bugged for some reason.

I should have explained more, when I disabled Auto Resolution it just broke the crosshair and icons,

These are artifacts, and they occur precisely because of changes in resolution, there is no way to correct them.


Add vendor prefixes to keyframes

BTW I was in a rush to implement this so didn't know of an alternative implementation (like not hard coding the prefixes). It seemed like the existing keyframes implementation was a special case though.

Hey @DylanArnold, I meant to reply to you but lost forgot. Sorry about that!
We already have a mechanism in place for adding prefixes, here is an example of key transforms like you're doing:
https://github.com/japgolly/scalacss/blob/master/core/shared/src/main/scala/scalacss/internal/Attrs.scala#L121
And it can even transform values like this:
https://github.com/japgolly/scalacss/blob/master/core/shared/src/main/scala/scalacss/internal/Attrs.scala#L578-L579
I imagine it would be a similar one-line declaration to add prefixes to keyframes.

I've been looking at how to implement this but it's a little bit tricky.
I get that I can do this
val attr = Attr.real("keyframes", Transform keys CanIUse.animation)
val result: Vector[CssKV] = attr.gen(Env.empty)("x")

The first problem is that attr.gen needs a value.
First of all I figured that I'll just build the internal content of keyframes then pass that as the value to attr.gen.
The problem is that each of of the functions passed to FormatSB side effect and mutate the StringBuilder.
I can see two options straight off.

Easiest but a little bit hacky. Similar to what my commit contains.

Instead of
Seq("-webkit-", "-moz-", "-o-", "").foreach { p =>
    kfStart(p, e.name.value)
    for ((sel, styles) <- e.frames) {
        kfsStart(sel.value)
        val selO = Some(sel)
        for (s <- styles)
             printCssKV(selO, s.mq, s.content)
             kfsEnd(sel)
    }
    kfEnd(e.name)
}

Becomes
val attr = Attr.real("keyframes", Transform keys CanIUse.animation)
val result: Vector[CssKV] = attr.gen(Env.empty)("x")

result.foreach { kv =>
    kfStart(kv.key, e.name.value)
    for ((sel, styles) <- e.frames) {
        kfsStart(sel.value)
        val selO = Some(sel)
        for (s <- styles)
             printCssKV(selO, s.mq, s.content)
             kfsEnd(sel)
    }
    kfEnd(e.name)
}

So the initial "x" value passed to attr.gen is discarded.
Option 2. I'm not so sure. I think it would require some refactoring but it's hard to tell the best way since I didn't write this. Do you have any thoughts? I could look into this more. One option could be passing the StringBuilder around to each function in FormatSB, this might allow more fine grained rendering, and allow a nested StringBuilder to be created for the KeyFrames rendering and the result passed to attr.gen. Still, I don't think this option quite fits into the way it is currently structured.
Or something like that. That's as far as my thought process got. IMO currently the quick and dirty Option 1 seems reasonable :p

@DylanArnold Hey. I'm not totally against quick and dirty as long as it's not observable externally. But before I merge (or suggest a different course like your option 2) I was planning to jump back into the code and investigate. Unfortunately I haven't been able to yet and head up: won't until start of Feb. Sorry.

Hey. No problem I'm working off a snapshot anyway.
Option 2 is better than the current commit and from what I can tell isn't actually that bad. Other options probably need some refactoring unless there is something I haven't seen yet,


@mock_cloudformation doesn't work

requirements.txt
moto
pyyaml
openapi-spec-validator

hello.py
from moto import mock_cloudformation

import unittest

@mock_cloudformation
class HelloTest(unittest.TestCase):

    def test_hello(self):
        self.assertEqual(2, 2)

if __name__=="__main__":
    unittest.main()

run
(env) me@mine % python hello.py
Traceback (most recent call last):
  File "hello.py", line 6, in <module>
    class HelloTest(unittest.TestCase):
  File "/Users/me/work/gists/aws/moto_cloudformation/env/lib/python3.8/site-packages/moto/__init__.py", line 8, in f
    module = importlib.import_module(module_name, "moto")
  File "/Users/me/.pyenv/versions/3.8.11/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 843, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/Users/me/work/gists/aws/moto_cloudformation/env/lib/python3.8/site-packages/moto/cloudformation/__init__.py", line 1, in <module>
    from .models import cloudformation_backends
  File "/Users/me/work/gists/aws/moto_cloudformation/env/lib/python3.8/site-packages/moto/cloudformation/models.py", line 18, in <module>
    from .parsing import ResourceMap, OutputMap
  File "/Users/me/work/gists/aws/moto_cloudformation/env/lib/python3.8/site-packages/moto/cloudformation/parsing.py", line 17, in <module>
    from moto.apigateway import models  # noqa  # pylint: disable=all
  File "/Users/me/work/gists/aws/moto_cloudformation/env/lib/python3.8/site-packages/moto/apigateway/__init__.py", line 1, in <module>
    from .models import apigateway_backends
  File "/Users/me/work/gists/aws/moto_cloudformation/env/lib/python3.8/site-packages/moto/apigateway/models.py", line 15, in <module>
    from openapi_spec_validator.exceptions import OpenAPIValidationError
ImportError: cannot import name 'OpenAPIValidationError' from 'openapi_spec_validator.exceptions' (/Users/me/work/gists/aws/moto_cloudformation/env/lib/python3.8/site-packages/openapi_spec_validator/exceptions.py)

Use moto[cloudformation] to install dependencies.
See http://docs.getmoto.org/en/latest/docs/getting_started.html#installing-moto

From the error message, this seems the same issue as https://github.com/spulec/moto/issues/5457, which was recently fixed, but not included in the current version yet.

Ah, you are right @yan12125, I misread the error.
@jhw This is fixed in moto >= 4.0.3.dev6 - I'll try to get a full release out today.

Moto 4.0.3 is now available on PyPi! I'll close this, but please let us know if you run into any other issues.

This works now, many thanks :)
Couple of things I noticed in trying to deploy a random template under @mock_cloudformation -

AWS::ApiGateway::Method seems to require the ApiKeyRequired field; this is listed as Required: No in the AWS docs -

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-apikeyrequired

AWS::ApiGateway::Deployment seems to require the StageName field; this is also listed as Required: No in the AWS docs -

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html#cfn-apigateway-deployment-stagename
Many thanks for the @mock_cloudformation fix :)

Thanks for raising them @jhw! All three issues should be fixed as of moto >= 4.0.4.dev2


Lasagna Master Exercise: Adjust wording for instructions to flow better

While reading through some of the instructions in this exercise's tasks there were a couple of places that seemed to have typos or small mistakes that didn't quite flow right. This PR attempts to adjust those slightly so they read more naturally.
Hope this helps and thanks for all the great work on this project!

Add label x:size small


Automatically run when new event added

Dave,
Thanks for providing this script!  I am very new to programming, but really looking forward to learning.  I am using the script on a sheet that is being fed by a form, and I have modified it to work on my spreadsheet by updating the titlerowmap.  It works as you designed it, but I would like to get it to run whenever someone uses the form and a new row is populated, or when one of the fields in a row is changed (for example, when the date of the event changes, the script automatically updates the event on the calendar with the new date.)  I have been researching and it looks like the simple trigger onEdit will do this, but I don't understand this trigger yet.  Do you think this will work with your script?  I look forward to hearing what you have to say.

This is something I would also love to do.  Have the Update to Calendar button automatically trigger based on a new or changed row in the spread sheet.

Looks like it worked to just add a trigger in the script.  no actual programming needed :)

That's great. I'll add an example of that to the script. Here's a link to the docs for onEdit:
https://developers.google.com/apps-script/guides/triggers/events

I wrote a couple of functions and added some documentation to make it easy to add and delete the trigger. I thought it was going to be an easy matter of adding an "onEdit" function, but the simple triggers aren't allowed to modify the calendar.


add MPI cluster resource

Summary:
Add facilities to manage MPI workers.
Description:
This is in preparation for a MPI parallelized map_rect version. This bit is to add management of MPI workers and provide a basic way to distribute commands from the root node to the workers.
Reproducible Steps:
NA
Current Output:
The current output. Knowing what is the current behavior is useful.
Expected Output:
Describe what you expect the output to be. Knowing the correct behavior is also very useful.
Additional Information:
Provide any additional information here.
Current Version:
v2.17.0

fixed with #797


feat request: Add error details in GoogleLogin's onError method

In useGoogleLogin hook's onError method, there are error details passed in callback -
(errorResponse: {error: string; error_description?: string,error_uri?: string}) => void
In GoogleLogin, there are no error details passed in callback (according to TS at least).
It would be helpful to get the error message passed for user display to determine the cause.

Google, unfortunately, doesn't support errors for GoogleLogin personalized button
If you found it in their API, PR will be great


Missing Team in Calendar Extension

Issue: Trying to use the Calendar extension and our team is not showing up in the dropdown.  There is a note below that says "If your team is not showing up, we are looking into it."
Ask: How do you add a team to the calendar?

Similar issue some people can see the teams some people can not see teams in the dropdown.


[Company] Add Company Properties API

Adds support for:

get - Get All Company Properties
getByName - Get a Company Property
create - Create a company Property
update - Update a company Property

Things to note:

Does not support property groups, you will have to know them ahead of time
Does not support delete

I'd recommend this be a minor (feature) release, as of this writing, 1.1.0.

This is really cool, thanks!

@pcothenet There are also some doc changes included in this last commit.

Published as 1.1.0


SAA-2223 data fix Temporary Unfit

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

Project coverage is 84.57%. Comparing base (e198ca1) to head (daf2234).

Additional details and impacted files
@@            Coverage Diff            @@
##               main    #1208   +/-   ##
=========================================
  Coverage     84.57%   84.57%
  Complexity     3757     3757
=========================================
  Files           385      385
  Lines         12768    12768
  Branches       1098     1098
=========================================
  Hits          10799    10799
  Misses         1459     1459
  Partials        510      510

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


Merge pull request #1 from spring-projects/master

update from origin

@zhlfml Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

Closing this PR as it looks like a mistake?


fix the missing 'then' in merge update statement of odps

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

11


Loosen dependency versions

In requirements.txt:
cached_property     == 1.3.0
click               == 6.4
mock                == 1.3.0
peewee              >= 2.8.0

Would it be possible to depend from a minimum only version (as with peewee)? Requiring exact versions is pretty annoying in projects, that happen to want to use a newer version.

That the point, will do this. Thank you!


ESM modules not recognised as ESM by Node

Thanks for the very promising library. When running a Node server (20.3.1 and other versions), it seems like the ESM modules aren't recognised as ESM by Node:
import { CborEncoderFast } from 'json-joy/esm/json-pack/cbor/CborEncoderFast';
         ^^^^^^^^^^^^^^^
SyntaxError: Named export 'CborEncoderFast' not found.
The requested module 'json-joy/esm/json-pack/cbor/CborEncoderFast' is a
CommonJS module, which may not support all module.exports as named exports.

I assume CborEncoderFast.js is indeed a valid ESM module (could someone verify?), which means Node is identifying it wrongly for some reason. This seems to be because Node requires the nearest package.json to contain "type": "module" for it to interpret .js files as modules. Since json-joy contains multiple module formats, it seems like specifying a single module type for the whole repo isn't going to work.
edit: I added a package.json containing { "type": "module" } to the esm folder, and it works now.
(An alternative is to name the ESM files with .mjs to indicate they're ESM, if that's possibly better for other scenarios.)

Thanks, the build output will be improved in the future, but currently it is best just to use it CommonJS-way.


Issue with display of long skinny image

This image is not loading the tiles in the right column and not fully loading the bottom half of the image.   The tiles created for this image at zoom level 0 are 2 x 10 and OSD is loading 1 x 5 or half of that.
image width is 1024 px, height is 5120 px

What format are you using? Do you have it up somewhere you can link to?

What do you mean by format?    This is in a dev environment behind our firewall so not easy to give you access.   I'm using a custom tile source, if that's what you mean by format.    I can see all the tiles are created but OpenSeadragon is not pulling all them in.    Have you tested with images at this width and height?

Yes, I meant what sort of tile source. I can't say for sure we've done exactly 1024x5120, but we've certainly done many tall narrow images like that. The problem is likely in your custom tile source somehow. To verify, you could convert the same image to DZI and try that.
I assume you're not seeing any errors in the console? And is it consistent as you zoom in and out?

I tested this as you suggested and it works fine with DZI.  I'm confused.  I have the appropriate tiles created, converted to DZI,  but for some reason the tiles are not loaded.   I have other image types and sizes working fine with the custom tile source.
There are no errors in the console and consistent with zoom in and out.
Any other hints?

Can you post the code for your custom tile source? Perhaps it's in the logic there.

I posted some of it in this thread https://github.com/openseadragon/openseadragon/issues/690.
I haven't had a chance yet to implement your solution but that was to trigger getImageInfo.
I changed my zoom ratio so the number of tiles created for each zoom level has bee changed to make this work.
here's the update of my custom tile source:

  /**
   * @class NBTileSource
   * @classdesc A tilesource implementation for NewsBank.
   *
   * @memberof OpenSeadragon
   * @extends OpenSeadragon.TileSource

   */

   // need to try rewriting to this latest example to see if it will work:
   //  https://github.com/openseadragon/openseadragon/issues/690
  OpenSeadragon.NBTileSource = function(  ) {

    var options;

    // this will change to a relative link
   // var baseRequest = '/SiteLinks/tileviewer/osdtiles/';
    var baseRequest = 'http://iw.devvm23.newsbank.com/SiteLinks/tileviewer/osdtiles/';
    // decide here whether full page or tiles and size of tiles? not yet implemented so not needed.  defaults to tiles
    var imageDelivery = 'tiles';
    var tileSize = 256;

    var srcWidth = tvSettings.image.srcWidth;
    var srcHeight = tvSettings.image.srcHeight;
    var siteLinksPath = [];
    var docID;

    siteLinksPath.push(tvSettings.request.params['DB']);
    siteLinksPath.push(tvSettings.request.params['RELEASE']);
    siteLinksPath.push(tvSettings.request.params['ISSUE_ID']);
    siteLinksPath.push(tvSettings.request.params['OSD_PAGE_ID']);
    siteLinksPath.push(tvSettings.request.params['IMAGE_SIZE']);
    siteLinksPath.push(tvSettings.request.params['DST_IMAGE_TYPE']);

    docID = tvSettings.request.params['OSD_DOC_ID'] ? tvSettings.request.params['OSD_DOC_ID'] : undefined;

    var queryString = ['doc_id=', docID, '&source_width=',srcWidth,'&source_height=',srcHeight, '&tile_size=',tileSize,'&user_id=',user_id,'&rem=',rem,'&image_delivery=',imageDelivery, '&search_term=',search_term].join('');
    var tileRequest = [baseRequest,siteLinksPath.join('/'), '/index.json?',queryString].join('');

    // this is done because the tiles returned to us are padded with a background color when the tile edges have a
    // to create an even number of tiles.
    numTiles= new Object();
    numTiles.x = srcWidth % tileSize == 0 ? srcWidth/tileSize : Math.floor(srcWidth/tileSize) + 1 ;
    numTiles.y = srcHeight % tileSize == 0 ? srcHeight/tileSize : Math.floor(srcHeight/tileSize) + 1 ;

    this.width=numTiles.x*tileSize;
    this.height=numTiles.y*tileSize;

    options = {
      width: this.width,
      height: this.height,
      tileSize: tileSize,
      tileOverlap: 0,
      minLevel: 0,
      maxLevel: 1
    }

    this.getNBImageInfo( tileRequest );
    OpenSeadragon.TileSource.apply( this, [ options ] );

  };

  OpenSeadragon.extend( OpenSeadragon.NBTileSource.prototype, OpenSeadragon.TileSource.prototype, {

    getNBImageInfo: function (tilesUrl) {
      var tilePaths = new Array();
      var highlights = new Array();
      var zones = new Array();

      jQuery.ajax( {
        url: tilesUrl,
        dataType: "json",
        async: false,
        success: function(data, text) {
          if (data.imageserver.tiles != null)
            tilePaths = data.imageserver.tiles;
          if (data.imageserver.highlights != null)
            highlights = data.imageserver.highlights.highlight;

          if (data.imageserver.zones != null)
            zones = data.imageserver.zones.zone;
        },
        error: function(request, status, error) {
          alert("Error : " + request.responseText + "\n" + status + "\n" + error);
        }
      });
      this.tileLocations = tilePaths;
      this.highlights = highlights;
      this.zones = zones;
    },

    /**
     * @function
     * @param {Number} level
     * @param {Number} x
     * @param {Number} y
     */
    getTileUrl: function( level, x, y ) {
      id =  'tile_' + x + '_' + y + '_' + (level);
      return this.tileLocations[id];
    }

  });

I have an update to this issue.  When I changed the tile size to 512, the image displayed correctly at both zoom levels.   Interesting.

Interesting. I suppose one test might be to put a console.log in your getTileUrl to see exactly which levels and x and y are being called for.
It does seem like it may have something to do with your levels. I believe OSD assumes that each level is twice as large as the level preceding it; is that how your files are structured? Note that with DZI, level 0 is 1 pixel wide, level 2 is 2, level 3 is 4 (approximately, depending on aspect ratio). I see that you have a minLevel of 0 and a maxLevel of 1; I assume those levels aren't 1 pixel and 2 pixel wide. If your lowest tile level is approximately 256 pixels wide, that would translate to OSD tile level 8, so you'd want to subtract 8 from the level OSD gives you in getTileUrl, just like we do in the OSM tile source:
https://github.com/openseadragon/openseadragon/blob/master/src/osmtilesource.js#L140
...and you'd want to make your minLevel 8 and your maxLevel 9.


itext test-compile fails with fluent: void type not allowed here

error:
itext7/commons/src/test/java/com/itextpdf/commons/actions/data/ProductDataTest.java:[51,57] error: 'void' type not allowed here

source code:
        Assert.assertEquals("1.2", productData.getVersion());

logging shows that compiling itext tests does not trigger any AST transformations
disabling primitive support has no effect
this could be a problem with missing references to the fluent components in the compiler global state

patching the resolver and attributor into all singleton fields does not fix this
it could still be a global state problem, because the order objects are instantiated matters

This problem disappeared after mvn clean. Must have been an issue with stale class files.


build-API revision

Junkie should expose a clear and transparent API for the Context.build(...) function.

Proposal:

Passing classes

build(type) -> instance
build(*types) -> tuple of instances
build(**types) -> dict of instances with keys

Passing strings

build(str) -> instance
build(*str) -> dict of instances with keys

Passing mixed values

build(*str_or_types) -> tuple of instances

Note:
If you have a list as an input you can do:
build(*list)
If you have a dict as an input you can do:
build(**dict)

Thats a good idea... I like that 😁

This general build() method could call the following more specific methods:
@contextmanager
def build_dict(self):
    pass

@contextmanager
def build_list(self):
    pass

@contextmanager
def build_tuple(self):
    pass

@contextmanager
def build_element(self):
    pass

I realised that "Arbitrary Argument Lists" are implemented as tuples  in Python:
https://docs.python.org/3/tutorial/controlflow.html#arbitrary-argument-lists
To be consistent we should handle an argument list as tuple instead of list.
API:
@overload
def build_tuple(self, target_tuple: Tuple[Union[str, type, Callable]]) -> Tuple[object]:
    pass

@overload
def build_tuple(self, *target_args: Union[str, type, Callable]) -> Tuple[object]:
    pass

@contextmanager
def build_tuple(self, *args):
    pass

Usage:
with context.build("var1", MyApp) as (instance1, instance2):
    self.assertEqual("abc", instance1)
    self.assertEqual(MyApp, type(instance2))


Service Feasibility - Display a cost instead of route length

Option to apply an equation to the cost instead of just cost
i.e. {Length} * 100 /23.5

This would be a great enhancement.

@MikeMillerGIS
We are thinking of using the JavaScript eval() method to display cost instead of route length. The administrator can configure any arbitrary expression that includes the keyword/token {Length} in it.
We can validate the expression to see if it returns a number, else display a validation error message.
Please let us know your thoughts on this approach.

That is fine

@MikeMillerGIS

Since we are going to support an equation, we probably need to make these configurable.

@MikeMillerGIS
Agree. Please have a look at the configuration items we have added and let us know if these look ok.

confirmws

With a cost, the units are being cut off, can we use two lines?

Provide an option to show the label before or after the values
So the user can display the result the following ways
$18450.00
or
18450.00 Dollars

@MikeMillerGIS
We can add two radio options just below the "Route result unit label" option as shown below. Please confirm.
Result unit label position        () Before        - (x) After
After will be checked by default
We will use two lines for result + unit label

Confirmes
Sent from my Verizon Wireless 4G LTE DROID

verified


[spark] Support to write to dynamic bucket table

Purpose
Supports to insert into Paimon KVTable with dynamic bucket by Spark.
Tests
SparkWriteITCase.testWriteDynamicBucketPartitionedTable
API and Format

Documentation

Thanks @YannByron for the contribution! Left comments.

@JingsongLi all of comments have been solved. pls review again.


Columns Squish together under certain conditions

I'm submitting a ...  (check one with "x")
[x ] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request => Please do not submit support request here, post on Stackoverflow or Gitter

Current behavior
I have a angular 4 application that uses angular material mat tabs to display multiple ngx-datatables. Sometimes when I go from tab to tab under certain conditions the tables columns get squished together but when I open the google developer tools to inspect it the table fixes itself
Expected behavior
The expected behavior is that the columns display in their proper format and don't get squished together
Reproduction of the problem

This is a large project and I am not able to recreate the issue in plunker but I have attached the image of the bug. This occurs with angular material 2.0.0-beta.12 mat-tabs.
What is the motivation / use case for changing the behavior?
To properly display the data
Please tell us about your environment:
OS X El Capitan version 10.11.6
Atom IDE
NPM 4.3.0
angular/cli 1.4.9
swimlane/ngx-datatable 9.3.1
Chrome

Table version: 0.8.x

swimlane/ngx-datatable 9.3.1

Angular version: 2.0.x

angular/core 4.2.4

Browser:

Chrome

Language:

Typescript

I've seen this same thing when the screen changes sizes and there's a table that's still in the dom but out of view because of tabs or something. What happens if you remove the table and then put it back when the view switches back?

I have a similar issue after upgrading from 11.0.4 to 11.1.5
However, for me the header columns are squished but the body is normal. This may be because I set the columns first, and then later set the data.
The header columns layout correctly once I scroll the table.

Inspect the <div> around <datatable-header-cell> with class="datatable-row-center"
During the bug, it has width: 0px; After scrolling, the width gets a value.

Another similar issue is that when I pin a column, it is "squished" until I scroll (vertically or horizontally).

I had the same issue after upgrading to 11.1.5

Same here, has to pin 11.0.4.

Does this have anything to do with #1161? We've been struggling with that.

Well I found a temporary solution to this one. I receive the table data in the setTimeout giving it a minimal time of 100 ms. Now it stays squished for like 100ms and gets back to normal, you won't even realize that it was squished at any moment. I know this is not a perfect solution but glad I have something that is working fine and I didn't had to deal with version change.

This would happen to me on activate on a row or initial loading of a table. This only happened when I had two tables with the same columns object and one of the two tables was hidden making the browser report a width of zero on the column I suppose. I didn't dive into the code to see where this happened or why but hopefully this can help someone.

+1 -- for me it's when users go from smaller window to max size. Resize just doesn't fire

Same issue here

+1

Can confirm this is still a very real thing.  I'd be happy to put in a PR if an experienced dev could point me towards the table resizing logic.

+1

Same issue...

+1

+1
Any update on this? May have to switch to a different data table if this doesn't get figured out as it's killing or UI currently.

+1
I might have the same issue. I am reusing a datatable component in a modal and when I have resized the browser window before (does not matter, if there was another datatable on it or not) then the contents of the table, when I open it, gets squished to the left. When I resize the window again, it jumps back to looking fine.

when we can expect this pull request #1561 in master?

Hi, Just to bump up on this, am still experiencing it. is there a fix for this? Thanks

I think you should switch to primeng...

I just experienced this with a custom component rendering my <ngx-datatable> through content projection (by using <ng-content>)
If the datatable has it's inputs populated, but the parent component only renders it's body afterwards, this could occur.
Fixed by firing a window resize event, and writing the relevant unit test, but since this project isn't maintained much any more - if anyone has severe issues with this, might be worth investigating using a more supported datatable library, primeng or ag-grid to name some.
Unless...
@marjan-georgiev - is there any chance of someone being assigned to this project to attend to/review the open PRs that may resolve the issues open & allow more open source contribution & interaction?

I'm submitting a ... (check one with "x")
[x ] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request => Please do not submit support request here, post on Stackoverflow or Gitter

Current behavior
I have a angular 4 application that uses angular material mat tabs to display multiple ngx-datatables. Sometimes when I go from tab to tab under certain conditions the tables columns get squished together but when I open the google developer tools to inspect it the table fixes itself
Expected behavior
The expected behavior is that the columns display in their proper format and don't get squished together
Reproduction of the problem

This is a large project and I am not able to recreate the issue in plunker but I have attached the image of the bug. This occurs with angular material 2.0.0-beta.12 mat-tabs.
What is the motivation / use case for changing the behavior?
To properly display the data
Please tell us about your environment:
OS X El Capitan version 10.11.6
Atom IDE
NPM 4.3.0
angular/cli 1.4.9
swimlane/ngx-datatable 9.3.1
Chrome

Table version: 0.8.x

swimlane/ngx-datatable 9.3.1

Angular version: 2.0.x

angular/core 4.2.4

Browser:

Chrome

Language:

Typescript

On tab click just invoke the resize event
//javascript
window.dispatchEvent(new Event('resize'))
This works fine with me

Trying everything I could think of, adding this CSS to my global styles seems to work so far:
datatable-body-cell.datatable-body-cell {
    width: -webkit-fill-available !important;
}

+1

Did anyone manage to solve this? 😂

@jcandiap I migrated to Angular material tables too

I solved this by setting the column mode to flex, setting [flexGrowth]="1" for each column, and fixing the position of .datatable-header-inner
.datatable-header-inner {
  position: fixed;
}


[WIP] PP 5166 write charge to queue with docker

WHAT YOU DID
Changes to

Write charges to Capture queue
SQS Docker rule for integration tests

Pending tests

Will raise a separate PR with only SQSDocker rule


No 'Access-Control-Allow-Origin' header on GET user/:id:/levels

original error message:
XMLHttpRequest cannot load https://cldr.pf-control.de/ttb-server/dev/user/ed26ba03-34b5-4456-9cf5-e95a6818dfd4/levels. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://touchthebeat.github.io' is therefore not allowed access. The response had HTTP status code 500.

It was produced in Google Chrome with the client at https://github.com/TouchTheBeat/TouchTheBeat/commit/73ab6f81f4b25f5ee72cfffd054cdab8d153aa06and server at bb0a8950ba3fafaf34f53f032e06a3c4b68f0c5c (both ci instances) by logging in on the home screen and then switching to the level builder.

detailed information for the OPTIONS request:
Request URL:https://cldr.pf-control.de/ttb-server/dev/user/ed26ba03-34b5-4456-9cf5-e95a6818dfd4/levels
Request Method:OPTIONS
Status Code:500 Internal Server Error
Request Headers
:host:cldr.pf-control.de
:method:OPTIONS
:path:/ttb-server/dev/user/ed26ba03-34b5-4456-9cf5-e95a6818dfd4/levels
:scheme:https
:version:HTTP/1.1
accept:*/*
accept-encoding:gzip, deflate, sdch
accept-language:de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4
access-control-request-headers:accept, ttbsession, ttbtimestamp, ttbtoken, ttbhash, content-type
access-control-request-method:GET
cache-control:no-cache
origin:https://touchthebeat.github.io
pragma:no-cache
referer:https://touchthebeat.github.io/TouchTheBeat/edge/master/
user-agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36
Response Headers
content-length:0
content-type:text/html
date:Thu, 22 Jan 2015 13:55:32 GMT
server:pfCache-nginx
status:500 Internal Server Error
version:HTTP/1.1
x-backend:55
x-queue-slept:0 seconds
x-queued-before:-5

was fixed with commit https://github.com/TouchTheBeat/Backend/commit/03885cddeda7d33ebfbe26ffdeed97f99bc00045


odgi build integrates sequence that is not present in any path

When I took a look at the odgi bin output of the t.gfa, I realized that for some bins in the middle, the coverage is not always 1.0. This seems to happen, because in the GFA, some sequences, that are not traversed by the path are still added to the graph as nodes and therefore later to the pangenome.
I would expect, this is not a desired behaviour @ekg ?

Apparently, this was a misunderstanding on my side. 'odgi' does what it should be doing.


chore: Re-enable missing-docs lint

#868 didn't actually enable the lints in quantinuum-hugr when the config was moved to the workspace.

I think the #[allow(missing_docs)] is dubious. I agree that the existing constructors are ok to not document their fields because they are quasi-documented via the error messages. However these annotations will apply to newly added constuctors.
perhaps adding
#[allow(missing_docs)] // all fields are mentioned in error message per-constructor would be better?
Happy to approve if you think this would be too verbose

I wanted to avoid the boilerplate; but I agree that variants should always have docs.
I moved the attributes to the variants (without the comment though, as that's even more verbose).


update gopowerstore to v1.10.0

Description
Update gopowerstore to v1.10.0
GitHub Issues
List the GitHub issues impacted by this PR:

GitHub Issue #

https://github.com/dell/csm/issues/491

Checklist:

[x] I have performed a self-review of my own code to ensure there are no formatting, vetting, linting, or security issues
[x] I have verified that new and existing unit tests pass locally with my changes
[x] I have not allowed coverage numbers to degenerate
[x] I have maintained at least 90% code coverage
[ ] I have inspected the Grafana dashboards to verify the data is displayed properly
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have maintained backward compatibility

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Please also list any relevant details for your test configuration

[x] make check test

➜  csm-metrics-powerstore git:(feature-preview-1.4) ✗ make check test
./scripts/check.sh ./cmd/... ./opentelemetry/... ./internal/...
=== Checking format...
=== Finished
=== Vetting...
=== Finished
=== Linting...
=== Finished
=== Running gosec...
=== Finished
go test -count=1 -cover -race -timeout 30s -short ./...
?       github.com/dell/csm-metrics-powerstore/cmd/metrics-powerstore   [no test files]
ok      github.com/dell/csm-metrics-powerstore/internal/common  0.109s  coverage: 91.7% of statements
ok      github.com/dell/csm-metrics-powerstore/internal/entrypoint      0.839s coverage: 91.4% of statements
ok      github.com/dell/csm-metrics-powerstore/internal/k8s     0.097s  coverage: 91.8% of statements
?       github.com/dell/csm-metrics-powerstore/internal/k8s/mocks       [no test files]
ok      github.com/dell/csm-metrics-powerstore/internal/service 0.097s  coverage: 90.3% of statements
?       github.com/dell/csm-metrics-powerstore/internal/service/mocks   [no test files]
?       github.com/dell/csm-metrics-powerstore/opentelemetry/exporters  [no test files]
?       github.com/dell/csm-metrics-powerstore/opentelemetry/exporters/mocks   [no test files]
?       github.com/dell/csm-metrics-powerstore/opentelemetry/tracers    [no test files]

Manual inspection of the GUI
I have verified that the dashboards show the data properly while generating I/O and storage resources

[ ] Yes
[x] No

e2e pass


open-policy-agent: 0.66.0 -> 0.69.0

resolves #349077

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 349111 run on x86_64-linux 1

2 packages built:

matrix-authentication-service
open-policy-agent

Thanks


[POC] Working null solution

Codecov Report

Merging #10280 (a55f915) into master (2c57462) will decrease coverage by 42.37%.
The diff coverage is 37.90%.

@@              Coverage Diff              @@
##             master   #10280       +/-   ##
=============================================
- Coverage     70.43%   28.07%   -42.37%
+ Complexity     5772       57     -5715
=============================================
  Files          2017     2003       -14
  Lines        109263   109047      -216
  Branches      16611    16580       -31
=============================================
- Hits          76963    30611    -46352
- Misses        26899    75405    +48506
+ Partials       5401     3031     -2370

Flag
Coverage Δ

integration1
24.61% <33.98%> (+0.01%)
:arrow_up:

integration2
24.64% <35.29%> (+0.05%)
:arrow_up:

unittests1
?

unittests2
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...mentpruner/MultiPartitionColumnsSegmentPruner.java
0.00% <0.00%> (-73.92%)
:arrow_down:

...roker/routing/segmentpruner/TimeSegmentPruner.java
0.00% <0.00%> (-74.23%)
:arrow_down:

.../apache/pinot/common/datablock/DataBlockUtils.java
45.29% <ø> (-45.30%)
:arrow_down:

...ot/common/request/context/RequestContextUtils.java
44.25% <0.00%> (-21.65%)
:arrow_down:

...sform/function/BaseBinaryGeoTransformFunction.java
0.00% <0.00%> (-72.59%)
:arrow_down:

...geospatial/transform/function/StPointFunction.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...nsform/function/ArrayAverageTransformFunction.java
0.00% <0.00%> (-43.48%)
:arrow_down:

.../transform/function/ArrayMaxTransformFunction.java
0.00% <0.00%> (-27.78%)
:arrow_down:

.../transform/function/ArrayMinTransformFunction.java
0.00% <0.00%> (-27.78%)
:arrow_down:

.../transform/function/ArraySumTransformFunction.java
0.00% <0.00%> (-90.91%)
:arrow_down:

... and 1473 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Fix typo

articles was mispelled as rticles in README.md and template.qmd

Nope, rticles is the correct spelling https://github.com/rstudio/rticles

Interesting! Thanks for the clarification :)


Why did my download count decrease by over 200?

Why did my download count decrease by over 200?

We are making another few tweaks to the background processing jobs. Data will change again later today, but do keep in mind that in general stats will be lower because we now filter out things like (but not limited to) search engine crawlers.

FYI download counts have been updated and back to normal.


Create CONTRIBUTING.md

Create a document for rules for submitting work items in the style guide.
See example: https://github.com/robotframework/robotframework/blob/master/CONTRIBUTING.rst
Leverage the Good First Issue and  Help Needed Label from Github (actually use it)
Edit Page button at bottom of guides pages.
Paths to contributing:

Create an issue in github
Work on an issue (github process outlined via chart)
Simple Edits Edit Page

Remember to update the link to the Issues on the RF Docs website, if we move the Issues from current repo to the Guides repo.


Change CD workflow to use new staging bucket for artifacts

Description of changes:
The infrastructure team is separating the production and staging locations into different AWS accounts. Plugins need to modify their workflows to publish to the new locations.
This PR changes the CD workflow to add a build number and write the zip, deb, and rpm plugin artifacts to staging.artifacts.opendistroforelasticsearch.amazon.com. The write to S3 currently fails (see https://github.com/camerski/security/actions/runs/305148456) because the secrets have not been updated; the secrets will be updated at the same time this PR is merged.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Does this mean that each plugin will only upload artifacts to staging S3 and infra team will take over post that ( publishing artifacts and distribution)?

Does this mean that each plugin will only upload artifacts to staging S3 and infra team will take over post that ( publishing artifacts and distribution)?

For the zip, rpm, and deb artifacts that are bundled with ODFE, yes. You will still publish to Github or Maven using your existing process.

@camerski The test CD workflow failed. Please take a look.

@camerski The test CD workflow failed. Please take a look.

Yes, that's to be expected. As noted in the PR message, the github secrets have not been updated yet. I should have made it clearer that this PR should not be merged yet - can you please revert the change, and I'll re-push it when we're ready to update the secrets.


Implement _removeItem in terms of DirectoryEnumerator

Alternate implementation to https://github.com/apple/swift-corelibs-foundation/pull/1976 that uses DirectoryEnumerator

@swift-ci please test

Wont this spend a lot of effort to convert every file entry from file system representation into a URL then convert it back again to remove it? Im not sure of the benefit of this change.

Wont this spend a lot of effort to convert every file entry from file system representation into a URL then convert it back again to remove it? Im not sure of the benefit of this change.

It does add extra URL calls, however, it's one less use of fts and means the same codepath works across Windows/Darwin/Linux. How expensive is converting to a URL? I'm still okay with https://github.com/apple/swift-corelibs-foundation/pull/1976 if adding an extra conversion is too expensive to be worth it.

Could also do the .standardizingPath to avoid the URL conversions.

@swift-ci please test

Could also do the .standardizingPath to avoid the URL conversions.

I can remove all the URL conversions in _removeItem, but the issue is still that NSURLDirectoryEnumerator gives back URLs rather than Strings so it will still be doing the conversion there and back.

Yes, but that is a feature since the paths need to be converted to FSRs prior to the unlink.

@swift-ci please test

Okay, I've removed the unneeded URL conversions in _removeItem, the only one remaining is the needed one to create the Enumerator.

@swift-ci please test

@swift-ci please test

@swift-ci please test

It fails when creating a symlink for swiftpm... I don't think it's related?
12:45:08 [37/38] Compiling Swift Module 'SwiftPMPackageTests' (1 sources)
12:45:08 error: symlink error: File exists (17): /home/buildnode/jenkins/workspace/swift-corelibs-foundation-PR-Linux/buildbot_linux/swiftpm-linux-x86_64/release -> x86_64-unknown-linux/release
12:45:08 --- bootstrap: error: build failed with exit status 1
12:45:08 Building the standard library for: swift-stdlib-linux-x86_64
12:45:08 Running Swift tests for: check-swift-all-linux-x86_64 check-swift-all-optimize-linux-x86_64
12:45:08 /home/buildnode/jenkins/workspace/swift-corelibs-foundation-PR-Linux/swift/utils/build-script: fatal error: command terminated with a non-zero exit status 1, aborting

@swift-ci please test

@swift-ci please test

@swift-ci please test
Ah hold up a bit, this is actually broken on Linux, I've repro'd it locally. Just having issues setting up a Linux environment where I can test it properly.

You are calling the unlink and rmdir without using the FSR of the file name.

Another point regarding the FSR, is that the fts_read already returns the filename in FSR which can be passed straight to unlink and rmdir instead of converting the name to a String and then back again.
I think this approach in general is wrong, for an internal helper like this it should just use the best per-OS solution to delete a file or directory structure.

I think this approach in general is wrong, for an internal helper like this it should just use the best per-OS solution to delete a file or directory structure.

I actually agree, and I think I'd rather do #1976 instead. @compnerd if we really care about a single codepath, one other alternative might be to have an fts shim and implement that on Windows and call through to the real thing on everything else, but that might be more effort than it's worth.

I don't think that we want to re-implement FTS on top of the Windows APIs.  Would it not be possible to actually have an internal method to avoid the overheads of the FTS translation and the stating?  If not, then I suppose that we can split the file into two and have a FileManager+POSIX.swift and FileManager+Win32.swift and start duplicating the interfaces.

Closing in favour of https://github.com/apple/swift-corelibs-foundation/pull/2117


bug(mv-on-mv): creating count(*) mv cause barriers pile-up

Describe the bug
This problem happened during the longevity test.
The problem seems to be the counting MV e.g.
CREATE MATERIALIZED VIEW count_nexmark_q21 AS
                SELECT count(*) AS record_count
                FROM nexmark_q21;

After creating it, the barrier latency soared high, which causes memory manager cannot work properly, and then OOM.
Between 02:18:37 ~ 03:34:38, the test script was creating these counting MVs for nexmark-q18/20/21.
However, I don’t know why barrier latency soared high. Even though counting MV may not be a good idea, barrier latency should be smooth and steady during its creation.

To Reproduce
No response
Expected behavior
No response
Additional context
Slack thread: https://risingwave-labs.slack.com/archives/C0423G2NUF8/p1677216659272929?thread_ts=1677185419.043819&cid=C0423G2NUF8

Some random ideas:

For backfill (also rearranged chain, https://github.com/risingwavelabs/risingwave/issues/5790), we always prefer and buffer the upstream side in order to get the barrier ASAP, while there’s no back-pressure for this. So we may get more upstream data than we can process downstream, each epoch.
Backfill batches the upstream data until a barrier is received, this stalls the downstream pipelining. 🤨

It seems we can let backfill executor become barrier-latency awareness, so that we can slow down the snapshot consumption while barrier latency increases.

Backfill batches the upstream data until a barrier is received, this stalls the downstream pipelining. 🤨

Actually I didn't quite understand this part. @BugenZhao From my understanding, since we do not collect barriers from these creating MVs (as well as actors), the problem should not be barriers piling up? 🤔

From my understanding, since we do not collect barriers from these creating MVs (as well as actors)

Nope. Once we connect it to the upstream with the Add mutation, it becomes a part of the streaming graph and we need to collect barriers from them even if they're marked as CREATING.

From my understanding, since we do not collect barriers from these creating MVs (as well as actors)

Nope. Once we connect it to the upstream with the Add mutation, it becomes a part of the streaming graph and we need to collect barriers from them even if they're marked as CREATING.

Oh. I see. Thus, in summary, BackfillExecutor cause the invalidation of back-pressure, and we need to do something to bring it (back-pressure) back. Right?

Thus, in summary, BackfillExecutor cause the invalidation of back-pressure, and we need to do something to bring it (back-pressure) back.

Yes. This is my guess. 🥵

Hi, any updates?

I have added a backfill throughput metric, so if it happens again, we will have more information to analyze.

Now it is disabled in longevity test
skip_mvs_from_mvs=1

Can't reproduce


Extension causes high cpu load

Issue Type: Performance
Extension Name: cmake-tools
Extension Version: 1.3.1
OS Version: Windows_NT x64 10.0.17763
VSCode version: 1.44.0

:warning: Make sure to attach this file from your home-directory:
:warning:`C:\Users\ms89w8
ms-vscode.cmake-tools-unresponsive.cpuprofile.txt
cmake-tools/files/4466709/ms-vscode.cmake-tools-unresponsive.cpuprofile.txt)
Find more details here: https://github.com/microsoft/vscode/wiki/Explain-extension-causes-high-cpu-load

I think I might be experiencing the same problem. I'm going to apologise in advance in case I am wrong (sorry). I've attached my CPU-profile.
ms-vscode.cmake-tools-unresponsive.cpuprofile.txt

@brechtvb, your issue looks like CMake Server sending a lot of data back to the extension.  Do you have a large project?  I'm afraid there's not much we can do about that issue.  You could try to upgrade CMake to 3.14.6 or higher and use the CMake File Api mode instead of CMake Server to mitigate the problem.
@Terafugia, your issue looks like setting up the MSVC environment took more than 5 seconds.  I'm not sure what would cause that.  If you launch the "Developer Command Prompt" from the Start Menu in Windows, does it normally take a few seconds for the prompt to appear?


Comments on Display Photo Feature

@wenzongteo
I had a look at the initial display photo feature. So far, it is able to display a default no man picture or the user picture when added. It is a good starting point.
I think for the next step, you might want to work on the delete part as the user's picture is not deleted from the storage after the user is being deleted.

Hi bryan, thanks for your input! I have not thought about removal of photo in the situation that you have just mentioned.
Will aim to resolve this use case by next week!


Update for excecutioner DLC archetype?

Can be updated for the Excecutioner Class? Trying to make a Psyker/Officer/Executioner.
Thanks!

Added new version with additions for blade dancer and executioner. Hopefully i didn't miss any combos.


helpModal user config

A user should be able to control and save whether the helpModal will be shown to them.
The helpModal probably shouldn't be shown on mobile.

Question - should this be a blanket helpModal on or off? Or should helpModals hold their type too to be able to turned off?
For instance, if we expand helpModals to be on lots of elements.
Lets say I want to turn it off for drawing interactions, but keep it on for a plugin with custom functionality?

Can we embed images into the modal?
And maybe even markdown?

@simon-leech  The data_id provided as param to the helpModal will passed on to the modal. This allows for a querySelect via the data_id.

@RobAndrewHurst The content is provided as html element. This can include images.
It would be great to support markdown. I will create a different PR for this. We would need a parser which turns markdown into a html element. https://github.com/GEOLYTIX/xyz/issues/1258

A dialog will be shown with instructions for the drawing interactions.


Update move-resource-group-and-subscription.md

There is no mention of read-only locks in this page. Following should be clearly stated:
"You cannot move Azure resources to a another resource group or another subscription if there is a read-only lock whether in source or in destination. "

@mumian
IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@mumian
Can you review this old PR and determine whether it needs to be closed or merged?
@MicrosoftDocs/public-repo-pr-review-team

I sent email to the content owner today.
@MicrosoftDocs/public-repo-pr-review-team

@azarboon - thank you for your contribution.
#sign-off


chore: Upgrade test dependencies

Also adds test coverage checks, heavily based on opensphere-build-resolver

:tada: This PR is included in version 2.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Angular 2

As the title says, does it support ng2? Or any plans for it?

If I'm honest: I haven't the slightest clue :) I don't use angular, and the directive was contributed by someone else.
Do you have any idea?

No, it does not support Angular (the official name of Angular v2.x.x and above). This library was built for AngularJS (which is essentially Angular v1.x.x), and those are not compatible with the rework of Angular.
I think this library (or a different project) should expose a NgModule to be used in Angular.

Closing in favour of #333, which will look at all angular issues


[Fix #9927] Indent hash values in LineEndStringConcatenationIndentation

Make Layout/LineEndStringConcatenationIndentation work like Layout/MultilineOperationIndentation when EnforcedStyle is indented. This means that concatenated strings in hash literals shall be indented, just like other concatenated strings.

Thanks!


Avoid initializing MFOperator on each vmult call

Previously, we were initializing the MatrixFree data structures in TestMFMeshEvaluator on each agglomerate evaluation, i.e. each time the eigensolver evaluated the operator, taking about 30% of the overall number of instructions. This is really wasteful since we only need to do this initialization once per agglomerate.
For the sake of avoiding to hunt down cv qualifiers through the entire library, DealIIMatrixFreeMeshEvaluator is const although we change internal data structures in a way that calling matrix_free_evaluate_agglomerate performs the evaluation on the correct patch. Since  the corresponding member variables have already been mutable before, this doesn't really change anything in terms of const correctness.

Before:
input file: hierarchy_input.info, dimension: 2, matrix-free: 1, fe_degree: 4
Convergence rate: 0.90

+---------------------------------------------+------------+------------+
| Total wallclock time elapsed since start    |   129.138s |            |
|                                             |            |            |
| Section                         | no. calls |  wall time | % of total |
+---------------------------------+-----------+------------+------------+
| Apply                           |        20 |     0.584s |      0.45% |
| Apply: coarsest level           |        20 |     0.083s |     0.000% |
| Apply: fine levels              |        20 |     0.583s |      0.45% |
| Setup                           |         1 |   128.211s |     99.28% |
| Setup: ap                       |         1 |    55.147s |     42.70% |
| Setup: build coarse matrix      |         1 |     0.032s |     0.000% |
| Setup: build coarse solver      |         1 |     0.082s |     0.000% |
| Setup: build restrictor         |         1 |    72.944s |     56.49% |
| Setup: build smoother           |         1 |     0.000s |     0.000% |
+---------------------------------+-----------+------------+------------+

after:
input file: hierarchy_input.info, dimension: 2, matrix-free: 1, fe_degree: 4
Convergence rate: 0.90

+---------------------------------------------+------------+------------+
| Total wallclock time elapsed since start    |    81.869s |            |
|                                             |            |            |
| Section                         | no. calls |  wall time | % of total |
+---------------------------------+-----------+------------+------------+
| Apply                           |        20 |     0.612s |      0.75% |
| Apply: coarsest level           |        20 |     0.091s |      0.11% |
| Apply: fine levels              |        20 |     0.610s |      0.75% |
| Setup                           |         1 |    80.925s |     98.85% |
| Setup: ap                       |         1 |    55.212s |     67.44% |
| Setup: build coarse matrix      |         1 |     0.037s |     0.000% |
| Setup: build coarse solver      |         1 |     0.090s |      0.11% |
| Setup: build restrictor         |         1 |    25.580s |     31.24% |
| Setup: build smoother           |         1 |     0.000s |     0.000% |
+---------------------------------+-----------+------------+------------+

Codecov Report

Merging #177 into master will decrease coverage by 0.06%.
The diff coverage is 89.65%.

@@            Coverage Diff             @@
##           master     #177      +/-   ##
==========================================
- Coverage   87.21%   87.14%   -0.07%
==========================================
  Files          53       53
  Lines        2846     2848       +2
==========================================
  Hits         2482     2482
- Misses        364      366       +2

Impacted Files
Coverage Δ

include/mfmg/dealii/amge_host.hpp
100% <ø> (ø)
:arrow_up:

.../mfmg/dealii/dealii_matrix_free_mesh_evaluator.hpp
0% <0%> (ø)
:arrow_up:

include/mfmg/dealii/amge_host.templates.hpp
92.5% <100%> (+0.04%)
:arrow_up:

tests/test_hierarchy_helpers.hpp
69.4% <100%> (-0.45%)
:arrow_down:

...rce/dealii/dealii_matrix_free_hierarchy_helpers.cc
99.04% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

I meant to say good job !


Reproduce inference benchmark mentioned in the paper

I have a few questions about the inference efficiency of deepseek v2
1.

In order to efficiently deploy DeepSeek-V2 for service, we first convert its parameters into the precision of FP8.

Are all the storage and computation performed in fp8 ? Does this harm the performance of the model?
2.

On a single node with 8 H800 GPUs, DeepSeek-V2 achieves a generation throughput
exceeding 50K tokens per second, which is 5.76 times the maximum generation throughput of
DeepSeek 67B. In addition, the prompt input throughput of DeepSeek-V2 exceeds 100K tokens
per second.

Is this throughput achieved using testing request of 128K context length?  Can we reproduce it using https://github.com/vllm-project/vllm/pull/4650

Our open-source code (https://github.com/vllm-project/vllm/pull/4650) is not the inference code used in the API platform, so it cannot achieve the throughput speed mentioned in the paper. @zhouheyun

Our open-source code (vllm-project/vllm#4650) is not the inference code used in the API platform, so it cannot achieve the throughput speed mentioned in the paper. @zhouheyun

What‘s the average inference context length to achieve the claimed throughput in the paper?

32K context length @zhouheyun

vllm-project/vllm#4650

How much tokens/s this open source version  can achieve?  on 8*H800 ?


Bug - 1BTC can't be minted or reversed for BTC sent with locktime > 0

Some wallets like Electrum default to setting the lock-time as the current block height. The current implementation accepts such on-chain BTC transactions, but will fail the check with "Locktime must be zero" here.
This results in stuck BTC, where 1BTC can't be minted, while a vault contains BTC. Here's an example transaction which faces the current problem. Here's a transaction I tried today morning which suffers from this problem.

A valid BTC on-chain transaction here
Unable to mint equivalent 1BTC here

This looks like a serious issue @gupadhyaya @givp

since this is fixed. closing for now.


Update Composer dependencies (2022-04-23-00-05)

Visual regression test passed!
View the visual regression test report


How to setup for local development

Hello devs,
I have some questions with using rattler build and hope this is the right location to post.  I am testing how rattler build could work in a python c++ project which is currently being built with scikit-build-core.
General issues with rattler-build

The RATTLER_CACHE_DIR value is not being recognized if XDG_CACHE_HOME is not set, the value defaults to ~/.cache/rattler  and this is an issue since my home folder doesn't have enough space and also is on a slower drive. To workaround, i had to set the XDG_CACHE_HOME  to the required value.
All the required dependencies are already defined in the pyproject.toml and i feel the effort is duplicated in having to add another reciepe.yaml. (i guess this is what you guys are trying to solve with bringing rattler build to within the pixi?)
My usual development setup involves running python -m pip install -e . do changes and finally commit and for production create a wheel with python -m pip wheel and use it in the production environment. What is the equivalen of this in rattler-build?
It would help with the development workflow if the logs are available in a file after the build is finished. Currently i have to pipe it to a file and feel this should not be necessary. In ci having logs directly is very helpful for debugging.

Thanks!

Thanks for the response
Yes i meant the terminal logs should be auto dumped to a file by rattler-build itself instead of having to pipe it manually. Makes it a very direct and nice cross platform solution OOB

A PR to implement this would be great :)


Insert overwrite with and without partition aren't parsed properly

Hi, the following queries aren't parsed properly. Please have a look.
sparksql syntax reference
insert overwrite data_base_name.tb_name_01
partition ( key1 = '20230522' ,key2 = 'bb')
SELECT *
  FROM
data_base_name.tb_name_00
;

insert overwrite data_base_name.tb_name_02
SELECT
  a1.col_a,
  a1.col_b
FROM
(
  SELECT
    *
  FROM
    data_base_name.tb_name_01
  WHERE
    key1 >= 'bb'
) a1

two queries:

just the second query

Thanks for reporting. Be aware that, after #148 is merged, we need to create a PR for nvim-treesitter to register the keyword overwrite because that is new.
This is the first Spark SQL syntax that we have implemented. There will definitely be more things that are parsed correctly!


per-file-ignores have inconsistent behavior in symlinked directories

I am trying to ignore the S101 rule in tests. I have a base ruff.toml which is used in pyproject.toml.
Adding this to ruff.toml doesn't work:
[per-file-ignores]
"**/test/**" = ["S101"] # <- still warnings in tests

However, adding the same in pyproject.toml works:
[tool.ruff]
    extend = "/path/to/ruff.toml"

[tool.ruff.per-file-ignores]
"**/test/**" = ["S101"] # <- this works as expected

I tried without wildcards as well and extend-per-file-ignores. Nothing added to ruff.toml is considered.
Ruff version: 0.0.284

Does the pattern "test" work?

Can you link a minimal example? Setting up a small folder set-up like:
some_other_folder/
    test/
        foo.py
test/
    foo.py
foo.py
ruff.toml

With foo.py being:
assert 3 > 1

And ruff.toml is:
[per-file-ignores]
"**/test/**" = ["S101"]

And running ruff check . --select S101 with version 0.0.284 only raises the error for foo.py in the root:
foo.py:1:1: S101 Use of `assert` detected

Removing the [per-file-ignores] raises the error for all 3 files as intended.

I suspect it has to do with the use of extend, and where the paths are resolved relative to, or something.

Any idea how to make it work?

Sorry this wasn't very clear. The problem actually seems to be when ruff.toml is not at the root of the python project that is linted. Find below a reproducible example.
The structure is:
/tmp
├── ruff-example
│   ├── .venv   # <- ruff is installed in this venv
│   ├── pyproject.toml
│   └── src
│       └── test
│           └── foo.py
└── ruff.toml

The content of /tmp/ruff.toml:
select = ['S']
[per-file-ignores]
"**/test/**" = ["S101"]

The content of /tmp/ruff-example/pyproject.toml:
[tool.ruff]
    extend = "/tmp/ruff.toml"

Running from the root of /tmp works as expected:
/tmp/ruff-example/.venv/bin/ruff /tmp/ruff-example

Running it from the root of the source directory ruff-example fails:
cd /tmp/ruff-example
/tmp/ruff-example/.venv/bin/ruff .

src/test/foo.py:1:1: S101 Use of `assert` detected
Found 1 error.

@qdegraaf added a minimal example of the problem: this has to do with the relative path taken from the ruff.toml location instead of the root of the project.

Thanks for following up :)
So, in general, paths are resolved relative to the configuration file that includes the extend, rather than the file that's being extended (so in this case, the paths are resolved relative to pyproject.toml, even if the settings themselves are defined in ruff.toml).
This is intentional and while it may seem unintuitive in this case, it's generally preferable to the reverse, because those "extended" configuration files tend to be shared across projects.  In that case, it'd be hard to reuse the pyproject.toml if all paths like ./src were being resolved relative to it.
I feel like what you're doing here should maybe still be working though given the specifics of your regular expression, that part I don't quite understand.

Interestingly, everything works fine for me if I don't do this in tmp, and it also works fine if I do do this in tmp but use a relative path in the the pyproject.toml, like:
[tool.ruff]
extend = "../ruff.toml"

Ah it must be related to symlinks? Apparently /tmp is a symlink to /private/tmp on macOS.

Actually, I think this specific case would be fixed if our path.absolutize() didn't resolve symlinks (it appears that it does). It appears that resolving the current directory (if it is a symlink) isn't even possible right now? https://stackoverflow.com/questions/71624942/how-to-get-the-current-working-directory-in-rust-if-it-is-a-symlink

@burntsushi - (Low priority) I notice that in ripgrep, you query for env::current_dir() then fallback to PWD. It looks like atuin does it in the other order. I'm wondering if we should use PWD over env::current_dir() to get more reasonable behavior with symlinks 🤔 Have you ever run into problems with this in ripgrep?

To summarize: there's some inconsistent behavior when the current directory contains a symlink. Otherwise, everything seems to be working as expected.

Thank you for all those interesting insights. My actual setup is not using symlinks (I was just using tmp for the minimal example). Instead, ruff is running in a docker, with the ruff config located at /presets/ruff.toml and the project mounted in /app.
I couldn't make it work with the **/test/** regex, but it works if I use /app/**/test/** in the ruff.toml. The problem is, a CI may mount the folders somewhere else in the docker container, so this is not good enough.

@charliermarsh With respect to ripgrep, I believe that code was originally written with std::env::current_dir, which is a platform independent way of getting the CWD. And then an issue was filed pointing out cases where that fails, for example, when using ripgrep in a directory that had been removed. So in that context, querying for PWD is treated as a "fallback" to try and find the CWD even when current_dir fails. Potentially flipping this to ask for PWD first and falling back to std::env::current_dir might indeed be the better path. I don't think I considered symlinks in this context when writing current_dir

@derlin Thanks for the workaround! Adding a leading slash does work ("/*/tests/*" seems to be sufficient)

@MichaReiser, do you happen to know how Rome handled symlinks generally?

No, but the relevant PRs are https://github.com/rome/tools/pull/3706 and https://github.com/rome/tools/pull/4732


pythonPackages.httpretty: disable broken test on aarch64

Motivation for this change
Needed to complete compilation for nixops on raspberry pi 3 b+.
Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Looks like this should fix the build, looking at the hydra build log [1]. I'll build it on my Pi by tomorrow if not tonight to see if it actually does.
[1] https://hydra.nixos.org/build/89035814/nixlog/1

Doesn't look like it's needed anymore? Seems like it succeeds now? Even though the error has popped up 1 time in the last 5 builds.


Chef resources have been moved to base chef.

Need to set a base chef version required and remove the dependency on the cookbooks that supply resources that have already been installed.
Deprecated features used!
Resource apt_preference from a cookbook is overriding the resource from the client. Please upgrade your cookbook or remove the cookbook from your run_list before the next major release of Chef. at 1 location:
- /Users/xmjg/.chefdk/gem/ruby/2.5.0/gems/chef-14.10.9/lib/chef/log.rb:51:in caller_location'    See https://docs.chef.io/deprecations_map_collision.html for further details.   Resource windows_auto_run from a cookbook is overriding the resource from the client. Please upgrade your cookbook or remove the cookbook from your run_list before the next major release of Chef. at 1 location:     - /Users/xmjg/.chefdk/gem/ruby/2.5.0/gems/chef-14.10.9/lib/chef/log.rb:51:in caller_location'
See https://docs.chef.io/deprecations_map_collision.html for further details.
Resource windows_feature from a cookbook is overriding the resource from the client. Please upgrade your cookbook or remove the cookbook from your run_list before the next major release of Chef. at 1 location:
- /Users/xmjg/.chefdk/gem/ruby/2.5.0/gems/chef-14.10.9/lib/chef/log.rb:51:in caller_location'    See https://docs.chef.io/deprecations_map_collision.html for further details.   Resource windows_feature_dism from a cookbook is overriding the resource from the client. Please upgrade your cookbook or remove the cookbook from your run_list before the next major release of Chef. at 1 location:     - /Users/xmjg/.chefdk/gem/ruby/2.5.0/gems/chef-14.10.9/lib/chef/log.rb:51:in caller_location'
See https://docs.chef.io/deprecations_map_collision.html for further details.
Resource windows_feature_powershell from a cookbook is overriding the resource from the client. Please upgrade your cookbook or remove the cookbook from your run_list before the next major release of Chef. at 1 location:
- /Users/xmjg/.chefdk/gem/ruby/2.5.0/gems/chef-14.10.9/lib/chef/log.rb:51:in caller_location'    See https://docs.chef.io/deprecations_map_collision.html for further details.   Resource windows_font from a cookbook is overriding the resource from the client. Please upgrade your cookbook or remove the cookbook from your run_list before the next major release of Chef. at 1 location:     - /Users/xmjg/.chefdk/gem/ruby/2.5.0/gems/chef-14.10.9/lib/chef/log.rb:51:in caller_location'
See https://docs.chef.io/deprecations_map_collision.html for further details.
Resource windows_pagefile from a cookbook is overriding the resource from the client. Please upgrade your cookbook or remove the cookbook from your run_list before the next major release of Chef. at 1 location:
- /Users/xmjg/.chefdk/gem/ruby/2.5.0/gems/chef-14.10.9/lib/chef/log.rb:51:in caller_location'    See https://docs.chef.io/deprecations_map_collision.html for further details.   Resource windows_path from a cookbook is overriding the resource from the client. Please upgrade your cookbook or remove the cookbook from your run_list before the next major release of Chef. at 1 location:     - /Users/xmjg/.chefdk/gem/ruby/2.5.0/gems/chef-14.10.9/lib/chef/log.rb:51:in caller_location'
See https://docs.chef.io/deprecations_map_collision.html for further details.
Resource windows_printer from a cookbook is overriding the resource from the client. Please upgrade your cookbook or remove the cookbook from your run_list before the next major release of Chef. at 1 location:
- /Users/xmjg/.chefdk/gem/ruby/2.5.0/gems/chef-14.10.9/lib/chef/log.rb:51:in caller_location'    See https://docs.chef.io/deprecations_map_collision.html for further details.   Resource windows_printer_port from a cookbook is overriding the resource from the client. Please upgrade your cookbook or remove the cookbook from your run_list before the next major release of Chef. at 1 location:     - /Users/xmjg/.chefdk/gem/ruby/2.5.0/gems/chef-14.10.9/lib/chef/log.rb:51:in caller_location'
See https://docs.chef.io/deprecations_map_collision.html for further details.
Resource windows_shortcut from a cookbook is overriding the resource from the client. Please upgrade your cookbook or remove the cookbook from your run_list before the next major release of Chef. at 1 location:
- /Users/xmjg/.chefdk/gem/ruby/2.5.0/gems/chef-14.10.9/lib/chef/log.rb:51:in caller_location'    See https://docs.chef.io/deprecations_map_collision.html for further details.   Resource windows_task from a cookbook is overriding the resource from the client. Please upgrade your cookbook or remove the cookbook from your run_list before the next major release of Chef. at 1 location:     - /Users/xmjg/.chefdk/gem/ruby/2.5.0/gems/chef-14.10.9/lib/chef/log.rb:51:in caller_location'
See https://docs.chef.io/deprecations_map_collision.html for further details.
Resource homebrew_cask from a cookbook is overriding the resource from the client.
Please upgrade your cookbook or remove the cookbook from your run_list before the next major release of Chef. at 1 location:
- /Users/xmjg/.chefdk/gem/ruby/2.5.0/gems/chef-14.10.9/lib/chef/log.rb:51:in caller_location'    See https://docs.chef.io/deprecations_map_collision.html for further details.   Resource homebrew_tap from a cookbook is overriding the resource from the client. Please upgrade your cookbook or remove the cookbook from your run_list before the next major release of Chef. at 1 location:     - /Users/xmjg/.chefdk/gem/ruby/2.5.0/gems/chef-14.10.9/lib/chef/log.rb:51:in caller_location'
See https://docs.chef.io/deprecations_map_collision.html for further details.
Resource dmg_package from a cookbook is overriding the resource from the client. Please upgrade your cookbook or remove the cookbook from your run_list before the next major release of Chef. at 1 location:
- /Users/xmjg/.chefdk/gem/ruby/2.5.0/gems/chef-14.10.9/lib/chef/log.rb:51:in `caller_location'
See https://docs.chef.io/deprecations_map_collision.html for further details.

Fixed by #175