[WIP] Chunked prefill e2e

It is just to show e2e picture. Currently, chunked prefill part is not implemented yet. PR is still WIP

[x] flash attention (it uses our custom wheel for now)
[x] sequence data update
[x] scheduler
[x] 1D query refactoring
[ ] chunked prefill

@rkooo567 just in-case this is relevant to you

fix cuda graph shape issue but correctness issue is still there

The inference kernels inside vllm and TRT-LLM are non-deterministic under changes to the batch size.
You can easily see this in both vllm and TRT-LLM by submitting the same request to the same model, multiple times in a row with short non-deterministic time-deltas in-between, and noticing that continuous batching leads to different responses even if greedy decoding is turned on. Greedy decoding works, it's just that the raw logits are different. Most likely due to the non-associativity of FP operations.

Replaced by https://github.com/vllm-project/vllm/pull/3483


Add Support for imagePullSecrets, cleanup using helpers.tpl

Adding support for imagePullSecrets + cleanup using helpers.tpl.
Details

The helm charts currently do not support imagePullSecrets, which is often needed if the enduser wants to provide a private repository for their images. This PR adds support for that
The PR also cleans up labels and selectorLabels to avoid duplication across files, and defines them in _helpers.tpl instead, cleaning up the chart.
Update service.name in ingress.yaml to point to "wiremock.fullname". This avoids issues where the user uses a name other than wiremock as the helm release name during installation. (If something else is used, currently the ingress resource starts pointing to a non-existent resource since the service created has its name set to fullname

Submitter checklist

[ ] Recommended: Join WireMock Slack to get any help in #help-contributing or a project-specific channel like #wiremock-java
[X] The PR request is well described and justified, including the body and the references
[X] The PR title represents the desired changelog entry
[X] The repository's code style is followed (see the contributing guide)
[X] Test coverage that demonstrates that the change works as expected
[X] For new features, there's necessary documentation in this pull request or in a subsequent PR to wiremock.org

@JunaidChaudry thanks for your PR. Can you please rebase your branch?


Desktop isn't possible ?

Hello,
Thank you for your API ! But I have a question please, how can I use this API to test a site with desktop version ? We can't ?
In the code there is
const STRATEGY_DESKTOP = 'desktop';
Thank you for your help.

Sorry for my issue, i'm so stupid...
I have resolved the problem, just change this :

$response = $caller->getResponse($url, \PhpInsights\InsightsCaller::STRATEGY_DESKTOP);
I thought there were a problem but not ^^.

Thank you again for your API.
Bye 👍


chore: optimize dockerfiles and makefiles

Signed-off-by: Xunzhuo<EMAIL_ADDRESS>
What this PR does:

remove some unused/duplicated commands/dockerfile
remove unnecessary docker build to optimize speed
add tag variable to make image to release CI
add default dev image tag like dev-${MAJOR_VERSION}-${GIT_VERSION}

Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

@stulzq @ZLBer @wenxuwan @MoonShining @zhenjunMa @MentosL Hi all,could u help review this PR?


Fix knative config-defaults values overrided by kserve

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #3092
Type of changes
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Feature/Issue validation/testing:
Please describe the tests that you ran to verify your changes and relevant result summary. Provide instructions so it can be reproduced.
Please also list any relevant details for your test configuration.

[ ] Test A

[ ] Test B

Logs

Special notes for your reviewer:

Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.

Checklist:

[ ] Have you added unit/e2e tests that prove your fix is effective or that this feature works?
[ ] Has code been commented, particularly in hard-to-understand areas?
[ ] Have you made corresponding changes to the documentation?

Release note:

NONE

/lgtm
/approve


fix: refactors person and face detection samples

This changes the samples and tests for Video Intelligence face and person detection so that each has its own file.
The following region_tags are affected:

video_detect_faces_gcs_beta
video_detect_faces_beta
video_detect_person_gcs_beta
video_detect_person_beta

Good point. I've made necessary arrangements to have the documentation updated.


Some more doc updates

Amazing :) The docs really get into shape now. Also feel free to request more information if you feel something is not enough explained.


Way to clear badge count?

After push notifications are sent, and the app is opened or a specific view is opened, is there any way to clear the badge count that appears over the app icon?
This guy: http://i.stack.imgur.com/MxGbb.png ?

In case anyone else has issues clearing the badge count, we did the following for iOS:
UIApplication.sharedApplication().applicationIconBadgeNumber = 0;
Also - if you're using Everlive (Telerik Platform backend services), you need to reset the push counter.  I'm sure the process is similar on other push servers too.
var Everlive = require('./everlive.js');
var everlive = new Everlive({
apiKey: '[api key here]',
scheme: 'https'
});
everlive.push.clearBadgeNumber();
We put this code in the following application events:
application.launchEvent, application.resumeEvent


Remove folder from the current one-folder workspace

How do I remove the current folder from a one-folder workspace?
Multiple times I've needed to check how an extension behaves when there are no folders in the current workspace, and I haven't yet found a good way to get in that kind of environment.

@fabiospampinato you cannot without a window reload, e.g. File > Close Folder.

File  -> Close Folder is exactly what I was looking for, thanks 👍


Update README.MD

update text
https://github.com/Zicrael/ngx-tree-dnd#oncanceldeleteitem

You can find erorrs and then make one PR, instead of small 1  string PR`s. Thank you very much.


[proposal] optimize Arbitration SortFn

What is your proposal:
In the Arbitration Mechanism, we use SortFn to sort PMJs. And we can refer to sorter.MultiSorter for some optimization to this SortFn.
Why is this needed:
The implementations of SortFn call sort.SliceStable duplicately in https://github.com/koordinator-sh/koordinator/pull/1625 and this may cause performance degradation.
Is there a suggested solution, if so, please add it:

/assign


CORGI-824 exclude all test directory from syft scan

Syft is detecting components incorrectly from test data. I adjusted our existing exclude filter to filter out all directories with 'test' in the path. That covered 2 existing excludes as well as this new one with the rpmlint source code.
I will write a script to delete the existing bad components from rpmlint RPMs and attach it to CORGI-824

@RedHatProductSecurity/corgi-devs please review


Add from_slice_of_cells

The preferred way would have been an inherent method, but that is not possible for slices of local types. This leaves us with a trait implementation or hacky usage of ops::Index, neither of which are particular clear and discoverable. Well, the second alternative is clear enough.
Fixes: #29

I've been thinking that we could add From implementations, but .into() isn't particularly clear on its own...


Make freetext queries be a configurable filter type

Originally captured in #301.
It would be something like query/ENCODED-QUERY-STRING.
The funcs that return filter match would need to return a sortValue and a partialMatch bool (similar to #308 )
Would also ideally want to figure out a way for a collection to be serialized canonically (because the query text can include filters, which is weird)
Then use this for the search dialog for the collection that is wired in.

Have a query that does only full matches and one that also does partial matches

[ ] Create the query filter that takes the query from the URL
[ ] Get rid of specialized machinery for query in find dialog

fd9f3262d1ba35b100a9ddd6624103091b7cdbd5 is also part of this issue, its commit message erroneously mentioned 308


First Upload

You can review the contributor license agreement above, and if you agree with it, just type "I have reviewed and hereby sign the CLA" in the comment box below. It just basically just says that you agree that we can release your work as open source software.

Also, you can review the contributor license agreement above, and if you agree with it, just type "I have reviewed and hereby sign the CLA" in the comment box below. It just basically just says that you agree that we can release your work as open source software.

I have reviewed and hereby sign the CLA

recheck

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@98734c6). Click here to learn what that means.
The diff coverage is n/a.

@@          Coverage Diff           @@
##             main      #2   +/-   ##
======================================
  Coverage        ?   0.00%
======================================
  Files           ?       1
  Lines           ?      19
  Branches        ?       0
======================================
  Hits            ?       0
  Misses          ?      19
  Partials        ?       0

Continue to review full report at Codecov.

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

I have reviewed and hereby sign the CLA

recheck


Languagetool does not allow for grammar rule customization

I believe this is due to the fact that it connects to the LanguageTool API in order to check the text, and that API does not support rule customisation (or does it?).
The LibreOffice LanguageTool plugin runs a local instance of LanguageTool on the user's computer and exposes all of the grammatical rule customisation it offers. But the word processor and LanguageTool are Java programs. I don't know if that's relevant to how well integrated they are.

Hello @tjohnman!
Are you requesting a new settings feature for the plugin?
Could you please provide more details about it?
I would appreciate it if you could leave a link with the feature description on the LanguageTool website.


Fix stack builds

Turns out that to stack, allow-newer means "ignore all version constraints and build anyway". This means that any stack builds of dhall-text will build against whatever version of dhall is in the specified resolver, currently 1.11.1.
While this cocktail of packages happens to build successfully, it's still an old version of dhall, and will fail to properly evaluate newer dhall programs. The fix is just to specify the exact version of dhall you want in the extra-deps field of stack.yaml.
This obviously isn't ideal, as it'll have to be updated along with the cabal file and/or as new versions of dhall make it into lts distributions. Still, I got bit by this, and it seems worth the tiny bit of effort to help others building with stack avoid it, at least in the short term.

Yeah, this seems reasonable to me.  Thank you for fixing this 🙂


Update to make android and IOS return the same expected wifi name.

without these changes users has to check for platform before calling getWifiName which is not the best situation.

Unfortunately that will disturb with SSID that contains double quotes in the name.

You are right, however, in my opinion we shouldn't be overriding what the OS provides, as there's a reason why Android sometimes returns SSIDs with quotes and sometimes doesn't:
    /**
     * Returns the service set identifier (SSID) of the current 802.11 network.
     * If the SSID can be decoded as UTF-8, it will be returned surrounded by double
     * quotation marks. Otherwise, it is returned as a string of hex digits. The
     * SSID may be {@code null} if there is no network currently connected.
     * @return the SSID
     */

IMO, we cannot decide for the developer, and we should let them choose how they want to handle this.
We would be happy to accept a PR that adds more documentation to the method, otherwise.


Off by one error in word index

Only triggers when attempting to look up a word with a first-letter unicode character larger than the last index.

Also adds a convenient native build script for macosx


Moved readiness probe as startup probe. Reverted readiness probe to check only Kibana status

Hi team, we found that the new readinessProbe creates some flapping on kibana pod, usually when someone is using Kibana.
I changed the probe that installs index patterns as a startupProbe and replaced the readinessProbe with the old one.
startupProbe is beta from 1.18, and graduated to GA in 1.20

I don't see any problem here :)
As every change... I suggest writing down the change in the docs/unreleased.md file to track all the non-released changes.

Added change to unreleased.md


resource_auditor: relax version audit in taps

[X] Have you followed the guidelines in our Contributing document?
[X] Have you checked to ensure there aren't other open Pull Requests for the same change?
[X] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[ ] Have you successfully run brew tests with your changes locally?

The relaxes the version regex audit introduced in https://github.com/Homebrew/brew/pull/15936 by disabling it for 3rd-party taps, to help address https://github.com/osrf/homebrew-simulation/issues/2390 (see also https://github.com/Homebrew/brew/pull/15936#issuecomment-1707635509). If this audit will be applied to 3rd-party taps, it would be nice to allow some time to comply, since bottles will need to be rebuilt.

Thanks again @scpeters!
I've added a term here to ensure we're also helping taps that may be using GitHub Packages to use the correct formats before we remove the workarounds here.

thanks!


Add shared applications during organization creation

Purpose

When a new organization is added, the applications that were shared with all suborganizations by any ancestor organization are not shared with the new organization. This PR contains the fix to share the applications with new organizations at the time of organization creation.

Approach

Track if an application is shared with all sub-organizations using the property SHARE_WITH_SUB_ORGS. When new organization is created, use this property to share applications.

Related Issues
https://github.com/wso2-enterprise/identity-org-mgt-connector/issues/51

Verify whether we can't update the shareWithSubOrgs SP metadata in a fragmented app via REST API.
Can't delete fragment app when shareWithSubOrgs is enabled.
Deleting the main app that has  shareWithSubOrgs metadata, deletes other fragment apps
Updating the shareWithSubOrgs metadata in main app,updates the other fragment apps' metadata

Scenarios

Application is considered to be shared with all organizations if,

shareWithAllChildren = true and sharedOrganizations is not in the request body
shareWithAllChildren = true and sharedOrganizations is an empty array

Application is considered to be shared with specific organizations if,

sharedOrganizations array is in the request body and shareWithAllChildren = false
Only the sharedOrganizations array is in the request body

It is considered to be 400 Bad Request when,

Neither shareWithAllChildren and sharedOrganizations is not sent in the request body.
shareWithAllChildren = true and sharedOrganizations has one or more organization IDs

Application is shared with all children.
Then, unshare application for only one organization is not possible.

Application is shared with all organizations. Send new request shareWithAllChildren = false.
Then, unshare application for only one organization is possible.

Application resides in parent organization. Parent organization has child organization A and app is shared individually to that. We create new child organization B under parent and send share request with shareWithAllChildren = true.

Then, app is shared to Organization B and any subsequent children of B.
Fragment app in Organization A is updated with its SHARE_WITH_ALL_CHILDREN column value set to true i.e. app is ahred to any subsequent children of Organization A.

Application resides in parent organization.  App is shared individually to Organization A. Organization B is created directly under the parent organization. Send share request with shareWithAllChildren = true.

Then, app is shared to Organization B and any subsequent children of B. Fragment app in Organization A is updated with its SHARE_WITH_ALL_CHILDREN column value set to true. App is shared to Organization A1 and subsequent children of A1.

Bump organization management core version


Add abstract save and load

[x] Add methods to save and load embeddings in memory to the abstract class Vectorizer, and etc base classes  BertVectorzier and WellcomeTfIdfVectorizer

[x] Adds tests to these classes

@aCampello will you do cache or just merge?

I'd like to have a go at implementing the cache strategy before.

I'd like to have a go at implementing the cache strategy before.

woohoo, looking forward

Ok - the cache worked seemed to be bigger than I though. I will merge this one and report that work in a new branch (feature/cache_queries)


Sql Zombie transactions

So I basically have a simple app with all of the classes extended (as discussed in a separate issue).  I created 5 users and 3 roles and then made a simple UI where I can drag/drop a user(s) between the different roles.  I'm using this as a simple test for the sql and dapper plugin stuff.
[HttpPost]
public async Task<IActionResult> UpdateUserRoles([FromBody] UpdateUserRolesViewModel request)
{
    var success = true;
    var message = "";

    if (!User.IsOwner())
    {
        request.NewOwners = new List<int>();
        message = "Admins cannot create Owners!";
    }
    var allRoles = new List<string>() { "Owner", "Admin", "User" };
    try
    {
        var tasks = new List<Task>();
        tasks.AddRange(request.NewOwners.Select(o => ProcessRoleChange(o, "Owner", allRoles)));
        tasks.AddRange(request.NewAdmins.Select(a => ProcessRoleChange(a, "Admin", allRoles)));
        tasks.AddRange(request.NewUsers.Select(u => ProcessRoleChange(u, "User", allRoles)));

        await Task.WhenAll(tasks);
    }
    catch (Exception ex)
    {
        success = false;
        message = ex.Message;
    }

    return Json(new { Success = success, Message = message });
}

private async Task ProcessRoleChange(int userId, string newRole, List<string> allRoles)
{
    var user = await _userDataService.FindByIdAsync(userId.ToString());

    if (user.Id == 0)
        return;

    var currRoles = await _userDataService.GetRolesAsync(user);
    var toRemove = currRoles.Where(cr => allRoles.Contains(cr));

    await Task.WhenAll(toRemove.Select(r => _userDataService.RemoveFromRoleAsync(user, r)));

    await _userDataService.AddToRoleAsync(user, newRole);
}

The basics of this work fine, but if I do it a few times it will eventually start failing.  I can debug into the catch and get this stack trace:
at System.Data.SqlClient.SqlTransaction.ZombieCheck()
at System.Data.SqlClient.SqlTransaction.Rollback()
at Identity.Dapper.Stores.DapperUserStore`7.RollbackTransaction() in C:\DevWork\SandboxCore\src\Identity.Dapper\Stores\DapperUserStore.cs:line 82
at Identity.Dapper.Stores.DapperUserStore`7.<UpdateAsync>d__63.MoveNext() in C:\DevWork\SandboxCore\src\Identity.Dapper\Stores\DapperUserStore.cs:line 931
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.AspNetCore.Identity.UserManager`1.<UpdateUserAsync>d__159.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.AspNetCore.Identity.UserManager`1.<AddToRoleAsync>d__99.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at SandboxCore.Controllers.AdminController.<ProcessRoleChange>d__4.MoveNext() in C:\DevWork\SandboxCore\src\SandboxCore\Controllers\AdminController.cs:line 93
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at SandboxCore.Controllers.AdminController.<UpdateUserRoles>d__3.MoveNext() in C:\DevWork\SandboxCore\src\SandboxCore\Controllers\AdminController.cs:line 69

My hunch here is that we just simply aren't thread safe when reusing the DbTransaction.
if (transaction == null)
{
     using (conn = _connectionProvider.Create())
     {
          await conn.OpenAsync(cancellationToken);

          return await insertFunction(conn);
      }
 }
 else
 {
       conn = transaction.Connection;
       return await insertFunction(conn);
  }

This is a snippet from the UserRepository.AddToRole method.  If the connection gets closed between the if check and the else block, we die in a blaze of glory, right?

Maybe we should use a UnitOfWork and work with TransactionScope?
I'll take a look when i have time.

What is the message of exception?

Message is sometimes :  "SqlConnection does not support parallel transactions." and sometimes somethinga bout a Zombie connection.  I think we'll have to make the connections as a 1-per-query.  As far as being able to commit and rollback the transactions, we would either have to make the transaction a 1-per-call (which I think would be a giant pain) or 1-per-query.  But then again, transactions on 1-per-query are all much pointless...

I can start working on setting the connections as 1-per-query if you want.  Days have been pretty slow lately lol.

I think we should investigate first if this behavior of SqlConnection is just for .NET Core or on full framework too.
I'll check the code before we do something, i've to remember some things and try to elucidate the architecture for this bug.

Weird that i've a enterprise system running the same way with transactions with a lot more requests and this error does not throw.
The difference it's running on full Framework.
This need investigation.
Maybe we arent disposing the transactions properly.

Here is a little more background as it may help with the investigation...
I first started noticing problems with the requests (same endpoints) taking too long.  When I went to look at the db I saw that my UserRoles table was totally locked.  I had to manually kill operations in SSMS in order to free up the table   The tables were on a sql server express db so I created my tables on a full sql server db and started again.  I no longer saw the table lock issue but instead ran into the Zombie transaction issue.

The transactions are not being disposed i guess.
I dont know if i'll have time to take a look this week, but the design of transaction probably will have to be changed.

@nurdyguy what the simplest way to test this behavior from my computer? I think there's something with AddSingleton from ConfigureDapperXXXConnectionProvider. If youreplace with AddScoped the problems go away?

I've digged a little more on this...
So far, we'll have to reimplement everything envolving transactions.
The easiest way is to not use transactions at all, and all will runs fine.
If we want to keep transactions, we'll have to implement a way to use a single connection among the two stores (DapperUserStore and DapperRoleStore) and a single transaction until it's commited.

Single connection is generally a bad thing.  Personally I don't really like transactions (as they inherently lock db tables) but I can see that as a package some people might want to use them.  Thus, from a package point of view, I'm not sure how you want to proceed.  The only other option I could think of was creating a lock around the transaction so it can be properly disposed at the end.  That sounds quite messy though.
For your previous post asking about how to test, the code I made (which found the issue) wasn't complicated but also wasn't simple.  You could boil it down though I guess.  Like I said originally, I created 5 users and 3 possible roles.  Then I had a relatively simple function which just adds/removes roles from each of the users.  The code for that is in the original post but you could boil it down to

user1 remove "Owner" role and add "Admin" role
user2 remove "User" role and add "Admin" role
user3 remove "Admin" role and add "Owner" role
....

Hard code a few of those in and run it a few times.  This is a race condition so it may not occur every time.

I've reproduced and have been working on a separate branch.
So far, the current workaround is to take off the transactions.
I'll not work on a UnitOfWork with ADO.NET BeginTransaction because it would be so hard to do. I'll wait for TransactionScope works on .NET Core, because it'll be SOOOO much easier to implement.
You can check on https://github.com/grandchamp/Identity.Dapper/tree/uow

I gave it a quite test run, no issues so far :-)

Can you think in something better for transactions until TransactionScope?

Well, here is how I always think of transactions.    It keeps me from getting into an invalid state where the first thing happened but then an error occurred and the second two failed.  To that end, it is somewhat unnecessary in the majority of these queries.  Most of the queries have only 1 operation, inserting a single record for example.  If the insert fails then there is nothing to rollback because the only 1 operation didn't happen.
I could see more value in transactions at a store level rather than at a repo level.  The store method may say "create this user, then do xxx with him, then do yyy with him" and thus a transaction (and maybe a retry of some sort) could/would be beneficial.  But that would also require an instanced transaction being passed into the repo and disposed of back in the store.
As far as what you have now, in the uow branch, assuming it doesn't have any race conditions and/or async issues, I think it is good as is.

But ir you keep the way It is, when the third operation happens (even a select), the connection times out because the transaction.
If you do two insert operations inside the uow, you can repro this. Go to Manager controller to the method AddRole and you will see It happen.

I didn't run into any problems with my original code (in original post) when I added and removed roles for each of 4 users.  I'll try to repro as you described though.

There are no controllers in the repo.   Can you post the code for the method you mentioned?

https://github.com/grandchamp/Identity.Dapper/blob/uow/samples/Identity.Dapper.Samples.Web/Controllers/ManageController.cs#L341

Ahh, sorry, I forgot about your sample projects.  I'll work on retro-fitting those into my solution so I can test it.  Right now I'm betting a DI issue in my project so I gotta solve that first.

I wired this up using postman and hit it about 10 times, no problems.  I even added about 6 roles to the user so the Remove function had to process several at once, no problems.
In general I don't think it should be the controller's job to worry about .SaveChanges(), that should be a service layer concern.  But for the purpose of testing it is fine.

Did you set UseTransactionalBehavior = true on https://github.com/grandchamp/Identity.Dapper/blob/uow/samples/Identity.Dapper.Samples.Web/Startup.cs#L42 ?

Of course not lol... testing again...

Yeah, I'm having some serious issues now:
 at System.Data.SqlClient.SqlConnection.PermissionDemand()
 at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
  at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
  at System.Data.SqlClient.SqlConnection.OpenAsync(CancellationToken cancellationToken)
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
  at SandboxCore.Identity.Dapper.Stores.DapperUserStore`7.<CreateTransactionIfNotExists>d__7.MoveNext() in C:\DevWork\SandboxCore\src\Identity.Dapper\Stores\DapperUserStore.cs:line 71
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
   at SandboxCore.Identity.Dapper.Stores.DapperUserStore`7.<RemoveFromRoleAsync>d__46.MoveNext() in C:\DevWork\SandboxCore\src\Identity.Dapper\Stores\DapperUserStore.cs:line 621
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
  at Microsoft.AspNetCore.Identity.UserManager`1.<RemoveFromRoleAsync>d__101.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
  at SandboxCore.Controllers.ManageController.<AddRole>d__25.MoveNext() in C:\DevWork\SandboxCore\src\SandboxCore\Controllers\ManageController.cs:line 366

Yep.
If you dig a bit more you'll find that after two insert operations ran on a transaction, the third operation will fail and hang.

I stumbled on another issue too.  I'm using postman and forgot to put the [FromBody] in the method signature so the object came in null which caused a null reference exception.  Because that exception was thrown something didn't get disposed of somewhere which then causes issues on subsequent requests.

One problem,
public DbConnection CreateOrGetConnection()
    {
        _semaphore.Wait();

        if (_connection == null)
        {
            _connection = _connectionProvider.Create();
            _connection.Open();

            _transaction = _connection.BeginTransaction();
        }

        _semaphore.Release();

        return _connection;
    }

There are instances where the connection is not null but it is closed.  Then when you get back to DapperuserStore:
    private async Task CreateTransactionIfNotExists(CancellationToken cancellationToken)
    {
        if (!_dapperIdentityOptions.UseTransactionalBehavior)
        {
            _connection = _connectionProvider.Create();
            await _connection.OpenAsync(cancellationToken);
        }
        else
        {
            _connection = _unitOfWork.CreateOrGetConnection();

            if (_connection.State == System.Data.ConnectionState.Closed)
                await _connection.OpenAsync(cancellationToken);
        }
    }

the OpenAsync is failing.  I'm not exactly sure why, but it fails nonetheless.

So when we step through AddRole and we get to _userDataService.AddToRoleAsync(user, model.RoleName); at that point our uow is open and valid.  But if you step through you eventually land in  UserRepository.IsInRole.  Since that is just a simple select it has its own using statement and creates its own connection.  But since the transaction is still open from the previous insert, the table is locked and this new connection times out.  The only way that select can run is if it is part of the same connection/transaction.

Yes.
To work with UoW, we cant dispose the connection on "non transactional" methods (basically SELECT methods). We should detect if UoW has a connection and not use using and if it hasn't, use using.

Yeah, if you are in the middle of a transaction, everything has to use that transaction...  what a pain...
There is something else wrong also but I'm having trouble hunting it down.

That's why i'm talking that it's a pain to work on both sides now without TransactionScope.

I think the other issue is somewhere in system garbage collection.  If you make a request and it is successful, then put your debugger inside UnitOfWork.CreateTransactionIfNotExists and you'll see that the connection information is wiped.  That's what was causing the error with the stack trace I posted above.  Overall that shouldn't be too tough to fix.  The TransactionScope issue is much bigger as you mentioned.

Fixed in my new commits to uow branch.
Basically, i implemented the
 DbConnection conn = null;
                if (_unitOfWork?.Connection == null)
                {
                    using (conn = _connectionProvider.Create())
                    {
                        await conn.OpenAsync();

                        return await selectFunction(conn);
                    }
                }
                else
                {
                    conn = _unitOfWork.CreateOrGetConnection();
                    return await selectFunction(conn);
                }

on ALL methods, including methods with select only.


docs(TreeView): Update examples

Issue: none
What I did

initialExpandedItems example was using the wrong ID so the items were not expanding as expected.
Checklist

[x] changeset has been added
[x] Pull request description is descriptive
[x] I have made corresponding changes to the documentation
[ ] New and existing unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works

How to test
Confirm all examples in tree view docs behave as expected

Doc site example looks good with the proper initial view expanded:
initialExpandedItems example was using the wrong ID so the items were not expanding as expected. ✅


Enable flow type checker on streamline code

This feature enables the facebook flow type checker on streamline source files.
Usage:
$ cd $source_dir
# generate .js and .js.flow files for every ._js source file
$ _node -c --flow true .
# run the type checker
$ flow
No errors! # you win!

The basics are in place and I've been able to typecheck streamline itself but it's not completely ready yet. Still some missing entries in the runtime declaration files and I haven't yet re-published the support packages (babel-plugin-streamline-flow and streamline-runtime) to NPM.
I've added @flow directives in most streamline source files (including the 3 ._js files).

I'm dropping this in favor of TypeScript.


C++ DirectML.dll causes crash in debug x64 mode when using NuGet package Microsoft.AI.MachineLearning 1.5.2

Hello,
I'm experiencing a runtime crash with the C++ DirectML API in Debug x64 mode after upgrading my NuGet package Microsoft.AI.MachineLearning from version 1.4.0 to 1.5.2.
There is no error in Release x64 mode.
The reason why I'm using this package is because the included DirectML.dll improves DirectML performance greatly.
There seems to be an issue when creating a DirectMLOperator.
The operator type is DML_OPERATOR_JOIN.
Can you please help me identify the issue?
Also how can I find the latest DirectML.dll file without downloading the package?

Are you able to share more of your repro? Our package only contains release binaries of the components, so if the problem occurs only with your app's debug build and not with the release build, then it may be something else unrelated to DirectML. Also please note that the DirectML binaries that come with this package are meant to be used as part of either the ONNX Runtime or the WinML API, and not as a stand-alone API. Please refer to DirectML_LICENSE.txt for more detail. We're working towards releasing the DirectML stand-alone package in the near future.

Thanks for the quick answer.
Then I'm going to try again when the stand-alone package is released.

Thanks @momower1. In the meantime we still love to know what's going on with the issue you raise. Are you able to share more with us i.e. have you figured out why the same directml.dll fails only on your debug build?

I didn't find any reason why this could be happening. It works in Debug mode when using the DirectML.dll from the Microsoft.AI.MachineLearning from version 1.4.0. I'm using the exact same codebase and with 1.5.2 it crashes.
I'm not sure but maybe you could try to reproduce this? I'm thinking that the issue is connected to the CreateOperator call and that probably the OperatorType doesn't matter. Maybe just adding the 1.5.2 Dll file for any Debug compiled project that somewhere uses CreateOperator could have this issue, too?

I actually just tested this with the HelloDirectML sample and it crashes as well on CreateOperator.

The DirectML.dll found in in the Microsoft.AI.MachineLearning package was never intended to be copied into any other project. My bet is that you're trying to use the DML debug layer in your debug build, and you're probably loading "C:\Windows\System32\DirectML.Debug.dll" into memory which is not compatible with the DLL copied over from the Microsoft.AI.MachineLearning package.
I know for certain that the HelloDirectML sample sets DML_CREATE_DEVICE_FLAG_DEBUG when you build in debug mode. I bet your repro app has the same flag set. Try using DML_CREATE_DEVICE_FLAG_NONE. Or, better yet, wait for the standalone redistributable of DML that includes a compatible version of the debug layer. It's coming soon, I promise! :)

Thanks for the explanation, it's exactly what you said.
I know this is a kind of hacky solution to gain a bit of performance for now.
I'll be waiting for the standalone redistributable 👍

@momower1 We'll have more to say about this in the future, but for now grab our latest from here: https://www.nuget.org/packages/Microsoft.AI.DirectML/
If you consume this as in a Visual Studio project you'll get some neat integration that automatically copies the necessary binaries to your project's output folder (including the compatible debug layer). Regardless, the package has everything you need if you want to integrate it into another build system. :)

@jstoecker Thanks for the notification!
I installed it and now everything is working in Debug mode too 🥳


revised proposal still violates run-to-completion execution semantics

The revised HostImportModuleDynamically says

If the operation succeeds, then either immediately or at some future time the host environment must perform FinishDynamicImport(referencingScriptOrModule, specifier, promiseCapability, NormalCompletion(undefined)).

The phrase "some future time" does not appear to place any restriction on the timing of performing FinishDynamicImport.  So, it could occur in the middle of any ES job without waiting for completion of the current job (or even assume atomic operations). FinishDynamicImport calls  HostResolveImportedModule which may start evaluation of a module body. So, we are still potentially preemptively interrupting ES code execution and observably running other ES code.
You could avoid this by scheduling a job to do FinishDynamicImport.  As I stated in https://github.com/tc39/proposal-dynamic-import/issues/24#issuecomment-261356380 ES spec. jobs provide the spec. mechanisms to schedule the execution of asynchronous ES code without violating the run to completion invariants
Other issues

then either immediately or at some future time.

That means module initialization code might run now or might run latter. In other parts of ES it was decided we would always defer to at least the "next turn"  in such situations in order to improve deterministic behavior. If it is a maybe now/maybe latter we choose to make it be always latter.

If the operation succeeds, a subsequent call to HostResolveImportedModule after FinishDynamicImport has been performed, given the arguments referencingScriptOrModule and specifier, must complete normally.

-"has been performed" or "has been completed"? If this is happening asynchronously and concurrently FinishDynamicImport may have started but not yet processed to determination of success or failure.  Can't multiple FinishDynamicImport for the same thing be inflight at the same time?

The meaning of "If the operation succeeds" and "If the operation fails also seems fuzzy for similar reasons.

I think you are trying to address consistency and idempotency requirements but the more I try to understand the language the less certain I am as to what it actually means. Consider the following:
 import("perhaps this file doesn't exist").then(m1=>console.log("succeed 1",_=>console.log("fail 1"));
 import("perhaps this file doesn't exist").then(m2=>console.log("succeed 2",_=>console.log("fail 2"));

Ignoring asychnc ordering, can we ever get "succeed 1 fail2" or "fail 1 succeed 2". If the result is "succeed 1 succeed 2" do m1 and m2 every have different values?

Hi Allen,
It seems you are getting at a more general issue with ES and host environment integration, and not one related to this proposal. As such I'd appreciate if you didn't characterize this as the proposal violating run to completion semantics, but instead, the proposal allowing violation of run to completion semantics---just like the rest of the language already does. For example,

The phrase "some future time" does not appear to place any restriction on the timing of performing FinishDynamicImport. So, it could occur in the middle of any ES job without waiting for completion of the current job (or even assume atomic operations).

Sure, but the host environment could also call other arbitrary ES operations in the middle of any ES job. As far as I know, ES does not place any restrictions on hosts there. This proposal does not introduce anything new, and I don't think it's this proposal's job to start creating such restrictions.
I think there's an interesting discussion to be had about constraining host environments in such a way. From my recollection, we have in the past talked about codifying the run-to-completion semantics as a restriction on host environments, and in this way disallowing Nashorn from claiming to be a compliant ECMAScript implementation and so on. That's a larger discussion, and one I support having, but not one we should block this proposal on.

That means module initialization code might run now or might run latter. In other parts of ES it was decided we would always defer to at least the "next turn" in such situations in order to improve deterministic behavior. If it is a maybe now/maybe latter we choose to make it be always latter.

As discussed at the last meeting, those semantics are a no-go for Node.js (and for HTML). That's why no host environment currently uses the script/module evaluation jobs, or even the EnqueueJob abstract operation as-written in general. There's definitely work to do reforming that rotten foundation, and I don't plan to build this proposal on top of it.

-"has been performed" or "has been completed"? If this is happening asynchronously and concurrently FinishDynamicImport may have started but not yet processed to determination of success or failure. Can't multiple FinishDynamicImport for the same thing be inflight at the same time?

Again this hinges on the larger question of whether host environments must "queue a task back on to the main thread" (to use browser/Node.js parlance) in order to respect run to completion. I'm happy to clarify this to "completed" though if that can help.

The meaning of "If the operation succeeds" and "If the operation fails also seems fuzzy for similar reasons.

This is a fair criticism. The meaning was meant to be left up to the host environment, as in, the host environment gets to choose one of two paths to go down, and gets a different bundle of requirements depending on which they choose. I can try to rephrase this in that fashion, to make it clearer and rely less on undefined terms.

Consider the following:

This is a great example! I think you're right we want to guarantee the properties you imply (never mix success and failure, and always guarantee the same object is returned). But even my above "choose one of two paths" does not require this. Let me attempt a rewrite that imposes these requirements.

Let me attempt a rewrite that imposes these requirements.

This is now live. I'm curious to see what you think. I believe the same-object-if-success part is already enforced by the idempotency requirement on HostResolveImportedModule, so I didn't add anything for that. But I separated out the success and failure paths as two sets of requirements, and stated that all calls must go down the same path as previous ones with the same referencingScriptOrModule, specifier pair.

No, I'm not commenting on general issues. I'm commenting specifically on your proposal and its proposed spec. language. As I have pointed out, the ES spec. has existing mechanisms for expressing run-to-completion semantics but your proposed spec. changes don't use those mechanisms and instead have vague prose which, to me, allow for dynamic import to violate run to completion.

Sure, but the host environment could also call other arbitrary ES operations in the middle of any ES job. As far as I know, ES does not place any restrictions on hosts there.

I think you misunderstand the role of the ES spec. and it's relationship to hosts or host specifications. The ES spec. is essentially a large set of requirements that an conforming implementation must respect.  If an implementation violates those requirements it does not conform to the standard. Many of the requirements are expressed in terms of "abstract operations" that are invoked at specific places in the ES specification. The overall requirements of the spec. are encode via a combination of both the algorithmic steps of those operations and the contexts from which they are invoked.  The existence of an abstract operation within the ES specification does not imply that any arbitrary invocation of it in a proposed feature specification is valid. In many cases, such invocation could violate other requirements or invariants of the ES specification.  All uses have to be reviewed from that perspective.

Sure, but the host environment could also call other arbitrary ES operations in the middle of any ES job. As far as I know, ES does not place any restrictions on hosts there.

There are many ways an actual a host environment, or an external agent could corrupt an otherwise conforming ES implementation.  At the extreme, it might simply write over the memory used by the implementation to represent the ES program or its runtime state.  A host or agent arbitrarily (and perhaps asynchronous or even concurrently) "calling" (however that might be possible) an ES abstract operation, uncoordinated with  the ES conforming behavior of an ES implementation, is the moral equivalent of stomping on the ES engine's memory.  A conforming host implementation must not do this.  A specification of a host extension to ES must not do that.

...we have in the past talked about codifying the run-to-completion semantics as a restriction on host environments, ... That's a larger discussion, and one I support having, but not one we should block this proposal on.

Run to completion has long been a strongly held principle of ES. That could change, but for now that principle stands and new feature proposals need to conform to it. If you want your proposal to quickly advance you need to conform to it.  If you aren't in a hurry, you can defer your proposal and work on another proposal relating to eliminating or changing run to completion requirements.

That's why no host environment currently uses the script/module evaluation jobs, or even the EnqueueJob abstract operation as-written in general.

I think this statement reflects another misunderstanding of the role of the ES  specification.  Implementations don't "use"  abstract concepts and operations from the ES spec. Rather they are expected to conform to the requirements expressed via those abstractions.  The abstractions are just a framework for expressing requirements.  If you think the spec. currently is expressing invalid or unintended requirements you should identify those so that can be vetted by TC39.

There's definitely work to do reforming that rotten foundation, and I don't plan to build this proposal on top of it.

Either advance your feature proposal by using the available mechanisms. Or defer that proposal while you work on developing a better foundation.  Whichever the spec. mechanism for expressing such requirments to be applied consistently across the entire ES spec. One feature should not say, " I won't play by the current rules".  I would active oppose advancement if this is the approach you want to take.

Again this hinges on the larger question of whether host environments must "queue a task back on to the main thread" (to use browser/Node.js parlance) in order to respect run to completion.

Here are the requirements that ES spec is trying to express via the jobs abstraction:

ES semantics divides computational work in to a set of "jobs"
Only one job may be actively undergoing evaluated at any point in time. (jobs never perform concurrent computation)
Once evaluation of a job starts active evaluation, it must run to completion before evaluation of any other job starts.
Once a job that has evaluated to completion it is never re-evaluated.
When the current job completes, another job is selected for evaluation.
There are some very limited constraints on the order in which jobs are selected for evaluation.

Nothing here talks about concepts like "main thread".  It is up to an implementation how it maps these requirements onto implementation concepts such as OS threads. For example, there is nothing in the ES requirements that says that the implementation mechanism of job evaluation can't migrate among OS threads between jobs (or even during a job).
Also, host environment are certainly free to use other abstractions (I'm think of you "task") to describe their behavior.  The only ES expectation is that if (from the host perspective) they are subsuming the role of an ES abstraction a ES conforming host abstraction must have the ES requirements as a subset of the host behavior.  If there are widely implemented hosts that can't conform to the above requirements we should have serious discussions about it in TC39.  We might relax the ES spec. or we might say: sorry, you're non-conforming and probably should work harder to get into conformance.

Run to completion has long been a strongly held principle of ES. That could change, but for now that principle stands and new feature proposals need to conform to it. If you want your proposal to quickly advance you need to conform to it.

I strongly disagree with the characterization of my proposal as not conforming to run to completion. It conforms to it exactly as much as the rest of the language does. As you say, a host could violate it in many ways. My proposal introduces no new ways to do so, anymore than any other proposal that introduces new abstract operations that the host might call at the wrong time.
It sounds like we'll have to take this discussion to committee, which is disappointing.

I think this statement reflects another misunderstanding of the role of the ES specification. Implementations don't "use" abstract concepts and operations from the ES spec. Rather they are expected to conform to the requirements expressed via those abstractions. The abstractions are just a framework for expressing requirements. If you think the spec. currently is expressing invalid or unintended requirements you should identify those so that can be vetted by TC39.

No, I perfectly well understand that. Implementations cannot implement the semantics as specified. That has indeed been previously identified by TC39, and the conclusion is to remove those invalid requirements. The fact that we haven't done so yet is not reason to block this proposal, in my opinion, but I'm happy to send a PR removing the script/module evaluation jobs and converting EnqueueJob to HostEnqueueJob, as previously discussed and agreed upon, if you think that's a requirement.

Either advance your feature proposal by using the available mechanisms. Or defer that proposal while you work on developing a better foundation.

I reject this dichotomy. The relation between an ES spec and the host environment is complex and we're still evolving the best way to specify it. Currently there are some bad aspects to the spec. That shouldn't prevent us from doing useful feature work, or force us to build on those bad aspects when doing useful feature work.

I would active oppose advancement if this is the approach you want to take.

That's disappointing, but I am confident the committee will be able to overcome such an objection.

Here are the requirements that ES spec is trying to express via the jobs abstraction:

Yes, these are fine requirements. But as discussed previously, the current spec's implementation of them is overconstraining on hosts, and EnqueueJob and the module/script evaluation jobs as such are not useful expressions of these requirements.


Datajoint pipeline

pulled from social_schema branch
write new schema for social01 experiment
tested streams_maker
minimally tested some ingestion of downstream tables

Closing this PR, to be replaced by a different PR from a dedicated dev branch


Add resolve CLI subcommand

Signed-off-by: Luiz Carvalho<EMAIL_ADDRESS>

@chmeliik, @mkosiarc addressed the typos


ngx.req.set_uri() ineffective in plugin access method

Summary
I'm trying to transform a request in a plugin, where the request path may be

/something/{some id}

and the upstream url is something like

/upsream?id={some id}

I thought I could accomplish that by calling (inside the plugin access method)

ngx.req.set_uri(ngx.ctx.api.request_path)

...to strip the optional part of the path, but it does not affect the call upstream. With 'strip path' on, it still calls

/upsream/{some id}?id={some id}

After all, calling ngx.req.set_uri_args does work, and the docs for set_uri state it should work in 'access_by_lua' directives.
Is this a bug? Is there a workaround or something I'm missing?
Thanks!
Additional Details & Logs

Kong version: 0.9
OS: Centos 7 (official kong docker)

I found a workaround:

ngx.ctx.upstream_url = ngx.ctx.api.upstream_url

Had the same issue where ngx.req.set_uri had not effect, so that Kong forwarded the request with upstream_url + initial_request_uri
@sje397 thanks for the solution & the vars you mentioned!


deleteMessage for everyone

Hey guys,
When I delete a message in a group chat with using deleteMessage it only deletes the message for me, not for everyone.
How to fix this please?

It works using revoke: boolean


Re Teacher Forcing

This isn't necessarily an "issue" - but I was seeking clarity on whether this parameter enables teacher forcing:
"inputFeed - bool, enable input feeding"

No they are different things.
OpenNMT can only be trained with "teacher forcing", in that at training it uses the gold/reference input at each time step. Perhaps in the future we will add "data as demonstrator/scheduled sampling" style training.
Input feeding refers to feeding the attention back into the network (say Luong's paper in the about section for details). This is quite helpful, and should generally be on.


Wait For Response times out during RadioSpinel::Init  with aResetRadio = false

We see that during RadioSpinel::Init with aResetRadio = false, the Openthread times-out waiting for response.
This is because, WaitForResponse is done outside the conditional :
    if (aResetRadio)
    {
        SuccessOrExit(error = SendReset());
    }

    SuccessOrExit(error = WaitResponse());

Is this is a bug ?  ie  WaitForResponse should be done within conditional ?
Or Is the expectation that this function is called with  'aResetRadio = false'  only if rcp is reset earlier or is otherwise expected to send some response ?

I think @bukepo may remember more on this and can help shed more light on this.
But I don't think it's is a bug and it is actually intentional.
As you said, the idea is that one way or other we expect the RCP to be reset before Init() is called. I think reset is required to ensure that RCP starts fresh with no previous state.

It can be done through a software command (sending an spinel RESET command to the RCP) which is done by SendReset() and controlled through aResetRadio param.
Or it may be reset by the outside process which is starting RCP (and OT posix app). For example, we may have a hardware reset pin on RCP that is then used to explicit reset it.

or is otherwise expected to send some response ?

We do need to see a spinel RESET event from RCP. Note that we have this block in Init():
    SuccessOrExit(error = WaitResponse());
    VerifyOrExit(mIsReady, error = OT_ERROR_FAILED);

and mIsReady is set when a RESET spinel LAST_STATUS is received.

Thanks for the explanation !
It may help to add to documentation of Init the expectation that RCP should be in 'init state' prior to calling the function with aResetRadio = false.


documentation for painting fence problem

🚀 Feature
Given a fence with n posts and k colors, find out the number of ways of painting the fence such that at most 2 adjacent posts have the same color.
Have you read the Contributing Guidelines on Pull Requests?
yes
Motivation
Documentation for painting fence problem
Pitch
Documentation for painting fence problem

@HarshCasper  can you assign me this issue


added table plugin.

Hi jsPDF project is awesome
i have written table plugin for jsPDF it accepts array of objects as table data and draws table on the document,
no of columns equal to no of keys in first object in array larger text will be splited automatically into lines.Examples available at  jsPdfTablePlugin.

Thanks for this. We now have proper HTML render support, and there's also another HTML table plugin. Thanks for the bower package though! :)


update to ng2 - rc6 when released

Should be RC7 already

a good approach would be to first update to rc6, to see what is changed compared to rc4.
Than do the upgrade to rc7. I'll create a new issue for RC7

closed due to https://github.com/samvloeberghs/protractor-gherkin-cucumberjs-angular2/pull/20


Add profile picture upload field on account page

Design and implement the UI components necessary to add a profile picture upload field on the Account Page.

This task focuses solely on the user interface (UI) and does not involve backend functionality.
Display the avatar image on the Account Page.
Clicking on the avatar image should open image upload dialog.

interested to contribute to this issue.

Iam intrested to contribute in this issue

@omen1650ti Assigning this issue to you. Let me know if you have any further questions.

@devkiran i want to work on this issue.

Ok, thanks for the interest. If you have any questions, please feel free to ask here or on Discord.


Errors when retrieving deals without amounts

On the HubSpot web site the Deal Name, Pipeline and Deal Stage are required fields when creating a deal.  Unfortunately unless explicitly specified as a required field in settings a deal amount is not required.
While testing Deals in the example project I found a deal without an amount and an exception was thrown: "Input string was not in a correct format".

Fixed in pull request #8

PR merged!


How to add the policy name parameter to discovery document URL?

I'm trying to find out how to add the policy name to the discovery document URL, but no property in the AuthConfig class seems to work.
To clarify, my issuer URL is:
https://login.xxx.com/12345678-xxxx-yyyy-zzzz-1234567890ab/v2.0/
which angular-oauth2-oidc uses to generate the well-known discovery document URL by adding the suffix .well-known/openid-configuration (which happens in the oauth-service.ts file)
However, the well-known discovery document URL for the 3rd party service I need to use, requires a policy name parameter appended to it:
https://login.xxx.com/12345678-xxxx-yyyy-zzzz-1234567890ab/v2.0/.well-known/openid-configuration?p=B2C_XX_SignInWithYYYYY
How do I make it so that angular-oauth2-oidc adds the policy-name parameter - ?p=B2C_XX_SignInWithYYYYY - to the "well-known" URL generated from the issuer URL?
I have tried to override the openUri method, but it doesn't seem to be called for this step.
Any help would be greatly appreciated.

To anyone looking for the answer, the only solution I have found so far is to pass the specific discovery document URL to the OAuthService.loadDiscoveryDocument function, which takes the optional parameter "fullURrl".
However, it would be nice to be able to add the policy name as part of the AuthConfig class.


Enable periodic refetch for URL-based introspections

Currently we execute the introspection once when we have a URL or URL-object for the schema. When we use file-based we leverage an FS.watch, we should have some periodic refetch atleast configurable for the URL-based as well.

I guess for now just advising folks on restarting the TypeScript server isn't the worst thing 😅


Remove unit tests par as integration tests covers the same

As of now we have two sections in our tests

IntegrationsTests
UnitTests

Unittests works by mocking the answer of the HTTP requests. While these might be very interesting, as of today they are not compatible with the ever changing API of Meilisearch.
It will be interesting to mock meilisearch once it has an official release in v1 but until then it requires additional maintenance for not a lot of added value.
What do you think?

We are on the road to v1 soon, and it may be time to rethink the whole structure of tests in all of the SDKs we maintain. Given that we can keep these tests, they may be helpful for future implementations.


Configuration of PVC storageClass

Hey,
I am new to TESK and testing to run some workflows in a k8s cluster which uses rook-ceph object storage which I would like to use for the task manager's PVC. However, I am not sure how I could configure the PVC storageClass, size etc. Is there a way as of today or would that need some changed in the code base?

Thanks for getting back to me. I set a default storageClass and run some simple workflows with object storage. It seems to work fine. However, I would prefer to set the storageClass to be used as part of the configuration in order to avoid a default class. Would that be possible?

That should be no problem with configuring the storage class for PVC and that is a good idea.


add MHNetwork to Networking section

add MHNetwork to Networking section
Project URL
https://github.com/emadhegab/MHNetwork
Category
Networking
Description
Protocol Oriented Network Layer Aim to avoid having bloated singleton NetworkManager
Why it should be included to awesome-ios (optional)
Checklist

[x] Only one project/change is in this pull request
[x] Has unit tests, integration tests or UI tests
[x] Addition in chronological order (bottom of category)
[x] Supports iOS 9 / tvOS 10 or later
[x] Supports Swift 4 or later
[x] Has a commit from less than 2 years ago
[x] Has a clear README in English

          1 Warning

:warning:
Found 5 link issues, a project collaborator will take care of these, thanks :)

Link issues by awesome_bot

Line
Status
Link

2252
301
https://github.com/imjog/JSButton redirects tohttps://github.com/jogendra/JSButton

2353
301
https://github.com/imjog/JSLabel/ redirects tohttps://github.com/jogendra/JSLabel

2354
301
https://github.com/imjog/AnimatedMaskLabel redirects tohttps://github.com/jogendra/AnimatedMaskLabel

2541
404
https://github.com/mrkey0310/pivot-slider

3280
301
https://github.com/imjog/example-ios-apps redirects tohttps://github.com/jogendra/example-ios-apps

  Generated by :no_entry_sign: Danger

is there something i can do to push this forward?

@emadhegab I'll fix later. Thanks for contributing.


HAWQ-1660. Optimize parquet scan when bloom filter enabled.

It is a good optimization point. If a lot of columns will be projected, we can only fetch joinkey and do a bloomfilter check, if doesn't match, no need to fetch other columns.
But in this PR, if bloomfilter is not enable, it will fetch joinkey in the first loop, and fetch other columns in the second loop, which needs a little refine further.

@kuien I do a perf test on your pr, two issues:

query result error
performance downgrade

Details see below, please check code, thanks.
TPCH1G data on my mac, master code
tpch=# select count (*) from part, lineitem where p_partkey = l_partkey and p_brand = 'Brand#23' and p_container = 'MED BOX';
count
-------
  6088
(1 row)

Time: 3150.873 ms
tpch=# set hawq_hashjoin_bloomfilter to on;
SET
Time: 2.903 ms
tpch=# select count (*) from part, lineitem where p_partkey = l_partkey and p_brand = 'Brand#23' and p_container = 'MED BOX';
count
-------
  6088
(1 row)

Time: 1512.782 ms

your code
tpch=# select count (*) from part, lineitem where p_partkey = l_partkey and p_brand = 'Brand#23' and p_container = 'MED BOX';
 count
-------
  6088
(1 row)

Time: 49466.999 ms #<-- result ok, but bad performance
tpch=# set hawq_hashjoin_bloomfilter to on;                                                                             SET
Time: 13.106 ms
tpch=# select count (*) from part, lineitem where p_partkey = l_partkey and p_brand = 'Brand#23' and p_container = 'MED BOX';
 count
-------
     0 #<-- result error
(1 row)

Time: 1888.176 ms

@kuien
Btw: If also test on mac, you can generate tpch data via my dbgen tools:
https://github.com/interma/misc/tree/master/hawq/dbgen_mac


UnicodeEncodeError when passing a non-ascii string in "data"

Using  requests 2.13.0 I can't seem to pass a non-ascii value as "data" on a PUT.
This might be a duplicate of issue https://github.com/kennethreitz/requests/issues/2638.
How should I send a unicode string in a request body? Doing an .encode('utf-8') seems to workaround the problem in first example, but that still fails in the second.
>>>AUTH = requests.auth.HTTPBasicAuth("john", "password")
>>>requests.put('http://localhost:8084/',headers={'Content-type':'text/plain; charset=utf-8'}, data=u'\u24B6\u24B7\u24B8\u24B9',auth=AUTH)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/site-packages/requests/api.py", line 124, in put
    return request('put', url, data=data, **kwargs)
  File "/usr/lib/python2.7/site-packages/requests/api.py", line 56, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 488, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 609, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python2.7/site-packages/requests/adapters.py", line 423, in send
    timeout=timeout
  File "/usr/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py", line 600, in urlopen
    chunked=chunked)
  File "/usr/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py", line 356, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/usr/lib64/python2.7/httplib.py", line 1020, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib64/python2.7/httplib.py", line 1054, in _send_request
    self.endheaders(body)
  File "/usr/lib64/python2.7/httplib.py", line 1016, in endheaders
    self._send_output(message_body)
  File "/usr/lib64/python2.7/httplib.py", line 871, in _send_output
    self.send(message_body)
  File "/usr/lib64/python2.7/httplib.py", line 840, in send
    self.sock.sendall(data)
  File "/usr/lib64/python2.7/socket.py", line 224, in meth
    return getattr(self._sock,name)(*args)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128)

Btw the same PUT with AWS S3 auth (V2 or V4) has similar error but different stack (I added the "!!!" prints for debugging):
>>> AUTH=AWS4Auth('john', 'password', 'eu-west-1', 's3')
>>> requests.put('http://localhost:8084/',headers={'Content-type':'text/plain'}, data=u'\u24B6\u24B7\u24B8\u24B9',auth=AUTH)
!!!1 u'PUT / HTTP/1.1\r\nHost: localhost:8084\r\nConnection: keep-alive\r\nAccept-Encoding: gzip, deflate\r\nAccept: */*\r\nUser-Agent: python-requests/2.13.0\r\ncontent-type: text/plain; charset=utf-8\r\nContent-Length: 12\r\nx-amz-date: 20170215T023125Z\r\nx-amz-content-sha256: 7ec37a06579472c0743b58bd45af589cca817f65bbd8c6e528bc5e3092166396\r\nAuthorization: AWS4-HMAC-SHA256 Credential=john/20170215/eu-west-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=e83f7e17d7c6e25a940965962df32e9c690681b158f6d9ad9f484bf9c09bb963\r\n\r\n'
!!!2 '\xe2\x92\xb6\xe2\x92\xb7\xe2\x92\xb8\xe2\x92\xb9'
!!!3 u'PUT / HTTP/1.1\r\nHost: localhost:8084\r\nConnection: keep-alive\r\nAccept-Encoding: gzip, deflate\r\nAccept: */*\r\nUser-Agent: python-requests/2.13.0\r\ncontent-type: text/plain; charset=utf-8\r\nContent-Length: 12\r\nx-amz-date: 20170215T023125Z\r\nx-amz-content-sha256: 7ec37a06579472c0743b58bd45af589cca817f65bbd8c6e528bc5e3092166396\r\nAuthorization: AWS4-HMAC-SHA256 Credential=john/20170215/eu-west-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=e83f7e17d7c6e25a940965962df32e9c690681b158f6d9ad9f484bf9c09bb963\r\n\r\n\u24b6\u24b7\u24b8\u24b9'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/site-packages/requests/api.py", line 124, in put
    return request('put', url, data=data, **kwargs)
  File "/usr/lib/python2.7/site-packages/requests/api.py", line 56, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 488, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 609, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python2.7/site-packages/requests/adapters.py", line 423, in send
    timeout=timeout
  File "/usr/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py", line 600, in urlopen
    chunked=chunked)
  File "/usr/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py", line 356, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/usr/lib64/python2.7/httplib.py", line 1020, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib64/python2.7/httplib.py", line 1054, in _send_request
    self.endheaders(body)
  File "/usr/lib64/python2.7/httplib.py", line 1016, in endheaders
    self._send_output(message_body)
  File "/usr/lib64/python2.7/httplib.py", line 865, in _send_output
    msg += message_body
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 0: ordinal not in range(128)

Hey @jamshid, I believe this is a problem with how you're using unicode in Python 2.7 rather than something requests specific. The repro below fails with the same exception without any requests code. If you pass properly encoded utf-8, it should solve this issue.
with open('testfile.out', 'w') as f:
    f.write(u'\u24B6\u24B7\u24B8\u24B9')

As for why it's failing on the second, that exception is raised when you try to encode the utf-8 encoded string a second time. It looks like AWS4Auth is doing that for you here.
All of this points to a misuse of unicode in Python 2 and possibly a bug with how AWS4Auth interacts with unicode bodies. I don't believe there's much to be done here in requests.

Thanks, @nateprewitt! Turns out AWS4Auth is adding headers as unicode strings, but Python 2.7 httplib.py or requests do not expect that and fail when concatenating the (binary?) body string. There's an easy fix to AWS4Auth for it:
https://github.com/sam-washington/requests-aws4auth/issues/29


Fix #58731 & integration test & preserve input for "create new branch"

After #58731, when explicitly setting items on a QuickPick (i.e. via the createQuickPick() API as opposed to showQuickPick() with the items as arguments), the shouldAlwaysShow field was not propagated.
This PR resolves this issue and adds an integration test.

@joaomoreno
Added a commit that adds preserving the input after accepting the "Create new branch" option (as per your comment).
Had to change some things (commit description contains details), would appreciate a strict CR to verify that it shouldn't break anything.
From my investigation, it appears that prior to the fix programmatically calling CommandCenter methods with the decorator @command(..., { repository: true }) and multiple parameters.
For instance calling this.deleteBranch(repository, 'someExistingBranch') through the debugging console would not pass on the right arguments due to the logic in .createCommand().

This actually is https://github.com/Microsoft/vscode/issues/60895
I'll close this since as I merged it in, the refactorings were just too big that I ended up rewriting it. Sorry about that. Thanks anyway!


Bumps google.golang.org/grpc from 1.39.1 to 1.40.0.

Bumps google.golang.org/grpc from 1.39.1 to 1.40.0.
Release notes
Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options

Originally posted by @tang88888888 in https://github.com/v2fly/v2ray-core/issues/1199#issuecomment-898797190

Bumps google.golang.org/grpc from 1.39.1 to 1.40.0.
Release notes
Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options

Originally posted by @tang88888888 in #1199 (comment)


Verify that drawer in tabs works with RNGH

This pattern is kind of silly but sure let's I guess make sure it works. https://github.com/react-navigation/react-navigation/issues/4714

This pattern is kind of silly
Indeed

I can verify that it works, although you might be looking for a PR with a test.
"react": "16.5.1",
"react-native": "0.57.2",
"react-navigation": "^3.0.0-rc.5",
"react-native-gesture-handler": "^1.0.9",

The pattern doesn't have to be that silly: you can use the drawer for other purposes, like filtering/sorting a main view without actually navigating, using a custom drawer component. Which might not be the intended or most obvious use-case of react-navigation, but hey. :)


number field not listed in translations / cannot be translated

Hi,
the title says it all. I assume there are more strings that are still hardcoded?
Thanks!

My fault, "number" was just not listed in the german translation file.


Removal of DataByteArray

This PR removes the class DataByteArray from the :core module.
Arguments for:

The :core module depends on material 3. No need for that if you only need this class. See: https://github.com/NordicSemiconductor/Kotlin-BLE-Library/issues/119
The #83 added API to get similar data from ByteArray directly. More formats will be added.

Arguments agains:

This class was a wrapper for ByteArray making it not necessary to add equals() and hashCode() methods to data classes that had it as a parameter. This, however, can be solved by creating similar, short class in the apps.
This class allows reading various format types using methods like getIntValue(offset, type). This has to be replaced with extension methods for ByteArray or solved differently in the apps which require it.

this change breaks usage of DataByteArray within the Kotlin-BLE-Library ManufacturerData.kt.

The current version of Kotlin BLE is using a version of the Common lib where the DataByteArray is still there. Use that one.
I'm working on refactoring (rewriting Kotlin BLE Lib) so that it won't be dependent on this library.

I was attempting to do that when I used the stable-material branch and the latest main.  Which provided the type mismatch so it seems I'm still not using the proper version of Kotlin BLE with the proper version of common.
If you can be more specific about which branches/sha commits to use, I will attempt again.
Thanks for your efforts!


Add constant-time division by a single limb

Based on https://gmplib.org/~tege/division-paper.pdf . This works ~15x faster than div_rem() for U256. 50x faster without the constant-time RECIPROCALS lookup - should we make a separate version?
For reviewers:

Suggestions on how exactly to expose the API (including the method naming) are welcome.
Should div_rem() and related methods take NonZero<Self> too, and this way avoid returning a CtOption?

Changes:

Added public Uint methods: ct_div_rem_limb_with_reciprocal(), div_rem_limb_with_reciprocal(), div_rem_limb().
Added Div, Rem, DivAssign, and RemAssign implementations for the division by Limb.
Added public Reciprocal type (exported at the root level).
Added Limb::ct_lt() and ct_le() (constant time < and <=), with the return value applicable in ct_select().
Separated Uint::shl_vartime() into shl_vartime() proper (that only shifts by whole limbs and calls shl_limb()) and shl_limb() (shifts within one limb, constant-time).
Added benchmarks (division only for now).
Removed Uint<LIMBS>: Integer bound from Div, Rem, DivAssign, and RemAssign of Uint by Uint.

TODO:

There are suggestions for implementing schoolbook division in the paper, so I think it may be worth it to try to compare that to the currently used algorithm. But that's better left for another PR.

@fjarri going to need a rebase, but that should be it for breaking changes from me for now

Perhaps you could impl<...> Div<NonZero<Limb>> for Uint<...>? (also DivAssign)

@tarcieri : should I change the regular division API to taking NonZero<Uint> in this PR?

@fjarri yeah, if there are remaining places where it doesn't (the const fns?) it'd be good to use it everywhere for consistency
It should be used on all the Div trait impls at least

Thank you!


[question] Is there a way to document the Usage section?

Is there a way to document the Usage section?
We use docopt to handle quite some devops task. There is quite some use-cases that are covered.
We have split the script into multiple files but there are still around 20 different things you can do in the Usage section.
Documentation is very important in our organization.
I wonder if there is a way that we can add documentation (some string) for different commands in the Usage section?

Perhaps something like this?
Usage:
  prog add [--all]
  prog remove <arg>
  prog move <source> <destination>

Commands:
  add    Add something to somewhere
  remove  Remove something
  move   Move from <source> to <destination>

It would be fairly easy (e.g. https://github.com/SeeSpotRun/docopt/commit/9e41facd761f618b22cf45f27819e5b30bb593c1) to modify docopt to allow brief descriptions at the end of each Usage pattern.  This can improve readability, particularly if there are 20 different commands as per @brodul's case:
Usage:
  prog add [--all]                   # Add something to somewhere
  prog remove <arg>                  # Remove something
  prog move <source> <destination>   # Move from <source> to <destination>

Or something like https://github.com/SeeSpotRun/docopt/commit/c66bf5b8100ea2b0fff3eebaa39dde175972723f if you want the comment delimiter to be configurable

@SeeSpotRun Docopt only incorporates POSIX standard syntax and widely used conventions. I haven't seen # in usage. Re-open this issue if you can provide evidence that this is widely used.

It was never my issue so perhaps @brodul is the one to decide if this warrants re-opening.
The POSIX guidelines don't specify any limitations on what the usage string should look like, only on command syntax.
I can't recall seeing # in usage anywhere.  I hadn't really considered using it until I saw @brodul's post, but I must admit I like the readability of the inline comments.  For utilities with multiple command options it seems common to put the description on the next line and indented, eg:
$ mdadm --help
mdadm is used for building, managing, and monitoring Linux md devices (aka RAID arrays)
Usage: mdadm --create device options...
            Create a new array from unused devices.
       mdadm --assemble device options...
            Assemble a previously created array.
       mdadm --build device options...
            Create or assemble an array without metadata.
       ...etc

I think this is much better than putting them all at the end.

The POSIX guidelines don't specify any limitations on what the usage string should look like, only on command syntax.

http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html

For utilities with multiple command options it seems common to put the description on the next line and indented

I had never seen this before. Can you provide with real-world examples of this syntax in use? In order to include it into docopt it must be an existing widely accepted convention.
Until then, this is the docopt way to accomplish this:
Usage:
  prog add [--all]
  prog remove <arg>
  prog move <source> <destination>

Commands:
  add     Add something to somewhere
  remove  Remove something
  move    Move from <source> to <destination>

This format is widely used (e.g. git) and is supported by docopt.

I had never seen this before. Can you provide with real-world examples of this syntax in use? In order to include it into docopt it must be an existing widely accepted convention.

As per previous post, mdadm is one:
$ mdadm --help
mdadm is used for building, managing, and monitoring
Linux md devices (aka RAID arrays)
Usage: mdadm --create device options...
            Create a new array from unused devices.
       mdadm --assemble device options...
            Assemble a previously created array.
       mdadm --build device options...
            Create or assemble an array without metadata.
       mdadm --manage device options...
            make changes to an existing array.
       mdadm --misc options... devices
            report on or modify various md related devices.
       mdadm --grow options device
            resize/reshape an active array
       mdadm --incremental device
            add/remove a device to/from an array as appropriate
       mdadm --monitor options...
            Monitor one or more array for significant changes.
       mdadm device options...
            Shorthand for --manage.
Any parameter that does not start with '-' is treated as a device name
or, for --examine-bitmap, a file name.
The first such name is often the name of an md device.  Subsequent
names are often names of component devices.

 For detailed help on the above major modes use --help after the mode
 e.g.
         mdadm --assemble --help
 For general help on options use
         mdadm --help-options

Then there is fdisk:
$ fdisk --help

Usage:
 fdisk [options] <disk>      change partition table
 fdisk [options] -l [<disk>] list partition table(s)

Display or manipulate a disk partition table.

Options:
 -b, --sector-size <size>      physical and logical sector size
...

Also btrfs-progs:
$ btrfs --help
usage: btrfs [--help] [--version] <group> [<group>...] <command> [<args>]

    btrfs subvolume create [-i <qgroupid>] [<dest>/]<name>
        Create a subvolume
    btrfs subvolume delete [options] <subvolume> [<subvolume>...]
        Delete subvolume(s)
    btrfs subvolume list [options] [-G [+|-]value] [-C [+|-]value] [--sort=gen,ogen,rootid,path] <path>
        List subvolumes (and snapshots)
    btrfs subvolume snapshot [-r] [-i <qgroupid>] <source> <dest>|[<dest>/]<name>
        Create a snapshot of the subvolume
    btrfs subvolume get-default <path>
        Get the default subvolume of a filesystem
    btrfs subvolume set-default <subvolid> <path>
        Set the default subvolume of a filesystem
    btrfs subvolume find-new <path> <lastgen>
        List the recently modified files in a filesystem
    btrfs subvolume show <subvol-path>
        Show more information of the subvolume
    btrfs subvolume sync <path> [<subvol-id>...]
        Wait until given subvolume(s) are completely removed from the filesystem.

    btrfs filesystem df [options] <path>
        Show space usage information for a mount point
    btrfs filesystem du [options] <path> [<path>..]
        Summarize disk usage of each file.
    btrfs filesystem show [options] [<path>|<uuid>|<device>|label]
        Show the structure of a filesystem
    btrfs filesystem sync <path>
        Force a sync on a filesystem
    btrfs filesystem defragment [options] <file>|<dir> [<file>|<dir>...]
        Defragment a file or a directory
    btrfs filesystem resize [devid:][+/-]<newsize>[kKmMgGtTpPeE]|[devid:]max <path>
        Resize a filesystem
    btrfs filesystem label [<device>|<mount_point>] [<newlabel>]
        Get or change the label of a filesystem
    btrfs filesystem usage [options] <path> [<path>..]
        Show detailed information about internal filesystem usage .

    btrfs balance start [options] <path>
        Balance chunks across the devices
    btrfs balance pause <path>
        Pause running balance
    btrfs balance cancel <path>
        Cancel running or paused balance
    btrfs balance resume <path>
        Resume interrupted balance
    btrfs balance status [-v] <path>
        Show status of running or paused balance

    btrfs device add [options] <device> [<device>...] <path>
        Add a device to a filesystem
    btrfs device delete <device>|<devid> [<device>|<devid>...] <path>
    btrfs device remove <device>|<devid> [<device>|<devid>...] <path>
        Remove a device from a filesystem
    btrfs device scan [(-d|--all-devices)|<device> [<device>...]]
        Scan devices for a btrfs filesystem
    btrfs device ready <device>
        Check device to see if it has all of its devices in cache for mounting
    btrfs device stats [options] <path>|<device>
        Show device IO error statistics
    btrfs device usage [options] <path> [<path>..]
        Show detailed information about internal allocations in devices.

    btrfs scrub start [-BdqrRf] [-c ioprio_class -n ioprio_classdata] <path>|<device>
        Start a new scrub. If a scrub is already running, the new one fails.
    btrfs scrub cancel <path>|<device>
        Cancel a running scrub
    btrfs scrub resume [-BdqrR] [-c ioprio_class -n ioprio_classdata] <path>|<device>
        Resume previously canceled or interrupted scrub
    btrfs scrub status [-dR] <path>|<device>
        Show status of running or finished scrub

    btrfs check [options] <device>
        Check structural integrity of a filesystem (unmounted).

    btrfs rescue chunk-recover [options] <device>
        Recover the chunk tree by scanning the devices one by one.
    btrfs rescue super-recover [options] <device>
        Recover bad superblocks from good copies
    btrfs rescue zero-log <device>
        Clear the tree log. Usable if it's corrupted and prevents mount.

    btrfs restore [options] <device> <path> | -l <device>
        Try to restore files from a damaged filesystem (unmounted)

    btrfs inspect-internal inode-resolve [-v] <inode> <path>
        Get file system paths for the given inode
    btrfs inspect-internal logical-resolve [-Pv] [-s bufsize] <logical> <path>
        Get file system paths for the given logical address
    btrfs inspect-internal subvolid-resolve <subvolid> <path>
        Get file system paths for the given subvolume ID.
    btrfs inspect-internal rootid <path>
        Get tree ID of the containing subvolume of path.
    btrfs inspect-internal min-dev-size [options] <path>
        Get the minimum size the device can be shrunk to. The
    btrfs inspect-internal dump-tree [options] device
        Dump tree structures from a given device
    btrfs inspect-internal dump-super [options] device [device...]
        Dump superblock from a device in a textual form
    btrfs inspect-internal tree-stats [options] <device>
        Print various stats for trees

    btrfs property get [-t <type>] <object> [<name>]
        Gets a property from a btrfs object.
    btrfs property set [-t <type>] <object> <name> <value>
        Sets a property on a btrfs object.
    btrfs property list [-t <type>] <object>
        Lists available properties with their descriptions for the given object.

    btrfs send [-ve] [-p <parent>] [-c <clone-src>] [-f <outfile>] <subvol> [<subvol>...]
        Send the subvolume(s) to stdout.
    btrfs receive [options] <mount>
btrfs receive --dump [options]
        Receive subvolumes from a stream

    btrfs quota enable <path>
        Enable subvolume quota support for a filesystem.
    btrfs quota disable <path>
        Disable subvolume quota support for a filesystem.
    btrfs quota rescan [-sw] <path>
        Trash all qgroup numbers and scan the metadata again with the current config.

    btrfs qgroup assign [options] <src> <dst> <path>
        Assign SRC as the child qgroup of DST
    btrfs qgroup remove <src> <dst> <path>
        Remove a child qgroup SRC from DST.
    btrfs qgroup create <qgroupid> <path>
        Create a subvolume quota group.
    btrfs qgroup destroy <qgroupid> <path>
        Destroy a quota group.
    btrfs qgroup show [options] <path>
        Show subvolume quota groups.
    btrfs qgroup limit [options] <size>|none [<qgroupid>] <path>
        Set the limits a subvolume quota group.

    btrfs replace start [-Bfr] <srcdev>|<devid> <targetdev> <mount_point>
        Replace device of a btrfs filesystem.
    btrfs replace status [-1] <mount_point>
        Print status and progress information of a running device replace
    btrfs replace cancel <mount_point>
        Cancel a running device replace operation.

    btrfs help [--full]
        Display help information
    btrfs version
        Display btrfs-progs version

Use --help as an argument for information on a specific group or command.

(Imagine how that would look if all the explanations were placed at the bottom...)
vim:
$ vim --help
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Mar  6 2017 14:11:23)

usage: vim [arguments] [file ..]       edit specified file(s)
   or: vim [arguments] -               read text from stdin
   or: vim [arguments] -t tag          edit file where tag is defined
   or: vim [arguments] -q [errorfile]  edit file with first error

Arguments:
   --			Only file names after this
   -g			Run using GUI (like "gvim")
...

Slightly more indirect but still inline is netctl:
$ netctl --help
Usage: netctl {COMMAND} [PROFILE]
              [--help|--version]

Commands:
  list                  List available profiles
  store                 Save which profiles are active
  restore               Load saved profiles
  stop-all              Stops all profiles
  start [PROFILE]       Start a profile
  stop [PROFILE]        Stop a profile
  restart [PROFILE]     Restart a profile
  switch-to [PROFILE]   Switch to a profile
  is-active [PROFILE]   Check whether a profile is active
  status [PROFILE]      Show runtime status of a profile
  enable [PROFILE]      Enable the systemd unit for a profile
  disable [PROFILE]     Disable the systemd unit for a profile
  reenable [PROFILE]    Reenable the systemd unit for a profile
  is-enabled [PROFILE]  Check whether a profile is enabled
  edit [PROFILE]        Edit a profile

@SeeSpotRun thanks for the extensive research! I see that this convention is used, but not exactly with # character.

Indeed; they typically use newline as the delimiter.  But that's probably not smart (can get a bit mangled if terminal width is narrow).  And implementing via newline in docopt would potentially clash with users who want to split a long command over several lines for readability.  So either comments need a ' #' delimiter, or multi line commands need a '\' continuation character.  Or both (which would make Usage syntax consistent with bash syntax).


[Deployment] Existing database marketplace item table schema transfer

Introduction
In v1.5.0 to v1.6.0 upgrade, marketplace item schema is changed to add access control ability to APIs.
Issues / Motivations
For new deployment marketplace service, there is already changed the database initialization code.
But for exist marketplace database, it will be better to implement an upgrade script to upgrade marketplace item schema.
Proposals / Solutions

[ ] A sql script ?

Work Plan
Demo
Test cases

[ ] Update v1.5.0 deployed database to v1.6.0 schema

Could you done it by add an extra logic in model init

Add a detection and schema renewing code in model init rather than a simple sql migration code ? @debuggy


OCPBUGS-32894: Upgrade go-jose module to 2.6.3

Upgrade go-jose module to 2.6.3

/jira refresh

Verified with cluster-bot build.
Azure workload identity cluster installed successfully.
Regression tested with OCP-34470/50869/69971.

/label cherry-pick-approved


Can’t open the dataset.pkl

When I run the program, I cannot open the dataset.pkl file with pandas. I think it is the version of pandas, so can you disclose the version of pandas used.

Hi, I encountered the same problem. Did you find out the version of pandas used?


models importing issue

First of all I would like to appreciate your work , i am facing a little bit error in models importing from DeepPurpose other modules working fine of DeepPurpose.
from DeepPurpose import models

ImportError                               Traceback (most recent call last)
 in
----> 1 from DeepPurpose import models
ImportError: cannot import name 'models'

Hi the models class is deprecated as we extend above multiple tasks. Where did you find this code? I can change the code to avoid future confusion. The old models class is now DTI class. To support the same code you could replace it with
from DeepPurpose import DTI as models

Hi the models class is deprecated as we extend above multiple tasks. Where did you find this code? I can change the code to avoid future confusion. The old models class is now DTI class. To support the same code you could replace it with
from DeepPurpose import DTI as models

Thank you for your positive and quick response. I have found it from the Pip Installation source https://pypi.org/project/DeepPurpose/.

Thank you for your positive and quick response. I have found it from the Pip Installation source https://pypi.org/project/DeepPurpose/.


Failed to load prism syntax: shell

Failed to load prism syntax: shell
{ Error: Cannot find module 'prismjs/components/prism-shell.js'
at Function.Module._resolveFilename (module.js:527:15)
at Function.Module._load (module.js:476:23)
at Module.require (module.js:568:17)
at require (internal/module.js:11:18)
at requireSyntax (/Users/meitu/hexo/golang-notes/node_modules/gitbook-plugin-prism/index.js:31:3)
at Object.code (/Users/meitu/hexo/golang-notes/node_modules/gitbook-plugin-prism/index.js:103:11)
at Record.TemplateBlock.applyBlock (/Users/meitu/.gitbook/versions/3.2.3/lib/models/templateBlock.js:205:23)
at /Users/meitu/.gitbook/versions/3.2.3/lib/output/getModifiers.js:56:33
at /Users/meitu/.gitbook/versions/3.2.3/lib/output/modifiers/highlightCode.js:47:24
at /Users/meitu/.gitbook/versions/3.2.3/lib/output/modifiers/editHTMLElement.js:11:16 code: 'MODULE_NOT_FOUND' }

Can you provide more details? Code snippets, source code, etc?

The error will appear in the following ways：
```shell
shell scripts
```
failed to load prism syntax: shell，
this problem can be solved like :
```bash
shell scripts
```

You have an old version of Prism; the latest version includes shell as an alias for bash.

This may be an issue with Gitbook itself, if the version of Prism is bundled with that library.

I just run the command gitbook install
the output is :
info: installing plugin "prism"
info: install plugin "prism" (*) from NPM with version 2.4.0
info: >> plugin "prism" installed with success

so the prism version is 2.4.0，but the latest version is v1.15.0?

@huweihuang gitbook-plugin-prism plugin default not support shell as an alias for bash. but you can customize alias, like this:
// book.json
"pluginsConfig": {
    "prism": {
      "lang": {
        "shell": "bash"
      }
    }
}