CLOUDP-97423: Adding link-token deletion command

Proposed changes
Delete one link-token support for Atlas
Jira ticket: https://jira.mongodb.org/browse/CLOUDP-97423
Checklist

[x] I have signed the MongoDB CLA
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have added any necessary documentation (if appropriate)
[ ] I have updated e2e/E2E-TESTS.md (if a new command or e2e test has been added)
[x] I have run make fmt and formatted my code

Further comments
Delete command help:
mongocli atlas lm link
Manage the link-token for your organization.

Usage:
  mongocli atlas liveMigrations link [command]

Available Commands:
  create      Create one new link-token.
  delete      Delete one link-token.

Delete a link
bin/mongocli atlas lm link delete --orgId=60a4c298e39f9e4bc534f78f --profile=dev
? Are you sure you want to delete:  Yes
Link-token 60a4c298e39f9e4bc534f78f successfully deleted

LGTM with one nit, since you're able to create and delete could we add an e2e?

One thought on e2e, how far do we want to go? Links are easy and fast, but do we want to do a full migration (validation, create and cutover) as well eventually? Those involve spinning up clusters on both cm and atlas, then running a migration, which isn't fast (20+ mins)
I'll make tickets for each if that's the plan.


"Please accept the conditions fir a SEOA direct debit" in Admin Panel shown, but no checkbox is available.

Hi Paul,
Thanks for the issue. This is only in the development version where we add this option but forgot to add it into the backend. It is now as well in the backend so you can do SEPA payments through magento admin.
Regards,
Rik
Adyen


[DOCS]: complete ProtoBuf schemaannotations

the protobuf schema needs to be revisit,
and where missing, some documentation annotations need to be added.
the documentation should be taken from JSON schema file, as it is the textual equivalent to the human-readable specification.
to keep docs mandatory, enable the linter rule "COMMENTS" (except for legacy schema files)

see https://buf.build/docs/lint/rules/#comments
linter config: https://github.com/CycloneDX/specification/blob/master/tools/src/test/proto/buf_lint.yaml

i work on this ASAP


Changing locale doesn't automatically update the form

In the application I'm currently working on the user can change his locale at will from the navbar. Updating the locale prop in the Elements component is not enough to change the elements locale:
import React from 'react';
import { StripeProvider, Elements } from 'react-stripe-elements';

const StripeWrapper = ({ children, locale }) => (
  <StripeProvider apiKey={'STRIPE-KEY'}>
    <Elements locale={locale}>
      {children}
    </Elements>
  </StripeProvider>
);

To solve the issue I had to force a re-render using the key prop:
import React from 'react';
import { StripeProvider, Elements } from 'react-stripe-elements';

const StripeWrapper = ({ children, locale }) => (
  <StripeProvider apiKey={'STRIPE-KEY'}>
    <Elements locale={locale} key={locale}> { /* forcing a re-render with the `key` prop */ }
      {children}
    </Elements>
  </StripeProvider>
);

This fix is enough for my application, but I thought it'd be nice to let you know about this bug!

@oddlyfunctional thanks for reporting this! That behavior certainly isn't expected. That said, I believe the elements object in the underlying stripe.js api does not allow updating the locale after it is created. Maybe we should name this property initialLocale to make that clearer?
To update the locale, you'd probably still need to set a distinct key to tell React that you want the previous Elements instance to be torn down and the new one to be created fresh. (Although note that this will lose any data the user has entered into the element, which may not be what you expect.)

Hi all! After further thought, and not making progress on this in more than a year, I think I'm going to close this issue for now.
I admit that accepting a locale prop and not letting it update is not ideal. But having locale update by completely reloading the element is a big footgun with unexpected UI and performance implications.


🎉 [1.0.0] Rewrite

Pull request is for the rewrite of Nino! This re-builds all aspects into sizable yet scalable components and services for code re-usability and such!
Major Changes

Move from MongoDB to PostgreSQL
Moved mute / unban timeouts into a microservice
Automod, Punishments, and Warnings refurbished
All major bugs fixed
Added voice-related commands (vcmute, vcdeafen, etc)
Settings more user-friendly (#334)
Simplify command usage (#327)

merge conflics :pensive:


Migrate XYOrbitViewController

Closes #219
This PR migrates the XYOrbitViewController and also updates the OrbitViewController.
In particular, we worked on consistency in "mimic" again, working with the originally intended behaviour.
We tried to enable "mimic" behaviour also when the camera was below the xy-plane, but didn't manage to have it working as above the xy-plane (sadly, it's not a symmetric problem).
CI:

Linux
Linux-aarch64
macOS
Windows

We added two small fixes and rebased onto current master. So a new CI is in order:

Linux
Linux-aarch64
macOS
Windows

@Martin-Idel-SI FYI, your macOS build failed because of a Jenkins disconnect, and then the restart of it happened to get onto a node that is having trouble right now.  I've killed off the new job, but it would probably be best if you kick off a new macOS job on the build farm by hand.  Sorry for the disruption.

@clalancette Thanks for the explanation. I'll restart:

macOS

I built and tested the controller out locally (on my macbook), looks good there too.
CI (using --packages-up-to rviz2 rviz_rendering_tests rviz_visual_testing_framework):

Linux
Linux-aarch64
macOS
Windows

Missed a cpplint issue:

Linux
Linux-aarch64
macOS
Windows


Vaadin 8 + Spring Boot 1.5.2 support added

Hi,
I needed most of addons and extensions to work with vaadin8 for my app so I made the necessary changes to the project, and bumped the project.version to 2.0.0-SNAPSHOT (which is different from current project versioning scheme but aligns with what vaadin is doing for vaadin8 and vaadin-spring 2.0.0)
I've also migrated the samples - but since I didn't need that I only changed necessary imports to use compatibility package. All tests pass, whole project builds, but I didn't have the time to actually launch and look at the samples 👎
This project is using vaadin 8.0.0, vaadin-spring 2.0.0 and spring-boot 1.5.2
In the process I also fixed https://github.com/peholmst/vaadin4spring/issues/302

I've changed vaadin version to 8.0.1.

Checked through all the examples after this PR and did some additional fixes. Let's do some small additional testing and then cut the first Vaadin 8 release.


Error when running  rails generate exception_handler:install

I got the following error when trying to run  rails generate exception_handler:install based on
http://www.rubydoc.info/gems/exception_handler/0.3.45
I realize that is an old doc. I am just trying to set things up so the config files are available
 chris@chris-VirtualBox:~/Documents/RailsProjects/LineIndex$ rails generate exception_handler:install
 Running via Spring preloader in process 30401
 Expected string default value for '--serializer'; got true (boolean)
 Could not find generator 'exception_handler:install'. Maybe you meant 'exception_handler:views', 'responders:install' or 'integration_test'
 Run `rails generate --help` for more options.

Running ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
Rails 5.0.2
bundle info gives
chris@chris-VirtualBox:~/Documents/RailsProjects/LineIndex$ bundle info exception_handler
  * exception_handler (<IP_ADDRESS>)
	Summary: Rails gem to show custom error pages in production. Also logs errors in db & sends notification emails
	Homepage: https://github.com/richpeck/exception_handler
	Path: /home/chris/.rvm/gems/ruby-2.4.1/gems/exception_handler-<IP_ADDRESS>

Hi Chris, let met have a look at this for you

Ok, so the problem here is that exception_handler:install generator doesn't exist any more.
I suppose this should have been more specific in the Readme (which I'm working on), but nonetheless it doesn't exist in <IP_ADDRESS> (current version). At present, if you just want to use the gem to catch errors - it does this out of the box. You will just need to add dev: true to the config file of your app (as follows):
# config/application.rb
config.exception_handler = { dev: true }

This will allow you to see the custom error pages in development mode.
If you wish to change the controller or any of the views, that's when you'd want to use the exception_handler:views generator:
rails g exception_handler:views
rails g exception_handler:views -v views
rails g exception_handler:views -v controllers
rails g exception_handler:views -v models
rails g exception_handler:views -v assets
rails g exception_handler:views -v views controllers models assets

If you could let me know specifically what you were hoping to do with the generator, I'll be able to provide you with details on how to achieve it.

Rich - OK, I'll try it 'out of the box' and see how that works.
One thing I want to do is to send an email to the admin team when an exception is encountered. From what I see, I think the gem will do that.
I probably won't get back to this until later in the weekend.
Thanks again for the amazingly quick response!!!

No problem, please just ask here if you need more help.

Rich - absolutely love the gem but I'm so confused by the documentation.  Your explanation above did way more for me than everything else.  Just food for thought from a N00B.

Hey bud, no problem.
Reworking the README right now - it will be much more detailed than it is now  - thanks for the feedback :)

@richpeck , I tried to put the code
config.exception_handler = { dev: true }
into my /config/application.rb but nothing happens. Am I wrong on where to paste that code?
My code is as follows:
module SIGS
  class Application < Rails::Application
    # Initialize configuration defaults for originally generated Rails version.
    config.load_defaults 5.1

    #config/application.rb
    config.exception_handler = { dev: true }

    # Settings in config/environments/* take precedence over those specified here.
    # Application configuration should go into files in config/initializers
    # -- all .rb files in that directory are automatically loaded.
  end
end

Have you loaded the gem in the gem file?
You're running inside a module - is this a naked app or embedded in something else?

Yes, I haver loaded It in the gemfile.
Thats a naked app
Em 23 de abr de 2018 3:49 AM, Richard Peck<EMAIL_ADDRESS>escreveu:

Have you loaded the gem in the gem file?
You're running inside a module - is this a naked app or embedded in something else?

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/richpeck/exception_handler/issues/56#issuecomment-383472044, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AD4pLaAiJGQvXIZMm9iyUrm_IVWEaHPyks5trXl9gaJpZM4Qyete.

Is there anyway I could look at the repo? Many thanks for the replies so far.

Sure, here it is: https://github.com/daluzguilherme/SIGS-GCES

Thanks, can't seem to find the exception_handler gem in the Gemfile: https://github.com/daluzguilherme/SIGS-GCES/blob/master/SIGS/Gemfile

Great to hear! Thanks for using the gem


Announcements: Communications to attendees

This issue will get a copy of each non-confidential email to attendees, for full disclosure.
You have to infer which mails are sent to learners/helpers/waitlisted.

Hello Mega-CodeRefinery attendees,
Dear {first_name},
We're contacting you because you registered for the event {event_title}.
Congratulations on making it to the first Mega-CodeRefinery.  We had about 150 people register before we closed it, and are able to take about 120.  We are really excited to reach so many people at once, but to make this successful, we all need to prepare.
Most importantly, you need to make sure you have some software installed, configured, and verified.  Don't underestimate the importance of this, even if you think you already have something installed.  With so many people, this is even more important. Especially make sure that you verify your git installation and configuration for the first week.  You can find software requirements on the course webpage:
https://coderefinery.github.io/2020-05-25-online/#software-requirements
There are two times we have scheduled for you to connect and get help with software installation and configuration.  If you have any doubts, please connect and we can verify in advance:

20.may (Thu) 14-15 CEST
22.may (Fri) 13-14 CEST
~30 minutes before each session
If you have problems and can't make any of these, please contact us at<EMAIL_ADDRESS>
If you haven't already filled the pre-workshop survey, please do that as soon as possible since it helps us with workshop preparation:
https://indico.neic.no/event/141/surveys/39
The workshop will be very focused on version control with Git. Some of you are already familiar with Git, but not all. While we will be starting from the basics, we will be progressing quickly so it's useful if you spend a few minutes to read up on the basic idea of Git. For this purpose, we have prepared this "refresher" material:
https://coderefinery.github.io/git-refresher/
Note that this material also contains important Git configuration steps which all of you should go through before the workshop starts, to save valuable time during the workshop.
You will receive a Zoom link for the workshop in the next few days (at least before the pre-workshop installation verification).
Note the timezones!  The workshop starts at 9:00 in Stockholm time, 10:00 Helsinki time.  Please connect 10 minutes in advance.
CodeRefinery strives to follow the Code of Conduct developed by The Carpentries organization. Please have a look at https://docs.carpentries.org/topic_folders/policies/code-of-conduct.html so that we all are aware of how to treat each other respectfully.
If you have any more questions, or it turns out that you can't attend, please contact us at<EMAIL_ADDRESS>Best regards
Richard Darst on behalf of CodeRefinery
p.s. you are a registered as a "{field:752}", if you have a team it is "{field:754}"
You can view your registration details on this page:
{link}

Hello helpers!
Dear {},
We're contacting you because you registered for the event Online CodeRefinery workshop May 25 - Jun 4.
Thank you for being a CodeRefinery helper.  This is by far the largest and most ambitious CodeRefinery ever, and you all are what makes this possible.  As a helper, you are the first line of answering questions our learners have, and thus directly allow us to reach many more people than you normally could.  You don't have to know everything, just have be able to provide advice and encouragement on basic issues, and know when to call someone else.
There are some things we need you to do in advance:

Read over the instructions for learners, which you also will get

If you are on a team, make sure that the other teammates have software installed and configured in advance (and you, too).  This is very important!  In general, make sure that people can start off as smoothly as possible.

Come to one of the pre-workshop helper conference calls.  They are:

20.may (Thu) 13:30-14 CEST
22.may (Fri) 12:30-13 CEST
Right after these times are general "installation help" for all learners.  If you could stay around for a bit and provide advice, that would start things off well.

We've prepared some tips for helpers, which we'll go over in the helper call, but you can go ahead and read:
https://github.com/coderefinery/manuals/blob/master/helping-and-teaching.md
Please reply to this message saying you've got it, and which helper call you can make (if you can't make any, let us know too).
We understand that some of you may not be able to participate in all 6 workshop sessions but please let us know in which sessions you cannot participate to simplify our planning of breakout rooms.
Best regards
Richard Darst on behalf of CodeRefinery
You registered as a "{}" (if on a team, the team is "{}").  (The registration options are "Helper" or "Helper on a team")
You can view your registration details on this page:
{link}

Update: there was a mistake in the messages above.  The pre-workshop help times are actually on Wednesday, not Thursday.

[Waitlisted people]
Dear {first_name},
We're contacting you because you registered for the event {event_title}.
You've registered for the mega-CodeRefinery, but unfortunately it wasn't mega enough and we didn't have room to take everyone who registered.  We hope that you sign up for our notify-me list so that you can be the first to know about future workshops that will come:
https://coderefinery.org/workshops/upcoming/#notify-me
We still are unsure if we will be able to provide a live stream.  Technically it is possible, but unfortunately, we haven't found a way to fully separate attendees in the workshop from the live stream, so we can't guarantee privacy of those in the main workshop.  Thus, we need to think more about this - so, we can't promise a live stream, but I would say there is currently a 50% chance.  You will receive another email if there is a live stream (or if we can accept more from the waitlist).
In the event we can't provide a live stream for everyone, we will try to organize a workshop designed primarily for live streaming and also try to hold more Mega-CodeRefinery workshops later.  We had to close general registration after only ~28 hours and 130 people, which shows a huge demand we will try to satisfy later.
Best regards
Richard Darst
You can view your registration details on this page:
{link}

If anyone is following this: you'll be the first to know we are almost certainty doing livestreaming - at least trying it for the first sessions.

Hello all,
Dear {first_name},
We're contacting you because you registered for the event {event_title}.
This is updates about the Mega-CodeRefinery workshop.
First off, many of you have noticed the mistake in the last message: the pre-workshop meetings are Wednesday and Friday, not Thursday and Friday.  This includes the software installation verification time!
Please make sure that you are working on software installation and verification.  For the first week, git, bash, and the editor are the most important things to verify (and Zoom, and optionally visual diff tools).  Please work on this early and ask someone if you need help.  For that matter, make sure you have read all of the old emails well.  Please join the pre-workshop session if you have any questions or comments.  The pre-workshop help times are:
 20.may (W) 14-15 CEST
 22.may (F) 13-14 CEST

The zoom info for the entire workshop and both pre-workshop sessions is:
ID: (removed)
Password: (removed)
(removed)
Please remember to fill out the pre-workshop survey today, if you haven't already:
https://indico.neic.no/event/141/surveys/39
More info and updates are always found on the workshop webpage:
https://coderefinery.github.io/2020-05-25-online/
If you have any questions or need help preparing, contact us or your helper.
If you have registered with someone, and would like to be in the same breakout room as them, please use the link below and modify the "Team" field to the same thing as them.  (This is just a trial, we only guarantee this for teams, though)
You can view your registration details on this page:
{link}
Best regards
Richard Darst on behalf of CodeRefinery

Subject: [CodeRefinery] Mega-workshop room assignments and practical info
Hi all,
This is some of the last practical information for CodeRefinery starting next week.

Make sure you are careful about the timezones!  All times are in Central European Summer Time (see webpage for a converter).
We will be streamed and recorded!  See below for information on privacy (your video won't appear in the stream).

The zoom info for the entire workshop and both pre-workshop sessions is:
ID: (removed)
Password: (removed)
(removed)
Please always join 10 minutes early (or even earlier, if you have problems).
Documentation on how to use Zoom can be found here:
https://www.uio.no/english/services/it/phone-chat-videoconf/zoom/
=== learners ===
Your breakout room number is {field:757}, so you should set your Zoom name to:
({field:757}) {first_name} {last_name}
=== helpers ===
Your breakout room number is {field:757} and you are a helper, so you should set your Zoom name to:
({field:757},H) {first_name} {last_name}
=== end ===
If you can't figure out, we can help once you join.  Also, we will re-adjust breakout rooms as needed, we do not commit to this.
Keep this HackMD link available, it will be used during the workshop for notes and questions:
(removed)
This workshop will be streamed and recorded.  We have it set up so that you should not appear in the stream, however, to remove any chance of this happening you should leave your video off in the main room.  However, any audio in the main room will be streamed to the world and recorded.  If you prefer for this to not happen, the HackMD link can be used to ask questions and interact.  The breakout rooms are never recorded or streamed (and we encourage video and audio on there to be interactive).  To learn about the streams, please see:
https://coderefinery.github.io/2020-05-25-online/#streaming-info
https://www.twitch.tv/coderefinery
If you haven't yet, please make sure that you have read the other messages, and come with all software installed, configured, and verified.  You may find more information on the website (we will put updates here):
https://coderefinery.github.io/2020-05-25-online/

Richard Darst on behalf of CodeRefinery

Everyone
Hello all,
Thank you to everyone who attended, and if you couldn't, we hope you can catch up and join us in the future.
HackMD day 1 questions have been saved permanently here (and future days will be added here as well):
https://coderefinery.github.io/2020-05-25-online/#questions-answers-and-feedback
You can find Twitch video recordings here:
https://www.twitch.tv/coderefinery/videos
These get removed after 14 days, so we will put them on YouTube later.
There were some problems with Zoom, breakout rooms, and rejoining.  If you had problems, try upgrading to a newer Zoom version.  This is the best guess we have for a solution.
We hope to see everyone tomorrow for git-intro part 2.

Richard

Helpers
Dear {first_name},
Thank you for being a helper in the Mega-CodeRefinery.  We think it has gone off pretty well, considering the number of people we had.  We got some requests about how to manage breakout rooms: this is for sure one of our hardest challenges, but I am sure that we can figure this out together.  Don't worry, from our feedback some of the rooms may have been silent, but I don't think there were any major problems.
We've prepared some breakout room hints here, which we encourage you to read.  As usual, please put your own ideas and feedback here, which we will incorporate into our the recommendations we make after this workshop is done:
https://hackmd.io/@rkdarst/breakout-hints
If you have any special difficulties you would like to discuss, I (and the rest of us) are always available.  You can also always use the regular hackmd/chat to discuss these things too.
Thanks for making this possible,
Richard Darst

Everyone
Thank you for attending and watching today.
First and foremost big thanks to the helpers. During the workshop we need to communicate better how much we appreciate their volunteer work and it is absolutely OK and even expected to not know everything and we should try to find solutions together. Helpers have experience in the material, but we are all learning new things together.  Managing a breakout room is a challenge even under best circumstances, and we expect that not everyone goes at the same speed.  We'll work on this a bit more in the upcoming sessions.
As a reminder, a new Zoom version is needed by next week.  Also, if you have had troubles with Zoom today, please update anyway.  Let's see if that helps some.
Summary and most important take-home messages from today:

A branch is a line of work, a sequence of commits.
A branch is a label that points to a development line
Branches can be created, merged, and deleted
When we delete a branch, we delete the label, not the commits
Branches do not take up any significant space so we should not hesitate to create many
It is OK to start only with one branch and later use more branches
As you get more comfortable with Git, it will be useful to keep separate features/ideas on separate branches.
git grep, git log, git show, git annotate, and git bisect are a powerful toolset to inspect the history of a project
git graph is an alias defined (see the quick reference), and presents an overview of all branches and commits.

What you need to know or set up to be able to continue tomorrow:

You need a GitHub account since we will exercise using GitHub (installation: )
You should be able to create branches and switch between branches
Inspecting the history with git log or git graph
You should be able to create a branch from a past commit
We will create commits and share them with others so descriptive commit messages will be more important tomorrow

We will explain cloning, pulling, and pushing changes tomorrow so it is not a problem if this was too fast today.
As a reminder, here are the HackMD/zoom links:

(removed)
(removed)

Dear {first_name},
We're contacting you because you registered for the event {event_title}.
We have now passed the halfway point in CodeRefinery, and this week will transition to other skills. Git will serve as the tool we use to do these, but if you felt confused last week, you won't necessarily be lost this week.
As a reminder, Zoom must be updated to 5.x, or else you can't connect next week. Also, we start on Tuesday (not Monday like last week).  As always, please connect 10 minutes early.
Key points of day 3:

Git clone, fetch, pull, and push commands
All other Git commands are only local and do not require network
Branches as they relate to remotes, making a new branch, pushing, and making a pull request from it.
A centralized workflow uses one repository and requires that everyone has access to it
A distributed workflow uses Github forks and allows anyone to contribute with trivial work

Prerequisites for week 4:

Git clone, basic ability to use Git, creating forks and submitting pull requests (but you can pick up most of this during the next week - consider it more practice)
The rest of the software installation: in particular new is Python and the related things.  Day 5 uses Jupyter and Sphinx, day 6 pytest.
Ability to use an editor to edit files (just like last week)

Reminder Zoom links:
ID:<PHONE_NUMBER>6
Password: git
Link: (removed)
Reminder HackMD link:
(removed)
Thanks and see you tomorrow,
Richard Darst on behalf of CodeRefinery


Prepare Release 3.1.2

Codecov Report

Merging #4970 (5c2b895) into master (3e2adbc) will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #4970      +/-   ##
==========================================
- Coverage   95.64%   95.63%   -0.02%
==========================================
  Files         621      621
  Lines       65394    65394
==========================================
- Hits        62545    62538       -7
- Misses       2849     2856       +7

Flag
Coverage Δ

servertests
36.11% <ø> (ø)

unittests
95.57% <ø> (-0.01%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

moto/resourcegroupstaggingapi/models.py
83.18% <0.00%> (-0.59%)
:arrow_down:

moto/route53/responses.py
96.69% <0.00%> (-0.42%)
:arrow_down:

moto/sns/models.py
96.83% <0.00%> (-0.40%)
:arrow_down:

moto/efs/models.py
91.09% <0.00%> (-0.30%)
:arrow_down:

moto/sqs/models.py
96.76% <0.00%> (-0.18%)
:arrow_down:

moto/config/models.py
99.22% <0.00%> (-0.13%)
:arrow_down:

moto/ssm/models.py
94.42% <0.00%> (-0.11%)
:arrow_down:

moto/iam/models.py
95.25% <0.00%> (+0.12%)
: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 3e2adbc...5c2b895. Read the comment docs.


Request: Option to collapse the UI down instead of up

Currently, when collapsing the overlay, the title bar on top is still being displayed.
However, for people who put the overlay on the bottom of the screen this is a bit annoying, because there will now be a hovering bar in the middle of the screen.
I really wish there is an option to collapse to the bottom, either by making it an option to put the title bar at the bottom, or making it possible to make the title bar drop to the bottom when collapsing.
Thank you very much!

Hello, what about this?


Not working on iOS 11

When try to record on iOS 11, I get the following error log:
[Error] Missing analyticsSettings in Meteor.settings.public
	(anonymous function) (modules.js:53087)
	analyticsStartup (okgrow_analytics.js:418)
[Warning] URL.createObjectURL(stream) is deprecated, please use elem.srcObject = stream instead. (modules.js, line 53087)
[Log] started recording video stream. (modules.js, line 53087)
[Log] Using recorderType: – "WhammyRecorder" (modules.js, line 53087)
[Log] Using frames-interval: – 1 (modules.js, line 53087)
[Log] canvas resolutions – 336 – "*" – 448 (modules.js, line 53087)
[Log] video width/height – 336 – "*" – 448 (modules.js, line 53087)
[Log] Recorder state changed: – "recording" (modules.js, line 53087)
[Log] Initialized recorderType: – "WhammyRecorder" – "for output-type:" – "video" (modules.js, line 53087)
[Error] Unhandled Promise Rejection: [object DOMError]
	(anonymous function)
	rejectPromise
[Warning] Stopped recording video stream. (modules.js, line 53087)
[Log] Recorder state changed: – "stopped" (modules.js, line 53087)
[Error] InvalidCharacterError (DOM Exception 5): The string contains invalid characters. (blob:https://12a86d15.ngrok.io/8e98ba37-2dc0-4c74-861d-ee1feb8d71a3, line 317)

Also the video always opens in fullscreen, so the user can't press on stop.

Video not yet working, please refer to the browser compatibility:
https://github.com/muaz-khan/RecordRTC#browsers-support

I'd love to see audio capture implemented for Safari 11 for iOS and Desktop. I reached out to<EMAIL_ADDRESS>and got the following reply. Posting it here in case it helps with this at all:

If you take another look at "A Closer Look Into WebRTC" (https://webkit.org/blog/7763/a-closer-look-into-webrtc/) you’ll note that it does not in fact say that Safari supports audio recording is supported. It states that capturing audio for streaming visa a MediaStream is supported.
Both the RecordRTC and Audio Recorder use MediaRecorder from the MediaStream Recorder API which Safari does not support. There is no support currently planned for MediaStream Recorder.
You can file a feature request for this API by filing a bug report with your use case for the API and the impact it would have to your user base. You can file bug reports at https://bugreport.apple.com
The WebAudio Input example fails because it calls the wrong API. It includes the following call:
var pc1 = new webkitRTCPeerConnection(servers); // eslint-disable-line new-cap
This fails because webkitRTCPeerConnection() is the wrong API call. It should be calling RTCPeerConnection() instead.
WebRTC and Media Capture is supported in Safari 11 and Safari Technology Preview on macOS Sierra and macOS High Sierra.

@muaz-khan
Given that iOS seems to support getUserMedia now, should this just start working, or is there more tinkering that needs to happen? This article appears to show a working demo: https://medium.com/@leemartin/hello-webrtc-on-safari-11-e8bcb5335295

@john-landgrave iOS 11+ supports getUserMedia, MediaStream, and related APIs needed for WebRTC.
However, for local recording, there's a separate class called MediaRecorder. It's been available in Safari since Jan 2019 in preview but, as of today, it is still "Experimental" and users need to turn it on in Safari settings. It applies to both desktop Safari on Mac and mobile Safari on iOS.
Bottom line, unless you can tell your users to go change their browser settings, recording a video is not natively supported by Safari. RecordRTC has an alternative recorder called WhammyRecorder which circumvents the native APIs by hacking the stream through a canvas, but unfortunately, it doesn't currently work on Safari as mentioned in https://github.com/muaz-khan/RecordRTC/issues/380

Thanks @petrbela , definitely appreciate the detailed response!


Hide receive and send tab option if wallet is watch only

Fix #200
This PR hides the send and receive tab options when the selected wallet is a watch only wallet.

A watch only wallet is able to receive funds


Fix empty CTCP ACTION sending two literal underscores on Discord

The Bug that this PR Fixes
Sending an empty CTCP ACTION (i.e. a /me command) from IRC will make go-discord-irc send the message __ (two underscores) to Discord. This renders on Discord clients as literal underscores instead of an empty message, breaking the expectation of the IRC user and changing the perceived content of the message.
Having any non-zero whitespace in the CTCP ACTION will not cause this issue (only the true empty string), as Discord renders the sequence _ _ as empty but __ as two literal underscores.
This issue is rather obscure since most IRC clients forbid you from sending an empty CTCP ACTION. However, with the use of programmatic bots/clients, you can do this. (It is common when you want to play with the bot's nickname). The intended look of these messages is that it shows the nick of the user in emphasis, without a message to follow it. So, it is a bug in go-discord-irc that there is a visible message content.
The Implemented Fix
The wrapping of IRC CTCP ACTION commands with underscores to mimic the italicization on Discord happens before the logic for ZWB treatment of empty messages. This means that we wrap the empty CTCP ACTION with underscore characters, before sending it onto the Go channel read by bridge.go, which then sees a non-empty message and thus does not insert ZWBs.
This commit fixes the bug by not wrapping a CTCP ACTION with underscores if the content is empty. This way, an empty message is sent onto the Go channel ready by bridge.go, which then will give the necessary ZWB treatment, and send an empty message onto Discord.

Whoops, wrong repo to send the PR to.


Override publish configuration in sbt-exercise plugin to include library metadata in the generated JAR

Can you elaborate on this issue?

Sorry @andyscott, didn't get notified of your comment. Currently compile must be called explicitly for trigger our custom compilation, it won't work with commands like publishLocal that perform a compilation. We won't it to seamlessly override the original compile task with our additional compilation pass.


Removed Ginkgo in require_package_test.go

This PR:
Aims to align tests with guidelines in #188
Let me know if I misunderstood any and I can make adjustments.
Closes:
#196

@matthew-hagemann hi, do you think you'll have time to come back to this?

I believe this was resolved in #402.


Implementation of RBAC functionality in Context Broker.

Development is in progress for Entity Manager service in Scorpio Broker.

Completed integration of RBAC roles using keycloak for Entity Manager.

RBAC support provided for Scorpio Broker services - Entity Manager, Query Manager, Subscription Manager, History Manager and Registry Manager.

Testing the RBAC flow via Spring Cloud Gateway

Unit test case development to test RBAC is in progress.
Existing test cases in Scorpio services are failing. -DskipTests is being used currently to build the jars and images and this is an open issue. Reference: https://github.com/ScorpioBroker/ScorpioBroker/issues/250
Also exploring possibilities to disable Spring Security on these test cases.

Testing the RBAC flow via Spring Cloud Gateway is completed.

Unit test cases implemented to support RBAC for all NGSI-LD compliant Scorpio APIs.  PR created.


MOW Auro-pane buttons (shoulder dates) are shortened and are not consistent with flight search shopping experience

Describe the bug
The shoulder dates (blue buttons) on the auro-pane are shortened and are more spherical when shopping in MOW
To Reproduce
Steps to reproduce the behavior:

Open up MOW and search for any flight.
When the Device is below a 660px display the shoulder dates in the auro-pane are shortened.
NOTE: This seems to be more accentuated in a safari browser. I had a difficult time replicating this in chromes mobile emulator

Expected behavior
The shoulder dates in MOW are expected to match more consistently with the flight search micro site
Screenshots
MOW example on what I believe is an iPhone not 100 percent sure of the resolution:

Smartphone (please complete the following information):

Device: iPhone 11, 12
OS: iOS
Browser: Safari
Version: Unknown

Additional context
Here is an example of some browser testing done where we can see the media query only specifying the length of the shoulder date in the auto pane when the width of the display is 660px and above:

I do not see a media query show up that impacts the height or min-width of the shoulder date in the auto pane when the display is less that 660px which would break into the mobile view. I don't know if that is the solution but this is observed in the screenshot above

Thanks @gtaylor24 we'll review this with the designers next week and get this on our roadmap based off their feedback.

This is interesting. The issue only appears on iOS. It doesn't repro on Safari responsive mode?

Digging into this more, the issue is not with the element, but the MOW baseline CSS. MOW has html set at 10px which is a wildly out-of-date concept and creates issues like this.
All of Auro is based on a default of 16px. Because of this, Auro pane inside of carousel is way small because of the use of REMs, which is basing its styles on the html element and cannot be changed via a parent font-size change.
So this is not a bug per-say, but more so an issue with the surrounding influences.

This issue is not specific to Auro pane, but related to the structure of the consuming application. An issue was created in mobile web shopping that references this issue and a PR that corrected a similar issue with MOW.


consider install utility inside python package

What would the install utility do?

Create Nova flavors for acos devices


Package depends on itself?

I see in package.json that "@markpieszak/ng-application-insights": "^2.3.0" is a dependency... which is this package.
Intentional?

This may be an accident, not sure why that's in there. Saw that the other day actually 🤔


Pasting from clipboard is getting mangled in Windows

Description of the problem or steps to reproduce
Specifications
You can use micro -version to get the commit hash.
Commit hash: dd5afc0
OS:  Windows 10
Terminal: ConEmu 161206 [64], Windows Console
Starting micro in either Powershell or CMD in either a ConEmu or Windows console and pasting text from clipboard will lead to this text being mangled:
$(Get-NetIPAddress -InterfaceAlias "uplink*").IPv4Address will become  $(Get-NetIPss -Interfaas "uplink*v4Address")  with either right mouse click or CTRL-V in either Powershell or CMD in ConEmu.
It will become $(Get-NetIP) with either right mouse click or CTRL-V in either Powershell or CMD in Windows Console.

This might be a sepparate issue but I'm gonna post it here for now:
micro --version:
Version: 1.2.0
Commit hash: be81241
Compiled on May 27, 2017
OS: Windows 7
Terminal: cmder
Pasting multi-line text with Ctrl+V doesn't work. It ignores line ending and post one really long line. Pasting from the context menu works fine.

@bk-m I haven't tested the issue but it is possible that this was fixed in 1.3.1 and you should consider updating to check.

@zyedidia I just updated to
Version: 1.3.1
Commit hash: dd5afc0
Compiled on August 08, 2017
and the same thing is happening.

On version 1.4.1 and the issue is still occurring, a shame, I'd really like micro to become a part of my workflow, but this is kind of a breaker.

This is probably related to #1441 and is not actually a Windows only issue. Windows simulates pastes when pasting into cmd as if the keys were being inputted very fast.

@ennoweichert @bk-m @sammuelludwig Please test this again, https://github.com/zyedidia/micro/commit/fde1cc563f6358cbeccc50d353205420fb2eae20 may have fixed this issue.

@ennoweichert @bk-m @samuelludwig Please test this again, fde1cc5 may have fixed this issue.

@zyedidia I went ahead and tested this myself, it is no longer present on the nightly build. I'm thinking my suspicions were correct and https://github.com/zyedidia/micro/commit/fde1cc563f6358cbeccc50d353205420fb2eae20 fixed the issue.

@zyedidia No one else watching this issue has replied in over a month and from my own testing, https://github.com/zyedidia/micro/commit/fde1cc563f6358cbeccc50d353205420fb2eae20 fixed this issue. It's probably safe to close.


[Sec4:, sec:5, sec:6] tidy up

Section 5 looks at some aspects specific to drug discovery which is nice. It would be good if all of these sections could be reviewed a little and made more concise where possible and improved in structure. I would suggest for people who wrote these sections to do this.
Furthermore, it would be great if @davidlmobley and @jmichel80 could double check the references I have put in, in these sections and maybe help with pointing out any additional ones needed. This would be massively appreciated. Thanks.

I took a quick pass through Section 5, made some fixes, and added some comments. There is more which could be done -- I'd like to work to improve logical flow and paragraphing and reduce use of passive voice -- but I'm out of time til at least next week. (The references I saw looked good so far though.)
I'll have to get back to Sections 4 and 6.

My plan is to try and improve flow and text
consistency over the weekend to get a coherent final draft.


would like to export the keystore

Severity:
Low - An optional functionality does not work
Description:
would like to be able to use the keystore in our project by exporting it from libp2p/src/keystore. this is currently blocked by the package.export field.

Generally exposing internals like this makes it harder to refactor the code as it exported modules become part of the public API.
Are you using libp2p in your project or just the keystore?

The libp2p keychain is not exposed directly via ipfs-http-client but it's operations are part of the key API which is callable via the ipfs-http-client (with the exception of key.export and key.info.

I'd still like to be able to import this and use it locally. Will be forking the package until i find a better solution like bypassing the package.exports field.


LoggingManager is not thread-safe

Current Behavior
Gradle supports capturing a task's standard output or standard error with LoggingManager, which can be acquired by Task.getLogging() within a task.
However, the structures backing LogManager are not thread-safe. If multiple tasks try to capture or redirect output at once (due to using --parallel), then standard output may be permanently redirected, causing it to no longer be printed to the console for the remainder of the build.
There is a related issue about using getLogging() in parallel (#6068). However, while that describes a possible enhancement, this definitely feels like a bug.
Expected Behavior
When multiple tasks redirect or capture standard output, standard output on subsequent tasks should be printed to the console.
Context (optional)
One of the Gradle plugins I was using was using captureStandardOutput for several of its tasks. This caused later tasks (such as test runs) to not print their output to the console - particularly a pain in CI!
Steps to Reproduce
This can be reproduced by creating a multi-project build where tasks in both projects capture standard output.
For instance:
settings.gradle.kts
include(":subproject-1")
include(":subproject-2")

build.gradle.kts
subprojects {
  val all by tasks.registering {
    doFirst { println("Ran everything") }
  }

  for (i in 0..100) {
    val task = tasks.register("task_$i") {
      getLogging().captureStandardOutput(LogLevel.INFO)
      doFirst { }
    }
    all { dependsOn(task) }
  }
}

Running ./gradlew all --no-parallel will display:
> Task :subproject-1:all
Ran everything

> Task :subproject-2:all
Ran everything

BUILD SUCCESSFUL in 551ms
204 actionable tasks: 204 executed

Meanwhile, using ./gradlew all --parallel will not display any output:
ᐅ ../gradlew all --parallel

BUILD SUCCESSFUL in 526ms
204 actionable tasks: 204 executed

I've also attached this project as a zip
Gradle version
8.5
Build scan URL (optional)
No response
Your Environment (optional)
No response

Thank you for providing a valid report.
The issue is in the backlog of the relevant team and is prioritized by them.


Add more accessors for AioCb

I'm going to consider @Susurrus's statement as a conditional approval.  I fixed the newline and updated the description of nbytes
bors r+ susurrus


Consider updating autoplay to use new infinite features rather than rudementary goTo solution

https://github.com/BKWLD/vue-ssr-carousel/blob/7283d6f8c3c64f39251722c64de4b80ea890118b/src/concerns/autoplay.coffee#L40
We added this as a quick fix for a needed result on PB

Good idea!


Packaged for Arch Linux in the AUR

Hello!
I added this package to the Arch User Repository. It can be found at: https://aur.archlinux.org/packages/grit-task-manager/
Should this go under installation options in the README?

Thanks! Added to README.


Material property in polylineProps interface won't accept Cesium.Material()

Hey,
As you know, material property is a function that returns the material of polyline lines.
In version 0.0.53 my code worked and I could draw a dashed polyline like that:
polylinesEditorService.create({
polylineProps: {
material: () => new Cesium.Materila({ fabric: {
type: 'PolylineDash', uniforms: { dashPattern:'someDashPattern'}
})
}});
But after updating to the current library version its' not working anymore.

i tried it on angular Cesium version  0.0.66 today and it doesn't work.
Cesium throws an error: "... rendering has stopped in e._uniform[a] is not a function..."


Add ResizableThreeColumns layout

Adds another layout.
Description
I've added XMonad.Layout.ResizableThreeColumns, which is the same layout as ThreeColumns but allows the slave window heights to be resized, just as was implemented for the ResizableTall layout.
Checklist

[x] I've read CONTRIBUTING.md

[x] I tested my changes with xmonad-testing

[x] I updated the CHANGES.md file

This seems to be a really nice mesh of ThreeColumns and ResizableTall. I'm looking forward to using this if I ever get back to the office. :+1:
Just minor suggestion:

you're adding 2 entries to XMonad/Doc/Extending.hs and no other module is documented twice in that file, so maybe that isn't a good idea

It would be also nice if, in addition to being able to resize slave windows vertically and increase/decrease number of windows in master column, one could also resize the slave column with currently focused window, and even increase/decrease number of windows in slave columns. This is an extra feature not present in either ThreeColumn or ResizableTall, because the former isn't resizable and the latter isn't three column, but it's quite natural, I think. :-)
(But it's probably okay to merge it even without it...)

Oh thanks for the heads up! That duplication was totally an accident, probably should have looked over these changes more carefully :blush: should be fixed now.
Totally agree with your suggestion, I have had that exact same thought when using ThreeCol, it sometimes feels very limiting to only be able to inc/dec the master column count. This is the first time I've explored the underlying XMonad code, so I don't immediately know how to access like which window is currently focused to detect the current column, etc., but when I find more time I'll look into adding this, and if I do I'll definitely push it back up here.

So @liskin do you think this is now ready for merge then?

@byorgey I was hoping to test it for a while, but it's going to be some time till I get to the office, so... maybe we should just merge it and, if any problems appear, fix it afterwards? The code looks really okay at first glance and I'm not sure I'll find the time and motivation to review it thoroughly until I can actually make use of it. :-)

You convinced me =)


v1 table data file spec id is None

Apache Iceberg version
None
Please describe the bug 🐞
v1 data file spec_id is optionally, but it seems spark is able to recognize the spec_id, but pyiceberg can't, any idea why?
spark
spark-sql> select * from pyang.test_ray_iceberg_read.files;
content	file_path	file_format	spec_id	partition	record_count	file_size_in_bytes	column_sizes	value_counts	null_value_counts	nan_value_counts	lower_bounds	upper_bounds	key_metadata	split_offsets	equality_ids	sort_order_id	readable_metrics
0	s3n://qubole-pinterest/warehouse/pyang.db/test_ray_iceberg_read/dt=2022-01-02/userid_bucket_16=4/00000-2-72876d76-7f6a-4b82-812e-5390351917ef-00001.parquet	PARQUET	1	{"dt":"2022-01-02","userid_bucket_16":4}	1	871	{1:36,2:37,3:46}	{1:1,2:1,3:1}	{1:0,2:0,3:0}	{}	{1:,2:2,3:2022-01-02}	{1:,2:2,3:2022-01-02}	NULL	[4]	NULL	0	{"col":{"column_size":37,"value_count":1,"null_value_count":0,"nan_value_count":null,"lower_bound":"2","upper_bound":"2"},"dt":{"column_size":46,"value_count":1,"null_value_count":0,"nan_value_count":null,"lower_bound":"2022-01-02","upper_bound":"2022-01-02"},"userid":{"column_size":36,"value_count":1,"null_value_count":0,"nan_value_count":null,"lower_bound":2,"upper_bound":2}}
0	s3n://qubole-pinterest/warehouse/pyang.db/test_ray_iceberg_read/dt=2022-01-01/00000-1-f2b3a0c1-a3e3-482a-bf24-9831626c5be7-00001.parquet	PARQUET	0	{"dt":"2022-01-01","userid_bucket_16":null}	1	870	{1:36,2:36,3:46}	{1:1,2:1,3:1}	{1:0,2:0,3:0}	{}	{1:,2:1,3:2022-01-01}	{1:,2:1,3:2022-01-01}	NULL	[4]	NULL	0	{"col":{"column_size":36,"value_count":1,"null_value_count":0,"nan_value_count":null,"lower_bound":"1","upper_bound":"1"},"dt":{"column_size":46,"value_count":1,"null_value_count":0,"nan_value_count":null,"lower_bound":"2022-01-01","upper_bound":"2022-01-01"},"userid":{"column_size":36,"value_count":1,"null_value_count":0,"nan_value_count":null,"lower_bound":1,"upper_bound":1}}
Time taken: 0.494 seconds, Fetched 2 row(s)

pyiceberg (0.4.0)
>>> tasks2[0]
FileScanTask(file=DataFile[file_path='s3n://qubole-pinterest/warehouse/pyang.db/test_ray_iceberg_read/dt=2022-01-02/userid_bucket_16=4/00000-2-72876d76-7f6a-4b82-812e-5390351917ef-00001.parquet', file_format=FileFormat.PARQUET, partition=Record[dt='2022-01-02', userid_bucket_16=4], record_count=1, file_size_in_bytes=871, column_sizes={1: 36, 2: 37, 3: 46}, value_counts={1: 1, 2: 1, 3: 1}, null_value_counts={1: 0, 2: 0, 3: 0}, nan_value_counts={}, lower_bounds={1: b'\x02\x00\x00\x00', 2: b'2', 3: b'2022-01-02'}, upper_bounds={1: b'\x02\x00\x00\x00', 2: b'2', 3: b'2022-01-02'}, key_metadata=None, split_offsets=[4], sort_order_id=0, content=DataFileContent.DATA, equality_ids=None, spec_id=None], delete_files=set(), start=0, length=871)
>>> tasks2[1]
FileScanTask(file=DataFile[file_path='s3n://qubole-pinterest/warehouse/pyang.db/test_ray_iceberg_read/dt=2022-01-01/00000-1-f2b3a0c1-a3e3-482a-bf24-9831626c5be7-00001.parquet', file_format=FileFormat.PARQUET, partition=Record[dt='2022-01-01'], record_count=1, file_size_in_bytes=870, column_sizes={1: 36, 2: 36, 3: 46}, value_counts={1: 1, 2: 1, 3: 1}, null_value_counts={1: 0, 2: 0, 3: 0}, nan_value_counts={}, lower_bounds={1: b'\x01\x00\x00\x00', 2: b'1', 3: b'2022-01-01'}, upper_bounds={1: b'\x01\x00\x00\x00', 2: b'1', 3: b'2022-01-01'}, key_metadata=None, split_offsets=[4], sort_order_id=0, content=DataFileContent.DATA, equality_ids=None, spec_id=None], delete_files=set(), start=0, length=870)

Hey @puchengy thanks for raising this!
I was unsure about this because 141: spec-id is not mentioned in the spec, but it looks like we can add it: https://github.com/apache/iceberg/pull/8730

@Fokko Hi, I thought we already have that https://github.com/apache/iceberg/blob/pyiceberg-0.4.0rc2/python/pyiceberg/manifest.py#L162 or is this not what you meant?

@Fokko And based on the https://github.com/apache/iceberg/pull/8730 it seems that we would like to inherent the spec id from manifest file as well? https://github.com/apache/iceberg-python/blob/ce8535851653b7c0290b8222f40a4c3e507ba39e/pyiceberg/manifest.py#L497

@Fokko do you know?

@puchengy Sorry for not replying. I think we can include this in the next release, it shouldn't be too hard to carry this information from the manifest-list


Rollup.js / ES6 support

Hi @elfet
Found the link to this project on hashnode. After reading README looks like I've found 1st real js template engine with ES6 support and benchmarks  and which not sucks much. Followed you on twitter, can you DM @mevrael your facebook/messenger, skype, VK or any other profile with chat so we could talk.
Since we can't simply import x from template.nojs we need to use some tools to compile template files into JS. I have found webpack examples on your website, are there any plugins to use it with rollupjs right now? What do you think about rollup vs webpack?

Hi, we can add rollup support too, i can create a repo for it and add you as maintainer if can implement it.

Hi. I have implemented a skeleton here. Pull requests are welcome.

Rollup.js utilizes the ES6 module syntax for static analysis and tree shaking purposes, and requires a wrapper to use CommonJS modules. Do you mind producing ES6 output and use a lightweight transpiler like buble for ES6 outpu?

@elfet could you make a ES6 version of monkberry and CLI? It would make integration with rollup and ES6 projects much easier.
You don't need to use any transpilers for Rollup js if all what are you going to use is import/export, for rest ES6 syntax you need babel or something.
Some questions about monkberry:

is there any option I could use one template (table row) to render big tables and not rendering each row one by one?
Is there any way to render one template in tree view from data as adjacency list?
Can you make templates not from JS but from HTML itself, especially from <template> or at least
...
. In other words how easy it could be to use Monkberry as template engine with this, for example, https://bunnyjs.com/examples/datatable/

@Mevrael I have implemented what you want in #10. You are welcome to take a look.

is there any option I could use one template (table row) to render all rows in big tables at once and not rendering each row one by one?

What do you mean by rendering all at once?

Is there any way to render one template in tree view from data as adjacency list?

Can you provide some example of what you want?

@elfet

What do you mean by rendering all at once?
Instead of

Monkberry.render(Template, document.body);
Monkberry.render(Template, document.body);
Monkberry.render(Template, document.body);
...
Monkberry.render(Template, document.body);
Monkberry.render(Template, document.body);
Monkberry.render(Template, document.body);

Something like
Monkberry.renderAll(Template, document.body);

using documentFragment

Can you provide some example of what you want?

For example, you have template for comment
<comment>

{{ message }}
  <answers>{{ answers }}</answers>
</comment>

you have object of data as AL:
const comments = {
  {
    id: 1,
    parent_id: null,
    photo: 'user1.png',
    message: 'Hello, world',
  },
  {
    id: 2,
    parent_id: 1,
    photo: 'user2.png',
    message: 'Hello, world2',
  },
  {
    id: 3,
    parent_id: null,
    photo: 'user3.png',
    message: 'Hello, world 3',
  },
  {
    id: 4,
    parent_id: 2,
    photo: 'user4.png',
    message: 'Hello, world 4',
  },
...
}

And you want to render into {{ answers }} same template using comments where parent_id = this comment's id. In example above you should have:
comment 1
-- comment 2
---- comment 4
comment 3

Yes, you can. Take a look at monkberry/standalone, but true power on Monkberry is precompilation :)

Templating and view sources in modern front-end is a main problem and there are many ways doing it. Classical way and W3C standartized way is also using <template> when server or some 3rd party component returns template in HTML already.

Is it really necessary to have a standalone version in another repo? It would be much simplier for everyone to `


⚡ Source gdp adapter using dask

This migrates the adapter to leverage dask for the parallelization of the adapter. This makes the adapter much more scalable as Dask can scale to many machines. The memory footprint of the adapters will also be improved due to dasks lazy loading feature.

Tested and ran into following error:
In [6]: ds = gdp_source(tmp_path=tmp_path, use_fill_values=True,skip_download=True)
https://www.aoml.noaa.gov/ftp/pub/phod/buoydata/dirfl_1_5000.dat: 100%|████████████████████████████████████████████████████████████████████████████████| 0.57k/0.57k [00:00<00:00, 831kB/s]
https://www.aoml.noaa.gov/ftp/pub/phod/buoydata/dirfl_5001_10000.dat: 100%|████████████████████████████████████████████████████████████████████████████| 0.57k/0.57k [00:00<00:00, 707kB/s]
https://www.aoml.noaa.gov/ftp/pub/phod/buoydata/dirfl_10001_15000.dat: 100%|███████████████████████████████████████████████████████████████████████████| 0.61k/0.61k [00:00<00:00, 775kB/s]
https://www.aoml.noaa.gov/ftp/pub/phod/buoydata/dirfl_15001_20000.dat: 0.06kB [00:00, 315kB/s]
https://www.aoml.noaa.gov/ftp/pub/phod/buoydata/dirfl_15001_current.dat: 100%|████████████████████████████████████████████████████████████████████████| 1.56k/1.56k [00:01<00:00, 1.43MB/s]
Decompressing files: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 4/4 [00:00<00:00, 47662.55file/s]
/Users/selipot/projects.git/clouddrift/clouddrift/adapters/gdp/gdpsource.py:416: UserWarning: Filters removed 3 rows from chunk
  warnings.warn(
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Cell In[6], line 1
----> 1 ds = gdp_source(tmp_path=tmp_path, use_fill_values=True,skip_download=True)

File ~/projects.git/clouddrift/clouddrift/datasets.py:223, in gdp_source(tmp_path, max, skip_download, use_fill_values, decode_times)
    163 """Returns the NOAA Global Drifter Program (GDP) source (raw) dataset as a ragged array
    164 Xarray dataset.
    165
   (...)
    220     wmo_number         (traj) int64 ...
    221 """
    222 file_selection_label = "all" if max is None else f"first-{max}"
--> 223 return _dataset_filecache(
    224     f"gdpsource_agg_{file_selection_label}.zarr",
    225     decode_times,
    226     lambda: adapters.gdp_source.to_raggedarray(
    227         tmp_path, skip_download, max, use_fill_values=use_fill_values
    228     ),
    229 )

File ~/projects.git/clouddrift/clouddrift/datasets.py:709, in _dataset_filecache(filename, decode_times, get_ds)
    706 os.makedirs(os.path.dirname(fp), exist_ok=True)
    708 if not os.path.exists(fp):
--> 709     ds = get_ds()
    710     if ext == ".nc":
    711         ds.to_netcdf(fp)

File ~/projects.git/clouddrift/clouddrift/datasets.py:226, in gdp_source.<locals>.<lambda>()
    163 """Returns the NOAA Global Drifter Program (GDP) source (raw) dataset as a ragged array
    164 Xarray dataset.
    165
   (...)
    220     wmo_number         (traj) int64 ...
    221 """
    222 file_selection_label = "all" if max is None else f"first-{max}"
    223 return _dataset_filecache(
    224     f"gdpsource_agg_{file_selection_label}.zarr",
    225     decode_times,
--> 226     lambda: adapters.gdp_source.to_raggedarray(
    227         tmp_path, skip_download, max, use_fill_values=use_fill_values
    228     ),
    229 )

File ~/projects.git/clouddrift/clouddrift/adapters/gdp/gdpsource.py:514, in to_raggedarray(tmp_path, skip_download, max, use_fill_values)
    502             decompr.write(compr.read())
    504 df = dd.read_csv(
    505     data_files,
    506     sep=r"\s+",
   (...)
    512     assume_missing=True
    513 )
--> 514 drifter_datasets = _process(df, gdp_metadata_df, use_fill_values)
    516 # Sort the drifters by their start date.
    517 deploy_date_id_map = {
    518     ds["id"].data[0]: ds["start_date"].data[0] for ds in drifter_datasets
    519 }

File ~/projects.git/clouddrift/clouddrift/adapters/gdp/gdpsource.py:424, in _process(df, gdp_metadata_df, use_fill_values)
    421     return drifter_ds_map
    423 df_chunk = df_chunk.astype(_INPUT_COLS_DTYPES)
--> 424 df_chunk = _apply_transform(
    425     df_chunk,
    426     {
    427         "position_datetime": (
    428             ["posObsMonth", "posObsDay", "posObsYear"],
    429             _parse_datetime_with_day_ratio,
    430         ),
    431         "sensor_datetime": (
    432             ["senObsMonth", "senObsDay", "senObsYear"],
    433             _parse_datetime_with_day_ratio,
    434         ),
    435     },
    436 )
    438 # Find and process drifters found and documented in the drifter metadata.
    439 ids_in_data = np.unique(df_chunk[["id"]].values)

File ~/projects.git/clouddrift/clouddrift/adapters/gdp/gdpsource.py:360, in _apply_transform(df, transforms)
    358 args = list()
    359 for col in input_cols:
--> 360     arg = df[[col]].values.flatten()
    361     args.append(arg)
    362 tmp_df = tmp_df.assign(**{output_col: func(*args)})

File /opt/homebrew/Caskroom/mambaforge/base/envs/clouddrift/lib/python3.12/site-packages/dask/array/core.py:2185, in Array.ravel(self)
   2175 """Return a flattened array.
   2176
   2177 Refer to :func:`dask.array.ravel` for full documentation.
   (...)
   2181 dask.array.ravel : equivalent function
   2182 """
   2183 from dask.array.routines import ravel
-> 2185 return ravel(self)

File /opt/homebrew/Caskroom/mambaforge/base/envs/clouddrift/lib/python3.12/site-packages/dask/array/routines.py:1914, in ravel(array_like)
   1912 @derived_from(np)
   1913 def ravel(array_like):
-> 1914     return asanyarray(array_like).reshape((-1,))

File /opt/homebrew/Caskroom/mambaforge/base/envs/clouddrift/lib/python3.12/site-packages/dask/array/core.py:2215, in Array.reshape(self, merge_chunks, limit, *shape)
   2213 if len(shape) == 1 and not isinstance(shape[0], Number):
   2214     shape = shape[0]
-> 2215 return reshape(self, shape, merge_chunks=merge_chunks, limit=limit)

File /opt/homebrew/Caskroom/mambaforge/base/envs/clouddrift/lib/python3.12/site-packages/dask/array/reshape.py:218, in reshape(x, shape, merge_chunks, limit)
    216     if len(shape) == 1 and x.ndim == 1:
    217         return x
--> 218     missing_size = sanitize_index(x.size / reduce(mul, known_sizes, 1))
    219     shape = tuple(missing_size if s == -1 else s for s in shape)
    221 if np.isnan(sum(x.shape)):

File /opt/homebrew/Caskroom/mambaforge/base/envs/clouddrift/lib/python3.12/site-packages/dask/array/slicing.py:72, in sanitize_index(ind)
     66     return slice(
     67         _sanitize_index_element(ind.start),
     68         _sanitize_index_element(ind.stop),
     69         _sanitize_index_element(ind.step),
     70     )
     71 elif isinstance(ind, Number):
---> 72     return _sanitize_index_element(ind)
     73 elif is_dask_collection(ind):
     74     return ind

File /opt/homebrew/Caskroom/mambaforge/base/envs/clouddrift/lib/python3.12/site-packages/dask/array/slicing.py:26, in _sanitize_index_element(ind)
     24 """Sanitize a one-element index."""
     25 if isinstance(ind, Number):
---> 26     ind2 = int(ind)
     27     if ind2 != ind:
     28         raise IndexError("Bad index.  Must be integer-like: %s" % ind)

ValueError: cannot convert float NaN to integer

dask by default utilizes multi-threading for distributing chunked tasks that can be performed in parallel. To leverage all of your CPU cores, include the dask code below before running the dataset gdp_source function.
from dask.distributed import LocalCluster
import clouddrift as cd

cluster = LocalCluster()
client = cluster.get_client()

ds = cd.datasets.gdp_source(tmp_path="/home/ksantana/.clouddrift/tmp/gdpsource")
ds

code snippet initializing dask to create a local cluster using multi-processing

Although in theory this should enable multiple threads to run in parallel in reality due to the python GIL only one thread runs at a time.
In the future the snippet may not be needed if the GIL becomes disabled by default in some future version of python.

@selipot this is ready for re-review.

from dask.distributed import LocalCluster
import clouddrift as cd

cluster = LocalCluster()
client = cluster.get_client()

Feedback: Include this info above in the docstring

Hi @selipot the changes here are ready to be tested. When you get a chance could you try generating the entire aggregate ragged array zarr archive again using the code in this PR?
As a heads up the process is going to take longer (3x as much time I would say) due to the serial nature of the current RaggedArray.from_files function. In the current adapter implementation the serial nature of the function is avoided since it's executed per chunk instead of per drifter or the entire dataset.
I suspect if we were to rework RaggedArray.from_files to take better advantage of multi-processing we could speed up the process to be faster than the current script.
Ways of achieving this would be to rewrite the RaggedArray.from_files to parallelize the allocate and number_of_observations function by:

directly using a processing pool executor similarly to how this process was initially parallelized.
replacing dataset querying and manipulation operations with pandas or xarray operations similarly to this PR. Doing this can enable us to quickly configure the process from being serialized to parallelized using the following 3 lines:

I prefer the latter as it will reduce complexity and leverages tools already being used in the library.
from dask.distributed import LocalCluster
cluster = LocalCluster()
client = cluster.get_client()

I can't make this to work on my laptop (I run into memory/dask/workers errors). I also attempted on my desktop with more than 100GB of RAM and also run into memory issues. I suspect a memory limit configuration/setup is needed. To be discussed.

I can't make this to work on my laptop (I run into memory/dask/workers errors). I also attempted on my desktop with more than 100GB of RAM and also run into memory issues. I suspect a memory limit configuration/setup is needed. To be discussed.

Yes, this is likely caused by the tmp directory used for intermediary computations that sometimes lies on a partition with limited space. I've added more details in the docstring but in short utilize the following snippet and replace with your home directory to see if that fixes the memory limitation issue:
import dask.config as daskc
daskc.set({"temporary-rirectory": "/home/ksantana/.clouddrift/tmp"})

Hey @selipot give the ragged array generation another shot. It should scale better now and work within the limits of your system. Here's the code to run:
from dask.distributed import LocalCluster
import dask.config as daskc
import clouddrift as cd

# Change to your home dir
daskc.set({"temporary-directory": "/home/ksantana/.clouddrift/tmp"})

# Update using your system memory limit
cluster = LocalCluster(memory_limit="60GiB")
client = cluster.get_client()

# Update to your home dir
ds = cd.adapters.gdp_source.to_raggedarray(
    tmp_path="/home/ksantana/.clouddrift/tmp/gdpsource",
    skip_download=True,
    use_fill_values=False,
    max=1
)

We should note the process takes longer now and as such the integration test is skipped as the workflows end up getting cancelled as a result of their long run time.


Feature/19 update codebase to linter

As this PR is already pretty big, I will split the user story.
I basically

implemented the linting rules
fixed the webminer and flash_server accordingly

Some questions:

[ ] Can we remove or move the webminer/tutorial folder? This is a tutorial and shouldn't be in in the webminer
[ ] What's with the django folder? is this even used? If not I will remove it as well.
[ ] Check my exception comment

Also @liadmagen  please see the changes and suggest other things if necessary as I am not that experienced with Python. Thanks a lot!
🚀
close #19

seems that py.test is failing on python 3.5

@liadmagen  yeah thats why I wrote in the chat: https://keep-current.slack.com/archives/CAU31TV8F/p1532967177000485

To write out our discussion yesterday at the meetup:

yes, remove the tutorial folder
yes, remove django
make linting exception for too broad exception so far

fixes #31


⚠ Bofrost.de has degraded performance

In 19252bc, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 881 ms

Resolved: Bofrost.de performance has improved in 2b4cb42 after 1 hour, 7 minutes.


Interaction with underneath view in when the floating panel is in full position

I have added the floating panel with intrinsic height over a tableview and my supported positions are half and full. When the panel is in half position the interaction underneath the panel is enabled but when the panel is in full position then the interaction with the underneath view of panel is disabled
The interaction should be enabled for underneath view of floatingpanel
The interaction is disabled in full position of panel
Steps to reproduce
Code example that reproduces the issue
This is my layout for panel
class RemovablePanelLayout: FloatingPanelIntrinsicLayout {
var supportedPositions: Set {
return [.full, .half]
}
var initialPosition: FloatingPanelPosition {
return .half
}
func insetFor(position: FloatingPanelPosition) -> CGFloat? {
    switch position {
    case .half: return 100.0
    default: return nil
    }
}

}
And this is my code of adding the panel on controller
func addMainPanel(with contentVC: UIViewController) {
mainPanelObserves.removeAll()
    let oldMainPanelVC = mainPanelVC

    mainPanelVC = FloatingPanelController()
    mainPanelVC.delegate = self

    mainPanelVC.surfaceView.shadowHidden = true

    // Set a content view controller
    mainPanelVC.track(scrollView: contentVC.menuCollectionView)

    mainPanelVC.set(contentViewController: contentVC)
    mainPanelVC.contentMode = .static

    mainPanelVC.backdropView.backgroundColor = UIColor.clear
    mainPanelVC.surfaceView.backgroundColor = UIColor.clear

    let surfaceTapGesture = UITapGestureRecognizer(target: self, action: #selector(handleSurface(tapGesture:)))
    surfaceTapGesture.cancelsTouchesInView = false
    surfaceTapGesture.numberOfTapsRequired = 1
    contentVC.headerView.addGestureRecognizer(surfaceTapGesture)

    if let oldMainPanelVC = oldMainPanelVC {
        oldMainPanelVC.removePanelFromParent(animated: true, completion: {
            self.mainPanelVC.addPanel(toParent: self, belowView: nil, animated: true)
        })
    } else {
        mainPanelVC.addPanel(toParent: self, belowView: nil, animated: true)
    }
}

Environment
Library version
Latest
Installation method

[ ] CocoaPods

iOS version(s)
iOS 12.3
Xcode version
11.1

When the interaction is disabled in full position of the panel, does this line's code return false?
https://github.com/SCENEE/FloatingPanel/blob/master/Framework/Sources/FloatingPanel.swift#L206
    return surfaceFrame.minY == layoutAdapter.positionY(for: state)

Does this issue still happen on v1.7.1?

Hey! Thank you for the great work!
I think this issue is still happening on v1.7.4
I have the following:
private func setupFloatingPanel() {
    floatingPanelController = FloatingPanelController(delegate: self)
    let jobInfoVC = storyboard?.instantiateViewController(withIdentifier: "JobInfoVC") as! JobInfoVC
    floatingPanelController.set(contentViewController: jobInfoVC)
    floatingPanelController.track(scrollView: jobInfoVC.tableView)
    floatingPanelController.addPanel(toParent: self)
    floatingPanelController.surfaceView.cornerRadius = 6.0
}

class JobInfoFloatingPanelPadLayout: FloatingPanelLayout {

    public var initialPosition: FloatingPanelPosition {
        return .tip
    }

    public var supportedPositions: Set<FloatingPanelPosition> {
        return [.full, .tip]
    }

    public func insetFor(position: FloatingPanelPosition) -> CGFloat? {
        switch position {
        case .full: return 100
        case .tip: return 210
        default: return nil
        }
    }

    public func prepareLayout(surfaceView: UIView, in view: UIView) -> [NSLayoutConstraint] {
       return [
        surfaceView.leadingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leadingAnchor, constant: 8.0),
        surfaceView.widthAnchor.constraint(equalToConstant: 400),
       ]
    }
}

When the panel is in full position I'm not able to interact with the underneath view.
iOS 13.1.2
Xcode 11.3

Thank you for your report! I will check it later.

@federiconicoli
Does your issue means the underneath view which is covered by the backdrop view semi-transparent(black alpha 0.3) is not able to interact with user gestures?

Oh I see! The other way would be implementing
func backdropAlphaFor(position: FloatingPanelPosition) -> CGFloat returning 0.0
Thank you very much!


validate customer already confirmed

1. Why is this change necessary?
When disabling a customer as a shop administrator, the customer can reactivate the account by clicking on the double opt-in link again.
2. What does this change do, exactly?
It validates if the customer has already double-opt-in before the account gets activated.
3. Describe each step to reproduce the issue or behaviour.

Enable double-opt-in for registration in system config (key core.loginRegistration.doubleOptInRegistration)
Register as customer
Activate your account
Disable the customer (set customer.active = 0) (could be the case when a shop owner wants to block the customer e.g. because of unpaid invoices)
Click the confirmation link again

Expected behaviour: The customer's account stays inactive.
Current behaviour: The customer's account gets activated.
5. Checklist

[X] I have rebased my changes to remove merge conflicts
[ ] I have written tests and verified that they fail without my change
[X] I have created a changelog file with all necessary information about my changes
[ ] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[X] I have read the contribution requirements and fulfil them.

Note that this is also fixed by https://github.com/shopware/platform/pull/2469 in particular:
https://github.com/shopware/platform/pull/2469/files#diff-8fa3838ca44710dccb02021cc4a948660399671c80ed6de3080a1e1d620d1291R109

Hi @aragon999, I am wondering whether you have free time to continue working on your pending MR? Seems having no update since long time.

Hey @trandangtri so from my side this PR is ready for review and nothing more is missing: https://github.com/shopware/platform/pull/2469#event-7407917976

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/NEXT-23771
Please use this issue to track the state of your pull request.

Thanks again for your contributions, your PR was merged now! :tada: :blue_heart:


[BUG] Fatal error when setting manual ISO on OAK-D-Lite

Describe the bug
When setting manual ISO with very small or very big values, a fatal error is thrown.
Minimal Reproducible Example
import cv2
import depthai as dai

pipeline = dai.Pipeline()
camera = pipeline.create(dai.node.ColorCamera)
camera.initialControl.setManualExposure(10000, 10000)
link = pipeline.createXLinkOut()
link.setStreamName("rgb")
link.input.setBlocking(False)
camera.video.link(link.input)
device = dai.Device(pipeline, usb2Mode=False)
queue = device.getOutputQueue(name="rgb", maxSize=10, blocking=False)
while True:
    image_raw = queue.get()
    image = image_raw.getCvFrame()
    cv2.namedWindow("image", cv2.WINDOW_NORMAL)
    cv2.imshow("image", image)
    c = cv2.waitKey(1)
    if c == ord("q"):
        break

This is the stacktrace:
[18443010C1818F0E00] [1.1] [0.903] [system] [critical] Fatal error. Please report to developers. Log: 'PlgSrcCtrl' '87'
Traceback (most recent call last):
  File "program.py", line 15, in <module>
    image_raw = queue.get()
RuntimeError: Communication exception - possible device error/misconfiguration. Original message 'Couldn't read data from stream: 'rgb' (X_LINK_ERROR)'

Expected behavior
The device shouldn't raise a critical error, maybe it could just clip the ISO value and raise a warning.
Additional context
Depthai version: <IP_ADDRESS>
Python version: 3.8.10
OS: Ubuntu 20.04.5 LTS
Device: Oak-D-Lite

I'm having the same issue too...


Delete unused db-sync & submit-api configs

[x] Drop network configs relating to cardano-db-sync and cardano-submit-api

Issue Number
None. Noticed by Sebastian during the dev meeting.

Hm. Might still be unused, but may not be as unused as I first believed 🤔
git grep "cardano-db-sync"                                                                                (1m 14s 996ms)
docs/site/src/design/adrestia-architecture.md:  cardano-db-sync    --> cardano-node;
docs/site/src/design/adrestia-architecture.md:  cardano-db-sync-- writes --> PostgreSQL[(PostgreSQL)];
docs/site/src/design/adrestia-architecture.md:  click cardano-db-sync mermaidClick;
docs/site/src/design/adrestia-architecture.md:  class cardano-node,cardano-submit-api,cardano-db-sync,SMASH cardano;
docs/site/src/design/adrestia-architecture.md:### [cardano-db-sync][cardano-db-sync]
docs/site/src/design/adrestia-architecture.md:[cardano-db-sync]: https://github.com/IntersectMBO/cardano-db-sync
docs/site/src/user/installation.md:| [cardano-db-sync][cardano-db-sync]       | [releases][release-cardano-db-sync] | <E2><9C><94><EF><B8><8F>     | <E2><9C><94><EF><B8><8F>     | <E2><9D><8C>       |
docs/site/src/user/installation.md:[cardano-db-sync]: https://github.com/IntersectMBO/cardano-db-sync
docs/site/src/user/installation.md:[release-cardano-db-sync]: https://github.com/IntersectMBO/cardano-db-sync/releases
docs/site/src/user/installation.md:[cardano-db-sync]: https://github.com/IntersectMBO/cardano-db-sync
docs/site/src/user/installation.md:[doc-cardano-db-sync]: https://github.com/IntersectMBO/cardano-db-sync/blob/master/nix/docker.nix#L1-L35
docs/site/src/user/installation/use-docker.md:[inputoutput-cardano-db-sync]: https://hub.docker.com/r/inputoutput/cardano-db-sync
prototypes/light-mode-test/README.md:* Choice or implementation of the data source. For demonstration purposes, we pick [blockfrost.io][] to be our data source. It's based on cardano-db-sync.
prototypes/light-mode-test/README.md:* The `Address` on the blockchain includes both a *payment part* and a *staking part*. Ideally, we would be able to query the payment part, `PaymentAddress -> Transactions`. Otherwise, the sequential address discovery scheme needs to generate multiple staking parts as well, which drastically reduces efficiency. It appears that cardano-graphql does not yet support this query, though the tables in cardano-db-sync do.
 % ~/I/cardano-wallet  ╍╍ anviking/rm-unused-configs  git grep "submit-api"
docs/site/src/design/adrestia-architecture.md:- [cardano-submit-api]: HTTP API for submitting signed transactions.
docs/site/src/design/adrestia-architecture.md:  cardano-submit-api --> cardano-node;
docs/site/src/design/adrestia-architecture.md:  click cardano-submit-api mermaidClick;
docs/site/src/design/adrestia-architecture.md:  class cardano-node,cardano-submit-api,cardano-db-sync,SMASH cardano;
docs/site/src/design/adrestia-architecture.md:### [cardano-submit-api][]
docs/site/src/design/adrestia-architecture.md:[cardano-submit-api]: https://github.com/IntersectMBO/cardano-node/tree/master/cardano-submit-api
docs/site/src/design/prototypes/light-mode.md:  cardano-wallet -- TxSubmission --> cardano-submit-api
docs/site/src/design/prototypes/light-mode.md:    cardano-submit-api --> n2[cardano-node]
docs/site/src/design/prototypes/light-mode.md:    * `postTx` submits a transaction to a web service instead of using the `LocalTxSubmission` protocol with cardano-node. This web service can be different from the blockchain data source. An example of such a service is `cardano-submit-api`.
docs/site/src/user/installation.md:| [cardano-submit-api][cardano-submit-api] | [releases][release-cardano-node]    | <E2><9C><94><EF><B8><8F>     | <E2><9C><94><EF><B8><8F>     | <E2><9D><8C>       |
docs/site/src/user/installation.md:[cardano-submit-api]: https://github.com/IntersectMBO/cardano-node/tree/master/cardano-submit-api
docs/site/src/user/installation.md:[cardano-submit-api]: https://github.com/input-output-hk/cardano-rest


use kafka default partitioner

suro-pull-requests #162 FAILURE
Looks like there's a problem with this pull request

BTW, there is a separate build issue not caused by my change.

What went wrong:
Could not resolve all dependencies for configuration ':suro-core:compile'.

Could not resolve com.leansoft:bigqueue:0.7.0-NF.
Required by:
com.netflix.suro:suro-core:0.2.13_platform
java.lang.NullPointerException (no error message)

Don't worry about the build failure. bigqueue-0.7.0-NF is not in maven central, so it should be buildWithArtifactory but CloudBee is not doing that.


Auto-update function?

Two related observations:

would be nice to be able to do torch-update, and it will update at least torch7, nn, cutorch, cunn, to latest version
would be nice if installing distro automatically installed the latest versions :-)  Currently I think that the version are set in the git submodules?  And so we dont always get the latest versions, and have to build twice?

installing distro installs the most recent stable versions. everytime I update distro, I run the full suite of tests to make sure everything's okay. distro is for user-deployment, and hence this is suited.
i'm introducing named-versions soon.

Hmmm... well.... so....a problem I face is, eg with the THNN changes, distro hasnt changed yet, but clnn will have changed, following a merge, so we get the scenario:

someone installs with distro (gets the old version of nn, pre-merge)
then they install cltorch, clnn, which isnt currently part of distro, and get the new, post-merge version

Of course, in this scenario, clnn doesnt work.

So, there seem to be a few options for this:

leave it as it is. I deal with the upgrade bugs as and when they occur
make it easy for people to update to latest cutting-edge version of at least torch, nn, eg by providing a torch-upgrade script in distro.
add cltorch and clnn to distro :-)

I think option 1 is not ideal.  Option 3 is borderline perhaps.  Option 2 seems relatively easy :-)

Closing this, and reopening in the opposite direction.


Add "local syslog" feature for Linux, OS X, and other Unix-like systems

Many Linux distributions come with the default syslog set to accept local messages only (e.g., messages coming in via the /dev/log Unix socket), and do not (by default) listen on TCP or UDP. So for any C# projects running on Linux that want to log messages to syslog, it would be helpful to have a SyslogLocalSender class to send messages to the local syslog over Unix sockets.
I've implemented a SyslogLocalSender that uses the Unix system calls openlog(), syslog(), and closelog() from the standard C library. This will, naturally, only work on Linux systems, so I've added a test in SyslogLocalSender to throw an exception if it is run from a Windows system. (It will currently be quite happy to run on an OS X system, but I don't have an OS X system available to me to test this, so if it actually fails on OS X, the Environment.OSVersion.Platform check in SyslogLocalSender will need to be tweaked to forbid OS X as well.)
I've tested this on Linux Mint 17.2 (based on Ubuntu Trusty), Debian Jessie, and Debian Wheezy, and it worked just fine on all three systems. I've also included unit tests for the SyslogLocalMessageSerializer, insofar as such a simple class can be unit tested.
One interesting thing to note is that the rsyslog version found in Linux Mint 17.2 suppresses consecutive duplicate syslog messages. So on Mint, running mono TesterApp.exe -m "Hello world" only produces a single log message, but running TesterApp.exe without specifying a -m option will produce two different log messages. (Because when no -m option is given, TesterApp creates two messages with different content -- they contain timestamps 5 seconds apart, so their message content is not identical, and thus rsyslog puts both of them into /var/log/syslog.)
Many fields in the SyslogMessage class are meaningless in a local syslog message, including timestamp and hostname, so I've also created a new SyslogMessage constructor for local messages, with which the user can specify the bare minimum necessary to get the job done.
I'd be happy to tweak to this pull request as needed, if any further tweaks prove necessary.

It's ok for me. I still didn't test changes, but looks good


Tensor compilation?

Recently taking advantage of the underlying language's compiler (or some augmentation thereof) seems to be popular, thanks to recent DLVM (dlvm.org) papers; more recent projects include Swift for Tensorflow and Facebook's Glow.  The frontend DSLs for these projects seem to be inspired by Scala's LMS so should be amenable to implementation in stock Ocaml (pulling in MetaOcaml as a dependency doesn't seem reasonable unfortunately) but implementing the rest of the compilation pipeline might take some thought ...

I've been working on something compiler-y. I will make the repo public after my deadline on the 1st of June. @ryanrhymes You can take a look at my LT4LA repo and thesis so far to get an idea. I don't think you need full staging - a PPX extension and some dune-hackery can get you pretty far.

@ryanrhymes You may want to check out [ocamlverse.github.io]. It's a comprehensive site for documenting anything ocaml-related, and anyone can get commit access. I'd love to have these scientific computing topics on there, because many people are looking for that.

Repo is public now: https://github.com/dc-mak/lt4la
Thesis* is here: https://github.com/dc-mak/lt4la/blob/master/write-up/dissertation.pdf, undergoing minor tweaks until final submission on Friday, at which point I'll email you a copy, happy to discuss consent then :)

I have tried to write this thesis in a fairly accessible manner, so even if you're not an academic, feel free to peruse through it to get a feel of linear types for linear algebra in OCaml


use BigInteger for sizes

Fixes https://github.com/mamba-org/quetz/issues/290

Migrations are not applied as of now.
Also, we don't need to change rest_models since an int in Python 3 are of unlimited size.

Migrations are not applied as of now.
Also, we don't need to change rest_models since an int in Python 3 are of unlimited size.

Codecov Report

Merging #296 (6dc18ea) into master (f9b57ab) will decrease coverage by 0.04%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #296      +/-   ##
==========================================
- Coverage   83.86%   83.82%   -0.05%
==========================================
  Files          53       53
  Lines        4178     4185       +7
==========================================
+ Hits         3504     3508       +4
- Misses        674      677       +3

Impacted Files
Coverage Δ

...ns/versions/30241b33d849_add_task_pending_state.py
80.00% <0.00%> (-13.34%)
:arrow_down:

...ons/a3ffa287d074_case_insensitive_channel_names.py
68.75% <0.00%> (-6.25%)
:arrow_down:

...ions/versions/8dfb7c4bfbd7_new_package_versions.py
82.35% <0.00%> (-5.89%)
:arrow_down:

...s/versions/8d1e9a9e0b1f_adding_download_metrics.py
72.22% <0.00%> (-5.56%)
:arrow_down:

quetz/database_extensions.py
56.36% <0.00%> (-3.64%)
:arrow_down:

quetz/testing/fixtures.py
96.89% <0.00%> (-2.33%)
:arrow_down:

quetz/jobs/runner.py
92.95% <0.00%> (-0.62%)
:arrow_down:

quetz/dao.py
90.90% <0.00%> (+0.62%)
:arrow_up:

quetz/authorization.py
94.02% <0.00%> (+1.49%)
:arrow_up:

quetz/jobs/api.py
88.13% <0.00%> (+8.50%)
: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 f9b57ab...6dc18ea. Read the comment docs.

Codecov Report

Merging #296 (6dc18ea) into master (f9b57ab) will decrease coverage by 0.04%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #296      +/-   ##
==========================================
- Coverage   83.86%   83.82%   -0.05%
==========================================
  Files          53       53
  Lines        4178     4185       +7
==========================================
+ Hits         3504     3508       +4
- Misses        674      677       +3

Impacted Files
Coverage Δ

...ns/versions/30241b33d849_add_task_pending_state.py
80.00% <0.00%> (-13.34%)
:arrow_down:

...ons/a3ffa287d074_case_insensitive_channel_names.py
68.75% <0.00%> (-6.25%)
:arrow_down:

...ions/versions/8dfb7c4bfbd7_new_package_versions.py
82.35% <0.00%> (-5.89%)
:arrow_down:

...s/versions/8d1e9a9e0b1f_adding_download_metrics.py
72.22% <0.00%> (-5.56%)
:arrow_down:

quetz/database_extensions.py
56.36% <0.00%> (-3.64%)
:arrow_down:

quetz/testing/fixtures.py
96.89% <0.00%> (-2.33%)
:arrow_down:

quetz/jobs/runner.py
92.95% <0.00%> (-0.62%)
:arrow_down:

quetz/dao.py
90.90% <0.00%> (+0.62%)
:arrow_up:

quetz/authorization.py
94.02% <0.00%> (+1.49%)
:arrow_up:

quetz/jobs/api.py
88.13% <0.00%> (+8.50%)
: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 f9b57ab...6dc18ea. Read the comment docs.

looks great! just squash 2 or 3 commits and it's ready to merge :)

looks great! just squash 2 or 3 commits and it's ready to merge :)


Create Teacher Requesting Access to JetBrains

I am a high school teacher at Palisades Charter High in Pacific Palisades, CA. I am so grateful you offer resources for teachers and students. Thank you!

@jamieagius Teacher I am sorry, I have to close the request without merging, because you made a mistake in a request and did not specify any filepath. Please ensure that you are familiar with this repository rules located at the bottom of this page and make a new correct request. Thank you for your understanding!


CDPD-34515: SDX/DataLake compaction configs update

CDPD-34041: Standardise compaction configuration across all form factors

there is no description about this in details here or in the jira, so please add it

I have updated CDPD-34041 with more details about the patch. Please have a look, Thanks!

I have updated CDPD-34041 with more details about the patch. Please have a look, Thanks!

thx!

Thanks, could you please review   https://github.com/hortonworks/cloudbreak/pull/12826 as well.
Both are related to the same jira.

Thanks!


fix: Drizzle query returning an array-in-array type:

Resolved an issue where .findMany (and other multiple row results) queries had a type of [][] instead of [].
When checking the db.watch(query, {onResult})'s onResult type:
before
find-many:
(results: {
    id: string | null;
    assets: {
        id: string | null;
        customer_id: string | null;
    }[];
}[][]) => void

find-first:
results: ({
    id: string | null;
    customer_id: string | null;
    customer: {
        ...;
    } | null;
} | undefined)[]) => void

After
find-many:
(results: {
    id: string | null;
    assets: {
        customer_id: string | null;
        id: string | null;
    }[];
}[]) => void

find-first:
(results: ({
    id: string | null;
    customer_id: string | null;
    customer: {
        ...;
    } | null;
} | undefined)[]) => void

Hi, I think findFirst returning an array is (still) a mistake.
I've noticed that using a PowerSync Drizzle findFirst returns an object (which is correct and expected),
but wrapped inside toCompilableQuery, and also inside onResult as we can see above, a findFirst returns an array (always of length 1 though).


Fixed wrong file name in README

Pull Request (PR) description

Fixed wrong file name in README

updated file name to azure-pipelines.yml.

This Pull Request (PR) fixes the following issues

Fixes #6

Task list

[x] Added an entry to the change log under the Unreleased section of the file CHANGELOG.md.
Entry should say what was changed and how that affects users (if applicable), and
reference the issue being resolved (if applicable).
[ ] Documentation added/updated in README.md.
[ ] Comment-based help added/updated.
[ ] Localization strings added/updated in all localization files as appropriate.
[ ] Examples appropriately added/updated.
[ ] Unit tests added/updated. See DSC Community Testing Guidelines.
[ ] Integration tests added/updated (where possible). See DSC Community Testing Guidelines.
[ ] New/changed code adheres to DSC Community Style Guidelines.

This change is

Codecov Report

Merging #8 (e22286b) into main (5e10533) will not change coverage.
The diff coverage is n/a.

@@        Coverage Diff         @@
##           main    #8   +/-   ##
==================================
  Coverage    86%   86%
==================================
  Files         5     5
  Lines        69    69
==================================
  Hits         60    60
  Misses        9     9

@PrajwalBorkar big thank you for this! 🙇♂
I just send in a commit to move the change log entry to the Unreleased section again since we did a release just moments before you sent in this. 🙂

Waiting for tests to pass then I merge.


Makes it clear how to require .sass

It was unclear how to require(something.sass) (had to search through  test : https://github.com/jtangelder/sass-loader/blob/51485cd5245d001dce8c575a0c408c59969fbc67/test/index.test.js#L26 )
This commit clarifies it in the README.

Thx


Add CDC motech server

New server is in Virginia, and I already configured the DNS for motech3.internal.commcarehq.org

are you planning on getting interrupt to deploy proxy?


fix sql injection brakeman warning in the aggregation mixin query

Hardware.where("#{from}_id" => targets) isn't injection proof but I think this is better?
@jrafanie please review?

@miq-bot add_label core/security

nope, please don't look at it yet, it's not ready

@miq-bot add_label bug, jansa/yes?

i dunno what's up with the travis here

Jansa backport details:
$ git log -1
commit f6527365f45e294acceaf7edab30a3b65028cd2e
Author: Jason Frey<EMAIL_ADDRESS>Date:   Thu May 7 11:06:01 2020 -0400

    Merge pull request #20132 from d-m-u/fixing_brakeman_sql_injection

    fix sql injection brakeman warning in the aggregation mixin query

    (cherry picked from commit 478901b51a537c08f1d3765759210aa1383de7f6)


Make Middleware internal and remove internal namespaces

#11312
Nothing interesting except the Rewrite project, but that was fairly straight forward. Rest of the projects I removed the Internal folders and namespaces.

Thanks for jumping on this @jkotalik !


updates to use new cwltool code and for new funnel version

Since cwltool added the parallel mode (https://github.com/common-workflow-language/cwltool/pull/566) I found I could simply the cwl-tes codebase substantially.
However, due to some issues in cwltool many of the conformance tests are now failing due to https://github.com/common-workflow-language/cwltool/issues/689

May be worth putting the funnel version as a variable into the travis script and define the URL based on it ;)

@adamstruck I've had some progress here. Maybe you could take a look?

I'd test against funnel version 0.8.0 - it shouldn't require any code changes. That should help clean up the travis logs.  Looks like with the latest cwltool version there is only 1 test that is failing.  I'll try and take a look later today.

The final test that is failing is: [122] Test InitialWorkDirRequirement with a nested directory structure from another step
This is due to how Funnel handles output directories that are empty. The first step of the workflow in this test creates an empty directory.  Funnel doesn't do anything since the directory is empty. We chose this behavior for consistency with object stores since they don't have the concept of a directory.
My thought is to modify the conformance test so the nested directory from the first step isn't empty.  @mr-c what do you think?

Thank you @adamstruck
We can have an additional CWL conformance test with non-empty directories, but there is no reason to change a conformance test that is spec-valid and working on other CWL engines just because it doesn't currently work on this engine 🙂
While Funnel may choose to not store empty directories, it can at least report them as they are easy to represent in CWL even without a location
Looks like the TES spec doesn't forbid either empty input or empty output directories.
For output directories Funnel could just create the empty directory locally and return a file:/// URI

Since you can't represent an empty directory in an object store, we chose to have Funnel ignore empty output directories in the local file storage plugin to make it consistent with our object store storage plugins.
Funnel could do what you mention above and then make object stores behave similarly by adding some hidden empty file.
Maybe its fine to just have cwl-tes fail this one conformance test and get this merged in anyways.

As long as that hidden empty file is removed on staging then that works for me.
👍 To merging (preferably with the rest of the tests still being required)


Add comment tests for expr in sfv2

Currently we are supporting this kind of comments as long as it is parsed.
Example
// This can be parsed and supported
let number: /* this number is for counting */ u64 = 10;

// This cannot be parsed and not supported
let number: // this number is for counting u64 = 10;

This may no longer be an issue, especially since there are new changes that should be preventing the formatter from panicking. Will need triaging.

added in #5364