Split gem to avoid FFI dependency for core

This splits off all of the pure ruby code into a childprocesscore gem that doesn't depend on FFI, thereby allowing users to trade off between full-featured, and always-deployable by depending on the right gem. It is even possible for grandchildren to add the childprocess and FFI gems on top of something using only childprocesscore to enable posix_spawn, or other platform support.
This still needs updates to the README, but I wanted to get early feedback on the details of the approach.
Fixes #124

Another thing that needs fixed is merging coverage reports from the two parts. After some googling, the best I found was switching to codecov.io instead, which does automerging of ALL reports sent in, so it could also ingest the reports from non-default rubies, and windows into a single result.
I've played around with it a little bit at another project this morning: https://codecov.io/gh/DavidS/puppet-resource_api/commit/53af7f92b209d07bb1cac838bd9d33e06906d103/build

Coverage decreased (-4.4%) to 90.485% when pulling dc75dc9fb3a4dde516e26b37acb49bb6eb7d84bb on DavidS:split-ffi-core into 0bce27d3f84ffac06ee49aa4dcb9ce8608cc49d3 on enkessler:master.

Coverage decreased (-4.5%) to 90.388% when pulling bc882e6e2107267c5fe001c11f1ac9db839a00ac on DavidS:split-ffi-core into 0bce27d3f84ffac06ee49aa4dcb9ce8608cc49d3 on enkessler:master.

Coverage decreased (-4.5%) to 90.388% when pulling bc882e6e2107267c5fe001c11f1ac9db839a00ac on DavidS:split-ffi-core into 0bce27d3f84ffac06ee49aa4dcb9ce8608cc49d3 on enkessler:master.

Coverage decreased (-4.5%) to 90.388% when pulling bc882e6e2107267c5fe001c11f1ac9db839a00ac on DavidS:split-ffi-core into 0bce27d3f84ffac06ee49aa4dcb9ce8608cc49d3 on enkessler:master.

Coverage decreased (-4.5%) to 90.388% when pulling bc882e6e2107267c5fe001c11f1ac9db839a00ac on DavidS:split-ffi-core into 0bce27d3f84ffac06ee49aa4dcb9ce8608cc49d3 on enkessler:master.

Coverage decreased (-4.5%) to 90.388% when pulling bc882e6e2107267c5fe001c11f1ac9db839a00ac on DavidS:split-ffi-core into 0bce27d3f84ffac06ee49aa4dcb9ce8608cc49d3 on enkessler:master.

Coverage decreased (-4.5%) to 90.379% when pulling 480028b8af9bc65ef5d9dd6924e16404e926fc7e on DavidS:split-ffi-core into 0bce27d3f84ffac06ee49aa4dcb9ce8608cc49d3 on enkessler:master.

Coverage decreased (-4.5%) to 90.379% when pulling 480028b8af9bc65ef5d9dd6924e16404e926fc7e on DavidS:split-ffi-core into 0bce27d3f84ffac06ee49aa4dcb9ce8608cc49d3 on enkessler:master.

Coverage decreased (-4.5%) to 90.379% when pulling 480028b8af9bc65ef5d9dd6924e16404e926fc7e on DavidS:split-ffi-core into 0bce27d3f84ffac06ee49aa4dcb9ce8608cc49d3 on enkessler:master.

Coverage decreased (-4.5%) to 90.379% when pulling 480028b8af9bc65ef5d9dd6924e16404e926fc7e on DavidS:split-ffi-core into 0bce27d3f84ffac06ee49aa4dcb9ce8608cc49d3 on enkessler:master.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@0bce27d). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #127   +/-   ##
=========================================
  Coverage          ?   85.81%
=========================================
  Files             ?       18
  Lines             ?      853
  Branches          ?        0
=========================================
  Hits              ?      732
  Misses            ?      121
  Partials          ?        0

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 0bce27d...aebb493. Read the comment docs.

Coverage decreased (-4.3%) to 90.541% when pulling aebb49369bcebc401f0c59af8e336d47a18944c1 on DavidS:split-ffi-core into 0bce27d3f84ffac06ee49aa4dcb9ce8608cc49d3 on enkessler:master.

Ah. Now it makes more sense what you wanted to do. Admittedly, I only mostly followed what your plan was when you opened the issue.
I'll take a better look later this week but, at a glance, it'd be nice if the two top level project folders were named the same as their gem (childprocess and childprocess-core) instead of main and core, respectively. Then have their libs shaped in the conventional fashion.
Also, please base the PR off of the development branch (dev) instead of the master branch.
I appreciate all of the effort!

I've renamed the top-level directories, and rebased everything. That was the easy part.
I also tried to rename the ChildProcess module in core. This would split the exiting public API on the ChildProcess module across namespaces, which will have a big impact on downstream users. While I tried it out, I also found pieces where it's not really clear that the way it's setup currently makes sense in a multi-gem world. E.g. https://github.com/enkessler/childprocess/blob/master/lib/childprocess.rb#L203-L205 might need more work.
Looking at that, I wonder if splitting it even more into childprocess-core, childprocess-unix, childprocess-posix_spawn, childprocess-windows, childprocess-jruby, and childprocess. Where all the library/glue code goes into -core, each of the "drives" resides in its own "plugin", and the main gem only ties the dependencies together. For the simple case, it would still remain a dependency on childprocess, and a single require, that pulls in everything. Maybe I'm overthinking this :-D

Coverage decreased (-15.0%) to 79.899% when pulling e7ea7a75d8e84bf36d4a70503dac8d1ce6d2161b on DavidS:split-ffi-core into 0bce27d3f84ffac06ee49aa4dcb9ce8608cc49d3 on enkessler:master.

Coverage decreased (-15.0%) to 79.899% when pulling e7ea7a75d8e84bf36d4a70503dac8d1ce6d2161b on DavidS:split-ffi-core into 0bce27d3f84ffac06ee49aa4dcb9ce8608cc49d3 on enkessler:master.

Coverage decreased (-15.0%) to 79.899% when pulling e7ea7a75d8e84bf36d4a70503dac8d1ce6d2161b on DavidS:split-ffi-core into 0bce27d3f84ffac06ee49aa4dcb9ce8608cc49d3 on enkessler:master.

Coverage decreased (-15.04%) to 79.842% when pulling 59fe72a87c0264ab724f21c1f27d56971fa25434 on DavidS:split-ffi-core into 5fb308d2b9e7bd402a2ad7a30234981bd4398cd1 on enkessler:dev.

Coverage decreased (-15.04%) to 79.842% when pulling 59fe72a87c0264ab724f21c1f27d56971fa25434 on DavidS:split-ffi-core into 5fb308d2b9e7bd402a2ad7a30234981bd4398cd1 on enkessler:dev.

Coverage decreased (-15.04%) to 79.842% when pulling 59fe72a87c0264ab724f21c1f27d56971fa25434 on DavidS:split-ffi-core into 5fb308d2b9e7bd402a2ad7a30234981bd4398cd1 on enkessler:dev.

Coverage decreased (-15.04%) to 79.842% when pulling 59fe72a87c0264ab724f21c1f27d56971fa25434 on DavidS:split-ffi-core into 5fb308d2b9e7bd402a2ad7a30234981bd4398cd1 on enkessler:dev.

Coverage decreased (-15.04%) to 79.842% when pulling 59fe72a87c0264ab724f21c1f27d56971fa25434 on DavidS:split-ffi-core into 5fb308d2b9e7bd402a2ad7a30234981bd4398cd1 on enkessler:dev.

Coverage decreased (-15.04%) to 79.842% when pulling 59fe72a87c0264ab724f21c1f27d56971fa25434 on DavidS:split-ffi-core into 5fb308d2b9e7bd402a2ad7a30234981bd4398cd1 on enkessler:dev.

Coverage decreased (-15.04%) to 79.842% when pulling 59fe72a87c0264ab724f21c1f27d56971fa25434 on DavidS:split-ffi-core into 5fb308d2b9e7bd402a2ad7a30234981bd4398cd1 on enkessler:dev.

Coverage decreased (-15.04%) to 79.842% when pulling 59fe72a87c0264ab724f21c1f27d56971fa25434 on DavidS:split-ffi-core into 5fb308d2b9e7bd402a2ad7a30234981bd4398cd1 on enkessler:dev.

Coverage decreased (-15.04%) to 79.842% when pulling 59fe72a87c0264ab724f21c1f27d56971fa25434 on DavidS:split-ffi-core into 5fb308d2b9e7bd402a2ad7a30234981bd4398cd1 on enkessler:dev.

Coverage decreased (-15.04%) to 79.842% when pulling 59fe72a87c0264ab724f21c1f27d56971fa25434 on DavidS:split-ffi-core into 5fb308d2b9e7bd402a2ad7a30234981bd4398cd1 on enkessler:dev.

Something weird is still ongoing with the codcov reports (see https://codecov.io/gh/DavidS/childprocess/compare/aebb49369bcebc401f0c59af8e336d47a18944c1...59fe72a87c0264ab724f21c1f27d56971fa25434/changes), but I'll chalk that up to weirdness around the changes in the repos.
And appveyor failed on SSL when trying to upload reports. Everything else shows up on https://codecov.io/gh/DavidS/childprocess/commit/59fe72a87c0264ab724f21c1f27d56971fa25434/build

@DavidS  The more I think about it, the more that I just want the correct version to be downloaded automatically. If they are on Windows, then they get the windows version that will have FFI as a dependency and if they are not then they get the other version.
This looks relevant: http://guides.rubygems.org/specification-reference/#platform=

@enkessler something like this: https://github.com/puppetlabs/puppet-resource_api/blob/master/ext/mkrf_conf.rb ?

Possibly, yes. I take it that that is a script that is kicked off during the gem installation process that conditionally triggers additional gem installations? And it looks like you are already using it, so it presumably works.
Out of curiosity, what does the console output look like for the two different installation paths?
Also, I see that this was one of your first suggestions before but I glossed over it and focused on the alternative because you said

In this case downstream users of childprocess would have to make sure that FFI is available, if they want to use posix_spawn. It is a relatively simple change on childprocess itself, but might not be easily discoverable by developers, and adds more hassle both when upgrading, and in future maintenance.

Can you elaborate on that? What do you mean by 'available'? Won't it be downloaded the same as any other gem just, you know, conditionally?

The code I linked installs a package conditionally on a platform.
If we choose to "install FFI only on windows", FFI would not be available by default for posix_spawn.

Closing this in favour of #132


[service-bus] Add support for sending AmqpAnnotatedMessage (and control destination section of body)

Adding in support to send AmqpAnnotatedMessage and also to control where the body is encoded in the sent message (via the bodyType) field.

/azp run js - service-bus - tests


Read file contents as stream in ChangeEncodingAction

Related to https://github.com/microsoft/iconv-lite-umd/issues/8#issuecomment-703053757
cc @bpasero

Thanks!

Wow you are so awesome! I updated to the latest insider build and it looks like its fixed!


[HOLD for payment 2023-08-21] [$1000] Web – Workspace – Tooltip remains visible for a short period of time even after closing an image

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open any Workspace.
Click on "reply in thread" next to any message.
Click on the avatar to open the "Details" view.
Click on "Members."
Click on a user.
Click on the avatar.
Click on the cross button to close the image.
Notice that the tooltip remains visible for a short period of time even after the image is closed.

Expected Result:
The tooltip should disappear immediately, just like in other cases.
Actual Result:
The tooltip remains visible for a short period of time even after the image is closed.
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.29-0
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/595dd183-6538-403a-ac56-46a157ed3d28
https://github.com/Expensify/App/assets/93399543/f913a1e9-773d-4db6-8962-8a935c76a70f
Expensify/Expensify Issue URL:
Issue reported by: @usmantariq96
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1687155625576929
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01613281d3becb92a0
Upwork Job ID:<PHONE_NUMBER>405966848
        2023-07-21Automatic offers:

fedirjh | Reviewer | 25856645
ginsuma | Contributor | 25856646

I reproduced this and I don't see any duplicate issues... there are some related tooltip bugs like the tooltip not responding for links (https://github.com/Expensify/App/issues/21605), but nothing about the tooltip staying present for like a little bit after it should disapper.

Proposal
Please re-state the problem that we are trying to solve in this issue.
The tooltip is visible for a short period after closing a Modal (used to show the image)
What is the root cause of that problem?
The Modal opens/closes with a small fade(for desktop) animation, during which the tooltip remains visible since the cursor is still hovering over the close/other buttons.
What changes do you think we should make in order to solve the problem?
We can use React Context and pass isVisible from BaseModal to all the tooltips inside the Modal if the Modal is not visible then hide the tooltip.
somewhere
const ModalContext = React.createContext({
    isModalClosed: false,
});

in BaseModal.js
<ModalContext.Provider value={{ isModalClosed: !this.props.isVisible }} >

in Tooltip/index.js
const {isModalClosed} = useContext(ModalContext)

// show tooltip only if !isModalClosed

What alternative solutions did you explore? (Optional)
Or we can use create a Context for Tooltip like,
const TooltipContext = React.createContext({
    canShowTooltip: true,
});

Result
https://github.com/Expensify/App/assets/120749263/c7160fcd-5843-49e3-8bd7-e167ee3fa639

Thoughts on this proposal @fedirjh ?

When the modal(image popup) is closed, the modal is not removed immediately, it fades out, while fading out the modal is still mounted/visible with less opacity, so the close button is still present(barely visible since it's fading out), hence the tooltip also remains visible.

@fedirjh sorry, where do we stand on this one? Are we still waiting for completed proposals?

Okay - sounds like we're waiting for more proposals here

Awaiting proposals - might toss over to CS or SWM

Going to double the bounty

Proposal
Please re-state the problem that we are trying to solve in this issue.
"Close" tooltip stays visible for a moment after modal closes on Profile Image.
What is the root cause of that problem?
The issue arises from the fact that animations, such as fading effects when unmounting, don't remove components from the DOM instantly. As a result, the tooltip associated with the close button persists for a fraction of a second after the modal has closed.
What changes do you think we should make in order to solve the problem?
We may propose an effective solution to automatically hide the Tooltip when its target element disappears. By detecting modal visibility and introducing trigger actions (hideTooltip()) for the Tooltip, we can ensure a seamless and user-friendly experience.
In this case, we can handle all modal tooltips including this issue.
https://github.com/Expensify/App/blob/7fea760c2bb7556815aaca2d61861bd1cf39d6b1/src/components/Tooltip/index.js#L18-L21
What alternative solutions did you explore? (Optional)
Exploring

Proposal
Please re-state the problem that we are trying to solve in this issue.
"Close" tooltip stays visible for a moment after modal closes on Profile Image.
What is the root cause of that problem?
The issue arises from the fact that animations, such as fading effects when unmounting, don't remove components from the DOM instantly. As a result, the tooltip associated with the close button persists for a fraction of a second after the modal has closed.
What changes do you think we should make in order to solve the problem?
We may propose an effective solution to automatically hide the Tooltip when its target element disappears. By detecting modal visibility and introducing trigger actions (hideTooltip()) for the Tooltip, we can ensure a seamless and user-friendly experience.
In this case, we can handle all modal tooltips including this issue.
https://github.com/Expensify/App/blob/7fea760c2bb7556815aaca2d61861bd1cf39d6b1/src/components/Tooltip/index.js#L18-L21
What alternative solutions did you explore? (Optional)
Exploring

Proposal
Please re-state the problem that we are trying to solve in this issue.
"Close" tooltip stays visible for a moment after modal closes on keyboard shortcuts modal screen
What is the root cause of that problem?
The Tooltip component enhances user experience by incorporating hover action and seamless animations for visibility and invisibility. When the user unhovers or clicks on the close button, the tooltip gracefully disappears with a smooth animation even though the target object is already disappeared.
What changes do you think we should make in order to solve the problem?
One effective approach entails concealing the HeaderWithBackButton component through the AttachmentModal's visibility property, utilizing the this.state.isModalOpen attribute.
https://github.com/JediWattson/App/blob/3066281875c43d91cbf6261f2570aa2a3e5002b0/src/components/AttachmentModal.js#L264-L270
What alternative solutions did you explore? (Optional)
We may propose an effective solution to automatically hide the Tooltip when its target element disappears. By detecting modal visibility and introducing trigger actions (hideTooltip()) for the Tooltip, we can ensure a seamless and user-friendly experience.
In this case, we can handle all modal tooltips including this issue.
https://github.com/Expensify/App/blob/7fea760c2bb7556815aaca2d61861bd1cf39d6b1/src/components/Tooltip/index.js#L18-L21

Proposal
Please re-state the problem that we are trying to solve in this issue.
Even after closing the modal, the tooltip is still visible.
What is the root cause of that problem?
Content within the modal gets removed from the Dom tree only after the modal closing animation is done and in case of fadeOut animation, content is faded out but still attached in Dom tree hence Close tooltip is visible even after all modal content is hidden.
What changes do you think we should make in order to solve the problem?
We will need to remove the close button completely from the Dom tree before closing the modal (starting the closing modal animation).

Add showCloseButton state variable with the initial value as true.

const [showCloseButton, setShowCloseButton] = useState(true);

Modify closeModal(), here..

const closeModal = useCallback(() => {
    setShowCloseButton(false);
    setIsModalOpen(false);
}, []);

Modify onModalShow(), here.

onModalShow={() => {
    setShowCloseButton(true);
    props.onModalShow();
    setShouldLoadAttachment(true);
}}

Add check for showCloseButton state in shouldShowCloseButton prop of <HeaderWithBackButton> component, here.

shouldShowCloseButton={!props.isSmallScreenWidth && showCloseButton}

Proposal
Please re-state the problem that we are trying to solve in this issue.
After closing the complete modal (using keyboard shortcut (Esc) or using close button ) the "Close" tooltip stays visible for a moment. This issue is observed in various modals such as the profile detail picture modal or preview modal. ( Attachment Modal)
What is the root cause of that problem?
The root cause of the problem is that the tooltip's visibility is not directly tied to the modal's closing animation. When the modal starts its closing animation, the tooltip remains visible because it is still being triggered by the hover state of the "Close" button inside the modal. The tooltip is not aware of the modal's closing animation, so it does not hide immediately when the animation starts.
To address this issue, we need to establish a mechanism to hide the tooltip as soon as the modal's closing animation starts. This can be achieved by adding a callback or event listener in the modal that notifies the tooltip to hide itself when the closing animation begins. By doing so, the tooltip's visibility will be synchronized with the modal's state changes, and it will hide as soon as the modal's closing animation starts, providing a smoother and more intuitive user experience.
As we said, with the following method, we can make the tooltip hide when the closing animation starts with the keyboard shortcut or anything else.
What changes do you think we should make in order to solve the problem?
First, we create the showtooltips variable in the AttachmentModal . This variable is the communication way of the model with the tooltips.
function AttachmentModal(props) {
    const [showTooltips, setShowTooltips] = useState(true);
    ...
}

And now we change the following two functions. With this, when the model is opened, the tooltips will be displayed again, and when the model is closed for any reason, the tooltips will lose their display ability and close (with animation).
  const closeModal = useCallback(() => {
      setShowTooltips(false);
      setIsModalOpen(false);
  }, []);

  /**
   *  open the modal
   */
  const openModal = useCallback(() => {
      setShowTooltips(true);
      setIsModalOpen(true);
  }, []);

Now, for the tooltips of each section, we transfer the mentioned variable, for example, in this section we have:
<HeaderWithBackButton
      showTooltips={showTooltips}
   ....
/>

And for the tooltip we add this prop:
<Tooltip text={translate('common.close')} showTooltips={showTooltips}>

So, in the componentDidUpdate function, which is called after every change, we can easily reach our result with the following change:
```
componentDidUpdate(prevProps) {
if (prevProps.showTooltips !== this.props.showTooltips) {
if (!this.props.showTooltips) {
this.hideTooltip();
}
}
...
}
Again, with this solution, all tooltips, whether in the file preview or profile detail, are closed with animation, and in my opinion, it is the best solution.

@greg-schroeder gently bump here
cc: @fedirjh

Awaiting proposal review

quick question @fedirjh: the selected proposal existed even before we doubled the bounty, so will this be eligible for a double bounty? and why did we attract more proposals by doubling the bounty when the ideal solution was already there?
cc: @greg-schroeder

Couldn't have said it better myself, thanks @fedirjh

PR review underway

Hey guys I think I have reported such issue here a month before this issue was reported. I retested the issue I have reported and it has been fixed now. I think the RCA might have been the same. @greg-schroeder can you take a look at this and let me know if this makes me eligible for the reporting bonus? Thanks.

Hey @greg-schroeder, could you pleaste take a look at this comment?

Price is $1k per this comment for posterity: https://github.com/Expensify/App/issues/21529#issuecomment-1658145309

Payments/offers made. All that's left is the checklist @fedirjh

@greg-schroeder offer accepted.

Sorry for the confusion @Nathan-Mulugeta. We do our best to keep the process as fair as possible, but multiple reports can happen when we have a lot of reviewers/reports streaming through, and the definition of a bug is fluid. We generally only pay out one reporter.

Hey @greg-schroeder , yes I understand that only one bug reporter is paid. But I know that the original bug reporter/the one reported first gets paid. My report precedes this one. Could you check that out. Thanke

Dear @Nathan-Mulugeta
I cross checked the reports and found out the I reported the issue 2 months ago and your report was issued 1 month ago.
so I don't think you are the original bug reporter.
For your reference please find below images.

OMG 😯, I am so sorry, I don't know how I got the report dates mixed up. I thought mine was the one reported on Jun 19th. So sorry again for bothering you all.

No worries!

Filing test, closing


Too many issues to fix, But the author didn't fix anyone.

It update so slow, if you need a hand?

No code = No fix

How can you update something perfect?
This is final version of No code.

@hanseul1795 haha, The author just said that he was working on the next release. But no updates recently.


cloudinit: Could not boot cloudinit ISO on QEMU

System Information
Linux distribution
Fedora 31
starting up libvirt version: 5.6.0, package: 5.fc31 (Fedora Project, 2019-11-11-20:24:00, ), qemu version: 4.1.1qemu-4.1.1-1.fc31, kernel: 5.3.11-300.fc31.x86_64

Terraform version
$ terraform -v
Terraform v0.12.16
+ provider.libvirt (unversioned)
+ provider.template v2.1.2

Provider and libvirt versions
$ terraform-provider-libvirt -version
/home/miry/go/bin/terraform-provider-libvirt e9ff32f1ec5825dcf05481cb7ef6a3b645696a4f-dirty
Compiled against library: libvirt 5.6.0
Using library: libvirt 5.6.0
Running hypervisor: QEMU 4.1.1
Running against daemon: 5.6.0

If that gives you "was not built correctly", get the Git commit hash from your local provider repository:
$ git describe --always --abbrev=40 --dirty
e9ff32f1ec5825dcf05481cb7ef6a3b645696a4f-dirty

Checklist

[ ] Is it a bug or something that does not work as expected? Please make sure you fill the version information below:

Description of Issue/Question
Setup
I use ubuntu example
Steps to Reproduce Issue
For debugging purpose I disable running in the example via attriutes for domain:
resource "libvirt_domain" "domain-ubuntu" {
  running = false
  ...

Open virt-manger and check boot options. By default it was set to

I changed options to boot from CDROM

Then started boot and got:

The same problem I got if I use just qemu command line with this disk.
Additional information:
Do you have SELinux or Apparmor/Firewall enabled? Some special configuration?
Have you tried to reproduce the issue without them enabled?
DEBUG
Logs create ISO
2019/11/30 09:56:20 About to execute cmd: /usr/bin/mkisofs -output /tmp/commoninit776011274/commoninit.iso -volid cidata -joliet -rock /tmp/cloudinit776011274/user-data /tmp/commoninit776011274/meta-data /tmp/commoninit776011274/network-config

Nevermind. I found my editor removed first line from config. It is required:
#cloud-config


human mode: No such file or directory

Hey buddy. Firstly, congratulations on this project.
So, I had an issue with the human mode haha 😄
https://github.com/Talendar/flappy-bird-gym/blob/d014428c187031bcd97ee7315f6141bdf590c119/README.md?plain=1#L77-L79
Logs
PS C:\Users\trajano> flappy_bird_gym
Traceback (most recent call last):
  File "c:\programdata\anaconda3\lib\runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "c:\programdata\anaconda3\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\ProgramData\Anaconda3\Scripts\flappy_bird_gym.exe\__main__.py", line 7, in <module>
  File "c:\programdata\anaconda3\lib\site-packages\flappy_bird_gym\cli.py", line 79, in main
    flappy_bird_gym.original_game.main()
  File "c:\programdata\anaconda3\lib\site-packages\flappy_bird_gym\original_game.py", line 70, in main
    pygame.image.load(ASSETS_DIR + '/sprites/0.png').convert_alpha(),
FileNotFoundError: No such file or directory.

System Information

Python 3.8.11
Anaconda 4.10.3

cd flappy_bird_gym/
It should then work.

I install it using pip install flappy-bird-gym.

same problem

I am also getting the same issue with Human mode on Python 3.9.7 after installing with pip install flappy-bird-gym.
Random agent method is working fine with flappy_bird_gym --mode random.
C:\Windows\system32>flappy_bird_gym
Traceback (most recent call last):
  File "e:\Miniconda3\envs\tf2\lib\runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "e:\Miniconda3\envs\tf2\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "e:\Miniconda3\envs\tf2\Scripts\flappy_bird_gym.exe\__main__.py", line 7, in <module>
  File "e:\Miniconda3\envs\tf2\lib\site-packages\flappy_bird_gym\cli.py", line 79, in main
    flappy_bird_gym.original_game.main()
  File "e:\Miniconda3\envs\tf2\lib\site-packages\flappy_bird_gym\original_game.py", line 70, in main
    pygame.image.load(ASSETS_DIR + '/sprites/0.png').convert_alpha(),
FileNotFoundError: No file './flappy_bird_gym/assets/sprites/0.png' found in working directory 'C:\Windows\system32'.

Hi guys! I just replaced ASSETS_DIR = "./flappy_bird_gym/assets"  by ASSETS_DIR = "./assets" on original_game.py.


Stop using getContext() methods for SalesChannelContext instances

Description
In this example I have two similar events with different methods to get the SalesChannelContext. Its a problem and force us devs to duplicate similar code. Maybe the first step could be to add a equal method with the right name to get the SalesChannelContext.
Example
    public static function getSubscribedEvents(): array
    {
        return [
            ProductListingCollectFilterEvent::class => 'addFilter',
            ProductListingCriteriaEvent::class => 'addCriteria',
            ProductPageCriteriaEvent::class => 'addCriteria'
        ];
    }

    public function addCriteria($event)
    {
        if ($event instanceof ProductListingCriteriaEvent) {
            $salesChannelContext = $event->getSalesChannelContext();
        } elseif ($event instanceof ProductPageCriteriaEvent) {
            $salesChannelContext = $event->getContext();
        }

        $criteria = $event->getCriteria();
        //$criteria->addAssociation('merchantStocks.merchant');
        //$criteria->addAggregation(new EntityAggregation('merchants', 'product.merchantStocks.merchant.id', MerchantDefinition::ENTITY_NAME));

        $criteria->addAssociation('merchants');
        $criteria->addAggregation($this->getEntityAggregation());
        $criteria->addFilter(new MultiFilter(MultiFilter::CONNECTION_OR, [
            new EqualsFilter('merchants.salesChannelId', $salesChannelContext->getSalesChannel()->getId()),
            new EqualsFilter('merchants.salesChannelId', null)
        ]));
    }

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

oh, that should not be the case. I will take care of that

hey @moorl
thanks again for bringing this up. yesterday we merged a new convention (ADR) on how events have to look like in the future: https://github.com/shopware/platform/commit/dacf9cf492ba602f0966d422d381c36acb7fe79f
the event you mentioned in the first place, will only be fixed with the upcoming major version <IP_ADDRESS> because changing the return type would be a breaking change. But from now on, there is already a getSalesChannelContext present, which will be usable from the next minor version <IP_ADDRESS>


Question about disabled keys in Key Vault

Having the Key Vault provider has turned out to be a great improvement to our apps. I had a question though regarding disabled secrets because the exception they caused was a problem we experienced when first starting. The documentation states the following:

Disabled and expired secrets throw a KeyVaultClientException. To prevent your app from throwing, replace your app or update the disabled/expired secret.

Can you explain what is meant by "replace your app"? Does it that mean rewrite the app to not use the provider or is there something else that can be done to avoid the exception that is thrown? Thanks.

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

ID: 2cc0b77a-df21-7007-5cec-4399d98c6dc6
Version Independent ID: efe5ae5e-ff64-f1c7-6920-4512fc8f36d1
Content: Azure Key Vault Configuration Provider in ASP.NET Core
Content Source: aspnetcore/security/key-vault-configuration.md
Product: aspnet-core
Technology: aspnetcore-security
GitHub Login: @guardrex
Microsoft Alias: riande

Yes ... it's a blown update that we and engineering didn't catch from ancient times of ASP.NET Core ... 2017! :smile:
Original remark ...

Disabled and expired secrets throw a KeyVaultClientException at runtime. Therefore, it's important that you update your application or replace or update a disabled or expried secret in the key vault before the provider attempts to load or reload a disabled or expired secret.

"update your application" ... 🤔 ... even that's confusing.
I'm going to make it say the following and then we can see if engineering wants to modify it further ...

Disabled and expired secrets throw a KeyVaultClientException at runtime. To prevent your app from throwing, provide the configuration using a different provider or update the disabled or expired secret.

Thanks for opening this @ps-tb.

@guardrex Ah yes, the dark days of 2017. Glad to help.


New indicators for combat mode

About the PR

I added additional indicators for melee and ranged combat. They work the same way as the icon, but they are displayed next to the mouse cursor instead of on the side. During combat, when you need to pick up a weapon from the ground or you are holding a weapon in your hand, the only indicator that shows the current mode (combat or non-combat) is located on the action panel on the left, and often there is simply no time to glance at it, so players make mistakes. These indicators will make it easier to track this mode and make combat more convenient.
Media

the melee indicator

the gun indicator
video.webm

[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Changelog

:cl:

add: Added additional indicators for the combat mode!
tweak: Changed the translation for the settings option!

the sprites themselves look really out place, like theyre from starcraft or something

the sprites themselves look really out place, like theyre from starcraft or something
I drew them, if you have other options, then let's try them. I know I am bad for it.

don't merge yet

don't merge yet

You can set it as a draft it you want to make changes to it and not have it accidentally merged

maybe make it toggleable

maybe make it toggleable

it is toggleble with the option

update images. Now they are black with a white stroke without transparency.

dont use raw png paths, draw an rsi

show me some example please

dont use raw png paths, draw an rsi

show me some example please

This is really cool!


Frida by pass

The newer versions of Frida could pass our package root detection, so we need to enhance our root detection solution.
could take the following repo as a reference: https://github.com/darvincisec/DetectFrida

made changes and released 3.0.0


correct license MIT -> Apache-2.0

Checklist

[X] Used a personal fork of the feedstock to propose changes
[X] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[X] Ensured the license file is being packaged.

BTW: The tool grayskul (https://github.com/conda/grayskull/tree/main/docs) suggest to add the licenses for pybind and benchmark as well. I don't know if thats necessary.

@conda-forge-admin please rerender


Replace done w/ async in tests

Fixes #3226
Description
Replaces the use of done() in tests with proper async/await.
Specific Changes

done => async/await
Remove done completely when used in synchronous tests. For example, it was in some beforeEach() hooks, but it's not needed; nock doesn't even use it there
Remove some of the try/catches that are no longer needed since we don't need done(err)
Avoid arrow function in mocha tests
A lot of no-op stuff auto-fixes with our prettier/eslint settings

Notes (mostly for me)

Regex for finding done usage: (done =>)|\(done\)
Search in: ./libraries/**/**/tests/**/*.js
For adding await to adapter.send() calls: (?<!(await)|(const))\sadapter

Pull Request Test Coverage Report for Build 665611662

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.006%) to 85.09%

Files with Coverage Reduction
New Missed Lines
%

libraries/botbuilder-lg/src/templateExtensions.ts
1
84.48%

Totals

Change from base Build 663120321:
-0.006%

Covered Lines:
18786

Relevant Lines:
21032

💛  - Coveralls

@joshgummersall @stevengum I opted not to make changes to channelServiceRoutes.test.js because the conversion isn't as straight-forward. I could leave it as-is, or implement something like this. Preference?


Do you still maintaining this?

Have this issue:
[$injector:unpr] Unknown provider: WPProvider <- WP <- mycontroller
Thank you! It's hard to find a good library for angular and wc api.

2016-09-28 - v1.4.1 - Updated dependencies and updated/fixed oAuth1.0a.

And I'll update today, so here is your answer.


UNBLOCKED GAMES dino game unblocked | Play Free Games Online - de4p1

UNBLOCKED GAMES dino game unblocked | Play Free Games Online - de4p1
dino game unblocked is a popular website that offers a wide variety of games that can be played in environments where access to gaming sites is typically restricted, such as schools and workplaces.
Enjoy playing all your favorite casual dino game unblocked, office, or home. Dive into the world of online free games without downloads!
👉🔴 SITE Games Unblocked >> dino game unblocked
👉🔴 PREMIUM Games Unblocked >> dino game unblocked
🙋♀ A short introduction - what is your organization all about?
🌈 Contribution guidelines - how can the community get involved?
👩💻 Useful resources - where can the community find your docs? Is there anything else the community should know?
🍿 Fun facts - what does your team eat for breakfast?
🧙 Remember, you can do mighty things with the power of Markdown
dino game unblocked: Unlocking Premium Fun in Educational Settings
In recent years, the phenomenon of dino game unblocked has taken the online gaming community by storm. These games, designed to bypass restrictions often placed by schools and workplaces, provide a unique blend of entertainment and engagement, especially for students. Among the vast array of options, unblocked premium games stand out as a popular choice, offering enhanced features, better graphics, and a more immersive gaming experience.
What Are dino game unblocked?
dino game unblocked are online games that can be accessed and played without restrictions, typically in environments like schools or offices where gaming sites might be blocked. The appeal of these games lies in their accessibility and the diverse range of genres available, from action and adventure to puzzles and strategy. Students often turn to these games during breaks or downtime, providing a quick escape from their academic routines.
The Rise of Premium dino game unblocked
As the unblocked games market has evolved, so has the demand for premium content. Premium dino game unblocked are those that offer superior gameplay experiences, often including advanced graphics, engaging storylines, and multiplayer functionalities. Many of these games are adaptations of popular titles, enabling players to enjoy high-quality gaming even in restricted environments.
The allure of premium unblocked games lies in their ability to combine fun with an element of strategy and critical thinking. Many of these games challenge players to solve complex problems, collaborate with peers, and develop skills that are beneficial beyond the gaming world.
Benefits of Playing dino game unblocked

Stress Relief: For students juggling a demanding academic schedule, unblocked games provide a much-needed break. Engaging in play can reduce stress and enhance overall well-being.
Social Interaction: Many unblocked games allow for multiplayer modes, enabling students to connect with friends or even make new ones. This social aspect is particularly valuable in school settings, fostering teamwork and collaboration.
Skill Development: Numerous unblocked games require strategic thinking, quick reflexes, and problem-solving abilities. These skills can translate to academic success, making gaming a potentially productive pastime.
Creativity Boost: Games that allow for customization and creative expression can inspire students to think outside the box, enhancing their creative skills.

Popular Genres of dino game unblocked Premium Games

Action and Adventure: Games that provide thrilling narratives and exciting challenges, often featuring iconic characters and rich worlds. Titles like "Among Us" or "Minecraft" have gained immense popularity in unblocked formats.
Puzzle and Strategy: These games challenge players to think critically and plan ahead, with examples including "2048" and "Bloons Tower Defense."
Simulation: Games like "The Sims" or "Animal Crossing" let players create and manage their virtual lives, promoting creativity and organization.
Sports and Racing: Titles such as "Basketball Stars" and "Slope" offer fast-paced action and competitive gameplay, appealing to sports enthusiasts.

Conclusion
dino game unblocked premium games represent a dynamic intersection of fun and education, providing students with a unique platform to unwind while also honing valuable skills. As educational institutions continue to grapple with balancing entertainment and learning, these games offer a solution that can enhance the school experience. By integrating gaming into their downtime, students can enjoy the thrill of play while developing critical skills, making unblocked premium games a worthwhile addition to any educational setting.

vnvnv


The requested package efficiently/authority-controller could not be found in any version, there may be a typo in the package name.

Trying to add your package into my laravel 5 project and i'm getting the following message when i'm trying to update the composer
Problem 1
- The requested package efficiently/authority-controller could not be found in any version, there may be a typo in the package name.
Potential causes:

A typo in the package name
The package is not available in a stable-enough version according to your minimum-stability setting
see https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion for more details.

Read http://getcomposer.org/doc/articles/troubleshooting.md for further common problems.
Can you help me please? Thank you

I found the solution, I had to add this two lines on the bottom of the composer
"prefer-stable": true,
"minimum-stability": "dev"

like this https://github.com/efficiently/laravel_authority-controller_app/blob/318d48ee42b8e63002d6d6a6cca34c868a63fb84/composer.json

Good catch, Authority-Controller 2.0 is still in an alpha version so you need to add these two lines in your composer.json file.


TypeError: Cannot read property 'hasOwnProperty' of null

What is wrong?

An error occurs on start.
/Users/[redcated]/Coding/node_modules/brain.js/dist/utilities/data-formatter.js:45
        if (characters.hasOwnProperty('length')) {
                       ^

TypeError: Cannot read property 'hasOwnProperty' of null
    at DataFormatter.buildCharactersFromIterable (/Users/[redcated]/Coding/node_modules/brain.js/dist/utilities/data-formatter.js:45:24)
    at new DataFormatter (/Users/[redcated]/Coding/node_modules/brain.js/dist/utilities/data-formatter.js:34:10)
    at Function.fromArrayInputOutput (/Users/[redcated]/Coding/node_modules/brain.js/dist/utilities/data-formatter.js:220:27)
    at LSTM.setupData (/Users/[redcated]/Coding/node_modules/brain.js/dist/recurrent/rnn.js:720:54)
    at LSTM.train (/Users/[redcated]/Coding/node_modules/brain.js/dist/recurrent/rnn.js:438:21)
    at Object.<anonymous> (/Users/[redcated]/Coding/src/index.js:5:5)
    at Module._compile (internal/modules/cjs/loader.js:688:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
    at Module.load (internal/modules/cjs/loader.js:598:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:537:12)

Where does it happen?

In the trainer.
How do we replicate the issue?

const brain = require('brain.js');

const net = new brain.recurrent.LSTM();

net.train([
  { input: 'All AVRCE schools are closed today due to road conditions', output: true },
  { input: 'Bus drivers are using discretion on side roads today due to road conditions.', output: false },
  { input: 'Bus drivers are using discretion in Kings and Annapolis Counties today due to road conditions.', output: false },
  { input: 'All AVRCE schools closed today due to forecast weather conditions.', output: true },
  { input: 'All AVRCE schools closed today due to road conditions. Offices and worksites opening at 10 am.', output: true },
  { input: 'All AVRCE schools open. Bus drivers will use their discretion on roads today.', output: false },
  { input: 'All AVRCE schools open. Bus drivers will use their discretion on side roads.', output: false },
  { input: 'All AVRCE schools dismissing 3 hours early due to incoming weather/flash freeze conditions.', output: true },
  { input: 'All AVRCE schools open. Bus drivers will use their discretion.', output: false },
  { input: 'All AVRCE schools closed today due to road conditions. Offices/worksites open at 11 am.', output: true },
  { input: 'All AVRCE schools closed today due to present road conditions and incoming weather.', output: true },
  { input: 'All AVRCE schools closed today due to freezing rain. Offices/worksites opening 10 am.', output: true },
  { input: 'All AVRCE schools closed today due to road conditions. Offices/worksites opening 9 am.', output: true },
  { input: 'All West Hants area schools closed today due to road conditions.', output: false },
  { input: 'All AVRCE schools open. Bus drivers will use discretion on side roads in Annapolis & Kings Counties.', output: false },
  { input: 'AVRCE schools in Kings & Annapolis Counties schools closed today. Offices/worksites in Annapolis Co. opening 9 am.', output: true },
  { input: 'All AVRCE schools closed. West Hants offices/worksites closed. Kings & Annapolis offices/worksites opening 9 am.', output: true },
  { input: 'All AVRCE school closed.', output: true },
  { input: 'All AVRCE schools closed today due to weather/road conditions.', output: true },
  { input: 'UPDATE: ALL AVRCE schools closed today due to road conditions. Offices/Worksites open 9 am.', output: true },
  { input: 'Due to road conditions, schools in West Hants & Kings County closed today. Offices/Worksites in West Hants/Kings open 9 am.', output: null },
  { input: 'All AVRCE schools closed today due to road conditions. Offices/worksites open.', output: true },
  { input: 'All AVRCE schools closed today due to road conditions. Offices/worksites opening 9 a.m.', output: true },
  { input: 'All AVRCE schools closed due to weather/road conditions. Offices/worksites opening 9 a.m.', output: true },
  { input: 'Northeast Kings Education Center (NKEC) closed today due to a boiler issue.', output: false },
  { input: 'Bus drivers using their discretion on side roads today.', output: false },
  { input: 'All AVRCE schools will be closed Tues. February 14 due to weather/road conditions. Offices & worksites opening @12 noon', output: true },
  { input: 'All AVRCE schools, offices and worksites will be closed Monday, February 13 due to forecast winter storm.', output: true },
  { input: 'Kings Co. schools closed due to road conditions. Annapolis Co. & West Hants schools open, bus drivers using discretion on side roads.', output: false },
]);

const output = net.run('All AVRCE schools closed today.');

console.log(output); // true

How important is this (1-5)?

1
Expected behavior (i.e. solution)

It should train and output true without error.
Other Comments

  { input: 'Due to road conditions, schools in West Hants & Kings County closed today. Offices/Worksites in West Hants/Kings open 9 am.', output: null },
Problem is that null simply isn't supported.

Oh, 🤦♂

All good.  Kept me on my toes!


[Bug]: history.push no longer triggers a re-render when a search param has changed

What version of React Router are you using?
5.2.0
Steps to Reproduce
Hello 👋, I observed a strange behavior after upgrading react-router-dom from v5.1.2 to v5.2.0. It looks like history.push or history.replace (taken from useHistory) doesn't trigger anymore a re-render when a search param has changed.
Expected Behavior
Here is a simple example with v5.1.2:
https://codesandbox.io/s/with-react-router-dom-512-before-zljp8
As you can see, calling history.push changes the URL as well as the counter value. So everything works well!
Actual Behavior
Now, when I test with v5.2.0, it no longer works:
https://codesandbox.io/s/with-react-router-dom-520-after-z796t
Here, calling history.push changes the URL but doesn't re-render the counter... It's a bit annoying as this minor version has introduced a breaking change in our application.
Is it normal? 🙂

it might be related to https://github.com/ReactTraining/react-router/pull/7103 or https://github.com/ReactTraining/react-router/pull/7288, but much probably was the update of mini-create-react-context as the changes on useLocation don't seem to have any problems

You're not subscribing to any location change. You're relying on an old performance-related bug that we fixed in 5.2.  Use the useLocation hook instead and it works just fine:
export default function App() {
  const history = useHistory();
  const location = useLocation();

  const searchParams = new URLSearchParams(location.search);
  const counter = Number(searchParams.get("counter"));

  const handleClick = () => {
    searchParams.set("counter", counter + 1);
    history.push("?" + searchParams);
  };

  return (
    <>
      <button onClick={handleClick}>Increment</button>
      {counter}
    </>
  );
}

Thanks a lot @timdorr 👍


Black screen on game start

Everytime i launch the game all I see is black screen. I run it on Windows 7 with Radeon RX 550. Here's the console log if it helps https://pastebin.com/0dYvRUfa,

@kungfooman What hardware are you using?


slash spacing is too large

h/R
Ziamath:

Xelatex:

161e832 reduces spacing to 0em. This is another exception to the MathML Operators Dictionary, in addition to zero spacing around |.


SCS Cloud in a Box  @rholling @FriederikeZelke

If there's anything to do fromm my side, let me know, pleased.

Hi r6th7g, welcome here! No, we are nearly done.


Increase simulation loop rate

Fixes #147

[ ] merge #150
[ ] merge #149
[ ] test on hardware and confirm no deadline misses

We may want to use a more accurate timing method for the simulation loop:
In [82]: dt = np.diff(get_time_vector(records)) * 1000
In [83]: dt.mean()
Out[83]: 1.0727257799671592
In [84]: dt.max()
Out[84]: 1.300000000000523
In [85]: dt.min()
Out[85]: 0.99999999999944578
In [86]: dt.var()
Out[86]: 0.0030541464782504711

with absolute deadlines:
In [89]: dt.mean()
Out[89]: 1.0
In [90]: dt
Out[90]: array([ 1.1,  0.9,  1.1, ...,  0.9,  1.1,  0.9])
In [91]: dt.max()
Out[91]: 1.3000000000000789
In [92]: dt.min()
Out[92]: 0.79999999999991189
In [93]: dt.var()
Out[93]: 0.0072340850129718375

After increasing CH_CFG_ST_FREQUENCY from 10 kHz to 100 kHz in CMake:
In [7]: dt.mean()
Out[7]: 0.99999999999999978
In [8]: dt.max()
Out[8]: 1.1700000000000008
In [9]: dt.min()
Out[9]: 0.89999999999967883
In [13]: dt.var()
Out[13]: 0.00031911054194085677


Media > Video | Design QA | Padding | Caption

Detailed description

Describe in detail the issue you're having.

Video Storybook
Padding above caption text is 16 px.  It should be 8px.

Is this a feature request (new component, new icon), a bug, or a general
issue?

Bug.

Is this issue related to a specific component?

Media > Video

What did you expect to happen? What happened instead? What would you like to
see changed?

Padding above caption text is 16 px.  It should be 8px.

What browser are you working in?

Chrome Version 80.0.3987.149 (Official Build) (64-bit) on Mac.

What version of the IBM.com Library are you using?

1.5.1
Steps to reproduce the issue

Open Video Storybook
Use Inspect to view padding in the caption (see screenshot below)

Additional information

Visual specs for Media > Video

Media component development is scheduled in sprint 20-08.  This spacing will be corrected there.  Closing this issue


Mobile: button and tags styling issues

Android 12/ talk back/ Chrome
The following buttons and labels have styling problems:

[ ] Save next button on individual page creation
[ ] Add to my notification on the organization page view
[ ] label for people with disabilities, supporters and Deaf people on the individual page view
[ ] Label for information and communication technologies on the individual page view areas of inetrest

@sepidehshahi do you mean all 4 items on your list have the styling issue in the screenshot?

Yes @cherylhjli I only had a screenshot of one item, but all 4 items have styling issues.

@greatislander Please have the text wrap to the next line for both tags and buttons:

https://www.figma.com/file/AXufBnFAVHvGdsxnQMVhNF/The-Accessibility-Exchange-Wireframes?node-id=1134%3A11567

@cherylhjli if button text is too long for the screen and has to wrap, should the button have a maximum width? I expect it should be left-aligned and narrower than the column width (unless on mobile).

yes the button being left aligned and narrower than the column width sounds good to me!


INT64 support for Delta Encoding

As of now, parquet doesn't support delta encoding for INT64. However it is planned in the format:
https://github.com/Parquet/parquet-format/blob/master/Encodings.md
The benefits of this feature are huge. For timestamps it achieves twice better compression than SNAPPY on plain encoding, and the reading is faster. This feature is actually advertised on the home page of Parquet, even though it is not yet implemented:
http://parquet.incubator.apache.org/
http://image.slidesharecdn.com/hadoopsummit-140630160016-phpapp01/95/efficient-data-storage-for-analytics-with-apache-parquet-20-30-638.jpg?cb=1404162126
Reporter: Vassil Lunchev
Assignee: Vassil Lunchev
Related issues:

Release Parquet-mr 1.9.0 (blocks)

PRs and other links:

PR #154

Note: This issue was originally created as PARQUET-225. Please see the migration documentation for further details.

Ryan Blue / @rdblue:
[~lunchev], I don't know of anyone working on it. Please open a pull request!

Vassil Lunchev:
Is somebody working on implementing this feature? I have a working code + unit tests for it. Is that interesting to you?

Jakub Liska:
@rdblue, I set it to version 2, I reported it here https://issues.apache.org/jira/browse/PARQUET-796
ParquetWriter writer = new ParquetWriter<Group>(outFile, new GroupWriteSupport, codec, blockSize, pageSize, dictPageSize, true, true, ParquetProperties.WriterVersion.PARQUET_2_0, configuration)

Ryan Blue / @rdblue:
[~l154k], parquet format 2.0 encodings aren't enabled by default because we haven't finalized the set of encodings that must be supported for 2.0. You can read and write the current set by explicitly setting your writer to use version 2.

Vassil Lunchev:
The Travis CI build passed for the pull request. Waiting for a review:
https://github.com/apache/incubator-parquet-mr/pull/154

Jakub Liska:
Guys how do I enable it?  I tried to encode :
Types.required(PrimitiveTypeName.INT64).named("foo")

that starts from 0 being incremented by 1, but I the resulting parquet file size is identical in 1.9.0 and 1.8.0 versions...
Is there something I have to enable for Delta Encoding to get applied?


Installation Method
None
The Problem
"PDF-to-CSV is not working. After detecting the table, it exports a blank page."
Version of Stirling-PDF
latest
Last Working Version of Stirling-PDF
latest
Page Where the Problem Occurred
https://stirlingpdf.io/pdf-to-csv
Docker Configuration
No response
Relevant Log Output
No response
Additional Information
No response
Browsers Affected
No response
No Duplicate of the Issue

[X] I have verified that there are no existing issues raised related to my problem.

Any docker logs?

I do not have logs, it only uploads a PDF file that contains a csv or xlsx table and when it is converted it only downloads the file with row number 1

We are facing same issue when converting from PDF to CSV. Only first row is extracted to CSV. Where can I find logs?

I have actually noticed this bug as well but I also noticed that the behavior on the remote (https://stirlingpdf.io/pdf-to-csv) isn't the same as the behavior when run locally, I will explain it as follows provided 2 files, 1 exported from LibreCalc and another exported from Excel:
On the website (remote):

File "tableFromLibreCalc.pdf" (Exported as PDF from LibreCalc)
= Results in the entire data being printed in one line (column by column).

File "tableFromExcel.pdf" (Exported as PDF from Excel)
= Results in the data being printed in the same line BUT only the first 4 values of the first column [1 header + 3 values].

Locally:

File "tableFromLibreCalc.pdf" (Exported as PDF from LibreCalc)
= Runs perfectly and extracts the table in the CSV file as expected.

File "tableFromExcel.pdf" (Exported as PDF from Excel)
= Results in printing the first 4 values (1 header + 3 values) in the same line [The values are from the same column].

Note: I couldn't find any logged exceptions when run locally, so I believe the problem might have something to do with identifying the rows/columns in some cases.
Afterwards, I attempted to use Tabula-Java as mentioned in #1614 in the project on the same files and it surprisingly ran smoothly on both files.
Test Files:

PDF Exported from LibreCalc: tableFromLibreCalc.pdf

PDF Exported from Excel: tableFromExcel.pdf


cli: Test

Packet drops with reason No tunnel/encapsulation endpoint (datapath BUG!) look highly suspicious. Yet, I allowlisted it in CI in commit 4d0d9bf15df9 ("defaults: Add expected drop reasons") and didn't explain where it was seen 😬
This pull request removes it from the list of packet drops that are expected in CI. It doesn't seem to be occurring anymore, so maybe it was just my mistake. And if it ever happens again in CI, it's definitely something we'll want to investigate.

/test

/test


graph label

.. with version of root pkg :)
(if a setting: either a function (given package name, or some info struct); or a mustache/jinja/handlebars like {{template}} string)
(same as for emptymsg)
For

#64:

can display versioninfo() like stuff :) (cause it's important for scale of measurements)

How-to is just, it seems:
digrapg {
  label = ".."
}

So, gathering above backlinks, what should go in graph 'label':

[ ] Version of root package
[ ] Whether from active project (manifest), or General registry
[ ] maybe: date generated :)

[ ] Also! PkgGraph.jl & its version :)

[ ] Ooh, in SVG, could link to repo :)

[ ] Whether and how many stdlib & jll packages hidden

No need to say "to unhide, pass ..": can say that in REPL :)
Btw, to give these numbers -- and to make the heuristic decision! -- we do need to crawl for them! (I.e. can't early stop in tree search in depgraph)

[ ] If timing: @time of total import. (And colour for how bearable that is)

[ ] Also: versioninfo() like info, to give context to the timing numbers

so yeah, this should be a html-like block, can't just be a string w/ newlines.
Can a graph's label be that? Or do we need to create a floating node.
Stichtend voorbeeld: https://graphviz.org/Gallery/directed/pprof.html
(is geen html, gewoon text; maar kan daar perfect i'm sure)
a subgraph.. Necessary? or is node in main graph ('cluster') good too

Dependency graph for Plots v0.7.2

145 packages, of which 42 standard library and 66 JLL packages were filtered out.

Or, if not even crawling them:
Dependency graph for Plots v0.7.2

32 packages, not including standard library and JLL dependencies

(smol: )
Generated with PkgGraph v0.9 on 2023-01-15

Ofc with a flag to disable it. Sth like infobox=false


Create types for the actual entry that goes in to dynamo so it is easier to reference on the FE

Mostly fixed in #76


Added "starthub"

Added Start Innovation Hub.
Start Innovation Hub is a tech incubation institution for young Nigerians in the South Southern region of the country.

@ChumaXe First stage of verification passed, official domain for Start Innovation Hub is starthub.com.ng as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@ChumaXe Regrettably, I have to close the request without merging, because this organization is a training center, not a college, nor a university. Please ensure that you are familiar with this repository rules located at the bottom of this page.
Please apply for an appropriate licensing option (which may also be free) at https://www.jetbrains.com/community/education/#courses.
Thank you for your understanding!


[AutoRelease] t2-resource-2023-05-23-25375(can only be merged by SDK owner)

https://github.com/Azure/sdk-release-request/issues/4079
Live test success
https://dev.azure.com/azure-sdk/internal/_build?definitionId=1025
BuildTargetingString
azure-mgmt-resource
Skip.CreateApiReview
true

issue link:https://github.com/Azure/sdk-release-request/issues/4079


ITMS-90036 and ITMS-90207 after processing with combination Jenkins fastlane building a Flutter app but without Jenkins it works.

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description
I am trying to setup a new CI machine and I use a MacOS Jenkins agent which builds a flutter iOS App. This could be related to Jenkins Environment or setup_jenkins maybe.
When I run my script on the machine without using Jenkins everything runs through, appstoreconenct processes the app and releases it to TestFlight.
When I run it through Jenkins I get the following after processing in appstoreconnect:
ITMS-90036: This bundle is invalid - The Info.plist file for /Payload/Runner.app/Frameworks/App.framework/flutter_assets/output/Runner%202022-02-09%2013.33.42.xcarchive/Products/Applications/Runner.app/Frameworks/App.framework is missing or could not be read.

ITMS-90207: Invalid Bundle - The bundle at '/Payload/Runner.app/Frameworks/App.framework/flutter_assets/output/Runner%202022-02-09%2013.33.42.xcarchive/Products/Applications/Runner.app/Frameworks/App.framework' does not contain a bundle executable.

ITMS-90036: This bundle is invalid - The Info.plist file for /Payload/Runner.app/Frameworks/App.framework/flutter_assets/output/Runner%202022-02-09%2013.33.42.xcarchive/Products/Applications/Runner.app is missing or could not be read.

ITMS-90207: Invalid Bundle - The bundle at '/Payload/Runner.app/Frameworks/App.framework/flutter_assets/output/Runner%202022-02-09%2013.33.42.xcarchive/Products/Applications/Runner.app' does not contain a bundle executable.

ITMS-90036: This bundle is invalid - The Info.plist file for /Payload/Runner.app/Frameworks/App.framework/flutter_assets/output/Runner%202022-02-09%2013.39.08.xcarchive/Products/Applications/Runner.app/Frameworks/App.framework/flutter_assets/output/Runner%25202022-02-09%252013.33.42.xcarchive/Products/Applications/Runner.app/Frameworks/App.framework is missing or could not be read.

ITMS-90207: Invalid Bundle - The bundle at '/Payload/Runner.app/Frameworks/App.framework/flutter_assets/output/Runner%202022-02-09%2013.39.08.xcarchive/Products/Applications/Runner.app/Frameworks/App.framework/flutter_assets/output/Runner%25202022-02-09%252013.33.42.xcarchive/Products/Applications/Runner.app/Frameworks/App.framework' does not contain a bundle executable.

ITMS-90036: This bundle is invalid - The Info.plist file for /Payload/Runner.app/Frameworks/App.framework/flutter_assets/output/Runner%202022-02-09%2013.39.08.xcarchive/Products/Applications/Runner.app/Frameworks/App.framework/flutter_assets/output/Runner%25202022-02-09%252013.33.42.xcarchive/Products/Applications/Runner.app is missing or could not be read.

Has someone encountered these issues? Do I have to look somewhere else?
I have the suspicion that it has something to do with the environment and the workspace.
I have already set PATH new, changed permissions in the workspace but nothing.
Environment

 ✅ fastlane environment ✅
Stack

Key
Value

OS
12.0.1

Ruby
2.6.8

Bundler?
false

Git
git version 2.32.0 (Apple Git-132)

Installation Source
/usr/local/bin/fastlane

Host
macOS 12.0.1 (21A559)

Ruby Lib Dir
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib

OpenSSL Version
LibreSSL 2.8.3

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
13.2.1

Swift Version
5.5.2

System Locale

Variable
Value

LANG
de_DE.UTF-8
✅

LC_ALL

LANGUAGE

fastlane files:
`./fastlane/Fastfile`

  def ensure_temp_keychain(name)
    delete_keychain(
      name: name
    ) if File.exist? File.expand_path("~/Library/Keychains/#{name}-db")
    create_keychain(
      name: name,
      password: '<>',
      unlock: true,
      timeout: 0
    )
  end

  def setup_match()
    ensure_temp_keychain 'fastlane_temp'
    match(type: 'development', readonly: is_ci, keychain_name: 'fastlane_temp', keychain_password: '<>')
    match(type: 'appstore', readonly: is_ci, keychain_name: 'fastlane_temp', keychain_password: '<>')
  end

  lane :beta do
    setup_jenkins

    setup_match

    gym(scheme: "Runner", workspace: "./ios/Runner.xcworkspace", export_method: "app-store")

    pilot(api_key_path: "<path>", app_version: "<version>")
  end

fastlane gems

Gem
Version
Update-Status

fastlane
2.204.2
✅ Up-To-Date

Loaded fastlane plugins:

Plugin
Version
Update-Status

fastlane-plugin-flutter_version_manager
1.0.0
✅ Up-To-Date

fastlane-plugin-versioning
0.5.0
✅ Up-To-Date

fastlane-plugin-teams
0.2.0
✅ Up-To-Date

Loaded gems

Gem
Version

did_you_mean
1.3.0

rouge
2.0.7

xcpretty
0.3.0

terminal-notifier
2.0.0

terminal-table
1.8.0

plist
3.6.0

public_suffix
4.0.6

addressable
2.8.0

multipart-post
2.0.0

word_wrap
1.0.0

optparse
0.1.1

tty-screen
0.8.1

tty-cursor
0.7.1

tty-spinner
0.9.3

artifactory
3.0.15

babosa
1.0.4

colored
1.2

highline
2.0.3

commander
4.6.0

faraday-cookie_jar
0.0.7

gh_inspector
1.1.3

mini_magick
4.11.0

naturally
2.2.1

security
0.1.3

xcpretty-travis-formatter
1.0.1

dotenv
2.7.6

bundler
2.3.6

simctl
1.6.8

retriable
3.1.2

memoist
0.16.2

multi_json
1.15.0

signet
0.16.0

googleauth
1.1.0

httpclient
2.8.3

google-apis-core
0.4.2

google-apis-playcustomapp_v1
0.7.0

rexml
3.2.5

nanaimo
0.3.0

colored2
3.1.2

claide
1.1.0

CFPropertyList
3.0.5

atomos
0.1.3

xcodeproj
1.21.0

unicode-display_width
1.8.0

excon
0.90.0

ruby2_keywords
0.0.5

faraday-retry
1.0.3

faraday-rack
1.0.0

faraday-patron
1.0.0

faraday-net_http_persistent
1.2.0

faraday-net_http
1.0.1

faraday-multipart
1.0.3

faraday-httpclient
1.0.1

faraday-excon
1.1.0

faraday-em_synchrony
1.0.0

faraday-em_http
1.0.0

faraday
1.9.3

unf_ext
0.0.8

unf
0.1.4

domain_name
0.5.20190701

http-cookie
1.0.4

faraday_middleware
1.2.0

fastimage
2.2.6

json
2.6.1

rubyzip
2.3.2

jwt
2.3.0

trailblazer-option
0.1.2

declarative
0.0.20

uber
0.1.0

representable
3.1.1

mini_mime
1.1.2

os
1.1.4

webrick
1.7.0

google-apis-androidpublisher_v3
0.16.0

rake
13.0.6

digest-crc
0.6.4

google-apis-storage_v1
0.11.0

google-apis-iamcredentials_v1
0.10.0

google-cloud-errors
1.2.0

google-cloud-env
1.5.0

google-cloud-core
1.6.0

google-cloud-storage
1.36.0

emoji_regex
3.2.3

aws-eventstream
1.2.0

aws-sigv4
1.4.0

aws-partitions
1.551.0

jmespath
1.5.0

aws-sdk-core
3.125.6

aws-sdk-kms
1.53.0

aws-sdk-s3
1.111.3

forwardable
1.2.0

logger
1.3.0

date
2.0.0

stringio
0.0.2

ipaddr
1.2.2

openssl
2.1.2

zlib
1.0.0

mutex_m
0.1.0

ostruct
0.1.0

strscan
1.0.0

io-console
0.4.7

fileutils
1.1.0

etc
1.0.1

libxml-ruby
3.2.1

psych
3.1.0

fastlane-plugin-flutter_version_manager
1.0.0

rchardet
1.8.0

git
1.8.1

fastlane-plugin-versioning
0.5.0

fastlane-plugin-teams
0.2.0

generated on: 2022-02-09

Okay I don't know how it resolved itself but it works for now.


[Docathon][BUPT][Add API Legend No.24]为slice_scatter添加图例 -part

为slice_scatter添加图例
@Zacary（孙钟恺）
@zoooo0820

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

请提交英文文档


SSL_OP_CRYPTOPRO_TLSEXT_BUG is missing in doc version 1.1.1

https://www.openssl.org/docs/man1.1.1/man3/SSL_CTX_set_options.html#NOTES
https://www.openssl.org/docs/man3.0/man3/SSL_CTX_set_options.html#NOTES
Hi, I found that there are 4 bug workarounds for openssl 3, but 3 bug workarounds for openssl 1.1.1 in documents
man3.0

The following bug workaround options are available:
SSL_OP_CRYPTOPRO_TLSEXT_BUG
Add server-hello extension from the early version of cryptopro draft when GOST ciphersuite is negotiated. Required for interoperability with CryptoPro CSP 3.x.
SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS
Disables a countermeasure against a SSL 3.0/TLS 1.0 protocol vulnerability affecting CBC ciphers, which cannot be handled by some broken SSL implementations. This option has no effect for connections using other ciphers.
SSL_OP_SAFARI_ECDHE_ECDSA_BUG
Don't prefer ECDHE-ECDSA ciphers when the client appears to be Safari on OS X. OS X 10.8..10.8.3 has broken support for ECDHE-ECDSA ciphers.
SSL_OP_TLSEXT_PADDING
Adds a padding extension to ensure the ClientHello size is never between 256 and 511 bytes in length. This is needed as a workaround for some implementations.
SSL_OP_ALL
All of the above bug workarounds.

man1.1.1

The following bug workaround options are available:
SSL_OP_SAFARI_ECDHE_ECDSA_BUG
Don't prefer ECDHE-ECDSA ciphers when the client appears to be Safari on OS X. OS X 10.8..10.8.3 has broken support for ECDHE-ECDSA ciphers.
SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS
Disables a countermeasure against a SSL 3.0/TLS 1.0 protocol vulnerability affecting CBC ciphers, which cannot be handled by some broken SSL implementations. This option has no effect for connections using other ciphers.
SSL_OP_TLSEXT_PADDING
Adds a padding extension to ensure the ClientHello size is never between 256 and 511 bytes in length. This is needed as a workaround for some implementations.
SSL_OP_ALL
All of the above bug workarounds plus SSL_OP_LEGACY_SERVER_CONNECT as mentioned below.

SSL_OP_CRYPTOPRO_TLSEXT_BUG is missing in doc version 1.1.1
But I searched SSL_OP_CRYPTOPRO_TLSEXT_BUG in tag OpenSSL_1_1_1a, OpenSSL_1_1_1u, OpenSSL_1_1_1, it exists and is included in SSL_OP_ALL, so is it just missing in doc?

is it just missing in doc?

Yes, its just missing in the doc.

The version 1.1.1 is not supported anymore. Closing. If this is still an issue with currently supported releases, please open a new issue.


Rework parameters and add ADR

How to design command line?
Options:

File always has to be given and file name at end: [-d <directory>] [-i] [<input>]. Current directory is used if no -d is given. If  <input>  is missing: help is printed
Directory always has to be given and directory name at end: [-f <file>] [-i] <directory>. If -f is not provided: Output to stdout without reading any index file

Chosen option: File always has to be given and filename at end. Reason: Consistency to markdown-toc. See https://github.com/jonschlinkert/markdown-toc#cli.
Please rewrite current CLI  to this and update documentation accordingly.

Fixed in 2.0.0. The ADR is ADR-0004.


Allow dictconf to be null

config for loggers, callbacks and algorithms can now be overridden via commandline.
Example:
composer main.py yamls/mosaic_gpt/125m.yaml algorithms=null

when you say "can be overridden," do you mean "can be set to None" specifically? And did this not work before? I didn't try it but I would expect [whatever(k, v) for k, v in cfg.get(maybe_dict, {}] to result in [] if maybe_dict is None. Could just be me not understanding some details about omegaconf though.

It didn't work before. with composer main.py yamls/mosaic_gpt/125m.yaml algorithms=null cfg.get('algorithms', {}) results in None and that has no items method.

@dblalock Thanks for the suggestions. Accepted and will merge if the tests pass.

@dskhudia heads up, I think we need to rebase this change on main now that #90 has been merged.

So I think we accidentally merged (cfg.get('algorithms' or {}) instead of (cfg.get('algorithms') or {}). Which probably won't work?

uh-oh! Let me make fix PR. I am surprised CI tests didn't detect it.

@dblalock added https://github.com/mosaicml/examples/pull/101


hostname "host-name.domainname.com" does not match the server certificate

Hi, I'm trying to use the examples/compose style of implementing a Portus and Docker registry on the same host using SSL with certificates from Letsencrypt. I think I have most everything working and can get to the initial Portus setup screen and create an admin account.
But when I try to add the registry with SSL, I get the webpage error SSL error while communicating with the registry ... In the server console where I ran docker-compose up I get this error:
portus_1    | Started POST "/admin/registries" for <IP_ADDRESS> at 2017-08-16 17:56:09 +0000
portus_1    | Processing by Admin::RegistriesController#create as HTML
portus_1    |   Parameters: {"utf8"=>"✓", "authenticity_token"=>"tTdKXBrJAhSPJF1Q5hICfBJwUz1AkWBcu+K2wW0Tg1OKp/8Fu50qd2PVh9cV4B/nXorxZAAQldOcRQJJxbSnTg==", "registry"=>{"name"=>"wing_docker", "hostname"=>"host-name.domainname.com", "use_ssl"=>"1", "external_hostname"=>""}, "commit"=>"Create"}
portus_1    | hostname "host-name.domainname.com" does not match the server certificate
portus_1    |
portus_1    | Registry not reachable:
portus_1    | #<Registry id: nil, name: "wing_docker", hostname: "host-name.domainname.com", created_at: nil, updated_at: nil, use_ssl: true, external_hostname: "">
portus_1    | SSL error while communicating with the registry, check the server logs for more details.

On the actual Docker registry/Portus host, the hostname host-name.domainname.com is hard-coded to the internal private IP address into the hosts file. All the testing I'm currently doing is on another internal host which also has hard-coded hostname to internal private IP address of the Portus/Registry host. Although probably not relevant, externally it's referenced correctly by outside DNS to the public IP.
In the .env file, I have a line MACHINE_FQDN=host-name.domainname.com
And my nginx.conf file has this part:
  server {
    listen 443 ssl http2;
    server_name host-name.domainname.com;
    root /srv/Portus/public;

For Letsencrypt, I ran this command:
certbot certonly --manual -d host-name.domainname.com --preferred-challenges dns
Copied the fullchain1.pem to ./secrets/portus.crt
Copied the privkey1.pem to ./secrets/portus.key
My docker-compose.yml is default
Thanks for any help. I'm really stumped as to how to get more debugging information out of this stack

It appears to do the same thing even with a self-signed certificate created like this:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout portus.key -out portus.crt

This is still an issue even after attempting the cached version of head mentioned in 1386

I've isolated the source code for this error down to:
Portus-master/lib/portus/http_helpers.rb
    def get_response_token(uri, req)
      options = { use_ssl: uri.scheme == "https", open_timeout: 2 }

      Net::HTTP.start(uri.hostname, uri.port, options) do |http|
        http.request(req)
      end
    end

If I change this to:
    def get_response_token(uri, req)
      options = { use_ssl: uri.scheme == "https", open_timeout: 2, verify_mode: OpenSSL::SSL::VERIFY_NONE }

      Net::HTTP.start(uri.hostname, uri.port, options) do |http|
        http.request(req)
      end
    end

It still doesn't work and I get this error:
portus_1    | Registry not reachable:
portus_1    | #<Registry id: nil, name: "wing_docker", hostname: "host-name.domainname.com", created_at: nil, updated_at: nil, use_ssl: true, external_hostname: "">
portus_1    | Error: registry does not implement v2 of the API.

If I try to pull up the URL directly in a browser:
https://host-name.domainname.com/v2/
I get authentication error:
{"errors":[{"code":"UNAUTHORIZED","message":"authentication required","detail":null}]}

Which I guess is kind of expected because we are trying to implement authentication with the Docker registry.
Anyone have any insight on where to go next? Either I have something wrong with the (mostly) default implementation of the Portus example production docker-compose setup or their is mistake in the current Github code.

I'm not sure what's going on with the Portus project. I see lots of prior commits and contributors, and the website/documentation looks very appealing. To me the instructions are inaccurate and overall deployment strategies seem inconsistent and incongruent. Also there appears to be an exceptional amount of open Github issues.
Ultimately, I was not able to get any of the configurations in the example source dir to work with current codebase, nor could I find any helpful resources.
I did, however, discover the VMware harbor private registry system which installed correctly the first time and runs just fine for my purposes. I had hoped to use something more aligned with OSS principles, but I'll have to pass on Portus for now and take a look at it again in the future to see if things have gelled a bit better here.

Hi @generationtech. Sorry for taking so long to reply back (you got me on my vacations and then I was caught up with other high pressing issues...).
Regarding your issue, this is a known one (I just created #1418 to track all the duplicates). The current pipeline is broken due to quite some upgrades on gems and ruby. This is to be expected for opensuse/portus:head, but as you are mentioning this results in a really bad experience for newcomers. We'll try to keep the master branch more stable in the future...
Once #1418 is fixed I'll go back to all the duplicates and check if they are fixed.
Sorry for the inconvenience 😞 ...


chore: release main

:robot: I have created a release beep boop
core: 0.2.0
0.2.0 (2024-06-13)
Features

add table of content block (0ce70ba)
getAllPages only returns array of page objects (31582a8)
pass custom renderers (8dd407c)
responsive column_list (c9e10f3)

react: 0.2.0
0.2.0 (2024-06-13)
Features

add table of content block (0ce70ba)
pass custom renderers (8dd407c)

Dependencies

The following workspace dependencies were updated

dependencies

@nostagik/core bumped from ^0.1.0 to ^0.2.0

This PR was generated with Release Please. See documentation.

:robot: Created releases:

core-v0.2.0
react-v0.2.0
:sunflower:


Automated cherry pick of #3696: fix: network-delete may fail immidiately after deleting vm

Cherry pick of #3696 on release/2.13.
#3696: fix: network-delete may fail immidiately after deleting vm

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.13@2247b71). Click here to learn what that means.
The diff coverage is 0%.

@@              Coverage Diff               @@
##             release/2.13   #3698   +/-   ##
==============================================
  Coverage                ?   6.95%
==============================================
  Files                   ?     500
  Lines                   ?   83966
  Branches                ?       0
==============================================
  Hits                    ?    5836
  Misses                  ?   77633
  Partials                ?     497

Flag
Coverage Δ

#aFlag
6.95% <0%> (?)

Impacted Files
Coverage Δ

pkg/compute/models/vpcs.go
1.76% <0%> (ø)

pkg/compute/models/networks.go
0.56% <0%> (ø)

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 2247b71...adc58a3. Read the comment docs.


Cluster services/pods secondary subnets overlap causing service IP issues.

Thanks for open-sourcing the modules,
We had couple issues with overlapping cluster services IPs / pods IPs (services IPs becoming unreachable) that we traced to having both services and pods share the same secondary range. (https://github.com/gruntwork-io/terraform-google-gke/blob/ea5c97eec4030b6413f71eaaecd7385c09c340dc/modules/gke-cluster/main.tf#L38)
As per https://cloud.google.com/kubernetes-engine/docs/how-to/alias-ips#secondary_ranges the ranges have to be different, either by letting GKE create them or specifying them.
We're currently looking into tweaking the module to allow gke to create secondary ranges such that we don't have to refactor the vpc module for multiple secondary ranges. Wondering if anyone else had to deal with this.

The way we addressed it is essentially by changing the ip_allocation_policy for the creation of the cluster, passing new variables to the module:
  node_ipv4_cidr_block     = cidrsubnet("<IP_ADDRESS>/16", 9, 509) # pick a "/25" max 124 nodes
  cluster_ipv4_cidr_block  = "/17"                             # pick a "/17" max 32k pods
  services_ipv4_cidr_block = "/22"                             # pick a "/22" max 1k services
  network                  = module.vpc.network

change for google_container_cluster:
  ip_allocation_policy {
    create_subnetwork = "true"
    subnetwork_name   = "${var.name}-subnetwork-k8s"

    node_ipv4_cidr_block     = var.node_ipv4_cidr_block
    cluster_ipv4_cidr_block  = var.cluster_ipv4_cidr_block
    services_ipv4_cidr_block = var.services_ipv4_cidr_block
  }

So the nodes are still at the edge of the public subnet sort of, while google creates the subnet

creates/allocates secondary ranges for the pods and services that won't overlap.

Obviously, this requires couple tweaks at the vpc module, such as nat for the new subnet. To play nice with this, we've updated the google vpc network module to allow custom subnets. So calling with new variables:
extra_subnet_nat = [{
    name = "${var.name}-devtools-subnetwork-k8s"
    },
  ]```

and then in the `main.tf` of the vpc module would pick up the links

```tf
data "google_compute_subnetwork" "extra_nets" {
  count  = length(var.extra_subnet_nat)
  name   = "mgmt-devtools-subnetwork-k8s" #var.extra_subnet_nat[count.index].name
  region = var.region
}

and then feeding them to google_compute_router_nat
  subnetwork {
    name                    = google_compute_subnetwork.vpc_subnetwork_public.self_link
    source_ip_ranges_to_nat = ["ALL_IP_RANGES"]
  }

  dynamic "subnetwork" {
    for_each = var.extra_subnet_nat
    iterator = extra_subnet_nat
    content {
      name                    = data.google_compute_subnetwork.extra_nets.*.self_link[extra_subnet_nat.key]
      source_ip_ranges_to_nat = ["ALL_IP_RANGES"]
    }
  }

Now I'm going to close this issue, because technically using the public secondary range for both pods and nodes works, even for vpc native clusters. And has the added benefit of routable cluster IPs, but in our experience it does cause issues when clusters grow.

@one1zero1one - we've just encountered the same issue and quickly reached IP exhaustion as a result.
Given the implications of these ranges being set too small, it'd certainly be good to be able to configure them as recommended in the documentation.  I think it might be worth re-opening this issue as I expect other people will have the same requirement?

Hi @one1zero1one @dijitali
I'm re-opening the issue. PR very welcome!

Ta @autero1.  I'm putting something together now (although @one1zero1one, if you already have something in a state to PR then lemme know!).

I wasn't too sure about the approach suggested above.  I think it would mean relying on the gruntwork-io/terraform-google-network module allocating some of the subnet ranges but then uses functionality in the google_container_cluster.ip_allocation_policy to auto-create additional secondary_ip_ranges?  That seems a bit complex to manage the IP range allocation in two places?
I'm wondering if a cleaner approach would be to have the gruntwork-io/terraform-google-network module create all of the VPC network and subnet ranges and just reference the additional secondary_ip_range by name in this module with a new var.services_secondary_range_name variable?:
resource "google_container_cluster" "cluster" {
...
  ip_allocation_policy {
    // Choose the range, but let GCP pick the IPs within the range
    cluster_secondary_range_name  = var.cluster_secondary_range_name
    services_secondary_range_name = var.services_secondary_range_name
  }
...
}

So instead the google_compute_subnetwork.vpc_subnetwork_public and vpc_subnetwork_public would generate two secondary_ip_range blocks.
@autero1 - are you happy with this approach before I get started?  Since we'd need to make the changes in gruntwork-io/terraform-google-network module backwards compatible, it might use the new tf 0.12 dynamic nested block functionality to still create a single secondary_ip_range by default but also support this functionality.

@dijitali unfortunately the path we took is highly opinionated (as described in the comment https://github.com/gruntwork-io/terraform-google-gke/issues/52#issuecomment-515121493) because essentially we went for asking GKE to create the subnets for us as it sees fit anywhere across the VPC network, and then nat them in the VPC module. Reason for that is the amount of clusters we need, but for most shops your approach seems good.

I'm wondering if a cleaner approach would be to have the gruntwork-io/terraform-google-network module create all of the VPC network and subnet ranges and just reference the additional secondary_ip_range by name in this module with a new var.services_secondary_range_name variable?:

@dijitali I think adding a new variable services_secondary_range_name is a sane approach. We can make the change backwards compatible by assigning null default value to the var.services_secondary_range_name and keep on using var.cluster_secondary_range_name for  services_secondary_range_name if no value provided.

@autero1 I think i realised you thoughts correctly.


Popcorn JS broken on YouTube videos (again)

It appears that all events/functions related to time no longer work. No fix available yet. Might want to look into finding another hosting provider, or looking into how hard it would be to implement the functionality needed with YouTube's v3 API?

Will it work if I uploaded the videos to vimeo instead?
Have you any idea if that platform / hosting is more stable?
On 28 July 2015 at 12:21, Dan Sebastian Thrane<EMAIL_ADDRESS>wrote:

It appears that all events/functions related to time no longer work. No
fix available yet. Might want to look into finding another hosting
provider, or looking into how hard it would be to implement the
functionality needed with YouTube's v3 API?
—
Reply to this email directly or view it on GitHub
https://github.com/DanThrane/interactive-videoes-grails/issues/17.

Just tried to implement a small proof of concept, it seems to work.

YouTube seems to be working again with no changes (not even to PopcornJS). Added option for Vimeo regardless.


Difference between dino flashinternimage-b and dino flashinternimage-l

Referring to the README and https://huggingface.co/OpenGVLab/DCNv4/tree/main, the weights for dino_4scale_flash_internimage_b_1x_coco.pth is somehow 1.39GB while the supposely larger backbone dino_4scale_flash_internimage_l_1x_coco.pth is only 964MB. Is this to be expected?
Given that the flash intern image Large backbone is already 1.25GB flash_intern_image_l_22k_384.pth, I am suspecting that the checkpoint was saved wrongly

We apologize for the misunderstanding. We removed the optimizer parameter in dino_4scale_flash_internimage_l_1x_coco.pth to halve the model size, which makes it easier for us to upload the model.

Thanks for clarifying.


Fix race in test autostart test case

Description
This PR fixes a race condition in the test_autostart test case.
When the server starts up, it starts an agent process for the internal agent. This agent process makes a call to the server to obtain the autostarted_agent_map. Like this it might happen that the agent map is updated before it's fetched by the agent. The result is that the call to _ensure_agents() returns False, because the agent is already running, causing the assertion to fail.
I remove the assertion, because I don't see the value of it. Let me know if you see any reason to keep it.
02:41:36 ________________________________ test_autostart ________________________________
02:41:36
02:41:36 server = <inmanta.server.protocol.Server object at 0x7fdf6940b5d0>
02:41:36 client = <inmanta.protocol.endpoints.Client object at 0x7fdf29b064d0>
02:41:36 environment = '69cb542a-3f75-48a2-b28a-2b20197309c3'
02:41:36 caplog = <_pytest.logging.LogCaptureFixture object at 0x7fdf5f073510>
02:41:36
02:41:36     @pytest.mark.slowtest
02:41:36     async def test_autostart(server, client, environment, caplog):
02:41:36         """
02:41:36         Test auto start of agent
02:41:36         An agent is started and then killed to simulate unexpected failure
02:41:36         When the second agent is started for the same environment, the first is terminated in a controlled manner
02:41:36         """
02:41:36         env = await data.Environment.get_by_id(uuid.UUID(environment))
02:41:36         await env.set(data.AUTOSTART_AGENT_MAP, {"internal": "", "iaas_agent": "", "iaas_agentx": ""})
02:41:36
02:41:36         agentmanager = server.get_slice(SLICE_AGENT_MANAGER)
02:41:36         autostarted_agentmanager = server.get_slice(SLICE_AUTOSTARTED_AGENT_MANAGER)
02:41:36         sessionendpoint = server.get_slice(SLICE_SESSION_MANAGER)
02:41:36
02:41:36         await agentmanager.ensure_agent_registered(env, "iaas_agent")
02:41:36         await agentmanager.ensure_agent_registered(env, "iaas_agentx")
02:41:36
02:41:36         res = await autostarted_agentmanager._ensure_agents(env, ["iaas_agent"])
02:41:36 >       assert res
02:41:36 E       assert False
02:41:36
02:41:36 tests/test_server.py:74: AssertionError

Self Check:

[ ] Attached issue to pull request
[x] Changelog entry
[x] Type annotations are present
[x] Code is clear and sufficiently documented
[x] No (preventable) type errors (check using make mypy or make mypy-diff)
[x] Sufficient test cases (reproduces the bug/tests the requested feature)
[x] Correct, in line with design
[ ] End user documentation is included or an issue is created for end-user documentation
[ ] If this PR fixes a race condition in the test suite, also push the fix to the relevant stable branche(s) (see test-fixes for more info)

Processing this pull request

Merged into branches iso7 in 62ddcd01eb5bac1ea0b127d5f9e9b399c3ad957e


[Manifest] Fix typo

Typo of specification
Signed-off-by: Rob Dolin<EMAIL_ADDRESS>

LGTM

LGTM

merging despite build failure as it looks like a timeout.


How to send special characters Delphi 2007?

Hi
I'm Having problems making a post call to a rest webservice, i have to send full names of persons, but when they have special characters (like: ñ, á, é, í,  ü)  it causes error.
For example if you have a name like  "Juan Peña López" that have two special characters.
How can I tell the restclient to manage those special characters ?
Here is my code:
function obtenLista(pFullName : String) : WideString;
var
  restClient : TRestClient;
  lJsonToSend : TStream;
  lResponse: WideString;
begin
  Try
	 // If pFullName is for example "Juan Peña López" it throws error
	lJsonToSend := TStringStream.Create('{ "fullName" : "' + pFullName + '" }' );

	 restClient := TRestClient.Create(Nil);
	 restClient.ConnectionType := hctWinHttp;
	 restClient.VerifyCert := False;

	try
	  lResponse := restclient.Resource('http://api.url.com/endpoint')
							 .Accept(RestUtils.MediaType_Json)
							 .Header('Authorization','Bearer ' + _authToken)
							 .ContentType('application/json')
							 .Post(lJsonToSend);
	  Result := lResponse;
	except
	  on E: Exception do
		ShowMessage('Error: ' + #13#10 + e.Message);
	end;

  Finally
	restclient.Free;
	lJsonToSend.Free;
  End;
end;

If I do the same in Postman with the same input, the server responds correctly, but from delphi it throws the next error
Could not read document: Invalid UTF-8 middle byte 0x70
at [Source: (PushbackInputStream); line: 1, column: 50]; nested exception is com.fasterxml.jackson.core.JsonParseException: Invalid UTF-8 middle byte 0x70
at [Source: (PushbackInputStream); line: 1, column: 50]
Thanks in advance

Ok, so i finally ran into an answer, the solution is to use the overloadd version of the post method that receives an string (intead of TStream), and to that string parameter apply the AnsiToUtf8 function that comes in the System unit
var
    lJsonToSend : WideString;
begin
  .
  .
  .
  lJsonToSend := AnsiToUtf8('{ "fullName" : "' + pFullName + '" }' );
 .
 .
 .
Response := restclient.Resource('http://api.url.com/endpoint')
							 .Accept(RestUtils.MediaType_Json)
							 .Header('Authorization','Bearer ' + _authToken)
							 .ContentType('application/json')
							 .Post(lJsonToSend);

And that's it. I hope it helps someone else. let me know.


Bug with $asPromise()

I'm not sure what's going on but say I have the following scenario:
var Course = restmod.model();

var Group = restmod.model().mix({
  course: { hasOne: 'Course'}
});

var User = restmod.model('/user').mix({
  group: { hasMany: 'Group' },
});

For the route /users/:id/groups/:id/course
I run into a scenario where I want to fetch all the courses on route resolve in ui-router.
courses: function($q, user, groups) {
    var deferred = $q.defer();

     var promises = groups.map(function(group) {
        return group.course.$fetch().$asPromise(); // overwrites course.id somehow? bug.
     });

     $q.all(promises).then(function(courses) {
        var id = courses[0].id;
        if (_.every(courses, function(course) {
           return course.id === id;
        })) {
          deferred.reject('all the same ids?');
        } else {
          deferred.resolve('all courses were loaded');
        }
     });

    return deferred.promise;
}

Believe it or not, this fails. Why? No idea. Bug? Also, is there a better way to do this? I couldn't find anything in the docs.

Nvm. My fault. Bug in mocks. Carry on.


relative import affecting browserify

This line:
https://github.com/indutny/asn1.js/blob/0abb73e0058907b6c7c2160605cd432de0e530ac/rfc/5280/index.js#L4
Is affecting other projects when using browserify, see:
https://github.com/bitpay/copay/issues/7001

Should be fixed now, sorry for inconvenience.

Hello @indutny, did you push<EMAIL_ADDRESS>to npm?

It was pushed out in 4.9.2, prior to 4.10.0 unpublish.

This package still presents the bug:
https://www.npmjs.com/package/asn1.js-rfc5280

@guerrerocarlos which version did you try? 2.0.1 should have the fix.


When trying to run the create-table.js script, this error shows

NOTION_TOKEN=
'8b37e3c2f5a6b88b8cf06153b85cc2fef716e75a2a0bfdc0776b78140104bcc730a931f0c7a5fda1812b8841462116e4d46b0d5a5c7692b1f8fba7a6612430eb13cfee8d9441f38ecfa115fe8e21'
BLOG_INDEX_ID=
'508aa820-0e7d-495a-85e4-7f1fb98b4330'
node scripts/create-table.js
(node:99922) UnhandledPromiseRejectionWarning: TypeError: Cannot convert undefined or null to object
at Function.keys ()
at getExistingexistingBlockId (/home/lucas/Desktop/gitrepostocheck/mom-blog/src/lib/notion/createTable.js:349:21)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
at async main (/home/lucas/Desktop/gitrepostocheck/mom-blog/src/lib/notion/createTable.js:20:25)
(Use node --trace-warnings ... to show where the warning was created)
(node:99922) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:99922) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Before answering to your question, you should revoke your token by logging out from notion as soon as possible.
Otherwise everyone can see and modify all notes in your notion account.

Thank you ;)

I have the same problem. Looks like notion using https://www.notion.so/api/v3/loadPageChunk instead of https://www.notion.so/api/v3/loadCachedPageChunk.


Part 6 fails on Mac

known issue
https://github.com/yosukefk/finn_preproc/issues/59

I think this fixes the problem:  https://github.com/NCAR/finn-preprocessor/commit/864f3cc544636e7eee861baa4400a4c9c7493b54
Somehow, on Mac, file encoding of the *.sql file seem to be causing issue.


Write a Python program to convert feet to inches

Description
Write a Python program to convert feet to inches
1 foot = 12 inches
Input  : 5
Output : 60

How to contribute

Save the solution in convert-feet-to-inches.py file
Add convert-feet-to-inches.py file in program/convert-feet-to-inches folder

!assign


go into error except in chrome debugging

I use fetch to post a base64 image data and always go into error in debug or release. when i open debug js, it success. what's wrong. is it anything i have to setting?

Hi @MervynFang , I'll try to figure it out, thanks for informing !

I just try in android.
and it can probably be the problem of atob.
The Error Message is:
ReferenceError: Can't find variable: atob

@MervynFang , It seems atob is not supported in js context, and also Blob type, perhaps I have to change the API and documents ..
If you're going to post a BASE64 encoded image, you can just put the string into body, like

      RNFetchBlob.fetch('POST', 'https://content.dropboxapi.com/2/files/upload', {
        Authorization : "Bearer ...",
        more headers ...
        'Content-Type' : 'application/octet-stream',
      }, resp.base64())
      .then((resp2) => {
        console.log(resp2.text())
      })

and it will be transformed into something like Blob in native, I think manually doing atob is unnecessary.

@wkh237 got it, thanks a lot


Perception: refine DisjointSetFindLoop

@xmyqsh Please re-tag your pull request.

@techoe
All right. Just reduce two same add operations to one.


packages in packagist.org only has lowercase letters. Need to cater the templates for this

The packages in packagist are lower case always.
I usually have my repos in GitHub named in CamelCased for those people who wished to install via GitHub.
The templates inside the travis should consider this scenario

Feel free to provide a PR here.


Add support for multiple audio tracks

The tests just need MediaPlayer.on and dashjs.MediaPlayer.events mocked


Monthly email report

Looks fine. Let's merge the emailLib refactor PR before merging this one.