Support AQL Sort and Limit

Currently, when using the CLI for artifactory I can't limit or sort my results.
This is the command I am using:
jfrog rt s --spec=query-aql.json
{
  "files": [
    {
      "aql": {
        "items.find": {
          "repo": "repo",
          "$and": [
            {
              "path": { "$match": "path/*"},
              "name": { "$match": "*.rpm"}
            }
          ]
        }
      },
      "sort": {
        "$asc": ["modified"]
      },
      "limit": 1
    }
  ]
}

I would like to be able to narrow down my results to one and then use the same spec to download the files with:
jfrog rt dl --spec=query-aql.json
Otherwise I need a high level language to parse the json output and filter stuff. But that is the purpose behind AQL, right?
Related stack overflow question:
http://stackoverflow.com/q/44077569/1601989

Thanks for sharing the need @DavidGamba
We'll look into addidng sort and limit support in the future and as always, welcome a pull request from the community to help us deliver this.

@DavidGamba and @jgeorgeson,
Version 1.12.0 added support for sort and limit, by adding sort-by, sort-order and limit both as command line options and File Spec properties. See the documentation for more information.
We'd also appreciate your feedback for the new functionality.

Working nicely in my end!

For me it seems only to work as command line parameter but not in spec file.

@MichaelSiggelkowRnS,
Can you please share with us the spec that you used?

My spec file looks like
{     "files": [         {             "pattern" : "repo/test/*",             "sort-by" : "path",             "sort-order" : "asc",             "limit": 2         }     ] }
which results on the debug output as
items.find({"repo": "repo","path": {"$ne": "."},"$or": [{"$and":[{"path": {"$match": "test"},"name": {"$match": "*"}}]},{"$and":[{"path": {"$match": "test/*"},"name": {"$match": "*"}}]}]}).include("name","repo","path","actual_md5","actual_sha1","size","type").limit(2)
Where as if I use the command line as
jfrog.exe rt s repo/test/* --sort-by "path" --sort-order "desc"
it resuls in the debug output as
items.find({"repo": "repo","path": {"$ne": "."},"$or": [{"$and":[{"path": {"$match": "test"},"name": {"$match": "*"}}]},{"$and":[{"path": {"$match": "test/*"},"name": {"$match": "*"}}]}]}).include("name","repo","path","actual_md5","actual_sha1","size","type").sort({"$desc":["path"]})
Thanks!

@MichaelSiggelkowRnS ,
thanks for your input!
We had a problem with our documentation. the correct format for the sort params in a spec file are: sortBy snd sortOrder (and not sort-by and sort-order).
we have fixed the documentation accordingly.
please check and let us know if your problem is fixed.
Thanks again!

@ortsi Thanks a lot! That works for me now! One more question: Will this also be supported  for Jenkins PlugIn? According to https://www.jfrog.com/confluence/display/RTF/Using+File+Specs file specs should work same way for jenkins and cli ... Thanks!

@MichaelSiggelkowRnS,
Thanks for your feedback!
Currently the sorting functionality is implemented in JFrog CLI only. We do however plan to implement this functionality in the build info project, which is used by the Jenkins, TeamCity and Bamboo Artifactory plugins.
Since the File Spec schema of JFrog CLI and the other CI plugins may not always be identical, we'll modify the File Specs documentation page, so that it references the File Specs section which is specific to JFrog CLI.

@eyalbe4 Thank you for the update. I am really looking for a way that would allow to have one input format that could be used by CLI (for developer PCS) and by jenkins. So having one file spec format (and behaviour) would be much appreciated. Thanks!

Thank you all for the feedback. I think that this issue can be closed.


Branch protection user/team lists do not list everyone

Description
I tried setting up whitelists for branch protection but dropdowns only list 4 out of 9 org members. Text search only searches among these 4.

Similar thing happened to teams - one of the teams wasnt showing. It worked after team recreation.
I noticed that each of these 4 members is on top of user list of some team. Membership from top to bottom for 1st screenshot:

none, is website admin
CI
devs-back (bottom); lead-devs (top)
devs-back (top)

Gitea Version
1.17.0+rc1
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
No response
Screenshots
No response
Git Version
No response
Operating System
No response
How are you running Gitea?
Locally compiled binary
Database
PostgreSQL

Could you confirm all of the 9 members have read permissions to that repository?

Could you confirm all of the 9 members have read permissions to that repository?

Yes.
So here is a devs-back team:

It has access to all currently exising repositories (as seen in ui). Look at 3 top members. Red avatar is listed in dropdown while 2 other people are not. All these 3 people only have a single role. 4th member is also a member of other team.
Team permissions:

This might be related: trying to add team to repository collaborators, search does not work at all, request logs say it always 404s. Even if i type in team name exactly search shows 404 even though pressing button successfully adds that team

I've looked into the issue and the code for this is correct and straightforward. But it's likely that you didn't add the teams to the repository(otherwise other issues would arise if this is already the case). Also for the 404's it's not reproducible for me.

it has access to that repository:

today i've got 4 different users shown in that list. still not everyone:

Is the list scrollable?

So it seems like the code was correct, however the code to store the access information into the database wasn't. Fixed by #20275


Stacked Line Chart BUG

When the value of index = 0 of a label exceeds the value of index = 0 of other labels by several orders of magnitude, the icon display will have problems

I'm sorry for closing this issue. Please recreate another issue with a specific description and tidy format as the echarts-bot said.
It would be better if some examples can be provided on https://gallery.echartsjs.com/editor.html or https://codepen.io/.


Solver fails, don't understand why

✗ dep ensure -v -update
Root project is "postverta/lib"
 2 transitively valid internal packages
 1 external packages imported from 1 projects
(0)   ✓ select (root)
(1)     ? attempt gopkg.in/src-d/go-git.v4 with 1 pkgs; 10 versions to try
(1)         try<EMAIL_ADDRESS>(1)     ✓ select<EMAIL_ADDRESS>w/1 pkgs
(2)     ? attempt github.com/sergi/go-diff with 1 pkgs; 1 versions to try
(2)         try github.com/sergi/go-diff@master
(2)     ✓ select github.com/sergi/go-diff@master w/1 pkgs
(3)     ? attempt srcd.works/go-billy.v1 with 2 pkgs; 1 versions to try
(3)         try srcd.works/go-billy.v1@v1
(3)     ✓ select srcd.works/go-billy.v1@v1 w/2 pkgs
(4)     ? attempt srcd.works/go-git.v4 with 16 pkgs; 1 versions to try
(4)         try srcd.works/go-git.v4@v4
(5)     ✗   srcd.works/go-git.v4@v4 depping on gopkg.in/src-d/go-git.v4 at v4.0.0-rc9 has problem subpkg(s):    gopkg.in/src-d/go-git.v4/plumbing/cache is missing gopkg.in/src-d/go-git.v4/plumbing/filemode is missing   gopkg.in/src-d/go-git.v4/storage has parsing err (*build.NoGoError).
(4)       ← no more versions of srcd.works/go-git.v4 to try; begin backtrack
(3)     ← backtrack: no more versions of srcd.works/go-billy.v1 to try
(2)     ← backtrack: no more versions of github.com/sergi/go-diff to try
(1)       ? continue gopkg.in/src-d/go-git.v4 with 1 pkgs; 9 more versions to try
(1)         try<EMAIL_ADDRESS>(2)     ✗<EMAIL_ADDRESS>not allowed by constraint v4.0.0-rc9:
(2)         v4.0.0-rc9 from (root)
(1)         try<EMAIL_ADDRESS>(2)     ✗<EMAIL_ADDRESS>not allowed by constraint v4.0.0-rc9:
(2)         v4.0.0-rc9 from (root)
(1)         try<EMAIL_ADDRESS>(2)     ✗<EMAIL_ADDRESS>not allowed by constraint v4.0.0-rc9:
(2)         v4.0.0-rc9 from (root)
(1)         try<EMAIL_ADDRESS>(2)     ✗<EMAIL_ADDRESS>not allowed by constraint v4.0.0-rc9:
(2)         v4.0.0-rc9 from (root)
(1)         try<EMAIL_ADDRESS>(2)     ✗<EMAIL_ADDRESS>not allowed by constraint v4.0.0-rc9:
(2)         v4.0.0-rc9 from (root)
(1)         try<EMAIL_ADDRESS>(2)     ✗<EMAIL_ADDRESS>not allowed by constraint v4.0.0-rc9:
(2)         v4.0.0-rc9 from (root)
(1)         try<EMAIL_ADDRESS>(2)     ✗<EMAIL_ADDRESS>not allowed by constraint v4.0.0-rc9:
(2)         v4.0.0-rc9 from (root)
(1)         try<EMAIL_ADDRESS>(2)     ✗<EMAIL_ADDRESS>not allowed by constraint v4.0.0-rc9:
(2)         v4.0.0-rc9 from (root)
(1)         try gopkg.in/src-d/go-git.v4@v4
(2)     ✗   gopkg.in/src-d/go-git.v4@v4 not allowed by constraint v4.0.0-rc9:
(2)         v4.0.0-rc9 from (root)
(1)     ← backtrack: no more versions of gopkg.in/src-d/go-git.v4 to try
  ✗ solving failed

Solver wall times by segment:
     b-list-versions: 3.308520307s
         b-list-pkgs: 1.717426032s
  b-deduce-proj-root: 812.546769ms
              b-gmal:  13.727287ms
             satisfy:   8.397538ms
           backtrack:   3.893841ms
     b-source-exists:   2.228148ms
         select-atom:   2.004254ms
            new-atom:    626.796µs
            unselect:    608.953µs
         select-root:     202.82µs
          b-pair-rev:     93.936µs
           b-matches:     37.138µs
      b-pair-version:     12.487µs
               other:      6.187µs

  TOTAL: 5.870332493s

solve error: No versions of srcd.works/go-git.v4 met constraints:
        v4: Could not introduce srcd.works/go-git.v4@v4, as it requires problematic packages from gopkg.in/src-d/go-git.v4 (current version v4.0.0-rc9):   gopkg.in/src-d/go-git.v4/plumbing/cache is missing.     gopkg.in/src-d/go-git.v4/plumbing/filemode is missing.     gopkg.in/src-d/go-git.v4/storage does not contain usable Go code (*build.NoGoError).
ensure Solve(): No versions of srcd.works/go-git.v4 met constraints:
        v4: Could not introduce srcd.works/go-git.v4@v4, as it requires problematic packages from gopkg.in/src-d/go-git.v4 (current version v4.0.0-rc9):   gopkg.in/src-d/go-git.v4/plumbing/cache is missing.     gopkg.in/src-d/go-git.v4/plumbing/filemode is missing.     gopkg.in/src-d/go-git.v4/storage does not contain usable Go code (*build.NoGoError).

The solver compains no usable Go code for something reason I don't understand.  go get works fine

nvm, the issue here lays within the code itself.


Show all user repos on settings page

Now we have simple code which displays only first 100 user repos:
https://github.com/ossboard-org/ossboard/blob/master/apps/api/controllers/user_repos/show.rb#L20-L22
What we need show (call N times URL until data will be empty) all repos on this page:
http://www.ossboard.org/users/<username>/settings
P.S.: Also we need to update our tests for this action for this

@davydovanton I would love to work on this.

Fetching all user repos (over 100) was not hard. But I am working on fixing tests and that is getting a little tricky. When I cloned the repo, 7 tests in spec/ossboard/repositories/task_repository_spec.rb were failing, so I am looking into those too. Getting "{"error":"Unauthorized"}" related to gitlab issues in some other tests. I am wondering how user_repos could have caused that.
@davydovanton

actually, CI is passing those task_repository specs so it is just the new ones I need to fix.


[Dashboard] Sources page to v5

Problem solved
Short description of the bug fixed or feature added

PR-Codex overview
This PR focuses on updating contract-related components and hooks with changes related to contract ABI resolution and sources display.
Detailed summary

Updated components and hooks to use useResolveContractAbi for ABI resolution
Modified sources display in SourcesAccordion and ContractSourcesPage
Replaced useContractAbiItems with useV5DashboardChain and getContract usage

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

#4201  👈
main

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

Join @kien-ngo and the rest of your teammates on  Graphite


Patch/new cbp mapping

Add supplemental properties that may curated for certain projects, i.e. see https://www.cell.com/stem-cell-reports/fulltext/S2213-6711(19)30002-5?_returnURL=https%3A%2F%2Flinkinghub.elsevier.com%2Fretrieve%2Fpii%2FS2213671119300025%3Fshowall%3Dtrue#tbl1
I expect main reviewers to be Robert or Jineta, but Christina for awareness.

@cconrad8 Yep, nf1GermlineMutation and nf1SomaticMutation are now attributes in the model, just not part of any template yet. There's still an issue out to develop a real clinical data template, which could make use of these.

@anngvu gotcha sounds good!


Migrated opaque tokens with unlimited validity period not working

Description:
When an APIM 2.6 DB with an unlimited validity period is migrated to 3.2, it can be used only once. When trying to use it again, a token expired error occurs.
Steps to reproduce:
Affected Product Version:
3.2.0
Environment details (with versions):

OS:
Client:
Env (Docker/K8s):

Optional Fields
Related Issues:

Suggested Labels:

Suggested Assignees:

Fixes for this issue
https://github.com/wso2-support/carbon-apimgt/pull/2539/
https://github.com/wso2-support/carbon-apimgt/pull/2560
https://github.com/wso2-support/identity-inbound-auth-oauth/pull/761

Public fix
https://github.com/wso2-extensions/identity-inbound-auth-oauth/pull/1478
https://github.com/wso2/carbon-apimgt/pull/9331


Can't find mms package under com.google.android

First of all, thanks for sharing those jars.
My issue is that I'm trying to use the hidden API com.google.android.mms but it isn't available on the downloaded jar for API 23.

com.google.android.mms is a Google's library for Android while Android hidden APIs only support non-library package. The proof is you can add this package to build.gradle of your app's module, e.g:
dependencies {
    compile 'com.google.android.gms:play-services-ads:9.0.2'
}

If you really need to use the hidden classes from com.google.android.mms, we still have an alternative, i.e. using Java reflection.

Hi Anggrayudi,
Thanks! FYI, I'm trying to compile this test from Android CTS suite outside the CTS package:
https://android.googlesource.com/platform/cts/+/5623639ce9a6b52413ae429f49599a1d937ad3c3/tests/tests/telephony/src/android/telephony/cts/MmsTest.java


ssl handshake failure

very mysterious, doesn't seem to affect functionality
seems similar to:
https://stackoverflow.com/questions/33269617/python-gunicorn-using-ssl-cerficate-error
Error handling request
Traceback (most recent call last):
  File "/root/anaconda3/envs/url/lib/python3.5/site-packages/gunicorn-19.1.0-py3.5.egg/gunicorn/workers/sync.py", line 92, in handle
    req = six.next(parser)
  File "/root/anaconda3/envs/url/lib/python3.5/site-packages/gunicorn-19.1.0-py3.5.egg/gunicorn/http/parser.py", line 40, in __next__
    self.mesg = self.mesg_class(self.cfg, self.unreader, self.req_count)
  File "/root/anaconda3/envs/url/lib/python3.5/site-packages/gunicorn-19.1.0-py3.5.egg/gunicorn/http/message.py", line 151, in __init__
    super(Request, self).__init__(cfg, unreader)
  File "/root/anaconda3/envs/url/lib/python3.5/site-packages/gunicorn-19.1.0-py3.5.egg/gunicorn/http/message.py", line 51, in __init__
    unused = self.parse(self.unreader)
  File "/root/anaconda3/envs/url/lib/python3.5/site-packages/gunicorn-19.1.0-py3.5.egg/gunicorn/http/message.py", line 163, in parse
    self.get_data(unreader, buf, stop=True)
  File "/root/anaconda3/envs/url/lib/python3.5/site-packages/gunicorn-19.1.0-py3.5.egg/gunicorn/http/message.py", line 154, in get_data
    data = unreader.read()
  File "/root/anaconda3/envs/url/lib/python3.5/site-packages/gunicorn-19.1.0-py3.5.egg/gunicorn/http/unreader.py", line 38, in read
    d = self.chunk()
  File "/root/anaconda3/envs/url/lib/python3.5/site-packages/gunicorn-19.1.0-py3.5.egg/gunicorn/http/unreader.py", line 65, in chunk
    return self.sock.recv(self.mxchunk)
  File "/root/anaconda3/envs/url/lib/python3.5/ssl.py", line 922, in recv
    return self.read(buflen)
  File "/root/anaconda3/envs/url/lib/python3.5/ssl.py", line 799, in read
    return self._sslobj.read(len, buffer)
  File "/root/anaconda3/envs/url/lib/python3.5/ssl.py", line 585, in read
    v = self._sslobj.read(len)
ssl.SSLError: [SSL: SSL_HANDSHAKE_FAILURE] ssl handshake failure (_ssl.c:2090)

Error handling request
Traceback (most recent call last):
File "/root/anaconda3/envs/url/lib/python3.5/site-packages/gunicorn-19.1.0-py3.5.egg/gunicorn/workers/sync.py", line 92, in handle
req = six.next(parser)
File "/root/anaconda3/envs/url/lib/python3.5/site-packages/gunicorn-19.1.0-py3.5.egg/gunicorn/http/parser.py", line 40, in next
self.mesg = self.mesg_class(self.cfg, self.unreader, self.req_count)
File "/root/anaconda3/envs/url/lib/python3.5/site-packages/gunicorn-19.1.0-py3.5.egg/gunicorn/http/message.py", line 151, in init
super(Request, self).init(cfg, unreader)
File "/root/anaconda3/envs/url/lib/python3.5/site-packages/gunicorn-19.1.0-py3.5.egg/gunicorn/http/message.py", line 51, in init
unused = self.parse(self.unreader)
File "/root/anaconda3/envs/url/lib/python3.5/site-packages/gunicorn-19.1.0-py3.5.egg/gunicorn/http/message.py", line 163, in parse
self.get_data(unreader, buf, stop=True)
File "/root/anaconda3/envs/url/lib/python3.5/site-packages/gunicorn-19.1.0-py3.5.egg/gunicorn/http/message.py", line 154, in get_data
data = unreader.read()
File "/root/anaconda3/envs/url/lib/python3.5/site-packages/gunicorn-19.1.0-py3.5.egg/gunicorn/http/unreader.py", line 38, in read
d = self.chunk()
File "/root/anaconda3/envs/url/lib/python3.5/site-packages/gunicorn-19.1.0-py3.5.egg/gunicorn/http/unreader.py", line 65, in chunk
return self.sock.recv(self.mxchunk)
File "/root/anaconda3/envs/url/lib/python3.5/ssl.py", line 922, in recv
return self.read(buflen)
File "/root/anaconda3/envs/url/lib/python3.5/ssl.py", line 799, in read
return self._sslobj.read(len, buffer)
File "/root/anaconda3/envs/url/lib/python3.5/ssl.py", line 585, in read
v = self._sslobj.read(len)
ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:2090)


[FEATURE REQUEST] Create a pipeline for automatic testing of backup and recovery feature

Is your feature request related to a problem? Please describe.
Create a pipeline for automatic testing of backup and recovery of supported components.

DoD checklist

[ ] Changelog updated
[ ] COMPONENTS.md updated / doesn't need to be updated
[ ] Schema updated / doesn't need to be updated
[ ] Feature has automated tests
[ ] Automated tests passed (QA pipelines)

[ ] apply
[ ] upgrade

[ ] Idempotency tested
[ ] Documentation added / updated / doesn't need to be updated
[ ] All conversations in PR resolved
[ ] Solution meets requirements and is done according to design doc
[ ] Usage compliant with license
[ ] Backport tasks created / doesn't need to be backported

@seriva we already have a pipeline to test backup and recovery: https://dev.azure.com/abb-epiphany/epiphany/_release?_a=releases&view=all&definitionId=253
I would just close this task, as migrating to the YAML-based pipelines will apply to all pipelines.

Closing as per @przemyslavic  suggestions


Recordset select scrollbars

The recordset directive has 2 content areas, main and facet. These 2 areas have separate scroll bars and can independently scroll. This is not the same in the recordset select directive.
In the select directive, there is a scroll bar in the table itself (instead of for the main content pane. We may want to keep this, so don't address this part) and there is a scrollbar on the right side of the modal popup. This outer scrollbar scrolls the whole modal (which includes the facet panel). This causes the table content to disappear out of view when looking at a facet at the bottom of the list.

This functionality was changed in the UX mitigation PR, #1847 , closing this issue as fixed.


[Sonatype Lift]  ImmutableEnumChecker

Tool
ErrorProne
File
rest-toolkit-utils/src/main/java/io/github/nichetoolkit/rest/worker/jwt/AlgorithmType.java
Line
1298
Description
enums should be immutable: 'AlgorithmType' has non-final field 'signer' (More Details)

Tool
ErrorProne
File
rest-toolkit-utils/src/main/java/io/github/nichetoolkit/rest/worker/jwt/AlgorithmType.java
Line
1299
Description
enums should be immutable: 'AlgorithmType' has non-final field 'verifier' (More Details)