Egghead not working

Checklist

[x] I'm reporting a broken site support issue
[x] I've verified that I'm running youtube-dl version 2019.08.02
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar bug reports including closed ones
[x] I've read bugs section in FAQ

Verbose log

PASTE VERBOSE LOG HERE

Description

WRITE DESCRIPTION HERE
Hi guys, Egghead courses are not working, I am using cookies to retrive the videos, also tried with username/password it´s the same, the thing apparently is that now egghead it like lazy loading video fragments m4s files.
The error I 'am getting is quite old:
ERROR: An extractor error has occurred. (caused by KeyError(u'media_urls',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 530, in extract
ie_result = self._real_extract(url)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/egghead.py", line 98, in _real_extract
for _, format_url in lesson['media_urls'].items():
KeyError: u'media_urls'
Traceback (most recent call last):
File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 796, in extract_info
ie_result = ie.extract(url)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 543, in extract
raise ExtractorError('An extractor error has occurred.', cause=e)
ExtractorError: An extractor error has occurred. (caused by KeyError(u'media_urls',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Thanks for your help!
Nikolai.

@remitamine Where is stored the verbose logs? I used --verbose, but don´t know if there are more logs than I pasted, where can I look ? Thanks.

in the CMD/Terminal output.

@remitamine I updated the log.

the lesson you're trying to download is Pro Lesson(require a Full Access Membership).

@remitamine This one is free in the network tab is doing the same.
https://egghead.io/lessons/gatsby-set-up-to-create-data-driven-pages-in-gatsby

youtube-dl https://egghead.io/lessons/gatsby-set-up-to-create-data-driven-pages-in-gatsby
[egghead:lesson] gatsby-set-up-to-create-data-driven-pages-in-gatsby: Downloading JSON metadata
[egghead:lesson] 4956: Downloading m3u8 information
[egghead:lesson] 4956: Downloading MPD manifest
[dashsegments] Total fragments: 105
[download] Destination: Set up to Create Data Driven Pages in Gatsby-4956.fdash-9b44f8ab-f088-4b97-a85a-34be0dbf890d.mp4
[download]   0.3% of ~45.44MiB at 514.75KiB/s ETA 16:11

next time when you say something is not working, prove that it's not working with youtube-dl while it's working in the browser.

@remitamine Sorry, seems this is not working for PRO courses only, it downloads first 2 and then stops with the error I posted, can´t post login credentials becuase are not mine.


Ensure user isn't soft deleted when querying for user

We soft delete our user records, is there a way to ensure a property has a certain value in the query executed to find the user by the login method?

Hi @chadwilken,
that's a good question. Currently there is no way to add custom scope to finding user, however since version 0.9.1, there's a support for method called active_for_authentication? which you may use to prevent user from logging in - just simply add this method to User class like this:
def active_for_authentication?
  !deleted_at
end

However, if in your case it is possible to create a next account with the same email/login (after one is soft deleted, if user creates a new account, you create new record instead of reusing old on), this will not work, because it's still old user, not new, that will be fetched from database

@arnvald, thanks for the quick reply. I worked around it for now using a default_scope, but it isn't an ideal setup long term. There are rare circumstances where a email can be used twice in the old setup and is causing headaches still :). Maybe if I get some time I can make this contribution.


Deprecation of vim.dagnostic.goto_prev and vim.diagnostic.goto_next

Describe the bug
My neovim config was raising an error which I noticed and looked up:
https://neovim.io/doc/user/deprecated.html
To Reproduce
I do not know if the error was caught using 'Trouble' or one the the built in tools from kickstart, but it's a quick fix.
Once I used 'Trouble', I got a warning on the deprecated code.
1.
Desktop

OS: Ubuntu
Terminal: zsh

Neovim Version
v0.11.0-dev

You're using an unreleased version of neovim which is not yet supported by kickstart.
You may be interested in https://github.com/nvim-lua/kickstart.nvim/pull/936

You can safely remove them, because since 0.10 Neovim maps these keys by default to these actions.

You're using an unreleased version of neovim which is not yet supported by kickstart.

then why this repository's "install instructions for Neovim and dependencies" is to install Neovim through unstable Neovim ppa for Ubuntu if it's not supported: https://github.com/nvim-lua/kickstart.nvim?tab=readme-ov-file#linux-install
which installs v0.11.0-dev
maybe change it to what Neovim repo recommends: https://github.com/neovim/neovim/wiki/Installing-Neovim/921fe8c40c34dd1f3fb35d5b48c484db1b8ae94b#ubuntu

Fixed in #936


Launch with additional dependencies

This --dependency syntax was hallucinated by chatgpt but would be great if it was actually supported for injection of runtime dependencies:
  coursier launch org.flywaydb:flyway-commandline:9.22.0 \
    --dependency org.postgresql:postgresql:42.6.0 \
    -M org.flywaydb.commandline.Main \
    -- info

Ugly workaround:
  coursier launch org.flywaydb:flyway-commandline:9.22.0 \
    --extra-jars "$(coursier fetch org.postgresql:postgresql:42.6.0 --classpath)" \
    -M org.flywaydb.commandline.Main \
    -- info

You can pass several dependencies on the command-line. This should work:
 coursier launch org.flywaydb:flyway-commandline:9.22.0 \
    org.postgresql:postgresql:42.6.0 \
    -M org.flywaydb.commandline.Main \
    -- info

You're right, this is great. Thanks for help!


Fund transaction list only shows debits

I am trying to see when this contributor put the money in their Fund. But the transaction list is only showing debits when they contribute to other Collectives. Why is money coming in missing? Where are the credits?
https://opencollective.com/ford-foundation/transactions

It's not a Fund, it's an Organization. We don't compute their balance and their budget.
If we would, it would be negative as they effectively don't have CREDITs.

Ah ok I was confused


board: stm32_min_dev: Add support for blue/black variant

This patch adds support for two variants of stm32_min_dev board configuration.
This patch reverts changes made in [c50a88] and [fa3af7] while still retaining the change.

Looks like you need to add these platforms to the exclude lists in tests/kernel/interrupt/testcase.yaml & tests/kernel/gen_isr_table/testcase.yaml

@galak, shall I make that as a separate commit or should I rebase and fixup?

@galak, shall I make that as a separate commit or should I rebase and fixup?

a separate commit in the PR is fine.

a separate commit in the PR is fine.
Done.


Add CSS to Homepage

Welcome to Hacktoberfest 2022!
We are open to PR/MR requests once again. If you are new and would like to contribute we ask for an updated HOMEPAGE to be added to the project.
Requirements -

Add CSS Stylesheets
Build a countdown to the Homepage with mobile responsiveness enabled

I can work on this.

I want to work on this

Happy Hacktoberfest @Pranav4399 and @shivam-bhadani!
We have plenty of new issues in the backlog so feel free to get started, and submit a PR!

Hi, I want to Contribute in Your project can you Please Assign my Hacktoberfest PR

Happy Hacktoberfest @minhaj-313!
Thanks for your interest in the project, please submit a PR!
We only accept valid contributions please be sure to read over our README.md  and Contributing Documentation


New version: v0.5.1

@JuliaRegistrator register()

Registration pull request created: JuliaRegistries/General/52656
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.5.1 -m "<description of version>" 675bb0c6af9a934eafb34e643c16a3a568d08ead
git push origin v0.5.1


Change Timer

Hello, is there a way to change the question answer timer/or disable this timer at all?

Currently no--but I guess we coud make this a config option

This is now implemented as a config option!


[alpha] Active button states

In the alpha version, we have a corresponding design token for each button state. At the moment, you can observe the problem associated with the active state of the buttons.

### Tasks
- [ ] Fix design tokens for button active state
- [ ] Make sure all other states (focus, hover, disable) work properly

In the current style implementation for the Button components, we have the following structure for the OpenEdx theme:
.btn-primary {
   --pgn-btn-color: var(--pgn-color-btn-text-primary);
   --pgn-btn-bg: var(--pgn-color-btn-bg-primary);
   --pgn-btn-border-color: var(--pgn-color-btn-border-primary);
   --pgn-btn-hover-color: var(--pgn-color-btn-hover-text-primary);
   --pgn-btn-hover-bg: var(--pgn-color-btn-hover-bg-primary);
   --pgn-btn-hover-border-color: var(--pgn-color-btn-hover-border-primary);
   --pgn-btn-disabled-color: var(--pgn-color-btn-disabled-text-primary);
   --pgn-btn-disabled-bg: var(--pgn-color-btn-disabled-bg-primary);
   --pgn-btn-disabled-border-color: var(--pgn-color-btn-disabled-border-primary);
   --pgn-btn-active-color: var(--pgn-color-btn-active-text-primary);
   --pgn-btn-active-bg: var(--pgn-color-btn-active-bg-primary);
   --pgn-btn-active-border-color: var(--pgn-color-btn-active-border-primary);
   --pgn-btn-focus-outline-color: var(--pgn-color-btn-focus-outline-primary);
   --pgn-btn-focus-color: var(--pgn-color-btn-focus-text-primary);
   --pgn-btn-focus-border-color: var(--pgn-color-btn-focus-border-primary);
   --pgn-btn-focus-bg: var(--pgn-color-btn-focus-bg-primary);

   box-shadow: var(--pgn-elevation-btn-box-shadow-base);
}

The above CSS structure has separate design tokens for each of the states (hover, focus, active). The states are not combined (there are no focus-hover or active-hover options). For example, the behavior of a standard hover is the same as a focus hover.

While investigating problems with the Button component in the Brand OpenEdx theme, I noticed a different implementation of the "state logic" that is present in Buttons in the OpenEdx theme. For example, a button with an outline-brand variant has a hover state (which is displayed as a red background) and also a hover state when using focus (the background of the outline-brand button does not change and is always red).
These features of Button mapping in the OpenEdx and Brand OpenEdx themes conflict with the tokens design structure, the idea of which is to override existing variables (OpenEdx themes).
Based on the previous arguments, I propose to unify the logic of button states between OpenEdx and Brand OpenEdx themes.

PR: https://github.com/edx/brand-edx.org/pull/75


fix: Adjust instrumentation key variable

Adjust the NPE_AI_INSTRUMENTATIONKEY variable to match what's needed by the javascript version of AppInsights.
@clairernovotny We can do this, or make a different variable that uses the required formatting. Which one do you prefer ?

I'll merge it as-is to avoid losing data, We'll adjust later if needed.


type (interface) for schnorrSig and maybe for hash/taggedHash

It would be nice to have stronger types for these values, rather than using byte[]. Not only will this make a safer API, but will also
allow us to add helpful .toString() methods.

PR #85 takes some steps in his direction, but needs more work.


style: add import type for Command component

From issue #1442, I've checked all the components in shadcn by adding all of them into my Astro project and found only Command component to not having type import so I add it. Hope this help.

@peeranat-dan Looks like the code check failed. Can you run pnpm format:write and push again please? Thank you.

@shadcn Done.


Add spaceship loadout screen

Allow players to determine stats about their ships, such as handling, acceleration, color, and name. Allow players to save their ships.
This should be built later rather than sooner, so it can easily be integrated with scoring systems and new mechanics (like making the gun useful somehow).
The logic for creating a ship is already there, so the main time consumer here will be designing the layout and UI elements to make this happen.

Specifically, we want to start by merging the PlayerShip and SpaceStation classes into the same underlying logic, since space stations have a much better customization system (StationLayoutContext).


Fields: relationship column

Lets change the nested relationship column from
Field::make('author')->relation('name')

to dot syntax like other places in the code
Field::make('author.name')->relation()

@dillingham I think with dot syntax support, even if we don't specify ->relation(), it will still work. so simple,
Field::make('author.name');

should still work.

@mitulgolakiya thanks for mentioning that.. what way do you personally think is cleaner?
Field::make('author')->related('name')->rules('required'),
Field::make('post_author_name', 'author')->related('name')->rules('required'),

Field::make('author.name')->rules('required'),
Field::make('post_author_name', 'author.name')->rules('required'),

I guess relation() doesn't really need to exist huh? 🤔


Implement DHCP server support

Success Criteria:
Agent support DHCP programming and allow VMs/Containers to receive the assigned IP address through DHCP.
Details:
We need to implement the DHCP support in OpenStack environment, taking over the responsibility of neutron DHCP agent. This tasks includes:

Close down on the current DHCP design draft document #96 - Done: https://github.com/futurewei-cloud/alcor-control-agent/blob/master/docs/dhcp_programming.adoc
Modify the current Alcor network state message to support DHCP programming - Done: PR: futurewei-cloud/alcor#193
Implement the DHCP programming interface according to the design
Implement DHCP handler class to work with openflow and act as DHCP server
Unit testing
End to End test plan and scenario testing
Scale and perf analysis

Item 1 is done. Design doc link: https://github.com/futurewei-cloud/alcor-control-agent/blob/master/docs/dhcp_programming.adoc

Item 2 is under review: https://github.com/futurewei-cloud/alcor/pull/193

I'm interesting in this issue, and I have some experence in network stack developing. May this issue assigned to me? Thanks.

@w2520n2520 Absolutely, and thank you! This issue has been assigned.

Update to Item 2: PR https://github.com/futurewei-cloud/alcor/pull/193 has been merged to alcor/master.

Hi Liguang and Eric,
I didn't find the packet parsing if in the interface class and neither from the arch diagram. So whether this dhcp server need to handle scenarios for incoming packet from network? Naive question. Thanks.
@xieus @er1cthe0ne

Hi Liguang and Eric,
I didn't find the packet parsing if in the interface class and neither from the arch diagram. So whether this dhcp server need to handle scenarios for incoming packet from network? Naive question. Thanks.
@xieus @er1cthe0ne

Hi @w2520n2520 - you asked the right question and on the right track. This dhcp server needs to intercept the dhcp packets using openflow rules, parse it and reply with DHCP_OFFER and later DHCP_ACK message. More information is available in the reference session in the design doc: https://github.com/futurewei-cloud/alcor-control-agent/blob/master/docs/dhcp_programming.adoc

Running alcor-control-agent and tests
You can run the test (optional):
root@ca62b6feec63:/mnt/host/code/alcor-control-agent# ./build/tests/aca_tests

When building you may encounter for "libgtest.so can't open or doesn't exist" issue, please refer https://blog.csdn.net/bocksong/article/details/93207753  to resolve.

Running alcor-control-agent and tests
You can run the test (optional):
root@ca62b6feec63:/mnt/host/code/alcor-control-agent# ./build/tests/aca_tests

When building you may encounter for "libgtest.so can't open or doesn't exist" issue, please refer https://blog.csdn.net/bocksong/article/details/93207753 to resolve.

Did you encounter this issue of "libgtest.so can't open or doesn't exist"? The intent is to run aca_tests inside the build container which has all the dependency setup already.

Followed build and execution

Running alcor-control-agent and tests
You can run the test (optional):
root@ca62b6feec63:/mnt/host/code/alcor-control-agent# ./build/tests/aca_tests

When building you may encounter for "libgtest.so can't open or doesn't exist" issue, please refer https://blog.csdn.net/bocksong/article/details/93207753 to resolve.

Did you encounter this issue of "libgtest.so can't open or doesn't exist"? The intent is to run aca_tests inside the build container which has all the dependency setup already.

Well, build and test should be executed in the generated docker "a1", my misunderstanding.
I can got 18 tests passed but still fail to run the bin.

Followed build and execution

Running alcor-control-agent and tests
You can run the test (optional):
root@ca62b6feec63:/mnt/host/code/alcor-control-agent# ./build/tests/aca_tests

When building you may encounter for "libgtest.so can't open or doesn't exist" issue, please refer https://blog.csdn.net/bocksong/article/details/93207753 to resolve.

Did you encounter this issue of "libgtest.so can't open or doesn't exist"? The intent is to run aca_tests inside the build container which has all the dependency setup already.

Well, build and test should be executed in the generated docker "a1", my misunderstanding.
I can got 18 tests passed but still fail to run the bin.

Seeing 18 tests passed on the unit/functional test is good enough for now. What kind of error do you see when you run ./build/bin/AlcorControlAgent? It will try to connect to kafka so those error maybe expected if kafka was not setup.
The next step on DHCP implementation is to develop a standalone DHCP application based on this design. We can do the integration to AlcorControlAgent later.

Thanks

Followed build and execution

Running alcor-control-agent and tests
You can run the test (optional):
root@ca62b6feec63:/mnt/host/code/alcor-control-agent# ./build/tests/aca_tests

When building you may encounter for "libgtest.so can't open or doesn't exist" issue, please refer https://blog.csdn.net/bocksong/article/details/93207753 to resolve.

Did you encounter this issue of "libgtest.so can't open or doesn't exist"? The intent is to run aca_tests inside the build container which has all the dependency setup already.

Well, build and test should be executed in the generated docker "a1", my misunderstanding.
I can got 18 tests passed but still fail to run the bin.

Seeing 18 tests passed on the unit/functional test is good enough for now. What kind of error do you see when you run ./build/bin/AlcorControlAgent? It will try to connect to kafka so those error maybe expected if kafka was not setup.
The next step on DHCP implementation is to develop a standalone DHCP application based on this design. We can do the integration to AlcorControlAgent later.

Thanks Eric. Just trying to build up my working ground here.

Hi Eric,
One question below:
int Aca_Comm_Manager::update_goal_state(GoalState &parsed_struct,                                         GoalStateOperationReply &gsOperationReply) { update_vpc_states(); update_subnet_states(); update_port_states(); update_dhcp_states();  //to be }
So these resources will always be updates together? Any chance they can be updated independently?  Thanks. @er1cthe0ne

Hi Eric,
One question below:
int Aca_Comm_Manager::update_goal_state() { update_vpc_states(); update_subnet_states(); update_port_states(); update_dhcp_states(); //to be }
So these resources will always be updates together? Any chance they can be updated independently? Thanks. @er1cthe0ne

Hi Nan Wu,
Good question, the GoalState message contains:

0 to N vpc_states
0 to N subnet_states
0 to N port_states
0 to N security_group_states
0 to N dhcp_states

Aca_Comm_Manager will try to update the whole GoalState in an efficient manner.
For DHCP create, the likely GoalState message would look like:

1 port_states, OperationType::CREATE - create/configure a new port
1 dhcp_states, OperationType::CREATE - create the DHCP info for the new port

Or DHCP update, it could look like:

1 dhcp_states, OperationType::UPDATE - update the DHCP info for a port

Does it make sense? Let me know if you have other questions. @w2520n2520

The next step on DHCP implementation is to develop a standalone DHCP application based on this design. We can do the integration to AlcorControlAgent later.

Hi Nan Wu,
Do you think you can have the standalone DHCP application available in a few weeks? It would be great if we can complete the integration into AlcorControlAgent by the month of June. @w2520n2520

The next step on DHCP implementation is to develop a standalone DHCP application based on this design. We can do the integration to AlcorControlAgent later.

Hi Nan Wu,
Do you think you can have the standalone DHCP application available in a few weeks? It would be great if we can complete the integration into AlcorControlAgent by the month of June. @w2520n2520

Hi Nan Wu,
Checking in here. Do you think we can meet the target of June to have a standalone DHCP application based on this design and integrate it with AlcorControlAgent? Let me know. @w2520n2520

Hi Eric,
I'm trying to meet that goal. I'll keep updating you.

Hi Nan Wu,
Checking in here and see if there is anything I can help. Maybe we can breakdown the standalone DHCP application task into smaller pieces? e.g.:

basic framework on the application, command line parsing but doesn't need to be fancy.
Implement DHCP handler class inherit from Dhcp_Programming_Interface in https://github.com/futurewei-cloud/alcor-control-agent/blob/master/include/aca_dhcp_programming_if.h
program the openflow rule to route DHCP packets into and out of the DHCP application
parsing of the input parameter (comes from goalstate message) to DHCP handler class
determine the needed DHCP actions within the DHCP application
unit test infrastructure and test cases

How does it sound? @w2520n2520

Hi Nan Wu,
Checking in here and see if there is anything I can help. Maybe we can breakdown the standalone DHCP application task into smaller pieces? e.g.:

basic framework on the application, command line parsing but doesn't need to be fancy.
Implement DHCP handler class inherit from Dhcp_Programming_Interface in https://github.com/futurewei-cloud/alcor-control-agent/blob/master/include/aca_dhcp_programming_if.h
program the openflow rule to route DHCP packets into and out of the DHCP application
parsing of the input parameter (comes from goalstate message) to DHCP handler class
determine the needed DHCP actions within the DHCP application
unit test infrastructure and test cases

How does it sound? @w2520n2520
Hi Eric,
Actually I've done about 4th item, dhcp handler part. I'm working on the 2nd and 3rd items. But i have doubts on them.
Per my understanding, here is the code flow for state msg: consumer->comm_mgr-->update_goal-->dhcp_state_handler(newly_added)-->dhcp_prog_if----------------->dhcp_server
Q1: How should i put dhcp_server? Should it be in a independent thread or run in the same one with aca_main?(maybe not a good idea)
Q2: How is like the code flow for 3rd item? Didn't find the if for packet_in under current src dir.
I may need your help here.
Thanks.

Hi Nan Wu,
Thanks for the questions, I will answer it one by one. Do let me know if you have other questions.

Should it be in a independent thread
Great question, it should be independent thread spin up by aca_main. We will implement it during integration with DHCP standalone app into ACA.

About the "??"
After integration, the DHCP code will be part of ACA running in another thread, so no RPC is needed. You can check out https://github.com/futurewei-cloud/alcor-control-agent/blob/164a8a7cbad1f3b46c0d0592d11df875f192326d/include/aca_dataplane_ovs.h as an example to how to consume an ACA programming interface.

network dhcp-server will be on different node
It will by driven by ACA running on that node in the future, so same communication flow from Alcor controller which sends down goal state message to ACA.

How is like the code flow for 3rd item?
Can you tell me which specific code flow? I want to give you the right information. Are you talking about the openflow rule programming, or how to provide the right DHCP response back to the VM?

Thanks,
Eric

Hi Eric,
Thanks for the reply.
Still have further questions, may need more your time, trying to understand the design here. :)

Should it be in a independent thread
Great question, it should be independent thread spin up by aca_main. We will implement it during integration with DHCP standalone app into ACA.

[Nan]: OK. I thought i was supposed to start from here. We can do it later.

network dhcp-server will be on different node
It will by driven by ACA running on that node in the future, so same communication flow from Alcor controller which sends down goal state message to ACA.

[Nan]: No, I mean the packet_in flow here instead of the control message flow(goal state).  In the dhcp design doc, it mentioned openflow table rules will be used to transfer dhcp packets to dhcp-server. The question is if the dataplane is mizar, there will be no openflow tables right? Another one is, if openflow table is used, there will be two flows--one for local dhcp-server, the other is for network-dhcp-server with low priority. When the local one fails, so should its corresponding flow, so packet will be transfer to the network one.
Is this understanding correct? Still confused about the packet_in_handler flow here.

How is like the code flow for 3rd item?
Can you tell me which specific code flow? I want to give you the right information. Are you talking about the openflow rule programming, or how to provide the right DHCP response back to the VM?

[Nan]: Yes, about the openflow rule programming part.

Hi Nan Wu,

Still have further questions, may need more your time, trying to understand the design here. :)
No problem, feel free to ask :)

Another one is, if openflow table is used, there will be two flows--one for local dhcp-server, the other is for network-dhcp-server with low priority. When the local one fails, so should its corresponding flow, so packet will be transfer to the network one.

The current focus is OVS dataplane, and the current design only support one dataplane per host.
The backup network-dhcp-server is used when local ACA is down, and it didn't have a chance to setup the local-dhcp-server flow. In the event if ACA exit gracefully, it should remove the local-dhcp-server flow. If ACA exit unexpectedly, it will try to restart a few times and if ACA really cannot get back to running state. Alcor controller would detect it and perform corrective actions.
In summary, I am not sure how both local-dhcp-server and network-dhcp-server flow works at the same time since one of them will be used based on priority. Unless we set a timeout on local-dhcp-server flow but then ACA will need to keep renewing it.

Still confused about the packet_in_handler flow here.
Did I answer your question above? Let me know.

[Nan]: Yes, about the openflow rule programming part.
Ok, please go ahead and execute system call for now (see execute_system_command). ACA will be adding better openflow client support in the future (per current design) and then DHCP code can leverage that when ready.

Hope all of them make sense to you.
BTW, once you have some code implemented, it will be great to send a PR so that we can look at and discuss if needed. @w2520n2520

More information on packet_in_handler flow. In order to have DHCP packets send to ACA, we will need to implement an openflow controller, and have an openflow rule send the matched DHCP packets to openflow controller, that's ACA in our case.
We may use something similar to ovs-ofctl implementation, which acks as an openflow controller. Below  is an experiment to show that it should work:
root@fw0016589:~# ping -I <IP_ADDRESS> -c1 <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) from <IP_ADDRESS> : 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=64 time=0.348 ms
Br-int is letting all the traffic go now:
root@fw0016589:~# ovs-ofctl dump-flows br-int
cookie=0x0, duration=699.025s, table=0, n_packets=140, n_bytes=15059, priority=0 actions=NORMAL
Adding new openflow rule to send all packet to CONTROLLER, that’s ovs-ofctl for this case:
root@fw0016589:~# ovs-ofctl add-flow br-int "table=0, priority=100, actions=CONTROLLER"
root@fw0016589:~# ovs-ofctl dump-flows br-int
cookie=0x0, duration=786.163s, table=0, n_packets=140, n_bytes=15059, priority=0 actions=NORMAL
cookie=0x0, duration=4.482s, table=0, n_packets=0, n_bytes=0, priority=100 actions=CONTROLLER:65535
Ping doesn’t work anymore because the packets has been sent to CONTROLLER!
root@fw0016589:~# ping -I <IP_ADDRESS> -c1 <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) from <IP_ADDRESS> : 56(84) bytes of data.
--- <IP_ADDRESS> ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms
Printed out by ovs-ofctl!
root@fw0016589:~# ovs-ofctl monitor br-int 1
NXT_PACKET_IN2 (xid=0x0): cookie=0x0 total_len=98 in_port=int0 (via action) data_len=98 (unbuffered)
icmp,vlan_tci=0x0000,dl_src=ee:c3:0f:ee:c3:46,dl_dst=36:f2:97:d5:3a:b9,nw_src=<IP_ADDRESS>,nw_dst=<IP_ADDRESS>,nw_tos=0,nw_ecn=0,nw_ttl=64,icmp_type=8,icmp_code=0 icmp_csum:947d
NXT_PACKET_IN2 (xid=0x0): cookie=0x0 total_len=42 in_port=int0 (via action) data_len=42 (unbuffered)
arp,vlan_tci=0x0000,dl_src=ee:c3:0f:ee:c3:46,dl_dst=36:f2:97:d5:3a:b9,arp_spa=<IP_ADDRESS>,arp_tpa=<IP_ADDRESS>,arp_op=1,arp_sha=ee:c3:0f:ee:c3:46,arp_tha=00:00:00:00:00:00
NXT_PACKET_IN2 (xid=0x0): cookie=0x0 total_len=42 in_port=int0 (via action) data_len=42 (unbuffered)
arp,vlan_tci=0x0000,dl_src=ee:c3:0f:ee:c3:46,dl_dst=36:f2:97:d5:3a:b9,arp_spa=<IP_ADDRESS>,arp_tpa=<IP_ADDRESS>,arp_op=1,arp_sha=ee:c3:0f:ee:c3:46,arp_tha=00:00:00:00:00:00
NXT_PACKET_IN2 (xid=0x0): cookie=0x0 total_len=42 in_port=int0 (via action) data_len=42 (unbuffered)
arp,vlan_tci=0x0000,dl_src=ee:c3:0f:ee:c3:46,dl_dst=36:f2:97:d5:3a:b9,arp_spa=<IP_ADDRESS>,arp_tpa=<IP_ADDRESS>,arp_op=1,arp_sha=ee:c3:0f:ee:c3:46,arp_tha=00:00:00:00:00:00
OFPT_ECHO_REQUEST (xid=0x0): 0 bytes of payload
The flow rules shows that the packets is going to CONTROLLER:
root@fw0016589:~# ovs-ofctl dump-flows br-int
cookie=0x0, duration=979.012s, table=0, n_packets=140, n_bytes=15059, priority=0 actions=NORMAL
cookie=0x0, duration=197.331s, table=0, n_packets=8, n_bytes=420, priority=100 actions=CONTROLLER:65535
@w2520n2520 - let me know if you have question on the approach or have a better suggestion.

Hi Nan Wu,
Let me know if you have any outstanding questions. It will be good if you can join the Alcor community meeting tomorrow to discuss and sync up on the progress. @w2520n2520

Hi Nan Wu,
Just checking to see how is the work going? Let me know if you have any questions. @w2520n2520

Hi Eric,
I've submit a PR. Maybe you can help review it and give some suggestion.
Thank you.
@er1cthe0ne

@w2520n2520 - one of the action item is for your code to provide an interface to be called when ACA received a DHCP DISCOVERY or REQUEST packet. We have a community call scheduled today, let me know if you want to join to discuss.

Hi @er1cthe0ne @cj-chung
One question: Shoud OVS_Controller use dhcp_programming_if to call dhcps_recv?
I mean shoudl dhcp_programming_if encapulate calling from dataplane the same as management plane?

Hi @cj-chung @er1cthe0ne ,
Added dhcp openflow rule procedure.
Here is the API James may use: ACA_Dhcp_Server::get_instance().dhcps_recv(dhcp_payload)

Hi @er1cthe0ne @cj-chung
One question: Shoud OVS_Controller use dhcp_programming_if to call dhcps_recv?
I mean shoudl dhcp_programming_if encapulate calling from dataplane the same as management plane?

yes, please use dhcp_programming_if as the interface for other modules to communicate.

Hi @cj-chung @er1cthe0ne ,
Added dhcp openflow rule procedure.
Here is the API James may use: ACA_Dhcp_Server::get_instance().dhcps_recv(dhcp_payload).

Will let @cj-chung to point out where is change the code to call the DHCP code above. The idea is to let @w2520n2520 make that change in this PR :)

@cj-chung , please guid me to build the whole project locally.
Shoud i re-generate the makefile use CMake then make it?

To build it inside the docker container, the dockerfile should have all the necessary steps to get all the depencenies during container creation: https://github.com/futurewei-cloud/alcor-control-agent/blob/master/build/Dockerfile
To build it on a physical machine or VM, take a look at the machine bring up script, you can run all the steps except the last step 8 and 9: https://github.com/futurewei-cloud/alcor-control-agent/blob/master/build/aca-machine-init.sh

Hi @cj-chung @er1cthe0ne ,
Added dhcp openflow rule procedure.
Here is the API James may use: ACA_Dhcp_Server::get_instance().dhcps_recv(dhcp_payload).

Will let @cj-chung to point out where is change the code to call the DHCP code above. The idea is to let @w2520n2520 make that change in this PR :)

@cj-chung , please guid me to build the whole project locally.
Shoud i re-generate the makefile use CMake then make it?

To build it inside the docker container, the dockerfile should have all the necessary steps to get all the depencenies during container creation: https://github.com/futurewei-cloud/alcor-control-agent/blob/master/build/Dockerfile
To build it on a physical machine or VM, take a look at the machine bring up script, you can run all the steps except the last step 8 and 9: https://github.com/futurewei-cloud/alcor-control-agent/blob/master/build/aca-machine-init.sh

I think @er1cthe0ne has replied most of questions. For the place in the aca_ovs_control.cpp to call dhcp_server, you can modify the codes between #205-#221 in the aca_ovs_control.cpp. The payload in the #210 is the udp (dhcp) payload. You can just call ACA_Dhcp_Server::get_instance().dhcps_recv(payload) here and send the payload to the function.

Hi @cj-chung ,
Please have a look at error below, how did this come? No change since 10 July.
[ 95%] Linking CXX executable ../build/tests/aca_tests
../src/libAlcorControlAgentLib.a(aca_ovs_control.cpp.o): In function aca_ovs_control::ACA_OVS_Control::control()': /mnt/host/code/src/ovs/aca_ovs_control.cpp:59: undefined reference to g_ofctl_target[abi:cxx11]'
/mnt/host/code/src/ovs/aca_ovs_control.cpp:60: undefined reference to g_ofctl_target[abi:cxx11]' /mnt/host/code/src/ovs/aca_ovs_control.cpp:60: undefined reference to g_ofctl_target[abi:cxx11]'
/mnt/host/code/src/ovs/aca_ovs_control.cpp:61: undefined reference to g_ofctl_target[abi:cxx11]' /mnt/host/code/src/ovs/aca_ovs_control.cpp:63: undefined reference to g_ofctl_options[abi:cxx11]'
/mnt/host/code/src/ovs/aca_ovs_control.cpp:64: undefined reference to g_ofctl_options[abi:cxx11]' /mnt/host/code/src/ovs/aca_ovs_control.cpp:64: undefined reference to g_ofctl_options[abi:cxx11]'
/mnt/host/code/src/ovs/aca_ovs_control.cpp:65: undefined reference to g_ofctl_options[abi:cxx11]' /mnt/host/code/src/ovs/aca_ovs_control.cpp:67: undefined reference to g_ofctl_command[abi:cxx11]'
/mnt/host/code/src/ovs/aca_ovs_control.cpp:69: undefined reference to g_ofctl_command[abi:cxx11]' /mnt/host/code/src/ovs/aca_ovs_control.cpp:71: undefined reference to g_ofctl_command[abi:cxx11]'

Hi @cj-chung ,
Please have a look at error below, how did this come? No change since 10 July.
[ 95%] Linking CXX executable ../build/tests/aca_tests
../src/libAlcorControlAgentLib.a(aca_ovs_control.cpp.o): In function aca_ovs_control::ACA_OVS_Control::control()': /mnt/host/code/src/ovs/aca_ovs_control.cpp:59: undefined reference to g_ofctl_target[abi:cxx11]'
/mnt/host/code/src/ovs/aca_ovs_control.cpp:60: undefined reference to g_ofctl_target[abi:cxx11]' /mnt/host/code/src/ovs/aca_ovs_control.cpp:60: undefined reference to g_ofctl_target[abi:cxx11]'
/mnt/host/code/src/ovs/aca_ovs_control.cpp:61: undefined reference to g_ofctl_target[abi:cxx11]' /mnt/host/code/src/ovs/aca_ovs_control.cpp:63: undefined reference to g_ofctl_options[abi:cxx11]'
/mnt/host/code/src/ovs/aca_ovs_control.cpp:64: undefined reference to g_ofctl_options[abi:cxx11]' /mnt/host/code/src/ovs/aca_ovs_control.cpp:64: undefined reference to g_ofctl_options[abi:cxx11]'
/mnt/host/code/src/ovs/aca_ovs_control.cpp:65: undefined reference to g_ofctl_options[abi:cxx11]' /mnt/host/code/src/ovs/aca_ovs_control.cpp:67: undefined reference to g_ofctl_command[abi:cxx11]'
/mnt/host/code/src/ovs/aca_ovs_control.cpp:69: undefined reference to g_ofctl_command[abi:cxx11]' /mnt/host/code/src/ovs/aca_ovs_control.cpp:71: undefined reference to g_ofctl_command[abi:cxx11]'

@w2520n2520 just checking, did you change aca_tests.cpp? Somehow I don't see this error in my environment.

No. I have doubt too.

@w2520n2520 Did you see these error messages in your local environment when you compile it? If you have latest aca build in your local, it shouldn't have any aca_ovs_control function calls in /tests/gtests/aca_tests.cpp.
If you cannot bypass it, you can just add those global variables in /tests/gtests/aca_tests.cpp like:
string g_ofctl_command = EMPTY_STRING;
string g_ofctl_target = EMPTY_STRING;
string g_ofctl_options = EMPTY_STRING;

@w2520n2520 - we have a open source meeting scheduled: Monday, Aug 17, 2020 06:30 PM Pacific Time (US and Canada), you are welcome to join and raise any questions you may have.

@w2520n2520 Did you see these error messages in your local environment when you compile it? If you have latest aca build in your local, it shouldn't have any aca_ovs_control function calls in /tests/gtests/aca_tests.cpp.
If you cannot bypass it, you can just add those global variables in /tests/gtests/aca_tests.cpp like:
string g_ofctl_command = EMPTY_STRING;
string g_ofctl_target = EMPTY_STRING;
string g_ofctl_options = EMPTY_STRING;

I think this is the reason:

If you get linker errors about undefined references to symbols that involve types in the std::__cxx11 namespace or the tag [abi:cxx11] then it probably indicates that you are trying to link together object files that were compiled with different values for the _GLIBCXX_USE_CXX11_ABI macro. This commonly happens when linking to a third-party library that was compiled with an older version of GCC. If the third-party library cannot be rebuilt with the new ABI then you will need to recompile your code with the old ABI.
https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html

Solving:
https://stackoverflow.com/questions/55406770/gcc-undefined-references-with-abicxx11
But need cmake minimal version 3.12.4. Tried this in CMakeLists.txt but the CI ENV seems unable to satisfy (3.10.2)
Any idea?  @er1cthe0ne @cj-chung

@w2520n2520 - allow me to suggest a few things, let me know if that make sense.
First thing is to setup a local compiling environment:
https://github.com/futurewei-cloud/alcor-control-agent/blob/master/src/README.md
cd ~/dev/alcor-control-agent
./build/build.sh
Once you have the build container setup, you can enter the docker container and rebuild ACA anytime:
docker exec -it a1 /bin/bash
cd /mnt/host/code && cmake . && make
If we don't want to use containers to build, an alternate approach is to setup the physical machine for building and running, please see ./build/aca-machine-init.sh on how to setup the dependencies
Since @chenpiaoping is looking into ACA, maybe he can give a hand on it.
Once you have the local build setup, we can resolve the issues quickly. If there is a need to update the cmake version on our CI to 3.12.4, we can make that modification in our CI environment assuming that's the solution to resolve all the compiling issues.

Tried in local env, same issue.

Tried in local env, same issue.

Let's update your local environment's cmake version to 3.12.4 or higher, apply the fix you tried previously on CMakeLists.txt and see if that would address the issues. Please show us the error message so that we can take a look.

-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11")
-- Using protobuf
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found version "1.1.1")
-- Using gRPC 1.24.3
-- Found Protobuf: /usr/local/lib/libprotobuf.a;-lpthread (found version "3.8.0")
-- Found Threads: TRUE
-- Found Protobuf: /usr/local/bin/protoc-<IP_ADDRESS> (found version "<IP_ADDRESS>")
-- Using protobuf
-- Using gRPC 1.24.3
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Using protobuf
-- Using gRPC 1.24.3
-- Found GTest: /usr/local/lib/libgtest.so
-- Configuring done
-- Generating done
-- Build files have been written to: /mnt/host/code
[  2%] Generating goalstateprovisioner.pb.cc, goalstateprovisioner.pb.h, goalstateprovisioner.grpc.pb.cc, goalstateprovisioner.grpc.pb.h
Scanning dependencies of target grpc
[  4%] Building CXX object src/grpc/CMakeFiles/grpc.dir/goalstateprovisioner.pb.cc.o
:0:1: error: macro names must be identifiers
src/grpc/CMakeFiles/grpc.dir/build.make:94: recipe for target 'src/grpc/CMakeFiles/grpc.dir/goalstateprovisioner.pb.cc.o' failed
make[2]: *** [src/grpc/CMakeFiles/grpc.dir/goalstateprovisioner.pb.cc.o] Error 1
CMakeFiles/Makefile2:262: recipe for target 'src/grpc/CMakeFiles/grpc.dir/all' failed
make[1]: *** [src/grpc/CMakeFiles/grpc.dir/all] Error 2
Makefile:102: recipe for target 'all' failed
make: *** [all] Error 2

Hi @w2520n2520 and @gure,
I was able to get your branch to compile, please see the below steps.

Revert the change in CMakeList.txt so that it look like this:
cmake_minimum_required(VERSION 3.10)
project(AlcorControlAgent)

Set the version number.
set(CMAKE_BUILD_TYPE Debug)
set(CMAKE_CXX_STANDARD 14)
set(CPPKAFKA_VERSION_MAJOR 0)
set(CPPKAFKA_VERSION_MINOR 3)
set(CPPKAFKA_VERSION_REVISION 1)
set(CPPKAFKA_VERSION "${CPPKAFKA_VERSION_MAJOR}.${CPPKAFKA_VERSION_MINOR}.${CPPKAFKA_VERSION_REVISION}")
set(RDKAFKA_MIN_VERSION 0x00090400)
#add_compile_options(-O0) # enable no optimization during development
add_compile_options(-Wall)
#add_compile_definitions(-D_GLIBCXX_USE_CXX11_ABI=0)
add_subdirectory(src)
add_subdirectory(test)

add the below global variables under test/gtest/aca_tests.cpp and test/func_tests/gs_test.cpp as mentioned previously:
string g_ofctl_command = EMPTY_STRING;
string g_ofctl_target = EMPTY_STRING;
string g_ofctl_options = EMPTY_STRING;

run "cmake ." and then make:
root@28abfb290c2e:/mnt/host/code/aca-dhcp# make
[  8%] Built target grpc
[ 54%] Built target proto
[ 86%] Built target AlcorControlAgentLib
[ 91%] Built target AlcorControlAgent
[ 95%] Built target aca_tests
Scanning dependencies of target gs_tests
[ 97%] Building CXX object test/CMakeFiles/gs_tests.dir/func_tests/gs_tests.cpp.o
[100%] Linking CXX executable ../build/tests/gs_tests
[100%] Built target gs_tests

Hi @er1cthe0ne , @Gzure
Adding g_ofctl_command  to both gtest and functest makes the compilation work.
I may figure out aca_test coudl report this issue:

Executable aca_test depends on AlcorControlAgentLib which compile source file including aca_ovs_control, which has declaration of g_ofctl_command.
Linking error was delayed until executable aca_test  was linked and resolved.
Executable AlcorControlAgent was ok because the it contained the g_ofctl_command  definition.

Would it be possible that g_ofctl_command  is self-contained inside AlcorControlAgentLib since it is a lib?

I am thinking about to remove it, on issue #120 number 4 point, I am suggesting to remove g_ofctl_command since we may not need it.

All related unit test passed. Request to merge. @er1cthe0ne @cj-chung

@w2520n2520 @gure, please reference to this script for physical machine setup of ACA:
https://github.com/futurewei-cloud/alcor-control-agent/blob/master/build/aca-machine-init.sh

Hi @er1cthe0ne
ovs_control.packet_in
-->
monitor_vconn
--> monitor
-->control() ----------> has no caller
@Gzure and I do this for testing:
#ACA_OVS_Control::get_instance().monitor("br-tun", "resume");
ACA_OVS_Control::get_instance().monitor("br-int", "resume");
And B.T.W, why only one monitor is allowed?

Hi @er1cthe0ne
ovs_control.packet_in
-->
monitor_vconn
--> monitor
-->control() ----------> has no caller

Hi @w2520n2520, I am not sure I understand the concern. Can you tell me what is your question?

And B.T.W, why only one monitor is allowed?

This could be a limitation based on the OVS code we use, but I don't think it is a blocking issue because we would only monitor br-int for the scenarios we defined. @cj-chung to correct me if I am wrong.

`
1.
void ACA_OVS_Control::parse_packet(void *packet)
{
aca_dhcp_server::ACA_Dhcp_Server::get_instance().dhcps_recv()
}

void OVS_Control::monitor_vconn()
{
ACA_OVS_Control::get_instance().parse_packet(pin.packet)
}

void OVS_Control::monitor(const char *bridge, const char *opt)
{
monitor_vconn(vconn, true, resume_continuations, bridge)
}
4.1
int ACA_OVS_Control::control()
{
monitor(target, options);
}
4.2
int main()
{
ACA_OVS_Control::get_instance().monitor("br-tun", "resume");
}
`
Since we didn't find the caller of control so we change the entrance in main to br-int to debug packet procedure.

pin.packet

Hi @cj-chung ,
One question:
For packet-out procedure, we observe br-tun's TX keeps increasing but no packet seen in tcp-dump. So we changed actions to "output:8" but no luck.
The calling of below has no error.
error = parse_ofp_packet_out_str(&po, options,
                                         ports_to_accept(bridge),
                                         tables_to_accept(bridge),
                                         &usable_protocols);

Whether another flow should be installed for packet-replying-from-server-to-client?
//bridge = "br-int" opts = "in_port=controller packet=<hex-string> actions=normal"
aca_ovs_control::ACA_OVS_Control::get_instance().packet_out(bridge.c_str(),
                                                              options.c_str());

In a word, we have no error seen in code flow now but no packet-out observed on network. We may use your help to figure it out. Thanks.  @Gzure @er1cthe0ne

Hi @cj-chung ,
One question:
For packet-out procedure, we observe br-tun's TX keeps increasing but no packet seen in tcp-dump. So we changed actions to "output:8" but no luck.
The calling of below has no error.
error = parse_ofp_packet_out_str(&po, options,
                                         ports_to_accept(bridge),
                                         tables_to_accept(bridge),
                                         &usable_protocols);

Whether another flow should be installed for packet-replying-from-server-to-client?
//bridge = "br-int" opts = "in_port=controller packet=<hex-string> actions=normal"
aca_ovs_control::ACA_OVS_Control::get_instance().packet_out(bridge.c_str(),
                                                              options.c_str());

In a word, we have no error seen in code flow now but no packet-out observed on network. We may use your help to figure it out. Thanks. @Gzure @er1cthe0ne

The "actions" indicates where the packet sent to, so you can specify actions=controller, and use tcpdump to capture packets on br-tun or br-int, you should able to see the packet on these bridges.

Hi @cj-chung @er1cthe0ne ,

Packet-Out Syntax
packet=hex-string
The  actual packet to send, expressed as a string of hexadecimal
bytes.  This field is required.

It seems this command only send "actual packet" which means dhcp needs to encap the whole packet from app-to-eth instead of dhcp payload.
Am I right?

Hi @cj-chung @er1cthe0ne ,

Packet-Out Syntax
packet=hex-string
The  actual packet to send, expressed as a string of hexadecimal
bytes.  This field is required.
http://www.openvswitch.org/support/dist-docs/ovs-ofctl.8.txt

It seems this command only send "actual packet" which means dhcp needs to encap the whole packet from app-to-eth instead of dhcp payload.
Am I right?

@w2520n2520 Yes. You need a whole packet for the hex string. Since I just directly send the packet string to OVS.


fix(vue-app): avoid multiple $fetch calls

Types of changes

[x] Bug fix (a non-breaking change which fixes an issue)
[ ] New feature (a non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description

Co-authored-by: Aster<EMAIL_ADDRESS>fixes #7107. closes #7108.

Ensure lifecycle hooks registering once
Ensure only one fetch promise is active per component instance

Checklist:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly. (PR: #)
[ ] I have added tests to cover my changes (if not applicable, please state why)
[ ] All new and existing tests are passing.

Codecov Report

Merging #7129 into dev will not change coverage by %.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              dev    #7129   +/-   ##
=======================================
  Coverage   62.69%   62.69%
=======================================
  Files          84       84
  Lines        3394     3394
  Branches      926      926
=======================================
  Hits         2128     2128
  Misses       1018     1018
  Partials      248      248

Flag
Coverage Δ

#unittests
62.69% <ø> (ø)

Continue to review full report at Codecov.

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

I am seeing this issue even after updating https://github.com/nuxt/nuxt.js/issues/7191

@tarunmangukiya As per https://github.com/nuxt/nuxt.js/issues/7191#issuecomment-611371464 do you still have this issue?

The issue has been resolved. That was Cloudflare Proxy issue.
I'll deploy it to live in a day or two. And we'll be able to see new fetch APIs in action. :)


Added panic message to docs.

Which issue does this PR close?
N/A
Rationale for this change
Schema::field does not indicate that it panics in the current docs. It does panic though (not that this is particularly surprising!).
Here's an example that will panic:
use arrow::datatypes::SchemaBuilder;
fn main() {
    let mut builder = SchemaBuilder::new();
    let schema = builder.finish();
    let my_field = schema.field(2); // <-- Panics here because index OOB.
}

What changes are included in this PR?
Just a docstring.
Are there any user-facing changes?
Nope, but perhaps in future, field should either return a result, or we add a try_field function that returns a result (to prevent people needing to change  code  relying on Schema::field  already)

(also, I know it's a tiny change but this is my first contribution on any open-source project ever! 😄 )

Thanks @paddyhoran  and @SeeRightThroughMe


After some time, "recording audioProcess has exited with code = 0"

I am using this package to capture audio input for days on end. It seems after a few hours it quits.
With debug set to true I see this error in the log,

recording audioProcess has exited with code = 0

Anyone else run in to this issue?

This seems to happen consistently after around 111851xx milliseconds of capture. A little over three hours.

I'm having this same issue. It exits, consistently, at 1 hr, 33 mins, and 12 seconds. That's also 5592 seconds, or of course 5,592,000 ms, which is basically half of your 111851xx ms number, which I find interesting. My recording options are 2 channels, 32-bit, 48000 Hz, signed integer, little endian.
Have you found a resolution to this issue? I am starting to think it is an issue with the arecord executable that this code is calling.

@cmvee I've been meaning to look into this issue, thanks for reminding me.
Just curious what distro are you using and what version of arecord is installed on it? I'm having this issue on a Raspberry Pi running Raspbian 9.1 and arecord version 1.1.3

@chandwki I am running latest Raspbian Stretch. uname -a gives Linux 4.14.30-v7+ #1102 SMP Mon Mar 26 16:45:49 BST 2018 armv7l GNU/Linux. I've tested in a Pi 3B and 3B+. Both have issues.
I edited the mic code and found that having it use sox instead of arecord resolves the issue, so this means it's a limitation of arecord, but I still haven't determined the root cause of why arecord exits.

@cmvee well done!
@ashishbajaj99 I can confirm that PR #25 fixes this issue for me. Could you please merge it?

Sure, thanks a lot guys!

From: Chris Handwerker<EMAIL_ADDRESS>Sent: Wednesday, May 16, 2018 7:11:13 AM
To: ashishbajaj99/mic
Cc: Ashish Bajaj; Mention
Subject: Re: [ashishbajaj99/mic] After some time, "recording audioProcess has exited with code = 0" (#22)
@cmveehttps://github.com/cmvee well done!
@ashishbajaj99https://github.com/ashishbajaj99 I can confirm that PR #25https://github.com/ashishbajaj99/mic/pull/25 fixes this issue for me. Could you please merge it?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/ashishbajaj99/mic/issues/22#issuecomment-389367573, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AEs6yCzUQvRY_jQrdqbSJHmDi8-8tZCKks5ty4O5gaJpZM4QDlix.


sensors: baro aggregator limit publication rate with new parameter SENS_BARO_RATE

@priseborough as discussed, this is a simple change to the barometer aggregator in the sensors hub (sensors/vehicle_air_data) that limits the publication rate of vehicle_air_data (primary baro static pressure, altitude, temperature) to something reasonable (SENS_BARO_RATE default is 20 Hz). If the underlying data exceeds the limit then it's accumulated and averaged until the next allowed publication.
This is a small optimization to limit sending unnecessary data to the estimator. Saves a small amount of work per ekf2 instance, logging, and helps with replay logging. In cases where the sensor_baro publication rate is relatively high (nearly 100 Hz with the ms5611) it reduces the nominal default logging rate (estimator replay enabled) by 8%.
The will be done for magnetometer and airspeed as well.

Similar to the other sensors I've added a separate timestamp_sample to the sensor_baro message. The difference is very small, but this gets us in the habit of using timestamp as uORB metadata and working towards eventually having it populated automated at publication time.
While looking at sensor_baro usage across the code base I found and fixed a simple case in the FW position controller where the first baro was used directly.


Update OWNERS files

-remove jay from security contacts
-remove uneeded OWNERS files for minor sub projects
-update OWNERS files for svcat sub projects

/test pull-service-catalog-xbuild

/test pull-service-catalog-xbuild

/test pull-service-catalog-xbuild

/test pull-service-catalog-xbuild

/test pull-service-catalog-xbuild

/lgtm
/approve


[joy-ui][Toggle Button] Not working well with a tooltip

Latest version

[X] I have tested the latest version

Steps to reproduce 🕹
Here's a Code Sandbox link with buttons wrapped by tooltips within a Toggle Button container.
Current behavior 😯
When wrapping buttons inside a Toggle Button container with tooltips, they appear correctly. However, what happens then is that the selection behavior is damaged. In other words, a button doesn't stay "toggled on" after clicking on it if a tooltip wraps it.
Expected behavior 🤔
A clicked button should be "toggled on" even if it has a wrapping tooltip.
Context 🔦
As a benchmark, even though each of these components has a different interaction naturally, it seems like buttons inside a Button Group, as opposed to a Toggle Button Group, don't suffer from this problem.

@adamhylander yup, go ahead! Appreciate it!


fix Duplicate calls to Dependency::set_ready() in hash join(#37461)

Proposed changes
pick #37461
Duplicate calling the function Dependency::set_ready() will cause pipeline tasks to be scheduled incorrectly.

run buildall


Still breaks pcbnew module

I had a wild chase figuring this out with TransformIt plugin user.
This package still breaks other plugins:

I don't quite understand why but isinstance() stops working to check object types.

Hello, I am having the same issue. Could you take a look at this. Happy to help provide logs to help, but something in this great KiKat tool is breaking other plugins, in particular "Transformit". So I have to keep Kicat uninstalled until I need to use it and then re-install it. Thanks!

yes I still have the issue on the 7.0.6. We need to be able to use something to resize imported images. Normally are Logos or instructions right printed on the silk-layer

Hi @yaqwsx,
I ended up having the same issue in Kicad on Windows and Ubuntu.  I originally thought it was with a different plugin then with KiCad itself.

Other pluing issue
Kicad issue

I got around this by uninstalling the KiKit plugin.
I am running Kicad 7.0.8.  It would be really nice it this were to be fixed.
I don't know why this is happening but it is frustrating...

Hi @yaqwsx,
I ended up having the same issue in Kicad on Windows and Ubuntu. I originally thought it was with a different plugin then with KiCad itself.

Other pluing issue
Kicad issue

I got around this by uninstalling the KiKit plugin.
I am running Kicad 7.0.8. It would be really nice it this were to be fixed.
I don't know why this is happening but it is frustrating...

Nevermind......  Updating the KiKit backend pip install -U kikit solved my issue.  Sorry about that.

Hi @yaqwsx,
I ended up having the same issue in Kicad on Windows and Ubuntu. I originally thought it was with a different plugin then with KiCad itself.

Other pluing issue
Kicad issue

I got around this by uninstalling the KiKit plugin.
I am running Kicad 7.0.8. It would be really nice it this were to be fixed.
I don't know why this is happening but it is frustrating...

Nevermind...... Updating the KiKit backend pip install -U kikit solved my issue. Sorry about that.

Interestingly enough.  This solved the issue on MS windows.  But not on ubuntu 22.04.  I had to pip uninstall -y kikit for kicad to work.  Frustrating I will need to reinstall kikit when I want to panelize pcbs....

Hi @yaqwsx,
I ended up having the same issue in Kicad on Windows and Ubuntu. I originally thought it was with a different plugin then with KiCad itself.

Other pluing issue
Kicad issue

I got around this by uninstalling the KiKit plugin.
I am running Kicad 7.0.8. It would be really nice it this were to be fixed.
I don't know why this is happening but it is frustrating...

Nevermind...... Updating the KiKit backend pip install -U kikit solved my issue. Sorry about that.

Interestingly enough. This solved the issue on MS windows. But not on ubuntu 22.04. I had to pip uninstall -y kikit for kicad to work. Frustrating I will need to reinstall kikit when I want to panelize pcbs....

So, ti's not sufficient to uninstall kikit but you must give the command line instruction?
I'm on W11 and to be honest it doesn't work the first solution was working for you

On Windows 11 I uninstalled the kikit plugin and the backend with pip, restarted kicad.  Checked it to see kicad was working correctly.  Reinstalled KiKit backend via pip.  Then resinstalled the KiKit plugin and restarted KiCad again.  It seemed to work on KiCad in Windows 11.

Tested on KiCAD 8.0.0 it still not working

Yeah.  I actually gave up using any kicad plugging that uses this pcbnewtransision.  It breaks all other plugins so until pcbnewtransision goes away I'm done with kikit.  Sad as it is a really useful plugin.  But until it stops breaking all other plugins I'm done.

Since we support only 2 releases, we can revert the fix of #2. Released as https://github.com/yaqwsx/pcbnewTransition/releases/tag/v0.4.1

Not sure what you mean by revert, but this is still broken in Kicad 8. I can't resize anything with Transform It if KiKit is installed

Could you confirm that you have v0.4.1 (release) installed?


JWT Generated for Opaque token SCAT have JWT change

Description:
Backend JWT generation needs to be done in a unique way for Opauq and JWT tokens.

Fixed with https://github.com/wso2/carbon-apimgt/pull/9158


No Luck

Hi. Trying to install on CentOS 6.8. Cannot get .net to install. Following instructions here
https://www.microsoft.com/net/learn/get-started/linux/centos
Error is
Error: Package: dotnet-runtime-2.0.0-2.0.0-1.x86_64 (packages-microsoft-com-prod)
Requires: openssl-libs
Did also install openssl-devel. Same error after that.
Openssl is installed. How to fix this?

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

ID: e224df65-311e-166c-caff-918f47ad2f57
Version Independent ID: 21914f58-1720-39d9-acb7-ed8475cab9d4
Content: Copy or move data to Azure Storage with AzCopy on Linux
Content Source: articles/storage/common/storage-use-azcopy-linux.md
Service: storage
GitHub Login: @seguler
Microsoft Alias: seguler

@SharmainePopov Thank you for the valuable feedback,we are investigating the issue.

Hi.
Also tried to install open-ssl from the epel but conflicts with already installed openssl components…see
…
Running rpm_check_debug
Running Transaction Test
Transaction Check Error:
file /usr/lib64/libcrypto.so.1.0.1e from install of openssl10-libs-1.0.1e-2.ius.centos6.x86_64 conflicts with file from package openssl-1.0.1e-57.el6.x86_64
file /usr/lib64/libssl.so.1.0.1e from install of openssl10-libs-1.0.1e-2.ius.centos6.x86_64 conflicts with file from package openssl-1.0.1e-57.el6.x86_64
file /usr/lib64/openssl/engines/lib4758cca.so from install of openssl10-libs-1.0.1e-2.ius.centos6.x86_64 conflicts with file from package openssl-1.0.1e-57.el6.x86_64
file /usr/lib64/openssl/engines/libaep.so from install of openssl10-libs-1.0.1e-2.ius.centos6.x86_64 conflicts with file from package openssl-1.0.1e-57.el6.x86_64
file /usr/lib64/openssl
…..
Sharmaine Popov
Cloud Solution Architect |Microsoft Canada Inc. | sharmaine.popov<EMAIL_ADDRESS>|<PHONE_NUMBER>
From: Adam-Smith-MSFT<EMAIL_ADDRESS>Sent: Monday, March 19, 2018 7:18 PM
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Cc: Sharmaine Popov<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] No Luck (#5995)
@SharmainePopovhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fsharmainepopov&data=04|01|Sharmaine.Popov%40microsoft.com|b52570c7ac8b4961af3f08d58defa300|72f988bf86f141af91ab2d7cd011db47|1|0|636570982743074845|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwifQ%3D%3D|-1&sdata=gqOgjN5C23hqQQZP0h7vtzV82MJWTA%2FWvzgDFMfAmLQ%3D&reserved=0 Thank you for the valuable feedback,we are investigating the issue.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fissues%2F5995%23issuecomment-374418304&data=04|01|Sharmaine.Popov%40microsoft.com|b52570c7ac8b4961af3f08d58defa300|72f988bf86f141af91ab2d7cd011db47|1|0|636570982743074845|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwifQ%3D%3D|-1&sdata=eZTIY%2FsMNF7v4oCnIywl6xMa8lYXhQ5tZjchE5hTi2Y%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAhFW2uS6SXf_Be5rVhNjkTi9BD8pswe1ks5tgDydgaJpZM4SxBRC&data=04|01|Sharmaine.Popov%40microsoft.com|b52570c7ac8b4961af3f08d58defa300|72f988bf86f141af91ab2d7cd011db47|1|0|636570982743074845|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwifQ%3D%3D|-1&sdata=qIcoQIHA1zKs8CWpK9WZ9XvXphrAA8iz%2BgzhrAirY9M%3D&reserved=0.

…And I tried with RHEL 7.3
In this case install of dotnet and azcopy succeed.
But azcopy doesn’t work – problem with curl?
[azvmadmin@az-101-rhel73-1 ~]$ azcopy --verbose --source /home/azvmadmin/azcopy-upload.txt  --destination https://az101stg.blob.core.windows.net/azcopy1/blah.txt --dest-key ***==
[2018/03/20 02:45:29.162+00:00] >>>>>>>>>>>>>>>>
[2018/03/20 02:45:29.176+00:00][VERBOSE] Finished: 0 file(s), 0 B; Average Speed:0 B/s.
[2018/03/20 02:45:29.195+00:00][VERBOSE] 7.1.0 : azcopy --verbose --source /home/azvmadmin/azcopy-upload.txt --destination https://az101stg.blob.core.windows.net/azcopy1/blah.txt --dest-key ******
Incomplete operation with same command line detected at the journal directory "/home/azvmadmin/Microsoft/Azure/AzCopy", do you want to resume the operation? Choose Yes to resume, choose No to overwrite the journal to start a new operation. (Yes/No) n[2018/03/20 02:45:32.241+00:00][VERBOSE] Attempt to parse address '/home/azvmadmin/azcopy-upload.txt' to a directory as a candidate location succeeded.
[2018/03/20 02:45:32.244+00:00][VERBOSE] Attempt to parse address '/home/azvmadmin/azcopy-upload.txt' to a single file as a candidate location succeeded.
[2018/03/20 02:45:32.251+00:00][VERBOSE] Source is interpreted as a Local file: /home/azvmadmin/azcopy-upload.txt.
[2018/03/20 02:45:32.277+00:00][VERBOSE] Attempt to parse address 'https://az101stg.blob.core.windows.net/azcopy1/blah.txt' to a directory as a candidate location succeeded.
[2018/03/20 02:45:32.286+00:00][VERBOSE] Attempt to parse address 'https://az101stg.blob.core.windows.net/azcopy1/blah.txt' to a single file as a candidate location succeeded.
[2018/03/20 02:45:32.288+00:00][VERBOSE] Interpreting destination as a single file as the provided source is a single file.
[2018/03/20 02:45:32.289+00:00][VERBOSE] Destination is interpreted as a Cloud blob: https://az101stg.blob.core.windows.net/azcopy1/blah.txt.
[2018/03/20 02:45:32][ERROR] Error parsing destination location "https://az101stg.blob.core.windows.net/azcopy1/blah.txt": The type initializer for 'System.Net.Http.CurlHandler' threw an exception. For more details, please type "azcopy --help destination" or use verbose option --verbose.
[2018/03/20 02:45:32][ERROR]
The type initializer for 'Http' threw an exception.
[azvmadmin@az-101-rhel73-1 ~]$
Sharmaine Popov
Cloud Solution Architect |Microsoft Canada Inc. | sharmaine.popov<EMAIL_ADDRESS>|<PHONE_NUMBER>
From: Sharmaine Popov
Sent: Monday, March 19, 2018 8:32 PM
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Cc: Mention<EMAIL_ADDRESS>Subject: RE: [MicrosoftDocs/azure-docs] No Luck (#5995)
Hi.
Also tried to install open-ssl from the epel but conflicts with already installed openssl components…see
…
Running rpm_check_debug
Running Transaction Test
Transaction Check Error:
file /usr/lib64/libcrypto.so.1.0.1e from install of openssl10-libs-1.0.1e-2.ius.centos6.x86_64 conflicts with file from package openssl-1.0.1e-57.el6.x86_64
file /usr/lib64/libssl.so.1.0.1e from install of openssl10-libs-1.0.1e-2.ius.centos6.x86_64 conflicts with file from package openssl-1.0.1e-57.el6.x86_64
file /usr/lib64/openssl/engines/lib4758cca.so from install of openssl10-libs-1.0.1e-2.ius.centos6.x86_64 conflicts with file from package openssl-1.0.1e-57.el6.x86_64
file /usr/lib64/openssl/engines/libaep.so from install of openssl10-libs-1.0.1e-2.ius.centos6.x86_64 conflicts with file from package openssl-1.0.1e-57.el6.x86_64
file /usr/lib64/openssl
…..
Sharmaine Popov
Cloud Solution Architect |Microsoft Canada Inc. | sharmaine.popov<EMAIL_ADDRESS>|<PHONE_NUMBER>
From: Adam-Smith-MSFT <notifications<EMAIL_ADDRESS>Sent: Monday, March 19, 2018 7:18 PM
To: MicrosoftDocs/azure-docs <azure-docs<EMAIL_ADDRESS>Cc: Sharmaine Popov <Sharmaine.Popov<EMAIL_ADDRESS>Mention <mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] No Luck (#5995)
@SharmainePopovhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fsharmainepopov&data=04|01|Sharmaine.Popov%40microsoft.com|b52570c7ac8b4961af3f08d58defa300|72f988bf86f141af91ab2d7cd011db47|1|0|636570982743074845|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwifQ%3D%3D|-1&sdata=gqOgjN5C23hqQQZP0h7vtzV82MJWTA%2FWvzgDFMfAmLQ%3D&reserved=0 Thank you for the valuable feedback,we are investigating the issue.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fissues%2F5995%23issuecomment-374418304&data=04|01|Sharmaine.Popov%40microsoft.com|b52570c7ac8b4961af3f08d58defa300|72f988bf86f141af91ab2d7cd011db47|1|0|636570982743074845|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwifQ%3D%3D|-1&sdata=eZTIY%2FsMNF7v4oCnIywl6xMa8lYXhQ5tZjchE5hTi2Y%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAhFW2uS6SXf_Be5rVhNjkTi9BD8pswe1ks5tgDydgaJpZM4SxBRC&data=04|01|Sharmaine.Popov%40microsoft.com|b52570c7ac8b4961af3f08d58defa300|72f988bf86f141af91ab2d7cd011db47|1|0|636570982743074845|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwifQ%3D%3D|-1&sdata=qIcoQIHA1zKs8CWpK9WZ9XvXphrAA8iz%2BgzhrAirY9M%3D&reserved=0.

Unfortunately there is no easy way to install .NET Core on RHEL 6. Here are the steps that explains how to: https://github.com/dotnet/core/blob/master/Documentation/build-and-install-rhel6-prerequisites.md
@EmmaZhu regarding the libcurl issue.

Focusing on RHEL 7 which was an easy install but has issues with curl. Can you help?
Sharmaine Popov
Cloud Solution Architect |Microsoft Canada Inc. | sharmaine.popov<EMAIL_ADDRESS>|<PHONE_NUMBER>
From: Sercan Guler [MSFT]<EMAIL_ADDRESS>Sent: Tuesday, March 20, 2018 1:00 PM
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Cc: Sharmaine Popov<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] No Luck (#5995)
Unfortunately there is no easy way to install .NET Core on RHEL 6. Here are the steps that explains how to: https://github.com/dotnet/core/blob/master/Documentation/build-and-install-rhel6-prerequisites.mdhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fdotnet%2Fcore%2Fblob%2Fmaster%2FDocumentation%2Fbuild-and-install-rhel6-prerequisites.md&data=04|01|Sharmaine.Popov%40microsoft.com|7c2b5b09b7f34087062a08d58e840eb9|72f988bf86f141af91ab2d7cd011db47|1|0|636571620193939027|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwifQ%3D%3D|-1&sdata=6SdAjUjMgSAKylb61tikXA6yPwuzVVtqvGzhMVRSAqo%3D&reserved=0
@EmmaZhuhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Femmazhu&data=04|01|Sharmaine.Popov%40microsoft.com|7c2b5b09b7f34087062a08d58e840eb9|72f988bf86f141af91ab2d7cd011db47|1|0|636571620193949036|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwifQ%3D%3D|-1&sdata=7K2HluLQn4Cy78hovsS7Yl890USJJPv4fBjF0E96ilU%3D&reserved=0 regarding the libcurl issue.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fissues%2F5995%23issuecomment-374676001&data=04|01|Sharmaine.Popov%40microsoft.com|7c2b5b09b7f34087062a08d58e840eb9|72f988bf86f141af91ab2d7cd011db47|1|0|636571620193949036|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwifQ%3D%3D|-1&sdata=N0t4GOy7V3BZ5j9YGrGkKpjBNlj50RlF8Q4oH2gxAL4%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAhFW2haUtoB2SC_AZ9P0BT1WomlZHHo9ks5tgTWggaJpZM4SxBRC&data=04|01|Sharmaine.Popov%40microsoft.com|7c2b5b09b7f34087062a08d58e840eb9|72f988bf86f141af91ab2d7cd011db47|1|0|636571620193949036|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwifQ%3D%3D|-1&sdata=%2BTiVTVRGVaHXgp9gUQE6jQcNHW0Sjn4jzekIYX532cQ%3D&reserved=0.

#please-close

@SharmainePopov We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and tag me in your reply. We will gladly continue the discussion.


[Feature]: Allow using tsx instead of ts-node for loading TS config files

🚀 Feature Proposal
I would like to be able to use the tsx compiler for handling the jest.config.ts file, as opposed to relying on ts-node.
Motivation
tsx is a quickly rising alternative to ts-node as it runs much faster as it runs on the back of esbuild, and doesn't do typechecking. While parsing the jest configuration file should already be generally quick, it could be made quicker to using tsx. Additionally, for teams that have moved to tsx, it would allow having just one runtime compiler in their dependency for everything, vs having tsx for most things, and ts-node just for reading jest.config.ts files.
Example
It would be used implicitly within jest-config library where when it detects a file that ends with .ts, it checks if ts-node is available and uses that, else it'll check for tsx and use that. If neither are available output an error message that neither could be found.
All the user would need to do would be to have tsx installed via their package manager and available via node_modules.
Pitch
Looking at https://github.com/facebook/jest/blob/main/packages/jest-config/src/readConfigFileAndSetRootDir.ts, there didn't seem to be an obvious way to modify the behavior of how it loads config files, where even if it was possible to get tsx registered before triggering jest-config, it would still attempt to use ts-node for .ts extension.

I'm still interested in this. jest is the only thing pulling in ts-node in our stack, and it would be nice to be able to eliminate it for tsx.

Making this pluggable would be nice - we had a PR at some point for an SWC-based loader as well.
Thoughts on adding some sort of loader docblock at the top of the file, similar to e.g. /** @jest-environment jsdom */?

Sure, I think that adding a brief loader docblock at the top of the file would make sense, in the concept that within your dependency tree you end up with multiple TS loaders for whatever reason, and you want to make sure that you end up using a specific one, vs the default ordering of jest. Adding support for that should be pretty straight-forward, as compared to actually implementing these other loaders.

we had a PR at some point for an SWC-based loader as well.

Do you know what it was named? I did fine a PR for esbuild-loader (https://github.com/facebook/jest/pull/12041) that has stalled, but not swc.

I think we could use something like a require option where you could put whatever transpiler out there. This is how ava does it.

I was trying to do this today and thought it would be as easy as adding --loader @esbuild-kit/esm-loader to NODE_OPTIONS:
NODE_OPTIONS='--experimental-vm-modules --loader @esbuild-kit/esm-loader' jest

However, when I do that I get an interesting error:
TypeError: Unexpected response from worker: undefined
    at ChildProcessWorker._onMessage (/Users/linus/my-project/node_modules/jest-worker/build/workers/ChildProcessWorker.js:289:15)
    at ChildProcess.emit (node:events:527:28)
    at emit (node:internal/child_process:938:14)
    at processTicksAndRejections (node:internal/process/task_queues:84:21)

Adding some logging to node_modules/jest-worker/build/workers/ChildProcessWorker.js reveals that this is the message being sent from the child process:
{
  type: 'dependency',
  path: 'file:///Users/linus/my-project/node_modules/jest-worker/build/workers/processChild.js'
}

It seems like ChildProcessWorker is expecting an array where the first item is the message type, not an object though...
I'm not really sure how to continue debugging this, but would love some input!
Generally, I think it would be amazing if Jest could work with the --loader argument to Node.js!

Okay, turns out the mysterious object above wasn't emitted from Jest at all, it was the loader.
Filed an issue about that here: https://github.com/esbuild-kit/esm-loader/issues/43
Knowing that I simply added this code to ignore the messages:
  }
  _onMessage(response) {
+   // Ignore messages emitted by @esbuild-kit/esm-loader
+   // ref: https://github.com/esbuild-kit/esm-loader/issues/43
+   if (typeof response === 'object' && typeof response.type === 'string' && response.type === 'dependency') {
+     return
+   }
    // TODO: Add appropriate type check
    let error;
    switch (response[0]) {

This led me to the next problem.

SyntaxError: Unexpected token, expected "{"

Well, this stack trace was in Babel, and I didn't want to use that. So I added "transform": {} to my Jest config, and tried again:

SyntaxError: Unexpected token ':'

This time the stack trace only shows Runtime.loadEsmModule.
Going in to this function it seems like it always loads the file from disk and passes it thru a function that calls the transformers. I tried replacing it with just an import of the file instead, something like:
        return core;
      }
-     const transformedCode = await this.transformFileAsync(modulePath, {
-       isInternalModule: false,
-       supportsDynamicImport: true,
-       supportsExportNamespaceFrom: true,
-       supportsStaticESM: true,
-       supportsTopLevelAwait: true
-     });
+     const transformedCode = `import '${modulePath}'`;
      try {
        const module = new (_vm().SourceTextModule)(transformedCode, {
          context,

This results in the following error though:

● Test suite failed to run
Your test suite must contain at least one test.

Hmm, alright, I'm not sure why it gives that specific error, but SourceTextModule won't be able to route import calls thru the specified loader as far as I can tell.
Lets just try calling my loader here directly and see if it works:
        return core;
      }
-     const transformedCode = await this.transformFileAsync(modulePath, {
-       isInternalModule: false,
-       supportsDynamicImport: true,
-       supportsExportNamespaceFrom: true,
-       supportsStaticESM: true,
-       supportsTopLevelAwait: true
-     });
+     const esmLoader = await import('@esbuild-kit/esm-loader')
+     const transformedCode = (await esmLoader.load(`file://${modulePath}`, { format: 'esm' }, (url) => {
+       return { source: fs().readFileSync(new URL(url), 'utf8') }
+     })).source
      try {
        const module = new (_vm().SourceTextModule)(transformedCode, {
          context,

Test Suites: 15 passed, 15 total
Tests:       53 passed, 53 total

Success!
Okay, if there is a way to get ahold of the loader some way I think using it to load files would be viable.
@SimenB would there be any interest in maybe adding a flag for Jest that makes it use the loader that Node.js uses to load test files? I think that this would be awesome since we can run the tests in the same way that we run the normal code!

I'd be interested in a PR that shows the changes needed. 👍

Here it is! 🎉
#13521

#13521 wouldn't address the issue of how jest loads the config file though, just how it transforms and runs the test files right?

@MasterOdin it seems like you are right, I will make a small update to address that 👍
In fact, I didn't notice that this issue was talking about config file specifically at all 😅

(not stale)

(not stale)

Still happy to take a PR adding support for some sort of docblock to the config file if anyone's up for it in the new year 😀

@SimenB Trying to find time to do this now, but to be clear on your comments on this thread as well as in #12041 and #11989 is that if the user does not specify a docblock, then jest will only try to use ts-node, throwing the error (plus perhaps linking to the docs about the new docblock) if that's not installed. The only way to use an alternative loader is by specifying the docblock, e.g. /* @jest-config-loader tsx */, or whatever. Of course, if that loader is not installed, then it'll throw the same error as missing ts-node, just mentioning the specified package.

Yeah, that sounds about right. 👍 We can probably remove built-in ts-node in next major and have that also be opt-in via a docblock.

Also, not sure if we should define som "config loader" interface (just path-to-config.* -> Config.InitialOptions) rather than us instantiating e.g. tsxand having to provide it options. Us just doingconst config = import(moduleNameFromDocblock).then(m => m.default(pathToConfig))` seems better than having to pass a bunch of different options depending on what the "config loader" does. Then we could link to modules providing this interface for whatever module you wanna use.

@SimenB have you considered the approach in #13521? Instead of having anything specific to Jest, that would then work with any Node.js compatible loader. It would also work with all code, instead of just the config files.

ts-node hasn't seen a release in over a year at this point and still doesn't support TypeScript 5.0's multiple inheritance feature for tsconfig.json files. tsx, swc-node, or the native Node.js ESM loader are looking increasingly like the way of the future to me.

we had a PR at some point for an SWC-based loader as well.

Do you know what it was named? I did find a PR for esbuild-loader (#12041) that has stalled, but not swc.

@MasterOdin, I believe it was #13779.

It's worth to mention ts-node does not work with the newest Node 18.x and 20.x anymore (works only as a loader but not a standalone command).
https://github.com/TypeStrong/ts-node/issues/1997
https://github.com/TypeStrong/ts-node/issues/2094

Any news on this? Or workarounds?
As far as I understand, the problem is that ts-node can't handle what tsx can handle.
Also, is this problem with jest or with ts-jest?

Any news on this? Or workarounds?
As far as I understand, the problem is that ts-node can't handle what tsx can handle.
Also, is this problem with jest or with ts-jest?

Sadly, I give up with jest to handle typescript and esm. Migrated to vitest solve all the problems.


configure tls inspector initial buffer size

Fixes https://github.com/istio/istio/issues/51910

[ ] Ambient
[ ] Configuration Infrastructure
[ ] Docs
[ ] Dual Stack
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
[ ] Upgrade
[ ] Multi Cluster
[ ] Virtual Machine
[ ] Control Plane Revisions

@ramaraochavali: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio
b69dc26ef5cd20ec162f8f40daaa81a6a0dcf864
link
true
/test unit-tests-arm64

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-sigs/prow repository. I understand the commands that are listed here.


fix: White screen when no image fetched from server.

Fixes #1159
Changes: Showed event image which is shown on eventyay website when no image is attached to an event in all itemViews which showed white image before.
Screenshots for the change:

@iamareebjamal can you specify which lines are unrelated.

@liveHarshit please review


Adding  causes "You have included the Google Maps API multiple times on this page" error

As far as I can tell, the tutorial does not work past step 4, when the <google-maps-directions> element is added. I examined issue #10, which suggested adding the api key to both elements, or removing it from both. Neither caused any effect.
Steps to reproduce:

Follow tutorial until step 4

What occurs:
The map may or may not appear (the directions never do), and the console has the following errors:
No Google Maps API Key or Client ID specified. See https://developers.google.com/maps/documentation/javascript/get-api-key for instructions to get started with a key or client id.
js?callback=https___maps_googleapis_com_maps_api_js_callback___callback___v_3_exp_libraries_drawing…:102 You have included the Google Maps API multiple times on this page. This may cause unexpected errors.ah @ js?callback=https___maps_googleapis_com_maps_api_js_callback___callback___v_3_exp_libraries_drawing…:102
util.js:221 Google Maps API warning: NoApiKeys https://developers.google.com/maps/documentation/javascript/error-messages#no-api-keys

<!doctype html>

<html>
<head>
  <title>PolymerMapsCodelab</title>

  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
  <meta name="mobile-web-app-capable" content="yes">
  <meta name="apple-mobile-web-app-capable" content="yes">

  <script src="bower_components/webcomponentsjs/webcomponents-lite.min.js"></script>
  <link rel="import" href="bower_components/google-map/google-map.html">
  <link rel="import" href="bower_components/google-map/google-map-directions.html">

  <link rel="stylesheet" href="styles.css">
</head>

<body unresolved>
  <google-map latitude="37.779" longitude="-122.3892"
      api-key="[redacted]" zoom="13" disable-default-ui>
  </google-map>
  <google-map-directions
      start-address="San Francisco"
      end-address="Mountain View"></google-map-directions>
</body>
<script>
  var gmap = document.querySelector('google-map');
  gmap.addEventListener('api-load', function(e) {
    document.querySelector('google-map-directions').map = this.map;
  });
</script>
</body>
</html>

The same api-key="[redacted]" needs to be used on all maps elements.
The instructions have been fixed in the source doc but the site hasn't picked up the changes yet. We'll update soon!

#10
IDK Why, but this surfaces if you do not have a language attribute while calling the element
So having
implies you "Have" to ensure language is set in google-map-directions as well.
else,
you run into the same old
"you have included google map API multiple times........"  error

I have the same problem, but using two different sets of elements from google. (the first for places [https://www.webcomponents.org/element/GoogleWebComponents/google-apis/elements/google-maps-api](maps api), the second for directions [https://www.webcomponents.org/element/GoogleWebComponents/google-map/elements/google-map-directions](directions element) The language value seems to matter, because after i changed it did do the query to the api. But the double lib loading error remains.


Q: I got the collections working, but when does it start to delete movies?

Describe the bug
I got the collection running on a plex & Radarr setup and see the collection, but the deletion is not happenig.
To Reproduce
Have a simply rule: delete movies downloaded older than 190 days
Radar action: unmonitor & delete
Take action after days*: 190
add list exclusions: yes
use rule: yes
Rules
First value: Radarr - Date added
Action: Before
Second value: Amount of days
Custom value: 190
In my collection I can see 23 (correct) movies listed that I wish to be unmonitored, removed and added to the exclusion list.
Expected behavior
The deletion of the movies the meet the criteria.
Device (please complete the following information):
Synology DS218+, Latest Maintainerr in docker.
Additional context
Could be that I'm just missing a 'automatic' delete option somewhere?

Found it. The 'Take action after days' is actually the time the video items stay in the collection prior to it being deleted.


Ability to keep local images src, Adding custom class to container div element

First of all, thank you for making a good plugin. It is very helpful for publishing my obsidian document on the website with the WYSIWYG editor.
But I had to edit the plugin script to use in various environments, it would be great if some functions were supported by default.

Keeping local images src as it is
-> When many images are included in an obsidian document, encoding and pasting the whole converted HTML takes some time.
Rather than encoding images to base64, I think keeping the original app://image-path  in the src is useful in some cases. (After pasting the HTML source, users can replace the image with the proper one.

like...
  async replaceImageSource(image) {
    const imageSourcePath = decodeURI(image.src);
    if (this.options.leaveLocalImages) {
// if the option 'leaveLocalImages' is toggled on, do not replace the image source..
    } else {
      if (imageSourcePath.startsWith(this.vaultUriPrefix)) {
        let path = imageSourcePath.substring(this.vaultUriPrefix.length + 1).replace(/[?#].*/, "");
        path = decodeURI(path);
        const mimeType = this.guessMimeType(path);
        const data = await this.readFromVault(path, mimeType);
        if (this.isSvg(mimeType) && this.options.convertSvgToBitmap) {
          image.src = await this.imageToDataUri(data);
        } else {
          image.src = data;
        }
      } else {
        image.src = await this.imageToDataUri(image.src);
      }
    }
  }

Adding custom class to container div
-> It would be useful when using a custom stylesheet. If I want to post my obsidian document on a website (but not an independent document), the stylesheet should not make changes to the original website appearance. I think adding a class to the container div would resolve this problem!

Like..
  async renderMarkdown(markdown, path) {
    const processedMarkdown = this.preprocessMarkdown(markdown);
    const wrapper = document.createElement("div");
    if (this.options.customClassDiv) { // adding custom class to wrapper div
      wrapper.className = this.options.customClassDiv;
    }
    wrapper.style.display = "hidden";
    document.body.appendChild(wrapper);
    await import_obsidian.MarkdownRenderer.render(this.app, processedMarkdown, wrapper, path, this.view);
    await this.untilRendered();
    const result = wrapper.cloneNode(true);
    document.body.removeChild(wrapper);
    this.view.unload();
    return result;
  }

Thanks again for making this plugin!

Hi @HMLeeSoundcat, thanks for your report !
It seems that your use-case is publishing HTML documents from Obsidian, which is not entirely what I had in mind when I wrote this plugin. In fact, its main purpose was to convert all types of image representations (images, diagrams etc...) to data:base64 for inclusion in gmail or word documents.
Now, you're not the first one asking for this :

#62 : have links with .html extension
#58 : suggests having a customizable header section (which would solve your custom class)
#47 : convert links

So would the following cover your use-case ?

custom html template (header and footer)
convert Obsidian links, including to images to Test style links

As the requests seemed to be covered by other enhancements, the issue is now closed.
If the latest version (0.8.0) doesn't cover your needs, feel free to reopen or create a new issue !


404 Error

Problem : tutorials/java-streams/README.md's last line More articles : [next -->] link

Solution : I think it's a simple link error.

https://github.com/eugenp/tutorials/blob/java-streams-2 → https://github.com/eugenp/tutorials/blob/master/java-streams-2

Thank you for making me a good tutorial.

Hello @PARK-JONGSEOK,
We are happy you liked the tutorial.
Thank you for letting us now this issue, we fixed it.
Cheers,
Attila


Fixes gray release issue #1677

Fixes #1677

Codecov Report

Merging #1678 into master will decrease coverage by 0.07%.
The diff coverage is 61.9%.

@@             Coverage Diff              @@
##             master    #1678      +/-   ##
============================================
- Coverage     48.79%   48.71%   -0.08%
+ Complexity     1911     1908       -3
============================================
  Files           392      392
  Lines         11524    11550      +26
  Branches       1204     1210       +6
============================================
+ Hits           5623     5627       +4
- Misses         5465     5480      +15
- Partials        436      443       +7

Impacted Files
Coverage Δ
Complexity Δ

...work/apollo/biz/service/ReleaseHistoryService.java
92% <100%> (+0.33%)
6 <1> (+1)
:arrow_up:

...p/framework/apollo/biz/service/ReleaseService.java
72.52% <60.97%> (-4.64%)
41 <4> (-1)

...rk/apollo/internals/DefaultMetaServerProvider.java
55.55% <0%> (-44.45%)
5% <0%> (-4%)

.../apollo/internals/RemoteConfigLongPollService.java
77.91% <0%> (+1.22%)
28% <0%> (+1%)
:arrow_up:

Continue to review full report at Codecov.

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

Coverage decreased (-0.02%) to 52.554% when pulling f753bb93edf4cbdd718aa4c4983963ea7221c0c5 on nobodyiam:fix-1677 into c121a9e6b3b1c40ab13c47ee0ce7ca031d2de7aa on ctripcorp:master.


Improving documentation

I have been using Webpack for a while and I still find the documentation difficult to follow. It would be really great if the documentation was more beginner friendly.
I don't offer myself to put a PR for this, because as I say I don't understand all of it. So I am not the right person to improve the documentation itself.
But I would be happy to review it, make comments and ask questions with the aim that someone with better understanding can fill the documentation gaps. I'm thinking that a tool like https://hypothes.is/ could be really useful.
So would you be open to an effort like this?

It would be really great if the documentation was more beginner friendly.

I would like it too.

But I would be happy to review it, make comments and ask questions with the aim that someone with better understanding can fill the documentation gaps.

I'll add a commenting function to the documentation.

doen


No snippiets for try...except in native editor

Open a notebook
Enter try and there are no snippets similar to those found in a standard python editor in VS Code.
Snippets save a lot of time, and not having this in the native editor, lowered my productivity.

Looks resolved to me now.

Closing as validated. @DonJayamanne reactivate if more work is needed here.