Disable negativeAck for Key_Shared sub type.

Fixes #9582
Motivation
The message negative ack will break the message ordering dispatch guarantee, Key_Shared is an ordering dispatch guarantee subscription, so we should avoid the message negative ack for the Key_Shared subscription.
Modifications
Check if it's Key_Shared subscription type before negativeAcking messages.
Verifying this change
This change added tests and can be verified as follows:

Added test case.

@merlimat
I'm not sure how the negative acks also work for Exclusive and Failover subscriptions, which are also ordered works, from the source code, seems nothing different for the negative ack between different subscription types. For sequential processing, the application usually processes the next message after one message is successfully processed. So the application should retry the failed message until processed successfully.
Currently, users can use the strictly ordered guarantee and allow out of order. I think If users enabled the out of order option, they can use the DLQ/nack, but for the strictly ordered guarantee, we should avoid the DLQ and nack.

My point of comparison was that it doesn't make sense to disable for key-shared when it's allowed for exclusive and failover.
The bigger point here is that the exclusiveness is not only done with the purpose of ordering (both for exclusive, failover as well as for key-shared type).

I see, thanks for the explanation. So for the DLQ and negative ack, we can allow to enable them for all subscription types but if the purpose is ordering, we should not use DLQ and negative ack.

As discussed, closing this pr, will have another pr to update document for negative ack/DLQ for ordered sub type.


Support filtering on hidden columns

Currently, Grist filters can only be applied on visible columns. Expanding filtering to hidden columns opens up additional opportunities for controlling data presentation in views with hidden fields/columns.

Grist now supports adding filters to hidden columns. If a filtered column is hidden, the filter remains in effect.


Bump up velox_exec_test timeout limit

velox_exec_test is failing with timeout, reason being sum of different
test suites, example of test suites that took more than 3 minutes:
TableScanTest 3minutes,
SpillTestSuite/SpillTest 4 minutes
HashJoinTest 7 minutes
TableWriterTest 4 minutes
Bump up the test timeout limit.

the build went through and I saw the timeout correctly set now
test 278
        Start 278: velox_exec_test

278: Test command: /root/project/_build/debug/velox/exec/tests/velox_exec_test
278: Test timeout computed to be: 3000


Related process

Coverage increased (+0.3%) to 55.0% when pulling 3d7d3b13666655b58732b1633bb447b83d3c61b2 on bdmbdsm:related-process into 06cfe7e9e2ccfd51fed5f84c31b932867f599610 on openprocurement:master.


chore: Merge main-application into main-application-no-pdf

Introduction

Merge main-application into main-applicaiton-no-pdf

Closing due to new branch creation


Empty buckets

This fixes the empty buckets bug in /core/events/summarize, found by Alex.
Pylint:

master: 9.48, 10, 9.70
this pull: 9.50, 10, 9.70

pastebin url of complete results from api calls mentioned below: http://pastebin.com/pjmbrkiE

in my local dataset, the return for api call:
localhost:8000/core/events/summarize/?timestamp__range={"gte":1434348772926, "lte":1434435172926}&interval=3600s
contains a bucket at:<PHONE_NUMBER>000 with
{   "image.send": 1 }
but in the following api call:
http://localhost:8000/core/events/summarize/?timestamp__range={"gte":1434175975042, "lte":1434435175042}&interval=10800s
"image.send" is not found anywhere in the results.
Assumption: since<PHONE_NUMBER>000 is between the {gte/lte} bounds of the 2nd api call, it should be contained within the results of both api calls.

regarding @lexjacobs ' issue, please paste the ES query generated by the code.

@jxstanford:

------------------

localhost:8000/core/events/summarize/?timestamp__range={"gte":1434348772926, "lte":1434435172926}&interval=3600s

> /Users/john/Documents/goldstone-server/goldstone/core/views.py(612)get()
-> serializer = self.serializer_class(search.execute().aggregations)
(Pdb) l
607  	                                               'terms',
608  	                                               field='_type',
609  	                                               min_doc_count=0)
610
611  	        import pdb; pdb.set_trace()
612  ->	        serializer = self.serializer_class(search.execute().aggregations)
613  	        return Response(serializer.data)
614
615
616  	# Our API documentation extracts this docstring, hence the use of markup.
617  	class EventSearchView(ElasticListAPIView):
(Pdb) pp search
<elasticsearch_dsl.search.Search object at 0x10d4ae790>
(Pdb) pp search.to_dict()
{'aggs': {'per_interval': {'aggs': {'per_type': {'terms': {'field': '_type',
                                                           'min_doc_count': 0}}},
                           'date_histogram': {'extended_bounds': {'max':<PHONE_NUMBER>926,
                                                                  'min':<PHONE_NUMBER>926},
                                              'field': 'timestamp',
                                              'interval': u'3600s',
                                              'min_doc_count': 0}},
          'per_type': {'terms': {'field': '_type', 'min_doc_count': 0}}},
 'query': {'range': {u'timestamp': {'gte':<PHONE_NUMBER>926,
                                    'lte':<PHONE_NUMBER>926}}},
 'sort': [{'timestamp': {'order': 'desc'}}]}
(Pdb)

---------------------------------

http://localhost:8000/core/events/summarize/?timestamp__range={"gte":1434175975042, "lte":1434435175042}&interval=10800s

> /Users/john/Documents/goldstone-server/goldstone/core/views.py(612)get()
-> serializer = self.serializer_class(search.execute().aggregations)
(Pdb) l
607  	                                               'terms',
608  	                                               field='_type',
609  	                                               min_doc_count=0)
610
611  	        import pdb; pdb.set_trace()
612  ->	        serializer = self.serializer_class(search.execute().aggregations)
613  	        return Response(serializer.data)
614
615
616  	# Our API documentation extracts this docstring, hence the use of markup.
617  	class EventSearchView(ElasticListAPIView):
(Pdb) pp search.to_dict()
{'aggs': {'per_interval': {'aggs': {'per_type': {'terms': {'field': '_type',
                                                           'min_doc_count': 0}}},
                           'date_histogram': {'extended_bounds': {'max':<PHONE_NUMBER>042,
                                                                  'min':<PHONE_NUMBER>042},
                                              'field': 'timestamp',
                                              'interval': u'10800s',
                                              'min_doc_count': 0}},
          'per_type': {'terms': {'field': '_type', 'min_doc_count': 0}}},
 'query': {'range': {u'timestamp': {'gte':<PHONE_NUMBER>042,
                                    'lte':<PHONE_NUMBER>042}}},
 'sort': [{'timestamp': {'order': 'desc'}}]}
(Pdb)

-----------------

@stugots the query looks correct to me.  @lexjacobs can you copy/paste the actual event (with timestamp) from elasticsearch-head?  Does it consistently or intermittently omit this event?

@jxstanford is this what you were asking for?
When I repeat the queries mentioned above in postman, this image.send event is contained in the first query, but not the second.
{
"_index": "events_2015-06-15",
"_type": "image.send",
"_id": "0b812844-d10b-4db2-90a7-48a23a96578f",
"_version": 1,
"_score": 1,
"_source": {
"raw": {},
"timestamp": "2015-06-15T16:21:04.009932",
"traits": {
"destination_ip": "<IP_ADDRESS>",
"user_id": "31ebe76d822a4c709772ee7f15c14c1d",
"service": "image.localhost",
"bytes_sent": "13200896",
"receiver_project": "970f2364df174040862210c9185c80ce",
"receiver_user": "e70fcebd828349ca8f1393e62ac87756",
"image_id": "31e49bfe-7553-409b-bc91-d86e541823d4"
}
}
}

@jxstanford: Per_type implemented...  Defaults to true.

@lexjacobs yes, that was what I was looking for.  Unfortunately, it didn't lead to an obvious answer.  I'm just going to go out on a limb and guess that this falls into the category of "ES doesn't guarantee accurate results."
Let's not hold up the show on this one, but please keep an eye out for other cases where the data looks unusual.

:+1:

:+1:


Avoiding CMake package and compiling for embedded systems

Two questions, rather than issues.
My plan, wise or unwise (you can comment :-)) is to use geographiclib in an embedded system (i.e. running on the likes of STM32F4, ESP32, nRF53, that kind of thing, so ~150 MHz, 128 kbytes RAM).
For this I can't easily use the CMake package approach, I have to included the source/include files directly in our CMake files (see below), which seems to compile, though I've not yet tried calling anything; I do have test vectors which I will run for timing purposes.
Questions:

Is using geographiclib on an embedded system sensible (if not what else might offer geodesic rather than spherical accuracy)?
How dangerous/unwise/ill-advised is it to do as I have done below?

  set(GEODESIC_DIR ${BASE}/gnss/geographiclib)
  file(GLOB SRCS ${GEODESIC_DIR}/src/*.cpp)
  list(APPEND GEODESIC_SRC ${SRCS})
  set_source_files_properties(${GEODESIC_SRC} PROPERTIES LANGUAGE CXX )
  list(APPEND GEODESIC_INC ${GEODESIC_DIR}/include
                           ${GEODESIC_DIR}/include/GeographicLib)
  set(GEOGRAPHICLIB_PRECISION 2)
  configure_file (
    ${GEODESIC_DIR}/include/GeographicLib/Config.h.in
    ${GEODESIC_DIR}/include/GeographicLib/Config.h
    @ONLY)
  add_compile_options(-DGEOGRAPHICLIB_SHARED_LIB=0)
  add_library(geodesic OBJECT ${GEODESIC_SRC})
  target_include_directories(geodesic PUBLIC ${GEODESIC_INC})

No reason not to use GeographicLib on an embedded use.  My colleagues at
work do this regularly (although 128 kbytes RAM sounds a bit skimpy).
It's best to stay with accurate geodesic calculations (instead of some
approximate solution); there's less opportunity for surprises and the
documentation is easier to write.
I'm not sure what the impediment to using CMake packages might be.
With packages, there's a clean separation between your code and third
party code.  Furthermore, moving to new versions is easy.
However, incorporating the GeographicLib source files in your build tree
should work fine.  Just don't expect much help from me if you run into
problems.

Excellent.  Though we don't necessarily need the accuracy of GeographicLib, the neatness and clearly maintained quality is very attractive.
The issue with embedded systems is less that they are embedded and more that we support N of them and all of the native toolchains do things differently; finding one that understands CMake packages might be plausible, finding N is very unlikely indeed.  Better to take the chance of a breakage at some distant point in the future when the structure of the code you are importing changes than try to fight on N fronts.
Thanks again.


Develop

Pull Request Test Coverage Report for Build 781

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 98.962%

Totals

Change from base Build 776:
0.0%

Covered Lines:
2136

Relevant Lines:
2146

💛  - Coveralls


Redesign the request to Sign In

When user is not authorized, the popup appears. For now, this popup shows only the text.

[ ] Add the image to the pop-up to make it more attractive
[ ] Add the image to the Dashboard page to make it more attractive

Может быть, добавить картинок; больше описания


Create page from CLI addition

Added a note that the new page needs to be imported to app/themes/app.core.scss.

Thanks, but we'll be building more documentation around generators in a different place in the future


How to download this page?

Hi there,
I can't see the download pdf file option for this page/document. I usually have to download documents from the internet PC to my work PC which does not have an internet connection.
Is there any way to download this document in a proper format like pdf or chm?
Thanks
Umar

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

ID: 2eaa77aa-11d1-7a23-ff88-8db4ba861042
Version Independent ID: 603b363b-040c-40d9-ac2e-74648a77f236
Content: PuttingThingsTogether - Windows Community Toolkit
Content Source: docs/mvvm/PuttingThingsTogether.md
Product: community-toolkit
GitHub Login: @Sergio0694
Microsoft Alias: mhawker

Hi @uflilla! These pages can not be downloaded as PDF or another way. You would have to access it online.

In theory you could also just clone the repo and read it locally, all the docs are markdown files after all 🙂

Or use the browser to print the page and "Print to PDF" (assuming you're on Windows 10) to save as a PDF.

Closing this issue now as the solution has been provided by the team.

Thank you for the quick responses.
Yes, I also had this in my mind as the final resort.
Thanks again for your help.
On Wed, Apr 7, 2021, 12:42 AM Sergio Pedri @.***> wrote:

In theory you could also just clone the repo and read it locally, all the
docs are markdown files after all 🙂
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/WindowsCommunityToolkitDocs/issues/499#issuecomment-814391430,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALTC6S764FCRXNMZY64RKYDTHNP3JANCNFSM42PA2VUA
.


Some questions

Hello, thank you for your great work. I have benefited a lot from it.
I'm a beginner in computer vision and person identification. There are many things I don't understand when I read your code.
For example,I didn't understand this function：
def linkage_calculation(self, dist, labels, penalty):
......
linkages = linkages.T + linkages - linkages * np.eye(cluster_num)
intra = linkages.diagonal()
penalized_linkages = linkages + penalty * ((intra * np.ones_like(linkages)).T + intra).T
I don't know the details of such code.
I am a graduate student in China.Is it convenient for you to leave your mailbox or wechat?
I'd like to ask you some questions.
Best wishes to you!
祝您一切顺利，生活幸福！

Hello, thank you for your great work. I have benefited a lot from it.
I'm a beginner in computer vision and person identification. There are many things I don't understand when I read your code.
For example,I didn't understand this function：
def linkage_calculation(self, dist, labels, penalty):
......
linkages = linkages.T + linkages - linkages * np.eye(cluster_num)
intra = linkages.diagonal()
penalized_linkages = linkages + penalty * ((intra * np.ones_like(linkages)).T + intra).T
I don't know the details of such code.
I am a graduate student in China.Is it convenient for you to leave your mailbox or wechat?
I'd like to ask you some questions.
Best wishes to you!
祝您一切顺利，生活幸福！

    你好啊，同学。我也觉得代码和论文有点不太一样，penalized_linkages按照论文来算的话应该不是这样算的，不过如果真的要算的话又要写两层循环（本人水平比较低，想不出用矩阵如何计算，哈哈），这样就会导致计算距离时间特别长。

    不过作者虽然计算了penalized_linkages ，但是后面好像也没用到。。。可能作者没有提交最新代码。也可能是我理解错了，不知道你有什么对代码的新的理解吗？


我尝试在mac中进行打包, 似乎必须安装Python2才能打包

是否需要更新Electron的版本才能支持使用Python3进行打包?
Exit code: ENOENT. spawn /usr/bin/python ENOENT  failedTask=build stackTrace=Error: Exit code: ENOENT. spawn /usr/bin/python ENOENT
at /Users/yangxinyi/Downloads/201_临时文件夹/electron-vite-vue/node_modules/builder-util/src/util.ts:133:18
at exithandler (node:child_process:404:5)
at ChildProcess.errorhandler (node:child_process:416:5)
at ChildProcess.emit (node:events:390:28)
at Process.ChildProcess._handle.onexit (node:internal/child_process:288:12)
at onErrorNT (node:internal/child_process:477:16)
at processTicksAndRejections (node:internal/process/task_queues:83:21)

更新到 electron-builder 23.6.0


Message metadata event_type can't contain periods?

Are there restrictions on what value an event_type can be when you post a message with metadata?
I tried posting a message with an event_type of slack.post-prompt, but when I listen for an action on this message:
    @app.action(re.compile(r"^approve-prompt.*|^deny-prompt.*"))
    async def prompt_action(
        ack: AsyncAck,
        action: Dict[str, Any],
        body: Dict[str, Any],
    ):
        await ack()
        event_payload = body['message']['metadata']['event_payload']

I run into:
    event_payload = body['message']['metadata']['event_payload']
KeyError: 'metadata'

However, when I modify the message to have an event_type of slack-post-prompt, it starts working again.
I looked here: https://api.slack.com/methods/chat.postMessage#arg_metadata

Hi @k24dizzle 👋🏻 Super cool to hear that you're playing around the event metadata! 🎉
You may want to checkout this guide on Metadata. It include a lot of information and best practices for defining the metadata name. In the Metadata: Property Basics section, it mentions that the name can only contain alphanumeric and underscore characters ([a-z] and _). So, unfortunately a period (.) is unsupported.
If you tried to define the event metadata name in your app manifest, the API returns an invalid_event_name error. Unfortunately with Bolt Python, you aren't given as clear of an error message.
I'd suggest using slack_post_prompt as your event name (better yet to prefix it with your app name to guarantee it's unique) and see if that works. Please let me know how it goes!

Thanks @mwbrooks makes sense, will the message still post if there's a . in the event_type? In my experience, the message posts but with no metadata.

@k24dizzle From my understanding, the event name validation prevents the metadata event from being created. It's good to hear that the message posts but with no metadata. However, I wouldn't assume that it will always work that way. It would be better to stick with a event name that's valid to ensure that the message posts successfully!
I'm going to close this issue since we have links to the event_type naming guidelines. But feel free to continue to comment and I'll keep an eye on the issue!


Remove margin (EXPOSUREAPP-13459)

See issue https://github.com/corona-warn-app/cwa-app-android/issues/5300.


Import from URL instructions dont work

Importing the Data.tar.gz as described doesn't seem to work.
It never loads in.
Is this a Galaxy bug?
@slugger70

How big is the file data.tgz? If it's bigger than 2GB then you can't use the http instructions to upload it and it has to be done by ftp.. This is a http limitation. nothing to do with Galaxy...

It's only 35 Mb

Which machine are you trying to load it into?

gcc

Appears in history it but has 0 b and only 1 file is listed (so it's not really loaded).

I think it's got something to do with a python command io.rename. It won't move files across filesystems.. I have to shift the upload_store from transient storage to volume..

Just confirming: works on sepsis machine but not GCC.

I think this issue is fixed. Closed.


Allow to specify the graph type in the graph.js example widget

It sets the renderer option so you can specify all the different options from the docs: https://github.com/shutterstock/rickshaw#renderer
A question comes to mind: What about the other options? Is the idea to just give some basic widgets  to get the developer started or should we strive for more all purpose widgets.
BTW my react knowledge is very low so It could be I crossed some boundaries

Coverage remained the same at 81.347% when pulling 45928a8cc70f6406c55680646c1c0dcacd006d09 on playpasshq:feature/allow-graph-type into 37a55f681abb6ba52687daaae8b63ed347550d29 on kittoframework:master.

The default from the graph library is area. It's used when graph type is nil
On Tue, 22 Nov 2016 at 18:16, Dimitrios Zorbas<EMAIL_ADDRESS>wrote:

@Zorbash commented on this pull request.
In installer/templates/new/widgets/graph/graph.js
https://github.com/kittoframework/kitto/pull/33#pullrequestreview-9714208
:

@@ -25,6 +25,7 @@ Widget.mount(class Graph extends Widget {
element: this.$node[0],
width: width,
height: height,

 renderer: props.graphType,

I think you should still have a default value (line).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/kittoframework/kitto/pull/33#pullrequestreview-9714208,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABeBgz1WzKH7Gbs3Uqywb0HJlAVCO3hDks5rAyNegaJpZM4K5sFA
.

Coverage remained the same at 81.347% when pulling e6c6d3bb83962800a92f9dd19697f66483ae3c78 on playpasshq:feature/allow-graph-type into 37a55f681abb6ba52687daaae8b63ed347550d29 on kittoframework:master.

I'll make the few required changes required myself and then merge it :+1:


loadable-components breaks Hot Module Replacement (HMR)

🐛 Bug Report
HMR updates are not applied if components are imported with @loadable/component. By not applied, I mean that in Chrome console panel:

and network panel

you can see the update is there, but it's not reflected in the DOM.
To Reproduce
In the linked repo, make sure the first line is commented, and change the text in ./LoadableComponents
// import LoadableComponents from './LoadableComponents'
import loadable from '@loadable/component'
const LoadableComponents = loadable(() => import('./LoadableComponents'))

If you change the code like this:
import LoadableComponents from './LoadableComponents'
// import loadable from '@loadable/component'
// const LoadableComponents = loadable(() => import('./LoadableComponents'))

Everything works as expected.
Expected behavior
Code splitting should work with loadable-components.
Link repo
Run npx envinfo --system --binaries --npmPackages @loadable/component,@loadable/server,@loadable/webpack-plugin,@loadable/babel-plugin --markdown --clipboard
Paste the results here:
## System:
 - OS: macOS High Sierra 10.13.6
 - CPU: (4) x64 Intel(R) Core(TM) i7-5557U CPU @ 3.10GHz
 - Memory: 2.71 GB / 16.00 GB
 - Shell: 5.3 - /bin/zsh
## Binaries:
 - Node: 10.15.0 - ~/.nvm/versions/node/v10.15.0/bin/node
 - Yarn: 1.13.0 - /usr/local/bin/yarn
 - npm: 6.4.1 - ~/.nvm/versions/node/v10.15.0/bin/npm
 - Watchman: 4.9.0 - /usr/local/bin/watchman
## npmPackages:
 - @loadable/component: ^5.6.0 => 5.6.0

Nota bene
I'm happy to help.

Hello @mathieux51. I think it is an issue for @theKashey. Anyway I will not change the code of Loadable Components to be compatible with React Hot Loader.

Ok. Thanks for you answer. I will create a similar issue on react-hot-loader repo and reference this one.

There is 3 options to fix it:

use React.lazy. React-Hot-Loader "knew it" and could call the import function.
on componentDidUpdate compare ctor and ctor you will store somewhere(in state or class variable). If they are different - you got updated.
call ctor in a constructor, not in componentDidMount. That's the most common way.

RHL could not help you, as long as ctor(import function) is not visible from a component - it's a variable on a scope.

For now - the only way is to apply hot to an export of an imported component. So - make it reloadable by itself - check RHL documentation.

Thank you both for your help. I didn't know adding multiple hot was an option, fixed my problem. I will update the link repo with the recommended solution.

Good!

FYI, I ended up having an other issue with HOCs that I solved by removing the "new" hot and replacing it with:
if (module.hot) {
  module.hot.accept('./Root', () => {
    const NextRoot = require('./Root').default
    console.log(NextRoot)
    render(NextRoot)
  })
}

I know it's not the recommended way but it works now so I'm happy.

So you are just remounting application from a scratch - you have the code update, but the hot-update problems.
👍 working as it should
👎 state loss

PS: you don't have to const NextRoot = require('./Root').default with esm modules, webpack will handle it.

Has anybody tried "Fast refresh" using this plugin: https://github.com/pmmmwh/react-refresh-webpack-plugin
I'm guessing that there will be a similar issue.
I created a linked issue: https://github.com/pmmmwh/react-refresh-webpack-plugin/issues/48

Loadable is yet class based and it's internal state would be lost on HMR, casing old tree to be remounted, new component be loaded, and rendered again. So again - all state would be lost.

You may want to consider turning off code splitting in a local environment.


Content dropped from refreshed site

The page content/foundation/board/index.ezmd no longer appears in the website, because it is redirected to https://www.apache.org/foundation/leadership.
It's not clear whether this was intentional, as it has meant the loss of some explanatory content:
https://github.com/apache/www-site/blob/59f13a516f02aabf12a9b33b94304aacc99249ed/content/foundation/board/index.ezmd#L6-L18
If the info was intentionally dropped, then the source page should be deleted.
The original page can be seen here: https://www-previous.staged.apache.org/foundation/board/

This was an intentional drop, but I have not decided what to do with source pages. Plus, there's an archivist notion to hold all historical content somewhere, JIC. Will leave open, as general reminder to figure out where to put old pages like this.

If a page is archived, it will most certainly be moved way away from its current position, into a clearly archival directory structure.
I would ask for patience while M&P figures this out.


Xbox - Let cursor disappear after X seconds of not movement

On the Xbox, since it is running fullscreen by default, it is important to have the mouse cursor disappear when there is no movement


Service docker must be restarted after boot2docker start

After each start boot2docker I have to restart docker to operate.
How it corrected permanently?
I have this problem since the update 1.7.0
➜ boot2docker start
Waiting for VM and Docker daemon to start...
.............ooo
Started.
Writing /Users/xxx/.boot2docker/certs/boot2docker-vm/ca.pem
Writing /Users/xxx/.boot2docker/certs/boot2docker-vm/cert.pem
Writing /Users/xxx/.boot2docker/certs/boot2docker-vm/key.pem

To connect the Docker client to the Docker daemon, please set:
    export DOCKER_HOST=tcp://<IP_ADDRESS>:2376
    export DOCKER_CERT_PATH=/Users/xxx/.boot2docker/certs/boot2docker-vm
    export DOCKER_TLS_VERIFY=1

➜ docker ps
An error occurred trying to connect: Get https://<IP_ADDRESS>:2376/v1.19/containers/json: x509: certificate is valid for <IP_ADDRESS>, <IP_ADDRESS>, not <IP_ADDRESS>
➜ boot2docker ssh 'sudo /etc/init.d/docker restart'
Need TLS certs for boot2docker,<IP_ADDRESS>,<IP_ADDRESS>,<IP_ADDRESS>
-------------------
Generate server cert
/usr/local/bin/generate_cert --host=boot2docker,<IP_ADDRESS>,<IP_ADDRESS>,<IP_ADDRESS> --ca=/var/lib/boot2docker/tls/ca.pem --ca-key=/var/lib/boot2docker/tls/cakey.pem --cert=/var/lib/boot2docker/tls/server.pem --key=/var/lib/boot2docker/tls/serverkey.pem
2015/07/13 08:59:25 Generating a server cert

➜ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

➜ boot2docker stop
➜ boot2docker start
Waiting for VM and Docker daemon to start...
................ooo
Started.
Writing /Users/xxx/.boot2docker/certs/boot2docker-vm/ca.pem
Writing /Users/xxx/.boot2docker/certs/boot2docker-vm/cert.pem
Writing /Users/xxx/.boot2docker/certs/boot2docker-vm/key.pem

To connect the Docker client to the Docker daemon, please set:
    export DOCKER_HOST=tcp://<IP_ADDRESS>:2376
    export DOCKER_CERT_PATH=/Users/xxx/.boot2docker/certs/boot2docker-vm
    export DOCKER_TLS_VERIFY=1

➜ docker ps
An error occurred trying to connect: Get https://<IP_ADDRESS>:2376/v1.19/containers/json: x509: certificate is valid for <IP_ADDRESS>, <IP_ADDRESS>, not <IP_ADDRESS>

Boot2Docker-cli version: v1.7.0
Git commit: 7d89508

this problem should be fixed by the changes I made that will be in v1.7.1

@SvenDowideit Today, It works after the update !
boot2docker version
Boot2Docker-cli version: v1.7.1
Git commit: 8fdc6f5


Add Stack component

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Sometimes we have a case when we want to give equal spacing i.e. padding/margin between child components where the children are Block components or Inline components
Currently, It is kind of possible with <Grid spacing={}/> but I have to wrap every child component with <Grid item/> inside a <Grid container/> parent. It would be nice If we can have a single parent component for giving equal spacing between children component. Though It can be a different parent component for each Block/Inline children components.
Summary 💡
Currently with <Grid />

Horizontal Spacing (Block Component)

<Grid container spacing={2} >
    <Grid item>
        <Typography>A</Typography>
    </Grid>
    <Grid item>
        <Typography>A</Typography>
    </Grid>
    <Grid item>
        <Typography>A</Typography>
    </Grid>
</Grid>

Vertical Spacing (Block Component)

<Grid container spacing={2} direction="column">
    <Grid item>
        <Typography>A</Typography>
    </Grid>
    <Grid item>
        <Typography>A</Typography>
    </Grid>
    <Grid item>
        <Typography>A</Typography>
    </Grid>
</Grid>

As you can see I have to wrap every <Typography /> inside a <Grid item/> component. And There is no way of distributing space between inline components.
Motivation 🔦
What I want to achieve

Vertical Spacing (Block Component)

<Stack spacing={2}>
    <Typography>A</Typography>
    <Typography>A</Typography>
    <Typography>A</Typography>
</Stack>

// or with `@material-ui/system` api
<Stack spacing={{ xs: 2, sm: 3, md: 4 }}>
    <Typography>A</Typography>
    <Typography>A</Typography>
    <Typography>A</Typography>
</Stack>

Horizontal Spacing (Block Component)

<Stack spacing={2} direction="row">
    <Typography>A</Typography>
    <Typography>A</Typography>
    <Typography>A</Typography>
</Stack>

// or with `@material-ui/system` api
<Stack spacing={{ xs: 2, sm: 3, md: 4 }} direction="row">
    <Typography>A</Typography>
    <Typography>A</Typography>
    <Typography>A</Typography>
</Stack>

Inline Components

<Inline spacing={2} >
    <Typography>A</Typography>
    <Typography>A</Typography>
    <Typography>A</Typography>
</Stack>

// or with `@material-ui/system` api
<Inline spacing={{ xs: 2, sm: 3, md: 4 }} >
    <Typography>A</Typography>
    <Typography>A</Typography>
    <Typography>A</Typography>
</Stack>

I don't know If the same can be achieve from the current components set or #15561 makes this redundant. But I am certain that It can find some use cases.
Benchmark

https://www.framer.com/api/stack/
https://github.com/mui-org/material-ui/pull/18459#issuecomment-611452889
https://react-ui.dev/components/Stack
https://seek-oss.github.io/braid-design-system/components/Stack/
https://twitter.com/ManuSchiller/status/1220990656392368128
https://github.com/codesandbox/codesandbox-client/blob/0cb0fbe12e69b7e2da370da1e8ef2691ff8581d2/packages/components/src/components/Stack/index.tsx
https://github.com/system-ui/theme-ui/issues/556
https://twitter.com/souporserious/status/1242581602951028741
https://github.com/ant-design/ant-design/pull/22363
https://layout-blocks.now.sh/?path=/story/stack--vertical
https://twitter.com/pixelkritzel/status/1259795845618245633
https://twitter.com/markdalgleish/status/1260858227509485568
https://react-ui.dev/core-concepts/ideas#Stack with gap
https://chakra-ui.com/stack
https://trello.com/c/vlLBgJca/2404-stack-component

@vkasraj The idea is interesting, thanks for the suggestion.

Thanks! :smile:

We would leverage such components in our demos, to remove custom styles. cc @mbrookes.

I like the concept. Framer provides something similar as one of its built-in components:

Here's a rough-and-ready POC using Grid:
https://codesandbox.io/s/material-demo-xs8fq

Another example:
https://developer.microsoft.com/en-us/fabric/#/controls/web/stack
@oliviertassinari Worth pursuing in the lab?

Benchmark time!

https://auth0-cosmos.now.sh/docs/#/component/stack-layout
https://chakra-ui.com/stack
https://orbit.kiwi/layout/stack/react/
https://polaris.shopify.com/components/structure/stack
https://anvil.servicetitan.com/#/layout/stack

So then it's a question of whether, for a relatively low cost of development, it provides sufficient utility to be worth including. I would put it in the same category as Container - something which developers can do themselves, but which solves a frequent enough pattern to be worthwhile.

@mbrookes Yeah, I think that its the kind of experimentation that we can try in the lab, and see the adoption. For this task, I'm even wondering if we shouldn't use the CSS grid: https://css-tricks.com/snippets/css/complete-guide-grid/ (I have read the guide for the first time, it's awesome!).
I would also propose that we dodge food it with as many of our demos as possible.

Great! I am ready to test whenever it is available.
Just want to ask, Is the Stack component can be used for wrapping Inline elements or is it just for block elements? 🤔

@vkasraj I think that we could use both. Would you be interested in working on such component?

@oliviertassinari Thanks for this opportunity but I am not that familiar with source code :disappointed:. It would be great If you guys work on it. :sweat_smile:

Hey
Can I tackle this component development?

@Vitao18 Feel free to give it a go :)
Once you have a proof of concept could you open a draft PR? It allows others to provide feedback easily and see the progress.

@mbrookes Was looking at it, but I don't know if he has made any progress. He asked me if I had some recommendation, from the quick look at the problem I could have:

Don't use the Grid component
Try not to use cloneElement, nor Children.map
Develop it using the demos use cases in mind
CSS grid might not be the best tool for the task

I start to wonder if we even need a Stack component. Maybe:
<Box spacingX={2} spacingY={{ sm: 3, md: 4 }}>
  <Typography>A</Typography>
  <Typography>B</Typography>
  <Typography>C</Typography>
</Box>

is all we need.

Yeah, this looks great.
I wonder how these props spacingY and spacingX will work?

@numToStr Maybe:

spacingX would generate:

& > * + * {
  margin-left: x * unit;
}

spacingY would generate:

& > * + * {
  margin-top: x * unit;
}

Maybe something we could host under https://next.material-ui.com/system/spacing/.

FYI this is possible right now using gap from flexbox – we don't need a Stack component.
<Box sx={{ display: 'flex', gap: 8 }}>
  <Typography>A</Typography>
  <Typography>B</Typography>
  <Typography>C</Typography>
</Box>

In my opinion gap should accept a spacing factor, like margins/paddings do. And maybe we have to test browser support and provide a fallback or something

@efoken The reasoning toward having a dedicated Stack component was also around the semantic of it, to make it easier to understand the behavior when reading the code. It can also be interesting to add a divider component between each item (when using React.Children.map is possible).
I think that the lack of support by Safari, especially on iOS is problematic for flex gap. It's unclear when it will be supported, maybe not before iOS 15 in one year. On the other hand, I think that depending on grid gap is an option from a browser support perspective.

Great!


sasjs adapter min version

Hi,
I'm using this version of the sasjs adapter https://cdn.jsdelivr.net/npm/<EMAIL_ADDRESS>After the download I see that it's 5MB so I'm wondering if it's minimized because it's quite heavy and takes some time to load.
Thanks
Sara

Hi Sara - latest version is this one:  https://cdn.jsdelivr.net/npm/<EMAIL_ADDRESS>Which is 5.8mb, unfortunately.
The adapter was built as the main 'communication mechanism' between client apps and SAS, so does a lot more than just logon / make requests (the majority of browser based usage).  The CLI and VS Code extension make further requirements of it.
Ultimately you should be able to save space by building your app using NodeJS / NPM rather than as a static web app + CDN - but appreciate that doesn't really solve your use case.
We'll look at what we can do to reduce the bundle size, perhaps we can do a build that is just SAS9, or just SASVIYA.  Will investigate.

Hi Allan,
thanks for the update.
Just FYI the download link in the readme file is not updated with the latest version you shared with me.

New minified version of SAS 9 adapter is ~230kb :-)

Turns out the massive filesize was due to leftover sourcemaps (doh), the regular adapter is now also down to 1.2mb
thanks very much for raising this issue.


Array content of source json not merged with another object

I have requirement that i need to merge the array content of source json and one class as target. As given below
Target:
var dest = {
one: 2,
two: 3,
bank: "bankname",
code: "xyz123455"
};
Source:
var source = {
"src": {
"items": [
{ "name": "one", "rank": 1 },
{ "name": "two", "rank": 2 }
],
"credit": {
"bank": "bankname",
"code": "xyz123455"
}
}
};
Template is:
tmpl = {
path: '.',
aggregate: {
total: function (key, value, existing) {
if (!isArray(value)) {
return value;
} else {
return value.sort().reverse()[0];
}
},
pages: function (key, value, existing) {
if (!isArray(value)) {
return value;
} else {
return value.sort().reverse()[0];
}
}
},
as: {
details: {
path: 'src.items',
key: 'name',
value: 'rank',
aggregate: function (key, value, existing) {
return Math.max(value, existing || 0)
},
    },
    bank: 'src.credit.bank',
    code: 'src.credit.code'
}

};
But it returns the Response/Destination object as
{
"details": {
"one": 1,
"two": 2
},
"bank": "bankname",
"code": "xyz123455"
}

@kameshkannan it's been a while since I used this package -- any luck finding a solution?

Luckily the requirement changed hence we did not face the problem as i mentioned earlier, it is good that we leveraged other features which are exists. Thanks.

@kameshkannan great to hear - I would imagine a custom filter/function would do the trick. Closing.


Include Zlib as a binary dependence

This fixes (as suggested by @ararslan here https://github.com/bicycle1885/EzXML.jl/issues/102#issuecomment-520117480) a build issue seen on FreeBSD.

Thank you for doing it! However, I worry you've reverted a recent change I made recently (i.e., #119). I'm going to abandon my own binaries and start using Yggdrasil's. Can you update your pull request so that it includes #119?

Codecov Report

Merging #121 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #121   +/-   ##
=======================================
  Coverage   97.05%   97.05%
=======================================
  Files           7        7
  Lines         714      714
=======================================
  Hits          693      693
  Misses         21       21

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 408e5bf...babb7d2. Read the comment docs.

Sorry about that!  I updated the pull request to download Yggdrasil's version of XML2.  However, I left your version of Zlib because it seems Yggdrasil doesn't have Zlib yet.

No worries! Zlib will be moved to Yggdrasil but it's yet done. Thank you, again.


[bug]IndexError: list index out of range

您好，我们用自己的数据集多机训练，但resume训练时有时候可以正常跑起来，有时候又会报这个错，麻烦看看可能是什么问题呢。
另外相同的pretraind model，如果模型放在config的load里会报错，但放在model的pretraind model就可以正常跑起来。我怀疑可能是和当时的step使用的bucket数据有关

I suspect the num_frames or resolution of videos in your training corpus exceeds the one specified in your config, hence leading to the bucket 'overflow'.
It would be great if @zhengzangw could kindly provide some intuition.

The problem is that when you load from a checkpoint, it will load the number of buckets you use. For example, in pertaining, you reach step 100k. However, the fine-tuning dataset is small and does not have so many batches. Then this issue happens.
The easiest way to solve it is to pass --start-from-scratch with --load.
https://github.com/hpcaitech/Open-Sora/blob/476b6dc79720e5d9ddfb3cd589680b2308871926/opensora/utils/config_utils.py#L80


Proposal: add EnforcedStyle: indent_when to Layout/CaseIndentation

Similar to the (default) indent style of Layout/AccessModifierIndentation, it strikes me as odd that there's no RuboCop setting for indenting when underneath case, since when clauses are subordinate to the case keyword in much the same way that private is subordinate to class.
# The `indent_when` style enforces that `when` clauses be
# indented one step further than `case` and end

# bad
case fruit
when :apple then "🍎"
when :banana then "🍌"
end

# good
case fruit
  when :apple then "🍎"
  when :banana then "🍌"
end

It's possible this option should(?) only be applied to one-liner when statements. Interested in folks' thoughts on that.

This should do the trick for you:
Layout/CaseIndentation:
  IndentOneStep: true

Awesome! Thank you, @mikegee!

I'm shocked by how inconsistent some of our configuration options have become. 😆

While I have everyone's attention: there's not a way to limit this rule based on whether the when statement is single line or multiline, is there?
For single line clauses, I much prefer this:
case fruit
  when :apple then "🍎"
  when :banana then "🍌"
end

But would not for multi-line when blocks (not that I'd encourage ever having those)

I don't see options for that in the docs.

@searls I'd like to see this option as well.
# Supports --auto-correct
Layout/CaseIndentation:
  IndentOneStep: with_thens

case owner
when 'I'
  attrs[:user] = @current_user
when 'they'
  attrs[:user] = @it
end

case owner
  when 'I' then attrs[:user] = @current_user
  when 'they' then attrs[:user] = @it
end


Master slave database?

When I use ‘select’, I need to use the slave database and how to configure the master slave database.？

I think this is outside of the scope for this library.  To support read/write splits, please create two different connections by constructing two Database classes with different DSN's.  Use something like your dependency injector to juggle between them.


[TASK] Create longhornio support-bundle-kit image

What's the task? Please describe
We need a longhornio supoort-bundle-kit v0.0.12 image.
Describe the items of the task (DoD, definition of done) you'd like

[ ] Mirror a support-bundle-kit v0.0.12 image to a longhornio image

Additional context
https://github.com/longhorn/longhorn/issues/2759

/cc @yangchiu

A general task but related to infra, so added to the QA board.
cc @longhorn/qa

Then, we need to make support-bundle-kits support arm64.
@yangchiu @c3y1huang Please cooperate with the below items.

Update https://github.com/rancher/support-bundle-kit/blob/master/.drone.yml to support arm64 pipeline w/ manifest (you can reference https://github.com/rancher/rancher/blob/release/v2.7/.drone.yml#L389-L394, the rancher has arm64 build support)
Make sure arm64 image work well in longhorn arm64 install
Mirror support-bundle-kits image

we need s390 image too, right?

oesn't support arm64, so we never tested it before.

Exactly! rancher push CI also has that support, so we can leverage it as well.

Created PR https://github.com/rancher/support-bundle-kit/pull/54 to build images for arm64 and s390x: https://drone-publish.rancher.io/rancher/support-bundle-kit/92/4
But the build scripts need to be modified too, since currently it shows the following errors:
E: Package 'docker-ce' has no installation candidate
E: Package 'docker-ce-cli' has no installation candidate
E: Unable to locate package containerd.io
E: Couldn't find any package by glob 'containerd.io'
E: Couldn't find any package by regex 'containerd.io'

cc @c3y1huang @innobead

@c3y1huang please help with the build change. Go discuss with @bk201 if needed.

@innobead @c3y1huang rancher/support-bundle-kit images for different platforms already published: https://hub.docker.com/r/rancher/support-bundle-kit/tags

@innobead I'm unable to publish support-bundle-kit to longhornio, no matter login as longhornbot or my own account, the error message shows:
DEBU[0006] Checking /v2/longhornio/support-bundle-kit/blobs/sha256:a36658c7e7f03cdc1975ff35e22ca9f96a3666860e1f41eb7d21f99d0138e7e4
DEBU[0006] HEAD https://registry-1.docker.io/v2/longhornio/support-bundle-kit/blobs/sha256:a36658c7e7f03cdc1975ff35e22ca9f96a3666860e1f41eb7d21f99d0138e7e4
DEBU[0006] ... not authorized
DEBU[0007] ... not authorized
DEBU[0007] ... not authorized
DEBU[0008] ... not authorized
DEBU[0008] ... not authorized

The same script can publish support-bundle-kit image to my own dockerhub repo without any problem.
Not sure but probably due to only owners of this organization can create repositories.

@yangchiu try again, https://hub.docker.com/repository/docker/longhornio/support-bundle-kit.

@c3y1huang images mirrored to longhornio: https://hub.docker.com/repository/docker/longhornio/support-bundle-kit/general

@yangchiu we need to mirror a v0.0.14 image that includes this fix.

done!


Re-enable and add some phadej's packages

Should transitive dependencies be explicitly listed nowadays?

Thanks!  Merged
There is never any harm in listing transitive deps. :+1:
I would recomment it.


Fix Pylint for ingestion/sink

Describe your changes :

I worked on the ..... because ...

Type of change :

[x] Bug fix
[x] Improvement
[x] New feature
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation

Frontend Preview (Screenshots) :
For frontend related change, please link screenshots of your changes preview! Optional for backend related changes.

Checklist:

[x] I have read the CONTRIBUTING document.
[ ] I have commented on my code, particularly in hard-to-understand areas.
[ ] I have added tests that prove my fix is effective or that my feature works.
[x] All new and existing tests passed.

Reviewers

looks like I killed the sample data ingestion, I'll take a look


chore(deps): upgrade dev dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-dev-dependencies-1.x" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 3082

Questions ?
Please refer to the Backport tool documentation


libreoffice-qt Fails to Build

Describe the bug
When updating/installing libreoffice-qt, it fails with the following error:
configure: error: KF5 headers not found.  Please specify the root of your KF5 installation by exporting KF5DIR before running "configure".
error: builder for '/nix/store/nq2n6p077x4fhywaqij9lij7q5v80w3b-libreoffice-<IP_ADDRESS>.drv' failed with exit code 1;
       last 10 log lines:
       > checking for QtCore/qconfig.h... yes
       > checking for Qt5 libraries... /nix/store/g6lhjbkcz9nbwlsdd83qsa3rg6i90rs7-qtbase-5.15.3/lib
       > checking for xcb... yes
       > checking for xcb-icccm... yes
       > checking for moc-qt5... no
       > checking for moc... /nix/store/0h41dvl7ipzzm2nj3qfd3vkvaiw6iz9z-qtbase-5.15.3-dev/bin/moc
       > checking for gobject-2.0... yes
       > checking for kf5-config... no
       > checking for KF5 headers... no
       > configure: error: KF5 headers not found.  Please specify the root of your KF5 installation by exporting KF5DIR before running "configure".
       For full logs, run 'nix log /nix/store/nq2n6p077x4fhywaqij9lij7q5v80w3b-libreoffice-<IP_ADDRESS>.drv'.
error: 1 dependencies of derivation '/nix/store/7k73impmw6li61ryjn91wix5sjsln2im-libreoffice-<IP_ADDRESS>.drv' failed to build

Steps To Reproduce
Steps to reproduce the behavior:

Execute nix-shell -p libreoffice-qt
Observe build failure

Expected behavior
libreoffice-qt to install without errors.
Additional context
KDE Plasma 5.24.0 just landed in master, so this might be related to it.
Notify maintainers
@7c6f434c
Metadata

system: "x86_64-linux"
host os: Linux 5.15.29, NixOS, 22.05 (Quokka)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.8.0pre20220311_d532269
channels(root): "nixos"
channels(bill): "home-manager"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

It seems that this is happening again now: libreoffice-qt cannot find KF5 headers again.

system: "x86_64-linux"
host os: Linux 5.17.5-xanmod1, NixOS, 22.05 (Quokka), 22.05.20220510.f419dc5
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.8.0
nixpkgs: /nix/store/hpbwhyi4889j5bfv8jdmlphqk3494z3h-source


SVG drawables

Hi,
I use this SVG icons library:
https://github.com/mikepenz/Android-Iconics
Do you think is possible to integrate FloatingActionButton to use this lib (or similar one) to use SVG icons?
So the icons can be resized to any size and can be easy colored to any color.
Thanks

I think yes. Just fork my library and implement the functionality you need. :)

Hi Dmytro,
I have never used GitHub before. If I do a fork, it will be only on my
computer or can I upload to the GitHub repository?
Thanks
2015-09-22 10:34 GMT+02:00 Dmytro Tarianyk<EMAIL_ADDRESS>
I think yes. Just fork my library and implement the functionality you
need. :)
—
Reply to this email directly or view it on GitHub
https://github.com/Clans/FloatingActionButton/issues/131#issuecomment-142212477
.

It will create a repository in your account and clone the code into it. You'll be able to use it as a normal repository.

Right. So if I want that the code be available for the community, what do I have to do?

@fmeneuhe Github's guide may help you out.


Add emoji support (replaces #35)

This PR takes @paked's work in #35 and prepares it for merge.
The biggest difference is that tests now pass and that emoji are rendered using images, instead of unicode characters. This makes the site much more bearable for Linux users and similarly emoji-deprived machines.

Going to just go ahead and merge this because @MaxWofford seems to be overtaken by school. Feedback welcome!


added an 'l' to Vaidation

It was only a comment so no worries

Summary

Test plan

thank you!
@Damine0n do you mind signing the CLA?

Codecov Report

Merging #3638 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #3638   +/-   ##
=======================================
  Coverage   62.46%   62.46%
=======================================
  Files         181      181
  Lines        6652     6652
  Branches        6        6
=======================================
  Hits         4155     4155
  Misses       2494     2494
  Partials        3        3

Impacted Files
Coverage Δ

...ckages/jest-config/src/reporterValidationErrors.js
20% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


How to run MeshLoc on own data

Hi，tsattler
The content of your research is exciting.
How to run MeshLoc on own data?

Hi @zwl995 ,
Thank you very much for your kind words.
To run MeshLoc on your own dataset, you will need to provide the camera poses and intrinsics of the database images in Colmap's data format. In addition, you will need to render depth maps from the poses and intrinsics of the database images in a format that can be loaded by the code (see the code). Please note that we are not handling distorted database images, so you will need to undistort the database images before rendering and provide the intrinsics of the undistorted images.

Thank you very much for your answer, I will try it out and keep following your work, looking forward to your update.


[ci] boost_root and opencl_include_dir as pip options

@guolinke Please take a look to Appveyor error - it's rather strange and hasn't been caused by this PR.


isMenuPresented using ObservableObject...

Bug Description, Steps to Reproduce, Crash Logs, Screenshots, etc.
Hello.
First of all, thank you for making a good library.
I found something while using the functions of the library, so I left a post.
I didn't want to keep passing the variable isMenuPresented to the subview with Binding for MenuBarExtraAccess, so I tried to use it wrapped in an ObservableObject.
However, using it in this way caused menubar to close and open abnormally slow (state -> binding is normal)
Below is the code of the way I implemented it.
Is Presented for controlling MenuBarExtraAccess, but is ObservableObject hard to use?
class AppState: ObservableObject {
    @Published var isMenuPresented: Bool = false
}

struct MyApp: App {

@NSApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
@StateObject var appState = AppState()

        MenuBarExtra("ListeningDogApp") {
            MenuBarExtraView()
                .environmentObject(appDelegate)
                .environmentObject(appState)
        }
        .menuBarExtraStyle(.window)
        .menuBarExtraAccess(isPresented: $listengDogAppState.isMenuPresented) { statusItem in // <-- the magic ✨
            // access status item or store it in a @State var
        }
}

    struct PreferencesView: View {

        @EnvironmentObject var appDelegate: AppDelegate
        @EnvironmentObject var AppState: AppState
        @State private var isHovered = false

        var body: some View {

            Button {
                appState.isMenuPresented = false
                appDelegate.showMainWindow()
            } label: {
                HStack {
                    Text("Preferences...")
                    Spacer()
                }
                .frame(height: 30)
            }
            .buttonStyle(.plain)
        }

https://github.com/orchetect/MenuBarExtraAccess/assets/48409434/2481ad5d-c7b2-47a8-89b4-8848a5899aac

Not sure what would explain the delay. Perhaps it's because you're using a non-English system language. The library does a lot of traversal under the hood and maybe it's having to use a redundancy to perform the action and taking longer somehow. Or perhaps something is happening between MenuBarExtraView() and PreferencesView().
I just made a new macOS SwiftUI app with the following, and clicking the button in the menubar window makes it dismiss immediately.
@main struct MBETestApp: App {
    @StateObject var appState: AppState = .init()

    var body: some Scene {
        MenuBarExtra("ListeningDogApp") {
            ContentView()
                .environmentObject(appState)
        }
        .menuBarExtraStyle(.window)
        .menuBarExtraAccess(isPresented: $appState.isMenuPresented) { statusItem in
            // access status item or store it in a @State var
        }

        WindowGroup {
            ContentView()
        }
    }
}

class AppState: ObservableObject {
    @Published var isMenuPresented: Bool = false
}

struct ContentView: View {
    @EnvironmentObject var appState: AppState

    var body: some View {
        VStack {
            Button("Toggle") {
                appState.isMenuPresented.toggle()
            }
        }
        .padding()
    }
}

I'll have to check the other part of my app again. Thank you for your answer. Have a nice day.


Getting entity from cluster is unreliable in ExtensionRenderer.isEnabledForCluster()

Describe the bug
The following code, which makes a custom cluster page either visible or not given the active cluster, is unreliable:
  public async isEnabledForCluster(cluster): Promise<boolean> {
    const entity = Renderer.Catalog.catalogEntities.getById(cluster.id);
    return entity?.metadata.source === "my-source";
  }

As I understand it, when this method is called, there should never be a case where getById(id) returns undefined because the associated entity isn't found in the Catalog.
The result is my custom page shows-up on one of the clusters added by my extension, while it doesn't on another one. It should show-up on both.
To Reproduce
Steps to reproduce the behavior:

Install https://github.com/Mirantis/lens-extension-cc from the cluster-page branch (if still available, or from master if not, since that would mean it was merged).
Add 2 clusters via the extension.
Open one cluster, the "Container Cloud" page might be there. Open another cluster, it might not be there.

Expected behavior
This test should never fail to find the associated Catalog entity.
Screenshots
Not there:

There:

Environment (please complete the following information):

Lens Version: 5.2 (official)
OS: macOS 11.5.2
Installation method: .dmg

Logs:
When you run the application executable from command line you will see some logging output. Please paste them here:
There's too much sensitive stuff like usernames, emails, etc., in here to post these logs into a public repo.

IMHO this method currently passes wrong (legacy) object. It should actually give KubernetesCluster, not Cluster (which is "private" api).

@jakolehm

IMHO this method currently passes wrong (legacy) object. It should actually give KubernetesCluster, not Cluster (which is "private" api).

There are actually 2 problems with this old API:

The one you mention.
The fact that it's not possible for an extension to have multiple cluster pages, and decide which one is visible and which one isn't -- it's "all or nothing". This is because Lens' visibility check is tied to the cluster, not the cluster page menu item.

So this is a good opportunity to fix this API:

Deprecate this API entirely. Using public async isEnabledForCluster(cluster) should result in a console warning, if possible. Might not be since people are encouraged to override it and not call its super impl. At least mark it deprecated in the docs.

Add a new option to check this in the cluster page menu item itself, so that the check is per menu item, given the activated cluster:
this.clusterPageMenus = [
  {
    target: { pageId: "page-id" },
    title: "My cluster page",
    isEnabled(entity) {
      return entity.metadata.source === "my-source";
    },
    components: {
      Icon: () => <MyIcon />,
    },
  },
];

isEnabled should obviously default to true when not specified, and it's given the newly-activated entity instead of that old cluster object thing.


BUG: fix from_tensor

What do these changes do?

fix from_tensor

Related issue number

Fixes #591
Check code requirements

[x] tests added / passed (if needed)
[x] Ensure all linting tests pass

Could you add a test case that including the issue?

Could you add a test case that including the issue?

done


Update About page in static/html & produce new static-html image

Old text: PASS was created by the Sheridan Libraries at Johns Hopkins University, in collaboration with 221B, MIT Libraries and the Harvard University Office for Scholarly Communication
New text: PASS was created by the Sheridan Libraries at Johns Hopkins University, in collaboration with the Harvard University Office for Scholarly Communication, the MIT Libraries, and with inspiration from Jeff Spies, formerly of the Center for Open Science.

Closed by https://github.com/OA-PASS/pass-docker/pull/173


UXG/UDM dashboard not showing some data & would love to customize some filed names

Hey everyone, I setup unpoller recently and love all the data it pulls. My thanks to @davidnewhall and everyone else that has spent their precious time to make this happen. You all rock!
I noticed in the UXG Dashboard (which I am using with a UDM-SE v3.1.16) that an entire section is showing "N/A" in green for Uplink, Desktop, Users, etc... (see screenshot attached).  Any Ideas how to get this data to populate?
Also, is there any way to customize the Ethernet Port names from current "eth8" and "eth10" to something more legible like "eth8 - ISP X" and "eth10 - ISP Y"?  Since I have 2 ISP's and I really need to easily differentiate who's WAN connection and data bandwidth I am using.
Lastly, any way to see Total Data Usage (per WAN connection) between specific dates?
Thanks in advance.

Second this! I'm looking to see if there are any other issues about this that may have been closed already. I was told the issue is that Variable names were changed by Unifi. I am by no means a developer, just merely a user but I'm certainly looking to see if there have been any advancements made on this front!

For the metrics that are not showing. I was able to get them to work by editing the panel, and making sure under ‘Value options’, the field was set to ‘Numeric Fields’.
If you want to customise the names of fields then the easiest way is probably ‘field overrides’ which you can find in the Grafana documentation.

Encountered a similar issue with many graphs. Turns out that the __interval variable was to blame. After I replaced it in the query statement with __rate_interval, the graphs were looking fine again.
Pro tip: Get the JSON for the panel by going to settings->JSON, copy&paste the full JSON to a text editor, do a gobal search&replace there and paste everything back into the JSON view.


Revise all N4 nodes and add adaptations for rodents

This conversation stems from https://github.com/nipreps/niworkflows/pull/610#discussion_r570443035, but a general pass through the whole codebase, identifying N4 nodes would be appropriate.
A more generalistic approach would be to extend Nipype's N4 interface and provide it with the extra logic to calculate the bspline distances.

I've had a look at the codebase, and surprisingly there may only be one application of N4 that will be pulled for rodents (init_epi_reference_wf). Other examples of N4 correction are used in workflows unlikely to be used with rodents (ants.init_brain_extraction_wf, ants.init_atropos_wf, ants.init_n4_only_wf, skullstrip.afni_wf, and util.init_bold_reference_wf) because there are other changes that would be required for these workflows, and I would suggest that if these workflows are to be adapted that they should be located in nirodents. I will submit a PR with the change to the reference workflow, but interested to hear what @oesteban  thinks about whether there is any utility in adaption of these other workflows for rodent images.


Qualifying data unavailable during sprint race weekend

Hello,
I'm trying to load the data for todays qualifying and the Ergast API lookup fails (obviously not fastf1's fault).
How will getting data for this qualifying and the sprint race qualifying work if Ergast doesn't update their API?
Thank you.

Same problem for me.
I've saved the data from the livestreaming and I can load it (I've chosen to load them as an FP2 session).

@Xwang1976 Could you share the data if it's not too much trouble?

@Xwang1976 Could you share the data if it's not too much trouble?

How?

I feared as much. Don't blame Ergast though ;) It is a problem with fastf1 because a hard assumption is made that qualifying takes place on a saturday.
Here's a workaround:
# load as fp2 and manually set the correct api path
session = ff1.get_session(2021, 'British Grand Prix', 'FP2')
session.api_path = '/static/2021/2021-07-18_British_Grand_Prix/2021-07-16_Qualifying/'

laps = session.load_laps()

@theOehrly Thank you, this worked, any ideas on how the sprint qualy will work?

session.api_path = '/static/2021/2021-07-18_British_Grand_Prix/2021-07-16_Qualifying/'
laps = session.load_laps()

Thank you!
I've deleted the files from the cache which have been created from livetiming and I've done as you have suggested, but in such a way in the cache data are put in a folder named 2021-07-16_Qualifying while getting them from livetimeing they were put under 2021-07-16_Practice_2.
So when I try to create a graph it does not found neither an FP2 nor a Q valid session.
runfile('/home/andreak/src/Python/F1data/F1data_compare2pilots_speeds_bestLap.py', wdir='/home/andreak/src/Python/F1data')
core        WARNING 	Ergast API lookup failed. The session is very recent and not yet available or does not exist.
core           INFO 	Loading laps for British Grand Prix - Practice 2 [v2.1.5]
api            INFO 	No cached data found for timing_data. Loading data...
api            INFO 	Fetching timing data...
Traceback (most recent call last):
File "/home/andreak/src/Python/F1data/F1data_compare2pilots_speeds_bestLap.py", line 26, in
laps = data.load_laps(with_telemetry=True)
File "/home/andreak/.local/lib/python3.9/site-packages/fastf1/core.py", line 1142, in load_laps
data, _ = api.timing_data(self.api_path, livedata=livedata)
File "/home/andreak/.local/lib/python3.9/site-packages/fastf1/api.py", line 178, in cached_api_request
data = func(api_path, response=response, livedata=livedata)
File "/home/andreak/.local/lib/python3.9/site-packages/fastf1/api.py", line 296, in timing_data
raise SessionNotAvailableError("No data for this session! Are you sure this session wasn't cancelled?")
SessionNotAvailableError: No data for this session! Are you sure this session wasn't cancelled?
runfile('/home/andreak/src/Python/F1data/F1data_compare2pilots_speeds_bestLap.py', wdir='/home/andreak/src/Python/F1data')
core        WARNING 	Ergast API lookup failed. The session is very recent and not yet available or does not exist.
core           INFO 	Loading laps for British Grand Prix - Qualifying [v2.1.5]
api            INFO 	No cached data found for timing_data. Loading data...
api            INFO 	Fetching timing data...
Traceback (most recent call last):
File "/home/andreak/src/Python/F1data/F1data_compare2pilots_speeds_bestLap.py", line 26, in
laps = data.load_laps(with_telemetry=True)
File "/home/andreak/.local/lib/python3.9/site-packages/fastf1/core.py", line 1142, in load_laps
data, _ = api.timing_data(self.api_path, livedata=livedata)
File "/home/andreak/.local/lib/python3.9/site-packages/fastf1/api.py", line 178, in cached_api_request
data = func(api_path, response=response, livedata=livedata)
File "/home/andreak/.local/lib/python3.9/site-packages/fastf1/api.py", line 296, in timing_data
raise SessionNotAvailableError("No data for this session! Are you sure this session wasn't cancelled?")
SessionNotAvailableError: No data for this session! Are you sure this session wasn't cancelled?

You need to have this line
session.api_path = '/static/2021/2021-07-18_British_Grand_Prix/2021-07-16_Qualifying/'
in every single script you run. Even if you just want to load the already cached data. The internal cache is structured using the api path. So it needs to be set correctly.
(Another way would be to rename the directory inside the main cache folder to the expected path)

You need to have this line
session.api_path = '/static/2021/2021-07-18_British_Grand_Prix/2021-07-16_Qualifying/'
in every single script you run. Even if you just want to load the already cached data. The internal cache is structured using the api path. So it needs to be set correctly.
(Another way would be to rename the directory inside the main cache folder to the expected path)

Thank you.
I've used the second approach (renaming the main cache folder from 2021-07-16_Qualifying to 2021-07-16_Practice_2) and it works perfectly.

Sprint qualifying tomorrow will likely be the same problem. I guess the api path will be
'/static/2021/2021-07-18_British_Grand_Prix/2021-07-17_Sprint_Qualifying/'
or
'/static/2021/2021-07-18_British_Grand_Prix/2021-07-17_Sprint/'
but I won't know until after.
This problem also happens if a session gets moved to a different day due to difficult weather. I think there's one weekend in Suzuka a from two or three years ago where qualifying was on a sunday morning. It's the same problem. I need to make this more flexible, so it automatically works. But I'm not yet sure how I'll do it. Hopefully I'll get it done until the second sprint quali test weekend.
(And we'll leave this open for now, so it's easier to find.)

What's the api path of this morning (staurday) practise ?

should be '/static/2021/2021-07-18_British_Grand_Prix/2021-07-17_Practice_2/'

'/static/2021/2021-07-18_British_Grand_Prix/2021-07-17_Sprint_Qualifying/'
Is indeed the correct path

should be '/static/2021/2021-07-18_British_Grand_Prix/2021-07-17_Practice_2/'

Thanks.
Sprint qualification is '/static/2021/2021-07-18_British_Grand_Prix/2021-07-17_Sprint_Qualifying/' (just downloaded).
IMHO in order to be able to compare data between different GPs the sprint qualifying should be managed by fastf1 with a specific session type (like SQ). For these silly weekends free practice would be FP1 and FP2, qualification would be the second Friday session and race will be race.
Are you going to do something similar?

IMHO in order to be able to compare data between different GPs the sprint qualifying should be managed by fastf1 with a specific session type (like SQ). For these silly weekends free practice would be FP1 and FP2, qualification would be the second Friday session and race will be race.
Are you going to do something similar?

Yes, that's most certainly what I'm going to do. Sprint qualifying needs to be a separate session type.

I have just made a new release of FastF1, as the upcoming weekend features a sprint qualifying again.
This release patches the previous sprint qualifying weekend in Silverstone and the upcoming weekend in Monza specifically. I've not managed to finish a proper implementation of an event schedule in time for this race weekend. It will be part of a larger future update though and should prevent problems like this in the future.
Here's hoping that everything works for this race weekend.

I have just made a new release of FastF1, as the upcoming weekend features a sprint qualifying again.
This release patches the previous sprint qualifying weekend in Silverstone and the upcoming weekend in Monza specifically. I've not managed to finish a proper implementation of an event schedule in time for this race weekend. It will be part of a larger future update though and should prevent problems like this in the future.
Here's hoping that everything works for this race weekend.

I've just updated to the latest version and I've downloaded with it all the the racing weekend data since 2018.
Then I've compared with diff the folder with the cached data (including telemetry) and the old cache folder and a lot of files are reported to be different. Why?
Secondly I see that 2021 British Gp does not have the Sprint race data. Why?

Can you elaborate this a bit more?
First, what do you mean, you don't have sprint race data? I do get data (including telemetry) for the race and sprint qualifying of the 2021 British GP.
Second, concerning the different files, the cached data contains pickled pandas DataFrames. Whenever the DataFrame object of pandas changes, which may happen when updating to newer versions of pandas, the files change too. This actually means that the cache needs to be recreated after updating pandas. Most likely this is what causes the different files.

This is the tree of the 2021-07-18_British_Grand_Prix folder
.
├── 2021-07-16_Practice_1
│   ├── car_data.ff1pkl
│   ├── position_data.ff1pkl
│   ├── session_status_data.ff1pkl
│   ├── timing_app_data.ff1pkl
│   ├── timing_data.ff1pkl
│   ├── track_status_data.ff1pkl
│   └── weather_data.ff1pkl
├── 2021-07-16_Qualifying
│   ├── car_data.ff1pkl
│   ├── position_data.ff1pkl
│   ├── session_status_data.ff1pkl
│   ├── timing_app_data.ff1pkl
│   ├── timing_data.ff1pkl
│   ├── track_status_data.ff1pkl
│   └── weather_data.ff1pkl
├── 2021-07-17_Practice_2
│   ├── car_data.ff1pkl
│   ├── position_data.ff1pkl
│   ├── session_status_data.ff1pkl
│   ├── timing_app_data.ff1pkl
│   ├── timing_data.ff1pkl
│   ├── track_status_data.ff1pkl
│   └── weather_data.ff1pkl
└── 2021-07-18_Race
├── car_data.ff1pkl
├── position_data.ff1pkl
├── session_status_data.ff1pkl
├── timing_app_data.ff1pkl
├── timing_data.ff1pkl
├── track_status_data.ff1pkl
└── weather_data.ff1pkl
As you can see there is no Sprint race sub folder.
This is what I get downloading the weekend:
core           INFO 	Loading laps for British Grand Prix - Practice 1 [v2.1.8]
api            INFO 	No cached data found for timing_data. Loading data...
api            INFO 	Fetching timing data...
api            INFO 	Parsing timing data...
api            INFO 	Data has been written to cache!
api            INFO 	No cached data found for timing_app_data. Loading data...
api            INFO 	Fetching timing app data...
api            INFO 	Data has been written to cache!
core           INFO 	Processing timing data...
api            INFO 	No cached data found for session_status_data. Loading data...
api            INFO 	Fetching session status data...
api            INFO 	Data has been written to cache!
api            INFO 	No cached data found for track_status_data. Loading data...
api            INFO 	Fetching track status data...
api            INFO 	Data has been written to cache!
api            INFO 	No cached data found for car_data. Loading data...
api            INFO 	Fetching car data...
api            INFO 	Parsing car data...
api            INFO 	Data has been written to cache!
api            INFO 	No cached data found for position_data. Loading data...
api            INFO 	Fetching position data...
api            INFO 	Parsing position data...
api            INFO 	Data has been written to cache!
api            INFO 	No cached data found for weather_data. Loading data...
api            INFO 	Fetching weather data...
api            INFO 	Data has been written to cache!
core           INFO 	Loaded data for 20 drivers: ['16', '55', '33', '4', '18', '99', '3', '9', '22', '14', '44', '5', '77', '10', '47', '63', '11', '6', '7', '31']
core           INFO 	Loading laps for British Grand Prix - Practice 2 [v2.1.8]
api            INFO 	No cached data found for timing_data. Loading data...
api            INFO 	Fetching timing data...
api            INFO 	Parsing timing data...
api         WARNING 	Driver 55: Ignoring late data for a previously processed lap.The data may contain errors (previous: 21; current 22)
api            INFO 	Data has been written to cache!
api            INFO 	No cached data found for timing_app_data. Loading data...
api            INFO 	Fetching timing app data...
api            INFO 	Data has been written to cache!
core           INFO 	Processing timing data...
api            INFO 	No cached data found for session_status_data. Loading data...
api            INFO 	Fetching session status data...
api            INFO 	Data has been written to cache!
api            INFO 	No cached data found for track_status_data. Loading data...
api            INFO 	Fetching track status data...
api            INFO 	Data has been written to cache!
api            INFO 	No cached data found for car_data. Loading data...
api            INFO 	Fetching car data...
api            INFO 	Parsing car data...
api            INFO 	Data has been written to cache!
api            INFO 	No cached data found for position_data. Loading data...
api            INFO 	Fetching position data...
api            INFO 	Parsing position data...
api            INFO 	Data has been written to cache!
api            INFO 	No cached data found for weather_data. Loading data...
api            INFO 	Fetching weather data...
api            INFO 	Data has been written to cache!
core           INFO 	Loaded data for 20 drivers: ['16', '55', '33', '4', '18', '99', '3', '9', '22', '14', '44', '5', '77', '10', '47', '63', '11', '6', '7', '31']
core           INFO 	Loading laps for British Grand Prix - Qualifying [v2.1.8]
api            INFO 	No cached data found for timing_data. Loading data...
api            INFO 	Fetching timing data...

Error downloading FP3 of gp=2021\10
Traceback (most recent call last):
File "/home/andreak/src/Python/F1data/getDataFromF1.py", line 68, in
ff1.get_session(year,gp).get_practice(3).load_laps(with_telemetry=True)
File "/home/andreak/.local/lib/python3.9/site-packages/fastf1/core.py", line 995, in get_practice
return Session(self, f'Practice {number}')
File "/home/andreak/.local/lib/python3.9/site-packages/fastf1/core.py", line 1050, in init
self.date = self._get_session_date()
File "/home/andreak/.local/lib/python3.9/site-packages/fastf1/core.py", line 1130, in _get_session_date
date = SPRINT_QUALIFYING_LOOKUP[self.weekend.gp][self.name]
KeyError: 'Practice 3'

api            INFO 	Parsing timing data...
api            INFO 	Data has been written to cache!
api            INFO 	No cached data found for timing_app_data. Loading data...
api            INFO 	Fetching timing app data...
api            INFO 	Data has been written to cache!
core           INFO 	Processing timing data...
api            INFO 	No cached data found for session_status_data. Loading data...
api            INFO 	Fetching session status data...
api            INFO 	Data has been written to cache!
api            INFO 	No cached data found for track_status_data. Loading data...
api            INFO 	Fetching track status data...
api            INFO 	Data has been written to cache!
api            INFO 	No cached data found for car_data. Loading data...
api            INFO 	Fetching car data...
api            INFO 	Parsing car data...
api            INFO 	Data has been written to cache!
api            INFO 	No cached data found for position_data. Loading data...
api            INFO 	Fetching position data...
api            INFO 	Parsing position data...
api            INFO 	Data has been written to cache!
api            INFO 	No cached data found for weather_data. Loading data...
api            INFO 	Fetching weather data...
api            INFO 	Data has been written to cache!
core           INFO 	Loaded data for 20 drivers: ['16', '55', '33', '4', '18', '99', '3', '9', '22', '14', '44', '5', '77', '10', '47', '63', '11', '6', '7', '31']
core           INFO 	Loading laps for British Grand Prix - Race [v2.1.8]
api            INFO 	No cached data found for timing_data. Loading data...
api            INFO 	Fetching timing data...
api            INFO 	Parsing timing data...
api         WARNING 	Driver  4: Ignoring late data for a previously processed lap.The data may contain errors (previous: 43; current 44)
api         WARNING 	Driver 55: Ignoring late data for a previously processed lap.The data may contain errors (previous: 7; current 8)
api            INFO 	Data has been written to cache!
api            INFO 	No cached data found for timing_app_data. Loading data...
api            INFO 	Fetching timing app data...
api            INFO 	Data has been written to cache!
core           INFO 	Processing timing data...
api            INFO 	No cached data found for session_status_data. Loading data...
api            INFO 	Fetching session status data...
api            INFO 	Data has been written to cache!
api            INFO 	No cached data found for track_status_data. Loading data...
api            INFO 	Fetching track status data...
api            INFO 	Data has been written to cache!
api            INFO 	No cached data found for car_data. Loading data...
api            INFO 	Fetching car data...
api            INFO 	Parsing car data...
api            INFO 	Data has been written to cache!
api            INFO 	No cached data found for position_data. Loading data...
api            INFO 	Fetching position data...
api            INFO 	Parsing position data...
api         WARNING 	Driver 241: Position data is incomplete!
api         WARNING 	Driver 242: Position data is incomplete!
api         WARNING 	Driver 243: Position data is incomplete!
api            INFO 	Data has been written to cache!
api            INFO 	No cached data found for weather_data. Loading data...
api            INFO 	Fetching weather data...
api            INFO 	Data has been written to cache!
core           INFO 	Loaded data for 19 drivers: ['16', '55', '4', '18', '99', '3', '9', '22', '14', '44', '5', '77', '10', '47', '63', '11', '6', '7', '31']
Finished  gp=2021\10

Did you use event='SQ' to load it? That's the abbreviation I chose for it.
I've updated the docs, but I know, it's a well hidden small change...
But it's the only and best thing I could do quickly

Did you use event='SQ' to load it? That's the abbreviation I chose for it.
I've updated the docs, but I know, it's a well hidden small change...
But it's the only and best thing I could do quickly

No, I didn't.
It works as expected.
Sorry and thank you!

Ok, that's great. I feared it's an easy to miss change.

What's the api path for this Friday's qualifying? I've tried session.api_path = '/static/2021/2021-09-10_Italian_Grand_Prix/2021-09-10_Qualifying/' and it's not working

You don't need to set the api path manually anymore with the latest update as described above.
Just use session = get_session(2021, "Monza", 'Q') as you normally would.


Display express checkout in displayExpressCheckout hook

The module allows the integration of the Express Checkout button in the following hooks:

displayReassurance (if enabled on Product pages)
displayShoppingCartFooter (if enabled on Cart)

At the moment displayExpressCheckout is not available in the list of hooks for transplanting the module.
If there a reason why not to use the displayExpressCheckout hook or any other hook to transpalnt the button?

Hello,
Thank you for your message.
The version 5.3.0 will be available in a couple of months (October 2020).
This version of the module will allow to customize PayPal buttons and its position in the FrontOffice.
Best regards,

Hello,
The official release of the v5.3.0 is available on github. The personnalisation options have been added for shortcuts.
It will be also available on prestashop.addons soon.
Have a nice day !
Best regards,
Tetiana


Require paypal payment gateway in payment-service

Is your feature request related to a problem? Please describe.
No, it is a new feature
Describe the solution you'd like
We would like to have Paypal as a payment gateway similar to as Stripe payment gateway in source-loop payment-service
We also require to support credit card payments
Describe alternatives you've considered
Implement Paypal payment gateway on own

Closed by https://github.com/sourcefuse/loopback4-microservice-catalog/pull/1389


Platform-independent lockfiles for gems with pre-built binaries

I can't really provide reproduction instructions because of the nature of the issue, but the behavior seems well-documented. I'm including as much of the requested info as seemed relevant, please criticize me if you want more!
What you're trying to do: maintain an application which relies on a gem with pre-built binaries, and have the application's lockfile remain platform-independent so it can be checked into version control.
The command you ran: bundle install (for bundler version 1.14.0 through 1.16.0)
What you expected to happen: a platform-independent lockfile
What actually happened: a lockfile that contains more detailed information than needed

OUR ENVIRONMENT:
I work on a closed-source project that uses a private gemserver to deliver pre-built binaries to linux and OSX machines. The binaries are built by the user who pushes the gem, so each new version is pushed to the server once from a Linux machine and once from an OSX machine, using the CURRENT platform each time. Our gemserver's dependencies API returns two entries for each version, marked with "x86_64-linux" and "universal-darwin" as their platforms, as expected. It's essential that we support both platforms, and a pure-ruby gem with native extensions isn't an option, since the gem goes to many places where our source code can't.
OUR BUNDLER ISSUE:
The problem is that starting with the release of bundler 1.14, the name of the platform is included in the lockfile for the application using the gem, so the contents of the lockfile depends on which platform it was last bundled from. Before 1.14.0, the lockfile would read something like "our-great-gem (21.4.3)", and after that release it changed to "our-great-gem (21.4.4-x86_64-linux)", and it remains this way today in bundler 1.16.0.
PREVIOUS BUNDLER DEV DISCUSSION OF THIS FACT:
For this reason, we've stayed on Bundler 1.13 until now, and have finally decided to look seriously into what it would take to upgrade. In my research I found this thread in which it seems to have been decided that "pre-built binaries" is a feature of RubyGems that the Bundler team simply doesn't have plans to support because of how rarely it is used.
So here are my questions, thanks a lot to anyone who can help!

It seems like the lockfile "needs" this platform information because, in principle, the Darwin and Linux gems could have different dependencies and simply are not interchangeable. In our case, this isn't true - all the dependencies are open-source and pure ruby, and they are all the same dependencies. Is there something we can do (either in the gem-building step, our gemserver's dependencies API, or the application Gemfile) to inform bundler that these two gems are interchangeable from the point of view of dependency resolution, even though they differ in their contents?

This issue is tricky because it highlights a fundamental difference between what RubyGems tries to do and what Bundler tries to do. The real, honest, complete resolution of this problem would, it seems to me, require making changes to both of those tools: Bundler can only tell that the two gems are interchangeable if RubyGems tells it so, and RubyGems only cares about one platform at a time, so it has no reason to track that kind of information in the gem metadata. Is this something, as far as anyone knows, that is slated to be fixed when RubyGems 3.0 incorporates the Bundler project?

If not, our intention is probably to fork bundler to implement the feature we need. Would the Bundler team have any interest in supporting this functionality in the trunk? And if so, do you have any parameters for how to go about it? Obviously, as pointed out by question #1, platform information sometimes is relevant for dependency resolution, so turning it off for all gems would generally be a bad idea. Maybe it would be better to allow it as an option to an individual gem entry in the Gemfile. The way I envision it, you would use something like:

gem "our-great-gem", "21.4.4", ignore_platform: true
Bundler then queries the gemserver for our-great-gem, and gets two 21.4.4 entries back. If the two don't have identical dependencies, then "ignore_platform: true" shouldn't have been used, and Bundler fails with an informative message. If they have identical dependencies, then their platform difference is ignored and no distinction is made between them during dependency resolution or while writing to the lockfile. When it comes times to actually install the gem, the one for the current platform is used.

Why not have both x86_64-linux and universal-darwin in the Gemfile.lock? That way your Gemfile.lock is not changing when you run bundle install?
See https://bundler.io/v1.16/man/bundle-lock.1.html#SUPPORTING-OTHER-PLATFORMS for more information

I'm closing this.

Should this be closed now?


Add FaaS (AWS Lambda) test app

JAVA-4758
Modified evergreen project variables, as per above Jira.

@katcharov Do you have a patch build showing this running in evergreen? I don't see the variant in the evergreen PR run. (But the evergreen changes appear like they should be working)

@durran I think this should be it: https://spruce.mongodb.com/task/mongo_java_driver_rhel8_test_atlas_test_aws_lambda_deployed_patch_18cb29924b0434efbfcb288e304a8059072d3684_64e3995e32f417c8e241be77_23_08_21_17_05_35/logs?execution=0
[2023/08/21 17:24:29.075] {"statusCode":200,"headers":{"X-Custom-Header":"application/json","Content-Type":"application/json"},"body":"{\"totalCommandDuration\": 214.0, \"totalCommandCount\": 4.0, \"totalHeartbeatDuration\": 184068.0, \"totalHeartbeatCount\": 18.0, \"openConnections\": 1.0}"}START RequestId: 79bb53a8-b024-4f02-83db-66272fea225d Version: $LATEST
[2023/08/21 17:24:29.075] END RequestId: 79bb53a8-b024-4f02-83db-66272fea225d

3 instances of stats being emitted like this. (If the missing variant should be there, please let me know, and I will try to make sure it's added. I believe test_atlas_task_group is new as of this PR.)

I think this should be it

@katcharov Just reconfigure the patch submitted as a result of pushing to the commit branch, such that it runs the tasks that were introduced in this PR (you can access the patch through the Evergreen "Details" link in the list of GitHub checks). That's where reviewers are naturally expecting to see the results of the tasks relevant to the PR.
Note that with each new commit pushed you'll need to reconfigure that patch. It is still better than submitting a separate patch and then linking it again each time you add a new commit to the PR.

@rozza test-aws-lambda-deployed passed. The remaining failures, I believe, would be fixed in master.


conditionalize xrootd policy based on lcmaps version (SOFTWARE-3396)

Followup to #132 - @brianhlin says that since 3.3 and EL6 tests are backversioned on xrootd-lcmaps, we want to restore the old behavior for xrootd-lcmaps < 1.4.0.

@edquist next time please request a review.

Looks broken:
http://vdt.cs.wisc.edu/tests/20180910-1120/packages.html
Apparently core.skip_ok_unless(...) is not a thing, but you have to do self.skip_ok_unless(...) instead. I'll fix that in this PR.
But it's a bit confusing since there is a core.skip_ok_unless_installed(...) immediately above it...  Is that wrong too?

A little grepping shows core.skip_ok_unless_installed(...) and even voms.skip_ok_unless_installed(...), but not self.skip_ok_unless_installed(...).  On the other hand, the generic skip_ok_unless(...) only appears as a member of self.

Kicking off another VMU run for the fix

Yeah, the interface is confusing. It would be nice if we could move things around somewhat (in a separate PR of course) so that it's more consistent -- probably move more things into OSGTestCase.

To me it's a little silly to invoke self.skip_ok_unless(...) when the function does not use self for anything:
    def skip_ok_unless(self, expr, message=None):
        "Skip (ok) if the expression is false"
        if not expr:
            raise OkSkipException(message)

To me, that's a reason either to move it to core, or if kept in OSGTestCase, to make these classmethods.

VMU run results are a mess for xrootd in All 3.4 EL6, and HDFS Plugins 3.3 EL6/EL7:
http://vdt.cs.wisc.edu/tests/20180910-1713/packages.html
Package        Version-Release    Count  Output-Nums
-------        ---------------    -----  -----------
xrootd-lcmaps  -                  120    001,002,004,005,007,008,009,...
xrootd-lcmaps  1.2.1-3.osg33.el6  6      089,095,101,107,113,119
xrootd-lcmaps  1.2.1-3.osg34.el6  12     000,003,006,012,015,018,021,...
xrootd-lcmaps  1.3.4-1.osg33.el7  6      125,131,137,143,149,155
xrootd-lcmaps  1.4.0-1.osg34.el7  13     042,045,048,054,060,063,066,...

A quick glance i saw a bunch of Auth failed errors for xrdcp.

¯\_(ツ)_/¯
We should discuss design improvements sometime, off-ticket.


Support subscript setters

Subscripts are currently get-only, which means you can't override the setting behavior.
Something like this should work
type Foo {
  subscript(_ v: Int) -> Int {
    get { return 4 }
    set { print("you gave me"); println(newValue) }
  }
}

Should a SubscriptSetExpr return anything or just void? (I personally like setters returning the set value)

I actually think setters should be void


merge package from arlac77/npm-package-template

package.json

chore(package<EMAIL_ADDRESS>chore(package<EMAIL_ADDRESS>chore(package<EMAIL_ADDRESS>chore(scripts): cover@#overwrite c8 --temp-directory build/tmp ava && c8 report -r lcov -o build/coverage --temp-directory build/tmp
chore(package): add main from template
chore(package): set $.ava.require='esm' as in template
chore(package): set $.ava.files='tests/*-test.mjs' as in template
chore(package): set $.ava.extensions='mjs' as in template
chore(package): remove unknown value for main ({{main}})

Pull Request Test Coverage Report for Build 1796

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 99.7%

Totals

Change from base Build 1795:
0.0%

Covered Lines:
302

Relevant Lines:
302

💛  - Coveralls


Fields difference

Implements #158
I wrote a feature which we already had with price rules, which mimics set intersection and difference. It still reads product_url_field & name_field tags, but the output is different:
How it looks now:

To compare the difference (notice the change in the output format) and timing - https://jupyter.scrapinghub.com/user/u/lab/tree/shared/Experiments/Arche/PRs/difference.ipynb

Should we lower().strip() strings before comparing? Should we normalize numbers (e.g. 5 = 5.0). In this rule, should we care about particular format (case matters) or more about the meaning?

Should we lower().strip() strings before comparing? Should we normalize numbers (e.g. 5 = 5.0). In this rule, should we care about particular format (case matters) or more about the meaning?

I think that would be nice to be add an option to be able to apply a transformation to some column values. But it shouldn't be the default rule behavior to normalize strings/numbers.
Also, probably it would be useful to be able to access the values that are in the intersection/difference.

I'll leave normalization for the other pr.

Also, probably it would be useful to be able to access the values that are in the intersection/difference.

One can extract keys and then values:
a.target_items.df.loc[list(res.messages[Level.ERROR][0].errors.values())[0]]
But that's not very conveniet. In what form would you like to see values? There's an option to shorten it, I think it could be:

missing values - [value1, ...., value20]
missing value1 - [key1, ...., keyx]
... missing valuex - [key1, ...., keyj]
or like this with pandas loc

I'll leave normalization for the other pr.

Also, probably it would be useful to be able to access the values that are in the intersection/difference.

One can extract keys and then values:
a.target_items.df.loc[list(res.messages[Level.ERROR][0].errors.values())[0]]
But that's not very conveniet. In what form would you like to see values? There's an option to shorten it, I think it could be:

missing values - [value1, ...., value20]
missing value1 - [key1, ...., keyx]
... missing valuex - [key1, ...., keyj]
or like this with pandas loc

The first option. It's easy to manipulate the results after.
.missing_values -> [value1, ..., value20]
Also I think that having all missing items on a df would be useful(e.g checking urls)
.missing_values_items -> pandas df with the complete item information

Also I think that having all missing items on a df would be useful(e.g checking urls)
.missing_values_items -> pandas df with the complete it

Can you give an example? Do you mean we should find added\dropped values between job by default or that we should have a feature which does that?

Also I think that having all missing items on a df would be useful(e.g checking urls)
.missing_values_items -> pandas df with the complete it

Can you give an example? Do you mean we should find added\dropped values between job by default or that we should have a feature which does that?

The rule could return the items that are in the set difference/intersection between two jobs as a pandas df, or an easy way to access these values. Sometimes missing values needs to be further investigated, to check if they really should be missing.

The rule could return the items that are in the set difference/intersection between two jobs as a pandas df, or an easy way to access these values. Sometimes missing values needs to be further investigated, to check if they really should be missing.

Got it, I created #169. It differs from this feature as here we care about values only, and there we care if any items changed.

Codecov Report

Merging #167 into master will decrease coverage by 0.01%.
The diff coverage is 76%.

@@            Coverage Diff             @@
##           master     #167      +/-   ##
==========================================
- Coverage   81.79%   81.78%   -0.02%
==========================================
  Files          23       24       +1
  Lines        1637     1658      +21
  Branches      291      293       +2
==========================================
+ Hits         1339     1356      +17
- Misses        246      252       +6
+ Partials       52       50       -2

Impacted Files
Coverage Δ

src/arche/arche.py
85.1% <100%> (+0.21%)
:arrow_up:

src/arche/rules/price.py
85.21% <100%> (+3.07%)
:arrow_up:

src/arche/readers/schema.py
100% <100%> (ø)
:arrow_up:

src/arche/__init__.py
100% <100%> (ø)
:arrow_up:

src/arche/rules/compare.py
72.09% <72.09%> (ø)

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 67a24b8...96e4aa6. Read the comment docs.

I added errors by introducing more_stats field, also normalization flag.
res = arche.rules.compare.fields(
    a.source_items.df, a.target_items.df, ["product_name", "url"]
)
res.more_stats["product_name"]["new"]

So for this rule more_stats is {field: {new\same\missing: pd.Series}}
I also simplified tests by writing an assert and removing unneccesary logic from the code, there're lots of changes.
Please review @simoess @ejulio