Fail install docker on Mac 10.9

Hi,
It fail when install docker on Mac 10.9, and  error info as below:
I try to remove virtual box and installed 4.3 version, but no use and it still fail.
How I can do to solve this issue. THX!

Last login: Wed Aug 19 22:23:30 on ttys000
bash
. '/Applications/Docker/Docker Quickstart Terminal.app/Contents/Resources/Scripts/start.sh'
garydeMac:~ gary$ bash
bash-3.2$ . '/Applications/Docker/Docker Quickstart Terminal.app/Contents/Resources/Scripts/start.sh'
Machine default already exists in VirtualBox.
Starting machine default...
exit status 1
Started machines may have new IP addresses. You may need to re-run the docker-machine env command.
Setting environment variables for machine default...
                ##         .
              ## ## ##        ==
           ## ## ## ## ##    ===
       /"""""""""""""""""\___/ ===
  ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ /  ===- ~~~
       \______ o           __/
         \    \         __/
          \____\_______/

host is not running
docker is configured to use the default machine with IP
For help getting started, check out the docs at https://docs.docker.com
default is not running. Please start this with docker-machine start default
bash-3.2$

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

I'm seeing the same thing. I installed the newest docker toolbox 1.8.1b for Mac. I've tried deleting and letting the default machine get recreated, but it still behaves the same.
OS X 10.11 Beta (15A262e)
Virtual Box 5.0.2 (as installed by the toolbox)
bash-3.2$ docker version
Client:
 Version:      1.8.1
 API version:  1.20
 Go version:   go1.4.2
 Git commit:   d12ea79
 Built:        Thu Aug 13 02:49:29 UTC 2015
 OS/Arch:      darwin/amd64
Get http:///var/run/docker.sock/v1.20/version: dial unix /var/run/docker.sock: no such file or directory.
* Are you trying to connect to a TLS-enabled daemon without TLS?
* Is your docker daemon up and running?

bash-3.2$ docker info
Get http:///var/run/docker.sock/v1.20/info: dial unix /var/run/docker.sock: no such file or directory.
* Are you trying to connect to a TLS-enabled daemon without TLS?
* Is your docker daemon up and running?

bash-3.2$ uname -a
Darwin silverbook.local 15.0.0 Darwin Kernel Version 15.0.0: Mon Aug 10 17:09:09 PDT 2015; root:xnu-3247.1.99~3/RELEASE_X86_64 x86_64

Same problem here. Installed Docker Toolbox, immediately came to the error below.
MBP 2015 running 10.10.4
                    ##         .
              ## ## ##        ==
           ## ## ## ## ##    ===
       /"""""""""""""""""\___/ ===
  ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ /  ===- ~~~
       \______ o           __/
         \    \         __/
          \____\_______/

host is not running
docker is configured to use the default machine with IP
For help getting started, check out the docs at https://docs.docker.com
default is not running. Please start this with docker-machine start default
bash-3.2$ docker version
Client:
Version:      1.8.1
API version:  1.20
Go version:   go1.4.2
Git commit:   d12ea79
Built:        Thu Aug 13 02:49:29 UTC 2015
OS/Arch:      darwin/amd64
Get http:///var/run/docker.sock/v1.20/version: dial unix /var/run/docker.sock: no such file or directory.

Are you trying to connect to a TLS-enabled daemon without TLS?
Is your docker daemon up and running?
bash-3.2$ docker info
Get http:///var/run/docker.sock/v1.20/info: dial unix /var/run/docker.sock: no such file or directory.
Are you trying to connect to a TLS-enabled daemon without TLS?
Is your docker daemon up and running?
bash-3.2$ uname -a
Darwin stephens-mbp.davis.local 14.5.0 Darwin Kernel Version 14.5.0: Wed Jul 29 02:26:53 PDT 2015; root:xnu-2782.40.9~1/RELEASE_X86_64 x86_64
bash-3.2$

I had this same problem yesterday. I fixed it by removing VirtualBox 5.0.2 completely, and manually installing VirtualBox 4.3.3. It seems as though the current version of the Docker Toolbox isn't compatible with VirtualBox 5 on Mac yet.
Hope this helps you out.

/cc @jeffdm

@chrisburnett , thanks! I had a similar problem and your solution did the trick!

I had the same issue. Reinstalling Virtual Box 4.3 worked to some extent but I am now receiving the following error:
docker is configured to use the default machine with IP <IP_ADDRESS>
For help getting started, check out the docs at https://docs.docker.com
open /Users/charliewade/.docker/machine/machines/default/server.pem: no such file or directory

I solved this issue as following steps:

Virtualbox : enable VTX option for CPU
Virtualbox: OS must select 64bit OS for Linux.

Then it's OK now! This is not Virtualbox version issue but the configuration issue.

Another point you must pay attention is you need to shutdown the virtualbox correctly, quit Mac without  correctly shutting down virtualbox will cause bad start issue for it and even will loss data of your docker.

Confirming that I'm only able to run the latest docker tools with VirtualBox 4.3.30, not the 5.x version installed by Docker Toolbox.

VBox issue at: https://www.virtualbox.org/ticket/14412
Test-Build 5.0.x with fix for that issue at: https://www.virtualbox.org/wiki/Testbuilds
fixed it for me.

Thanks @fastrde - that worked for me.

Confirmed using a test build of 5.0.3 resolved the issues for me.

same with 5.0.3

hmm 5.0.3 (r102467) didn't solve the issues for me .
Error is:
VT-x is disabled in the BIOS for both all CPU modes (VERR_VMX_MSR_ALL_VMX_DISABLED).
Result Code:
NS_ERROR_FAILURE (0x80004005)
Component:
ConsoleWrap
Interface:
IConsole {872da645-4a9b-1727-bee2-5585105b9eed}

VT-x is disabled in the BIOS for both all CPU modes (VERR_VMX_MSR_ALL_VMX_DISABLED).

Looks like VT-x is disabled (or not available) on your computer; these articles describe how to check if this is supported and/or enabled on your computer: http://kb.parallels.com/en/5653 https://support.apple.com/en-us/HT203296

I had the exact same problem and figured it was a permission problem on my /Application directory (visible when I tried to start the "default" directly in VirtualBox).
Running "Repair Disk Permission" from the "Disk utility" as described in this post solved my issues: https://forums.virtualbox.org/viewtopic.php?f=8&t=47705

I had the same problem as well. Ran Repair Disk Permission but didn't help. I had to change permissions on my /Users/henrik/.docker directory, adding Group Writable:
$sudo chmod -R g+w /Users/henrik/.docker
After this I can start the Docker QuickStart Terminal as I'm supposed to. The Kinematic GUI works as well.

+1

USER POLL
The best way to get notified when there are changes in this discussion is by clicking the Subscribe button in the top right.
The people listed below have appreciated your meaningfull discussion with a random +1:
@xacaxulu

@lixgbg - Thank you . That worked for me :)

ping @mchiang

ping @mchiang0610

@lixgbg - Thank you. That worked

@fastrde Thanks :) Worked like a charm

thanks for the working reports. Closing as fixed.


Compatibility with Mongoid 7

Donate $50 to my charity and I can take care of it.

Hi @dblock, I'd be happy to sponsor this and I just donated $50.

I started in #221

I have a green build in https://github.com/mongoid/mongoid-history/pull/221. Give it a try?
gem 'mongoid-history', github: 'dblock/mongoid-history', branch: 'mongoid-7'

Could I please get a code review from maybe @johnnyshields or @aq1018?

Released in 0.8.1.


Scaffold a new example – a collaborative note taking app

This is the very base of a Notes example, which will use automerge-rs for collaborative editing of notes. I'm planning to use NATS as the synchronisation substrate.
A rough plan for this is:

Build a core for a basic plaintext editing app
Add collaborative capabilities with automerge
Persist the documents locally
Sync changes over a channel with pub/sub semantics and persistance (assume infinite to start with)
Build a web shell in React
Build an iOS shell
Build an Android shell
Add ability to have multiple notes and create new notes
Share notes via URL or QR code

All in all, should take a couple hours :D

Current dependencies on/for this PR:

master

PR #54   👈

This comment was auto-generated by Graphite.


Private to public: release note for Hub 09/05

Deploy preview for docsdocker ready!
Built with commit fbd8a16934484961c1af5b52c7b70207ce8bdfa3
https://deploy-preview-9408--docsdocker.netlify.com


remove download buttons for tables

streamlit now has download option for all displayed table

can disable this button from pandas_eda.streamlit_app.display_and_download, but actually it's easier to use than the streamlit build in download option

for now, dropping this issue as current state is better


Sorry to open a new Issue coming  from  #550

Sorry to open a new issue i don't know if  you  @nicolocarpignoli  could see the comments in a closed issue ,but the #550 dosen't solved
with my testing Border color only  working with Android ，not IOS
Android ：huawei mate 20 pro                                    （working）
IOS ：iphone 7   IOS12.1    and iphone 6 plus IOS12  （not working）

Yes, I can see comments, don't worry. Anyway, we can continue here.
Can you please send screenshot, and also send console.logs if there is some log. from iphone. it is very strange. the behaviour has to be the same

Here is the screenshot,i don't know how to get console.logs,maybe you could tell me how then  i will send to you

and in fact the model show up for maybe 1 second before it disappear after i reload the page

@jamess922 Can you link it to us?
You can get the developer console by going to your laptop webbrowser (like google chrome) and press f12.
Can you do this in safari mobile?
https://www.dummies.com/web-design-development/how-to-use-developer-tools-in-safari-on-ios/
Or safari apple computer:
https://support.apple.com/guide/safari/use-the-developer-tools-in-the-develop-menu-sfri20948/mac

It's not available right ,but I will try to make it happen!!!
I did some google iphone looks need an apple computer to get developer tool

Is that any good news？

Huh? Have you tried to open the site on a windows computer and opened the developer console on chrome?
You just open chrome, go to the website, and press f12 (a menu will pop up, and go to "console").

 I can see that switch02Btn is not defined.
That would mean that something is wrong with the code.
It is hard to determine what to do when we do not have the code.
Can you somehow provide us with the source code?
Either by linking to the website, or post the source code on https://glitch.com/ ?

It's because i didn't clean up my code，just ignore this error whe it's  working
As i said when i use a marker with black border （it's working,the model shows up）I also get this switch02Btn error.so i don't think it's because this one

So @commentatorboy you could working with iphone when using this Border color function ？

Unfortunately I do not have time to create an example to test.
Although you could just use the example here:
https://github.com/jeromeetienne/AR.js#augmented-reality-for-the-web-in-less-than-10-lines-of-html
Instead of having your 3D figure, try and add an a-box. Does the above code work on Iphone and android?
The reason why Iphone might not work is because apple are very strict on javascript and html. If there are any mistakes/errors it might break everything.


Several issues with the Outliner extension

What is happening?
Screenshot below shows most of these bugs

Cannot scroll the outliner when there are more headings than it can fit
Headings overfill outside the outliner panel
Indent levels are broken - when there are two indents (h1 -> h2 -> h3), another h1 after this only goes down by one indent level, and subsequent headings are also over indented by one level
Indentation lines are showing even when they are turned off (for both table of contents and outliner)
Indentation lines aren't properly extending all the way down - they cut off when there is a heading one level higher
Font size is too big when used with Neutral theme (also in #20)

These aren't really bugs, but would probably be good to have for consistency

Empty headings should say "Untitled" instead of "Heading #" to match what is shown by the regular TOC
h1 -> h3 should have two indents instead of one. There is also only one indent in the regular TOC, could be a possible feature?

What should be happening?

Able to scroll (and show a scrollbar?) if there are too many headings to fit on the panel
Text should be cropped by the size of the outliner panel
Indent levels should be consistent - no indent for h1, 1 level for h2, 2 levels for h3
Indentation lines should not be showing
Indentation lines should extend downwards until it hits another heading of the same level
Font size should be the same as in other themes

Screenshots (if applicable):

^ Bugs 1-7. Highlighted "Heading 1" is an empty heading (7.)

^ Bug 8 (2 indents for h1 -> h3)
Operating system/browser name & version:
Windows 10 21H1
notion-enhancer and/or notion-repackaged version:
Notion repackaged v0.11.0
notion-enhancer configuration (enabled/disabled mods and their settings):

Theme: Neutral
Icon sets integration
Tweaks: thicker bold text, wrap tables to page width, hide "Type '/' for commands"
Integrated titlebar
Tray
Tabs
Outliner
Scroll to top
Indentation lines: no TOC, no outliner
Simpler databses
Topbar icons: all on
Truncated titles

Another Issue I have with Outliner (both on osx and windows). If you have a inline table on a full width page and and pin the Outliner to the right (so it stays open) the tables width won't reduce and a horizontal scrollbar for the whole page appears because the table overflows the page horizontally. I'm not sure if other people also encountered that problem. Should I open another issue or do you want to include it here?
Steps to reproduce:

Create Page
Set Page to "Full Width"
Create a new empty inline table
Pin Outliner to the right


Accessibility

There really is no  accessibility considerations on this project. It would be nice to hover over each candy and have a screen reader read the color and shape. Im not sure if this is possible but at the very least it would be worth looking into.

Hey Lex! I'll take a shot at it! :) This game is so cute!

Awesome, its yours!

Closing because this is too vague of an issue. Will work on a few more specific issues for accessibility latter


Play one audio at a time

It should pause already playing audio when user click play button for another audio.

Just to comment on this - I'm building an app right now that is dependent on playing multiple audio files at the same time, so I wouldn't want this behavior as the default. The developer has complete control right now pause all other audio before playing a different track, and I personally think that's how it should remain. Cheers!

When this commit is going to be merged in 2.0 branch?

I think @alkrauss48 is right. The developer can control when/if to stop all other audio using the API.

@alkrauss48 : How can one control the behavior? I tried but it seems it requires patch like the one provided by @chahalsukhveer .
Are there any events on which I can register a function?

@dhaval85 You are right, it looks like there is no global event to subscribe to on playback. I will submit a patch as soon as I can.

@arielfaur : Thanks man. Let me know if I can help. I haven't seen the source code of this plugin yet but can review and add some more features. Let me know if you have any specific to implement this event stuff. We can support many other than only just play event.
Besides, I think a configuration option would be good to control this behavior. What do you say?

A configuration option for what purpose?

@arielfaur  configuration option to allow multiple songs play at the same time or not.

Ok, I get it. I will look into that.

@arielfaur  Alright. Meantime I will see if I can submit a patch. Is 2.0 branch still active?

No, we are on 3.0 now.

Ahh okay. Is 3.0 compatible with Ionic 2.0?

Not really, it is based on Ionic 3 and Angular 4.

Looks like I have to consider switching to Ionic 3. Or probably whatever fixes you do in 3.0 branch. I will replicate them in 2.0.

How to solve song overlap..when i click particular song,it play well after if i return back to other page then i click any other particular song,2 songs will play at a time @arielfaur


Requirements for the next release

We have a decent backlog of changes merged since 0.6.0 (I've just realized we have ~50 PRs merged since then). This includes some important bugfixes. Are there any other changes we need before the next release?
I would say don't make big changes now, as it takes some time to stabilize it.

CC @jaoleal @JoseSK999

Not for this release then, but probably for the next one we could try to persist data during IBD and add complete consensus checks

I agree with @JoseSK999... for our sake i would keep in mind to fix logging and error handling.
We could start a discussion to separate some milestones

for a more precise response...
there some PRS that i would include in the '0.7.0' release
#286
#280
#215

Done in #293


DS-307 Add section for visual changes to PR template

Jira
https://pegadigitalit.atlassian.net/browse/DS-307
Summary
Add section for visual changes to PR template.
Details
Add a section to the PR template so we can track visual changes associated with each PR. Then, it will be easier to track visual changes that need to be relayed to the QA team for VRT.
How to test
Review file changed.

I assume this gets included with the automatically generated release notes when we create a release?  Seems sensible enough-- we should probably remind the rest of the team about it, and we'll probably want to curate the release notes a bit after cutting one.  Low tech is good enough for now though while we try out the workflow.

I assume this gets included with the automatically generated release notes when we create a release?  Seems sensible enough-- we should probably remind the rest of the team about it, and we'll probably want to curate the release notes a bit after cutting one.  Low tech is good enough for now though while we try out the workflow.

I assume this gets included with the automatically generated release notes when we create a release?

That's my assumption. We'll see with the next release.

I assume this gets included with the automatically generated release notes when we create a release?

That's my assumption. We'll see with the next release.


jekyll page not working

gh-pages branch generating jekyll page not working -- generated jekyll site (on repo url) is throwing 404 error.

Page is accessible at: https://natebaldwindesign.github.io/dragoman/. Repo url is https://natebaldwindesign.github.io/Dragoman/. Simply change the 'd' to lowercase in repo options.


Add Terraform PR Checks Workflow

Changes

Added Terraform to repo, this currently only creates an Azure Resource Group

Terraform State is managed within Azure blob storage

Variables/Secrets have also been added to GitHub (see images below)
Added Terraform PR check workflow that validates the terraform by executing Plan, Lint and Security check
Updates PR with results of Terraform Plan to this is visible within PR for everyone to review
Updated the ADRs and added 0023-executing-terraform-within-github-workflows

Example of Terraform results within PR:

GitHub Secrets/Variables:

I can't see anything around state management; is this to come later or am I just missing it?
Otherwise LGTM.

Terraform State is managed within Azure blob storage, updated PR description.


feat(dal,si-pkg): Fix secret import to module index

bors try

bors merge

bors merge

Ah yes, a missing bit, good catch!


C6503 - Function FindShptRcptEntries - Change property type

could you change property type of Local from Yes  to No

Hi,
In general I'm against making a local function global as it limits our ability to change the implementation later. Could provide and explanation of why you need this function to be global? Couldn't you use RetrieveTrackingSalesShipment to get the data you need?
thx,
Gert


EPOLL_CLOEXEC first became available in libc 0.2.14

Per https://github.com/rust-lang/libc/commit/357f97f5a692e20fc232d1ea711d49e572c2a86a

Good point! Thanks.

Merged d684f42bfae03f187fe9f6177073d5d00d10f8f2


ICMP ASGs are not validated

Issue
If a user writes an ASG for ICMP with an invalid icmp_type and icmp_code, the security-group will still be created and bound.
Steps to Reproduce
Create a new security-group with protocol icmp and invalid icmp_type and icmp_code:
ASG to write into /tmp/icmp is below:
[
   {
      "destination": "<IP_ADDRESS>/0",
      "protocol": "icmp",
      "code": 1,
      "type": 0
   }
]

The commands to run are
cf create-security-group icmp /tmp/icmp
cf bind-running-security-group icmp
cf security-groups

Expected result
Somewhere along the path, CAPI should return a helpful error message.
Current result
The invalid ASG can be created, bound, and sticks around. It doesn't cause any issues in the deployment, but is confusing.
Possible Fix
Validate ICMP codes/types.

This seems like an actionable and useful possible change.
@crawsible and @zrob could we schedule this?

To be fair, we do "validate" types and codes for icmp, they must be 0-256. The issue is we don't validate the combination of type and code, since each type has a different set of codes it supports. Is there a library for this in Ruby? I'm not sure I want to maintain the full icmp type/code spec in the capi codebase.

oh, yeah, I had not imagined how complicated these actually are to validate... see: https://en.wikipedia.org/w/index.php?title=Internet_Control_Message_Protocol
I seems like users that are using icmp ASGs are probably much more knowledgable about what is and isn't valid than we are.

This is too complicated for us to fix. I don't want to get the validation wrong and accidentally prevent valid icmp asgs. I'll leave this issue open for now just in case someone knows about a good way to do this easily and correctly.

We could not find a ruby gem that can help with this validation after a quick search. Closing this issue due to lack of activity. If a potential solution is found and this is still an issue, please feel free to reopen. Thanks!


Need help setting up LemLib.

What makes a tracking wheel "reversed"?
For the left/right I'm assuming that moving forward should increase the encoder values, and for the middle, I'm not sure.
Here's a quick video that details the issue I'm running into and also the setup of my robot:
https://media.derock.dev/3PGWwB.mp4
Code: https://github.com/ItzDerock/95993A-spin-up/
You're probably interested in src/config/config.cpp

I’ll take a look in 3-4 hours, busy with hw
On Thu, Mar 2, 2023 at 7:01 PM Derock @.***> wrote:

What makes a tracking wheel "reversed"?
For the left/right I'm assuming that moving forward should increase the
encoder values, and for the middle, I'm not sure.
Here's a quick video that details the issue I'm running into and also the
setup of my robot:
https://media.derock.dev/3PGWwB.mp4
Code: https://github.com/ItzDerock/95993A-spin-up/
You're probably interested in src/config/config.cpp
—
Reply to this email directly, view it on GitHub
https://github.com/LemLib/LemLib/issues/23, or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2SQ3WII7QAXH4VDLSAF73TW2FNKLANCNFSM6AAAAAAVOCULNM
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

when it moves to the right, X should increase. From what I could see, your odom setup looks good

but when i turn the robot 90deg and line it back up to where it started originally, shouldn't the x,y still be 0 and theta is just 90?
and when the robot is facing right and I push it forward, the x decreases instead of increasing.
https://derock.media/xxTjiR.mp4


Submitting custom PDU from Transmitter

I'm wondering is there a way to submit a custom PDU from Transmitter, not using predefined Submit and SubmitLongMsg methods?
E.g getting DELIVER_SM pdu, changing header ID to SUBMIT_SM and pushing it back to SMSC.

Not day. You'd have to implement your own method in the transmitter that builds the PDU body and calls do: https://github.com/fiorix/go-smpp/blob/master/smpp/transmitter.go#L273
The problem with allowing people to do that is that responses would get back into the async response handler pipeline and if not handled correctly it could break the connection. This is why do is only available to the Transmitter itself.


remove_punctuation() is not removing ""

>>> import texthero as hero
>>> import pandas as pd
>>> import string
>>>
>>> s = pd.Series(rf"{string.punctuation}")
>>> hero.remove_punctuation(s)
0     \
dtype: object

Hi, I could act on this question. Do you have any suggestions or can I start working from scratch?

Hey, happy to receive your PR @richecr !


http 1.0

有考虑把http支持到1.0版本以上吗

啥时候支持下http 1.0.0呢？

Have you considered supporting http to version 1.0 or above?  When will http 1.0.0 be supported?

We already have have a PR (https://github.com/wslaimin/http_proxy/pull/7) for supporting http version 1.0
This PR was created by @pbaradziej and I have reviewed it
@wslaimin can you please merge this PR?

1.2.2移除了http依赖，使用依旧


[chart] Allow to change sorting of Grouped/Stacked bars

Is your feature request related to a problem? Please describe.
In Time-series bar chart, when user creates groups of bars(grouped/stacked), the order of bars in a group/stack is based on the value of metric(descending).
In case of Bar chart, the order is based on 'breakdown' dimension value(ascending).
There is an option of selecting 'Sort by', but that is just to calculate which bars will be part of chart when series limit is applied.
Describe the solution you'd like
Here, user should be able to sort the bars based on the value of 'Group by' dimension(for time-series bar chart) or by metric value(for bar chart).
For example in below chart(sample flights data), user can sort the bars in each group/stack alphabetically(by airline company) to show 'AA' in left most or right most.

In case of bar chart, the sorting of bars is alphabetical(ascending) value of 'breakdown' dimension, it should be possiblle to change this behavior as well.

Describe alternatives you've considered
A more complex feature can be to sort the bars based on some other metric(as already available for series limit).

Any follow up on this issue, has anyone found a good workaround yet?


0.17.0 Thrift Error

Describe the bug
Code compatibility issue with thrift 0.13.0
To Reproduce
Is the issue reproducible?
Yes
Steps to reproduce the behavior:
go get<EMAIL_ADDRESS>Expected behavior
No error
Actual behavior

../../../../pkg/mod/go.uber.org/cadence@v0.17.0/internal/common/thrift_util.go:31:38: not enough arguments in call to thrift.NewTSerializer().Write
have (thrift.TStruct)
want (context.Context, thrift.TStruct)
../../../../pkg/mod/go.uber.org/cadence@v0.17.0/internal/common/thrift_util.go:47:18: not enough arguments in call to v.Write
have (thrift.TProtocol)
want (context.Context, thrift.TProtocol)
../../../../pkg/mod/go.uber.org/cadence@v0.17.0/internal/common/thrift_util.go:53:27: not enough arguments in call to t.Protocol.Flush
have ()
want (context.Context)
../../../../pkg/mod/go.uber.org/cadence@v0.17.0/internal/common/thrift_util.go:57:28: not enough arguments in call to t.Transport.Flush
have ()
want (context.Context)
../../../../pkg/mod/go.uber.org/cadence@v0.17.0/internal/common/thrift_util.go:67:39: not enough arguments in call to thrift.NewTDeserializer().Read
have (thrift.TStruct, []byte)
want (context.Context, thrift.TStruct, []byte)
../../../../pkg/mod/go.uber.org/cadence@v0.17.0/internal/common/thrift_util.go:79:21: not enough arguments in call to ts[i].Read
have (thrift.TProtocol)
want (context.Context, thrift.TProtocol)

I have the same problem
How do I solve this?
My version
go version go1.16.4 linux/amd64

You can pin the thrift version: like this: https://github.com/uber/cadence/blob/d3d06825adcf11c20ec3fc58e329f1d9560bb729/go.mod#L92


Implementing iterators in PyMappingProtocol

🐛 Bug Reports
When reporting a bug, please provide the following information. If this is not a bug report you can just discard this template.
🌍 Environment

Your operating system and version: Ubuntu 18.04
Your python version: 3.73
How did you install python (e.g. apt or pyenv)? Did you use a virtualenv?: pyenv
Your rust version (rustc --version): rustc 1.38.0-nightly (311376d30 2019-07-18)
Are you using the latest pyo3 version? Have you tried using latest master (replace version = "0.x.y" with git = "https://github.com/PyO3/pyo3")? yes

💥 Reproducing
Implementing PyIterProtocol for a type implementing PyMappingProtocol seems to overwrite __iter__ in Python. Invoking an iterator through any kind of statement calls PyIterProtocol::__iter__. PyMappingProtocol::__iter__ is not accessible. Checking whether an element is in mapping through the in keyword runs an iterator and compares items instead of using __contains__. __contains__ can be invoked explicitly through PyMapping.__contains__.
If the implementation of PyIterProtocol is removed for PyMapping, statements such as:
import pymapping
mapping = pymapping.Mapping(["a", "b", "c", "d"])
for k in mapping:
    print(k)

print("a" in mapping)

fail by stating that mapping is not iteratable. Although, the iterator can be called explicitly through PyMapping.__iter__ but using iter() on a PyMapping object fails:
In [1]: import pymapping

In [2]: mapping = pymapping.Mapping(["a", "b", "c", "d"])

In [3]: iter(mapping)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-3-73d010d9f2e9> in <module>
----> 1 iter(mapping)

TypeError: 'Mapping' object is not iterable

In [4]: mapping.__iter__()
own_iter
Out[4]: <MappingIter at 0x7f234178de40>

#![feature(specialization)]

#[pymodule]
fn pymapping(_py: Python, m: &PyModule) -> PyResult<()> {
    m.add_class::<PyMapping>()?;
    Ok(())
}

use pyo3::prelude::*;
use pyo3::{PyIterProtocol, PyMappingProtocol};

use std::collections::HashMap;
use std::vec;

#[pyclass(name = Mapping)]
pub struct PyMapping {
    map: HashMap<String, usize>,
}

#[pymethods]
impl PyMapping {
    #[new]
    #[args(mmap = false)]
    fn __new__(obj: &PyRawObject, keys: Vec<String>) -> PyResult<()> {
        let map = keys.into_iter().enumerate().map(|(x, y)| (y, x)).collect();

        obj.init(PyMapping { map });

        Ok(())
    }
}

#[pyproto]
impl PyMappingProtocol for PyMapping {
    fn __len__(&self) -> PyResult<usize> {
        Ok(self.map.len())
    }

    fn __getitem__(&self, key: String) -> PyResult<usize> {
        Ok(self.map.get(&key).cloned().unwrap_or_default())
    }

    fn __iter__(&self, py: Python) -> PyResult<PyObject> {
        println!("mapping iter");
        let iter = IntoPy::into_py(
            Py::new(py, PyMappingIter::new(self.map.iter().map(|(k, _)| k.to_owned()).collect()))?,
            py,
        );

        Ok(iter)
    }

    fn __contains__(&self, word: String) -> PyResult<bool> {
        println!("contains");
        Ok(self.map.contains_key(&word))
    }
}

#[pyproto]
impl PyIterProtocol for PyMapping {
    fn __iter__(slf: PyRefMut<Self>) -> PyResult<PyObject> {
        let mapping = &*slf;
        println!("iter protocol");
        let gil = Python::acquire_gil();
        let py = gil.python();
        let iter = IntoPy::into_py(
            Py::new(py, PyMappingIter::new(mapping.map.iter().map(|(k, _)| k.to_owned()).collect()))?,
            py,
        );

        Ok(iter)
    }
}

#[pyclass(name = MappingIter)]
pub struct PyMappingIter {
    v: vec::IntoIter<String>,
}

impl PyMappingIter {
    pub fn new(v: Vec<String>) -> Self {
        PyMappingIter { v: v.into_iter() }
    }
}

#[pyproto]
impl PyIterProtocol for PyMappingIter {
    fn __iter__(slf: PyRefMut<Self>) -> PyResult<Py<PyMappingIter>> {
        Ok(slf.into())
    }

    fn __next__(mut slf: PyRefMut<Self>) -> PyResult<Option<String>> {
        let slf = &mut *slf;
        Ok(slf.v.next())
    }
}

Please also write what exact flags are required to reproduce your results.

Thank you for reporting.

I guess the problem is that tp_iter has to be implemented for any iterable type, but is only present in PyIterIterProtocol.

Would that explain __contains__ being ignored tho? As far as I can tell, it's only accessible on PyMapping types through explicit calls to __contains__().

Thanks, your analysis looks spot-on to me! I guess we should remove __iter__ and __contains__ from PyMappingProtocol.

Closed by #644.


What version of Tensorflow does the code require?

I am using Tensorflow 1.4 and I get the error below:
33000 examples loaded
max word len 42
Traceback (most recent call last):
File "langid.py", line 121, in
dropout_keep_prob=dropout_keep_prob)
File "twitter_langid/code/char2vec.py", line 287, in init
pooled = tf.squeeze(tf.concat(3, pools), [1,2])
File ".local/lib/python2.7/site-packages/tensorflow/python/ops/array_ops.py", line 1096, in concat
dtype=dtypes.int32).get_shape().assert_is_compatible_with(
File ".local/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 836, in convert_to_tensor
as_ref=False)
File ".local/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 926, in internal_convert_to_tensor
ret = conversion_func(value, dtype=dtype, name=name, as_ref=as_ref)
File ".local/lib/python2.7/site-packages/tensorflow/python/framework/constant_op.py", line 229, in _constant_tensor_conversion_function
return constant(v, dtype=dtype, name=name)
File ".local/lib/python2.7/site-packages/tensorflow/python/framework/constant_op.py", line 208, in constant
value, dtype=dtype, shape=shape, verify_shape=verify_shape))
File ".local/lib/python2.7/site-packages/tensorflow/python/framework/tensor_util.py", line 383, in make_tensor_proto
_AssertCompatible(values, dtype)
File ".local/lib/python2.7/site-packages/tensorflow/python/framework/tensor_util.py", line 303, in _AssertCompatible
(dtype.name, repr(mismatch), type(mismatch).name))
TypeError: Expected int32, got list containing Tensors of type '_Message' instead.

Hi @Crista23, the latest version of Tensorflow at the time we wrote this project was 0.8.0 or possibly 0.9.0. The error you're getting seems to be due to a breaking API change in tensorflow version 0.12 where the order of arguments for tf.concat changed.
It seems to run without needing any changes using TF 0.8 (though I haven't verified the correctness of the results). Hope that works for you!

Thanks for your reply! I managed to get the code working, but I am wondering how can  I see the training / validation curves to know if the model is learning? Thank you!

@Crista23 we don't automatically run validation during training, it's a separate command for checking trained models (see langid.py). There's nothing set up to print loss curves. If you want to add that functionality it should be doable—edit the beginning of langid.py to take both training and validation/dev data, and edit the training loop to periodically evaluate the model on the dev data instead of printing examples from the training, and save the model.cost for each batch to plot with matplotlib or something. You could also look into trying to make tensorboard work with the code but I don't know how hard that would be.

Hi @Crista23 - Could you please let me know what version of tensorflow you used to make it work? Also, did you make any changes?


Beta Roadmap

General

[ ] Ensure touch support is good across all primitives.
[ ] Test all primitives rigorously with Stitches and SC, raising issues along the way.
[ ] Complete any unfinished features (like the positioning logic for DropdownMenu raised in the design tool).

Docs

[ ] Add UI to docs for cycling through docs versions. (Pedro)
[ ] Add examples to relevant primitives showing how to wrap them in good consumer APIs. (Pedro)
[ ] Add tutorial videos for each primitive. (Pedro)
[ ] Add new top-level "Composition" section, mentioning forwardRef etc. (Chance)

New Primitives
Loosely in order of priority.

[ ] Submenu (Benoît)
[ ] Select (Benoît)
[ ] Menubar (Benoît)
[ ] ToggleButtonGroup (Chance)
[ ] Toast (Chance)
[ ] HoverCard
[ ] Carousel
[ ] Toolbar

@jjenzz @benoitgrelard @chaance @peduarte
I've put together this roadmap for Primitives, to serve as a guide for what to work toward for the beta release.
Take a look and let me know if you have any questions, or if there are tasks you'd like to add/remove.

@jjenzz @benoitgrelard @chaance @peduarte
I've put together this roadmap for Primitives, to serve as a guide for what to work toward for the beta release.
Take a look and let me know if you have any questions, or if there are tasks you'd like to add/remove.

Per our conversation, closing this and moved to Discussions: https://github.com/radix-ui/primitives/discussions/375
I am going to open new issues for action items based on the roadmap.

Per our conversation, closing this and moved to Discussions: https://github.com/radix-ui/primitives/discussions/375
I am going to open new issues for action items based on the roadmap.


Font icon cleanup

This PR standardizes the rendering of font icons using the "i" tag. It also moves size styling of the icons used in Table View into the css.
https://www.pivotaltracker.com/n/projects/1613907/stories/123185381

@miq-bot add_label ui, refactoring

@miq-bot assign @himdel

@himdel Please review

@himdel or @dclarizio Please review

@miq-bot add_label euwe/no

LGTM, not seeing anything broken, merging :)


I have tested that the master branch builds fine for me on macOS Big Sur 11.6.1 and Apple Silicon 12.0.1. Both builds work when I send them to my other device, both ways. Make sure your Xcode is up to date. Also what is the output of xcode-select -p
Here is a prebuilt universal binary version of v4.0.0 (commit https://github.com/koekeishiya/yabai/commit/6bcf544cce5051a7eec414cd6c1fab0a69c59045 of the master branch) with debug symbols enabled. I have verified that it runs on both arm64 (12.0.1) and x86-64 (11.6.1).
yabai-v4.0.0.tar.gz

With yabai from --HEAD, SIP totally disable, codesigned I still get this warning and I cannot install payload:
❯ yabai -v
yabai-v4.0.0
❯ sudo yabai --load-sa

could not set thread state: (os/kern) protection failure
yabai: scripting-addition failed to inject payload into Dock.app!

❯ csrutil status
System Integrity Protection status: disabled.

@storopoli You probably have not yet changed the boot-args to allow for non-Apple-signed arm64e binaries.
I have updated the wiki page here

Edit: I am using Xcode v13.1 (13A1030d) on both devices (not command line tools) and Apple clang version 13.0.0 (clang-13<IP_ADDRESS>).

I have the exact same version of these two things. xcode-select -p gives me /Applications/Xcode.app/Contents/Developer
I tried the rebuilt file (thank you so much). It works well so far. But still wondering why brew doesn't work... and now I cannot do the brew service thing to automate it.

I get the following error on the System recovery Terminal:
nvram boot-args=-arm64e_preview_abi
Error setting variable - 'boot-args': (iokit/common) not permitted.

@storopoli I got the same error. Run sudo nvram boot-args=-arm64e_preview_abi in a regular terminal and reboot solved my problem.

@koekeishiya, thank you so much, everything works as before now. I am on Monterey 12.0.1 (Intel Mac).

Same issue here. M1 Macbook Pro, Xcode 13.1. I have re-enabled SIP and cleared nvram boot arguments to defaults so that I can go all the way through the process again twice now, but still receive
could not set thread state: (os/kern) protection failure
yabai: scripting-addition failed to inject payload into Dock.app!

when loading the scripting addon.
# csrutil status
System Integrity Protection status: unknown (Custom Configuration).

Configuration:
	Apple Internal: disabled
	Kext Signing: enabled
	Filesystem Protections: disabled
	Debugging Restrictions: disabled
	DTrace Restrictions: enabled
	NVRAM Protections: disabled
	BaseSystem Verification: enabled
	Boot-arg Restrictions: disabled
	Kernel Integrity Protections: disabled
	Authenticated Root Requirement: enabled

This is an unsupported configuration, likely to break in the future and leave your machine in an unknown state.

# nvram -p
ota-updateType	package
boot-args	-arm64e_preview_abi

# xcode-select -p
/Applications/Xcode.app/Contents/Developer

@evprkr I don't know and I definitely could be wrong, but my intuition screams that your problem (which seems to uniquely effect you) is the result of doing a app != '^(a|b|c)$' manage=off rule.
I honestly wouldn't expect it to go well, and I think it alone can explain your problem.
What I think is happening is like this:

Something on your computer generates (invisible) windows intermittently. (Or you just open a window that you expect yabai to ignore)
The main event loop of yabai dutifully starts to adjust the layout to fit the new window in
The rule processor finishes processing the window added event and determines it is supposed to be a floating window, so it removes it from the layout
The other windows adjust for the removal of that window in the layout (before it was necessarily ever drawn)

I would seriously consider trying an alternative approach to your filtering. Like, for example, using a float or stack layout space default and setting manage=on rules for the apps you do want to layout.
I'm not sure that will work either, but I'm just ... not surprised that the thing you are trying now doesn't. I'd honestly never expect it to (and therefore would never have thought to try it)

I'm also experience these random reshuffling issue and I use the following config
Tomorrow I will test if commenting out the rules will help with the issue

I tested it with the newest master version and with my rules enabled and that solved it for me!!
Thank you very much @koekeishiya !!

@storopoli

I get the following error on the System recovery Terminal:

nvram boot-args=-arm64e_preview_abi
Error setting variable - 'boot-args': (iokit/common) not permitted.

You are correct; I see the same behaviour. I have updated the wiki so that it mentions that this command must be run as root after exiting recovery mode and rebooting. Previously it was possible to run the nvram command in recovery mode after SIP had been disabled (possibly can be done in recovery after a reboot between the initial command to disable SIP, but then it might as well be done from a normal user session using sudo).
@bentosquares
Did you reboot after changing the boot-args? I am unable to reproduce a failure in thread_set_state on my end, with seemingly the same config:

@DennisFeldbusch
That's great, hopefully it remains stable for the most part.

Thank you so much for the work to get this running for Monterey. It's a shame that window borders don't work anymore, but I'm happy to have my window tiling back!
However, yabai -m space --focus commands still don't seem to work for me, even though they exit with 0 as does sudo yabai --load-sa. Logs don't show anything.
System details:

@koekeishiya I am still getting the same error after several reboots:
❯ csrutil status
System Integrity Protection status: unknown (Custom Configuration).

Configuration:
        Apple Internal: disabled
        Kext Signing: enabled
        Filesystem Protections: disabled
        Debugging Restrictions: disabled
        DTrace Restrictions: enabled
        NVRAM Protections: disabled
        BaseSystem Verification: enabled
        Boot-arg Restrictions: disabled
        Kernel Integrity Protections: disabled
        Authenticated Root Requirement: enabled

This is an unsupported configuration, likely to break in the future and leave your machine in an unknown state.
❯ xcode-select -p
/Library/Developer/CommandLineTools
❯ sudo nvram -p | grep boot
boot-volume     EF57347C-0000-AA11-AA11-00306543ECAC:576803DC-8B8D-BE42-9141-4141C7094374:FAFD0CFB-7CCB-49C0-9981-FF31A5E49942
upgrade-boot-volume     EF57347C-0000-AA11-AA11-00306543ECAC:576803DC-8B8D-BE42-9141-4141C7094374:5F9234CF-C7F4-496F-B5F4-646CA2537157
boot-args       -arm64e_preview_abi
❯ yabai -v
yabai-v4.0.0
❯ sudo yabai --load-sa
could not set thread state: (os/kern) protection failure
yabai: scripting-addition failed to inject payload into Dock.app!

@robinsturmeit
You can look for logs in Console.app.  Select your device on the left, and filter for "Dock" at the right, as shown in the below screenshot. Make sure no previous injection of the scripting-addition has been attempted; run pkill Dock first if it has. Clear the log window first for less noise, then run sudo yabai --load-sa and assuming it returns no error, you should see something like the following:

@storopoli Can you post the output of the following:
cat /Library/ScriptingAdditions/yabai.osax/Contents/Info.plist | grep -A 1 CFBundleVersion

file /Library/ScriptingAdditions/yabai.osax/Contents/Resources/payload.bundle/Contents/MacOS/payload

file /Library/ScriptingAdditions/yabai.osax/Contents/MacOS/mach_loader

This is what it should look like:
~ cat /Library/ScriptingAdditions/yabai.osax/Contents/Info.plist | grep -A 1 CFBundleVersion                 9:57
<key>CFBundleVersion</key>
<string>2.0.0</string>
~ file /Library/ScriptingAdditions/yabai.osax/Contents/Resources/payload.bundle/Contents/MacOS/payload       9:57
/Library/ScriptingAdditions/yabai.osax/Contents/Resources/payload.bundle/Contents/MacOS/payload: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit dynamically linked shared library x86_64] [arm64e:Mach-O 64-bit dynamically linked shared library arm64e]
/Library/ScriptingAdditions/yabai.osax/Contents/Resources/payload.bundle/Contents/MacOS/payload (for architecture x86_64):	Mach-O 64-bit dynamically linked shared library x86_64
/Library/ScriptingAdditions/yabai.osax/Contents/Resources/payload.bundle/Contents/MacOS/payload (for architecture arm64e):	Mach-O 64-bit dynamically linked shared library arm64e
~ file /Library/ScriptingAdditions/yabai.osax/Contents/MacOS/mach_loader                                     9:57
/Library/ScriptingAdditions/yabai.osax/Contents/MacOS/mach_loader: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64] [arm64e:Mach-O 64-bit executable arm64e]
/Library/ScriptingAdditions/yabai.osax/Contents/MacOS/mach_loader (for architecture x86_64):	Mach-O 64-bit executable x86_64
/Library/ScriptingAdditions/yabai.osax/Contents/MacOS/mach_loader (for architecture arm64e):	Mach-O 64-bit executable arm64e

Here it is:
❯ cat /Library/ScriptingAdditions/yabai.osax/Contents/Info.plist | grep -A 1 CFBundleVersion
<key>CFBundleVersion</key>
<string>2.0.0</string>
❯ file /Library/ScriptingAdditions/yabai.osax/Contents/Resources/payload.bundle/Contents/MacOS/payload
/Library/ScriptingAdditions/yabai.osax/Contents/Resources/payload.bundle/Contents/MacOS/payload: Mach-O 64-bit dynamically linked shared library arm64
❯ file /Library/ScriptingAdditions/yabai.osax/Contents/MacOS/mach_loader
/Library/ScriptingAdditions/yabai.osax/Contents/MacOS/mach_loader: Mach-O 64-bit executable arm64

Well the issue is that for some reason your scripting-addition is not being built as a universal binary. I don't really know why that is. The current master builds a universal binary on both my Intel MacBook running 11.6.1, and my Apple Silicon MacBook running 12.0.1. Note that I am not using brew while testing, so maybe that could somehow cause a difference in compilation, even though it uses the same makefile?? I'm not sure how to debug that issue further.

I will try to build from master without brew

I cannot build from master:
sudo make install
rm -rf ./bin
clang ./src/osax/loader.m -shared -O2 -mmacosx-version-min=10.13 -o ./src/osax/loader -framework Foundation
clang ./src/osax/payload.m -shared -fPIC -O2 -mmacosx-version-min=10.13 -arch arm64e -o ./src/osax/payload -framework Foundation -framework Carbon
./src/osax/payload.m:29:10: fatal error: 'ptrauth.h' file not found
#include <ptrauth.h>
         ^~~~~~~~~~~
1 error generated.
make: *** [src/osax/loader_bin.c] Error 1

I wonder what exactly is causing the command run from the makefile to differ from the one actually at the master branch. Do you have some custom clang version installed that takes precedence over the XCode / command line tools version? This seems likely to me as it appears that a standard header that should be included, is in fact not.
This is the line i expected to see:
clang ./src/osax/payload.m -shared -fPIC -O2 -mmacosx-version-min=10.13 -arch x86_64 -arch arm64e -o ./src/osax/payload -framework Foundation -framework Carbon

Notice how it refuses to build a universal binary containing two images; the x86_64 part is just stripped, which shouldn't happen.

Ok, I think I got this. I've installed with brew install yabai --HEAD and them downloaded the prebuilt binary I posted in: #923 (comment) .
Then I did this (a kinda hack):
❯ cd Desktop/archive/bin/
mv yabai /opt/homebrew/Cellar/yabai/HEAD-6bcf544/bin/yabai
override r-xr-xr-x  storopoli/admin for /opt/homebrew/Cellar/yabai/HEAD-6bcf544/bin/yabai? (y/n [n]) y

It seem to be working now.

Closing in favour of #1054.

Ok, I think I got this. I've installed with brew install yabai --HEAD and them downloaded the prebuilt binary I posted in: #923 (comment) .
Then I did this (a kinda hack):
❯ cd Desktop/archive/bin/
mv yabai /opt/homebrew/Cellar/yabai/HEAD-6bcf544/bin/yabai
override r-xr-xr-x  storopoli/admin for /opt/homebrew/Cellar/yabai/HEAD-6bcf544/bin/yabai? (y/n [n]) y

It seem to be working now.

For whatever reason, this worked. I tried brew install head and sudo make install and I'm pretty confident that I followed the instructions to the letter. After I saw this comment, i removed all old installations and did a
brew install koekeishiya/formulae/yabai --HEAD
followed by copying the before mentioned pre-built binary to the correct directory. Install sa and load sa worked like a charm and I can keep working again! Huge thanks to @koekeishiya  and @storopoli

@bentosquares
Did you reboot after changing the boot-args? I am unable to reproduce a failure in thread_set_state on my end, with seemingly the same config:

I had done, but I see you've tracked down the issue, my results mirror that of @storopoli. The hack of replacing the binary with the pre-compiled copy has also worked for me. Thanks to you both. Good luck in tracking down the issues with the Brew process! And thanks for such a great piece of software.

Reshuffling is still present. If this is an issue with my configuration, can someone tell me what the best way to tile windows inclusively rather than exclusively would be?

Closing in favour of #1054.

I'm running Monterey on Intel, it's hard to follow what solutions in that thread are for Monterey and what issues are for M1.

Install the latest version released version (v4.0.0) either through brew or grab it from the GitHub releases page.

@koekeishiya thanks! After upgrading 3.3 -> 4.0, it looks like that fixed the scripting additions notification spam.


fix doc minor issues

IMHO, this is the best set of docs regarding what considerations must be taken while thinking/designing multitenancy support in Kubernetes.
While walking the docs through one by one, I spotted some small issues and this is a small PR to fix all I found.

@brightzheng100 I forget to mention we use conventional commit messages. Please change the commit message to something like docs: fix doc minor issues. Thanks

Ah...that makes sense and it's been updated. Thanks


first bin of statistic endpoint includes only one day and is always 1

should be moved to second bin

resolved in b4ae68c5c786d7de73953a633ff1f56714d1be16


Peer Dependency has Security Vulnerability

Hello there,
since today, a new issue in minimist < 1.2.3 is found:
https://www.npmjs.com/advisories/1179
This lib is using optimist 0.6.1, which requires minimist in 0.0.10, which is obviously affected.
Will there be a new version with a fix for this? Our Security-Scanner is running wild because of this.
Thanks & Best Regards

Possible duplicate of #1658

same here, please update asap, Thanks a lot
 === npm audit security report ===

┌──────────────────────────────────────────────────────────────────────────────┐
│                                Manual Review                                 │
│            Some vulnerabilities require your attention to resolve            │
│                                                                              │
│         Visit https://go.npm.me/audit-guide for additional guidance          │
└──────────────────────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Low           │ Prototype Pollution                                          │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ minimist                                                     │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in    │ >=0.2.1 <1.0.0 || >=1.2.3                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ express-handlebars                                           │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ express-handlebars > handlebars > optimist > minimist        │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://npmjs.com/advisories/1179                            │
└───────────────┴──────────────────────────────────────────────────────────────┘

$npm list handlebars express-handlebars optimist minimist
<EMAIL_ADDRESS>/home/joao/delp.pt
├─┬<EMAIL_ADDRESS>│ └─┬<EMAIL_ADDRESS>│   └─┬<EMAIL_ADDRESS>│     └──<EMAIL_ADDRESS>

If you use Yarn, here's a workaround for now until this is fixed (maybe with #1662):
Add the following resolution to your package.json and run yarn.
  "resolutions": {
    "**/optimist/minimist": "0.2.1"
  }

This will force all versions of optimist to use<EMAIL_ADDRESS>regardless of which package is depending on optimist.

If you use npm, there is an npm package npm-force-resolutions that emulates yarn's dependency resolution. You can find the usage at https://github.com/yudai-nkt/sesame-client/commit/81d0664c16aa5a371f1c91dccd8e4f7b9eab5601#diff-b9cfc7f2cdf78a7f4b91a753d10865a2, and then run npm install.
Also make sure that your test suites will pass because dependency resolution doesn't honor semver compatibility.

@yudai-nkt unfortunately, because npm-force-resolutions does not have all features of Yarn Resolutions, this can cause problems if you specify a version of minimist that is incompatible with the one that the dependency is requiring.
This is true in the case that you posted above. Review your lockfile entry for optimist:

You specify<EMAIL_ADDRESS>which depends on<EMAIL_ADDRESS>(or at least something that fulfills the same API / contract)
You override this with<EMAIL_ADDRESS>which means your bumping a major (breaking changes)
This means that any code in optimist that uses minimist in a way that works for 0.0.8 but does not work for 1.0.0 would break, and your application could break
This also applies to any other dependencies that you have updated past a major version bump

As far I know, this shortcoming is also true for npm itself too (without manual editing of the lockfile) - be careful with what you are forcing npm to update to! There is no way to easily achieve what Yarn is capable of.

In case you absolutely cannot use Yarn, what you may be able to do, which would be more safe would be:

Add a resolution for<EMAIL_ADDRESS>Run npm-force-resolutions
Copy the resulting object from the package-lock.json file
Remove the resolution again
Manually edit your package-lock.json to force this dependency

But... this may not work 😞 This edit could be destroyed by future npm commands.
Without proper resolutions support, it looks like npm is not up to the task here.

@karlhorky  I'm aware of the potential breakage, and I went this direction for the following reasons:

optimist has been deprecated for 6 years, so I suppose what works with minimist@1 as of now will be likely to work in a future update (or it will be fixed or won't be my package's dependency anymore)
eslint will drop dependency on minimist in the next major release

That being said, I obviously didn't explain enough and it can cause future readers' misunderstanding. I appreciate your thorough supplement!

The long term solution is to use yargs instead of optimist, right? Do we have an ETA on that?

@yudai-nkt  would it perhaps work if in npm-force-resolutions we just allow forcing minor updates, which are by default backwards compatible? The vulnerability is solved in minimist 0.2.1

@karlhorky what do you think, forcing minimist to the lower version that solves the vulnerability, the 0.2.1, which is just minor and hence backwards compatible?

@jfoclpf unfortunately, there are other dependencies on minimist > 1 (examples below)

https://github.com/yudai-nkt/sesame-client/blob/81d0664c16aa5a371f1c91dccd8e4f7b9eab5601/package-lock.json#L3688
https://github.com/yudai-nkt/sesame-client/blob/81d0664c16aa5a371f1c91dccd8e4f7b9eab5601/package-lock.json#L302

So if you force 0.2.1, then these dependents may break, if they are using features that are only in versions above 1...

@karlhorky ok, that would depend on each package we have.
On what handlebars is concerned, I just see these 3 dependencies
"dependencies": {
  "neo-async": "^2.6.0",
  "source-map": "^0.6.1",
  "yargs": "^3.32.0"
},

Is there on this dependency tree any case wherein minimist > 1 is needed?

@karlhorky ok, that would depend on each package we have.
On what handlebars is concerned, I just see these 3 dependencies
"dependencies": {
  "neo-async": "^2.6.0",
  "source-map": "^0.6.1",
  "yargs": "^3.32.0"
},

Is there on this dependency tree any case wherein minimist > 1 is needed?

People use 4.7.3. You are looking at master

ok, that would depend on each package we have.

@jfoclpf if you want to check how your specific application/library depends on minimist or whatever, use npm ls and you will see something like this:
$ npm ls minimist                                                                                typescriptify
<EMAIL_ADDRESS>/Users/ynkt/src/github.com/yudai-nkt/deckgl-etude
├─┬<EMAIL_ADDRESS>│ └─┬<EMAIL_ADDRESS>│   └──<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>│ └─┬<EMAIL_ADDRESS>│   └──<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>│ │ └─┬<EMAIL_ADDRESS>│ │   └──<EMAIL_ADDRESS>│ └─┬<EMAIL_ADDRESS>│   └──<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>│ └─┬<EMAIL_ADDRESS>│   ├─┬<EMAIL_ADDRESS>│   │ ├──<EMAIL_ADDRESS>│   │ └─┬<EMAIL_ADDRESS>│   │   └──<EMAIL_ADDRESS>│   └──<EMAIL_ADDRESS>deduped
├─┬<EMAIL_ADDRESS>│ └─┬<EMAIL_ADDRESS>│   └─┬<EMAIL_ADDRESS>│     └──<EMAIL_ADDRESS>└─┬<EMAIL_ADDRESS>  └─┬<EMAIL_ADDRESS>    └─┬<EMAIL_ADDRESS>      └─┬<EMAIL_ADDRESS>        ├─┬<EMAIL_ADDRESS>        │ └──<EMAIL_ADDRESS>        └─┬<EMAIL_ADDRESS>          └──<EMAIL_ADDRESS>

Is it fair to assume that the master branch is the most current working branch? If so, is there a version bump coming soon?

4.x is tbe current working branch... I have had another look. The change itself does not seem to be a big deal, but I really need to be sure that it does not break anything in the CLI. I am not in a situation where I can quickly revert anything.
So either there need to be some tests in #1662 for the CLI. Have a look at the tasks folder in the tests-bin.js file. There is one test already but the file certainly needs to be refactored a bit in order to cleanly contain multiple tests.

I started adding some tests in #1666, but since I'm not using handlebars, I'd be happy to be guided on which additional tests to add.

Closed by #1666 and released in 4.7.4.


Blogpost for Introduction to Dashboard plugins

Signed-off-by: Ashwin Pc<EMAIL_ADDRESS>Description
Follow-up post to #526 covering Opensearch Dashboard plugins this time
Issues Resolved
#446
Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the BSD-3-Clause License.

Created a new issue  #619 to track this PR. @stockholmux will update the post in a slightly different format keeping in mind your feedback.

@ashwin-pc Are you going to update this PR or create a new one? Not sure how much your blog post will change.

@ashwin-pc Are you going to update this PR or create a new one? Not sure how much your blog post will change.

I'm going to update this PR to preserve the comments. Hopefully not a lot. Mostly just the structure.

A few general comments:

Should you say that this is in typescript at the start?
There is no mention of packaging a plugin for distribution. Is there anything that can be said about that?

I don't think its necessary but i don't have a strong opinion either way. Typescript is the language of choice for OSD though, so it should be pretty obvious why the examples are in Typescript.
Ive added a section for that. I've only mentioned how to generate the distributable though. Is there a way for them to publish these plugins currently that i should cover as well? I'm only aware of the plugins we list on the documentation website and those are under the opensearch-project org.

Awesome post @ashwin-pc! It really came together.
I'm going to queue this up for tomorrow (1/21). I'll merge it then.

+1 I really loved reading through it!


Help quick search crashed

Godot 3 master acd9646ede45f8c34f423e392e60bf128c953bd1
Windows 10 64 bits
With Visual Studio 2015 debugger attached <-- with time I found this detail is quite important as it makes silent bugs apparent
I got a crash when using the help quick search (typing quickly I might say, so maybe timing makes the bug likely).
Here is a screenshot of the crime scene:

Hm, whenever I read the title, my mind inserts an exclamation mark after the "Help".
Related/duplicate of #16529?

Looks like it is, yeah

Closing this one then, discussion might continue on the other.


Cdef recorder

Reimplement od_ec_enc and Writer, add record/playback
Flatten od_ec_enc and Writer, as one was just a thin wrapper for the other
Reimplement range encoding writer as a Writer trait and encoding backend
Reimplement recording as a second backend to same Writer trait

The symbol! macro did not exist anymore, and bits() and literal() are missing a commit probably.
https://github.com/rust-av/rav1e/commit/b625ac0b871fd5f522cbcec90bf3a961fa84f463 fixed here, not tested yet.

Ok. It all worked here when I tested, so I'll sort it out when I get back
tomorrow.
Monty
On Sat, Aug 4, 2018, 12:28 AM Luca Barbato<EMAIL_ADDRESS>wrote:

The symbol! macro did not exist anymore, and bits() and literal() are
missing a commit probably.
rust-av@b625ac0
https://github.com/rust-av/rav1e/commit/b625ac0b871fd5f522cbcec90bf3a961fa84f463
fixed here, not tested yet.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/xiph/rav1e/pull/424#issuecomment-410422559, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AKzDkL9qB3Gl9jcnX0FILaBicvFaKQWpks5uNSLUgaJpZM4Vuly_
.


Add org admin

Add org admin jihuayu

Added you to @wechaty/summer
Welcome you to join the Org Admin team, and thank you very much for taking the responsibilities for our Wechaty Organization in Summer 2021!


ISPN-12623 Move CDI tests to integrationtests/server-integration/server-integration-commons project

https://issues.redhat.com/browse/ISPN-12623

This PR will show two issues

https://issues.redhat.com/browse/ISPN-12712
https://issues.redhat.com/browse/ISPN-12713

@diegolovison I'm not sre it's a good idea to merge deliberately failing tests. I think we need to initially merge the code with the tests ignored so that they can be renabled when somebody is able to work on the underlying  issue(s).

merge the code with the tests ignored

could we keep the PR open until someone fixes those JIRAs?
Can we change the label from Changes Suggested to On Hold

could we keep the PR open until someone fixes those JIRAs?

We can do, but then the empthasis is on you to rebase and update the PR over time. If the PR is merged you don't need to worry about rebasing and compilation issues as the PR branch and master diverge.

@ryanemerson I have added the @Ignore with the respective JIRA.

Thanks @diegolovison

This PR will show two issues

https://issues.redhat.com/browse/ISPN-12712
https://issues.redhat.com/browse/ISPN-12713

I've added a comment to each of the Jiras so it's clear that the tests should no longer be ignored once a fix is ready.


[Feature request] Pixart-Alpha support

Do you plan on adding support for Pixart-Alpha?
https://github.com/PixArt-alpha/PixArt-alpha
https://huggingface.co/spaces/PixArt-alpha/PixArt-alpha
Worth noting: they are developing quite quickly. Some weeks ago there was no example gen available at all and their to-do feature list was barely touched. Now there's a working online gen and some of that list got checked as done

It's now possible to use it on cards with 8GB VRAM.


Question - encrytption options ver GATT

Hi @Emill
Now I have successfully implemented a Flutter mobile GATT client and ble-host GATT server. It works as expected and seems very stable. Thank you for the wonderful library.
In regards to security, anything I can do to encrypt the data packet? Any build-in capability I can use? Currently there is no paring needed, however when the client connects, it does send a auth token for the server to validate.

Furthermore, an example using the "encryption" value for characteristic.readPerm would be amazing to see on the README.
I am trying to do some sort of security / encryption without pairing the devices.

Hi. I'll see if I can add some more examples when I have time.
But basically BLE connections need to be paired/bonded in order to start encryption, otherwise the connection will be unencrypted.
Assuming you use this library as a peripheral and you use a smartphone as central, you can either just call https://developer.android.com/reference/android/bluetooth/BluetoothDevice#createBond() on Android, or send a "security request" from the peripheral as shown in the readme.
Another way to enforce encryption from the peripheral side is to add security levels to the characteristics, which usually causes centrals to automatically start the pairing process. This is the way Apple suggests people to do it for iOS. The readPerm and writePerm properties on characteristics can be used to achieve this.
The pairing flow with user passkey (if the peripheral has I/O capability) can be controlled in this library. See the readme under "Bonding" to configure it if you want to use something else than "Just Works".

Thank you Emill.
I will try the second way.


custom-firewall.sh with k8s scheduler issues

Applying the recommended firewall rules seems to block all the available applications when k8s scheduler is enabled.

the custom firewall script was only intended for the fleet scheduler (tech previews like kubernetes aren't supported for production), so I'm not too surprised that it doesn't work. We'll probably have to revisit this firewall script when v2 comes around, though.

@vinilios kubernetes uses iptables for many things and it could change.
As @bacongobbler mentioned the current script only works with fleet.
A script (or an approach) like the existing one will not work.

closing as a wontfix. If you want to play around with Deis and kubernetes, we have released an alpha version and are working on a beta :) docs are at https://github.com/deis/workflow#hacking-workflow. Thanks!


EL Geth client stops when running MEV stack

Running ethpandaops/geth:lightclient-devnet-9-ae44519 and testing the MEV stack with:
kurtosis run . '{   "network_params": {
      "capella_fork_epoch": 0, "deneb_fork_epoch": 1
   },
   "mev_type": "full",
   "mev_params": {
        "mev_relay_image": "mev-boost-relay", "mev_builder_image": "builder"
   }}'

And the geth client often stops with no error logs. Sometimes see this on the builder EL client as well. The test still run fine but I have to manually start the EL client again.
OS: M1 Mac 13.2.1
cli-version: <= 0.84.7

Please reopen if the issuer persist.


try_ready!() with hyper/reqwest request never finish

I what to use hyper/reqwest to fetch an api result in impl Future for but try_ready!() never finish.
I tried to use hyper/reqwest with tokio::run() directly or use try_ready!() with something other than hyper/request. Neither way hangs.
For example, the code below prints out j0 and j1 but hang on j2.
use futures::{try_ready, Async, Future, Poll};
use hyper::rt::Stream;
use hyper::{Client, Uri};
use serde_json::Value;

fn fetch() -> impl Future<Item = Value, Error = ()> {
    let client = Client::new();
    client
        .get(Uri::from_static("http://httpbin.org/ip"))
        .and_then(|res| res.into_body().concat2())
        .and_then(|body| Ok(serde_json::from_slice(&body).unwrap()))
        .map_err(|_| ())
}

fn test_fn() -> impl Future<Item = (), Error =() > {
    fetch().and_then(|j| { println!("j0 {:?}", j); Ok(()) })
}

struct Fetch;
impl Future for Fetch {
    type Item = Value;
    type Error = ();
    fn poll(&mut self) -> Poll<Self::Item, Self::Error> {
        Ok(Async::Ready( Value::default() ))
    }
}

struct Test;
impl Future for Test {
    type Item = ();
    type Error = ();
    fn poll(&mut self) -> Result<Async<()>, ()> {

        let j = try_ready!(Fetch.poll());
        println!("j1 {:?}", j);

        let j = try_ready!(fetch().poll());
        println!("j2 {:?}", j);

        Ok(Async::Ready(()))
    }
}

fn main() {
    println!("start");
    tokio::run(test_fn());
    tokio::run(Test);
}

You're creating a future in the poll method, and then after try_ready returns it's not ready, the future is dropped, and thus it will never notify again.
Try changing Test to hold the future, instead of creating and dropping it in poll.


Uncompressed public keys not working?

Really is not possible make transactions using uncompressed public keys? I REALLY need this or i will need abandon blockcypher apis...

"Because they’re easy to use, and because they reduce almost by half the block chain space used to store public keys for every spent output, compressed public keys are the default in Bitcoin Core and are the recommended default for all Bitcoin software."

https://bitcoin.org/en/developer-guide#public-key-formats


use new gcloud key/id layout

retest this please

retest this please

test

retest this please

retest this please


WIP: Secure mosquitto

[x] be able to connect an Arduino/NodeMCU to the MQTT server.
[ ] communicate securely.
[x] to simplify the process, create a script to create certificates (root CA and so one...).
[x] Docker to create the MQTT server.
[x] example with NodeJS
[ ] example with Python

I generate certificates based on my own certificates, I don't go with trusted root CA, so when I check the tls connection, that tells me that the connection isn't secure. It's because the OS doesn't know about my root CA. I have to add the certificate or something like this... I don't know.


Missing LICENSE?

First, the standard disclaimer: I am not a lawyer, and this does not constitute legal or financial advice.
Generally, IMHO, it is a good idea to use FSF or OSI Approved Licenses (which can be found here https://www.gnu.org/licenses/licenses.html and here http://opensource.org/licenses/category)
The Free Software Foundation has a useful guide for choosing a license: https://www.gnu.org/licenses/license-recommendations.html
I often reference the Software Freedom Law Center's Legal Primer for both practical and academic purposes (highly recommended): https://www.softwarefreedom.org/resources/2008/foss-primer.html#x1-60002.2
https://tldrlegal.com/ is quite a useful resource for comparing the various FOSS licenses out there once you have some context
To get ahold of actual lawyers/advisors who help FOSS projects, you can reach out to the FSF, SFLC, and OSI at:
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Hope this helps, and happy hacking!

When there isn't a license on github, it falls under the default copyright law: All rights reserved. So although it's missing an explicit license in the project, it doesn't mean it's not covered under a license.


DependencyInjection Extentions crashes on Xamarin Android.

Describe the bug
Using AddSingleton to setup IoC container, crashes on Android.  Using TryAddSingleton works.
However AddSignleton works as expected on the desktop.  The call to serviceCollection.BuildServiceProvider triggers the crash.
To Reproduce
This is occurring in an application with a large number of interfaces, too many for me to reproduce.  I don't have the time to set up a small project with a few interfaces to see if I can repro the problem.  The best way to repro this issue is to create a Xamarin app and register interfaces using AddSingleton and another one using TryAddSingleton to see the difference.  Also, you must register your interfaces before resolving.  Trying to register after resolution cause the application to crash.
Expected behavior
Expected the DI to work on Android device exactly as it would on the desktop.
Additional context
Below is the stack track received from the debug window of the Xamarin Android app.
bug.txt

This is occurring in an application with a large number of interfaces, too many for me to reproduce. I don't have the time to set up a small project with a few interfaces to see if I can repro the problem. The best way to repro this issue is to create a Xamarin app and register interfaces using AddSingleton and another one using TryAddSingleton to see the difference. Also, you must register your interfaces before resolving. Trying to register after resolution cause the application to crash.

How many interfaces and how deep is the graph?

There are 48 Interfaces.  Well actually 30 interfaces and 18 class types.  I've did my best to remove any cyclical definitions.  I don't think I'm encountering a cycle.  In fact I know I'm not because when I did hit a cycle I got a stack overflow.  Therefore I don't think that the graph is very deep.  Like I mentioned, the application works when using TryAddXXX but as soon as I use AddXXX it crashes however I can use AddXXX and even replace interfaces on the desktop but not when running on the device.
Cheers and thanks for the quick response.


Transcrypt tries to write to its installation folder

Apparently to write source maps there.
transcrypt -m -n -e 5 index.py
Transcrypt (TM) Python to JavaScript Small Sane Subset Transpiler Version 3.6.1
Copyright (C) Geatec Engineering. License: Apache 2.0

[Errno 13] Permission denied: '/usr/lib/python3.5/site-packages/transcrypt/modules/org/transcrypt/__javascript__/extra'Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/transcrypt/__main__.py", line 117, in main
    compiler.Program (compilerPath, __symbols__)
  File "/usr/lib/python3.5/site-packages/transcrypt/modules/org/transcrypt/compiler.py", line 123, in __init__
    Module (self, ModuleMetadata (self, self.baseModuleName))
  File "/usr/lib/python3.5/site-packages/transcrypt/modules/org/transcrypt/compiler.py", line 282, in __init__
    self.generateJavascriptAndMap ()
  File "/usr/lib/python3.5/site-packages/transcrypt/modules/org/transcrypt/compiler.py", line 405, in generateJavascriptAndMap
    self.modMap.save ()
  File "/usr/lib/python3.5/site-packages/transcrypt/modules/org/transcrypt/sourcemaps.py", line 286, in save
    with utils.create (self.mapPath) as mapFile:
  File "/usr/lib/python3.5/site-packages/transcrypt/modules/org/transcrypt/utils.py", line 87, in create
    os.makedirs (os.path.dirname (path), exist_ok = True)
  File "/usr/lib/python3.5/os.py", line 231, in makedirs
    makedirs(head, mode, exist_ok)
  File "/usr/lib/python3.5/os.py", line 241, in makedirs
    mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/usr/lib/python3.5/site-packages/transcrypt/modules/org/transcrypt/__javascript__/extra'

This basically prevents any kind of use.

I was able to workaround issue using this very wrong patch.
You would probably want at least to use better way to decide when location is not writable.

Since Transcrypt keeps .py files, generated .js files, generated sourcemaps and other optionally generated files (like a parse tree) together, resulting in one 'module directory tree', it indeed has to be installed in a directory where you have write privilege.
The reason that it's done like this, is that there are also JavaScript-only modules which are part of the installation, hence should be stored in the installation directory. To further complicate matters, developers can generate JavaScript modules from Python modules and distribute the former as JavaScript-only modules. This would mean that the right place to store a JavaScript module varies depending on whether or not it is a JavaScript-only module.
This would mean duplicating part of the module tree in some cases, and not in others, which would add a lot of complexity and make the whole thing harder to understand. The Transcrypt import mechanism is much more straightforward than the CPython mechanism, which is very complicated indeed (and getting ever more so).
Prebuilding everything in the distribution prior to installation would make the distribution needlessly large and, without special measures, cause a lot of spurious diff's in GitHub. So the best way to get out of these dilemma's is to build everything as part of the installation procedure itself. The only downside to that is that installation procedures that build things tend to be vulnerable, especially if it has to work on may Windowses, Linuxes and OsXes (Don't know if you're familiar with the problems e.g. installing Numpy on some systems). Nevertheless it is something to consider. If the build would fail, local installation with write privilege would still be possible as a fallback.
So: As it stands now, you need write priv to your install dir, but the problem you indicate is real enough and has our attention.

Thanks for the patch, that will solve the problem temporarily on most linuxes. I'll refer to it for now if other bump into the same problem.

I don't think your way of installation would work anywhere outside of probably Windows 95 :)
Even Python on Windows doesn't normally have write access to installation directory.

Haven't had any problems on my Win8 and Unbuntu systems. But I'm superuser on all those. It's acknowledged this is a 'must have'.
I've attached a 'help wanted' label to this one.
**To be very specific, the requirements for a good solution are:

No duplication of the module directory tree, .py, .js, .map, .tree etc. files stay together as they are now.
Building everything as part of the installation.
Ignoring the -b flag in case of read-only target files.
As simple as possible, no big, intrusive impact on the compiler.**

That's hard. And that's why it's got postponed. But if anyone sees the light, please consult with me first to prevent loss of effort!

Have been running everything as root for 30 years and never crashed an OS.

I've looked into this a  little bit further.
If the JS files that result from compilation are stored in a user directory than they aren't centrally available anymore.
I think the best solution is to use virtualenv for each project, where the project participants all have write privilege.
In this way .js files resulting from compilation of libraries aren't compiled over and over again.
I am using virtualenv myself this way on linux. To actually I don't use my admin privilege, I can use Transcrypt just being logged in as a user (and project team member).

I think the best solution is to use virtualenv for each project, where the project participants all have write privilege.

Virtualenv magic affects only PYTHONPATH & co, it will not allow Transcrypt to write /usr/bin subdirectory. It will not redirect writing operation somewhere else either.
(venv) [tom@silver test]$ transcrypt -m -n -e 5 test.py
Transcrypt (TM) Python to JavaScript Small Sane Subset Transpiler Version 3.6.1
Copyright (C) Geatec Engineering. License: Apache 2.0

[Errno 13] Permission denied: '/usr/lib/python3.5/site-packages/transcrypt/modules/org/transcrypt/__javascript__/extra'Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/transcrypt/__main__.py", line 117, in main
    compiler.Program (compilerPath, __symbols__)
  File "/usr/lib/python3.5/site-packages/transcrypt/modules/org/transcrypt/compiler.py", line 123, in __init__
    Module (self, ModuleMetadata (self, self.baseModuleName))
  File "/usr/lib/python3.5/site-packages/transcrypt/modules/org/transcrypt/compiler.py", line 282, in __init__
    self.generateJavascriptAndMap ()
  File "/usr/lib/python3.5/site-packages/transcrypt/modules/org/transcrypt/compiler.py", line 405, in generateJavascriptAndMap
    self.modMap.save ()
  File "/usr/lib/python3.5/site-packages/transcrypt/modules/org/transcrypt/sourcemaps.py", line 286, in save
    with utils.create (self.mapPath) as mapFile:
  File "/usr/lib/python3.5/site-packages/transcrypt/modules/org/transcrypt/utils.py", line 87, in create
    os.makedirs (os.path.dirname (path), exist_ok = True)
  File "/usr/lib/python3.5/os.py", line 231, in makedirs
    makedirs(head, mode, exist_ok)
  File "/usr/lib/python3.5/os.py", line 241, in makedirs
    mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/usr/lib/python3.5/site-packages/transcrypt/modules/org/transcrypt/__javascript__/extra'

Aborted
(venv) [tom@silver test]$

If the JS files that result from compilation are stored in a user directory than they aren't centrally available anymore.

I don't believe user needs those centrally available. In fact, allowing random user to change js files included by compiler and thus inject anything into code of another user sounds pretty catastrophic from security viewpoint.
By the way, I'm surprised you haven't this problem before. Am I first one ever trying to run Transcrypt on Linux? :)

Hi,
Personally I use Windows for development and Ubuntu for additional testing. Most developers are on Linux a.f.i.k.. I have a Miniconda / Python3.5 / Numpy installation in my home dir. I remember using virtualenv to install packages like Transcrypt in a project-specific directory where only project team members had access. So security wasn't an issue. But maybe it was different from what I remember.
Could any regular Linux user shed a bit more light on this subject?

Could any regular Linux user shed a bit more light on this subject?

PermissionError: [Errno 13] Permission denied: '/usr/lib/python3.5/site-packages/transcrypt/modules/org/transcrypt/__javascript__/extra'

sounds to me that the permissions to write into the install dir is only required at the very first run of transcrypt, where it compiles core modules from python to js.
All subsequent compilations won't need the permission, since the files are then there.
=> so I would not consider the problem major (?) Maybe a pip install should do the compilation while having sudo perms, though.

Problem is that there are several, switch controlled, ways to compile. Compiling for ES6 will produce code that differs from ES5 code. The same holds for --fcall and other switches.

sounds to me that the permissions to write into the install dir is only required at the very first run of transcrypt, where it compiles core modules from python to js.

Not only on first run. Every time when new script from /usr/something... directory is imported. Make some random test.py, compile it as root and you can compile it as regular user after. But try adding import math and you are crashing with PermissionError. And what's worse, instead of actual error, you'll get Can't import module 'math' message. That's not really usable for anything...
I can understand this concept being foreign for Windows user, but on *nix, programs and libraries are not  user-writable for good reasons. And as it stands now, Transcrypt don't seems to be usable on normal system without very special configuration.

Reading through the whole thread:

...pretty catastrophic from security viewpoint. By the way, I'm surprised you haven't had this problem before. Am I first one ever trying to run Transcrypt on Linux? :)

Let me assure you, that I'm happily using Transcrypt (also in production) since over half a year and last time I was developing on a windows machine was sth. with Excel 4.0, some 25 years ago...
Having said that: On Linux you seem to do sth wrong with your venv isolation, you must clearly prevent it from using system packages but fully isolate it, if you have no perms there. Thats the default in Python3 since long:
 --no-site-packages    DEPRECATED. Retained only for backward compatibility.
                        Not having access to global site-packages is now the
                        default behavior.
  --system-site-packages
                        Give the virtual environment access to the global
                        site-packages.

Note: My previous answer was referring to the fact that after a first compile you still CAN play around on a site wide installation of transcrypt w/o even creating a venv but you are clearly restricted regarding importing site wide mods and thats how it should be, in the end this is a transpiler. If you want your own transcrypt then pip install it into a properly configured venv and have no restrictions.
So:
This is after a default virtualenv install followed by activation and pip install transcrypt within:
[klessinger@localhost ~]$ touch /usr/bin/foo
touch: cannot touch '/usr/bin/foo': Permission denied
[klessinger@localhost ~]$ . venvtest/test/bin/activate
(test) [klessinger@localhost ~]$ vi t.py
(test) [klessinger@localhost ~]$ cat t.py
import math

print (sin(42))

(test) [klessinger@localhost ~]$ transcrypt -bn t.py
Transcrypt (TM) Python to JavaScript Small Sane Subset Transpiler Version 3.6.3
Copyright (C) Geatec Engineering. License: Apache 2.0

Saving result in: /home/klessinger/__javascript__/t.js

Ready

Btw:
Conda based python setups work equally well, clear, all remains local in the users' $HOME.
Last one:

Virtualenv magic affects only PYTHONPATH & co, it will not allow Transcrypt to write /usr/bin subdirectory.

Virtualenv magic prevents the python binary even consider the root folder.
Cheers,
G.

@AXGKl
Thanks for the clarification, that's exactly how I used virtualenv and indeed everything was local to the project directory where virualenv was activated. Since I needed Numpy for Python 3.5 I now use Miniconda, indeed also like you describe.
@kozec
If you don't need Numpy, probably the virtualenv route is to be preferred, since you may need different setups for different projects, using different compiler switches. An educational project would have -o switched on, a high volume website would have -f switched on, an intranet site may have -e 6 switched on etc.. By separating your projects in this way, there's no need to compile all of the libs over and over again, which should speed up compilation, especially if you exclude minification during development by using the -n switch.
Hope this helps.

Seems virtualenv can solve this.
If not, please reopen.

It's not really solution, just dirty workaround for rather big problem.
I can't really use virtualenv for what I'm doing here, but I already found another python to javascript solution that actually works, so if this really is how Transcrypt is supposed to work, there is no issue.

Thanks for your reaction.
I was unaware that there are situations in which virtualenv can't be used!
Could you tell me a bit more about that.

Honestly, even if there where no situations where virtualenv can't be used, it's a bit silly that virtualenv is required. Especially when it's not mentioned anywhere (as far as I know). When I first got this error with the math module, I simply assumed transcrypt didn't implement it.
Why does the compiled JS have to be centrally available?

I havent had an issue with venv, but i agree that the current deployment
model is lacking in this regard. It is my opinion that the short comings
with respect to using "git status" issue #172 is also linked with this
limitation. I personally think that a build directory, that possibly mimics
the transcrypt's distribution directory structure, in the directory where
transcrypt is called might be a better solution. All the built js files
would then be put into the build subdirs. Any js files from transcrypt
could be included by copy or symlink.
This would also prevent the issue of "git status because there would not be
a combination of build files and source files in the transcrypt directory.
On Sat, Nov 26, 2016 at 10:42 AM Jacques de Hooge<EMAIL_ADDRESS>wrote:

Thanks for your reaction.
I was unaware that there are situations in which virtualenv can't be used!
Could you tell me a bit more about that.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/QQuick/Transcrypt/issues/189#issuecomment-263079034,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AOVxQC_WjEkfza4x2cWxw5uynG-G5I-4ks5rCH2DgaJpZM4K2U07
.

I was unaware that there are situations in which virtualenv can't be used!
Could you tell me a bit more about that.

I'm using build machine that starts every build in fresh home directory. It helps catching that kind of weird bugs which seemingly happens everyone but on my own machine. Build script, of course, doesn't have any rights that common user don't, so Transcrypt falls right into its face.
It would be probably possible to install virtualenv there, but it would mean to reinstall every library every time when build is started. Frankly, that's PITA on such level where it's easier to search for another compiler solution.
In any case, I believe that using virtualenv as workaround for writing data to installation directory is just wrong :)

@kozec : Here is a solution which

does not require perms beyond user
allows you to use any system python library
does not require venv:

~ $ whoami
gk
~ $ touch /usr/bin/foo
touch: /usr/bin/foo: Permission denied
~ $ mkdir test; cd test
~/test $ pip3 install --install-option=--prefix="$HOME/test" transcrypt
(...)Collecting transcrypt
  Using cached Transcrypt-3.6.3.zip
Installing collected packages: transcrypt
  Running setup.py install for transcrypt ... done
Successfully installed transcrypt
~/test $ tree -L 4
.
├── bin
│   └── transcrypt
└── lib
    └── python3.5
        └── site-packages
            ├── Transcrypt-3.6.3-py3.5.egg-info
            └── transcrypt

6 directories, 1 file
~/test $ export PATH="$HOME/test/bin:$PATH"
~/test $ export PYTHONPATH="$HOME/test/lib/python3.5/site-packages:$PYTHONPATH"

~/test $ echo "import math
> print(math.sin(1))" > r.py
~/test $ transcrypt -bn r.py
Transcrypt (TM) Python to JavaScript Small Sane Subset Transpiler Version 3.6.3
Copyright (C) Geatec Engineering. License: Apache 2.0

Saving result in: /Users/gk/test/__javascript__/r.js

Ready
~/test $ tail -n 10 __javascript__/r.js
		var math = {};
		__nest__ (math, '', __init__ (__world__.math));
		print (math.sin (1));
		__pragma__ ('<use>' +
			'math' +
		'</use>')
	}) ();
	return __all__;
}
window ['r'] = r ();

But this specific issue here is just an absolute no brainer for anybody who has a bit experience on Linux. I'm with @RCL-Carl, i.e. its not exactly nice that transcypt writes those build files into its lib folders but its definitely not the showstopper you seem to want(?) it to be.

To be blunt, it literally makes Transcript unusable without specific, undocumented configuration. On top of that, this unexpected behavior may and will cause errors with misleading messages.
Anyone with experience with Linux should run away screaming from that :D
--
But I appreciate your help, this way should work without reinstalling everything with every build. But reinstalling Transcript is still needed, so it would make my build script less crazy, not sane as I would like it.

@kozec: Okay okay, I beg a pardon, guess you DO have 'a bit experience on Linux', hope you accept my excuse, I had a hard day ;-)
I don't think you need to reinstall Transcrypt for a less crazy build script, I mean not more than for the other stuff (some people always start from scratch in builds, as you know). Why? Because there is the clean switch on the transcrypt CLI, where it disregards anything built previously, it won't affect your current build.
So you have clean conditions, even when your install folders are "messed up" as you say.
And if you don't believe me than throw a copy on write layer over it and you are also done.
I personally would do it via a hg clone which efficient and which I'd delete after each build.
There are so many ways.

having said all this: Yes, we are all with you that its not nice what Transcrypt does - but its advantages by far outweigh this (for example I could not live w/o multiinheritance and only Transcrypt....)

I think having the build-directory like @RCL-Carl proposes, represents a descent tradeoff between investment / complexity and returns. So propose to make it that way. Probably it should be under a switch, not to break any existing setups.

While this is very important, it should be solved in combination with things like modular distribution.

This issue will be cured with the release of Transcrypt 3.7.1


Error on stunnel container due bad stunnel.conf

Description:
Double quotes on [rsync] accept & connect ports, makes the container _ stunnel_ fail.
Solution:
Remove double quotes from here:
    [rsync]
    accept = "{{ stunnel_port }}"
    connect = "{{ rsyncd_port }}"

Reference: https://github.com/konveyor/pvc-migrate/blob/b7cb95edd6100e0883e41b5cf78ba92df315bd01/3_run_rsync/templates/stunnel.yml.j2#L19

Caused due to https://github.com/konveyor/pvc-migrate/pull/126, related to #128 and #127


Argument does not match host shape or layout of computation parameter, want s32[...], got s64[...]

After updating to latest jax-0.1.75 the following warning started to appear
UserWarning: Explicitly requested dtype <class 'int'> requested in astype is not available, and will be truncated to dtype int32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable.

If I set jax_enable_x64 to True
from jax.config import config
config.update("jax_enable_x64", True)

this error appears
RuntimeError: Invalid argument: Argument does not match host shape or layout of computation parameter 0: want s32[1600,1022,25]{2,1,0}, got s64[1600,1022,25]{2,1,0}

The difference in types - s32 and s64, how I should declare variables to be able to enforce eigher 32- or 64-bit storage and to not get errors of such type?

Thanks for raising this!
Can you paste a bit more context on the warning? I'm wondering if it tells us the line number that's causing the warning to be printed.

As the context, I have a variable which I explicitly cast to int, it worked until the update
sign = (z >= 0).astype(int) * 2 - 1

Thanks! (By the way, there's no need for that explicit cast, since Python and NumPy will promote booleans to integers in arithmetic expressions involving integers).
The full warning context with the line number is:
/usr/local/google/home/mattjj/packages/jax/jax/lax/lax.py:5957: UserWarning: Explicitly requested dtype <class 'int'> requested in astype is not available, and will be truncated to dtype int32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/google/jax#current-gotchas for more.

(Knowing the line number in lax.py helps us narrow down the issue.)

Indeed replacing (z >= 0).astype(int) with (z >= 0) makes the warning go away, so that seems like a reasonable workaround. What remains to be figured out is:

whether we want this warning to happen in the first place (maybe yes, though I'm confused as to why it changed with 0.1.75), and
whether enabling x64 leading to an error here is a bug (I think yes).

Actually, on that second point, this didn't crash for me on github master:
from jax import jit
from jax.config import config
config.update("jax_enable_x64", True)

@jit
def f(z):
  sign = (z >= 0).astype(int) * 2 - 1
  return sign

f(2)

Can you do a pip show jaxlib and tell me what it prints? My version is 0.1.51.

Name: jaxlib
Version: 0.1.52

Hrm, I upgraded and still don't see the issue.
Does that script reproduce it for you?

It works, but fails if I remove the @jit annotation

Right, but it fails with an unrelated error because the value stays as a Python integer. This version works too, with and without the jit:
import jax.numpy as jnp
from jax import jit
from jax.config import config
config.update("jax_enable_x64", True)

def f(z):
  sign = (z >= 0).astype(int) * 2 - 1
  return sign

f(jnp.array(2))

What I'm really wondering is: can you provide a minimal repro of the error you got (not the warning)?

Yeah, the latest code works fine and I see that it is unrelated to the core issue.
Thank you for your effort, please give me some time to understand what exactly causes the error.

Without a reproduction of the problem there isn't much we can do here.


Add timeouts to queries on dynamic-generated URLS (tests only), fixes #1172

The Problem/Issue/Bug:
We have some occasional timeouts in TestDdevRestoreSnapshot when a snapshot restores dynamic content and then we test the content.
This just increases the timeout on those; the default is 20s, which you'd think would be enough, but sometimes a dynamic project takes a really long time to come up.

Hmm, buildkite/ddev-macos still failed on this in https://buildkite.com/drud/ddev-macos/builds/832#f0a6d5d0-1764-449e-8c5e-f43c41be4f73, so maybe there's something more to this.