Add example project

After merging this will add examples of builder:
https://github.com/rharter/auto-value-moshi/pull/139

round done

Can you add copyright headers to all the new files?

I did not find copyright headers on java files. Please look here: https://github.com/rharter/auto-value-moshi/search?q=copyright&unscoped_q=copyright
I don't mind to put a copyrgiht header but what should be the format?

Hi, please let me if something additional is needed from my side
I think I addressed all comments
Thanks

Sorry we've been busy, we'll circle back soon
On Thu, Nov 7, 2019 at 10:15 PM David Gang<EMAIL_ADDRESS>wrote:

Hi, please let me if something additional is needed from my side
I think I addressed all comments
Thanks
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/rharter/auto-value-moshi/pull/140?email_source=notifications&email_token=AAKMJPVNUDHSOWKKT3YSOT3QST7YBA5CNFSM4JJUS4WKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDO3FEY#issuecomment-551400083,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKMJPXVNXQFYPHD3CMEPPLQST7YBANCNFSM4JJUS4WA
.

I did not find copyright headers on java files.

Sorry! I assumed we did. We'll take care of that in a different PR later. WIll merge this as-is!


Remove redundant port list in mixer deployment.

Fixes #13048
The ports: stanzas are redundant in these cases and only a new port should be added to the already existing list vs. creating a new list.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: markusthoemmes
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: costinm
If they are not already assigned, you can assign the PR to them by writing /assign @costinm in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Hi @markusthoemmes. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: douglas-reid, markusthoemmes
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS [douglas-reid]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@markusthoemmes: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
46fa390f07215e4002b6f6f103e49dc486f22b68
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/ok-to-test

I don't quite grasp how this can trigger the linting issues reported 🤔 . Can somebody shed some light?

@markusthoemmes i think the linter is just broken for the 1.0 release and no one has bothered to try to fix it as the focus was 1.1 and now code mauve + 1.2.

@mandarjog can you help merge this into release-1.0 ?

@douglas-reid Any news here? We can also just close this out if it's not useful anymore anyway.

@markusthoemmes i don't have any news, unfortunately. I have no powers in the 1.0 branch. I can only appeal to those who do.

hey @markusthoemmes thanks for the PR, and sorry it took this long.
1.0 is at the end of life now, so we are not going to merge any more PRs here.
If you can check if the problem exists in 1.1 / 1.2 it would be great. Thanks.


feature Set rowset dir for cloud tablet

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


BUG - Issued Command "/standup report public [DATE]" does not post publicly

System
09:35(Only visible to you)
Submit your standup from the open modal!
System
09:36(Only visible to you)
Standup reports generated
System
09:37(Only visible to you)
Configure your standup in the open modal!
System
09:38(Only visible to you)
Standup reports generated
System
09:40(Only visible to you)
Standup reports generated

The issue was not reproducible on the latest minimum supported version. Closing the issue now


Manual toggle

My goal was to make an option in the script to do ZOOTR multiworld with manual toggling of switching worlds.  That's how I'd personally want to race or play this.  Let me know if you want me to change or fix anything.
Design Changes/Decisions:

I changed it so that the script can only call os.execute on startup.  This operation on windows makes ugly cmd prompt popups because of lua shortcomings.  This has the side effect of not allowing new ROMs in while the script is running, because now the ROMs are cached in the file at script startup.  If you feel that having that behavior is more important than the cmd prompt popups, I can change it back.
I assigned the ZOOTR toggle to Player 2's L Button.  Player 1's L Button unfortunately toggles the minimap.  It's an arbitrary button that can be defined in the normal Bizhawk controller menus.

Still occurring:

It seems like a lua savestate.load operation on at least N64 has 4 frames of white screen.  The normal Bizhawk savestate loading does not appear to have this problem.  It might be a Bizhawk issue.
The load ROM and load savestate operations still have some sound annoyance.  Maybe moving the soundOff soundOn operations around could make it a little nicer.
Possibly: (Last time I tried to run initial setup a day or two ago, it failed on sonic-rings, so I deleted it locally.  That bug might still exist unless it was fixed.)

I actually had an idea like this to use a hotkey or button to force a swap in a manual mode, so I'm probably going to pull this. The changes I plan to make are to setup an option in the options menu for a fixed shuffle order, mostly just to keep references to plugin_state out of shuffler.lua.
As for preventing the popups, I need to think about that one for a moment. I think I had just gotten used to them, so it didn't bother me, but reducing that extra "noise" is really nice. I do, however, still want to support the ability to add new games to the games folder, so I want to think about how best to support that.
I will pull this with some minor changes sometime today.

The only feature I reverted was the ability to totally disable automatic swapping, only because I haven't found a UX I'm happy with yet to expose this feature to the user yet. For now, it is sufficient to set the min/max times to some extremely large number like 99999 (which would be more than 27 hours). I want to make this more explicit without confusing the average user regarding why there is an option to disable shuffling in a shuffler. It might make more sense to have this be a thing that plugins specifically have the power to turn off, but I'm trying to avoid having shuffler.lua make any explicit references to information stored in plugin_state.


feat(ci): Enable merge-queue  for CI

TODO @AndreasHeine

[ ] enable feature merge-queue  in branch protection settings, after this is merged
[ ] set requirements for checks to pass before merging, in branch protection settings

@AndreasHeine  if time, please have a look.

@GoetzGoerisch which branch shall be protected? main?

In branch protection settings for main the merge_queue feature needs to be enabled and the requirement, that all checks are required before merge needs to be enabled.

merge queue is not available:

Ah only for orgs at the moment: https://github.blog/changelog/2023-02-08-pull-request-merge-queue-public-beta/
I suggest we merge it anyway and it will become active when available for personal accounts.


Read environment variables from /etc/default/marathon file.

This allows docker images, that extend the Marathon docker image to pass env variables.

:ship: :rocket: :train: :tractor:


major(next): support Next 13 and React Server Components

Resolves #3208
Resolves #3219
Summary
This creates a new package @urql/next (and replaces next-urql), the goal is to achieve good Next 13 support.
In essence this creates two new entry points

@urql/next the entry points for components rendered on the server and hydrated on the client, this uses a few next-internals to hydrate data as DOM streams to the client
@urql/next/rsc this solely intends to create a client that can be used and shared across
server components. The sharing method is react.cache

You can play with an example here the main idea is that in Next we need a way to retrieve context values on the client so they can be shared. During the stream the values will be flushed, we use this to ensure we have all the data we need. In the example you can see that we have two suspense boundaries, neither will initiate a fetch on the client but instead you'll see a script tag get populated twice, one for each boundary. We read these <script tags and add them to the ssr-exchange.
TODO:

[x] resolve the build warning
[x] add an example
[x] check if we can find a good way of testing this (spoiler: nope)
[x] update documentation
[x] find a way around the key warning for <script />
[x] find a way to add "use client" to the @urql/next entry-point
[ ] think about handling text/event-stream and multipart/mixed, do we just remove @defer and @stream during ssr? Or can we add a mechanism that ensures these are handled correctly i.e. by means of a useFragment-like mechanism throwing promises as well

Having an awkward problem where it's not letting me create a changeset on my fork 😅
People can still use next-urql for the old next supported ways

Should I copy the useQuery TSDocs from the react implementation or is there a way to inherit?

Would be cool to see this shipped, would help me with migrating to App Router for some of my company's NextJS projects 😃

@kitten I agree, we can test it in the example with a beta or alpha tag

@JoviDeCroock: Published as<EMAIL_ADDRESS>

Ported over to extractData() feel free to issue another beta

@JoviDeCroock: Published as<EMAIL_ADDRESS>under the beta tag

Would this allow you to load the query in RSC then mutate it using the client? Basically populate the ssr cache data in the client component.

when using @urql/exchange-graphcache, it show warning Couldn't find __typename when writing

That's fixed in the upcoming release of @urql/core https://github.com/urql-graphql/urql/pull/3294

Thanks for your work adding support for the Next's app folder. The only issue that I've encountered so far is that the getClient function is not properly typed, it returns any but besides that, this is awesome!
This is the workaround that I'm using to make the types work:
const { getClient: getClientUntyped } = registerUrql(makeClient);
const getClient = getClientUntyped as () => Client;

I'm using @urql/next:1.0.0-beta.2 and for some reason, I can't use the UrqlProvider component on my layout component which is a server component. This is the error that I'm getting:

TypeError: createContext only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/context-in-server-component

I thought that it was related to the UrqlProvider file not having the use client directive but I saw that it's already there. The workaround, for now, is to create a new component wrapping the UrqlProvider component and adding the use client directive into that file.
"use client";

import { client, ssr } from "@/lib/urql-client";
import { UrqlProvider } from "@urql/next";
import { ReactNode } from "react";

export function Provider({ children }: { children: ReactNode }) {
  return (
    <UrqlProvider client={client} ssr={ssr}>
      {children}
    </UrqlProvider>
  );
}

Excited to see this coming. I havent used the new app router specifically because I refuse to give up my use of urql.

I am attempting to migrate a next 13 app dir todo list app from apollo to urql but having trouble getting graphqlcache to work.  It feels like something is getting cached in the ssr of urql when using graphqlcache.
The app has a list page and another page to create/edit/delete which does a router.push back to list page on success.  Components with queries all "use client".  There is a normalized graphqlcache setup to push/filter create and deletes.
When adding or deleting a task and navigating back to the list page, the results don't show.  They continue not to show on hard refresh of the list page.  I find it very interesting I can't see the new/deleted tasks in the page source inconsistent with db state).   To get it to refresh, one must navigate to another page, hard refresh, and then they show on return to the list page.  I am hoping this is a clue to what is going on.  Reading through the directions here, I have tried adding  router.refresh() to page, cache: 'no-store' to fetchOptions, export const dynamic = 'force-dynamic'; export const revalidate = 0; to the page with no effect.
Any ideas on what I or the code might be doing wrong or that I could try?

@Enalmada just fyi, I marked this as off topic, since it doesn't concern this PR. However, feel free to ask a question in a GH discussion or in our Discord ✌
This doesn't sound like an app dir issue to me but maybe a config issue? I'd love to give it more space to investigate rather than comments here

@kitten Sorry, I thought it might just be relevant enough because I am trying to use the specific code and documentation from this PR to see if there were any issues I could identify and get fixed in my Next 13 and React Server Components test project.  I am sure you are right though there must be some config issue and will be better about reaching out on discord vs github in the future.

@Enalmada no stress 👍 it just doesn't sound like this would be easily resolved or investigated within two replies or so


Support CreateTableTransaction for SqlCatalog

Follow-up of https://github.com/apache/iceberg-python/pull/498

Thanks for reviewing! @Fokko @syun64


Validate traits in composed specifications at build time

          [plan] Good idea, but unfortunate that we can't trust that TraitGen did this validation already. Worth a TraitGen issue to look into?

Originally posted by @feltech in https://github.com/OpenAssetIO/OpenAssetIO-MediaCreation/pull/71#discussion_r1411816324
Acceptance Critera

Validate in-library traits
Only log warnings for out of library traits

This is about validating that the traits put in specifications are actually valid traits, this is non-trivial for cross-package specifications if we want to be strict about it ... which we might not want to be.

This is a duplicate of https://github.com/OpenAssetIO/OpenAssetIO-TraitGen/issues/64


docs(add): add release notes for 4.0.0

:tada: This PR is included in version 5.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add a comment to the benchmark readme.

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

@swift-ci smoke test and merge


Integration with Accessibility APIs (e.g., screen reader support)

I recently installed the screen reader NVDA in order to try it out and learn, as a sighted person, the basics of how to use screen readers and what it's like to do so. However, I discovered that Lagrange doesn't support it - NVDA can read the name of the window but it cannot read any of the text on the page, much less alt-text for preformatted blocks.
I actually have no idea what's involved in making a program work with screen readers? From this A List Apart blog post, it sounds like they use OS-specific accessibility APIs, and other search results I saw suggest that there are cross-platform libraries for these? But I wanted to pass the word that screen reader accessibility is a thing so it'd be on your radar.

Yeah this is one of the drawbacks of doing custom text rendering...

other search results I saw suggest that there are cross-platform libraries

Such a cross-platform library, if one exists, would likely be the most feasible solution here. Anything OS-specific quickly becomes unwieldy.

That makes sense. For what it's worth, I did a little more looking around and found a comment from December in a GitHub thread for a different project with a bunch of links - it might be a starting point?

I found this on the subject
https://developer.android.com/studio/intro/accessibility
https://developer.apple.com/documentation/objectivec/nsobject/uiaccessibility#//apple_ref/c/tdef/UIAccessibilityNotifications
https://www.reddit.com/r/kivy/comments/3t10n1/accessibility_examples_for_kivy_screen_readers/
https://www.trivedigaurav.com/blog/towards-making-kivy-more-accessible/
https://www.trivedigaurav.com/blog/towards-making-kivy-apps-accessible-2/
@tshirtman  Now it's up to you

So, according to those links, you'd need to write support for every single operating system and every single linux windowing toolkit? And since lagrange uses sdl that means it'd be linking in at least 3 entire toolkits (for just windows/mac/linux desktop support) just to use the accesibility apis? And even though it uses sdl you'd force people to have qt or gtk to compile it? That seems like the most surefire way that whoever designs this stuff could've chosen to stop people from making their software accessible.

I am committed to keeping Lagrange small and nimble, so there are practical limits to what can be achieved here.
I'll incorporate accessibility features when they are reasonable given the choice of underlying frameworks (i.e., SDL). The great thing about Gemini is that thanks to the diversity of clients, each one doesn't have to address 100% of the user base — there can be clients specifically optimized for accessibility, for instance.

That makes sense to me as well. Barring the discovery of something better, it sounds like accessibility API integration is out of scope.
In the meantime, would something like self-voicing - i.e. Lagrange itself generating a voice to read out the text - be an option? Obviously there's a lot of configuration work that people will have already done on their screen readers that would be unavailable in that case, but it might cover some users' needs well enough. The screen reader I downloaded, NVDA, defaults to using the eSpeak NG speech synthesizer, which is open-source and apparently has versions for a lot of different platforms, but I can't say I know how it works.

would something like self-voicing - i.e. Lagrange itself generating a voice to read out the text - be an option?

Interesting idea. If we can assume that the user already has an app/utility for synthesizing speech, this might be reasonable from an implementation point of view. And on macOS, there is the built-in say shell command that can be used for speech.
At least in theory, I could use these to read out text in the UI and even page content, if I can figure out how the interaction model should work (i.e., keyboard focused? what to say and when?).

I recently installed the screen reader NVDA in order to try it out and learn, as a sighted person, the basics of how to use screen readers and what it's like to do so.

I'll also have to do some research with screen readers as I haven't really used them either.

The great thing about Gemini is that thanks to the diversity of clients, each one doesn't have to target 100% of the user base — there can be clients specifically optimized for accessibility

True, Firefox and Chrome have to be screen-reader accessible because there are no alternatives, whereas Gemini can have a visual client and a screenreader client and the duplicated code is a rounding error. While this works for "fully" sighted and "fully" blind users (that is, users that never/always use a screen reader), it would provide a suboptimal experience to users who sometimes use a screen reader, depending on circumstance. Also, Lagrange-specific niceties (like feed management) might not get ported to a screen-reader focused client. I'm unsure in practice who is affected/unaffected by this.

Supporting screen readers isn't the only way to improve accessibility. GNOME has great guidelines on it
https://developer.gnome.org/accessibility-devel-guide/3.38/gad-ui-guidelines.html.en

I had not seen those guidelines before -- thank you! Those look
especially well thought out, and indeed cover a spectrum of disabilities
(no pun intended).

"Don't assume that a user will hear audio information. This applies as
much to users with broken soundcards as it does to those with hearing
impairments!"
Written with Linux users in mind :-)
(My soundcard is still broken, but eventually I got an external USB
soundcard to workaround it. It works 60, maybe 70% of the time.)

I would read through the UI Automation docs, here. It isn't dependent on a specific UI Framework, and it also provides a way to provide for both UI Automation and MSAA clients. I've only read a very small portion of the docs, but at first glance, it doesn't seem like it would be as hard as I expected. I could be wrong though.

UI Automation providers can provide information to Microsoft Active Accessibility clients, and Microsoft Active Accessibility servers can provide information to UI Automation client applications. However, because Microsoft Active Accessibility does not expose as much information as UI Automation, the two models are not fully compatible.

Microsoft Active Accessibility is based on the Component Object Model (COM) with support for dual interfaces, and therefore, is programmable in C/C++ and scripting languages.

UI Automation client applications can be written with the assurance that they will work on multiple Microsoft Windows control frameworks. The UI Automation core masks any differences in the frameworks that underlie various pieces of the UI. For example, the Content property of a Windows Presentation Foundation (WPF) button, the Caption property of a Microsoft Win32 button, and the ALT property of an HTML image are all mapped to a single property, Name, in the UI Automation view.
UI Automation provides full functionality in Windows XP, Windows Server 2003, and later operating systems.

Comment I wrote in #322:
My current thinking is that the path of least resistance here is to make it possible to have alternative UI chrome implementations in the app, so you could build one with GTK+ for instance, solving both the AT-SPI and Flatpak Portal issues and generally having better integration on a "standard" Linux desktop. Similarly, on iOS for instance, you could build the UI with native controls to have support for iOS accessibility features. However, this is not a trivial undertaking, so it needs to be worked towards gradually.

Please make it accessible, because there's no gemini client for linux which just works.
There is one for windows, geminaut, but not for linux, I tried all off them, all not accessible or tedious.

This looks promising:
https://accesskit.dev/how-it-works/
It's written in Rust but has C APIs.

@CyberTailor Agreed, very promising. I'll keep an eye on it and see how it progresses. Seems to be in an early development phase currently.

AccessKit developer now works on a new accessibility API for Wayland to replace AT-SPI
https://blogs.gnome.org/a11y/2024/06/18/update-on-newton-the-wayland-native-accessibility-project/


Django RQ admin shows errors for circuit webhooks

Environment

Python version: 3.6.4
NetBox version: 2.4.8

Steps to Reproduce
Create a webhook for circuits with the following settings:
Object type: Circuits -> Circuit
Name: test_circuit_hook
Type: Update
URL: https://example.com/webhook/
HTTP Content type: JSON
No secret
Enabled
SSL Verification enabled.
-> Save
Create a test circuit:
cid: test-001
Provider: test provider
Type: Internet
Status: Active
Tenant: Test tenant
Install_date, commit_rate, description, comments empty
No custom fields
Save the circuit.
No go back and edit the circuit. Change the cid to test-002. This will trigger the webhook. It doesn't matter if it fails or succeeds.
Go to the Django Admin -> Django RQ -> Queues -> Failed or Succeeded jobs list
Select a job for the circuit:
It throws a django error page:
<class 'django.db.models.fields.related_descriptors.RelatedObjectDoesNotExist'>

Circuit has no provider.

The object definitely has a provider assigned to it:
15:54:33 default: extras.webhooks_worker.process_webhook(<Webhook: test_hook_arnoud>, {'package': OrderedDict([('id', 10), ('url', '/api/tenancy/packages/10/'), ('name', 'L3-500m_500m'), ('slug', 'l3-500m_500m')]), 'install_date': None, 'created': '2018-11-27', 'custom_fields': {'script_time_circuit': None, 'EPLVlanId': None}, 'commit_rate': None, 'type': OrderedDict([('id', 3), ('url', '/api/circuits/circuit-types/3/'), ('name', 'Customer'), ('slug', 'customer')]), 'description': '', 'status': {'value': 3, 'label': 'Provisioning'}, 'tags': [], 'cid': 'test-circuit', 'provider': OrderedDict([('id', 12), ('url', '/api/circuits/providers/12/'), ('name', 'OpenFiber'), ('slug', 'openfiber')]), 'last_updated': '2018-11-28T15:54:33.037901Z', 'tenant': OrderedDict([('id', 1146), ('url', '/api/tenancy/tenants/1146/'), ('name', 'Race'), ('slug', 'race'), ('description', 'Race')]), 'id': 575, 'comments': ''}, <class 'circuits.models.Circuit'>, 2, '2018-11-28 15:54:33.098502') (942a9529-890e-4270-882d-6f3eca24e53e)

Expected Behavior
I expect to see a detail page for the (failed/succeeded) job

Observed Behavior
Django error page:
<class 'django.db.models.fields.related_descriptors.RelatedObjectDoesNotExist'>

Circuit has no provider.

This is happening because the webhook is passed only the model class (rather than an instance), but trying to access provider in rendering a string representation, yielding an exception:
class Circuit(ChangeLoggedModel, CustomFieldModel):
    ...
    def __str__(self):
        return '{} {}'.format(self.provider, self.cid)

The best approach is probably to tweak the __str__() method on this model (and others) to properly render when not instantiated.

To avoid confusion, I've opened #2627 to address the root cause of this bug. Marking this as blocked.

While #2627 is a good idea, this specific issue was addressed by simply not passing the model class to the rqworker process. All we actually needed was the model_name attribute anyway, so we can just pass that as a string.

Thanks @lampwins and @jeremystretch . The help is much appreciated 👍


 I thought I had cleaned that up a long time ago?
You may want to update the nixos release documentation also noting that we removed them, but I thought I had done it already multiple time oO what happened there oO


Stamp version not deployed open edx ficus code completely

Hi,
I am new to Azure Stamp version deployment.
I am trying to deploy stamp version using ficus stamp deployment video(https://partner.microsoft.com/en-us/asset/detail/deploying-openedx-on-azure-part-2b-mp4).
All the setup was completed successfully but when I try to check the code in my first VM there is no open edx code deployed in VM.
when I run the command sudo -H -u edxapp bash in my VM.
it's showing the following error:
sudo: unknown user: edxapp
sudo: unable to initialize policy plugin

In Azure resource showing 15 successful deployments.
My lms url also not working.
the following changes i did in parameters.json file:

SSH key
Admin user name's
version id
Also, I did following changes in stamp-v2.json and stamp-keyvault.json:
open edx version and Forum version changed to ficus.master
Ubuntu release changed from 14 to 16

Is anything wrong I did? I did not get any errors during deployment.

you have to login to VMSS to run sudo -H -u edxapp bash command. you might be doing this in JB.
we can find  local ip of vmss on azure portal by searching for vnet (yout_resourse_group-vnet) in current resource group.
example: ssh <IP_ADDRESS> and the run the edxapp command

If your setup is complete (as proven by the email notifications you will receive), all instructions provided for accessing your cluster applies. Please refer to documentations to https://aka.ms/laas.

Hi eltoncarr,
Thanks for reply, we succesfully deployed stamp version but there is issue with SMTP.
when i check the log we are getting the following connection time out error:
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/mail/init.py", line 62, in send_mail
return mail.send()
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/mail/message.py", line 303, in send
return self.get_connection(fail_silently).send_messages([self])
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/mail/backends/smtp.py", line 100, in send_messages
new_conn_created = self.open()
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/mail/backends/smtp.py", line 58, in open
self.connection = connection_class(self.host, self.port, **connection_params)
File "/usr/lib/python2.7/smtplib.py", line 256, in init
(code, msg) = self.connect(host, port)
File "/usr/lib/python2.7/smtplib.py", line 316, in connect
self.sock = self._get_socket(host, port, self.timeout)
File "/usr/lib/python2.7/smtplib.py", line 291, in _get_socket
return socket.create_connection((host, port), timeout)
File "/usr/lib/python2.7/socket.py", line 575, in create_connection
raise err
error: [Errno 110] Connection timed out
Is anything i missed in deployment.I followed the same link https://aka.ms/laas. for deployment.
Thanks.

Connection timeout means you are unable to connect to your smtp server. You can double check using the mail program on the server and checking the logs (standard linux instructions apply). Also look at your SMTP configuration on the server (standard linux SSMPTd instructions apply) and tweak accordingly. In the deployment doc, we provided some guidance for dealing with O365 email account and Gmail accounts.


[WIP] Add Wagtail 2.0 support

This code appears to work fine, but I was struggling to figure out how to best handle tests. If we put try/except blocks in the tests themselves they become verbose and don't reflect what a real world project would look like. If we upgrade the tests to Wagtail 2.0 we lose the ability to test older versions. If we duplicate the tests for each version, it becomes difficult to maintain. My try/except blocks are also making the style tests fail which I'm not sure how to avoid.
Would someone else be willing to take the rest of this over? Thanks!

I discussed this with @seb-b, and our opinion was that we would drop support for old Wagtail versions with this change. The version of this package would be bumped to wagtailmodelchooser==2.0.0 as part of the change, to indicate the big breaking change. Previous versions of the package would still be available for use of course, but new development would only happen for Wagtail 2.0 and above. As such, all the try/excepts around the imports can be dropped, keeping only the Wagtail 2.0 style shorter imports.


Support Next.js 13

Can also consider using >= 9?

Thanks for opening this.
Can you also add a next v13 example? I use those folders to test for regressions but also give people a working example to start with. A link to it on the readme would also need to be added.

Pushed up your requested updates. What are your thoughts on changing the example, or creating a separate example that uses the next app dir functionality?
I know it's experimental, but I imagine it is the primary reason for users upgrading to 13.

looking for this to get merged :)

any updates?

Sorry, I keep forgetting to update this stuff. I'll set a reminder to work on this tonight if time allows.
Feel free to pick up this PR, or start a new one if you're in a rush. I've been using --force when I was using this addon a couple weeks ago with NextJS 13.


⚠ Cioos Pacific CKAN has degraded performance

In bda004f, Cioos Pacific CKAN (https://catalogue.cioospacific.ca) experienced degraded performance:

HTTP code: 200
Response time: 11517 ms

Resolved: Cioos Pacific CKAN performance has improved in 3945b9b after 6 minutes.


Frost Trap and Snake Trap

hi
can u add in hunter's spell frost trap?
to realize https://www.wowhead.com/wotlk/spell=56344/lock-and-load proc.
as well snake trap that is being used at saurfang and lich.
btw feign death should be added to skip combat to abuse potion of speed

up


allow custom ordering of default panels

To capture our verbal conversation: I think the ideal API here would be to pass in two arrays-of-strings, which would define the desired order, and that would be applied within PanelMenuWrapper.

@dmt0 @nicolaskruchten please review

Code looks good!

A few test cases would be nice, including some edge cases like missing items in either the desired or actual order, mismatched group/name pairs, that sort of thing. Just to lock down the desired behaviour in a test :)

💃 ... all comments are just notes, not requests to change


get rid of excessive nonnull for aggregates

get rid of excessive nonnull for aggregates, they were used on primitives, which was a copy-paste issue

Build triggered. sha1 is merged.

Build finished. No test results found.

Refer to this link for build results (access rights to CI server needed):
/job/nd4j_PR/398/


Uncaught reflect-metadata shim is required when using class decorators

OS?  Windows 7, 8 or 10. Linux (which distribution). Mac OSX (Yosemite? El Capitan?)
El Capitan
Versions. Please run ng --version. If there's nothing outputted, please run in a Terminal: node --version and paste the result here:
angular-cli: 1.0.0-beta.11-webpack.2
node: 4.4.2
os: darwin x64
Repro steps. Was this an app that wasn't created using the CLI? What change did you do on your code? etc.

Start a project with Angular CLI (Webpack)
Create a standalone class (e.g. a model) with an EventEmitter property.
When new EventEmitter<...>() is called in that class, this error shows on the browser console.

*Uncaught reflect-metadata shim is required when using class decorators*

The log given by the failure. Normally this include a stack trace and some more information.
All I see is:
Uncaught reflect-metadata shim is required when using class decorators  / output_ast.js:334
Mention any other details that might be useful.
This works fine in a non-webpack setting, like here:
http://plnkr.co/edit/255WLWdkSnZdMfNvCk3I?p=preview
That Plunkr works and shows what I am trying to do. The problem is when I do this exact same thing when using Webpack.
Also, EventEmitter works just fine if used in a component.
I am not sure whether this is a bug or user error. Please apologize me if it's the latter.
Thanks in advance!

The same error happens when I try to inject a class (e.g. a service) into a class that's not a component, as documented here.
let injector = ReflectiveInjector.resolveAndCreate([GameService]);
let gameService = injector.get(GameService);

Uncaught reflect-metadata shim is required when using class decorators

I had the same issue when i've migrated to angular-cli's github master branch from npm version
while doing ng init to update angular-cli generated files,  i've missed
import "./polyfills.ts";
on top of main.ts file
adding this line fixed my problem

@cmermingas can you confirm you are using the polyfills?

@filipesilva - Certainly. How would I check? And are the polyfills meant to be set up by cli or manually by me after ng new?

It should just be there after ng new without needing you to do anything. I re-read your issue and see you mention ng new as a repro, which I missed before.
Is it possible for you to give me some code that I can copy and paste to experience this and try to debug? Or maybe a repo if it's easier. I'm sorry if it seems a hassle but it's just much easier to debug issues with very explicit repro steps.

Absolutely. I'll put something together and upload the repo here this week.

@filipesilva - So, I created a simple project from scratch and it works, which is great!
I realized that the problem is happening when there is a Web Worker involved. Check out this repo:
https://github.com/cmermingas/cli_issue_1759
The constructor in my-class.ts has the code that I originally thought to be the problem. Now I suspect the problem is the Web Worker in app.component. I realize that this is not the Angular 2 way of doing Web Workers. Any good resources you'd recommend to use Web Workers in Angular 2?
Anyway, check it out and see if this is something you want to address, even if it's just in documentation.

I don't have a good resource on that, no. I know https://mobile.angular.io/ had some information on it, but we now have the --mobile flag disabled so I don't think it applies.
I'd ask that question in https://github.com/angular/angular, I think that's where you can get a good answer.
I'm closing this since the main problem itself seems to be solved, but feel free to open a new one specifically about Web Workers. A clean, specific issue is easier to get some community help as well, so that's good.


使用gemma2进行离线推理时报错lmdeploy - ERROR - Engine loop failed with error: 'list' object has no attribute 'get_max_length'

尝试用lmdeloy进行gemma2的离线推理：
from lmdeploy import pipeline, GenerationConfig, PytorchEngineConfig

backend_config = PytorchEngineConfig(tp=2)
gen_config = GenerationConfig(top_p=0.8,
                            top_k=40,
                            temperature=0.8,
                            max_new_tokens=1024)
pipeline = pipeline('/root/google/gemma-2-9b-it', backend_config=backend_config)
reply_generator = self.pipeline.stream_infer(["<|CHOICE|>Let's make a _____dinosaur.\n\n A、snowing;\nB、snow;\nC、snowy"], gen_config=gen_config)

for reply_chunk in reply_generator:
   print(reply_chunk, end='', flush=True)

遇到了如下报错：
Loading checkpoint shards: 100%|███████████████████████| 4/4 [00:04<00:00,  1.21s/it]
WARNING:root:====== NO RAG ======
WARNING:root:====== Choice Question ======
2024-07-11 08:45:54,674 - lmdeploy - ERROR - Engine loop failed with error: 'list' object has no attribute 'get_max_length'
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/lmdeploy/pytorch/engine/request.py", line 17, in _raise_exception_on_finish
    task.result()
  File "/usr/local/lib/python3.10/dist-packages/lmdeploy/pytorch/engine/engine.py", line 853, in async_loop
    await self._async_loop()
  File "/usr/local/lib/python3.10/dist-packages/lmdeploy/pytorch/engine/engine.py", line 843, in _async_loop
    await __step(True)
  File "/usr/local/lib/python3.10/dist-packages/lmdeploy/pytorch/engine/engine.py", line 829, in __step
    raise e
  File "/usr/local/lib/python3.10/dist-packages/lmdeploy/pytorch/engine/engine.py", line 821, in __step
    raise out
  File "/usr/local/lib/python3.10/dist-packages/lmdeploy/pytorch/engine/engine.py", line 770, in _async_loop_background
    await self._async_step_background(
  File "/usr/local/lib/python3.10/dist-packages/lmdeploy/pytorch/engine/engine.py", line 679, in _async_step_background
    output = await self._async_model_forward(inputs,
  File "/usr/local/lib/python3.10/dist-packages/lmdeploy/utils.py", line 253, in __tmp
    return (await func(*args, **kwargs))
  File "/usr/local/lib/python3.10/dist-packages/lmdeploy/pytorch/engine/engine.py", line 586, in _async_model_forward
    return await __forward(inputs)
  File "/usr/local/lib/python3.10/dist-packages/lmdeploy/pytorch/engine/engine.py", line 564, in __forward
    return await self.model_agent.async_forward(
  File "/usr/local/lib/python3.10/dist-packages/lmdeploy/pytorch/engine/model_agent.py", line 756, in async_forward
    output = self._forward_impl(inputs,
  File "/usr/local/lib/python3.10/dist-packages/lmdeploy/pytorch/engine/model_agent.py", line 723, in _forward_impl
    output = model_forward(
  File "/usr/local/lib/python3.10/dist-packages/lmdeploy/pytorch/engine/model_agent.py", line 497, in model_forward
    output = patched_model.patched_forward(
  File "/usr/local/lib/python3.10/dist-packages/lmdeploy/pytorch/models/patch.py", line 210, in __call__
    output = self._model(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1520, in _call_impl
    return forward_call(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/transformers/models/gemma2/modeling_gemma2.py", line 1068, in forward
    outputs = self.model(
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1520, in _call_impl
    return forward_call(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/transformers/models/gemma2/modeling_gemma2.py", line 876, in forward
    causal_mask = self._update_causal_mask(
  File "/usr/local/lib/python3.10/dist-packages/transformers/models/gemma2/modeling_gemma2.py", line 957, in _update_causal_mask
    target_length = past_key_values.get_max_length()
AttributeError: 'list' object has no attribute 'get_max_length'

我的pytorch版本是2.2.2+cu121，python版本3.10.12

cc @grimoire

Please try the latest main branch.

@NBStarry ref https://github.com/zhyncs/lmdeploy-build/releases/tag/ff2e307

@NBStarry ref https://github.com/zhyncs/lmdeploy-build/releases/tag/ff2e307

It works，thx.


Update README.md to reflect team restructure

Change README.md from

### Built by the [monPlan](https://github.com/monPlan) DevOps and Backend Team:

| ![lorderikir](https://avatars3.githubusercontent.com/u/5687681?v=4&s=460)  | ![darvid7](https://avatars0.githubusercontent.com/u/11433468?v=4&s=460) | ![calytan](https://avatars1.githubusercontent.com/u/18413765?v=4&s=460)|
| --------------| ----|---|
| [@lorderikir](github.com/lorderikir) | [@darvid7](github.com/darvid7) | [@callistusystan](github.com/callistusystan) |

to
Proudly Built by the [monPlan team](https://monashunitplanner.github.io)

#50 closes this issue


Rename to libWakaamaNodes

Rename the library before releasing it.

Hi,
Is the library available in the registry for PlatformIO? I get this error: Error: Library {'requirements': None, 'name': 'wakaamaNode'} has not been found in PlatformIO Registry.
with pio lib install wakaamaNode

The library is prepared to be published but I haven't registered it yet on platformio.


Slow compilation of DINO ViT model using native_vector_size = 64 (cpu_features)

What happened?
Splitting off from https://github.com/nod-ai/SHARK-Turbine/issues/523#issuecomment-2037851747, this model is very slow to compile (20 minutes - 1 hour) when using --iree-llvmcpu-target-cpu-features=host.
The specific features on the user machine are --iree-llvmcpu-target-cpu-features=+prfchw,-cldemote,+avx,+aes,+sahf,+pclmul,-xop,+crc32,+xsaves,-avx512fp16,-usermsr,-sm4,-egpr,+sse4.1,+avx512ifma,+xsave,-avx512pf,+sse4.2,-tsxldtrk,-ptwrite,-widekl,-sm3,+invpcid,+64bit,+xsavec,-avx10.1-512,+avx512vpopcntdq,+cmov,-avx512vp2intersect,+avx512cd,+movbe,-avxvnniint8,-avx512er,-ccmp,-amx-int8,-kl,-avx10.1-256,-sha512,-avxvnni,-rtm,+adx,+avx2,-hreset,-movdiri,-serialize,+vpclmulqdq,+avx512vl,-uintr,-cf,+clflushopt,-raoint,-cmpccxadd,+bmi,-amx-tile,+sse,+gfni,-avxvnniint16,-amx-fp16,-ndd,+xsaveopt,+rdrnd,+avx512f,-amx-bf16,+avx512bf16,+avx512vnni,-push2pop2,+cx8,+avx512bw,+sse3,+pku,+fsgsbase,+clzero,+mwaitx,-lwp,+lzcnt,+sha,-movdir64b,-ppx,+wbnoinvd,-enqcmd,-prefetchwt1,-avxneconvert,-tbm,-pconfig,-amx-complex,+ssse3,+cx16,+bmi2,+fma,+popcnt,-avxifma,+f16c,+avx512bitalg,+rdpru,+clwb,+mmx,+sse2,+rdseed,+avx512vbmi2,-prefetchi,+rdpid,-fma4,+avx512vbmi,+shstk,+vaes,-waitpkg,-sgx,+fxsr,+avx512dq,+sse4a
I've narrowed this down to just native_vector_size = 16 : i64 (fast) -> native_vector_size = 64 : i64 (slow), which setting the CPU features affects.
After the LLVMCPUVirtualVectorLowering pass, the MLIR module size grows to 200k+ ops: https://gist.github.com/ScottTodd/2aab78a54dd8b9399900102f8782d5e2
Steps to reproduce your issue
Full model

Download https://github.com/nod-ai/SHARK-Turbine/issues/523#issuecomment-2037851747
Compile: iree-compile dino_model.mlir --iree-hal-target-backends=llvm-cpu --iree-llvmcpu-target-cpu-features=+prfchw,-cldemote,+avx,+aes,+sahf,+pclmul,-xop,+crc32,+xsaves,-avx512fp16,-usermsr,-sm4,-egpr,+sse4.1,+avx512ifma,+xsave,-avx512pf,+sse4.2,-tsxldtrk,-ptwrite,-widekl,-sm3,+invpcid,+64bit,+xsavec,-avx10.1-512,+avx512vpopcntdq,+cmov,-avx512vp2intersect,+avx512cd,+movbe,-avxvnniint8,-avx512er,-ccmp,-amx-int8,-kl,-avx10.1-256,-sha512,-avxvnni,-rtm,+adx,+avx2,-hreset,-movdiri,-serialize,+vpclmulqdq,+avx512vl,-uintr,-cf,+clflushopt,-raoint,-cmpccxadd,+bmi,-amx-tile,+sse,+gfni,-avxvnniint16,-amx-fp16,-ndd,+xsaveopt,+rdrnd,+avx512f,-amx-bf16,+avx512bf16,+avx512vnni,-push2pop2,+cx8,+avx512bw,+sse3,+pku,+fsgsbase,+clzero,+mwaitx,-lwp,+lzcnt,+sha,-movdir64b,-ppx,+wbnoinvd,-enqcmd,-prefetchwt1,-avxneconvert,-tbm,-pconfig,-amx-complex,+ssse3,+cx16,+bmi2,+fma,+popcnt,-avxifma,+f16c,+avx512bitalg,+rdpru,+clwb,+mmx,+sse2,+rdseed,+avx512vbmi2,-prefetchi,+rdpid,-fma4,+avx512vbmi,+shstk,+vaes,-waitpkg,-sgx,+fxsr,+avx512dq,+sse4a --iree-llvmcpu-enable-ukernels=all --iree-stream-resource-index-bits=64 --iree-vm-target-index-bits=64 --iree-flow-inline-constants-max-byte-length=1 --compile-mode=hal-executable -o /dev/null
Observe slow compile

Minimal reproducer (bottleneck dispatch):

Download dispatch_2_size16.mlir and dispatch_2_size64.mlir from https://gist.github.com/ScottTodd/607ca024de581ae3a5ba7265eabfd158. These only differ in native_vector_size = 16 : i64 -> native_vector_size = 64 : i64
Compile the dispatches: iree-compile --compile-mode=hal-executable dispatch_2_size64.mlir -o /dev/null
Observe slow compile, compare with iree-compile --compile-mode=hal-executable dispatch_2_size16.mlir -o /dev/null

What component(s) does this issue relate to?
Compiler
Version information
Tip of tree from source, https://github.com/openxla/iree/commit/dcc8e1990e09370d8818c42bebdec5c5e372ec01
Additional context
No response

Trace with native_vector_size = 16:

Trace with native_vector_size = 64 (didn't let it finish):

cc @hanhanW , @MaheshRavishankar (based on blame layer for LLVMCPUVirtualVectorLowering)

It looks like a 16x16x16 vector shape is chosen in the configuration, which is not good. I can take a look when I get some cycles. What the priority of this would be?
%27 = vector.broadcast %26 : vector<16xi64> to vector<16x16x16xi64>

Relatively low priority IMO, but I did want to debug far enough to see why compilation time (and likely runtime too) was falling off a cliff.

Relatively low priority IMO, but I did want to debug far enough to see why compilation time (and likely runtime too) was falling off a cliff.

I see, I'll try to get more details some time this week. It should not be a hard fix.

We have very bad tile sizes selection for element-wise op. We used to have reasonable sizes because they are flatten. It is not flatten in this case because the output indexing map is not an identity permutation. I have an WIP PR that makes the compilation time much more reasonable. It takes 14 seconds to compile the whole model on my VM.
I'm working on updating tests, and will send it out for review soon. https://github.com/iree-org/iree/pull/17227

The other issue that I noticed is the output indexing_map is not identity. I talked to @MaheshRavishankar , and I will prepare the fix.


enable waypoints

not sure how to use the new waypoint router
@sebastian-goeldi

By... passing something to waypoints?
Can either be a transofrmation or a list (length > 1) of points

It's definitely not error free yet, though


Add project prometheus node_exporter

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

conflict


v3.0.0 beta release archive is CMake versioned to 2.4.0

When feasible it might be worthwhile updating the tag and recreating a new release.

You are right, the version number was incorrect. I fixed it and created a new release.


Inundated with lots GC events are overwhelming our memory charts.

GC events seem to fire many times, within 100-300 ms of the previous GC.  This causes a lot of events be recorded in our memory profiling chart.  Currently, I don't display a GC event if the previous GC happened with 500 ms.
Dart 2.2.1 Mac/Linux using Flutter 1.2
Can this be fixed or should I look at something in particular for a real GC?

Please provide a reproduction. It can very well be that the code you are testing on is triggering GC every 100-300 ms (e.g. because new space overflows - thus triggering a scavenge).
I don't think VM would issue a GC event if no event has occurred. /cc @rmacnak-google
Also consider asking questions using dart-vm-team@ mailing list instead of the issue tracker, which is primarily used to track bugs.

A scavenge every 100ms is reasonable. DeltaBlue on desktop has a scavenge every 20ms.


Custom complex type rules for types you don't control, i.e. types in another assembly

There should be some way of controlling which fields/properties of a type are saved even if you can't apply attributes to them.

Once this is a thing, the Unity version should disable saving on Quaternion.eulerAngles

Crazy that I'm still working on SUCC a year later! Good job jimmy, you stuck with it.


Strip unnecessary data from PGP public keys, leave only public key packet

Fixes #23607

Regarding UID - I tried to do this, but it was hard to figure out a clean way to do this. Almost everything useful is in private methods, and it seems like all-or-nothing: either you have all info or just a PK packet.

Since we print a UID in error messages, we are able to read one, right?
Can we read one, and then only pass that as metadata to the cleanup key we create?

I really didn't want to resolve to use reflection but I had to because we need subkeys and their constructor is private. PTAL at KeyringStripper.

@bot-gradle test and merge

I've triggered a build for you.


Documentation

Hello,
the lib seems to be nice but can you please put some examples about how to do basic things,
it's really hard to start using the lib...
At least can you give us a sandbox instance that demonstrate what can be done (changing perm, add role, send message....)
Thank you

I agree the doc is rudimentary, but with a good IDE we can manage to discover most stuff quickly.
@ScreamZ I am currently writing a symfony2 bundle to do just that.

@lethak why sf2 and not sf3? Btw is true I have used this before and working fine, the only problem come when you not use phpstorm or any other one good ide 👍

The bundle is not going to be public atm, but is compatible/tested on sf 2.8, I have not migrated over 3.x yet.

Hey just wanted to know how when can we expect that it is going public?

Hey buddy, i just paused this, but i'll try to release this at least in a light version, meaning that you'll fetch array instead of PHP objects filled.

Currently trying to patch all the issues with the library. Documentation is available albeit quite weak.


Updated link for Sample Config (JSON)

The old url was pointing to the wrong branch.
<DCO 1.1 Signed-off-by: YOUR_FULL_NAME YOUR_EMAIL>

Coverage remained the same at 97.53% when pulling 440b553675040e547760f3df9e72f59c0fd9d8c8 on lsfgrd:patch-1 into be43c0bd231774873668b0560a8a893d89ef10d0 on sasstools:develop.

@chancestrickland @srowhani If there's no objection i'll merge this one

:tada: This PR is included in version 1.13.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


v^0.5.1 – Any way to manipulate the HTML output in SSR?

Prior to the latest update, I used to run the HTML output provided by the SSR renderer through a tidy function a la
@if ($ssr)
      @php
      $config = array(
          'indent'         => true,
          'output-html'   => true,
          'show-body-only' => true,
          'wrap'           => 200
      );
        // Tidy
    $tidy = new \tidy;
    $tidy->parseString($ssr['body'], $config, 'utf8');
    $tidy->cleanRepair();
    @endphp
    {!! $tidy !!}
@else
    @inertia
@endif

May seem pointless, but a few of our clients like to inspect the HTML output of their pages and get SEO experts and the like to look at it, and it didn't make a great impression when the entire page was a single line of output.
Is there any way I could reimplement this previous function without having to hack any of the vendor files? Perhaps you might even consider an entirely optional setting in the config/inertia.php to format the output if not.
Thanks for the great work on this feature.

You'd have to register your own Gateway implementation, something like the following might work. Haven't tested it, but I think you'll get the idea :)
// Bind the implementation in a service provider
$this->app->bind(Gateway::class, \App\Inertia\TidyHttpGateway::class);

<?php

namespace App\Inertia;

use Inertia\Ssr\HttpGateway;
use Inertia\Ssr\Response;

class TidyHttpGateway extends HttpGateway
{
    public function dispatch(array $page): ?Response
    {
        $response = parent::dispatch($page);

        if (is_null($response)) {
            return null;
        }

        $config = [
            'indent'         => true,
            'output-html'   => true,
            'show-body-only' => true,
            'wrap'           => 200,
        ];

        $tidy = new \tidy;
        $tidy->parseString($response->body, $config, 'utf8');
        $tidy->cleanRepair();

        $response->body = tidy_get_output($tidy);
        return $response;
    }
}

I had to change the code a little $this->app->bind(Gateway::class, \App\Inertia\TidyHttpGateway::class); didn't work, but $this->app->bind(\Inertia\Ssr\HttpGateway::class, \App\Inertia\TidyHttpGateway::class); did.
But yeah. This seems to be a good userland solution to my problem.

Yep, that's indeed how we recommend doing it 👍


Add ClusterfuzzLite

Signed-off-by: AdamKorcz<EMAIL_ADDRESS>

Change Summary

This PR adds ClusterfuzzLite and a fuzzer for the parser.
ClusterfuzzLite will run fuzzers in the CI when PRs are made. It can be extended beyond this PR with code coverage and batch fuzzing: https://google.github.io/clusterfuzzlite/running-clusterfuzzlite/github-actions/
Related issue number

Checklist

[ ] Unit tests for the changes exist
[ ] Tests pass on CI and coverage remains at 100%
[ ] Documentation reflects the changes where applicable
[ ] changes/<pull request or issue id>-<github username>.md file added describing change
(see changes/README.md for details)
[ ] My PR is ready to review, please add a comment including the phrase "please review" to assign reviewers

@Zac-HD I would love your opinion on this?
What do you think of ClusterfuzzLite, will it provide any utility here?

I think fuzzing can be really helpful for native code, and the Clusterfuzz / OSS-Fuzz team are great.
For Python code, you can repurpose any or all of your existing property-based tests as fuzz targets (hypothesis docs, OSS-fuzz docs) and get the benefit of Hypothesis-style replay, minimal counterexamples, explain-mode, etc.  (I'm pretty fond of HypoFuzz for Python projects, but don't yet have a great story for sharing the database between Actions-for-fuzzing and Actions-for-CI.  In the meantime, Clusterfuzz does handle that and offer free compute!)
So I'd try it out, ideally with a focus on compiled code, and you can always drop it later if it's not worth the hassle!

Thanks, fuzzing found all the errors in speedate, so I'm a complete convert for native code.

It looks like tests are failing while "building the fuzzer" because the environment is somehow set up wrong and it's trying to use pydantic/typing.py on from typing import ... commands:
Compiling libFuzzer to /usr/lib/libFuzzingEngine.a...  done.
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/local/lib/python3.8/site-packages/atheris/__init__.py", line 17, in <module>
    from typing import List
  File "/src/pydantic/typing.py", line 4, in <module>
    from typing import (  # type: ignore
ImportError: cannot import name 'TYPE_CHECKING'

@AdamKorcz any idea why this is happening? I guess the next question is to ask on https://github.com/google/atheris or https://github.com/google/clusterfuzzlite

It looks like tests are failing while "building the fuzzer" because the environment is somehow set up wrong and it's trying to use pydantic/typing.py on from typing import ... commands:
Compiling libFuzzer to /usr/lib/libFuzzingEngine.a...  done.
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/local/lib/python3.8/site-packages/atheris/__init__.py", line 17, in <module>
    from typing import List
  File "/src/pydantic/typing.py", line 4, in <module>
    from typing import (  # type: ignore
ImportError: cannot import name 'TYPE_CHECKING'

@AdamKorcz any idea why this is happening? I guess the next question is to ask on https://github.com/google/atheris or https://github.com/google/clusterfuzzlite

Let me have a look to see if I can see the issue.

No updates and I fail to see how this approach could realistically find anything interesting in pydantic.
@AdamKorcz if you'd like to submit a PR to the [speedate}(https://github.com/pydantic/speedate) project which is also on this organisation, I think that could definitely be useful. In particular speedate does quite a lot of manual parsing and already has fuzz tests that ClusterfuzzLite could perhaps hook into.


Introduce new linter and pre-commit

Introducing pre-commit with Python code formatter and JS formatter

Relates to #1638


Update the working agreement

The working agreement document is incomplete.
Rewrite this document, fill out the existing sections and add new relevant sections
https://github.com/microsoft/code-with-engineering-playbook/blob/master/team-agreements/working-agreements/readme.md

@TessFerrandez - we have a working agreement created internally in cwcwiki, do we need a public version as well?

The working agreement already exists in the playbook, it is just not fleshed out.
@niksacdev I think it is good to keep the work agreement in the playbook as it is something we share with our customer team, and it's applicable to non CSE projects as well.  Is there a reason you feel it should not be there?
If there are more internal parts of it we could place them/keep them in the wiki, but I can't find a reason this should be internal only so would be interested in hearing your thoughts.


Improve camera zoom

Currently, to zoom to a location, we have to go back and forth several times between zooming with the right-mouse button, and panning with the left-mouse button.  We should be able to do this with much less mouse motion.
This isn't a short-term priority, but we should keep it in mind as we continue to improve the camera.

I most certainly agree with @netanelgilad, this is a necessary feature. We can not provide any details on our projects (due to classification reasons), but I can say that our clients use the zoom feature extensively to move from location to location.
I believe this should be a short-term priority as it is, as I understand,  a pretty simple feature to implement. We will follow the subject closely to see if there are any updates on the issue.

Just wanted to add my vote in for this feature as well - our users have also been requesting it.

There's a discussion about this (and some links to various implementations) in this forum thread.  We're happy to take pull requests for this into core Cesium.

We implemented a basic zoom to mouse feature in user land. Happy to wrap it into a PR if people like.
https://gist.github.com/scothis/c9f2695f03380ca5dd96

@scothis This seems like exactly what we need. Would love to see you PR it and have it integrated into cesium.
Thanks.

@scothis, maybe you could take the terrain into account and instead of using the height of the camera, use the distance from the camera to the intersection of the directionToZoom ray with the terrain.

@gberaudo  I agree that the distance being scaled by the distance to the projected point-to-zoom is a stronger metric, but what if you're in a 2.5D view and try zooming directly into space?

If the mouse ray (=camera origin & goes through pointer) doesn't intersect Earth it could instead scale using the camera's nadir vector intersect distance (nadir vector always intersects the Earth.) I've found zooming into open space to be quite useful (toward and away.)
Zooming along the mouse ray is very easy to implement, however it introduces a non-zero roll in the local ENU frame. Without a 3Dmouse roll is difficult to deal with.  Shift left-click looking is not mentioned in the top right navigation help button probably for the same reason: the camera relative pitch yaw can introduce non-zero local ENU roll which can be tricky to undo with a 2Dmouse.
To fix the non-zero roll while at the same time keeping the pointer over the same spot on Earth what can be done is spin the camera around the mouse ray axis after zooming so that roll is zero again. The trick is figuring out the rotation angle needed to accomplish this as it's an arbitrary vector (not direction, right, nor up.) Anyone know of a good algorithm to determine the required rotation angle? Don't want to rotate around any other vector to undo roll as then the pointer won't be over the same spot anymore.

Until an algorithm is discovered to determine a one time rotation around mouse ray, perhaps for the mean time a brute force method could be used.
The higher the dot product between the mouse ray and camera.direction the more roll action it will yield to the point of being 100% roll action (=camera.dirction.) At first rotate (0 minus current roll) and see how close that gets to 0 roll. Lets say you were at roll -40deg and you rotated +40 degrees around mouse ray and that put you at -5deg roll (35deg / 40deg = 0.875 deg roll per 1 deg rotate.) So to finish it off you rotate 4.375deg = 5 * 0.875deg. If roll still isn't exactly zero just finish it off by rotating around camera.direction.
ENU heading and pitch will alter a bit as you zoom, but that can't be avoided if you zoom in a straight line while keeping the same point under the pointer. It might be possible to zoom along a curved path while keeping the same point under the pointer and keeping a constant ENU HPR orientation, but the calculations for that might end up being even more difficult to figure out.

How to figure out how much to rotate around mouse ray
Local up is camera.up in terms of the ENU reference frame. When you rotate camera around an arbitrary mouse ray, local up goes around circle A in 3D space. Local up.z is highest at roll 0 (if tilt it positive.) So the key is to figure out a way to determine the highest point of circle A in 3D space. That point is where up needs to point to and you already know the mouse ray direction, and if you know where 2 vectors point to from camera center you then can determine it's complete orientation. (it is already known how mouse ray and camera.up are situated relative to the camera's cardinal directions.)

@scothis We're finding that this doesn't work on either 3D or 2D maps and throws no errors.

This was added in #2810.  It will be in Cesium 1.11 on July 1.


feat(settings/overlay): add "Open Overlay Window" button

Since an overlay could be used to display alternate information on a second projector, there should be an easy way to open a window for the overlay.
The window should allow fullscreen hotkeys like the presenter. No controller required.

Hotkeys on the Overlay component? hm. Should accessing the Overlay url generally allow for this?

I don't think the browser's version of the overlay url/endpoint needs it. It's already possible to fullscreen in browsers and the extra functionality is a very minor performance hit for live stream (but it's just not needed there either).
The other idea is to break these use-cases apart. I know we've talked about setting up multiple "displays" in the past. Can also revisit that instead


Performance improvements, integer key bug fix, and "functional" keyless serialization support

I'm not sure which of these patches would actually be wanted, but sending pull request for reference.
57b53ab2f99235b1bf7e5785cdf19850671474d1 has a limitation which is documented in the commit message.
a900291d0dc7ec87fee506b3b5517bfe8192ddb2 could have been done nicer, but was a bit too intrusive so I went down the less pretty but unintrusive route.
Here is a test vector:
var e = new Uint8Array([101,87,111,114,108,100,100,84,101,115,116,251,64,9,30,184,81,235,133,31,25,39,16]).buffer;
var e2 = new Uint8Array([164,0,101,87,111,114,108,100,1,100,84,101,115,116,2,251,64,9,30,184,81,235,133,31,3,25,39,16]).buffer;
console.log(CBOR.decode(e)); // This one throws without patch a900291d0dc7ec87fee506b3b5517bfe8192ddb2
console.log(CBOR.decode(e2)); // This is the same data, but with integer keys
var d = { 0: "World", 1: "Test", 2: 3.14, 3: 10000 };
var encoded = CBOR.encode(d); // This and e2 should be the same with the patch 57b53ab2f99235b1bf7e5785cdf19850671474d1
// Without the patch 57b53ab2f99235b1bf7e5785cdf19850671474d1, d encoded will be 32 bytes long instead of 28, because the keys get translated into strings. This causes interop issues with other implementations.
Let me know if anything doesn't work as expected or is unclear.

a900291 is a bad revision (made a mistake in the NaN check. Forgot about that ECMAScript gotcha.) which should be fixed in 823cbbc.
3062f4c fixes a error in the test suite. Explanation in the commit message.

@paroga can you take a look at these PRs and issues? Some work here that should be sorted out when you get a moment

I do not think that 57b53ab is a good idea as it is, since JS only supports strings and this would break encoding of a number encoded as string. IMHO we should switch to Map to support all key types, but this would need to increase the requirements to the browser.
I would implement a900291 with a new CBOR.decodeMultiple function instead, so we do not break the current behaviour. This function could return an Array of decodable items.


Proposal: remove type from top-level document structure.

Records are currently organized in the normalized document structure by type and then id, where id is the primary key as defined by Orbit. Unless overridden, these IDs are UUIDs, and therefore globally unique. They can be mapped to other secondary keys that are not UUIDs to support remote servers that key records by integers, for instance.
I'm considering removing type from the top-level document structure and instead storing and accessing records directly by ID. Since these IDs are globally unique by default, there should be no conflicts, and would still support secondary keys that are only unique by type.
I'm considering this move for a few reasons:

by flattening the document structure, access to data should be more efficient.
it will be easier to support polymorphic relationships, since only the ID need be stored
it will simply the Requestable interface methods, such as find, create, etc., which will no longer require type to be specified as an argument. It will be possible to call find with just an ID, but will also still be possible to pass a query object to find by any parameters (including type).

We can maintain a lookup "index" behind the scenes that will map IDs to types, which will keep type-based queries efficient. This will be similar to the primary-to-secondary key mappings maintained on the schema.
This will require breaking changes to a number of interfaces, but I think it will be worth it in terms of simplification, efficiency, and clean support for polymorphism.

Hmm, definitely going to be a lot of refactoring required but it's perhaps worth the effort. orbit-firebase needs to store records under the type roots for querying purposes, would the type information be available on each record instead?

would the type information be available on each record instead?

Yes, type would be required on all records.

This work is in progress. I'll post comments here until I push a branch and open a WIP PR.
As mentioned above, one requirement is that type be defined on all records. Furthermore, the primary key id also needs to be defined on all records. This must be a UUID. Rather than making these fields customizable, I'm reserving the type and id keys à la JSON API. Other keys (e.g. remote server-generated IDs) can still be defined per type and indexed against type and id.
So far, I'm finding that this refactor greatly simplifies the code in many areas.

This change would completely break like everything we've written because we use .retrieve a lot

Every transform handler would need to be rewriten..
It's basically a 100% rewrite.
Filtering transforms now would require retrieve, etc.

@gnarf Your point about filtering transforms by type might be a dealbreaker for this approach. Thanks for raising it (and with only a few hours invested on my end). I'm going to rethink how to achieve some of the same simplifications without losing the filtering capabilities.

@dgeb I was thinking about maintaining type indexes in firebase to track that information. Something like
{
    indexes: {
        types: {
            user: {
                "user123": true
            }
        }
    }
}

Perhaps something like that could work. It's just an idea at the moment though, haven't had a chance to give it much thought yet.

Closing for a couple reasons:

to allow filtering of transforms by type
to preserve the type / id pair as a composite key (rather than guaranteeing uniqueness of IDs across types)


[Checkout extensibility] Share Capability type with checkout and customer account surfaces

Background
This PR replaces the redundant Capability type in customer account with the type maintained in the shared types file.
Solution
We have been maintaining two Capability types, causing the instance in customer account to fall out of sync with checkout. This change allows us to maintain the capabilities in one type.
🎩

...

Checklist

[ ] I have :tophat:'d these changes
[ ] I have updated relevant documentation

/snapit


delegate to Node on non-Mocha unhandled rejections

This is not intended as a fix for #4481, since it's possible that Mocha's behavior in v8.2.0 uncovers false positives.  In other cases--depending on the use-case--they are not false positives at all, but rather annoyances that depended on the pre-v15 behavior of Node.js to only issue warnings.
This PR changes the behavior of Mocha so that it will re-emit unhandled rejections to process if they did not generate from Mocha.  If the rejection generated from Mocha, then we treat it as an uncaught exception, because Mocha should not be in the business of ignoring its own unhandled rejections.  The logic for detecting an "error originating from Mocha" is not exhaustive.
Once an unhandled rejection is re-emitted to process, Node decides what to do with it based on how it is configured to handle unhandled rejections (strict, warn, quiet, etc.).
Added a public method to errors module; isMochaError()
Ref: #4481

think I left some test changes out of the commit, will fix it tomorrow.

I don't think this code is safe anyway (see weird "multiple done" issue cropping up in #4481).  It's pretty clear the changes I made in v8.2.0 screwed something up w/r/t handling of promises, but I'm not sure what that is yet.

Coverage decreased (-0.04%) to 94.037% when pulling 2b38221b4247cab956b688522decc9755b9d2c76 on boneskull/issue/4481-uncaught into 7e490aa13e8ed25c78e77faa6fed0337e948b619 on master.

this actually addresses issues in #4481 and another issue causing erroneous "multiple done" output.

This update causes a LOT of test failures for us in Heroku.

This update causes a LOT of test failures for us in Heroku.

unless you can provide more info, I can’t help

unless you can provide more info, I can’t help

@boneskull In my case, it seems to cause an extra listener call.
I can repro consistently using mocha 8.2.1. Here's a minimal repro case with no other dependencies. I'm on node 10.19.0.
it('should call a custom `unhandledRejection` listener once per unhandled rejection', async () => {
  // Register our listener
  let listenerCallCount = 0
  process.on('unhandledRejection', () => listenerCallCount++)

  // Force a rejection and wait for it to bubble up to the process EventEmitter
  const unhandledRejection = new Promise(resolve => process.once('unhandledRejection', () => resolve()))
  Promise.reject(new Error('Unhandled promise rejection!'))
  await unhandledRejection

  if (listenerCallCount !== 1) {
    throw new Error(`listenerCallCount was ${listenerCallCount}, expected 1`)
  }
})

Result:
Error: listenerCallCount was 2, expected 1

If I go into node_modules/mocha/lib/runner.js and comment out the process.emit('unhandledRejection', reason, promise);, my test passes.
So on 8.2.1 we get an extra listener call. On 8.2.0 the test fails with Uncaught Error: Unhandled promise rejection!. On 5.2.7, which I happen to be upgrading from, the test passes. Let me know what other info is helpful.

@boneskull In my case, it seems to cause an extra listener call.
I can repro consistently using mocha 8.2.1. Here's a minimal repro case with no other dependencies. I'm on node 10.19.0.
it('should call a custom `unhandledRejection` listener once per unhandled rejection', async () => {
  // Register our listener
  let listenerCallCount = 0
  process.on('unhandledRejection', () => listenerCallCount++)

  // Force a rejection and wait for it to bubble up to the process EventEmitter
  const unhandledRejection = new Promise(resolve => process.once('unhandledRejection', () => resolve()))
  Promise.reject(new Error('Unhandled promise rejection!'))
  await unhandledRejection

  if (listenerCallCount !== 1) {
    throw new Error(`listenerCallCount was ${listenerCallCount}, expected 1`)
  }
})

Result:
Error: listenerCallCount was 2, expected 1

If I go into node_modules/mocha/lib/runner.js and comment out the process.emit('unhandledRejection', reason, promise);, my test passes.
So on 8.2.1 we get an extra listener call. On 8.2.0 the test fails with Uncaught Error: Unhandled promise rejection!. On 5.2.7, which I happen to be upgrading from, the test passes. Let me know what other info is helpful.

yeah, Mocha now has a listener for unhandledRejection--it needs one, or it will swallow rejections.
would recommend that you test for a number greater than 0, or test that a specific listener was called.

yeah, Mocha now has a listener for unhandledRejection--it needs one, or it will swallow rejections.
would recommend that you test for a number greater than 0, or test that a specific listener was called.

Thanks for the quick reply. I'm a little confused by what you mean by "swallow rejections", since commenting out the re-emit code shows that rejections still reach the user's listener. Maybe there are other listeners it's doesn't reach that I'm not aware of though.
In any case, the workarounds you provided are fine for me. Thanks for your work on mocha!

Thanks for the quick reply. I'm a little confused by what you mean by "swallow rejections", since commenting out the re-emit code shows that rejections still reach the user's listener. Maybe there are other listeners it's doesn't reach that I'm not aware of though.
In any case, the workarounds you provided are fine for me. Thanks for your work on mocha!

I mean that users who aren’t setting their own will not see anything and have no idea the rejection happened (depending on node version)

I mean that users who aren’t setting their own will not see anything and have no idea the rejection happened (depending on node version)


DOESNT WORK for me

i downloaded & ran using local wamp server.
it looks like all the dependencies are there.. yet when i click on demo button, (top left corner)
it says "Add a list"
i type a name in.. click save
the url changes.. it flashes.. then back to same page
http://localhost/trello-backbone-master/index.html?name=testing+1#
also how could i somehow POST the data as json?
i am a PHP developer.. i would like to use PHP to send the json
back & forth (so i can store in MySQL) using PDO
i want to create a project manager like trello
and looks like a good starting base.. not too familiar with backbone tho

i should also note i was using the latest version of chrome.. for some reason it's not working there.
i opened it in firefox developer edition.. works there.. weird.
any ideas why chrome dont like it?

anything??

Sorry  for the delayed reply. It was sample project created as part of learning process. The original CSS was taken from troll page.


Update service-dependencies.md

I added the information about Microsoft Forms and Microsoft To-Do in the end of table.
Please change the order of them if you have the rule.

@rikos3 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Email out to Conditional Access Product Group for review and approval.

#hold-off

#sign-off

Thanks for the contribution!


Button as router-link (please see details)

What is the initial issue?
Using a button from a library, for example
<ui-button color="primary" style="text" :text="page.name" />

And making it behave as a router-link.
Solution 1: Why not use the tag property?
example:  <router-link tag='ui-button' />
This is the first solution many seem to reach, however the color="primary" property needs to be passed to the ui-button (otherwise it is invisible in my use-case). So, the question becomes: how do I pass props to the router-link button? There does not currently seem to be a direct way to do this.
Solution 2: Why not just Wrap the Button in a router-link?
example:
<router-link tag='div' >
    <ui-button color="primary" />
</router-link>

This has a few drawbacks. When using a button from a library, the button can have margins or may change css-properties such as align-self: flex-start. When the button is wrapped, this can obviously cause problems and makes the library not behave as intended: clicking the margin of a button should not activate the button. In addition to that, the default router-link tag is the anchor tag, which means the user must go learn about the tag property and change it, lest they want all of their buttons to have underlined text. This is not an ideal programmer experience.
Solution 3: Why not use $router ?
example: <ui-button @click="()=>$router.push('about')" />
This does not behave the same as an href or router-link. For example, router-links can be opened in a new tab by pressing CMD/CTRL   CLICK, however that behavior doesn't happen on an @click like the one above. This is generally a tell-tale sign of a poorly coded SPA site and is not an ideal user experience. However, making it an ideal user experience requires a non-ideal developer experience.
Solution 4: Why not create a custom component wrapper?
example: <router-link tag='custom-button'>
This would work, except for when the button needs the page name or other parent-dependent data to be passed as an attribute/property. Even if this did work, the bulkiness of this solution is problematic. Making a component redirect is incredibly basic functionality. Requiring an the creation of a wrapper component, registering it, and then attaching it to the router-link is a disproportional amount of work for such a straightforward goal.
Solution 5: Why not use href?
example: <ui-button href='page-route' />
This circumvents the process, which makes page-transition animations and other aspects fail.
Solution 6: Why not use the slots API?
example:
<router-link to="/about" v-slot="{ href, route, navigate}">
    <ui-button :href="href" @click="navigate" color="primary" style="text" :text="route.name" />
</router-link>

This is now my current solution, and is likely the best solution. However, the documentation describes the slots API as  "advanced", "low-level customization", that is "primarily for library authors".  Requiring devs to dive all the way into the most advanced features just for a button click is not a good experience. The slots API is very extensive, so if this was advertised as the default method of creating router-links then this likely wouldn't be as much of an issue.
What is the final issue?
This is a common task, with 5 separate unintuitive ways to poorly accomplish it, an one relatively hidden advanced but good solution. Ideally there would be one obvious standardized ideal way. As a developer, I feel like I am required to become Vue-Router expert just to make a button redirect to a new page. This is very discouraging for anyone trying to adopt the framework.
Reference
There is a question here that provides evidence of many of the challenges people have with this.
What does the proposed API look  like?
Overview
The ideal solution would be to create a universal v-href and v-route property for all components similar to the way Vue handles @click on existing components.
For example <ui-button v-href='page.location' />.
This is consistent with Vue's goal of keeping the API small and intuitively close to the Javascript/HTML counterparts that developers are already familiar with.
Context
This will likely require Vue itself (and not just Vue-Router) to change. This would be designed as a full replacement of router-link component, with the intention of eventually deprecating router-link.
Details
The API for the v-href property would be identical to the current router-link "to" property. All additional prop functionality of router-link would be handled through an object on the v-route property. This would behave identically to how a router-link would behave, if the router-link were given both a tag property and (somehow) was able to pass properties/attributes to that tag.
Further implementation details will need to be discussed to ensure the intended behavior is fully defined.

See https://github.com/vuejs/vue-router/issues/2021
Good news are, you can fully customize things with the slot api

Hi @posva, the issue isn't about having the capability, its a feature request for a more straightforward API.
Thanks for the mention of the slots API though, thats probably the best current method so I'll add it as a 6th solution to the original post. I read about the slots API, but the documentation describes it as "advanced", "low-level customization", that was "primarily for library authors". I figured something like that wouldn't be required for creating functionality that was in the first 2 lessons of an HTML 101 course. If the slots API is required for making a button click go to a new page, then I'd suggest that the current API needs to be adjusted.

This does not behave the same as an href or router-link. For example, router-links can be opened in a new tab by pressing CMD/CTRL CLICK, however that behavior doesn't happen on an @click like the one above.

That's expected, the cmd/ctrl click is native, it's not emulated by Vue Router. Buttons do not have that behavior, and I don't recommend you to change it. If you want the button to behave like a link, it should be a link for usability reasons like accessibility. If you still want to use a button, you will have to emulate link behaviors, but that has nothing to deal with Vue Router

If you want the button to behave like a link, it should be a link for usability reasons like accessibility.

There are browsers out there that treat anchor-tags and button-tags very differently. Your opinion that everyone should just quit using buttons or list-elements  for hyperlinks is very naive. Please give us back the router-link "tag" attribute, that was a perfectly simple solution in vue2. The "v-slot" solution is absurdly complicated.


Bulk support for extensions logging integration.

Continuation of #97
Introduces batching of log events before indexing into Elasticsearch. Powered by System.Threading.Channels. It supports sending every N items or every M interval after the first item was added.
This also introduces the ability to have multiple consumers drain the channel concurrently.
A callback now exists when items are being dropped because the channel is full and when a _bulk request has occurred.
We still need to add

_bulk failure handling
_bulk retry handling (exponential backoff)
_bulk rejection callback for LogEvent

Since this PR and #97 are big enough already will tackle the remained when we pull in the flight PR's.
This also includes a modified version of the example project from @sgryphon 's PR: #69
It also includes a high volume worker that can be started with dotnet run -- high.

:green_heart: Build Succeeded

Expand to view the summary

Build stats

Build Cause: [Pull request #99 updated]

Start Time: 2020-07-20T16:41:57.895+0000

Duration: 13 min 17 sec

Test stats :test_tube:

Test
Results

Failed
0

Passed
52

Skipped
4

Total
56

@russcam I think this is ready for another round. Your comment about throttles and consume task options is a good one but the throttle options are documented as not picking changes. In general I would like to minimizing support live config changes as much as we need to.
I don't want to support scaling consumers and buffer sizes just yet, most likely worth their own PR 😄


Create files below dev - custom rules definition not working

Describe the bug

I am attempting to override the "Create files below dev" rule by creating a rules file as such:
customRules:
my-post-rules.yaml: |-
- rule: Create files below dev
enabled: false
This rule continues to trigger.  I have tried using append: true to no avail.  I have tried to add conditions to the macro for exceptions and could not get that to work either.
I was able to quit down the /etc alert to /etc/hosts, so I know that macro is working.
This is the full file I am attempting to use:
my-post-rules.yaml: |-
- rule: Java Process Class File Download
enabled: false
- rule: Write below etc
enabled: false
- rule: Create files below dev
enabled: false
- macro: user_known_write_below_etc_activities
condition: fd.name="/etc"
- rule: Detect Write Below /etc/hosts
desc: an attempt to write to /etc/hosts file (CVE-2020-8557)
condition: open_write and container and fd.name=/etc/hosts
output: "File /etc/hosts opened for writing (user=%user.name command=%proc.cmdline parent=%proc.pname pcmdline=%proc.pcmdline file=%fd.name program=%proc.name gparent=%proc.aname[2] ggparent=%proc.aname[3] gggparent=%proc.aname[4] container_id=%container.id image=%container.image.repository)"
priority: ERROR
tags: [filesystem, mitre_persistence]
How to reproduce it

Deploy falco with helm
add a section to your vaules file:
customRules:
my-post-rules.yaml: |-

rule: Create files below dev
enabled: false

trigger the rule condition
observe the event continue to occur and alert

Expected behaviour
I believe with the setup here, that the Create files below dev rule should not trigger.
Screenshots

Environment

Falco version:
{"default_driver_version":"4.0.0+driver","driver_api_version":"3.0.0","driver_schema_version":"2.0.0","engine_version":"16","falco_version":"0.34.1","libs_version":"0.10.4","plugin_api_version":"2.0.0"}

System info:
"system_info":{"machine":"x86_64","nodename":"falco-9c8s6","release":"5.4.226-129.415.amzn2.x86_64","sysname":"Linux","version":"#1 SMP Fri Dec 9 12:54:21 UTC 2022"},"version":"0.34.1"}

Cloud provider or hardware configuration:

- image:
  registry: docker.internal-my.com/docker-hub
falco:
  rules_file:
    - /etc/falco/falco_rules.yaml
    - /etc/falco/falco_rules.local.yaml
    - /etc/falco/rules.d/my-post-rules.yaml
  log_level: error
  priority: error
falcoctl:
  image:
    registry: docker.internal-my.com/docker-hub
driver:
  loader:
    initContainer:
      image:
        registry: docker.internal-my.com/docker-hub
falcosidekick:
  enabled: true
  config:
    aws:
      s3:
        bucket: falco-logs-{{ .Values.spec.environment }}
  image:
    registry: docker.internal-my.com/docker-hub
    repository: falcosecurity/falcosidekick
  webui:
    image:
      registry: docker.internal-my.com/docker-hub
    redis:
      image:
        registry: docker.internal-my.com/docker-hub
customRules:
  my-post-rules.yaml: |-
    - rule: Java Process Class File Download
      enabled: false
    - rule: Write below etc
      enabled: false
    - rule: Create files below dev
      enabled: false
    - macro: user_known_write_below_etc_activities
      condition: fd.name="/etc"
    - rule: Detect Write Below /etc/hosts
      desc: an attempt to write to /etc/hosts file (CVE-2020-8557)
      condition: open_write and container and fd.name=/etc/hosts
      output: "File /etc/hosts opened for writing (user=%user.name command=%proc.cmdline parent=%proc.pname pcmdline=%proc.pcmdline file=%fd.name program=%proc.name gparent=%proc.aname[2] ggparent=%proc.aname[3] gggparent=%proc.aname[4] container_id=%container.id image=%container.image.repository)"
      priority: ERROR
      tags: [filesystem, mitre_persistence]

OS:

cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

Kernel:
Linux falco-9c8s6 5.4.226-129.415.amzn2.x86_64 #1 SMP Fri Dec 9 12:54:21 UTC 2022 x86_64 GNU/Linux

Installation method:
Kubernetes, Helm

Additional context

I actually had a phantom instance of falco running in another test eks cluster that I had forgotten about and/or sre did some blue/green testing.  Huge face palm for me!
The alerts I was getting were from a completely different falco daemonset on another test cluster, to the same place...there is no bug.

I actually had a phantom instance of falco running in another test eks cluster that I had forgotten about and/or sre did some blue/green testing. Huge face palm for me!
The alerts I was getting were from a completely different falco daemonset on another test cluster, to the same place...there is no bug.


Dev upf

@mouhcin22 The request does not have a file in it, thus I have to close it without merging.


Consistent notebook action names

This PR rename all notebook related actions to make them consistent, they fall into two categories

notebook.* are notebook level actions

notebook.fold
notebook.execute
...

notebook.cell.* are cell level actions

notebook.cell.execute
notebook.cell.changeToCode
notebook.cell.insertCodeCellAbove
notebook.cell.delete
...


test-buildbatchupdatememberopts [cloud provider openstack]

What this PR does / why we need it:
Which issue this PR fixes(if applicable):
fixes #
Special notes for reviewers:

Release note:

NONE

/ok-to-test

/reset