Track if rewards are getting paid out

We need a tool to track if rewards are being paid out by all validators which are nominated as part of this programme.
We should probably expect validators to handle calling their own payouts so if we detect that a validator does not do this we can give a warning.

AFAIK this is currently commented out, maybe that could be mentioned somewhere...


secretsmanager rotate_secret function always invokes lambda regardless of RotateImmediately parameter

Reporting Bugs
moto3 5.0.1 installed via pip and requrirements.txt
using python mocks with boto3 1.34.41
sm_client.rotate_secret(
        SecretId=secret_to_rotate_arn,
        RotationLambdaARN=lambda_res['FunctionArn'],
        RotationRules={
            'AutomaticallyAfterDays': 1,
            'Duration': '1h'
        },
        RotateImmediately=False
    )

invokes all steps of rotation but the boto3 docs say

RotateImmediately (boolean) --
Specifies whether to rotate the secret immediately or wait until the next scheduled rotation window. The rotation schedule is defined in RotateSecretRequest$RotationRules.
For secrets that use a Lambda rotation function to rotate, if you don't immediately rotate the secret, Secrets Manager tests the rotation configuration by running the testSecretstep of the Lambda rotation function. The test creates an AWSPENDING version of the secret and then removes it.
If you don't specify this value, then by default, Secrets Manager rotates the secret immediately.

@antonmos The documentation isn't very clear on who does what when, but I assume that this is the order/responsibility:

SecretsManager creates an AWSPENDING version of the secret
SecretsManager invokes the testSecretStep of the Lambda rotation function
2.1 The rotation function verifies the AWSPENDING secret is correct
SecretsManager removes the AWSPENDING version

Or is the rotation function actually responsible for creating/removing the AWSPENDING version?

This is a good doc that explain all of the steps: createSecret, testSecret, setSecret and finishSecret.
The rotation function is responsible for creating the AWSPENDING version in the createSecret step, and then adding the AWSCURRENT tag to it in the 'finishSecret' step.

Wow, thank you for fixing h this so quickly!
When do you expect to make a release?

No problem @antonmos! Moto 5.0.2 has just been released.


aio-pika v6.4.0 update dependencies

Checklist

[x] Used a fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

@ conda-forge-admin, please rerender
updated dependencies

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender


Disable automated dependency bumps for the Nightly Release pipeline

Requirements for Adding, Changing, or Removing a Feature (from template)
Requirements for Adding, Changing, or Removing a Feature

Fill out the template below. Any pull request that does not include enough information to be reviewed in a timely manner may be closed at the maintainers' discretion.
The pull request must contribute a change that has been endorsed by the maintainer team. See details in the template below.
The pull request must update the test suite to exercise the updated functionality. For guidance, please see https://flight-manual.atom.io/hacking-atom/sections/writing-specs/.
After you create the pull request, all status checks must be pass before a maintainer reviews your contribution. For more details, please see https://github.com/atom/.github/tree/master/CONTRIBUTING.md#pull-requests.

Issue or RFC Endorsed by Atom's Maintainers
None.

Description of the Change
Disables automated dependency bumps in the Nightly Release pipeline config.
This is a feature implemented upstream: https://github.com/atom/atom/pull/20999
It opens a large number of Pull Requests that seem genuinely helpful to upstream, but which we are likely to have to ignore and/or close. We can re-enable this some time in the future if need be.
Allows us to run the Nightly Release pipeline without creating large numbers of dependency update PRs at this repo (or somehow accidentally at upstream).

Alternate Designs
Comment out with YAML # comments (?)
Maybe there is a way to do this in Azure DevOps UI instead? I'm not sure if you can, so I went with this, because it does disable the job.

Possible Drawbacks
None. I don't think we are interested in reviewing or merging these dependency bump PRs at this time.

Verification Process
CI run shows a "canceled" icon next to the "Bump Dependencies" job on the Nightly Release pipeline.
https://dev.azure.com/atomcommunity/atomcommunity/_build/results?buildId=124&view=results

Release Notes

N/A

Alright!
Given my intent is to match CI to what we want it to do, and we want it to open those PRs... then this can be closed! Fine by me!

Thank you anyways.

See comment above. Might it make sense to disable this if the Buld.Reason is "manual" i.e. manually running this pipeline doesn't cause a bunch of PRs? Or... maybe we can handle it anyhow. I assume it doesn;t open duplicate PRs, so after the first time the effect might not be so bad.


Fixed proper navigation element selection on backward scrolling (from the bottom to the top)

Found scrollspy issue.
It was selecting wrong navigation element. Wrong behavior were produced by unnecessary equal sign on line 99 (comparison of target offsets)

Tests passed. Automated cross-browser testing via Sauce Labs and Travis CI shows that the JavaScript changes in this pull request are: CONFIRMED
Commit: 83371735fcc4ceba3c1b35d91bb3ba8c41365861
Build details: https://travis-ci.org/twbs-savage/bootstrap/builds/53855150
(Please note that this is a fully automated comment.)

I've confirmed that the new unit test correctly fails when the included fix is reverted.

@cvrebert thanks for immediate response.

MSTM and LGTM. Thanks for including regression/unit tests!
CC: @XhmikosR @hnrch02 @juthilo for further review

You welcome.


Add webhook as a dependency to cloud component

Description:
The cloud component relies on the webhook component being loaded for the frontend to function.
Related issue (if applicable): reported in #beta
Example entry for configuration.yaml (if applicable):
cloud:

Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.

Actually, better fixed in frontend.

https://github.com/home-assistant/home-assistant-polymer/pull/2255


Support Sqlite Indexed By

Describe the feature
Support the Sqlite INDEXED BY clause when using the UseIndex hint.
https://www.sqlite.org/lang_indexedby.html
https://gorm.io/docs/hints.html

Motivation

I have a service that uses MySql driver for prod and Sqlite driver for testing.
One of my queries uses the UseIndex hint, that adds the USE INDEX clause to the query, which isn't supported by Sqlite. I'd like to be able to inject different versions of gorm(mysql/sqlite) and use the UseIndex hint without having to add a flag for the specific type of driver used.
Related Issues

Digging around, looks like the hint library has not gotten very much attention:
https://github.com/go-gorm/hints/commits/master/index_hint.go
I can sort of understand why, as Postgres ignores them, and the impl here works for MySQL.  The code doesn't look too complicated, but I'm not sure how Gorm deals with query differences between DBs in cases like this.


[icon request] help, alert, info with no circle

Icon name
help, alert, info
Use cases
We have help, alert and info in circles and other instances, but in a circle button it doesn't look good. In this case would be cleaner to have the icons without any artefacts.
Design ideas
Options with bigger or smaller circle.

SVGs:

Checklist

[X] I have searched if someone has submitted a similar issue before and there weren't any. (Please make sure to also search closed issues, as this issue might already have been resolved.)
[X] I have searched existing icons to make sure it does not already exist and I didn't find any.
[X] I am not requesting a brand logo and the art is not protected by copyright.
[X] I am not requesting an icon that includes religious, political imagery or hate symbols.
[X] I have provided appropriate use cases for the icon(s) requested.

Proposing these icons:
question-mark, exclamation mark, and letter-i-small

Yeah, they definitely need to be larger to somewhat approximate our ideal visual weight, ideally the same size as our letter icons.
There's an issue with a new question mark somewhere, and I have about two dozen icons dealing with our question marks in my draft, I think these are my latest versions for a large set of these:

Thanks @zoharma for pointing me that. I guess they need more larger version. Also @karsa-mistmere your icons look pretty decent. I like the down ones.

This is the one I was thinking of: https://github.com/feathericons/feather/issues/550
As referenced in #119.
No matter which route we go, the icons should line up perfectly with our reference letter icons in height.

@zoharma Looks really nice!
Hmm maybe 4px is not that bad in 100% scale. See https://lucide.dev/icons/arrow-down-to-dot

@zoharma Looks really nice! Hmm maybe 4px is not that bad in 100% scale. See https://lucide.dev/icons/arrow-down-to-dot

Naah, 2px is far too large, 1px is quite blurry at 1x, so I think we'd better stick with what we currently have:

Any updates reg this one?

I hope they are coming, would love to be able to use them with background like that:

Tried to independently come up with a design for this, and I just ended up with something functionally equivalent to @karsa-mistmere's first design, which I quite like:
Open lucide studio
And this is my attempted tracing of @colebemis's icon. I like the fact that it uses circular arcs, but it feels somewhat thin.
Open lucide studio


First page title doesn't work

Conf.py

Output:

OK, working with styles understood: First page controlled by docx template


Keep it compatible

@insraq Already done this, though not with both property names. Thought of doing that but I figured it would make the API more confusing. We can make breaking changes in V2. :-)


NumberInput stops responding to up/down/enter once enter is pressed

Description
When I go to https://ark-ui.com/react/docs/components/number-input, click on the example input, press enter, I expect the up/down keys to still work but instead these keys stop working.
Also noticed that pressing enter in the input removes the data-focus attribute from HTML.
Thing work again after blur/focus.
Link to Reproduction (or Detailed Explanation)
https://ark-ui.com/react/docs/components/number-input
Steps to Reproduce

Go to https://ark-ui.com/react/docs/components/number-input
Click inside the number input
Press enter
Press up or down
The number is not changing

Ark UI Version
latest
Framework

[ ] React
[ ] Solid
[ ] Vue

Browser
Brave (latest), Safari (latest)
Additional Information
Noticed in my own setup that the custom onKeyDown handler also stops working

I just pushed a fix for this. We'll release an update in Zag and then Ark shortly.
If the issue persists after upgrading, I'll re-open it.


Fix #178: optparse.OptionConflictError with Django 1.8

Traceback (most recent call last):
  File "./tests/manage.py", line 13, in <module>
    execute_from_command_line(sys.argv)
  File ".../lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
    utility.execute()
  File ".../lib/python2.7/site-packages/django/core/management/__init__.py", line 330, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File ".../lib/python2.7/site-packages/django/core/management/commands/test.py", line 30, in run_from_argv
    super(Command, self).run_from_argv(argv)
  File ".../lib/python2.7/site-packages/django/core/management/base.py", line 378, in run_from_argv
    parser = self.create_parser(argv[0], argv[1])
  File ".../lib/python2.7/site-packages/django/core/management/base.py", line 327, in create_parser
    parser.add_option(opt)
  File ".../lib/python2.7/optparse.py", line 1021, in add_option
    self._check_conflict(option)
  File ".../lib/python2.7/optparse.py", line 996, in _check_conflict
    option)
optparse.OptionConflictError: option -v/--verbose: conflicting option string(s): -v

nice out of the box thinking

Unfortunately, I don't see how this fixes the issue.
in django-nose main directory:
./runtests.sh
FAIL: normal settings
nosetests --settings=testapp.settings --verbosity=1
Usage: django-admin [options]
django-admin: error: no such option: --settings

Strange, tests pass for me without the settings error. Either way, you're right in that it doesn't fix the underlying issue, and django-nose should probably migrate to argparse.
Django itself makes it difficult to keep using optparse as whenever the option_list is set on a command class, it falls back to using optparse, and parses verbosity as a type "choice" (string). The core test module compares this string to levels (integers) which fails in python 3 TypeError: unorderable types: str() > int(). The issue was reported but closed as "won't fix": https://code.djangoproject.com/ticket/24518.

You should close this pull request. The change also fails in Python 2.7 because of unmatched types with the verbosity option.
File "/home/luser/.virtualenvs/mysite/local/lib/python2.7/site-packages/django/db/backends/base/creation.py", line 365, in create_test_db
   verbosity=max(verbosity - 1, 0),
TypeError: unsupported operand type(s) for -: 'unicode' and 'int'


Using tusdotnet on Azure webapp

Hi,
Since there is no support for Azure storage, I am planning to get the file uploaded to local storage space in Azure Web App and then move it to Azure file shares. I am wondering how this will work in a scaled environment. For example Azure web apps can automatically scale and balance the load between instances if needed. How will this effect any on going uploads?
The above will be a rare case for me since I am not planning to upload gigabytes of data, but would like to know potential pit falls.

Hi,
It should be all right as long as you use sticky sessions for your app service and make sure the clients include the session cookie.


How to logout Kong Session

Can I delete session through some api？
Can I specify the sessionId？

see https://github.com/Kong/kong-plugin-session#-logging-out

@wzkun if you use kong as your storage stategy, then you can also CRUD on sessions from the admin api's autogenerated endpoints.
curl -X GET http://localhost:8001/sessions
curl -X DELETE http://localhost:8001/sessions/:id # :id is the PK for the database table `sessions`

see https://github.com/Kong/kong-plugin-session#-logging-out

But I still don't know how logout through api.Can you give an example?

@wzkun I think @darrenjennings posted the answer you are looking for


Error: builtins.Certificate has no attribute '_x509'

how can I solve this problem？

Can you try running pip install "cryptography>=38,<39"?

thanks for your  answer，but It doesn't work @jkulhanek

Can you post pip list

@tancik

I would try some of the recommendations here - https://stackoverflow.com/questions/40628315/python-requests-and-streaming-attributeerror-x509-object-has-no-attribute
Also try reinstalling tinycudann, a bug in it was just fixed (though it normally produced a different error from what you are seeing.


Don't merge proc types but allow assigning them if they are compatible

Fixes #9935
The idea is that if we have two variables, one of type Proc(T, U) and another one of type Proc(T, NoReturn) we don't merge them to be of type Proc(T, U). It will always form a union now.
However, assigning a Proc that returns NoReturn to a Proc that returns a value is valid:
class Foo
  @x : -> Int32

  def initialize
    @x = ->{ raise "OH NO" } # This compiles just fine. Value can't be extracted anyway...
  end
end

Foo.new.x

We are already doing something similar with Proc(T, Nil) and Proc(T, U):
class Foo
  @block : -> Nil

  def initialize
    @block = ->{ 1 } # This is fine! Value is ignored.
  end

  def block
    @block
  end
end

Foo.new.block

I also changed the code for the latter case to be a bit more explicit.

I don't get the difference between disallowing the union between two values but allowing the asignment of a Proc(T, NoReturn) value to a Proc(T, R). Or the assignment only works for literal proc, and the literal is treated as a Proc(T, R) instead of a Proc(T, NoReturn)?
Since this is semantic change, I think specs should be added 🙈

Since this is semantic change, I think specs should be added

Good point. There's a spec that said that assigning a Proc that returns NoReturn to a Proc that returns U compiles and runs fine. That spec still passes. That was the original idea when I merged the proc types to avoid forming a union. I'll add a spec, though, to verify that a union is indeed formed.

I don't get the difference between disallowing the union between two values but allowing the asignment of a Proc(T, NoReturn) value to a Proc(T, R)

Avoiding forming a union (merging the types into one) is problematic when there are more types involved. See https://github.com/crystal-lang/crystal/issues/9935#issuecomment-731078855

Just added a spec.

And this is the spec that we care about:
https://github.com/crystal-lang/crystal/blob/219e1a871916c4dca4ee9be02f085d4d8344ac9a/spec/compiler/semantic/proc_spec.cr#L862-L882

I'm still hesitant with this change.
It makes total sense that Proc(T, NoReturn) < Proc(T, R). And Union(NoReturn, R) = R is sound also.
I think it will introduce noise to allow values of type Union(Proc(T, NoReturn), Proc(T, R)).
All procs can raise when executing. If the problem is memory representation, the fix should affect only the memory representation, not the typing rules.
Any Proc(T, NoReturn) value should be assignable to a Proc(T, R). Maybe what we are missing a conversion when that assignment happens.

@bcardiff say you have an array with three elements: a proc that returns Int32, a proc that returns Float64, and a proc that returns NoReturn. If you ask for the third elements in the array and print it's class, what output do you expect?

I would expect the class to be Proc(T, NoReturn) but the typeof to be Proc(T, Int32) | Proc(T, Float32) due to the context.

Well, that's the problem. When Proc(T, Int32) is merged with Proc(T, NoReturn) into Proc(T, Int32), you are left with a value that doesn't know which type it is: a Proc doesn't know what type it is (similar to structs, and unlike classes who do have their type ID behind the pointer).
That's why I think merging two types into a single type and losing that type information is a big NO.
Could you try this patch in the ecosystem? I feel like nothing will break, and this PR actually fixes an existing issue.

I see, the lack of runtime type information is preventing us to implement a subtyping rule while preserving the original type then.
I think I prefer almost any other path:

return Proc(T, Int32) or Proc(T, Float32) as .class result
add type_id to proc representation 🙊 .

I feel we are loosing formality with this change.
I will validate the PR with test-ecosystem once the github action outage is over probably.

I just don't think there's any use case in merging the types. And, as I said, I made this rule to allow assigning or passing a NoReturn proc to a T proc, and that's still possible with this PR. The gain (if any) of doing it another way isn't matched by the effort required to do so.

The gain (if any) of doing it another way isn't matched by the effort required to do so.

I think this argument is a slippery slope.

With struct, we have that concrete types don't have type_id, but when assigning them to an (abstract) base class it is treated as a union and type id appears.
But this is possible because only abstract structs can be extended, which is not the case for Proc. That is where it gets more complicated.

test-ecosystem didn't complain, and neither some convoluted experiments I tried.
Feel free to merge if nobody else shares my discomfort 😅.

Let's merge it. We can always improve it later without a breaking change.


Restart Merlin?

Would it be possible to add a command to restart merlin? Sometimes merlin is either showing errors incorrectly or not at all, and the only way to fix it is to reload the window. It would be super convenient to have a command that could just restart merlin without having to reload the entire window!

I'm pretty sure that "restart merlin session" command does not work (changes that I do in merlin code do not apply after that), so I have to resort to restarting vscode too.


Mark terminated thread handles

Sometimes it is useful to determine who's leaking handles to terminated threads. I suggest labeling such handles in the same way as is already done for non-existent processes.
I also added exit status field into thread handle properties.
Remarks:
The best method for determining the existence of a thread is to search for it in the last process-thread snapshot. It fits perfectly to the implementation of PhStdGetClientIdName. However, I am not sure how to do it inside PhGetClientIdNameEx, so I've chosen the easy way which might be not as scalable as desired. :thinking:

We need to find a method without PhStdGetClientIdName. I'm going to close for now because of the conflicts.


Defining _repr_html_ for Pytree dataclasses which uses pz.ts.render_to_html leads to infinite loop

Hi! I'm attempting to setup pretty printing for some classes in my library using treescope for notebooks / IPython.
I defined some custom handlers for my classes, and overloaded the active renderer with my handler. Now, I want to define something like this:
def _repr_html_(self):
   ...
   return pz.ts.render_to_html(self)

after overloading the active renderer, so Penzai will use my custom handlers, and return HTML. The problem is that render_to_html will call _repr_html_ (because I'm defining it for my class, and render_to_html checks if this exists as an attribute, and then calls it), leading to an infinite loop.
Is there a recommended pattern for this?

Ah, that's an interesting interaction. Right now Treescope assumes things that define _repr_html_ are "figure-like", so render_to_html computes and adds the rich visualization as an annotation. This is useful for stuff like showing lists of plotly figures. I didn't anticipate that someone would call render_to_html inside _repr_html_.
This behavior is enabled by the repr_html_postprocessor.append_repr_html_when_present wrapper hook (here). You can disable this behavior by removing that wrapper hook from the wrapper_hooks list.
In this case, you might also want to avoid using pz.ts.render_to_html directly, because that uses the default global renderer which you might not always have control over. Instead, you could construct a new renderer specific to your types, and call renderer.to_html instead. That would let you fully control the set of handlers that are enabled for the renderer you're using inside _repr_html_.
(For context, are you doing this so that you can render your objects with treescope even if treescope isn't enabled by default? If treescope is enabled, you shouldn't have to define _repr_html_ at all.)

@danieldjohnson Got it -- I think I'll just install treescope by default in my notebooks, and not futz around with _repr_html_ at all.
In that case, is there a pithy few line incantation for me to install treescope and push my own custom handler onto the default?

Sounds good, if that works for you then that's the approach I'd recommend. I'll go ahead and close this issue then.
To register treescope as the default pretty printer and also change the handler, you could run something like this:
# Install things in IPython
pz.ts.register_as_default()
pz.ts.register_autovisualize_magic()

# Enable global overrides
pz.enable_interactive_context()

# Configure the custom handler
my_custom_renderer = pz.ts.active_renderer.get().extended_with(<stuff here>)
pz.ts.active_renderer.set_interactive(my_custom_renderer)

# Optional: enable automatic array visualization
pz.ts.active_autovisualizer.set_interactive(pz.ts.ArrayAutovisualizer())

You could alternatively set my_custom_renderer to a custom instance of penzai.treescope.renderer.TreescopeRenderer if you want to fully control its configuration.


feat: presenterFactory is now partial option.

BREAKING CHANGE:
PresenterFactory class is removed.
Replaced by plainPresenterFactory object and PresenterFactory as an interface.
Updated deps.

Coverage decreased (-0.09%) to 95.073% when pulling 7788193b48e08a58220873a43d75cad8cb9921f7 on pre-factory into ece83cb93c27f460c434cfe2ea688d01cb055f03 on master.

Coverage decreased (-0.09%) to 95.073% when pulling 7788193b48e08a58220873a43d75cad8cb9921f7 on pre-factory into ece83cb93c27f460c434cfe2ea688d01cb055f03 on master.


Move @angular-devkit/build-angular to the dependencies object when running ng new

🚀 Feature request
Move @angular-devkit/build-angular in the package.json from devDependencies to the dependencies object.
Command (mark with an x)

[ x ] new

Description
After generating a new project and running npm install --prod or yarn install --prod you are unable to run ng build because the @angular-devkit/build-angular is not available.
What I would like to have is a way to install the minimal amount of packages that are needed for me to build the angular application. By utilizing --prod from package managers we can do this. But how the package.json dependencies objects are structured now --prod is unusable. Now we have to do a full install with all the development dependencies (protractor, linter, etc..) to build angular.
Describe the solution you'd like
Move the @angular-devkit/build-angular to the dependencies object.
Describe alternatives you've considered
Doesn't apply

Hi @RogierdeRuijter,
Thanks for this request.
Just moving @angular-devkit/build-angular will not be enough to build the application, there are other devDependencies that required for a successful build such as @types/, typescript, @angular/compiler-cli, @angular/cli etc...
--prod is typically used to install the needed dependencies for the application to run on a production server, such case are when using SSR.  @angular-devkit/build-angular is listed as a dev dependency as this package is not needed for an application to run.
While, no one is stopping you from moving these packages from devDependencies to dependencies, moving these packages as the default isn't the correct pattern.


Invalid Hash

{errorCode: 5019, errorMsg: Invalid Hash.}

@shashankflutter you need to implement hash, Please connect with integration team at<EMAIL_ADDRESS>or check docs https://docs.payu.in/docs/flutter-checkoutprosdk-integration-steps


Audit existing unit test coverage for all components

Tests should just be isolated ztunnel tests; full Kubernetes e2e tests will be handled by the existing (Go) integ test suite.

We should have some reasonable code coverage
target (~60%). This is a bad metric, but it’s a starting point to identifying where to test. This isn’t a long-term standard we will measure, it’s just getting us coverage on the initial impl.
TODO - call out specific components/scenarios that we should test.

@stevenctl will create a list of tests needed.

                          Module  Statements   Missing  Excluded  Branches   Partial    Coverage
                src/xds/client.rs         453       265                   0         0         42%
                      src/main.rs          63        31                   0         0         51%
             src/identity/auth.rs          62        28                   0         0         55%
         src/identity/caclient.rs          94        35                   0         0         63%
          src/test_helpers/tcp.rs         124        46                   0         0         63%
          src/test_helpers/mod.rs          33        12                   0         0         64%
                   src/version.rs          51        14                   0         0         73%
 src/proxy/inbound_passthrough.rs          69        18                   0         0         74%
                    src/socket.rs         196        44                   0         0         78%
                 src/admin/mod.rs         346        74                   0         0         79%
            src/proxy/outbound.rs         581        97                   0         0         83%
                src/tls/boring.rs         495        81                   0         0         84%
                 src/proxy/mod.rs         199        32                   0         0         84%
             src/proxy/inbound.rs         212        29                   0         0         86%
              src/proxy/socks5.rs         193        20                   0         0         90%
                  src/workload.rs         741        64                   0         0         91%
          src/identity/manager.rs         375        30                   0         0         92%
                    src/signal.rs          86         5                   0         0         94%
                       src/app.rs         112         6                   0         0         95%
                    src/config.rs          94         5                   0         0         95%
                   src/tls/mod.rs          21         1                   0         0         95%
                   src/xds/mod.rs          23         1                   0         0         96%
          src/test_helpers/app.rs         127         5                   0         0         96%
              src/identity/mod.rs          26         1                   0         0         96%
      src/test_helpers/helpers.rs          28         0                   0         0        100%
                       src/lib.rs           1         0                   0         0        100%
                   tests/proxy.rs         111         0                   0         0        100%
                 src/telemetry.rs          46         0                   0         0        100%
                            Total        4962       944                   0         0         81%

I think the statement/missing counts are off because it's after macro expansion


Microsoft SmartScreen blocks v1.3.6

Hi,
I tried updating to v1.3.6 but I get a security warning that reads something like "Microsoft SmartScreen blocked this app". I tried x86 and x64, same result.
v1.3.5 re-installed fine.

Well, TL is not signed since a .NET certificate is roughly 1000€ a year and I surely do not want to pay for that on my own. That could be a reason. SmartScreen in my opinion is a giant pile of shite and comes along with many false positives. You can install TL 1.3.6 anyway (ignoring SmartScreen). Since TL is free and open source, it would be hard for me to implement malware into it.
I have tested the installer on multiple PCs, some with and some without SmartScreen and so far have not encountered any problems. Make sure you download the installer here from GitHub and you are fine.

Yup I'm aware of the costs, I'm just reporting the issue because it is the first version where the problem has occured.
Keep up the good work :)

The thing is: look at the history of the installer project. since version 1.1 there are no changes to it except the new guids for the product code. so now i am thinking "what exactly should i investigate if i have nothing to investigate". the 1.3.5 and 1.3.6 installer are EXACTLY the same. so code-wise i cannot review something I might have done wrong, unfortunately.
but here is something you could do and maybe we can get something out of it: please check the windows event log (category "Application"). if smartscreen denies the installer, maybe it logs the reason for that in the event log.
other than that i really do not know how to either reproduce or further investigate the issue. maybe there are more people showing up in the future providing some hints. but at least i now know that there may be a problem and i definitely keep that in mind.

Good idea, but I too was unable to reproduce my own issue ! Here's a recap:

Up until yesterday I was running v1.2.4 (I'm not sure about the .4 but it was definitely 1.2.x)
I tried upgrading straight to 1.3.6 and got the warning
I upgraded to 1.3.5 instead without any problem.
I can now upgrade to 1.3.6, the SmartScreen warning doesn't appear anymore.

Since the 1.2.x installer doesn't seem to be available anymore, I can't confirm the issue is only when upgrading 1.2.4 => 1.3.6, but whatever; I should have upgraded long ago 😆

Ok, thanks for the info. 1.2.4 never existed, 1.2.3 was the last 1.2.x version. I delete the old installers from GitHub because they do not work anyway anymore. Even TL <1.3.5 do not work due to the API changes so I could get rid of those, too. I just keep them online for people to review the changes.


G: Add some targeted distant supervision rules

Example ideas:

"signs of G", "symptoms of G" [neg]
"G pathway" [neg]

Do you have any concrete examples of these patterns?

The patterns in the first bullet point came up during a mindtagger session (I can look them up later), the second bullet pt Johannes mentioned- I think he has a bunch.  This would be good to discuss on thursday though

well first I'm actually running the gene extraction/learning/inference pipeline again and mindtagging to find out what changed. our feature change for gene inference probably changed a huge amount.

@amwenger For reference we just decided to try leaving the WORD_SEQ / LEMMA_SEQ features in that we had earlier removed.  This more properly reflects our precision dataset goals at the moment I believe- as any overfitting on these features would just improve precision at the cost of recall
Additionally, as @Colossus pointed out, given our high confidence in the coverage of our gene dictionary, it is sensible to work backwards from this point: i.e. we start with overfitting on gene dictionary matching, then add neg. supervision rules in order to deal with gene names which collide with e.g. english words...

@ajratner @Colossus No objection here.  Thanks for the explanation.


Setup develop for stable chain id

We want to have a temporary stable chain id setup for our develop branch (at least up until the 4.1 hard fork). Current plan is to implement a health check on develop CI which will connect the build to the running pickles-public network to see if it is still compatible.

The additional check to prevent type changes landing in develop has been merged in #6742
The bash script to connect to the current testnet as a CI job is in a branch here

The dhall code to run the script on buildkite still needs to be written. I'm punting this, since I'm not familiar with our buildkite/dhall setup.


create goals.md file with todo strategic goals

This commit adds a new file that register TODO strategic goals for h1 and h2

@anajsana this is great but we should probably just make it yearly


inventory: Remove equinix_esxi systems

Checklist

[x] commit message has one of the standard prefixes
[ ] faq.md updated if appropriate
[ ] other documentation is changed or added (if applicable)
[ ] playbook changes run through VPC or QPC (if you have access)
[x] VPC/QPC not applicable for this PR
[x] for inventory.yml changes, bastillion/nagios/jenkins updated accordingly

/thaw


Why we are not providing HTTPS mirrorlist in RHEL 7.5

Actually we have gone through with this cookbook and running it in RHEL 7.5 but mirrorlist is using http not https. So i want to know is there any specific reason to keep it only on http in RHEL 7

Fixed on master


Formalize the plan trace interface

Events happening during the planning process (next iteration, try
instruction, condition failed, etc.) are now defined as specific types
with accompanying data. These events can be organized as a state
machine, which means trace functions can use the state machine to
identify where in the process an event happens, and use that
information, for instance, to create visualizations of the decision
tree.

Change-type: minor

I self-certify!


Refactor GIT_BLAME syncer to be more memory efficient

Our current GIT_BLAME syncer implementation is fairly simple. It's very resource intensive however, and I believe unnecessarily memory inefficient. Git blame data can be large, especially on large repos. Our approach today is to simply build up a bit slice of the data, and then insert it into the DB all at once. This won't work on large repos (lots of files, lots of commit history).
We should batch our inserts of blame data into the database.

Resolve by this for now: https://github.com/mergestat/mergestat/pull/878


Loading comments much slower than original Vue HackerNews

If I open something with a reasonably large amount of comments
https://vue-hn.now.sh/item/15790687  (255 comments as of now)
vs
http://vuejs.github.io/vue-hackernews/#!/item/15790687
and the difference is huge.  It takes me about 1.5-2 seconds to render all the comments on the V1 version and about 4.5 seconds on V2.
Is it possible to speed things up or is it a result of Vue2 or the vuex? (I hope not..)

Also the JS heap:
V1 goes up to 42MB , final at 33MB
V2 goes up to 140 MB and stays there

Hi. It happens because two reason which I found:

Recursive calling api when fetching comments. I have fixed it in PR
Loader hide and comments show when all comments will be fetched. If we want to see comments quickly we have to show comments earlier when first N comments will be fetched.


Regarding Ground truth Labels for object detection

Hello,
Thank you for publicly releasing this dataset. Since the dataset contains challenging illumination conditions encountered during driving, will the 2D ground-truth bounding box for object detection be provided?
This will allow for testing and evaluating object detection methods on event-camera.

Hi @abhishek1411
There are no such plans yet.


[FIX] ISPN-6802 Micro-optimizations for read operations

AbstractDataCommand shouldn't implement AbstractTopologyCommand

run performance tests
library

run performance tests please
library

@pruivo currently I'm trying to run a performance test for @tristantarrant with a value size of 1kb for PR 4846

@pruivo looks like this PR is getting tested first, but with 1KB values. Hope that's ok. @tristantarrant I'll try again when this one finishes

@alanfx you can kill and run your test first if you want :)

run performance tests please
library

@pruivo I killed the job again, because I didn't run the other job correctly

run performance tests please
library

run performance tests please
library

run performance tests please
library

Merged


Bot Suggestion

Suggestion Message

Move the handing of any github issue creation interaction to a shared function since the same code is copy-pasted multiple times with minor modifications.

Suggestion Metadata
Bug Reported By: PokestarFan#8524<PHONE_NUMBER>14224641)
Bug Reported At: Friday, January 7, 2022, 10:05:59 PM Eastern Standard Time

Has been done.


How to mock customized command instantiate from sh.Command

I have instantiated a command from  Class sh.Command to wrap my own program executable. I want to mock up the command in unittest, While it seems not work correctly. I have read the documentations. Found nothing significant on mocking sh.Command, Is there any good suggestions on it? Here are my code snippet.
foo.py
import sh

foo_std_args = ["-p", "80", "-c", "200"]

def execute_foo():
       foo_command = sh.Command("foo").bake(*foo_std_args)
       foo_command(doo=1, zoo=2)

UnitTest
test_foo.py
import mock
import patch

import sh

from foo import execute_foo

class TestFooCommand(object):

      @patch.object(sh, "RunningCommand")
      def test_execute_foo_should_succeed(self, mock_running_command):
             execute_foo()
            `how to assert command args foo=1, zoo=2?`

Is there any good way to mock and test the foo_command?

I though the repo-maintainer should give more examples on sh unittests which could do helpful to our TDD on sh.

Why are you mocking RunningCommand and not Command ?

@amoffat I also have tried to mock Command While it seems doesnt work correctly yet. I have got insight into source-code, it has callCould you provide some examples on mock?sh` API were so cool. I am so willing to develop in TDD with  it.

Any better way to patch the Command for mocking or stub? Sometimes I don't want to run my program (executable) in real. Just only assert the final cmds_str which was built by sh below
       foo_std_args = ["-p", "80", "-c", "200"]

       foo_command = sh.Command("foo").bake(*foo_std_args)
       foo_command(doo=1, zoo=2)

       assert  foo_command(doo=1, zoo=2).__str__() == "foo --doc=1 --zoo=2 -p 80 -c 200"

It would be helpful for me to validate and test whether my commands builder ran correctly.

I understand.  If it's not working with patch, I think it might be a bug with sh.  If you really want to test it, before the bug is fixed, wrap your sh call in another function, and patch that function.  In your example, that would mean to patch execute_foo.  I will need to fix the bug for real patching to work.

@jkryanchou I was able to get testing working with unittest.mock.patch and I added an FAQ entry for it here http://amoffat.github.io/sh/sections/faq.html#how-do-i-patch-sh-in-my-tests
Does it work with your patch module?

@amoffat Awesome, While I couldn't validate whether my full command string was correct follow your FAQ. Take a look my code-snippet
# -*- coding: utf-8 -*-

import unittest
from unittest.mock import patch
import sh

def foo_head_something(filepath):
    head = sh.Command("head").bake(["-n", '-1'])
    return head(filepath)

class TestFooHeadCmd(unittest.TestCase):

    @patch.object(sh.Command, "bake")
    def test_foo_head_something(self, mock_bake):
        mock_bake.return_value = "expected_content"
        assert foo_head_something("./barfile") == "expected_content"
        #  Adding an `full_cmds_str` property to assert ?
        assert mock_bake.full_cmds_str == "head -n -1 ./barfile"

It's better to add an instance property full_cmds_str  to get assert work.
Or get_full_cmds_str() on Command.

I'm going to call this "good enough" and close. The current docs seem to cover basic patching correctly.


Upgrade to OpenAPI v3

Description

[x]  Migrate our spec from Swagger to OpenAPI v3
[x] Adapt the code generation process to use the newly upgraded spec (go-openapi doesn't support OpenAPI v3)

Motivation
Upgrading from Swagger to OpenAPI v3 offers numerous benefits, including enhanced specification features, better support for modern use cases, improved developer experience, access to a richer ecosystem and tooling, future-proofing our API specifications, and ensuring compliance and interoperability. These advantages make a compelling case for undertaking the upgrade to OpenAPI v3, and we recommend proceeding with this transition to realize these benefits for our project.
Proposed Solution (optional)
These are the candidates for code generation:

https://github.com/deepmap/oapi-codegen
https://github.com/ogen-go/ogen

Note that we have a special requirement: the /jobs/events API is streaming (server-sent events).
Currently, it is not possible to use ogen for that purpose because it utilizes io.ReadAll under the hood.
For more details, see this issue.

Closed via f9825d67c1652e2b36cab526d7aa7d9bcd85ce85


once we have started loading a window from the configuration, delete …

…the old configuration as it will be replaced by a copy with more information.  make sure we don't show anno and image manipulation controls for bookview
closes #971

Coverage decreased (-0.008%) to 44.187% when pulling 786331f529a2ec6fcad7c9fdd3235a818ac52de5 on 971-state into 8bc3982c3f8dcca9cb603124c8bb9395c1265110 on release2.1.


Login with Google account but 500 Server Error

After I login with KU google accounts. It redirect me to this page.

Duplicates #95


Need written justification to use Monix

Sorry to bother you,
I am working on a Scala project and I would like to be able to use Monix. That being said, the bank I work at has a lot of red tape and they don't approve anything unless you convince them to do so. In about a month I'm going to do a demo of the open source libraries that I want them to put into their system. To help me get approval, could you write something explaining that they won't have any issues with copyright or patents and that this library is being actively maintained, is well documented, and has real world business value?

I think all of the answers to your questions are available right here in the repo.

Banks tend to be more risk averse than startups and tech companies.

Well, regarding copyright it's Apache License so see if it works for your Bank
It is being actively maintained, it was a bit slower due to Cats-Effect development recently but 3.0.0 release is coming and you can see it in activity around pull requests.
It's also quite mature because 2.x is used in production in many companies ( I don't have a list but there are e.g. Zalando, Samsung Research, we might want to reactivate this issue to get more confirmed companies).
For documentation, see monix.io which is admittedly lacking at times but some parts are really good and we already have few quite big documentation PRs ready so it's going to be only better. At least I know it's going to be my focus right after release.
On the other hand, Scaladocs in the codebase / API are IMO top notch. We also do our best to help on gitter channel in case of any questions.
For business value, apart from anything you get from pure FP you also get a lot of tools for writing asynchronous programs. Performance aside, very rich API and "composability" should help your Bank expressing its requirements in simpler and more correct/robust way. Note that you don't have to go full on pure FP if your Bank doesn't want to do this. Monix works very well for mixed codebases and that's important to us.
If you use 3.0.x then you also get everything from Cats-Effect and seamless interop with other libraries in ecosystem (mainly http4s, doobie, fs2).
Take a look at docs to see what's inside and presentations for handy examples:
https://monix.io/presentations/
and
https://www.youtube.com/watch?v=brnq6RsVeN4
I won't write sales pitch for you because I'm not a good "marketing person" and you know your Company better but I can help you find good arguments so ask here if you need more.
Good luck and thanks for considering Monix!

Will close this for now. Feel free to add more comments or to re-open it if it's the case.


NuGet server returned 403: The specified API key is invalid, has expired

AppVeyor Builds running on dev-branch fails:
Error publishing package. NuGet server returned 403: The specified API key is invalid, has expired, or does not have permission to access the specified package.
https://ci.appveyor.com/project/nlog/nlog/builds/41684678/job/qq2fg31w3pkwhos8

I will update the key soon :)


Pull new changes in PR branch when checking it out

Check out a PR
Check out master
Some time later the PR gets more changes
Check out the PR again
I don't have the latest changes, but they do show up in "Changes in Pull Request"

I think it should just git pull when I check out a PR for the second time?

Already fixed via https://github.com/Microsoft/vscode-pull-request-github/commit/49aa57d9f4f13599a44e78bc783607c248d2b2de


INVALID openapi

https://substreams-sink-clickhouse-production-ad27.up.railway.app/
https://validator.swagger.io/validator/debug?url=https%3A%2F%2Fsubstreams-sink-clickhouse-production-ad27.up.railway.app%2Fopenapi
{"messages":["attribute paths.'/webhook'(post).parameters.[x-signature-timestamp].content is missing","attribute paths.'/webhook'(post).parameters.[x-signature-ed25519].content is missing"]}

Also include license: https://github.com/pinax-network/substreams-erc20-api/blob/61c2a38b29104c898ab197d4a93d50eef62eba77/src/fetch/openapi.ts#L72

Adjusted spec according to https://validator.swagger.io/ and https://editor-next.swagger.io/.
Result:


Feat/cancel-OOO

Parent Ticket : https://github.com/Real-Dev-Squad/website-backend/issues/1184

[x] Fixed routing issue in table of contents
[x] Adds an additional parameter cancelOOO that allows users to cancel their Out of Office (OOO) status during their vacation period if needed.

Great work @heyrandhir I think you have to add cancelOOO object also after line 25 else removed those not required?? https://github.com/Real-Dev-Squad/website-api-contracts/pull/135/files#diff-3d040893e1461340e821222e5ca739887c80f41bf29c2718e6f6badb5884619dR25 correct me if I am wrong

Hi @shubhamsigdar1 we wont need to update there as it is the data model. the data model wont be updated. only in onme of the api we are adding a new parameter


python setup.py build_ext --inplace 报错

感谢优秀的工作！
我按照GitHub的environment部分进行环境配置，选择的是PyTorch 1.10.2 + CUDA 10.2 for older GPUs版本，最后在Compile CUDA extensions部分报错，似乎是因PyTorch 1.10.2不兼容的原因？
Traceback (most recent call last):
File "/opt/conda/envs/sparsebev/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1717, in _run_ninja_build
subprocess.run(
File "/opt/conda/envs/sparsebev/lib/python3.8/subprocess.py", line 516, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "setup.py", line 19, in
setup(
File "/opt/conda/envs/sparsebev/lib/python3.8/site-packages/setuptools/init.py", line 153, in setup
return distutils.core.setup(**attrs)
File "/opt/conda/envs/sparsebev/lib/python3.8/distutils/core.py", line 148, in setup
dist.run_commands()
File "/opt/conda/envs/sparsebev/lib/python3.8/distutils/dist.py", line 966, in run_commands
self.run_command(cmd)
File "/opt/conda/envs/sparsebev/lib/python3.8/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/opt/conda/envs/sparsebev/lib/python3.8/site-packages/setuptools/command/build_ext.py", line 79, in run
_build_ext.run(self)
File "/opt/conda/envs/sparsebev/lib/python3.8/distutils/command/build_ext.py", line 340, in run
self.build_extensions()
File "/opt/conda/envs/sparsebev/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 735, in build_extensions
build_ext.build_extensions(self)
File "/opt/conda/envs/sparsebev/lib/python3.8/distutils/command/build_ext.py", line 449, in build_extensions
self._build_extensions_serial()
File "/opt/conda/envs/sparsebev/lib/python3.8/distutils/command/build_ext.py", line 474, in _build_extensions_serial
self.build_extension(ext)
File "/opt/conda/envs/sparsebev/lib/python3.8/site-packages/setuptools/command/build_ext.py", line 202, in build_extension
_build_ext.build_extension(self, ext)
File "/opt/conda/envs/sparsebev/lib/python3.8/distutils/command/build_ext.py", line 528, in build_extension
objects = self.compiler.compile(sources,
File "/opt/conda/envs/sparsebev/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 556, in unix_wrap_ninja_compile
_write_ninja_file_and_compile_objects(
File "/opt/conda/envs/sparsebev/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1399, in _write_ninja_file_and_compile_objects
_run_ninja_build(
File "/opt/conda/envs/sparsebev/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1733, in _run_ninja_build
raise RuntimeError(message) from e
RuntimeError: Error compiling objects for extension

你的error信息是不是没复制全，这些看不出源头问题

感谢回复，刚刚解决了～

请问r50_in1k_704x256.py这个配置用8张v100或a100大概要跑多久？

一天内吧，不过这个in1k配置不稳定，点数波动很大，推荐nuimg那个

不好意思，还要请教一下为什么eta时间这么久呢？而且每隔8次iteration左右data loda的时间就会很久，是data读取有问题吗？已经按照GitHub的步骤完成了Install turbojpeg and pillow-simd to speed up data loading这一步的配置。


Review power saving modes kernel configurations

@shuhaowu reported some CPU frequency changes. A possible explanation could be something related with power management. We should review all the related configurations. From the top of my head these are some of the things that we should take into account:

Apparently power issues could cause a kernel log message  which might affect the latency measurements
- https://pimylifeup.com/raspberry-pi-low-voltage-warning/
- https://forums.raspberrypi.com/viewtopic.php?t=224493
dwc_otg has to be disabled
- https://community.emlid.com/t/rt-kernel-unusual-dwc-otg-high-8k-s-interrupt-rate-using-quite-some-cpu/1002
- https://www.osadl.org/Single-View.111+M5c03315dc57.0.html
- https://www.osadl.org/monitoring/patches/r7s3/usb-dwc_otg-fix-system-lockup-when-interrupts-are-threaded.patch.html
CPU idle

https://wiki.linuxfoundation.org/realtime/documentation/howto/debugging/no-cpu-idle
A Checklist for Writing Linux Real-Time Applications: Kernel configuration

cc @LanderU @razr @shuhaowu

are CPU core caches separated in the pi4 image?


SAK-43222 Support i18n decimal separators in Rubrics.

https://jira.sakaiproject.org/browse/SAK-43222

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 9

See the complete overview on Codacy

Tested locally, using Spanish and comma as decimal separator just works fine, preview works, I can assign a rating with decimal separator and I can override the grade using a double value with comma.
Before:


Best practice in type annotation

From the tutorial, it seems that nbdev favors simple type annotations. For example, it uses int|str, rather than Union[int,str].
Albeit simplicity (which I do enjoy), this type of annotation (i.e., |) is only introduced after Python 3.10. However, nbdev' does support Python>=3.7. How would one who uses Python 3.7 - 3.9 annotate Union?

Update: from your notebook code, from __future__ import annotations seems to do the trick. Would it be possible to specify it in the document/tutorial?


[ATLAS-9626] Display JWT token only at debug level and in obfuscated format

BTW, can u attached the output from running make test


Change Determination Text to "Need More Information"

Is your feature request related to a problem? Please describe.
Applicants receive determination letters from OTF with the sub-heading "Need More Info." This is not clear to many applicants and text should be changed to "Need More Information."
Priority

Low priority (annoying, would be nice to not see)

Affected roles

Staff
Applicants

@fourthletter  It's "Needs more info" (with an s on needs). Should it be "Need More Information" or "Needs More Information"?

@frjo please use "More Information Required"

Looks good on my end


dalton: take care of git submodules manually

Proposed fix for #313
All submodules are handled by nixpkgs fetchers individually and pinned to the commits used in the 2020.1 release tag. This works but is unpleasantly verbose.

This works but is unpleasantly verbose.

Agree, but I also have no better idea at the moment. This is a reoccurring pattern with a solution that I have also used for cases where the build system calls git clone.


feat: Add legacyNotSelectorLinter

Codecov Report
Base: 91.92% // Head: 92.11% // Increases project coverage by +0.19% :tada:

Coverage data is based on head (aba8575) compared to base (88e99a8).
Patch coverage: 100.00% of modified lines in pull request are covered.

:exclamation: Current head aba8575 differs from pull request most recent head eff7a18. Consider uploading reports for the commit eff7a18 to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##           master      #76      +/-   ##
==========================================
+ Coverage   91.92%   92.11%   +0.19%
==========================================
  Files          16       17       +1
  Lines         557      571      +14
  Branches      188      193       +5
==========================================
+ Hits          512      526      +14
  Misses         45       45

Impacted Files
Coverage Δ

src/linters/utils.ts
100.00% <ø> (ø)

src/linters/legacyNotSelectorLinter.ts
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Support for SP values

I really liked this library as it saves my lot of time. Only thing missing apart from fractional value is SP values for text.

Great comment, I thought about it in the past but now that you asked for it I will work on :)

Is there any progress in this field? Do you need help?

Yes, working on it. I will keep you updated. Maybe you will be my first customer :)

Yeah sure, I keep on checking updates to this issue.

Now you can test the sp support:
See here: ssp

add dependency:

dependencies {
    compile 'com.intuit.ssp:ssp-android:1.0.4’
}

add TextView

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello SSP!"
    android:textSize="@dimen/_12ssp"/>


KOGITO-8611 Added Fix for Copy/Cut/Paste Shortcuts not working in Mac

Hi Team,
This pull request addresses an issue where the standard copy, cut, and paste keyboard shortcuts (⌘C, ⌘X, ⌘V) don't work within the DMN Editor extension for VSCode on macOS.
The changes in this PR resolve this functionality gap, ensuring a consistent user experience for clipboard interactions within the DMN editor.
Following is the summary of changes done in this PR:

Enables Shortcut binds (⌘C, ⌘X, ⌘V) for cut, copy, and paste actions.
Enables selected content to be cut, copy or pasted.
Supports copying selected text, including content that spans multiple lines. This addresses the current issue where only text before newlines is copied.

Manual testing confirmed successful clipboard functionality after the changes.

Please review this pull request and provide any feedback.
More details on the issue can be found in this Jira Ticket. https://issues.redhat.com/browse/KOGITO-8611
Regards,
Kannan S

@skannanath Thank you for your contribution!!
/cc @ljmotta @tiagobento @jomarko

@skannanath Thanks for your contribution. The 0.26.0 is a quite old version. I've tried the shortcuts on main branch on a M1 Mac machine without any problems. Could you please try it too?
To generate a VSIX of the main branch, please clone the repo, and on the monorepo root:
pnpm bootstrap -F dmn-vscode-extension...
pnpm -F dmn-vscode-extension^... build:dev
pnpm -F dmn-vscode-extension build:prod

A VSIX will be generated on the packages/dmn-vscode-extension/dist folder.
https://github.com/apache/incubator-kie-tools/assets/24302289/81db80b1-5350-45bc-89b3-a41394098bb0

Hi @ljmotta,
That's good news! I was able to build the VSIX extension and test the clipboard functionality. You're right, the issue is not present in the FEEL Inputs. However, the clipboard issue appears to be still present in the New DRD View, where copy-paste functionality is still missing, just like in the previous version of DRD View.
Do you have an estimated timeline for when this new editor version might be rolled out? In the meantime, is it possible for us to try out the new version and provide feedback?
Also, are there any workarounds or recommendations we can follow until the new version is available?
Thanks!

@skannanath Great! Regarding the New DRD View, could you please give a bit more context? It would be great if you could create an issue on the kie-issues detailing the problem.
The new editor will be available on our next release. We are still working on some rough edges regarding it, but it should land soon. We post news every Friday regarding our meetings on the kie-issues repository.
For the Sandbox, we have a daily-dev environment which is updated every day with the main branch, it's important to notice that we do not recommend to be used in a production environment. Unfortunately, we don't have a similar for the VS Code extension, it would require to build manually as you did.

Hi @ljmotta, Created an issue on apache/incubator-kie-issues (https://github.com/apache/incubator-kie-issues/issues/1164) detailing the DRD View clipboard issue. Additional information and steps to reproduce are included to assist with resolution.

Hi @ljmotta, Our team is excited about the upcoming DMN editor version. As part of our planning process, we'd like to confirm backward compatibility with existing DMN 1.2 models. We currently utilize DMN 1.2 extensively, and due to the ongoing development of the DMN 1.5 specification, we intend to migrate to the new standard upon its official release.

Could you please provide clarification on the new editor's support for DMN 1.2 models? Specifically, will the editor seamlessly open, edit, and save DMN 1.2 files while maintaining their functionality?
Understanding this aspect is crucial for ensuring a smooth transition for our team.  We appreciate your time and assistance.

@skannanath
Going straight to your questions:

Seamlessly open, edit, and save DMN 1.2 files without altering their functionality.
Not exactly. The new DMN Editor can open any DMN file version, but once loaded in the editor, it will be automatically converted to a 1.5 DMN version file. But your business logic will be preserved (I'll elaborate better later).
Maintain compatibility with Drools versions 7 and 8 for running these models.
Drools 8 supports up to DMN 1.4, so, according to my response to the previous point, if you create or edit a DMN file with the new editor, that will be saved as 1.5 DMN version that IS NOT compatible with Drools 8 (and 7).

To give you more context:
Since we moved the project under the Apache group, We aim to implement the support of the latest DMN version as fast as we can, in both the engine and the editor side simultaneously. That wasn't the case in the past. With Drools 8, there was a discrepancy between the Engine and the Editor (the engine supported up to 1.4 version while the editor up to 1.2).
With the next Apache KIE release, we are going to fully support 1.5.
I want to clarify that DMN 1.5 is no longer in BETA, so you can consider it as a stable version. Honestly, I don't know why the OMG site didn't still update that.
I hope I give you all the information you need to make the best decision for your team and organization.
To recap, if you prefer to continue using the Drools 8 / Drools 7 engine, you must continue using the current released editor with DMN 1.2.
The moment you decide to use the upcoming Drools 10, you need to be aware that we are targeting DMN 1.5.

DMN 1.5 approved by OMG architectural board 20.3.2023. https://github.com/omg-dmn-taskforce/omg-dmn-

What is the status of this Pull request please? Is it something we still incorporate a feedback in? Or is it something outdated now?

What is the status of this Pull request please? Is it something we still incorporate a feedback in? Or is it something outdated now?

@jomarko The fix addressed in this pull request has already been merged into the master branch. Therefore, I'm closing this PR. Thanks!
@yesamer


Feat/method

Added method to submit with custom data

Coverage remained the same at 90.789% when pulling 8533e36101d3eff300a8909c495297db31029e0d on feat/method into 4de20ec23d657127b24fe2020899c5b56bfe306a on master.


Add StreamEx.findOnly(Predicate)

It'd be nice to have a map function which asserts that the stream only contains exactly one element matching the search predicate and returns that element or throws an exception (IllegalStateException for example), i.e. throws the exception if the stream doesn't contain the element or if it contains more than one matching the predicate. I didn't figure out how to use this to allow a reduce operation afterwards, so I guess map and reduce take place in one step.

Hello!
There's a short-circuit collector called onlyOne which does the thing. See [javadoc] (http://amaembo.github.io/streamex/javadoc/one/util/streamex/MoreCollectors.html#onlyOne--). So you can do
singleElement = streamex.collect(onlyOne()).orElseThrow(IllegalStateException::new);

Currently I don't like to add such method directly into StreamEx class, because a possibility to add a similar method was discussed recently in Java bug tracker (see JDK-8201273). So if there's a risk that two slightly incompatible methods will be added at the same time. In particular it's unclear whether zero case and 2+ case should be distinguishable.

Hello!
There's a short-circuit collector called onlyOne which does the thing. See [javadoc] (http://amaembo.github.io/streamex/javadoc/one/util/streamex/MoreCollectors.html#onlyOne--). So you can do
singleElement = streamex.collect(onlyOne()).orElseThrow(IllegalStateException::new);

Currently I don't like to add such method directly into StreamEx class, because a possibility to add a similar method was discussed recently in Java bug tracker (see JDK-8201273). So if there's a risk that two slightly incompatible methods will be added at the same time. In particular it's unclear whether zero case and 2+ case should be distinguishable.

Ah, thank you for the hint. Would you accept a PR linking that method in findAny and findFirst in one sentence?

That doesn't check for a predicate, i.e. needs to be prefixed with Stream.filter. Afaik the above only checks that there's exactly one item in the stream. My idea was to provide a method which searches and asserts that the search result is exactly one.

Well, I think we can add a trivial shortcut collector onlyOne(Predicate) -- see new issue #179.


Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 17:54:52) [MSC v.1900 32 bit (Intel)] on win32 Type "copyright", "credits" or "license()" for more information. >>>   RESTART: C:\Users\Walter\AppData\Local\Programs\Python\Python36-32\MUS CONTROL with adafruit.py  Traceback (most recent call last):   File "C:\Users\Walter\AppData\Local\Programs\Python\Python36-32\MUS CONTROL with adafruit.py", line 21, in      humidity, temperature = Adafruit_DHT.read_retry(Adafruit_DHT.AM2302, 4) AttributeError: module 'Adafruit_DHT' has no attribute 'read_retry' >>>

Thank you for opening an issue on an Adafruit Python library repository.  To
improve the speed of resolution please review the following guidelines and
common troubleshooting steps below before creating the issue:

Do not use GitHub issues for troubleshooting projects and issues.  Instead use
the forums at http://forums.adafruit.com to ask questions and troubleshoot why
something isn't working as expected.  In many cases the problem is a common issue
that you will more quickly receive help from the forum community.  GitHub issues
are meant for known defects in the code.  If you don't know if there is a defect
in the code then start with troubleshooting on the forum first.

If following a tutorial or guide be sure you didn't miss a step. Carefully
check all of the steps and commands to run have been followed.  Consult the
forum if you're unsure or have questions about steps in a guide/tutorial.

For Python/Raspberry Pi projects check these very common issues to ensure they don't apply:

If you are receiving an ImportError: No module named... error then a
library the code depends on is not installed.  Check the tutorial/guide or
README to ensure you have installed the necessary libraries.  Usually the
missing library can be installed with the pip tool, but check the tutorial/guide
for the exact command.

Be sure you are supplying adequate power to the board.  Check the specs of
your board and power in an external power supply.  In many cases just
plugging a board into your computer is not enough to power it and other
peripherals.

Double check all soldering joints and connections.  Flakey connections
cause many mysterious problems.  See the guide to excellent soldering for examples of good solder joints.

If you're sure this issue is a defect in the code and checked the steps above
please fill in the following fields to provide enough troubleshooting information.
You may delete the guideline and text above to just leave the following details:

Platform/operating system (i.e. Raspberry Pi with Raspbian operating system,
Windows 32-bit, Windows 64-bit, Mac OSX 64-bit, etc.):  INSERT PLATFORM/OPERATING
SYSTEM HERE

Python version (run python -version or python3 -version):  INSERT PYTHON
VERSION HERE

Error message you are receiving, including any Python exception traces:  INSERT
ERROR MESAGE/EXCEPTION TRACES HERE*

List the steps to reproduce the problem below (if possible attach code or commands
to run): LIST REPRO STEPS BELOW

Have you even read a single word of that message? You missed every single "insert" and put your massive error message in the title!

A bit hard to tell what was going on with this one, but the library isn't supported on Windows systems.


How to use with a "proxy" network

My ISP requires me to connect using proxy, How can I make dispatch use proxy settings. I'm using linux, so any linux solutions would be greatly appreciated

Try using a proxifier tool like Profixier to customize your proxy settings. You might be able to make a connection run through both a local proxy and a distant proxy.

Proxifier failed to work on  Arch using wine, But I was able to get around it using proxychains. Thanks alot.


KMP support?

Wondering if this works / should work with Kotlin Multi Platform, and / or what need to change.
The main blocker is that the name logcat implies this is for Android ;)

If this library supports KMP, it will be great! ummm...I think logcat is not hindering

Currently it doesn't work in jvm-only KMP modules:
kotlin {
    jvm()
    sourceSets {
        named("jvmMain") {
            dependencies {
                implementation("com.squareup.logcat:logcat:0.1")
            }
        }
    }
}

The above configuration results in import logcat.LogcatLogger producing an error:
Unresolved reference: logcat

I suspect that's because this library is an aar.


gangway: BulkJobStatusChange: return early and finish later

This change will accept the BulkJobStatusChange request and return immediately and it will finish the processing in a separate goroutine. On bigger prow instances, with a lot of Prowjobs, it was observed, that it takes a lot of time to only to list all Prowjobs, and calls to this endpoint caused: context timeout

/ok-to-test

This takes a bit of a different direction than what I was expecting. My impression is that this service will nearly always be used when there are more than 10 jobs to update. If we have 10 or less, we will likely find it just as easy to just manually update each one. With that context, I think it makes sense to always return the list of jobs to be updated, prior to actually updating any of them. Then spawn a new thread to update all the jobs. What do you think about that approach?

/unhold

/retest

/lgtm


feat: updated KMS auth policy scope to scope to the KMS key + cleanup

Description

updated KMS auth policy scope to scope to the KMS key (expect this to fail upgrade test however Im using create before destroy to prevent disruption to service)
Started to use the CRN parser instead of messy regex
During cleanup I found a few bugs that I fixed, mainly around incorrect validation
Added code comments to make the code easier to read and maintain

Release required?

[ ] No release
[ ] Patch release (x.x.X)
[ ] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content

Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

For mergers

Use a conventional commit message to set the release level. Follow the guidelines.
Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
Use the Squash and merge option.

/run pipeline

As expected the upgrade test failed as it wants to recreate the auth policy. But it also failed on this update and no idea why...
        	Messages:   	Resource(s) identified to be updated
        	            	Name: en_cos_integration
        	            	Address: module.event_notifications[0].ibm_en_integration_cos.en_cos_integration[0]
        	            	Actions: [update]
        	            	DIFF:
        	            	  Before:
        	            		{"metadata":"SECURE_VALUE_HIDDEN_HASH:-cfa39bbf1424dbe87cb424f2a794fb25c65c2a34d1694dc0b6f5cb53"}
        	            	  After:
        	            		{"metadata":"SECURE_VALUE_HIDDEN_HASH:-1eb7d7592816a31b59566ff9a7fd7863426a53a7dafd3a993b2110ff"}

I'm going to have to do a manual upgrade test to figure this out

OK after doing manual check, I see why the update is happening. Its because I updated the default COS endpoint to be the direct endpoint instead of public one:
2024/10/14 20:07:29 Terraform plan |   # module.event_notifications[0].ibm_en_integration_cos.en_cos_integration[0] will be updated in-place
 2024/10/14 20:07:29 Terraform plan |   ~ resource "ibm_en_integration_cos" "en_cos_integration" {
 2024/10/14 20:07:29 Terraform plan |         id             = "77ce8909-eca2-450d-8875-8e84ea56eaf4/7a7ac1cb-049a-4017-bc35-4c235f8f29c5"
 2024/10/14 20:07:29 Terraform plan |         # (4 unchanged attributes hidden)
 2024/10/14 20:07:29 Terraform plan |
 2024/10/14 20:07:29 Terraform plan |       ~ metadata {
 2024/10/14 20:07:29 Terraform plan |           ~ endpoint    = "https://s3.us-south.cloud-object-storage.appdomain.cloud" -> "https://s3.direct.us-south.cloud-object-storage.appdomain.cloud"
 2024/10/14 20:07:29 Terraform plan |             # (2 unchanged attributes hidden)
 2024/10/14 20:07:29 Terraform plan |         }
 2024/10/14 20:07:29 Terraform plan |     }

This is also expected, and non disruptive, so skipping upgrade test.
@Ak-sky can you please review?

/run pipeline

TestRunExistingResourcesInstances Test failed in Schematics with below error during TF plan-
024/10/14 20:25:15 Terraform plan |   # time_sleep.wait_for_en_authorization_policy will be created
 2024/10/14 20:25:15 Terraform plan |   + resource "time_sleep" "wait_for_en_authorization_policy" {
 2024/10/14 20:25:15 Terraform plan |       + create_duration = "30s"
 2024/10/14 20:25:15 Terraform plan |       + id              = (known after apply)
 2024/10/14 20:25:15 Terraform plan |     }
 2024/10/14 20:25:15 Terraform plan |
 2024/10/14 20:25:15 Terraform plan | Plan: 1 to add, 0 to change, 0 to destroy.
 2024/10/14 20:25:15 Terraform plan |
 2024/10/14 20:25:15 Terraform plan | Changes to Outputs:
 2024/10/14 20:25:15 Terraform plan |   + crn                              = "crn:v1:bluemix:public:event-notifications:au-syd:a/abac0df06b644a9cabc6e44f55b3880e:aab948d3-fff1-496f-9967-44ceb6135554::"
 2024/10/14 20:25:15 Terraform plan |   + event_notification_instance_name = "en-existing-t6wbsk-en"
 2024/10/14 20:25:15 Terraform plan |   + guid                             = "aab948d3-fff1-496f-9967-44ceb6135554"
 2024/10/14 20:25:15 Terraform plan |
 2024/10/14 20:25:15 Terraform plan | Error: Invalid index
 2024/10/14 20:25:15 Terraform plan |
 2024/10/14 20:25:15 Terraform plan |   on main.tf line 235, in locals:
 2024/10/14 20:25:15 Terraform plan |  235:   cos_instance_guid = var.existing_cos_instance_crn == null ? module.cos[0].cos_instance_guid : module.cos_instance_crn_parser[0].service_instance
 2024/10/14 20:25:15 Terraform plan |     ├────────────────
 2024/10/14 20:25:15 Terraform plan |     │ module.cos is empty tuple
 2024/10/14 20:25:15 Terraform plan |
 2024/10/14 20:25:15 Terraform plan | The given key does not identify an element in this collection value: the
 2024/10/14 20:25:15 Terraform plan | collection has no elements.
 2024/10/14 20:25:16 Terraform plan |
 2024/10/14 20:25:16 Terraform plan | Error: Invalid index
 2024/10/14 20:25:16 Terraform plan |
 2024/10/14 20:25:16 Terraform plan |   on main.tf line 238, in locals:
 2024/10/14 20:25:16 Terraform plan |  238:   cos_account_id = var.existing_cos_instance_crn != null ? split("/", module.cos_instance_crn_parser[0].scope)[1] : module.cos[0].cos_account_id
 2024/10/14 20:25:16 Terraform plan |     ├────────────────
 2024/10/14 20:25:16 Terraform plan |     │ module.cos is empty tuple
 2024/10/14 20:25:16 Terraform plan |
 2024/10/14 20:25:16 Terraform plan | The given key does not identify an element in this collection value: the
 2024/10/14 20:25:16 Terraform plan | collection has no elements.
 2024/10/14 20:25:16 Terraform plan |
 2024/10/14 20:25:16 Terraform plan | Error: Invalid function argument
 2024/10/14 20:25:16 Terraform plan |
 2024/10/14 20:25:16 Terraform plan |   on .terraform/modules/cos_kms_key_crn_parser/modules/crn-parser/main.tf line 6, in locals:
 2024/10/14 20:25:16 Terraform plan |    6:   split_crn        = coalescelist(split(":", var.crn))
 2024/10/14 20:25:16 Terraform plan |     ├────────────────
 2024/10/14 20:25:16 Terraform plan |     │ while calling split(separator, str)
 2024/10/14 20:25:16 Terraform plan |     │ var.crn is null
 2024/10/14 20:25:16 Terraform plan |
 2024/10/14 20:25:16 Terraform plan | Invalid value for "str" parameter: argument must not be null.
 2024/10/14 20:25:16 Terraform PLAN error: Terraform PLAN errorexit status 1

/run pipeline

/run pipeline

@Ak-sky I addressed the issues, and also added more tests. Can you please re-review?

/run pipeline

/run pipeline

/run pipeline

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

GitHub release
v1.13.0

Your semantic-release bot :package::rocket:


added support for GNU version of date

emoji-clock used date -v which is only supported on OSX version of date. Added support for GNU version, so that emoji-clock plugin can, now, be used everywhere.

This is pretty cool.
What do you folks think about making emoji-clock() take an optional argument in the form HH:MM, to be used instead of the current time? That would make testing easier.
(And using local to avoid leaking the variables to the caller's space.)


Simplified tslint.json causes “Cannot convert undefined or null to object” error

Describe the bug
When airbnb rules are used, and tslint.json is simplified to:
{   "extends": "tslint-config-airbnb",   "rulesDirectory": ["node_modules/codelyzer"] }
then ng g @schuchard/prettier:add commands shows “Cannot convert undefined or null to object” error after answering all questions.
To Reproduce
Steps to reproduce the behavior:

Replace tslint.json with the content mentioned above.
Run npm install @schuchard/prettier@latest --save-dev
Run npx ng g @schuchard/prettier:add and answer all questions.
See “Cannot convert undefined or null to object” error.

Expected behavior
No error, tslint.json updated if necessary.
Desktop (please complete the following information):

OS: Windows
Node Version: v10.13.0
Angular & Angular/CLI Version: 7.1.3

Thanks for reporting.

Thanks again for narrowing in on the issue. The 2.1.0 release should resolve this issue. When testing I noticed that the tslint-config-airbnb rules had some conflicts with the default Prettier rules so you may have to adjust the Prettier rules to work with that rule set. Fortunately line length and quote style are configurable
Example:
ERROR: /Users/schuchard/dev/repos/prettier-schematic/sandbox/src/app/app.component.spec.ts[16, 6]: ` should be "
ERROR: /Users/schuchard/dev/repos/prettier-schematic/sandbox/src/polyfills.ts[59, 1]: Exceeds maximum line length of 100
ERROR: /Users/schuchard/dev/repos/prettier-schematic/sandbox/src/polyfills.ts[61, 1]: Exceeds maximum line length of 100


Support Battery Degradation Models from BLAST-Lite

Is your feature request related to a problem? Please describe.
We would like to be able to use or tweak the parameters of aging models from https://github.com/NREL/BLAST-Lite
Describe the solution you'd like
An ability to import an aging model from blast-lite with as minimal glue code as possible.
Describe alternatives you've considered
Keeping the math, but discarding the Python from BLAST-lite (which I don't want to do)
Additional context

Agreed, that would be nice, but we just need to remember that these should also be able to work in an online fashion.


Suggestion: ability to find imports for module

Find references is a very useful feature, however sometimes I need to be able to find all imports of a given module:

regardless of what they're exporting
but the module does not have any exports

This is sometimes necessary when a module has side effects, and you want to see which files imported it.
This might also be useful for dynamic imports. In one project we have several dynamic imports (for code splitting) that never explicitly reference the module exports, so if I use find references on those module exports, I will not be shown the dynamic import. For example, here is a dynamic import:

When I activate find references on the exports of that module, I am not shown the import:

Find all refs on the module path should show you all imports to it:

Is that not sufficient for your scenarios?

I'm after the opposite—to find all imports for the currently focused module. E.g.:
// a.ts
// "find imports" used in this module will list the imports in `b.ts` and `c.ts`
export const foo = 'bar';

// b.ts
import('./a');

// c.ts
import './a';

I see.. I suppose we can expose this on the export keyword. though it is kinda weird.. possibly another command on the server..
@andy-ms, @amcasey and @DanielRosenwasser thoughts?

@OliverJAsh to confirm, you're not looking for consumers of foo, you're looking for consumers of a.ts?

@mhegazy I agree that it's not clear how we would trigger such a search.  Personally, I would expect invoking Find All References on the export keyword to list references to that exported symbol.

Personally, I would expect invoking Find All References on the export keyword to list references to that exported symbol.

yeah.. then a new command is needed, but it wounder if that will be discoverable.


Feature Request: Utilize GitHub Actions for Automated Termux Apt Repo Creation

Hello Carapace team,
I'm reaching out to inquire about the possibility of leveraging GitHub Actions to automate the creation of a Termux Apt repository for Nightly. This would streamline the process and ensure consistency in the repository's updates.
Here are the details of the proposal:
Motivation:

Automate the process of creating and updating the Termux Apt repository
Reduce manual effort and minimize errors
Utilize GitHub's infrastructure for build and deployment

Expected Outcomes:

A GitHub Action workflow that creates and updates the Termux Apt repository on a scheduled basis (e.g., nightly, weekly)
The repository is populated with the necessary packages and metadata
The workflow is triggering correctly, and the repository is updated as expected

Requirements:

Use GitHub Actions for workflow automation
Create a Termux Apt repository with the necessary packages and metadata
Schedule the workflow to run on a regular basis

** Checklist:**
Before proceeding, please confirm the following:

This proposal aligns with the project's goals and objectives
The necessary resources (compute,  storage, etc.) are available for the workflow
The workflow can be implemented and maintained by the project team

Thank you for considering this proposal. I look forward to your feedback and discussion.
Best regards,
@soli-rsa

I've got a termux repository at https://github.com/carapace-sh/termux which I'm planning to add automation for.
Not sure about nightly.  It skips the package build and the overall process was meant to use selfupdate.
Nightlies can have issues, so it's important to be able to (down-|up-)grade to a specific version.
There are also still some issues with the termux build at the moment (my tablets work fine, but my phone has some issues).


[GCC] Extra flags feature

Description
Add the ability to specify extra flags in the workspace when registering the toolchain

This was useful


[Bug Report] Bloom - bad accuracy of output for Q and A task

Describe the bug
Bloom PCC issue required debug
To Reproduce
Status from @arakhmati -

I wasn't able to reproduce the bloom linear failure in a standalone test. After looking into it more, I realized that all of the ops match their local golden pretty well. But the global golden gets worse over time. My hunch is that it's because we use bfloat8_b in the optimized bloom and we slowly diverge from torch.

Next step: Can you or MCW run that test with only bfloat16
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Please complete the following environment information:

OS: [e.g. Ubuntu 20.04]
Version of software (eg. commit)

Additional context
Add any other context about the problem here.

The ttnn_optimized_bloom which is available in main has intermediate tensors as dtype=bfloat16 mostly. Now, I kept all the intermediate tensors to dtype=bfloat16 which improved the accuracy slightly.
The observations are noted on the sheet and the code change made for dtype16 is available in this commit.

which cmd should I run to repro?

To reproduce the pcc issue,  run tests/ttnn/integration_tests/bloom/test_bloom_for_question_answering.py test with sheet respective input. This helps to reproduce issue on main.
To reproduce results of bloom with float16 use the following commit.

the LN seems to not be the problem, after switching ever LN to torch, I got
start  (False, 'Max ATOL Delta: 14.176633834838867, Max RTOL Delta: 1.2146252393722534, 0.8624867817780981') end  (False, 'Max ATOL Delta: 11.56474781036377, Max RTOL Delta: 32.350425720214844, 0.8353366016316789') ttnn answer:
for the question "Who ruled the duchy of Normandy"
It is the same output as the ttnn LN

for better accuracy, you can disable math approx mode for LN and SMX, this can reduce the accumulation error, but with the cost of perf decrease
the disabled version is in this commit 7368d85e9624e1cda2879c2d02618ce046f39b1b

@punithsekar
Bloom demo does not seem to be well suited for the model we are using. Both TT and PyTorch models are producing bad answers (or no answers) with PyTorch being slightly better but not good.
Maybe a simple way to improve Bloom output is to change how we are using Bloom.
Can you rework demo for Bloom Q and A so that it is doing open quesitons, that is, instead of offering answer from context it generates its own answer? So the prompt would be something like
prompt = "Given the question delimited by double square brackets [[ What is the age of the universe? ]], what is the answer? Answer:"
For this we would like to see PyTorch model answers and also TT answers to compare them.
Second thing to try is to review Bloom for text genration demo (models/experimental/functional_bloom/demo/demo.py) and compare what it produces to PyTorch output.

Results for text generation and question answering are looking good.
To narrow down best setup for model, can you generate results for ~10 prompts for each of the following and also record the performance like tokens / second:

bfloat8_b accumulation, split linear and gelu instead of fused op, compute_attention_probs in ttnn with add and softmax (not fused), max_length=20

bfloat16 accumulation, split linear and gelu instead of fused op, compute_attention_probs in ttnn with add and softmax (not fused), max_length=20

bfloat16 accumulation, split linear and gelu instead of fused op, compute_attention_probs in PyTorch, max_length=20

bfloat8_b accumulation, split linear and gelu instead of fused op, compute_attention_probs in PyTorch, max_length=20

accuracy is fine for text generation and question answering


There is no way to unfollow a user if they blocked you

Describe the bug
Users who block me still counts as followed, but i can't unfollow them
To Reproduce
Have somebody block you then try to unfollow that person
Expected behavior
Users who blocked me should still be present in the follow list so I can unfollow them.
Details
Build version: 1.56.0; Platform: web

Blocking someone should make them unfollow you, so people can perform softblocks.

Blocking someone should make them unfollow you, so people can perform softblocks.

Either way, if i still follow somebody, they shouldn't disappear from my follow list.

Could we get confirmation from the team that this will be addressed, please?

This absolutely should be fixed so that there's a way to do it through the app, but in the meantime you can do it using this great tool:
https://cleanfollow-bsky.pages.dev/


Bug Fix:  Piranha was incorrectly identifying the changed node in the recently applied edit.

The problem was that, we were using the matched range of the current edit when determining the changed node. IT should have been the range of the replacement of the current edit.  When I did that I realized that I did not require the current_match_range at all. So I consequently removed it.

Since this is a bug fix, shouldn't we have a corresponding test case that fails before the fix and passes after, to prevent a regression?

yes. On it.


Tests are only failing in remote CI pipeline.

Describe the bug

Following hammers documentation we are generating an event and attempting to tap.

        let eventGenerator = try EventGenerator(view: tabs)         let cell = try eventGenerator.viewWithIdentifier(             "image_tab_button_Tab 1",             ofType: ImageTabs.Button.self,             timeout: 1         )         try eventGenerator.fingerTap(at: cell)
Locally we can run these tests as often as we want. I have recently been running these tests 100 times in a row with & without building and I never see a failure. When I push to our remote CI system we are seeing failures (maybe 50% of the time) with
failed: caught error: "The app or window is not ready for interaction. Ensure that your tests are running in a host application and that you have given enough time for the view to present on screen. For more troubleshooting tips see: https://github.com/lyft/Hammer#troubleshooting." (#CharacterRangeLen=0)
I have attempted adding waits
try eventGenerator.waitUntilHittable(timeout: 2)
but no matter how long the timeout is I am seeing the above error thrown.

@keith @gabriellanata It seems like this happens if the app is showing a location prompt. Wondering if the SDK can handle this in a more graceful way and if the error messaging could also be better.
Obviously we ended up fixing this by mocking out our location prompts but just a thought

Sorry I missed this. Yeah I dont think there's much we can do there. All we know is that the interactions are disabled. Permission prompts appear in a different way that we have no control over (for good reason), so we can't really check if they're the thing that is blocking interaction.


Add Supermarq bot

(#542)
Some things to consider:

What exact tests do we want to run? For now I just included the ones that are run on the example notebook (pasted below)

BENCHMARKS: List[Tuple[supermarq.benchmark.Benchmark, str]] = [
    (supermarq.ghz.GHZ(5), "ghz5"),
    (supermarq.hamiltonian_simulation.HamiltonianSimulation(4), "hsim4"),
    (supermarq.mermin_bell.MerminBell(3), "mb3"),
    (supermarq.bit_code.BitCode(3, 3, [1, 0, 1]), "bitcode3"),
]

At the moment the jobs are being submitted with repetitions=1000, do we want to make this higher?

Not sure how to go about fixing this type error:
supermarq-benchmarks/supermarq/run_supermarq.py:52: error: Argument 1 to "create_job" of "Service" has incompatible type "Union[Circuit, Sequence[Circuit]]"; expected "AbstractCircuit"  [arg-type]

What exact tests do we want to run?

What we have now is a good start

At the moment the jobs are being submitted with repetitions=1000

This is fine. I think the original Supermarq circuits were run on 1000 repetitions as well.

Not sure how to go about fixing this type error:

There are cases where benchmark.circuit() returns a list of circuits instead of a circuit
        try:
            circuit = benchmark.circuit()
            if isinstance(circuit, cirq.Circuit):
                job = service.create_job(
                circuit,
                repetitions=1000,
                target=target,
                options={"tag": tag, "qiskit_pulse": False},
            )
            else:
                for c in circuit:
                    job = service.create_job(
                        c,
                        repetitions=1000,
                        target=target,
                        options={"tag": tag, "qiskit_pulse": False},
                    )

        except Exception:
            pass

Should fix

I added the github action, I just have two questions:

Currently I'm doing - cron: "0 12 1 * *", which triggers every first day of the month at 12. However, I think Honeywell devices are only available during the week, so it would fail if the first of the month is on the weekend. Is there a way to specify it to run every first Monday of the month? I was trying to do that but I couldn't figure it out.
Am I importing the secrets correctly?

Is there a way to specify it to run every first Monday of the month?

Is https://blog.healthchecks.io/2022/09/schedule-cron-job-the-funky-way/ useful?


About new version of MMdetection

Thank you for the amazing library. Does this library work on the new release of mmdetection V2.3.0?

No it does not work with 2.x. Issue #71 requests is related to this as it would need support for 2.x.