[text circuit drawer] global phase

Fixes #4691
When there is a global phase for the circuits, prints it in the upper right corner.
from qiskit import *
circ = QuantumCircuit(2)   # after #4565, the global_phase property can be set at construction time.
circ.global_phase=3.141592653589793/2

circ.h(0)
circ.cx(0,1)

print(circ)

global phase: pi/2
       ┌───┐
  q_0: ┤ H ├──■──
       └───┘┌─┴─┐
  q_1: ─────┤ X ├
            └───┘

Since the circuit is the primary piece of information perhaps that should go first and the global_phase below that?

I just realized it would probably be good to have a test when phase is 0 (unless it is by default and we get this implicitly). But it's something we can easily add in a follow up.


Two listings in extension registry

In the extension registry, I see:
[PHP-SIG] PHP SmartHints - version 1.1.3
PHP SmartHints - version 1.1.6
This seems confusing for users.  Both "More info" links lead here.  One should probably be removed from the listing.

I totally forgot we controlled our own listings in the registry.  I removed the old PHP-SIG one.  Thanks @peterflynn


Inclusion of new plugins

Currently, there are good plugins, quite useful to the community, developed by communities and/or autonomous developers.
@hal0x2328, for example, recently did a good effort in two different plugins: 1- for monitoring CN; and 2- for local debugging.
Others type of plugins for testing are also useful during experimentation and etc.
While I also believe that we should keep this repository concise, I think that it should have more plugins.
Probably, in the future, it will not pass a number of 15-20 plugins.
When we reach such limit we would have already probably covered plenty of classes and applications. In this sense, if that time comes we might also just update plugins and keep improving them.
Otherwise, I am afraid that the community might need to create another repository for "extra" plugins. Without merging all that new good ideas we lose the ability of spreading good features that are being developed.

I also have two more plugins I wrote:
https://github.com/hal0x2328/RpcFindStorage
https://github.com/hal0x2328/NeoPubSub
I agree that there should be some central resource for locating the source code of all plugins of interest to developers, I'm not sure all (or even any) of mine should be part of the official neo-plugins repository.
I'm happy to write these plugins and share them freely but I won't always have the resources to maintain them long-term. So it kind of places a burden on NGD to have someone who can take over the code maintenance to make sure there is always a working build for every new Neo release, accept new PRs, check for security holes, etc for features that aren't mission-critical.

@neo-project/core  should we plan to add these new plugins? I think plugins are a good feature of NEO, maybe we should treat this "more nicely" 🤔

I think that, as long as basic rules are followed, and plugin usage is justified, it should be welcome here. Breaking changes shouldn't be so common that all plugins are broken all the time... and if they are to be broken, better broken here (where we will know something is broken), than having people to fix them everywhere else, without full awareness of recent changes.


[Indexer] Optimize indexer like query to ensure all querys  can use indexes

Summary
Optimize indexer to ensure all querys  can use indexes.

Convert SQLite like query to Between And query, optimize table scan to index scan, and only take effect on the rightmost prefix.
Adjust the index to support all queries can be index scan, not trigger a table scan.
Support indexer metrics, statistics on indexer query time and write time cost.

Notice：
This operation requires rebuilding the index when the server is restarted, and the server will be unavailable during the index rebuild.

Closes #2144

testnet indexer file size
du -sh *
21G    events
32K    events-shm
4.1M    events-wal
23G    object_states
3.9M    object_states-shm
2.0G    object_states-wal
4.2G    transactions
32K    transactions-shm
4.0M    transactions-wal

SQLite explain query plan
sqlite>
explain query plan select * from object_states  where owner="1" and object_type not like '0x1::0x111%';
QUERY PLAN
`--SEARCH object_states USING INDEX idx_object_states_owner_and_object_type (owner=?)

sqlite>
explain query plan select * from object_states  where owner="1" and object_type >= '0x1::0x111' and object_type < "0x0";
QUERY PLAN
`--SEARCH object_states USING INDEX idx_object_states_owner_and_object_type (owner=? AND object_type>? AND object_type<?)

sqlite>
explain query plan select * from object_states  where  object_type >= "0x1::0x111" and object_type < "0x01::0x2";
QUERY PLAN
`--SEARCH object_states USING INDEX idx_object_states_object_type (object_type>? AND object_type<?)


Tests.

Also did some general cleaning in this pr.

@rabbah - unused import errors failed travis

Maybe we should add the slack bot pr notifier?

@starpit @rabbah be sure to engage the community on the "dev" list on this new package and its features, invite review/comment. thanks!

I assume @starpit is reviewing the combinators commit.  The other 3 commits look good to me.

LGTM

merged

@rabbah Any hard reason Why  this PR didn't include README.md updates for the new package?
I thought we try to have code+test+docs in a single PR when possible.

@csantanapr which is the source of truth? This https://github.com/openwhisk/openwhisk/blob/master/docs/packages.md or https://github.com/openwhisk/openwhisk-catalog/blob/master/README.md.

Agree @csantanapr - But which is the source of truth?
The corresponding repo will be the truth openwhisk-catalog/README.md
The [openwhisk/docs/catalog.md] it's an "alternative truth" that will be deleted it.


ttu-odbc-suite-2000 <IP_ADDRESS>

Checklist for Pull Requests

[x] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?

Manifests

[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.6 schema?

Note: <path> is the directory's name containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

/azp run

We accidentally submitted two manifest so one was deleted from the pull request.


DESIGN REVIEW: Overhaul ImageBufAlgo to return ImageBuf results

All ImageBufAlgo functions, in both C++ and Python, have signatures that looks like this:
bool IBA::func (ImageBuf& result, ...args..., ROI roi=All, int nthreads=0);

So, for example, to add two images A and B,
ImageBuf Result;
ImageBufAlgo::add (Result, A, B);

and in Python,
Result = ImageBuf()
ImageBufAlgo.add (Result, A, B)

There are circumstances in which this approach of writing into an existing    buffers is crucial -- it gives you completely control over allocations and    copying, lets you write partial results into an existing buffer (using    a ROI of a smaller region than the whole), and lets you accumulate results.    As an example, consider the efficiency of:
ImageBuf images[10];
ImageBuf sum (images[0]);
for (int i = 1; i < 10; ++i)
    ImageBufAlgo::add (sum, sum, images[i]);

Note that there are no additional allocations inside the loop.
OK, but this is not the usual case. For the vast majority of uses, you    are just doing a simple
ImageBuf Result;
ImageBufAlgo::add (Result, A, B);

and especially in Python, this necessity to pre-declare the result is    very "non-Pythonic". What we really want to say is:
Result = ImageBufAlgo.add (A, B)

So simple! And why wouldn't we want the same thing in C++?
auto Result = ImageBufAlgo::add (A, B);

At long last we get to the point of this proposal:
This patch aims to add a variety of each IBA function that returns the    ImageBuf result, rather than take an existing IB destination as a    parameter.
We will still keep the "in-place" methods we've always had (which, as    noted above, are still useful), but for most uses, the new calls    will be preferred for their notational simplicty.
Also, I'm simultaneously replacing the functions that take a raw    float * for per-channel colors, with versions that instead take    an array_view, which should be safer because it guarantees    knowledge of the length of the array.
At this stage, I have only done this for add, sub, absdiff, abs, as a    way to prototype the ideas. Consider this a "design review", circulating    for comments and feedback before I undertake the work to fully overhaul    the rest of the IBA suite of functions.
Feedback?

An additional idea I had:
Some IBA functions come in several flavors to cover cases where input parameters may either be an ImageBuf or a per-channel constant value. For example, consider add(A,B):
add (const ImageBuf& A, const ImageBuf& B)
add (const ImageBuf& A, array_view<const float> B)
add (array_view<const float> A, const ImageBuf& B)

It's even worse for mad(), which has three image-or-constant parameters, and therefore 7 useful combinations.
So I was thinking, what if there were a non-owning parameter passing class that could hold EITHER an ImageBuf reference or an array_view, then you have have just a single function signature:
add (Image_or_Const A, Image_or_Const B)

and handle sorting out all the cases inside the function implementation. The caller doesn't have to do anything different -- sort of like a string_view or array_view, the constructors handle all the magic of sorting out what types you are passing, but it lets you have a single declaration and implementation, leaving the header (and docs) simple, clear, uncluttered, and self-documenting.
It was something I was fooling around with mentally last night, and it's growing on me.

Closing. I will shortly open the "real" review for this, after having continued to tinker along these lines for the last couple weekend.


Re-architect test output reporters

The current set of test output reporters is more than a little bit jank.

It lives in a separate repo, which parses the test output into a completely different object format, just to be able to use the Mocha reporters (which are way out of date now, and mostly gimmicks other than spec)
People only seem to use classic, tap, and spec anyway.  Better to just implement classic and spec in a good way.
Provide good tests for reporters!  It's valuable, and deserves good coverage.

Another vote to keep xunit. I use it to get result artifacts into CircleCI's interface.

As it happens, all the old test reporters will stick around, and I'll just add a few new ones that are fancier and more responsive.

I'm calling this done for now.  It can keep improving, but by keeping around the older tap-mocha-reporter reports, and supporting React.Component style reporting with treport, it's looking pretty good, and there's a framework for adding new reporters.  You can also now do stuff like -R my-tap-reporter-stream-or-component and it'll load it either as a CLI program or a module.


Unfair comparison in Visualizations

Hi,
Thanks a lot for this great repo.
For the comparison in the Visualizations example, I found that for each config, you run 100 updates.
I am concerned that 100 is too small so that it would favor optimizers that have fast convergence in the first few updates.
For other optimizers that the convergence is relatively slow at beginning, it would select large lr. This could lead to unstable convergence for these optimizers.
Moreover, for hyper-parameter search, the objective is the distance between the last step point and the minimum. I think the function value of the last step point may be a better objective.
At last, some optimizers implicitly implement learning rate decay (such as AdaBound and RAdam), but some not.
But in your comparison, no explicit learning rate schedule is used.

Moreover, for hyper-parameter search, the objective is the distance between the last step point and the minimum. I think the function value of the last step point may be a better objective.

To be honest all comparisons are not fair in one way to other. But in general I agree with you. I am going to add a note that visualizations is not good way to select optimizer.

I happy to merge any PRs with improvements to visualisations, I have few things in mind also like use search for more hyper parameters etc. just have not managed to do it yet.

Thanks a lot for your response.

Here is PR with that add warning https://github.com/jettify/pytorch-optimizer/pull/222 Please create PR if you want improve messaging there.

The message is great. Thanks!


Feature request: auto escape :id or allow overriding the value of :id easily

related #94

Currently I can change the URL after the :id is mapped to it. Is there a way I can change the value of :id before the URL mapping?

I don't understand the bug report/problem?  Using your code from the other ticket:
class Item < ActiveRestClient::Base
  base_url "http://api.my-url.com/v2"
  username 'username'
  password 'password'

  get :all, "/list/"
  get :find, "/items/:id"
end

To change the ID, you pass a different value in to the #find method, e.g.
Item.find(id: "Whatever you want here")

If you want it escaping, you can do that yourself (I wouldn't want to automatically escape them, just in case someone's API requires that they aren't escaped, or are escaped in some other way).
You can also adjust the ID within a filter - https://github.com/whichdigital/active-rest-client#using-filters

At before_request it seems that I can get the full URL, but not the :id in get_params.
Currently, I can do Item.find(id: CGI.escape(item_id)). But is there a good place that I can move the CGI.escape into the model instead of placing it at the controller?

There's nowhere easy. This may be something that's possible with a Proxy, but I haven't tried.
What type of value are you passing in the ID field that need escaping?

The ID is an e-mail address. Maybe I will just use the above workaround. Thanks!


Separate Pact providers generated files contain all the pacts

General
Setting different providers in same tests run (provider when creating MockServer instance) doesn't generate correct output (pact json files). All the pacts are generated for every provider file. This is an issue because we need to generate (and later upload) separate pacts files for different providers.
Example Issue
There are two providers: provider1 and provider2. MockService  instance is created for each pact test. Provider for each test is set in initialiser:
public init(
    provider: String,
    consumer: String,
    pactVerificationService: PactVerificationService,
    errorReporter: ErrorReporter
  )

in test it looks:
class Pact1Tests: XCTestCase {
  func testPact1() {
    let mockServer = MockService(
        provider: "provider1",
        consumer: "consumer",
        pactVerificationService: PactVerificationService(url: <url>, port: 1234),
        errorReporter: Errors()
    )
    ...
  }
}

Remark: if you do it in override func setUp() - issue is still there.
After all tests finished, two pact files are generated: consumer-provider1.json and consumer-provider2.json.
If generated file is opened, you can see that all the tests, even if created MockServer instance for specific test had different provider name, are in that json.
Workaround
If you run tests separately for just provider1 and when just for provider2 (e.g. using test plans) files are generated correctly.
Summary
Probably the issue is with provider parameter propagation and file generation.
I hope this information is enough. I can try to provide more info if needed.
P.S. when we run pact ruby mock server we do not specify consumer and provider  as we do it in code when we  are creating MockServer instance.
pact-mock-service start --pact-specification-version $PACT_SPEC_VERSION --log $LOG --pact-dir $PACTS -p $PORT

Hi @treatwell-ignasurbonas this is because of a limitation of how the underlying mock server works. i.e. one instance of the mock service should be for one provider. Most other pact implementations start and stop the mock service as part of the test framework, however this is not possible when running in a sandboxed environment like the iOS simulator.
The usual workaround that people use is to start multiple mock servers up at the beginning of the test phase running on different ports.
pact-mock-service start --pact-specification-version 2.0.0 --log "${SRCROOT}/tmp/provider1-pact.log" --pact-dir "${SRCROOT}/tmp/pacts" -p 1234
pact-mock-service start --pact-specification-version 2.0.0 --log "${SRCROOT}/tmp/provider2-pact.log" --pact-dir "${SRCROOT}/tmp/pacts" -p 2345

And then specify the port when setting up your test.
MockService(provider: "Provider 1", consumer: "My iOS App") // this will run on 1234 by default
...
let pactVerificationService = PactVerificationService(
  url: "https://localhost",
  port: 2345 // the port of the second mock service
)

animalMockService = MockService(
  provider: "Provider 2",
  consumer: "My iOS App",
  pactVerificationService: pactVerificationService
)

Also, there is a new implementation of the pactswift project which we are trialling which uses an in process mock service which doesn't have this limitation.  https://github.com/surpher/PactSwift

If you still need to use multiple providers, see this example project on how to set it up
https://github.com/surpher/pact-consumer-swift-multiple-providers

Amazing. Thank you for detailed explanation.
This one instance of the mock service should be for one provider answers all my questions 👍 .


Bundle-Migration is buggy at the moment (Feb 2023)

I tried Bundle-Migration in a very simple .NET 7 project. I got an error:
Build started...
Build succeeded.
Building bundle...
Build failed. Use --verbose to see errors.
I then tried
Bundle-Migration --verbose
but that isn't recognised! I got:
Bundle-Migration : A positional parameter cannot be found that accepts argument '--verbose'.
Bundle-Migration -verbose  did seem to give a bit more information:
Error NETSDK1112: The runtime pack for Microsoft.NETCore.App.Runtime.win-x64 was not downloaded. Try running a NuGet restore with the RuntimeIdentifier 'win-x64'.
Please will you fix the bugs and update this article?
Thanks

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 06b35eff-79e4-2068-6d1c-f9079d43f903
Version Independent ID: 6c575b10-048c-349c-397e-0d9c11d47235
Content: Applying Migrations - EF Core
Content Source: entity-framework/core/managing-schemas/migrations/applying.md
Product: entity-framework
Technology: entity-framework-core
GitHub Login: @bricelam
Microsoft Alias: avickers

Tracked by https://github.com/dotnet/sdk/issues/30466


CTRL-C should exit napari gracefully

🐛 Bug
After #1476 napari just prints KeyboardInterrupt when CTRL-C is pressed in the system terminal window that used to launch napari.  Prior to 1476 it exited with a crash, which got the job done but was not great.
Ideally napari would exit gracefully when you hit CTRL-C in the system terminal window.
To Reproduce
Steps to reproduce the behavior:

From a system terminal (e.g. Terminal program on mac)
Run "napari" or a script that uses napari.gui_qt()
Switch back to the terminal window and type CTRL-C

Expected behavior
Napari exits gracefully.
Environment
napari: not-installed
Platform: macOS-10.15.3-x86_64-i386-64bit
Python: 3.8.1 (default, Jan 8 2020, 16:15:59) [Clang 4.0.1 (tags/RELEASE_401/final)]
Qt: 5.14.2
PyQt5: 5.14.2
NumPy: 1.18.4
SciPy: 1.4.1
Dask: 2.17.2
VisPy: 0.6.5.dev111+g8387ea1a.d20200424

GL version: 2.1 ATI-3.5.5
MAX_TEXTURE_SIZE: 16384

Plugins:
- napari-plugin-engine: 0.1.6
- svg: 0.1.3

Additional context
This is low priority since you can exit with the Quit command, or from the system terminal hit CTRL-Z and kill %1 the app if necessary. However it seems like exiting gracefully is the right behavior long term.
I tried adding this to our new ExceptionHandler class:
        # Interpret CTRL-C as a request to quit.
        if isinstance(value, KeyboardInterrupt):
            QApplication.instance().quit()
            return

but while it exits cleanly sometimes, sometimes it bus errors or seg faults.

xref same discussion at Matplotlib https://github.com/matplotlib/matplotlib/pull/13306 and a (maybe janky) implementation from my DAMA work https://github.com/bluesky/bluesky/blob/cde1d87294a41d48d0a92d6cae0ce9c508e20388/bluesky/utils.py#L1384-L1495


Added my School | Lavelle Prep

Added Lavelle Prep School to the Student List :)

@HypnoticSiege Pull request merged. Thank you!


browser: switch to set minimum version for TLS fallback

Fixes #2849
Depends on https://github.com/atom/brightray/pull/143

Tested on original Chrome 45, both ssl-version-fallback-min and ssl-version-max works, since the default TLS version is higher than the max value, Chrome will fallback a lower TLS version anyway.

:+1:


Switchvalidation

Allows for validating a model on a separate outcome during training. Useful for evaluating linear models on categorical outcomes. Updates stats module to enable evaluation of linear model for binary categorical outcome.

Thank you for the contribution! This is useful functionality that may be applicable to others, as well. As implemented, a number of changes are made in core functions which carry assumptions about the data which may not be true in all scenarios (specifically stats.py:1742-1750, which makes assumptions about the label shapes which may not be generalizable). I have thus moved this functionality into an experimental submodule, slideflow.experimental. Models can be trained using this new functionality through ExperimentalProject:
from slideflow.experimental import ExperimentalProject

P = ExperimentalProject('/path/to/project')
P.train(...)

The experimental module is in the dev branch. Please test it for your applications to ensure it is working as intended, and then submit a new pull request from dev when tested and working.


feat: distinguish intodataframe and intolazyframe (and intoframe)

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

[ ] 💾 Refactor
[ ] ✨ Feature
[ ] 🐛 Bug Fix
[ ] 🔧 Optimization
[ ] 📝 Documentation
[ ] ✅ Test
[ ] 🐳 Other

Related issues

Related issue #
Closes #

Checklist

[ ] Code follows style guide (ruff)
[ ] Tests added
[ ] Documented the changes

If you have comments or can explain your changes, please do so below.

🤔 not totally sure about this...not sure what the use case is for IntoLazyFrame. Realistically, code will be written so it's agnostic to eager vs lazy
Maybe we just need:

IntoDataFrame
IntoFrame


Add an .svg public method to the API

This method does the exact same as .image when used to output an SVG, but it outputs the raw Buffer from Graphviz instead of writing it to a file and returning the file path.
For a project where I use madge to generate many images, bypassing the file system improves performance and simplifies the logic a lot.
Obviously this is just a proposition, the method name could be changed and I could add better tests.

Thanks for the contribution! It's a good suggestion but it would be nice with a more generic solution which is not restricted to generating a SVG. What about adding a .buffer method instead?
const madge = require('madge');

madge('path/to/app.js', {type: 'svg'})
  .then((res) => res.buffer())
  .then((output) => {
    console.log(output.toString());
});


Add Variant.isCompatible template

Needed for those types that can implicitly convert to one of the Variant types, like int/short/byte, float (Variant uses double), and eventually string (for conversion to Godot's String).
In fact, those types can be put in an AliasSeq somewhere with their target Variant type so they don't need to be repeated in 3+ different places.

Variant.compatible(T) added by 8a4cac6b3e80cb2ef41d6db88a71f88376e5f2ce. It uses isIntegral/isFloatingPoint for the special types though; the special cases could still be improved.


raft: Disable RAFT jsonrpc inactivity probe

With the scale test of 640 nodes k8s cluster, raft DB nodes' jsonrpc
session got closed due to the timeout of default 5 seconds probe.
It will cause disturbance of the raft cluster. Since we already have
the heartbeat for RAFT, just disable the probe between the servers
to avoid the unnecessary jsonrpc inactivity probe.
Acked-by: Han Zhou<EMAIL_ADDRESS>Signed-off-by: Zhen Wang<EMAIL_ADDRESS>

This patch was merged some time ago as commit db5a066c17bdeaa7ecac08870331ae583f5ddfcc.


Logicalpath endpoint

Adds two new endpoints under the logicalpath route: delete and rename of data objects and collections.

Making good progress.
Do we need two separate endpoints?
Think about how you'd combine them. We have routes and we can map functions to those routes.

This seems like the sort of thing we're looking into w/r/t making the whole HTTP endpoint scalable. If I were to

Making good progress.
Do we need two separate endpoints?
Think about how you'd combine them. We have routes and we can map functions to those routes.

This seems like the kind of thing we were looking at w/r/t structuring the REST endpoint to grow more gracefully. For now, would it make sense to have nginx inject a header key that indicates which function to use?

This seems like the kind of thing we were looking at w/r/t structuring the REST endpoint to grow more gracefully. For now, would it make sense to have nginx inject a header key that indicates which function to use?

Remember, the URL and the HTTP operation will also influence the handler invoked. Take a look at the routes API provided by pistache. You can map different operations to different functions within a single endpoint.

Note mostly to self: I have bound the routes to static methods that will be gathered up into a single *.api_implementation.h class. Having looked at irods_rest_api_base.h, I believe that there is some state that genuinely should be managed by a class. Namely, I'm scared to mess with the connection pool logic. Thus, since the static method version seems to work, I'm just going to keep riding that.

I see 4-5 unresolved comments... some may be accordian-closed... try one more pass above and resolve them if they're handled now.

Don't forget to review the github workflow results.

Squash it without the pound sign.

excited about the one glorious commit message!

Consider changing the commit message to something like ...
[?] Added new logicalpath endpoint for data objects and collections.

Supports the following operations:
- unlink
- unregister (data objects only)
- rename

You can add as much information to the body of the commit message as you want.
Do we not have an issue number for this?

I don't believe so. Should I open an issue?

yes please - 'add support for delete and rename'

Please fix indentation for the second list in your commit message.
Add an empty line between the first line and the body of your commit message. This has special meaning to git and github.

Please fix indentation for the second list in your commit message.
Add an empty line between the first line and the body of your commit message. This has special meaning to git and github.

Is there not already such a line? It looks like Git and Github have picked up on the separation.


algolia search does not select anchors

The built-in algolia search does not index anchors. For example if you search for "lists:reverse" you will end up at the top of the "lists" man page, not at the reverse function.
I've contacted algolia support to figure out why this might be.

I've updated the Algolia settings to use the new v3 crawler, so results should be better now.


Request clarity on the description of parameter DNSHostName

It is not clear as to what value this parameter must be set to, and the community opinion seem to be split into two camps:-
• host that uses the managed service account
• a domain controller in the forest where the gMSA is defigned (Ref: https://social.technet.microsoft.com/Forums/azure/en-US/9a66d1d5-44e9-4ea1-ba9c-88862023c4e1/why-does-a-gmsa-need-a-dns-host-name-e-g-newadserviceaccount-dnshostname?forum=winserver8gen)
I would request this documentation is updated to define the clear function of this parameter.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: ebd731d8-61d8-f6b3-0e8a-3decfe25a184
Version Independent ID: 3338b8fe-1364-ecd7-eb5c-5ab25d054df7
Content: New-ADServiceAccount (activedirectory)
Content Source: docset/winserver2012-ps/activedirectory/New-ADServiceAccount.md
Product: w10
GitHub Login: @brianlic-msft
Microsoft Alias: brianlic

It looks like there are a few of us trying to find out what this mandatory parameter should be set to.  Please update this documentation.

Any visibility when the -DNSHostName parameter is defined with a better description? From my understanding DnsHostName is the fully qualified domain name of your Service Account Name object (Name parameter + FQDN).

@e0i The PR #985 solved the issue, I have described in detail the parameter -DNSHostName to clarify the use of it with the command.

@SQLHorizons
With the help of your feedback, the issue has been reviewed and an update to the documentation has been published. Thanks for your feedback.

@officedocsbot close


Mobile branch - cannot modify document within "changes" event

Updating document within "changes" handler screws up the content.
That's when using the latest mobile branch. On master there are no problems. To reproduce, try this:

  <link rel=stylesheet href="https://rawgit.com/codemirror/CodeMirror/bdde0a7d3e9ab9ab450e48ba664014dd03efbf22/lib/codemirror.css">

The URLs above point to mobile branch at the commit "Don't immediately focus on click in IE", a tip of mobile banch as of today.
Can point them to your local repo.

Looks like the crucial piece involved in this bug is at line 1290, in TextareaInput.reset function:
  } else if (!typing) {
    this.prevInput = this.textarea.value = "";
    if (ie && ie_version >= 9) this.hasSelection = null;
  }

Not sure what !typing check is for here. But changing textarea.value from its current content to the empty string is picked up by the copyObj.poll (see line 1344) as a sign of deletion.

Thanks for isolating that. It was a confusion between about when the input was being reset -- TextareaInput.poll was messing with prevInput after the operation ended, creating an inconsistent state. Attached patch should help.


Failure on develop

Description
Looking at the current log I'm seeing an out of resources error.
Actual: it throws std::system_error with description "results_cl.assignment: clEnqueueNDRangeKernel CL_OUT_OF_RESOURCES: Unknown error -5".

https://jenkins.mc-stan.org/blue/organizations/jenkins/Math Pipeline/detail/develop/1184/pipeline#step-198-log-1938
That seems like an odd error to happen during clEnqueueNDRangeKernel and from the docs it seems like there are 3 places it can happen

global_work_size

Points to an array of work_dim unsigned values that describe the number of global work-items in work_dim dimensions that will execute the kernel function. The total number of global work-items is computed as global_work_size[0] ... global_work_size[work_dim - 1].

The values specified in global_work_size + corresponding values specified in global_work_offset cannot exceed the range given by the sizeof(size_t) for the device on which the kernel execution will be enqueued. The sizeof(size_t) for a device can be determined using CL_DEVICE_ADDRESS_BITS in the table of OpenCL Device Queries for clGetDeviceInfo. If, for example, CL_DEVICE_ADDRESS_BITS = 32, i.e. the device uses a 32-bit address space, size_t is a 32-bit unsigned integer and global_work_size values must be in the range 1 .. 2^32 - 1. Values outside this range return a CL_OUT_OF_RESOURCES error.

Errors

CL_OUT_OF_RESOURCES if there is a failure to queue the execution instance of kernel on the command-queue because of insufficient resources needed to execute the kernel. For example, the explicitly specified local_work_size causes a failure to execute the kernel because of insufficient resources such as registers or local memory. Another example would be the number of read-only image args used in kernel exceed the CL_DEVICE_MAX_READ_IMAGE_ARGS value for device or the number of write-only image args used in kernel exceed the CL_DEVICE_MAX_WRITE_IMAGE_ARGS value for device or the number of samplers used in kernel exceed CL_DEVICE_MAX_SAMPLERS for device.

CL_OUT_OF_RESOURCES if there is a failure to allocate resources required by the OpenCL implementation on the device.

I tried running this locally but couldn't replicate the error?
Current Version:
v4.1.0

@t4c1 any ideas?
To me it seems like a too big work-group that the CPU cant handle? It seems that the CPU OpenCL tests did not run on the PR (https://jenkins.mc-stan.org/blue/organizations/jenkins/Math Pipeline/detail/PR-2512/8/pipeline). Not really sure why not.
@SteveBronder There is now an additional issue that popped up on the threading tests after the unary varmat PR got merged:https://jenkins.mc-stan.org/blue/organizations/jenkins/Math Pipeline/detail/develop/1187/pipeline/155
In file included from test/unit/math/rev/fun/eigenvalues_sym_test.cpp:1:

In file included from ./stan/math/prim.hpp:12:

In file included from ./stan/math/prim/err.hpp:4:

In file included from ./stan/math/prim/err/check_2F1_converges.hpp:6:

In file included from ./stan/math/prim/fun/fabs.hpp:6:

./stan/math/prim/functor/apply_scalar_unary.hpp:67:33: error: implicit instantiation of undefined template 'stan::math::apply_scalar_unary<stan::math::log_fun, stan::math::var_value<double, void>, void>'

        [](scalar_t x) { return apply_scalar_unary<F, scalar_t>::apply(x); });

                                ^

./stan/math/prim/functor/apply_scalar_unary.hpp:75:33: note: in instantiation of member function 'stan::math::apply_scalar_unary<stan::math::log_fun, Eigen::Matrix<stan::math::var_value<double, void>, -1, -1, 0, -1, -1>, void>::apply' requested here

      apply_scalar_unary<F, T>::apply(std::declval<T>()))>;

                                ^

./stan/math/prim/fun/log.hpp:51:10: note: in instantiation of template class 'stan::math::apply_scalar_unary<stan::math::log_fun, Eigen::Matrix<stan::math::var_value<double, void>, -1, -1, 0, -1, -1>, void>' requested here

  return apply_scalar_unary<log_fun, Container>::apply(x);

         ^

test/unit/math/rev/fun/eigenvalues_sym_test.cpp:21:45: note: in instantiation of function template specialization 'stan::math::log<Eigen::Matrix<stan::math::var_value<double, void>, -1, -1, 0, -1, -1>, nullptr, nullptr, nullptr>' requested here

  auto logdet = stan::math::sum(stan::math::log(w));

                                            ^

./stan/math/prim/functor/apply_scalar_unary.hpp:40:8: note: template is declared here

struct apply_scalar_unary;

Yeah I bet #2512 is the PR that caused it, as I was messing with local sizes in it. I thought it should not change anything for any existing kernels, but mistakes happen. I will look into this error later today.
Anyway we really need to fix that CPU tests randomly not running. They have already let 2 errors slip into develop.

Yeah, I agree. @serban-nicusor-toptal does https://github.com/stan-dev/math/blob/develop/Jenkinsfile#L171 only check the last commit compared to the previous one? If that is the case that might be why. It should be checking PR-branch vs develop.

Hey, I think we're good as it checks changes against target branch, in our case it'll be develop.
You can check that here: https://github.com/stan-dev/jenkins-shared-libraries/blob/master/src/org/stan/Utils.groovy#L64
Please let me know if there's anything I should change!

@t4c1 should we revert the PR that caused the OpenCL error till you sort out #2541?

Opening this back up (or I can make a new one). Seeing a new error with the OpenCL CPU tests
[----------] 4 tests from OpenCLPrim (822 ms total)
[----------] Global test environment tear-down
[==========] 4 tests from 1 test suite ran. (822 ms total)
[  PASSED  ] 4 tests.
Segmentation fault (core dumped)
test/unit/math/opencl/rev/add_test --gtest_output="xml:test/unit/math/opencl/rev/add_test.xml" failed

I'm getting this locally as well.
https://jenkins.mc-stan.org/blue/organizations/jenkins/Math Pipeline/detail/develop/1194/pipeline#step-191-log-2728

Aaand CPU tests failed to run again. Should we make them always run, at least until someone figures out how to make the current arrangement reliable?
Anyway this new error seems unrelated to the previous one. Hard to say anything definitive, as I can not reproduce it locally.

^ I'd rather have them always run for now until we can figure out why they are not sometimes. @t4c1 I can reproduce the above on my desktop but only have access to my laptop atm which I need to figure out how to setup opencl on. I think we should do the revert revert scheme until we can get that debugged and working.


added e.stopPropagation() to accordion click event

This addresses https://github.com/zurb/foundation-sites/issues/8151

Thanks! :)


Add git developer documentation

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
I have a very slow time getting started with kivy developement.
Such as why ..
Why is a makefile need ?
Why is the makefile calling python command dirrectly and not another python file?
Why I am I getting and error for inplace build when doing pip install -e .?
Where do i change my config option?
What option are there?
Describe the solution you'd like
A clear and concise description of what you want to happen.
I would like to see instruction added to the gettingstarted/installation.html for installation by git and add a row to the table something like ..

Platform ALL Installation git  Packaging -

I think a developer documentation would be handy and could answer question like I wrote above ; I also like using the  git command.

git clone https://github.com/kivy/kivy.git --depth 1

because i running from my pi.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Just do what i am doing now trying to  work thought the problem and find answer by reading the code.
Additional context

I was thinking about trying to fix this my self but I don't have much for time and people working together usually having better ideas.
I been reading a lot of issues and trying to work though this problem and wanted to know people thoughts
You might want to add documentation improvement temple  to you list

This is asking for a general purpose primer of how to develop with Github, Make, Pip, etc.
These guides are available on the web. They are not specific to Kivy alone.
[If you are having trouble with these concepts, Kivy might not be the best playground to learn them.]
Closing as out of scope.


[Wrong Usage] The Route Function /pages/all.page.route.ts should return a boolean or a plain JavaScript object, instead it returns function Promise() { [native code] }.

Description
I am setting:
export const iKnowThePerformanceRisksOfAsyncRouteFunctions = true

I'm then exporting:
export default async (pageContext: PageContextBuiltIn) => {

The problem seems to be in vite-plugin-ssr\dist\cjs\shared\route\resolveRouteFunction.js:10:
await result;

It appears it should be:
result = await result;

Error Stack
No response

Indeed it's a regression I mistakenly introduced in https://github.com/brillout/vite-plugin-ssr/commit/244d331842849586844cda36a751c86bf5ad2318#diff-5a0d6ac47b721604e70256b4000932c8909190641bba409adbca708d58aa7108L32-L36.
Let me fix this.

Fix released in 0.4.24.


No matching host key format

In SFTP case.
Whenever a server uses SSH-DSS algorithm to connect, you get this error : "No matching host key format"
I added in .atom/packages/Remote-FTP/lib/connectors/sftp.js : self.info.algorithms = { "serverHostKey": ['ssh-dss'] }; after self.info = info; at line 27 in ConnectorSFTP.prototype.connect method.
Maybe, you should make it possible to add algorithms in the config file.
I hope it can help.
[EDIT] It works perfectly for me with that little hack…

I believe the only host hashes available are md5 and sha1. See the ssh package. here

Thank you for your answer jimmaaay. The line i wrote works perfectly for me. Look for "algorithms" here

Sorry I see what you mean now. Currently in the dev branch I've enabled every algorithm possible with "cipherFix": true in the config. This should sort your issue out. I'm wondering if this is the best solution as not everyone will know the algorithims for the server their using.

Fixed in 648e85628ec21b6d3c854cbce4fd72b585c2f725


Avoid duplicate codes for courses and sites

Context
I noticed that bundle exec rail generate_test_data was failing occasionally (maybe 50% of the time) so had a closer look.
By default Faker will generate random values for Faker::Alphanumeric leading to a fairly high probability of duplicates when the number of potential values is low and the number of instances generated is reasonably high.
Changes proposed in this pull request
Faker does have aunique method but this only seems to work off an in memory set of previously generated values that gets cleared during this rake task so I've put in a simple retry loop to make the likelihood of clashes much lower. By resetting Faker::Config.random you can reproduce the issue consistently in a test.
Guidance to review
Is there a better more reliable way to guarantee unique Faker-generated values?
Link to Trello card
Do we generally log a card for quick fixes like this one?

@alexdesi are you happy to approve this?


New columns added in UserSocialAuth for dependency social-auth-app-django 3.2.0

The issue is based off of the original repo, but the owner seemed to have stopped maintaining it. Adding issue here instead.
Basically I was using django-rest-framework-social-oauth2 for Google OAuth2, and starting about early June I started getting this error:
ProgrammingError
column social_auth_usersocialauth.created does not exist
LINE 1: ..."uid", "social_auth_usersocialauth"."extra_data", "social_au...
                                                             ^

Some investigation led me to realize that the dependency social_auth_usersocialauth v3.2.0 added two new columns to the UserSocialAuth model, namely created and modified. However, the requirements for this allows >=3.1.0, which hid the breaking change. Partly was my fault for not realizing my app updated to a newer version of social_auth_usersocialauth, but would be nice if future releases can pin specific versions of dependencies.

Hey @michaellin86. Thanks for investigating that out. Tagging specific versions of dependencies may be achieved via tagging. This project has just started to be maintained by me. So, you could actually just run python manage.py migrate on your project and you should have gotten this issue resolved.
Btw, what did you do to get this error? Did Google OAuth2 use a higher version of social_auth_usersocialauth?
I will update the dependencies to the newest. Thanks.

Hey @michaellin86. Thanks for investigating that out. Tagging specific versions of dependencies may be achieved via tagging. This project has just started to be maintained by me. So, you could actually just run python manage.py migrate on your project and you should have gotten this issue resolved.
Btw, what did you do to get this error? Did Google OAuth2 use a higher version of social_auth_usersocialauth?
I will update the dependencies to the newest. Thanks.

Sorry for the late reply. I think what happened was when I rebuilt my production Docker image, it installed django-rest-framework-social-oauth2 and then looked for the latest available version of social_auth_usersocialauth >= v3.1.0, which would have probably been v3.2.0 or v4.0.0. But in my local development environment, I already had social_auth_usersocialauth v3.1.0 installed so that was the version used, and nothing happened when I did a migration against the production database. I probably should've done a better job keeping my prod and local environment consistent. But thanks for looking into this!

My pleasure. Thanks for using the framework. :)


Question: binary path in config

Hi, first post (this is how much I want it back)
Short version:
Can anyone please give me a pointer about where exactly is ./node_modules/single-file/cli/single-file ?
I need to specify them in my conf file.
Thank you
Long version:
Pi 4, docker installaion, ran fine for the past weeks, just broke on me out of the blue.
Snapshot quickly stopped at 6MB (that particular page from my experience should be way less than 6MB).
Error log says unable to install chromium thru playwright.
I decided to skip docker and install on host (not gonna T-shoot that).
Did init, updated node.js, setup. Output of archivebox version below looks fine.
But when trying to snapshot again, I got chromium Errno 2, singlefile Errno 2, and readability Errno 2 , and mercury Errno 2.
           ...
            Extractor failed:
            FileNotFoundError [Errno 2] No such file or directory: 'single-file': 'single-file'
            Extractor failed:
            FileNotFoundError [Errno 2] No such file or directory: 'readability-extractor': 'readability-extractor'
           ...

So I looked up the chromium binary location from archivebox version output and added below in ArchiveBox.conf
CHROME_BINARY = /usr/bin/chromium-browser
That fixed the chromium Errno 2. That was easy.
So I go ahead and did the same to singlefile, readability, and mercury in ArchiveBox.conf
SINGLEFILE_BINARY = ./node_modules/single-file/cli/single-file
READABILITY_BINARY =  ./node_modules/readability-extractor/readability-extractor
MERCURY_BINARY =<EMAIL_ADDRESS>
Error stays. Pointer please~!

Short version, how can I reinstall those three programs? I mean uninstall, and reinstall?
Long version,
a quick find returns those directories are only installed deep beneath under /var/lib/docker/overlay/...
sudo find / -type d -name 'single-file' -print
/var/lib/docker/overlay2/2890280801cbc09c113a55412143e8cfa33ca15482844ed75edbf8a3eceaad49/diff/node/node_modules/single-file
/var/lib/docker/overlay2/2890280801cbc09c113a55412143e8cfa33ca15482844ed75edbf8a3eceaad49/diff/node/node_modules/single-file/lib/single-file
/var/lib/docker/overlay2/2890280801cbc09c113a55412143e8cfa33ca15482844ed75edbf8a3eceaad49/diff/node/node_modules/single-file/extension/lib/single-file
/var/lib/docker/overlay2/1337d919d623720d99fd9abbbc5a4ddcd5514395a3a1e305701eab29d4954b77/diff/app/node_modules/single-file
/var/lib/docker/overlay2/1337d919d623720d99fd9abbbc5a4ddcd5514395a3a1e305701eab29d4954b77/diff/app/node_modules/single-file/lib/single-file
/var/lib/docker/overlay2/1337d919d623720d99fd9abbbc5a4ddcd5514395a3a1e305701eab29d4954b77/diff/app/node_modules/single-file/extension/lib/single-file
However, I did the current installation under user pi with apt install archivebox.
To reinstall, I ran :
npm install --no-audit --no-fund 'git+https://github.com/gildas-lormeau/SingleFile.git'
Returns:
...
npm ERR! Tracker "idealTree" already exists
npm ERR! A complete log of this run can be found in:
npm ERR!     /home/pi/.npm/_logs/2022-08-05T00_20_56_807Z-debug-0.log
...
Above mentioned log:
verbose stack Error: Tracker "idealTree" already exists
43 verbose stack     at Arborist.[_onError] (/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/tracker.js:100:11)
43 verbose stack     at Arborist.addTracker (/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/tracker.js:27:21)
43 verbose stack     at Arborist.[buildDeps] (/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:823:10)
43 verbose stack     at Arborist.buildIdealTree (/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:218:29)
43 verbose stack     at async Promise.all (index 1)
43 verbose stack     at async Arborist.reify (/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js:153:5)
43 verbose stack     at async Install.exec (/usr/lib/node_modules/npm/lib/commands/install.js:156:5)
43 verbose stack     at async module.exports (/usr/lib/node_modules/npm/lib/cli.js:78:5)

if you're running in docker you shouldnt need to mess with or install those 3 manually, but outside of docker to fix it you should just need to run archivebox init --setup and it will do the npm install for you.

thank you, your command did it.

By the way, deleting some of the snapshots gives me server error 500. Have you encounter these before?

Please screenshot your extension configuration. I suspect you did not enter the archivebox host correctly / at all as it's empty according to the outputed error above.

Here's the shot


Can modals open external pages?

I thought I'd create another issue I'm experiencing, as it's not really related to the other one I've created.
Is it possible to have a modal open an external URL as opposed to some hidden mark-up on the same page? For example:
$('a.btn').click(function() {
    $('/some-other-page.html').modal({
        backdrop: 'static',
        keyboard: true
    });
});

Here's a quickie ghetto sketch without any options. Could be interesting to configure via data attributes:
Modal

@bangelakos To be honest, I haven't really looked into this further. I ended up just putting the modal mark-up inline, as you can see on http://www.ukwrestlingevents.com.


Add master nodes

Is this a request for help?:
yes
Is this an ISSUE or FEATURE REQUEST? (choose one):
maybe FEATURE REQUEST
What version of acs-engine?:
all

Orchestrator and version (e.g. Kubernetes, DC/OS, Swarm)
all
What happened:
I wanted to ask if there is a way to add master nodes to an existing kubernetes cluster. We have a customer environment we cannot breakt down and redeploy that easily at the moment. Does anyone know a way to add worker nodes. If there is no actual way with acsengine at the moment i would request that feature for a future release.
What you expected to happen:
More worker nodes for HA cluster
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know:

hi @starkilla2003
have you tried the scale command ?

@mwieczorek As far as I see the scale command only works for agents and not for masters. Or am I missing something?

@starkilla2003 yes. By 'worker nodes' I understand 'agents'. So sorry for misunderstanding

@starkilla2003 scale only works for agent nodes. As of today, the only way to add master nodes is to deploy a new cluster.

@CecileRobertMichon Will this feature be implemented in the future? We are trying a manual scale up right now. But along the way there are alot of things that can go wrong. Certificates and etcd are the main issue there.

@starkilla2003 there is no current plan to implement it in the near future.  I think the main issue with a manual scale up is that etcd communications are encrypted with TLS so new master nodes would need certs signed by the same ca as the existing ones and would need to be added to the etcd cluster (etcdctl member add).

@CecileRobertMichon thank you for making it clearer to me.


Rainbow Six Siege Profile?

I've already seen the amazing work you guys have done on the Overwatch profilem, but could we possibly see a profile for another great game (Rainbow Six Siege). It doesn't seem to be that very popular or I could just be seeing things wrong but I do see the potential of making a profile for this game. It doesn't even have to be that advanced it could be something just as small as creating different lighting for different squads in the game i.e (GSG9 squad yellow, Spetsnaz red, GIGN purple, etc.) I would really appreciate it if we could see a possible update in the future featuring this. If its too much effort, could I get some help to make it myself?

What a peculiar way to contact me. Out of all options: Steam, Issue, email, a pull request. Interesting.
Anyways, I have the game, I'm enjoying it. But I am yet to find a way to get information out of the game. There's no logging file, no lighting integrations, nothing. And I don't want to read the screen for information because it is a slow and resource intensive process. So... I don't know if it is possible to get any dynamic lighting for R6S.

@antonpup is that still the case?


[DOC] Addition of All Contributors Photos in Readme | Readme Updation

Description
We can add all the contributor's photos in Readme file as a token of appreciation for their work.
Please assign this to me.
Affected Pages:

[X] README.md
[ ] Installation Guide
[ ] Configuration Guide
[ ] Other (please specify)

Type of Documentation Change

[X] Update existing documentation
[ ] Add new documentation
[ ] Remove outdated or redundant documentation
[ ] Other (please specify)

Additional Context
Like this

@Sibam-Paul please assign this to me.

@Shariq2003 first complete #15 then I will assign u

@Shariq2003 first complete #15 then I will assign u

@Sibam-Paul sir, I am just looking for a good design for #15, meanwhile u can assign this issue to me and I will complete this within 1hrs after that I can work on #15

@Shariq2003 Bro start working on the design

@Shariq2003 Bro start working on the design

okay bro


Segmentation fault during migration/foreign key creation - SQL Server 2014

Laravel Version: 5.5.44 and 5.7.21
PHP Version: 7.1.5
Database Driver & Version: SQL Server 2014

Description:
I was migrating some roles and permissions tables to an existing project and received the following error during migration:Segmentation fault (core dumped)
I was having a hard time tracking down the issue so I commented out pieces of the migration to find the problem. It ended up happening only when running the foreign key creation statements like this one:
$table->foreign('permission_id')
          ->references('id')
          ->on($tableNames['permissions'])
          ->onDelete('cascade');

To verify it wasn't my application (in Laravel 5.5.44), I created a new application using 5.7.21 and pointed it at a MySQL database. The migrations ran properly. I pointed the same application at a brand new SQL Server 2014 database and was able to run the auth migrations, but not the migrations with a foreign key creation statement.
Steps To Reproduce:

Create a new application (Laravel 5.5 or 5.7, both gave me the same results)
Create a new SQL Server database (give your user full permissions to rule that out)
php artisan make: auth
php artisan migrate
composer require spatie/laravel-permission
php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" --tag="migrations"
php artisan migrate
You should receive the Segmentation fault (core dumped) error.

I don't believe it's the laravel-permission package as their syntax is exactly the same as the documentation listed here: https://laravel.com/docs/5.7/migrations#foreign-key-constraints
Let me know if there's any further info I can provide.

I am also having this issue but not all the time.
This does not work.
$table->foreign('reason_id')->references('id')->on('reasons');
$table->foreign('user_id_recieved')->references('id')->on('users');
$table->foreign('user_id_returned')->references('id')->on('users');
$table->foreign('ipad_hardware_id')->references('ipad_hardware_id')->on('ipad_hardware');

This does work.
$table->foreign('reason_id')->references('id')->on('reasons');
$table->foreign('user_id_recieved')->references('id')->on('users');
$table->foreign('user_id_returned')->references('id')->on('users');
// $table->foreign('ipad_hardware_id')->references('ipad_hardware_id')->on('ipad_hardware');

Confused.

I'm going to say my issues are not related to this issue. Still not pleasant to work with SQL Server (not my choice in the first place).

I can confirm that my original issue is no longer present when using the Microsoft pdo_sqlsrv driver.

Okay, closing this off then.


Which is the right version of this repo?

@garcimouche, please see https://github.com/karma-runner/karma-dojo/issues/8

@garcimouche, any news?

AFAIK karma-dojo (both repos) has been dead for years now.

Nevertheless, it seems logical that karma-dojo will be maintained by karma-runner organization.
As part of my work I have to use karma-dojo. I plan to make PR to fix work of karma-mocha --grep argument when test cases are run by karma-dojo.
Sorry for my English.


grafana: Enable auto-sign-up.

This avoids the need to explicitly create new users in Grafana, by
simply trusting Teleport.
Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

This looks correct to me, merged, thanks @alexmv!


Add protein-translation

On second thought, let me switch to using arrays.

@BNAndras You're still working on this?

Yeah, I’ll take care of it tomorrow.


specs don't pass with current version of httparty

Also, rake should be included in the Gemfile.
tmdb_party/spec/../lib/tmdb_party/extras/attributes.rb:18:in `attributes': undefined method `blank?' for :id:Symbol (NoMethodError)

Appears that the newest versions of crack, an httparty dep, remove the core extensions related to .blank?

Hopefully https://github.com/jduff/tmdb_party/pull/10 will resolve the problem :)


Support for PVC annotations

:sparkles: Summary of this change
Add support for annotating individual persistent volume claims.
:technologist: Details
For my home server, I use the local-path-provisioner from rancher to automatically provision new volumes.
Furthermore, I use velero and restic to backup my Kubernetes cluster.
The problem, volumes created by local-path-provisioner are per default of type hostPath which is not supported by restic.
Luckily, you will be able to control the persistence volume type by annotating the pvc accordingly.
This PR introduces the possibility to annoate individual pvcs via the pvcAnnotations property:
    volumes:
      - name: data
        path: /var/lib/1clickinfra/data
        size: 10Gi
        storageClass: default
        pvcAnnotations:
          rancher.io/local-path/volume-type: local

This template gets translated into:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: release-name-testing
  namespace: default
  annotations:
    rancher.io/local-path/volume-type: local
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: test
  resources:
    requests:
      storage: 1Gi

This is brilliant! Thank you for the PR.
Can I ask two changes before merging the PR?

can you remove the charts/onechart/charts/common-0.1.0.tgz file?
can you remove the onechart-0.40.0.tgz file?

These will get into the repo with the release automation.

Thanks for the amazon response!
Yeah, wasn't careful enough and forgot to remove them from my commit.
They're gone now :)

https://github.com/gimlet-io/onechart/releases/tag/v0.40.0


Image intervention in voyager

Laravel Version: #.#.#
Voyager Version: #.#.#
PHP Version:
Database Driver & Version:

Description:
How can I apply image intervention and add water mark and resize the image in voyager
And my second question is to how I resize every individual image according to my desire size if I have three image column I'n same table or in one table
Steps To Reproduce:

Please read the docs.  Go to the "Image" section under here: https://the-control-group.github.io/voyager/docs/0.11/#core-concepts-bread-additional-field-options


chore: remove funding and sponsor badges

As I am not actively maintaining this project anymore.

@ngoduykhanh If that is the case, would you consider transferring ownership of this project to me for ongoing maintenance?

@AzorianSolutions Actually we have 2 active maintainers now. I don't think I will transfer the ownership to an individual, perhaps it should be an Organization.

@ngoduykhanh I am backed by two organizations here, my own and an employer's. I need to ensure that what ever GUi solution I use for managing our production DNS systems, provides a specific desired outcome. That is my value proposition.
Never the less, perhaps I misunderstood your intent? I read the message as though the project would be abandoned by your account.


Deprecate TrainerModelHooksMixin

What does this PR do?

This PR deprecates TrainerModelHooksMixin in favor of existing signature utilities. This is similar in spirit to #7292, #7180 and #6834 to simplify the Trainer and favor utility functions over inheritance/mixins for reusing code.
Before submitting

[ ] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[ ] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure your PR does only one thing, instead of bundling different changes together?
[ ] Did you make sure to update the documentation with your changes? (if necessary)
[ ] Did you write any new necessary tests? (not for typos and docs)
[ ] Did you verify new and existing tests pass locally with your changes?
[ ] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review
Anyone in the community is free to review the PR once the tests have passed.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[ ] Is this pull request ready for review? (if not, please submit in draft mode)
[ ] Check that all items from Before submitting are resolved
[ ] Make sure the title is self-explanatory and the description concisely explains the PR
[ ] Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?
Make sure you had fun coding 🙃

Hello @ananthsub! Thanks for opening this PR.

In the file pytorch_lightning/trainer/model_hooks.py:

Line 47:121: E501 line too long (128 > 120 characters)

Do see the Hitchhiker's guide to code style


dot conflicts with graphviz dot program

dot is a very widely used command already for the graphviz program

I also came here to say the exact same thing. I love that there are new programs and new creativity, please let's be creative and invent a new name, so there is no naming conflict. unfortunately, I have no suggestions, what about "dotfiles" ?

There's already a dotfile manager named dotfiles.
Maybe something like dotman (for dotfile manager) could work?

Agreed.  https://en.wikipedia.org/wiki/Graphviz is installed on all my machines.  The binary is generally /usr/bin/dot.
Could anything destructive happen, theoretically, if somebody tried to invoke your dot with command line options intended for the graphviz dot?
For your convenience:
Usage: dot [-Vv?] [-(GNE)name=val] [-(KTlso)<val>] <dot files>
(additional options for neato)    [-x] [-n<v>]
(additional options for fdp)      [-L(gO)] [-L(nUCT)<val>]
(additional options for memtest)  [-m<v>]
(additional options for config)  [-cv]

 -V          - Print version and exit
 -v          - Enable verbose mode
 -Gname=val  - Set graph attribute 'name' to 'val'
 -Nname=val  - Set node attribute 'name' to 'val'
 -Ename=val  - Set edge attribute 'name' to 'val'
 -Tv         - Set output format to 'v'
 -Kv         - Set layout engine to 'v' (overrides default based on command name)
 -lv         - Use external library 'v'
 -ofile      - Write output to 'file'
 -O          - Automatically generate an output filename based on the input filename with a .'format' appended. (Causes all -ofile options to be ignored.)
 -P          - Internally generate a graph of the current plugins.
 -q[l]       - Set level of message suppression (=1)
 -s[v]       - Scale input by 'v' (=72)
 -y          - Invert y coordinate in output

 -n[v]       - No layout mode 'v' (=1)
 -x          - Reduce graph

 -Lg         - Don't use grid
 -LO         - Use old attractive force
 -Ln<i>      - Set number of iterations to i
 -LU<i>      - Set unscaled factor to i
 -LC<v>      - Set overlap expansion factor to v
 -LT[*]<v>   - Set temperature (temperature factor) to v

 -m          - Memory test (Observe no growth with top. Kill when done.)
 -m[v]       - Memory test - v iterations.

 -c          - Configure plugins (Writes $prefix/lib/graphviz/config
               with available plugin information.  Needs write privilege.)
 -?          - Print usage and exit

...where "dot files" are plain text documents which contain ALGOL-like syntax (and sometimes an embedded SGML-like syntax).

Thanks for report the problem.
This project was originally started for my personal configuration management and its naming did not considered Graphviz.  I agree that the project name needs to be changed, so that users who uses the environment with Graphviz's dot allows to use this tool.
I currently don't have any idea for a new project name, but I'd like to change it as soon as it is decided (the renaming will do at the same time as the CI migration).
Note: since dotman already exists on crates.io, we need to choose a different name for package publishing in the future.

dotrs or dotters?  (rs for Rust.)

I don't think including the language (Rust) in the name is a good idea, since the choice of language does not really matter or differentiate this project from others.

How about dotmatrix?

Looks like dotmgr and dotfm are available on crates.io.

How about tod?

Or it could be dian which means dot in chinese.

In relation to https://github.com/void-linux/void-packages/pull/20679#issuecomment-609459405: Is there a timescale planned for the rename? It would be nice to not have to rename the package after adding later on, so it would be helpful to get get some more info.

One of the things I like about this project, is that it's based around symbolic links (instead of actually copying files).
This I propose the name linkman: A manager for links


Added Velocity Acceleration Calculator

Fixes Issue🛠

Closes #722
Description👨💻

Type of change📄

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)

How this has been tested✅

Checklist✅

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have added demonstration in the form of GIF/video file
[ ] I am an Open Source Contributor

Screenshots/GIF📷

Please Give Level 2 To This Project. It was very tough for me to make it responsive with only CSS and manage this work along with College's End Sem Exam.

For This Issue : https://github.com/Rakesh9100/CalcDiverse/issues/722

Congrats on getting your PR merged to the repo under GSSOC 2k24 🥳 @PriyanshuValiya


Add a --normalize option to IDM config exports

When exporting IDM configs, add an optional switch to normalize the data so exports from 2 different envs can be compared better using visual diff/merge tools. For example, sort the objects array in managed schema output. Maybe all object properties should be sorted so even simple text diff tools can do a good job of diff'ing the configs.

@atomicsamurai we already sort what can be safely sorted, that was a change we made based on a request by a partner who is using frodo for CI/CD. Sorting arrays is typically dangerous, as the order is part of the value and implies meaning. In your example given, admin experience would be impacted as the platform admin ui displays objects based on the order of the objects array.

Here's the commit referenced in my earlier comment: https://github.com/rockcarver/frodo-lib/pull/300/commits/88e1bb927be8afcf41480ef5d837193019392c18


How do I add a generator?

The directory structure is not obvious, so we need some documentation in the README about how to add a new generator so that it will be picked up by aio-cli-plugin-app init without any need to re-pub aio-cli-plugin-app.

Thanks for the comment
@purplecabbage see the PR in aio-cli-plugin-app: https://github.com/adobe/aio-cli-plugin-app/pull/113
There is no need to republish the aio-cli-plugin-app, the only generator that init needs to know about is app which is loaded by default by yeoman when doing register/require (see https://github.com/adobe/aio-cli-plugin-app/pull/113/files#diff-f3f6f06974db8060723f7350db40817dR36)
The app generator (https://github.com/adobe/generator-aio-app/blob/master/generators/app/index.js) then calls the add-action and add-web-assets generators internally. Those two generators call actual code generators for actions and web-assets. This means that actual code generators for ui and actions do not need to be known by aio-cli-plugin-app, but instead generator-aio-app will prompt the user for which action/ui to generate.
New action/ui generator can be added to generator-aio-app in the generators/add-action/xyz/ or generators/add-web-assets/xyz/ folder.
I will add some doc to it.

Also in this PR I am adding your exc-shell generator as a new UI generator
https://github.com/adobe/generator-aio-app/pull/4

fixed in #5


The different way to handle UUID into __id and UUID into document

There are two different approachs how the mongo-connector handles UUID.
The first approach looks like into elastic2_doc_manager, doc-manager sets UUID into Elasticsearch as is, using default  str method (with '-' delimiters)
The second approach looks like as into formatter, mongo-connector get hex value (without delimiters).
So we have different behaviors if we work with __id or UUID into doc.
It is unexpected behavior.

#737


Build nightly-build on avocano-cart: FAILURE

Cloud Build encountered an error:

Project: avocano-cart
Trigger: nightly-build
Commit: 9c5d593 on branch main

View Logs
I'm an automation.  Googlers: go/avocano-admin-notifiers

Timeout, would you believe. #173


[interop][SwiftToCxx] annotate inline thunks with SWIFT_INLINE_THUNK

This macro applies always_inline in addition to inline. It also applies artificial, which lets debugger know that this is an artificial function. The used attribute is added in debug builds to ensure that the symbol is emitted in the binary so that LLDB can invoke it.

@swift-ci please test

@swift-ci please test source compatibility


Payment applied sync model not actually nullable

The PaymentAppliedSyncModel allows for a nullable type. Documentation indicates this is a required field.
https://github.com/Lockstep-Network/lockstep-sdk-csharp/blob/05fd93597414bf2cc9afc754a24e98805ba12ff9/src/models/PaymentAppliedSyncModel.cs#L83

I have gone back and forth on this for a while! I'm not sure it makes sense to flag all required fields as non-nullable in C#.  I've done some testing using example programs and I haven't settled on a perfect solution.  When I tried making everything non-nullable, a lot of data structures were very hard to use because the constructors insisted on those fields being set.
Open to your ideas though!

That makes sense to me. As a user of the package I would find it more frustrating to be required to populate fields not currently in use. I would find it more informational if I simply received an error message back from the api.

Per discussion, we'd like to keep this conversation going.  Right now we favor nullability, but we may make some decisions to adjust that preference in the future.

I think you may need to settle on definition of "Required". If a field is required, it should always contain a value. Otherwise, it can be nullable.


Filip/soc2 gn 80

Documentation for:

Disaster recovery process
Annual backup and restore of the databases and configuration files

We should also update this playbook https://handbook.sourcegraph.com/departments/product-engineering/engineering/process/incidents/playbooks/dotcom_deleted_entirely

Create a link to this disaster recovery page from the Playbooks page: https://handbook.sourcegraph.com/departments/product-engineering/engineering/process/incidents/playbooks
Probably should just make a Cloud DevOps Playbooks section that we can just link into from the incidents/playbooks landing page.

We should also update this playbook https://handbook.sourcegraph.com/departments/product-engineering/engineering/process/incidents/playbooks/dotcom_deleted_entirely

I think that to put these procedures into playbooks with would have to ensure that we have daily DB exports to GC bucket and Velero daily backup.

Create a link to this disaster recovery page from the Playbooks page: https://handbook.sourcegraph.com/departments/product-engineering/engineering/process/incidents/playbooks
Probably should just make a Cloud DevOps Playbooks section that we can just link into from the incidents/playbooks landing page.

This page is strictly for annual DR process and SOC2, but we could take parts of it and make short FAQ/playbooks in the incidents landing page 👍


Add logging and instrumentation via features

Adds logging and AS::Notifications-compatible instrumentation as separate features.
Building upon the features API introduced in #482, this adds a means to register new custom features:
HTTP::Options.register_feature(:my_feature, MyFeature)
HTTP.use(:my_feature).get("https://example.com/")

Also adds two new features, Logging and Instrumentation.
>> HTTP.use(logging: {logger: Logger.new(STDOUT)}).get("https://httpbin.org/get")
I, [2018-08-16T16:33:58.261195 #1538]  INFO -- : > GET https://httpbin.org/get
D, [2018-08-16T16:33:58.261256 #1538] DEBUG -- : Connection: close
Host: httpbin.org
User-Agent: http.rb/4.0.0.dev

I, [2018-08-16T16:33:58.487195 #1538]  INFO -- : < 200 OK
#<HTTP::Response/1.1 200 OK {"Connection"=>"close", "Server"=>"gunicorn/19.9.0", "Date"=>"Thu, 16 Aug 2018 22:33:58 GMT", "Content-Type"=>"application/json", "Content-Length"=>"201", "Access-Control-Allow-Origin"=>"*", "Access-Control-Allow-Credentials"=>"true", "Via"=>"1.1 vegur"}>
D, [2018-08-16T16:33:58.487440 #1538] DEBUG -- : Connection: close
Server: gunicorn/19.9.0
Date: Thu, 16 Aug 2018 22:33:58 GMT
Content-Type: application/json
Content-Length: 201
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Via: 1.1 vegur

{
  "args": {},
  "headers": {
    "Connection": "close",
    "Host": "httpbin.org",
    "User-Agent": "http.rb/4.0.0.dev"
  },
  "origin": "<IP_ADDRESS>",
  "url": "https://httpbin.org/get"
}

>> HTTP.use(:instrumentation, instrumenter: ActiveSupport::Notifications, namespace: "my_http") # default namespace "http"
# => Emits a `"request.my_http"` event for the request/response

One of the jruby builds randomly failed, but it seems I don't have permission to restart it, and I don't want to commit an empty commit to poke it.

commit --amend and a force push will poke it, otherwise I can in a bit
Tony Arcieri

IMO first use should have API:
def use(feature_id, **options); end

@ixti Perhaps, but this PR didn't really touch that code. Want me to make that change as well?

@paul yes please

in fact i'm not sure :)) i just find HTTP.use(instrumentation: ActiveSupport::Notifications, namespace: "my_http") a bit confusing (seems like 2 features to me being asked to be used)

Let me think - will speak out tomorrow :D

Well, I think it would instead be use(:instrumentation, instrumenter: AS::Notifications, namespace: "my_http"). That API doesn't allow multiple features to be used in one call (use(:auto_inflate, :auto_deflate), so it'd be an API-breaking change, unless we do something like:
def features=(*features, **options)
  @features = if features.size > 1 && !options.empty?
    # what here? assign options to every feature?
  elsif !options.empty?
    feature = features.first
    [feature.new(**options)]
  else
    features.map(&:new)
  end
end

What about:
use(:instrumentation)

use(instrumentation: { instrumenter: AS::Notifications, namespace: "my_http" })

use(:auto_inflate, :auto_deflate, instrumentation: { instrumenter: AS::Notifications, namespace: "my_http" })

Essentially allow both Symbol and Hash as arguments, where Hash is expected to have one key which is a Symbol whose value is also a Hash (which is parsed into the name and the options hash)

@tarcieri unless I'm mistaken, that's how it works now?

 No wonder I was confused.

@ixti I had messed up the example I used in the description of this PR, so maybe that was your concern? This PR doesn't change the signature of .use at all, and I fixed the example.
Once this gets merged, I'll write a wiki page to document how to use the features feature.

Yeah. I guess I was confused. If it does not changes current behaviour then I don't like our current behaviour, but fine to keep it :D

@ixti @tarcieri  I think this is ready to be merged, then? This PR didn't actually change how #use worked.
Any chance of getting a release soon? The original feature stuff I did back in June isn't in the actual released gem yet.

@paul Yeah we have some backward incompatible changes right now in the master. I will check if we can extract somethign to release as 3.4.0 without introducing backward incompatible changes meanwhile. Just give me couple of weeks (on my vacation right now) and I will prepare and push the release.

There's any date to when this feature is gonna be available in the stable version?

@mateusluizfb if @ixti doesn't have time, I can do a release

Yeah. Sorry took me so long to get back in a shell. Will do release this weekend.

I have released current master as v4.0.0. Was hoping to sneak more breaking changes into major bump, but then realised that they will go to next major easily. :D

Thanks @ixti!

Was hoping to sneak more breaking changes into major bump, but then realised that they will go to next major easily. :D

The joys of semantic versioning!

Could you update the readme? Luckily found this PR, cause readme/wiki has no information about this feature

@khataev I had updating the wiki on my TODO when I finished this PR, I guess it never happened. Sorry about that. I've added a page to the wiki, hopefully it helps: https://github.com/httprb/http/wiki/Logging-and-Instrumentation


Are OverrideDefaultFromEnvar and Required meant to work together?

From this line of code, it looks like a flag with both OverrideDefaultFromEnvar and Required will cause the parsing to error out, even when an envar is present, since defaultValue is checked on L166 before it is overridden on L172.
https://github.com/alecthomas/kingpin/blob/a7274600e78d26876a32d8b293cbb0cd324f61a2/flags.go#L165

That is incorrect. L166 is merely ensuring that users don't do .Default("value").Required(), as it's essentially a programmer error. Once that check is complete, defaultValue is set from the envar so that (later) execution of the context will pull the default value from the environment.


Kadane's Algorithm - POTD | 24-Nov-2024

Kadane's Algorithm
Link
Difficulty: Medium
Given an integer array arr[]. You need to find the maximum sum of a subarray.
Examples:
Input: arr[] = [2, 3, -8, 7, -1, 2, 3]
Output: 11
Explanation: The subarray {7, -1, 2, 3} has the largest sum 11.
Input: arr[] = [-2, -4]
Output: -2
Explanation: The subarray {-2} has the largest sum -2.
Input: arr[] = [5, 4, 1, 7, 8]
Output: 25
Explanation: The subarray {5, 4, 1, 7, 8} has the largest sum 25.

Constraints:

1 ≤ arr.size() ≤ 105
-109 ≤ arr[i] ≤ 104

Solved
ans = sum = -1e9

for a in arr:
    sum = max(a, sum+a)
    ans = max(ans, sum)

return ans


INCOMPATIBILITY WITH FUTURE HA Core 2025.1

I'm using Meross LAN integraion in local mode (no cloud) with psx340 Smart Surge Protector
I found this in the log:
ELECTRIC_CURRENT_AMPERE was used from meross_lan, this is a deprecated constant which will be removed in HA Core 2025.1. Use UnitOfElectricCurrent.AMPERE instead, please create a bug report at https://github.com/krahabb/meross_lan/issues
ELECTRIC_POTENTIAL_VOLT was used from meross_lan, this is a deprecated constant which will be removed in HA Core 2025.1. Use UnitOfElectricPotential.VOLT instead, please create a bug report at https://github.com/krahabb/meross_lan/issues
ENERGY_WATT_HOUR was used from meross_lan, this is a deprecated constant which will be removed in HA Core 2025.1. Use UnitOfEnergy.WATT_HOUR instead, please create a bug report at https://github.com/krahabb/meross_lan/issues
POWER_WATT was used from meross_lan, this is a deprecated constant which will be removed in HA Core 2025.1. Use UnitOfPower.WATT instead, please create a bug report at https://github.com/krahabb/meross_lan/issues
TEMP_CELSIUS was used from meross_lan, this is a deprecated constant which will be removed in HA Core 2025.1. Use UnitOfTemperature.CELSIUS instead, please create a bug report at https://github.com/krahabb/meross_lan/issues

You can also add this one
WARNING (MainThread) [homeassistant.const] TIME_SECONDS was used from meross_lan, this is a deprecated constant which will be removed in HA Core 2025.1. Use UnitOfTime.SECONDS instead, please create a bug report at https://github.com/krahabb/meross_lan/issues

+1 here, thanks in advance for your help!
Logger: homeassistant.const
Source: helpers/deprecation.py:204
First occurred: 7:57:45 am (26 occurrences)
Last logged: 7:57:48 am

TIME_SECONDS was used from meross_lan, this is a deprecated constant which will be removed in HA Core 2025.1. Use UnitOfTime.SECONDS instead, please create a bug report at https://github.com/krahabb/meross_lan/issues

+1 , at using of "msg100" Garage Door Opener

Yeah...nice it is due in 2025.1 ;)
The first bunch of deprecations were fixed in 4.5.1 (which is already live) thanks to #354 .
But the TIME_SECONDS went unnoticed so it will come in the next update(s) plenty of time!


Add msys to PATH in appveyor, in order to run make (fixes #208)

This is an attempt to fix the AppVeyor build, as per answer here:
https://twitter.com/appveyor/status/502543860040335360
This of course doesn't eliminate the problem of relying on Make, perhaps one more reason for #172 .
Let's see if the build turn green.

Hm, tests are now passing but building the wheel fails:
%PYTHON%/python setup.py bdist_wheel
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
   or: setup.py --help [cmd1 cmd2 ...]
   or: setup.py --help-commands
   or: setup.py cmd --help

error: invalid command 'bdist_wheel'
Command exited with code 1

Odd, since wheel is installed earlier:
%PYTHON%/Scripts/pip install wheel
Collecting wheel
  Downloading wheel-0.29.0-py2.py3-none-any.whl (66kB)
Installing collected packages: wheel
Successfully installed wheel-0.29.0

Something is off with the AppVeyor builds, the last one only got queued and never started.
@audreyr do you see anything in the admin interface?

I combed through every option, found nothing. Appveyor also validated the YAML:

We have a similar problem in Cookiecutter. I think Appveyor is just kind of flaky. If you or anyone knows of an alternative, we can try it.

Fixed by #225 -- thanks @JEStaubach !


pytest-factoryboy: init at 2.0.3

Motivation for this change
Things done

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

[X] NixOS
[ ] macOS
[ ] other Linux distributions

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

@GrahamcOfBorg build python27Packages.pytest-factoryboy python37Packages.pytest-factoryboy python38Packages.pytest-factoryboy

@drewrisinger Thank you for your feedback. I always learn something new when contributing a new package.


Typo in variable name

Thank you for a very useful module. Unfortunately, my tests with strict variable checking are failing because there's a typo in puppet-fail2ban/manifests/jail.pp:12:
$maxretry                    = $fail2ban::maxtretry,

righthand side has an extra t, should be $fail2ban::maxretry

Hello @pawilon,
could you please provide a pull request against the develop branch?
Thank you very much.

@dhoppe Any idea as to when you'll release this?  I'm dying to switch to this module.  :)

This typo is still present in the master version


Ideas

Any place to stick ideas for plugins?
For example, I've been so frustrated with Apple for the last few years for not implementing a "Reveal in Finder" and a drag-and-drop-to-Terminal-to-get-path functionality for Photos and they still haven't implemented it in 10.13!
Very upsetting and I got to thinking that it might be a good idea to have a list that folks could contribute to for ideas of things that are needed in the way of SIMBL plugins.

I don't understand where you need "Reveal in Finder" but if you need path you can solve it with TotalFinder (link)

Unfortunately Photos is protected by library-validation which is still something that I don't really have a way around other than stripping code signing which generally messes up the app and requires SIP to be off since Apple Apps are protected by SIP now.

Well with the latest version of mySIMBL you can load plugins into Photos if you turn off AMFI and SIP.
Maybe someone could make this now.


Experiment with PR for faster-whisper that adds batching

Just to get a feel whether this can significantly improve performance and outperform WhisperX in terms of computability

At first view, it does accelerate processing for each unlabelled file by quite a bit (5x-6x faster) and it creates larger individual segments which, in turn, reduce the processing time when converting the output to the JSON format we want.

Benchmarked! results available on the website


fake error from submitMigration ?

this is from my script
INFO:Logger:Submiting migration request for block /ST_t-channel_top_4f_InclusiveDecays_TuneCP5CR1_13TeV-powheg-madspin-pythia8/RunIISummer20UL16NanoAODv9-106X_mcRun2_asymptotic_v17-v1/NANOAODSIM#6377b8d7-4919-4855-969c-145976c7509a ...

then script does
result = migrateApi.submitMigration(data)

and this is what I got on stdout, with result being undefined. What does it mean ? this happens in a loop which
inserts migration requests, is there a race among server threads which try to insert something at same time ? Maybe that's intentional and properly handled but then.. why return error ?
DBS Server error: [{'error': {'reason': 'DBSError Code:110 Description:DBS DB insert record error Function:dbs.migrate.SubmitMigration Message: Error: nested DBSError Code:110 Description:DBS DB insert record error Function:dbs.migration_requests.Insert Message: Error: ORA-00001: unique constraint (CMS_DBS3_K8S_PHYS_OWNER.TUC_MR_1) violated\n', 'message': '', 'function': 'dbs.migrate.SubmitMigration', 'code': 125}, 'http': {'method': 'POST', 'code': 400, 'timestamp': '2022-07-13 22:17:26.605424376 +0000 UTC m=+43595.659041335', 'path': '/dbs/int/phys03/DBSMigrate/submit', 'user_agent': 'DBSClient/Unknown/', 'x_forwarded_host': 'cmsweb-testbed.cern.ch:8443', 'x_forwarded_for': '<IP_ADDRESS>', 'remote_addr': '<IP_ADDRESS>:26377'}, 'exception': 400, 'type': 'HTTPError', 'message': 'DBSError Code:125 Description:DBS Migration error Function:dbs.migrate.SubmitMigration Message: Error: nested DBSError Code:110 Description:DBS DB insert record error Function:dbs.migrate.SubmitMigration Message: Error: nested DBSError Code:110 Description:DBS DB insert record error Function:dbs.migration_requests.Insert Message: Error: ORA-00001: unique constraint (CMS_DBS3_K8S_PHYS_OWNER.TUC_MR_1) violated\n'}]
ERROR:Logger:Migration request failed to submit.
HTTP Error 400: Bad Request

OTOH it looks like migration request is submitted properly, since if I try again a bit later I find that block was migrated.
I can retry after exceptions etc. etc.,  but I think we can do better. Also if I go that way, I could end up overloading migration server with multiple useless requests.

Stefano, there few issues you touched here:

the undefined result variable, I think it is Python issue since undefined means that the submitMigration API does not properly handle parsing of submit API output and therefore the return result is undefined. I can have a look into Python code but so far I concentrate on server side
the actual error from DBSMigrate server which reports ORA-00001: unique constraint (CMS_DBS3_K8S_PHYS_OWNER.TUC_MR_1). The Go server process requests sequentially and so far we have single migration server (I'm working on supporting multiple ones). The error means that indeed the given migration input is already in DB which implies that it was submitted. I think in this case server correctly return proper error since client asked to migrate the same input. I already added a check for given migration input in migration server and it returns a proper message that given migration request is already in the system.

So, I think the actual issue here is not in migration server but rather in logic of the client. Can you provide me exact code that I can look at. I can also use your dataset to test in my local setup.

I beg to disagree.
I think this was a server problem, here server does not return a json document.
It is supposed to always do that, in case with the message that this block migration is already in progress.
IIUC you modified the server so this should not happen any more.
I think that server should return an exception only in two cases:

malformed input (to be spotted in testing and debugged)
server problem (which may always happen in production and will be retried)

If you want the client to stop retrying, you need to send a proper JSON document which says so.
Exact code is exactly dbsApi.submitMigration() using testbed/DBSmigrate as dbsApi.

Stefano, the server ALWAYS return JSON, either it fails or succeed. What I'm saying that for whatever reason the client fails to parse provided JSON. You provided the following:
DBS Server error: [{'error': {'reason': 'DBSError Code:110 Description:DBS DB insert record error Function:dbs.migrate.SubmitMigration Message: Error: nested DBSError Code:110 Description:DBS DB insert record error Function:dbs.migration_requests.Insert Message: Error: ORA-00001: unique constraint (CMS_DBS3_K8S_PHYS_OWNER.TUC_MR_1) violated\n', 'message': '', 'function': 'dbs.migrate.SubmitMigration', 'code': 125}, 'http': {'method': 'POST', 'code': 400, 'timestamp': '2022-07-13 22:17:26.605424376 +0000 UTC m=+43595.659041335', 'path': '/dbs/int/phys03/DBSMigrate/submit', 'user_agent': 'DBSClient/Unknown/', 'x_forwarded_host': 'cmsweb-testbed.cern.ch:8443', 'x_forwarded_for': '<IP_ADDRESS>', 'remote_addr': '<IP_ADDRESS>:26377'}, 'exception': 400, 'type': 'HTTPError', 'message': 'DBSError Code:125 Description:DBS Migration error Function:dbs.migrate.SubmitMigration Message: Error: nested DBSError Code:110 Description:DBS DB insert record error Function:dbs.migrate.SubmitMigration Message: Error: nested DBSError Code:110 Description:DBS DB insert record error Function:dbs.migration_requests.Insert Message: Error: ORA-00001: unique constraint (CMS_DBS3_K8S_PHYS_OWNER.TUC_MR_1) violated\n'}]

which shows the JSON which includes the error. And, in Go there is no exception, that's why I don't understand what you are asking for. The exception exists in python client which may fail or not, or can throw exception. What I'm asking is that you provide me exact code or github pointer to dbsApi.submitMigration(), in other words where is submitMigration API? It is somewhere either in DBS client or in CRAB publisher.

where is submitMigration API?

https://github.com/dmwm/DBSClient/blob/be292dca5b82f72a8cf9bf13e7dc263232ab7b16/src/python/dbs/apis/dbsClient.py#L1803-L1812
sorry for my confused writing. Yes, it is JSON but it is not a list of migration ids values as expected.
Of course the return value of the POST call for submit is not documented in
https://github.com/dmwm/dbs2go/blob/master/docs/apis.md#dbs-migrate-server-post-apis
so you can easily say that whatever is there is correct.
But I was not expecting this, I was expecting a JSON with migration_id (possibly 0 if there was nothing to migrate) and status of that migration. In case the migration is in status 1 (which I gather means it is being acted upon) it does not matter
if it was started already or server was so fast.
Anyhow, it looks like we are converging here.

So, I think the actual issue here is not in migration server but rather in logic of the client. Can you provide me exact code that I can look at. I can also use your dataset to test in my local setup.

Looking at DBSClient code (see pointer above) it looks that simply every time HTTP call returns an error an http_exeption is
raised. This makes a lot of sense IMHO, and I still think that server should not return an http error in this case.
I do not like that client (CRAB) would need to parse the error message text in order to decide what to do,  in particular getting an ORA-,...... error and treating it as "all fine" looks very dangerous here. As you described there are many migrations kicked off and therefore many database operations done, how can I know that the insertion which failed was a harmless one ?

ok, I added example of output from submit API to https://github.com/dmwm/dbs2go/blob/master/docs/apis.md#dbs-migrate-server-post-apis and it should be similar to python API as I followed the later logic. It provides all details client's need to know about migration request. Please review and let me know. Please note, that all Go based response are representation of struct data type (an object with attributes) and I standarize the output, i.e. you always will get list from DBS servers across all APIs, the list contains a dict (not numbers). Such standard output format allows to write common/generic parsers without guessing if you get different data-types from the server. And, such as in case of Reader/Writer, the difference in Go vs Py servers are handled in a client. As such we can have different implementations.
Since my reply crossed with yet another reply of yours I will answer about http_exception. Please try to understand that exception is pure PYTHON construct, it does not exist in other languages and does not exist in curl. The DBS server should be transparent to implementation and clients. As such its API should return the same if client will be python or curl. As such, DBS server provide a list of dictionary object. This dict object represent standard DBS error, i.e. it contains error code, reason, message. Such error are common across DBS Reader, Writer and Migration servers. All DBS errors now have generic format. This makes API implementation easy and we may start using different clients, i.e. we can use python or switch to curl, or switch to Go without worry how implementation is done. You should not parse ORA- error. In WMCore we created a DBSError class to handle that, see https://github.com/dmwm/WMCore/pull/11173,  such that you can use this class to get meaning code or message, etc. out of ANY DBS server error.
Regarding how you should treat errors. You should only rely on migration_status code which I described in migration documentation. If status code is 1 it means that migration is in progress, etc. I don't think your code need to do anything else. In other words, here is workflow you should do in your code:

submit migration request using submitMigration DBS Client API
now you have a choice, you can either migration request id to check your migration request status or you may use migration_input
to check your migration I suggest you use migation_input

sure. All I wanted to say is that it is much better that is the case discussed here server returns
an actual migrationId with status=1 ,rather than DBSError Code:125

so in the end I have to modify migration status checking inside CRAB Publisher to use block names, not migrationIds, to keep track.
I will write a new publishing script to run in parallel to current one, inserting in int/phys03 every user output which we currently insert in prod/phys03.  This will trigger lots of migrations since very little of prod/global is already in int (just a guess). So maybe we can do it just a little bit at a time as a start.

ok, are we settle on this then? My view that having full output will help debugging the issue easier. But client should use /status API to get status of migration.
Bottom line, if you have status=1 you must wait since DBS migration server is doing something with migration, if you have status=0 the migration is not yet started, therefore you should not resubmit anything since migration request is already in place. Then, if status=2 you are ok, i.e. migration is finished, all other codes will indicate the error one way or another. Finally, if there is no migration requests then you'll get empty list, e.g.
# check status of non-existing migration request
curl "http://localhost:9898/dbs2go-migrate/status?migration_rqst_id=123"
[]

Does it clear?
Do I need to do anything for this ticket?

ohh, this is different error and is related to host certificates, does your client has valid proxy? I'll need to check testbed certificates now.

the message is not about my client proxy. Other calls work finely. It looks to me to be in communication between migration server and prod/global.

Stefano this issue is now fixed on testbed. I successfully migration your block using new version. I used my dev end-point /dbs2go-migrate which migrate data to phys01 DB backend. Therefore, you may try to migrate this block again using CRAB and int/phys03. I suggest to close this issue as resolved. Please let me know.

need to wait for https://its.cern.ch/jira/browse/CMSKUBERNETES-165 to be solved in order to validate

the issue with DBSMIgrate DB on testbed is solved, please proceed.

as mentioned in https://github.com/dmwm/dbs2go/issues/64#issuecomment-1194213967 I still get the error message listed at the top Error: ORA-00001: unique constraint (CMS_DBS3_K8S_PHYS_OWNER.TUC_MR_1) violated which gives me no information on what to do to solve.

this was solved.