running tmux is adding an extra tab

could you show your .tmux.conf and .zshrc please

Yeah sure!
.zshrc
# export PATH=$HOME/bin:/usr/local/bin:$PATH

# Path to your oh-my-zsh installation.
  export ZSH=/home/vineet/.oh-my-zsh

# Set name of the theme to load. Optionally, if you set this to "random"
# it'll load a random theme each time that oh-my-zsh is loaded.
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
#ZSH_THEME="robbyrussell"
ZSH_THEME="agnoster"
# Set list of themes to load
# Setting this variable when ZSH_THEME=random
# cause zsh load theme from this variable instead of
# looking in ~/.oh-my-zsh/themes/
# An empty array have no effect
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )

# Uncomment the following line to use case-sensitive completion.
CASE_SENSITIVE="true"

# Uncomment the following line to use hyphen-insensitive completion. Case
# sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"

# Uncomment the following line to disable bi-weekly auto-update checks.
# DISABLE_AUTO_UPDATE="true"

# Uncomment the following line to change how often to auto-update (in days).
# export UPDATE_ZSH_DAYS=13

# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"

# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"

# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"

# Uncomment the following line to display red dots whilst waiting for completion.
# COMPLETION_WAITING_DOTS="true"

# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"

# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# HIST_STAMPS="mm/dd/yyyy"

# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder

# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(
  git kubectl rails docker
)

source $ZSH/oh-my-zsh.sh

# User configuration

# export MANPATH="/usr/local/man:$MANPATH"

# You may need to manually set your language environment
# export LANG=en_US.UTF-8

# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
#   export EDITOR='vim'
# else
#   export EDITOR='mvim'
# fi

# Compilation flags
# export ARCHFLAGS="-arch x86_64"

# ssh
# export SSH_KEY_PATH="~/.ssh/rsa_id"

# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"

#Go
export GOPATH=$HOME/go

.tmux.conf
set -g mouse on

Stop
Sent from my Galaxy Tab A (2016)-------- Original message --------From: Rajula Vineet Reddy<EMAIL_ADDRESS>Date: 2/17/2018  8:21 AM  (GMT-08:00) To: robbyrussell/oh-my-zsh<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: Re: [robbyrussell/oh-my-zsh] running tmux is adding an extra tab
(#6627)
Yeah sure!
.zshrc
export PATH=$HOME/bin:/usr/local/bin:$PATH
Path to your oh-my-zsh installation.
export ZSH=/home/vineet/.oh-my-zsh
Set name of the theme to load. Optionally, if you set this to "random"
it'll load a random theme each time that oh-my-zsh is loaded.
See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
#ZSH_THEME="robbyrussell"
ZSH_THEME="agnoster"
Set list of themes to load
Setting this variable when ZSH_THEME=random
cause zsh load theme from this variable instead of
looking in ~/.oh-my-zsh/themes/
An empty array have no effect
ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
Uncomment the following line to use case-sensitive completion.
CASE_SENSITIVE="true"
Uncomment the following line to use hyphen-insensitive completion. Case
sensitive completion must be off. _ and - will be interchangeable.
HYPHEN_INSENSITIVE="true"
Uncomment the following line to disable bi-weekly auto-update checks.
DISABLE_AUTO_UPDATE="true"
Uncomment the following line to change how often to auto-update (in days).
export UPDATE_ZSH_DAYS=13
Uncomment the following line to disable colors in ls.
DISABLE_LS_COLORS="true"
Uncomment the following line to disable auto-setting terminal title.
DISABLE_AUTO_TITLE="true"
Uncomment the following line to enable command auto-correction.
ENABLE_CORRECTION="true"
Uncomment the following line to display red dots whilst waiting for completion.
COMPLETION_WAITING_DOTS="true"
Uncomment the following line if you want to disable marking untracked files
under VCS as dirty. This makes repository status check for large repositories
much, much faster.
DISABLE_UNTRACKED_FILES_DIRTY="true"
Uncomment the following line if you want to change the command execution time
stamp shown in the history command output.
The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
HIST_STAMPS="mm/dd/yyyy"
Would you like to use another custom folder than $ZSH/custom?
ZSH_CUSTOM=/path/to/new-custom-folder
Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
Example format: plugins=(rails git textmate ruby lighthouse)
Add wisely, as too many plugins slow down shell startup.
plugins=(
git kubectl rails docker
)
source $ZSH/oh-my-zsh.sh
User configuration
export MANPATH="/usr/local/man:$MANPATH"
You may need to manually set your language environment
export LANG=en_US.UTF-8
Preferred editor for local and remote sessions
if [[ -n $SSH_CONNECTION ]]; then
export EDITOR='vim'
else
export EDITOR='mvim'
fi
Compilation flags
export ARCHFLAGS="-arch x86_64"
ssh
export SSH_KEY_PATH="~/.ssh/rsa_id"
Set personal aliases, overriding those provided by oh-my-zsh libs,
plugins, and themes. Aliases can be placed here, though oh-my-zsh
users are encouraged to define aliases within the ZSH_CUSTOM folder.
For a full list of active aliases, run alias.

Example aliases
alias zshconfig="mate ~/.zshrc"
alias ohmyzsh="mate ~/.oh-my-zsh"
#Go
export GOPATH=$HOME/go
.tmux.conf
set -g mouse on
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/robbyrussell/oh-my-zsh","title":"robbyrussell/oh-my-zsh","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/robbyrussell/oh-my-zsh"}},"updates":{"snippets":[{"icon":"PERSON","message":"@rajula96reddy in #6627: Yeah sure!\r\n#### .zshrc\r\n # If you come from bash you might have to change your $PATH.\r\n# export PATH=$HOME/bin:/usr/local/bin:$PATH\r\n\r\n# Path to your oh-my-zsh installation.\r\n  export ZSH=/home/vineet/.oh-my-zsh\r\n\r\n# Set name of the theme to load. Optionally, if you set this to \"random\"\r\n# it'll load a random theme each time that oh-my-zsh is loaded.\r\n# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes\r\n#ZSH_THEME=\"robbyrussell\"\r\nZSH_THEME=\"agnoster\"\r\n# Set list of themes to load\r\n# Setting this variable when ZSH_THEME=random\r\n# cause zsh load theme from this variable instead of\r\n# looking in ~/.oh-my-zsh/themes/\r\n# An empty array have no effect\r\n# ZSH_THEME_RANDOM_CANDIDATES=( \"robbyrussell\" \"agnoster\" )\r\n\r\n# Uncomment the following line to use case-sensitive completion.\r\nCASE_SENSITIVE=\"true\"\r\n\r\n# Uncomment the following line to use hyphen-insensitive completion. Case\r\n# sensitive completion must be off. _ and - will be interchangeable.\r\n# HYPHEN_INSENSITIVE=\"true\"\r\n\r\n# Uncomment the following line to disable bi-weekly auto-update checks.\r\n# DISABLE_AUTO_UPDATE=\"true\"\r\n\r\n# Uncomment the following line to change how often to auto-update (in days).\r\n# export UPDATE_ZSH_DAYS=13\r\n\r\n# Uncomment the following line to disable colors in ls.\r\n# DISABLE_LS_COLORS=\"true\"\r\n\r\n# Uncomment the following line to disable auto-setting terminal title.\r\n# DISABLE_AUTO_TITLE=\"true\"\r\n\r\n# Uncomment the following line to enable command auto-correction.\r\n# ENABLE_CORRECTION=\"true\"\r\n\r\n# Uncomment the following line to display red dots whilst waiting for completion.\r\n# COMPLETION_WAITING_DOTS=\"true\"\r\n\r\n# Uncomment the following line if you want to disable marking untracked files\r\n# under VCS as dirty. This makes repository status check for large repositories\r\n# much, much faster.\r\n# DISABLE_UNTRACKED_FILES_DIRTY=\"true\"\r\n\r\n# Uncomment the following line if you want to change the command execution time\r\n# stamp shown in the history command output.\r\n# The optional three formats: \"mm/dd/yyyy\"|\"dd.mm.yyyy\"|\"yyyy-mm-dd\"\r\n# HIST_STAMPS=\"mm/dd/yyyy\"\r\n\r\n# Would you like to use another custom folder than $ZSH/custom?\r\n# ZSH_CUSTOM=/path/to/new-custom-folder\r\n\r\n# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)\r\n# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/\r\n# Example format: plugins=(rails git textmate ruby lighthouse)\r\n# Add wisely, as too many plugins slow down shell startup.\r\nplugins=(\r\n  git kubectl rails docker \r\n)\r\n\r\nsource $ZSH/oh-my-zsh.sh\r\n\r\n# User configuration\r\n\r\n# export MANPATH=\"/usr/local/man:$MANPATH\"\r\n\r\n# You may need to manually set your language environment\r\n# export LANG=en_US.UTF-8\r\n\r\n# Preferred editor for local and remote sessions\r\n# if [[ -n $SSH_CONNECTION ]]; then\r\n#   export EDITOR='vim'\r\n# else\r\n#   export EDITOR='mvim'\r\n# fi\r\n\r\n# Compilation flags\r\n# export ARCHFLAGS=\"-arch x86_64\"\r\n\r\n# ssh\r\n# export SSH_KEY_PATH=\"~/.ssh/rsa_id\"\r\n\r\n# Set personal aliases, overriding those provided by oh-my-zsh libs,\r\n# plugins, and themes. Aliases can be placed here, though oh-my-zsh\r\n# users are encouraged to define aliases within the ZSH_CUSTOM folder.\r\n# For a full list of active aliases, run `alias`.\r\n#\r\n# Example aliases\r\n# alias zshconfig=\"mate ~/.zshrc\"\r\n# alias ohmyzsh=\"mate ~/.oh-my-zsh\"\r\n\r\n#Go\r\nexport GOPATH=$HOME/go \r\n\r\n\r\n#### .tmux.conf\r\n\r\nset -g mouse on\r\n"}],"action":{"name":"View Issue","url":"https://github.com/robbyrussell/oh-my-zsh/issues/6627#issuecomment-366452094"}}}

What does echo $TERM show in tmux? Does running tmux -u solve the problem?

You should have a proper $TERM variable in tmux. Proper values are screen or tmux (depending on your tmux version), or their -256color versions. Once that's all correctly set up you shouldn't need to use tmux -u. See the tmux FAQ for instructions.
If you use the tmux plugin that's all set up for you.


Updating appending/updating output in Notebooks does not work as expected

Add a working variant of this test here: https://github.com/microsoft/vscode/blob/8d9b2e65bd9281cf467729ec7e39128e21433e2c/extensions/vscode-api-tests/src/singlefolder-tests/notebook.document.test.ts#L380


Import svg_path during init so that SVGPathMobject is accessible.

Overview: What does this pull request change?
Import the svg_path module by default so that SVGPathMobject is accessible when importing * from manim.
Motivation and Explanation: Why and how do your changes improve the library?
The svg_path module was not loaded in __init__.py along with the other SVG modules, making SVGPathMobject inaccessible by default. This commit fixes #2943.
Links to added or changed documentation pages
N/A
Further Information and Comments
N/A

Reviewer Checklist

[ ] The PR title is descriptive enough for the changelog, and the PR is labeled correctly
[ ] If applicable: newly added non-private functions and classes have a docstring including a short summary and a PARAMETERS section
[ ] If applicable: newly added functions and classes are tested

This PR is invalid as is, the current main branch has a different implementation of SVGMobject, in particular the mobject.svg.svg_path module does not exist anymore. I'll close this PR, but feel free to reopen it if you have checked the current implementation and found a similar problem.

@behackl Ah, so it does, my apologies. I hadn't realised that the main branch deviated from the latest release quite so much.


Feature: add cell fucntion to set value and style

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 94.18%. Comparing base (3a9ed1e) to head (8bf8a05).

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #29      +/-   ##
==========================================
- Coverage   98.25%   94.18%   -4.07%
==========================================
  Files           7        1       -6
  Lines         573       86     -487
==========================================
- Hits          563       81     -482
+ Misses          8        3       -5
  Partials        2        2

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Replace the default table formatter

Replace mentions of --format pretty to --format table. I don't think the warning listed in the issue ("SQL results now issue a warning if more than 10000 result rows are buffered in the table formatter") needs to be documented, but lmk if you think otherwise.
Closes #2985.

This change is

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/c310e8f414642ba03e5f6fe057cb7f44287e997b/

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/3cf85d6f0c98ddee6ac8e15b250cf31650c2bca8/


Debugging with chrome and vscode

VSCode Version: 1.19.1
OS Version: Win10 x64

I am not able to attach with the chrome debug tools once the VSCode debugger is attached. If I start node manually with the correct parameters I am able to attach the Chrome debugger. I assume it's not possible to attach two debuggers simultatenously then, but how could I detach the VSCode debugger? (If I start without debugging, it won't set any parameters such as debug-brk and port).
Steps to Reproduce:

Launch application in VScode with "Start debugging" using the below pasted configuration. Check debug console to see on what ip and port the debugger is listening on.
Open chrome, visit "chrome://inspect", Devices -> Configure -> Add the ip and port printed in the debugger console at step 1 -> click done
Wait until the new Remote Target appears, click inspect and see that nothing will happen.

Reproduces without extensions: Yes
My launch config:
    {
      "type": "node",
      "request": "launch",
      "name": "Express server",
      "program": "${workspaceRoot}/src/index.ts",
      "outFiles": [
        "${workspaceRoot}/dist/**/*.js"
      ],
      "outputCapture": "std",
      "smartStep": true
    },

So what's the proper way to debug with chrome once I started my node application with VSCode:

Debugging with inspector protocol because Node.js v8.2.1 was detected.
node --max-old-space-size=4096 --inspect-brk=10483 dist\index.js
Debugger listening on ws://<IP_ADDRESS>:10483/1ecd4817-f62c-4563-8467-44407f03d4a7

If you don't want to use VS Code as your debugger, you should consider using Tasks instead of launch.json to launch your Node process in debug mode.
You can read more about tasks here https://code.visualstudio.com/docs/editor/tasks


Refactors user merging verification to require pin

Purpose
This is by no means complete.  This implements the front end of the application.  It produces a pin and attaches it to that email to send to someone.  The pin is produced by creating a 6 digit random number.  Also in this is required a mechanism to verify that the provided pin is correct; however, this functionality (server and client side) has not been implemented by this commit.

Essentially what should happen is that when two users (Agrippa and Brutus)  we need to should that Agrippa => Brutus and that Brutus => Agrippa.  To do that, we send Brutus and email with confirm token that directs Brutus to a confirm page that requires a pin to complete the merge.  Agrippa receives an email with a pin number regarding the merge.  If Brutus truly is Agrippa, Brutus will have the pin from Agrippa's email. Brutus will then be fully merged into Agrippa in the same way it works currently.

Thus the original user cannot merge in a random user, and that random user cannot complete a merge without verifying that they initialized the merge.
Changes
There are a significant number of changes.  The biggest is in framework/auth/core.py with a number of refactors elsewhere to deal with the new interface.  These can probably be simplified and there still needs to be the authorization on the other end but otherwise this functionality plays out.
Interactions
There's one bug where the User object cannot be saved due to the additional field "pending merges"

There are a couple failing tests; @Marcus-Rosti could you please look into those?

Closing this for now until this gets back on the priority queue.


route53: Fix nil-pointer exception with alias resource records

Fixes https://github.com/rancher/rancher/issues/4671
To verify bug fix:

Create a new alias record set in a Route 53 hosted zone (ie 'A' record pointing to S3 website bucket)
Launch Route53 DNS catalog service using the hosted zone
Expected: Service should start successfully

LGTM


Key Vault Storage Account key management no longer using global Key Vault service principal?

Is the "Give Key Vault access to your storage account" section still accurate?
It appears that we now have to give the appropriate Storage Account permissions to whichever principal is going to attempt the set_storage_account API call on the Key Vault, and that the Key Vault service uses that principal's permissions to attempt Microsoft.Storage/storageAccounts/listkeys/action on the Storage Account.
If this is right, then the first step of the example should be updated to:
az role assignment create --role "Storage Account Key Operator Service Role" --assignee <Your User or Service Principal> --scope "/subscriptions/<subscriptionID>/resourceGroups/<StorageAccountResourceGroupName>/providers/Microsoft.Storage/storageAccounts/<YourStorageAccountName>"

Neglecting this (or in some other way giving the user/service principal the needed Microsoft.Storage/storageAccounts/listkeys/action and Microsoft.Storage/storageAccounts/regeneratekey/action permissions), even after running the provided command with --assignee 'https://vault.azure.net', leads to a permissions error:
HttpResponseError: (Forbidden) The client '<Your User or Service Principal>' with object id '<Your User or Service Principal>' does not have authorization to perform action 'Microsoft.Storage/stor
ageAccounts/listkeys/action' over scope '/subscriptions/<subscriptionID>/resourceGroups/<StorageAccountResourceGroupName>/providers/Microsoft.Storage/storageAccounts/<YourStorageAccountName>' or the scope
 is invalid. If access was recently granted, please refresh your credentials.

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

ID: 8b568009-2a35-c627-cfa0-ff5cbfde027e
Version Independent ID: 07fc2d02-be89-1170-3b37-9e65808d5d89
Content: Manage storage account keys with Azure Key Vault and the Azure CLI
Content Source: articles/key-vault/secrets/overview-storage-keys.md
Service: key-vault
Sub-service: secrets
GitHub Login: @msmbaldwin
Microsoft Alias: mbaldwin

@mvzink,  Thanks for the feedback! We are taking a look into this and will get back to you soon.

@mvzink can you clarify your issue and where are you seeing error.
In role above you give key vault (global id) permission to regenerate keys:

Closing with no response from customer. @mvzink please free to reopen when there are more questions #please-close


Hi Sir, This is not an issue but rather a question out of my curiosity. Is this API free to use without an API key?

Hello! Sure, it's free.

Hello! Sure, it's free.

Good work sir. You know I'm struggling right now and I want to make my own startup but I don't have enough budget. My previous employer's salary did not provide enough room for savings. I'm hoping for some open-source API because Google's service is too expensive. Anyway, Thanks for this Great Libray, God bless.

One more question Sir. Can I use this Map Component for mass users? Obviously, you are using UrlTile components, Are there any quotas every time the user requests to get the tile from the server you are using or is there no limit?

One more question Sir. Can I use this Map Component for mass users? Obviously, you are using UrlTile components, Are there any quotas every time the user requests to get the tile from the server you are using or is there no limit?

If you don't use custom tiles, there is no limit. In UrlTile component you must use you custom tiles from server, for example maptiler. Maptiler has some quotas.

One more question Sir. Can I use this Map Component for mass users? Obviously, you are using UrlTile components, Are there any quotas every time the user requests to get the tile from the server you are using or is there no limit?

If you don't use custom tiles, there is no limit. In UrlTile component you must use you custom tiles from server, for example maptiler. Maptiler has some quotas.

Thanks for the information Sir, have a great day ahead!

Hello Sir, it's me again. Does react-native-osmdroid support the showsUserLocation component?

Hello, Sir! I've reviewed your code and it appears that the showsUserLocation feature is currently unavailable. Hopefully, this functionality will be included in the next update. I've already implemented my own solution, but it doesn't provide an accurate position.

Hello, Sir! I've reviewed your code and it appears that the showsUserLocation feature is currently unavailable. Hopefully, this functionality will be included in the next update. I've already implemented my own solution, but it doesn't provide an accurate position.

Hi, I rarely do not do this library at the moment.  You can send a PR with this feature if you want to improve this library.


docs(readme): fix appName and update team orders

Related Issue
Fix the appName => axStudio to DevConf + Fix Team order
Describe the changes you've made
Readme update.
Type of change
What sort of change have you made:

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Code style update (formatting, local variables)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] Documentation update.
[ ] This change requires a documentation update

How Has This Been Tested?

Checklist

[ ] My code follows the guidelines of this project.
[ ] I have performed a self-review of my own code.
[ ] I have commented on my code, particularly wherever it was hard to understand.
[ ] I have made corresponding changes to the documentation.
[ ] My changes generate no new warnings.
[ ] I have added tests that prove my fix is effective or that my feature works.
[ ] Any dependent changes have been merged and published in downstream modules.

Code of Conduct

[x] I agree to follow this project's Code of Conduct

I copied the refrence and Not checked

I copied the refrence and Not checked
No problem!


LSKD -- Offline hyperheuristics

Write a few paragraphs about existing literature on offline hyperheuristics. The aim of the literature review is for us to check what sort of techniques a new meta-heuristics framework should cover, including existing techniques and potentially future techniques.
Deadline: 31st August 2015.

You can assign yourself, or any other if you want.

In the menu on the right hand side, I can only assign myself, you, Jerry or Steven. However, I need to assign to another contributor. For example, one of these tasks is to be assigned to Emma Hart. However, I cannot make the assignment in the right hand side menu.

JJ will be able to better advise on this than I, but I suspect it is because Emma has yet to accept her invitation.

you can name anyone with @whatsisname and it will arrive to the
corresponding inbox, even if he/she's not a repo contributor.
2015-08-11 22:20 GMT+02:00 JerrySwan<EMAIL_ADDRESS>
JJ will be able to better advise on this than I, but I suspect it is
because Emma has yet to accept her invitation.
—
Reply to this email directly or view it on GitHub
https://github.com/MitLware/MitLware-task-allocation/issues/2#issuecomment-130053910
.

--
JJ

Hi JJ, sorry, I'm not very familiar with GitHub. When you say I can name anyone with @name, do you mean in that menu for assigning people on the right hand side? I've tried it in that menu, but it doesn't seem to work... I wonder if I should be entering the information somewhere else?

No, right here and now. If I say @fergunet, please say hi, or @JerrySwan
please say hi, or to someone outside the repo such as @pacastillo, please
say hi, they'll get an email notification.
2015-08-12 10:58 GMT+02:00 minkull<EMAIL_ADDRESS>
Hi JJ, sorry, I'm not very familiar with GitHub. When you say I can name
anyone with @name https://github.com/name, do you mean in that menu for
assigning people on the right hand side? I've tried it in that menu, but it
doesn't seem to work... I wonder if I should be entering the information
somewhere else?
—
Reply to this email directly or view it on GitHub
https://github.com/MitLware/MitLware-task-allocation/issues/2#issuecomment-130221923
.

--
JJ

Ohh, I see! I'll do that then in the other issue, because I still don't have the github id of Gisele, who will be responsible for this issue.
Thanks a lot for the clarification!

Hi @glpappa


Add yarn to project

This is a consideration for after we have done the next releases and fixed the existing bugs, but I thought I would get it down.

I'm unsure if this is something that cartridge itself can enforce. Whilst individual modules could be 'ported' to use Yarn for the CI, adding yarn support for a cartridge based project can realistically be done with no change to the current code.
cartridge-cli could potentially facilitate this by asking if the you want npm or yarn during install, and from here do any required setups.

I'd say move the cartridge-cli over to using Yarn rather than NPM

@mmacartney10 What is it you hope to gain from Yarn?


Solution for #30 Photoswipe

Solution for #30  Photoswipe. Require npm install again.

@fuksi This works fine, the only problem being the 3 buttons to the top right corner once we click on the image appear as 3 blank boxes , leaving that small UI problem, the patch is perfect. r+


Connect2all icon update

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

@Joerio Would you be able to fork off of master and recreate the PR for the commit to go into master as well? Thanks in advance.

Followed up with the partner in certification portal to address the comments mentioned in the PR

@dougelliott I created a new pull request for master (#333 )
@sriyen-msft I could change that, but it should be gaccloud. The azurewebsites url is a dev url and not the production url. The currently deployed connector is also communicating with gaccloud and not with azurewebsites.

@Joerio We went ahead and approved the other PR. Could this one be closed out as a result?


ARROW-13472: [R] Remove .engine = "duckdb" argument

The one failure is (likely) due to the issue we've had with autodisconnect where the DuckDB connection becomes invalid. I've submitted https://github.com/apache/arrow/pull/11308 to turn that off by default until we can unregister without also running a query in DuckDB


Fix SoundInstance.sound set under !hasAudioContext.

In the hasAudioContext() branch, SoundInstance.sound = whatever will call _createSource, which sets SoundInstance.source.
If WebAudio isn't around and hasAudioContext() is false, we still need to call _createSource to do this, lest subsequent "play" and other methods exit early.
This was observed in a project where we'd unchecked "preload" on a number of large voiceover and music audio assets, and then ran under Cocoon's Developer App in Canvas+ mode, which does not support WebAudio (and hence is hasAudioContext=false).
When the sound load completed and SoundSlot._onAssetLoad triggered the onLoad handler (added earlier in SoundSlot.play), it would successfully set instance.sound but not instance.source, so the non-WebAudio instance.play() would exit immediately.
It's possible the _createSource calls from the WebAudio side in play and resume should be migrated over to the non-WebAudio side as well.

I sort of monkey-patched in a solution for us that'll work under launch etc, for the time being; this uses the alternate/additional approach of putting the _createSource calls in play/resume for the non-WebAudio branch.
var PlayCanvasFixes = pc.createScript('playCanvasFixes');

var installPlayCanvasFixes = function() {
    if ( pc.SoundManager.hasAudio() && ! pc.SoundManager.hasAudioContext() ) {
        var oldPlay = pc.SoundInstance.prototype.play;
        var oldResume = pc.SoundInstance.prototype.resume;
        pc.SoundInstance.prototype.play = function () {
            //console.log( "monkeypatch: SoundInstance.play" );
            if ( ! this._source ) {
                //console.log( "monkeypatch: SoundInstance.play calling _createSource" );
                this._createSource();
            }
            oldPlay.call( this );
        };
        pc.SoundInstance.prototype.resume = function () {
            //console.log( "monkeypatch: SoundInstance.resume" );
            if ( ! this._source ) {
                //console.log( "monkeypatch: SoundInstance.resume calling _createSource" );
                this._createSource();
            }
            oldResume.call( this );
        };
    }

};
installPlayCanvasFixes();


Publish extension publicly on Firefox and Chrome marketplaces

I've already published it on both in a hidden state.
I'll need to change the Firefox one (I think) as I had to publish a "private" one as you cant change the visibility once published?

Submitted to both stores!
No idea how long it will take them to get approved - we do require fairly significant perms :/


requirements.txt

@ElleLeonne
can u pip freeze > requirements.txt and merge it in?
I was working locally with lightning 2.x, and they changed the way CLI is built-- there is a LightningCLI object now that autoreads cli args from a LightningModule.
no problem working with lightning 1.x, but a requirements.txt would be helpful

Ah, no, we should be building on the latest release. I was simply unaware and have yet to get to functional testing yet on my end.
Have also slowly been pushing things to main due to an interview I had last Friday, so I hope it didn't feel premature, it was just relevant to discussions and I wanted to make sure the updates didn't get lost in dev.
I'll get that sorted now.

cool thx no worries, hope your interview went well. looks good so far, lightning is pretty cool. is bitsandbytes 8bit built into HF transformers now? super cool


new: introduce is_upper_layer

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

/kind feature
Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area build

/area driver-kmod
/area driver-ebpf
/area libscap
/area libsinsp

/area tests

/area proposals

What this PR does / why we need it:
This PR tries to deal with overlayfs, a union mount filesystem often used by container runtimes, to understand if a process is executing something that is part of the base image of a container or not. Monitoring this could be relevant from a security standpoint since best practices state that containers should be immutable. For this reason, in many use cases, we don't expect processes in the container to execute something that is not part of the base image, whether that file was created in the container or an existing one was modified.
To do so, the PR aims at identifying the layer of the file being executed by a process: if the file belongs to the lower layer, it means that it was part of the base image of the container. Otherwise, the process executed something that is part of the upper layer, and a flag is set upon the execve event.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
To better understand the code, I'd like to give reviewers some useful pointers. First, we must check if the file being executed is part of an overlayfs. We can do that by retrieving the superblock magic of the file and comparing it with the OVERLAYFS_SUPER_MAGIC.  You can see here that this constant is used when an overlayfs is mounted.
Then, to check the layer of the executable file, we can do some pointer arithmetics, having in mind that the pointer to the inode that we can retrieve form struct file is pointing to the vfs_inode member of the ovl_inode struct, as you can see here.
The last thing that I wanted to discuss is that for now I didn't find a way to retrieve the upper_layer information when scanning the proc filesystem. One possible way to do it could be by inspecting the /proc/<pid>/mounts file and checking if there is an overlayfs entry, which in case we can use to retrieve the upperdir directory and look for the exe file there. However, this would easily work when Falco is installed on the host, but could be a problem when it is running as a container. This is because most of the time the upperdir directory is placed in /var/lib/docker, /var/lib/containerd directories. This means we would need to give the Falco container access to those directories. I would like to know what do you think, and if you like it, I can implement it. Also, I am open to any other possible solution on this!
Does this PR introduce a user-facing change?:

new: introduce is_exe_upper_layer

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: loresuso
To complete the pull request process, please assign fntlnz after the PR has been reviewed.
You can assign the PR to them by writing /assign @fntlnz in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

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

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

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

This is really cool @loresuso ! Thanks for this effort!

/ok-to-test

Hey @FedeDP, thank you!
I agree with you, maybe we can better document the fact those new fields (is_exe_writable and is_exe_upper_layer) can be trusted only on specific kernel versions? I thought about that too, didn't know how to solve it honestly

I agree with you, maybe we can better document the fact those new fields (is_exe_writable and is_exe_upper_layer) can be trusted only on specific kernel versions? I thought about that too, didn't know how to solve it honestly

Yeah that seems a reasonable thing to do.
Another way of solving would be to use a string instead of a boolean and returning  where the info is not available, but i don't quite like the idea :)

Yeah, I don't like that too, execve gets called pretty much of course, let's not waste space on the ring buffer just for this :)

I meant that we can push onto the ring buffer eg: [ -1, 0, 1] where -1 means "NA", 0 means "false" and 1 means "true". Ring buffer would be untouched.
What i don't really like is having the filterchecks on a string instead of a boolean, it is much less elegant.

Ah I got it now, sorry! Yeah you are right

Hey @FedeDP, I think I have addressed all your comments:

Stated that is_exe_upper_layer is meaningful if underlying kernel version is above 3.18
Added a small function get_exe_inode to retrieve the inode of the executable. It is now used by exe_writable and exe_upper_layer.
decided to add a function to properly set the upper_layer flag when scanning procfs. I tested it with docker and containerd and it seems perfectly ok, let me know what do you think on this
Noted that  the overlays magic constant was defined in a c file before kernel 4.5, so to make it work, I defined PPM_OVERLAYFS_SUPER_MAGIC as you can see

Thank you! Your feedback is always much appreciated!!

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: loresuso
To complete the pull request process, please assign fededp after the PR has been reviewed.
You can assign the PR to them by writing /assign @fededp in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

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

/retest

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

Test name
Commit
Details
Required
Rerun command

build-libs-arm
dcba40b40f3d7f1d17352e6e7e1717efb2ec581d
link
true
/test build-libs-arm

Full PR test history. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

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

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

Test name
Commit
Details
Required
Rerun command

build-libs-arm
dcba40b40f3d7f1d17352e6e7e1717efb2ec581d
link
true
/test build-libs-arm

build-libs
dcba40b40f3d7f1d17352e6e7e1717efb2ec581d
link
true
/test build-libs

Full PR test history. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

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

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

Test name
Commit
Details
Required
Rerun command

build-libs-arm
dcba40b40f3d7f1d17352e6e7e1717efb2ec581d
link
true
/test build-libs-arm

build-libs
dcba40b40f3d7f1d17352e6e7e1717efb2ec581d
link
true
/test build-libs

build-libs-bundled-deps
dcba40b40f3d7f1d17352e6e7e1717efb2ec581d
link
true
/test build-libs-bundled-deps

Full PR test history. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

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

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

Test name
Commit
Details
Required
Rerun command

build-libs-arm
dcba40b40f3d7f1d17352e6e7e1717efb2ec581d
link
true
/test build-libs-arm

build-libs
dcba40b40f3d7f1d17352e6e7e1717efb2ec581d
link
true
/test build-libs

build-libs-bundled-deps
dcba40b40f3d7f1d17352e6e7e1717efb2ec581d
link
true
/test build-libs-bundled-deps

build-libs-with-chisels
dcba40b40f3d7f1d17352e6e7e1717efb2ec581d
link
true
/test build-libs-with-chisels

Full PR test history. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

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

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

Test name
Commit
Details
Required
Rerun command

build-libs-arm
b8cdc809a553467a34e27b58f83caec507f976e0
link
true
/test build-libs-arm

Full PR test history. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

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

Hey maintainers! I have rebased this PR again, and I still think is a good feature to add. What do you think? 🙂

/cc @FedeDP @Andreagit97 @LucaGuerra

@loresuso: GitHub didn't allow me to request PR reviews from the following users: LucaGuerra.
Note that only falcosecurity members and repo collaborators can review this PR, and authors cannot review their own PRs.

In response to this:

/cc @FedeDP @Andreagit97 @LucaGuerra

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

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: loresuso
Once this PR has been reviewed and has the lgtm label, please ask for approval from fededp by writing /assign @fededp in a comment. For more information see:The Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

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

/milestone 0.10.0

One more thought/question: You mentioned that this does not work for all runtimes, would it make sense to mention the runtimes that are compatible in the definitions?

@loresuso as modern_bpf is one the near-term roadmap for initial experimental release, would it be possible to already add this new signal to modern_bpf as well? Would be much appreciated. CC @Andreagit97
CC @LucaGuerra would also appreciate adding the exe writable signal to modern_bpf (if possible) to have feature parity across all 3 drivers.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: loresuso
Once this PR has been reviewed and has the lgtm label, please ask for approval from fededp by writing /assign @fededp in a comment. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

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

Hello everybody, I have reworked this PR addressing the comments and implemented the related version in the modern eBPF probe, so that we have feature parity in all three instrumentation modes.
I also tested the old eBPF probe and the kmod on older kernels, like version 4.18 and unfortunately we are not able to retrieve the upper layer information. It seems that the kernel uses a sb_magic that is different in newer kernel and associates it to ext3 in my experiments.
If everyone like the approach of this PR, I can work on finding the minimum version from which it starts to be working and add a comment about it inside the code, but first I would like to hear everyone's opinion since this is a really time consuming task.

This PR LGTM! Thank you for all the effort you put into it! :tada:

If everyone like the approach of this PR, I can work on finding the minimum version from which it starts to be working and add a comment about it inside the code, but first I would like to hear everyone's opinion since this is a really time consuming task.

Yeah, it would be amazing to find the first working version!

Also, I am thinking about ways to introduce tests for this feature. A possible way would be to mount an overlayfs and try to execute something from there and verify that the flag gets set.

Absolutely, I think we need a test, in this way we can easily detect when this access vfs_inode + sizeof(struct inode)); is no more valid

LGTM label has been added.  Git tree hash:<PHONE_NUMBER>2da7292c059a57b9aff84e49779ba5

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

Needs approval from an approver in each of these files:

OWNERS [Andreagit97]

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

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

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,FedeDP]

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


fix repo-files CLI example

Fix https://github.com/huggingface/huggingface_hub/issues/2416
huggingface-cli repo-files <repo_id> delete *

is wrong and must be replaced by
huggingface-cli repo-files <repo_id> delete "*"

Problem is that the shell lists all local files and add it to the executed command line. Nothing much we can do python-side unfortunately.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

Thanks for spotting this @severo


Support for SNS, NNS and ICRC

Support for new transactions
SNS transaction:
https://github.com/Zondax/ledger-icp/issues/187
https://github.com/Zondax/ledger-icp/issues/188
https://github.com/Zondax/ledger-icp/issues/189
https://github.com/Zondax/ledger-icp/issues/192
ICRC transfer:
https://github.com/Zondax/ledger-icp/issues/190
NNS transactions:
https://github.com/Zondax/ledger-icp/issues/184
https://github.com/Zondax/ledger-icp/issues/183
https://github.com/Zondax/ledger-icp/issues/182
Update app icons:
https://github.com/Zondax/ledger-icp/issues/193
Reestructure app code:
Encapsulate code for parser SNS and NNS transactions in order to improve its readability
Encapsulate code for displaying different transactions and separate Candid and Protobuf in different files
Run Zemu tests in parallel

Linked to B2CA-1130


Add instructions on installing the cross-compiler using package managers

Fixes #45.

This is really appreciated!

Thanks a lot for solving no member named 'fancy_abort' problem. Hoping author to merge this commit soon.


add script to generate manifest from github

This script allows for manifest generation without a checkout of the repo.
It would be used from a wrapper script (an example is provided inline with the code)
Signed-off-by: MKB<EMAIL_ADDRESS>

As of the next final release, there will be no more templates in submodules (see current release-candidate branch, templates directory, for instance).  Given that fact, does this script still serve much of a purpose?

updated PR to reflect that, thanks @amitkgupta. The script would help CloudOps out (and other operators, I imagine), by allowing an operator to generate a manifest without having to have a checkout of cf-release, which would save a bunch of time and downloading.

@jim80net
I still see several issues with this PR (some small, some not so small):

Comments mention pivotal-cloudops
There is no test coverage for the script
It seems impossible to keep up to date: if I change the names of the templates, there's no way to have a passing test for this script that reflects the current ref until I push the changes up to GitHub first, so I would have to push before the test passes, defeating the purpose
There is no cf-lamb.yml; the change that makes the loggregator submodule unnecessary also removes the cf-lamb.yml template and includes the relevant templating in the other template files (this is perhaps stark proof of point 3)
It leaks the implementation of generate_deployment_manifest, basically any logic in that script needs to be duplicated for this script to stay up to date.
I'm not sure the point of having this in cf-release itself.

What if you just did:
$ git clone --depth=1 --branch ${desired_branch} https://github.com/cloudfoundry/cf-release /tmp/hi-mom
$ cd /tmp/hi-mom && ./scripts/generate_deployment_manifest ${iaas} ${OLD_PWD}/stubs/my-stub.yml

As long as you only every need branches or tags (not arbitrary refs) it's pretty fast and much more guaranteed to be up to date.

You're right for all of those points. The workaround provided doesn't work for us, because we do sometimes want arbitrary refs. However, we found a way to do this without injecting things into cf-release: https://gist.github.com/jim80net/9f0a9ca9679f664cca08
Thanks!

Cool, glad you still found something that worked.


it doesn't support arabic language

  "RESPONSE": "{\"success\":false,\"message\":\"\\u0643\\u0644\\u0645\\u0629 \\u0627\\u0644\\u0645\\u0631\\u0648\\u0631 \\u0627\\u0644\\u0642\\u062f\\u064a\\u0645\\u0629 \\u0644\\u0627 \\u062a\\u062a\\u0637\\u0627\\u0628\\u0642 \\u0645\\u0639 \\u0643\\u0644\\u0645\\u0629 \\u0627\\u0644\\u0645\\u0631\\u0648\\u0631 \\u0627\\u0644\\u062e\\u0627\\u0635\\u0629 \\u0628\\u0643\"}",

hey @joukhar , please share the log file, and a screenshot of how it appears in Log Viewer.

@arukompas

hey @joukhar , thanks for the screenshot. How about the log file itself? It could be that the content is stored in the log file like this, therefore there's nothing for the Log Viewer to do and it just displays the content inside the api-requests.log file.

nah , it returns translated string from /lang/ar.json , and i used dd()

@joukhar could you share the contents of the storage/logs/api-requests.log file?

[2024-03-06 18:06:32] production.ERROR: Api Request {"URL":"PRIVATE","METHOD":"POST","USER_AGENT":"PRIVATE","IP":"PRIVATE","USER":"PRIVATE","REQUEST_BODY":{"id":"PRIVATE","answers":"PRIVATE","totalTime":44},"RESPONSE":"{\"success\":false,\"message\":\"\\u062d\\u062f\\u062b \\u062e\\u0637\\u0623 \\u0645\\u0627\"}","LOCALE":"ar"}

i use ai for this because im lazy to come with solution, it easy but u just need to convert readable text.
The Arabic text for "\u062d\u062f\u062b \u062e\u0637\u0623 \u0645\u0627" is "حدث خطأ ما".

@joukhar ok, but that's what I mean. The log message is logged as characters \u062d\u062f\u062b \u062e\u0637\u0623 \u0645\u0627 inside the api-requests.log file, not as arabic unicode characters.
Log Viewer just displays whatever's inside the file and it should not do any kind of hex-to-unicode conversion because that would be misleading to what is actually logged in the file.
The issue is somewhere else, because it's not saving arabic characters into the log file itself. Perhaps the API itself is returning non-arabic characters (\u062d\u062f\u062b \u062e\u0637\u0623 \u0645\u0627).

@joukhar the easiest way is to just open your api-requests.log file inside a text editor. If it does not contain arabic characters inside a simple text editor, then Log Viewer won't display them either.

You're right i tested it on vscode and it doesn't show proper arabic , the problem is in json requests

@joukhar awesome, thanks for confirming! 😃 closing


[SPARK-15728][SQL] Rename aggregate operators: HashAggregate and SortAggregate

What changes were proposed in this pull request?
We currently have two physical aggregate operators: TungstenAggregate and SortBasedAggregate. These names don't make a lot of sense from an end-user point of view. This patch renames them HashAggregate and SortAggregate.
How was this patch tested?
Updated test cases.

cc @cloud-fan

Test build #59837 has started for PR 13465 at commit fcd117b.

Test build #59837 has finished for PR 13465 at commit fcd117b.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/59837/
Test FAILed.

LGTM

Test build #59852 has started for PR 13465 at commit f567e4d.

Test build #59852 has finished for PR 13465 at commit f567e4d.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/59852/
Test PASSed.

Merging in master/2.0.


Set the GCP_REGION env variable

Codecov Report
Base: 28.66% // Head: 28.72% // Increases project coverage by +0.06% :tada:

Coverage data is based on head (39ed7cd) compared to base (fd0b589).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #398      +/-   ##
===========================================
+ Coverage    28.66%   28.72%   +0.06%
===========================================
  Files           54       54
  Lines         4727     4731       +4
===========================================
+ Hits          1355     1359       +4
  Misses        3245     3245
  Partials       127      127

Flag
Coverage Δ

unittests
28.72% <100.00%> (+0.06%)
:arrow_up:

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

Impacted Files
Coverage Δ

pkg/provider/pulumi/gcp/cloudrunner.go
81.81% <100.00%> (+0.56%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Github Workflow for building wheels

Should close issue #23 - this is a GitHub workflow for building and publishing the wheels, based on the bash script suggested in the issue.
Currently only builds wheels for MacOS and Linux.

@WrathfulSpatula - Please check that the resulting artifacts are OK.


Do want "show only unread" so I can easily browse folders with mails like reports

Expected behavior
Good solution would be enabling filtering all <-> unread/starred via pinching/zooming. As a BlackBerry user I like how it's done on BlackBerry Hub — you are just pinching mail list and all unread messages are hidden, you zoom to get them all back.
Same can be done for folders all <-> have unread/1st class/except 2nd class. You know, I have a few dozens of 'em…
Actual behavior
I can't find how I can select only unread messages and how can I switch between them easily. There's a sorting, but when you page through emails you can't be sure that you ain't already in the "read" space.
Environment
K-9 Mail version:
5.208
Android version:
4.3
Account type (IMAP, POP3, WebDAV/Exchange):
IMAP

Tap on the unread count in the folder list.


forge create prints logs to stdout instead of stderr

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.2.0 (123ad0a 2022-06-13T00:06:50.866238846Z)
What command(s) is the bug in?
forge create
Operating System
Linux
Describe the bug
This is the stdout of a forge create --verify ... execution:
No files changed, compilation skipped
Deployer: 0x...
Deployed to: 0xa258a4e6fdfc57e6b4a7295a0d42389a02d7a4d5
Transaction hash: 0x858....
Starting contract verification...
Waiting for etherscan to detect contract deployment...

Submitting verification for [lib/dummy-token/src/DummyToken.sol:DummyToken] 0xa258a4e6fdfc57e6b4a7295a0d42389a02d7a4d5.

Submitting verification for [lib/dummy-token/src/DummyToken.sol:DummyToken] 0xa258a4e6fdfc57e6b4a7295a0d42389a02d7a4d5.

Submitting verification for [lib/dummy-token/src/DummyToken.sol:DummyToken] 0xa258a4e6fdfc57e6b4a7295a0d42389a02d7a4d5.

Submitting verification for [lib/dummy-token/src/DummyToken.sol:DummyToken] 0xa258a4e6fdfc57e6b4a7295a0d42389a02d7a4d5.

Submitting verification for [lib/dummy-token/src/DummyToken.sol:DummyToken] 0xa258a4e6fdfc57e6b4a7295a0d42389a02d7a4d5.
Submitted contract for verification:
	Response: `OK`
	GUID: `kqb3ggyidyhyqfidigjyydryfkkz8kpr81eccy5uhhnjqxbqcx`
	URL: https://goerli.etherscan.io/address/0xa258a4e6fdfc57e6b4a7295a0d42389a02d7a4d5
Waiting for verification result...

This makes it very hard to compose the output with other commands (i.e.: store the new contract address into a variable).
It would be good if all of that was sent to stderr instead and produce only the contract address in stdout.

There is a --json argument that could help here

@rkrasiuk
I believe these are repeated outputs from within the retry, right?

Submitting verification for [lib/dummy-token/src/DummyToken.sol:DummyToken] 0xa258a4e6fdfc57e6b4a7295a0d42389a02d7a4d5.

Submitting verification for [lib/dummy-token/src/DummyToken.sol:DummyToken] 0xa258a4e6fdfc57e6b4a7295a0d42389a02d7a4d5.

Submitting verification for [lib/dummy-token/src/DummyToken.sol:DummyToken] 0xa258a4e6fdfc57e6b4a7295a0d42389a02d7a4d5.

Submitting verification for [lib/dummy-token/src/DummyToken.sol:DummyToken] 0xa258a4e6fdfc57e6b4a7295a0d42389a02d7a4d5.

Submitting verification for [lib/dummy-token/src/DummyToken.sol:DummyToken] 0xa258a4e6fdfc57e6b4a7295a0d42389a02d7a4d5.

If so, I think we can skip that and instead implement are spinner or something?
@hbarcelos we need to wait until etherscan finished the job and the. way it works is by querying the status of the GUID.

The problem is not the logs being displayed, but they being sent to stdout instead of stderr.
I've created a small wrapper to workaround that:
forge-deploy() {
  # Currently `forge create` send the logs to stdout instead of stderr.
  # This makes it hard to compose its output with other commands, so here we are:
  # 1. Duplicating stdout to stderr through `tee`
  # 2. Extracting only the address of the deployed contract to stdout
  OUTPUT=$(forge create --keystore="$FOUNDRY_ETH_KEYSTORE_FILE" ${PASSWORD_OPT} "$@" | tee >(cat 1>&2))

  grep -i 'deployed to:' <<<"$OUTPUT" | awk -F: '{ print $2 }' | tr -d '\s'
}

@rkrasiuk for sure

I'm of the opinion that all regular output should be rendered to stdout with stderr being reserved for warnings and errors. To chain the output into other processes one should rely on the --json flag.
Currently the --verify flag is still incompatible w/ --json which is incorrect
Reference:
{"deployer":"0xDCC004c7Cd4275E9b83106F609163095670700db","deployedTo":"0x78338De128a15F1F3c32E07E8977893eDcADe111","transactionHash":"0x9436af54bc01f0dc64dd6320b2197fb1536b660d2776bcc1dd3531271e12e68a"}
Starting contract verification...
Waiting for etherscan to detect contract deployment...
Start verifying contract `0x78338De128a15F1F3c32E07E8977893eDcADe111` deployed on sepolia

Submitting verification for [src/Counter.sol:Counter] 0x78338De128a15F1F3c32E07E8977893eDcADe111.

Submitting verification for [src/Counter.sol:Counter] 0x78338De128a15F1F3c32E07E8977893eDcADe111.

Submitting verification for [src/Counter.sol:Counter] 0x78338De128a15F1F3c32E07E8977893eDcADe111.

Submitting verification for [src/Counter.sol:Counter] 0x78338De128a15F1F3c32E07E8977893eDcADe111.

Submitting verification for [src/Counter.sol:Counter] 0x78338De128a15F1F3c32E07E8977893eDcADe111.
Submitted contract for verification:
	Response: `OK`
	GUID: `6diymkthn7br6dqcqw43m5apz8zfmbggfzusmc7hrkylshjny7`
	URL: https://sepolia.etherscan.io/address/0x78338de128a15f1f3c32e07e8977893edcade111
Contract verification status:
Response: `NOTOK`
Details: `Pending in queue`
Contract verification status:
Response: `NOTOK`
Details: `Already Verified`
Contract source code already verified


Documentation about "default color schemes" and alt is misleading

It appears that because of this paragraph, people try to put color schemes into defaults.json.

Included color schemes
Windows Terminal includes these color schemes inside the defaults.json file, which can be accessed by holding alt and selecting the settings button. If you would like to set up a color scheme inside one of your command-line profiles, add the colorScheme property with the color scheme's name as the value.

Added a note to reduce confusion: https://github.com/MicrosoftDocs/terminal/commit/6533054934e5dec626cb99c4799783d967a5f15a


Update mailin-embedded to 0.8

Mailin embedded 0.8 contains a bugfix and uses rustls by default.
Fixes #49

This is released in v0.16.0


Check k <: k'' instead of k <: k'->k''

When assigning to a field, the incoming value must be a subtype of
the field type without viewpoint adaptation.
This addresses #1469.

This should trigger a 0.10.0 release when it passes and is merged.

There was a single failure in CI on Windows. Looks unrelated. I restarted that one job to verify.

Before this gets merged, we should either do a manual CHANGELOG entry or change the title of this to better reflect what should be in the CHANGELOG.

Passing!


Cannot connect to rosetta drone from external device

Describe the bug
Have tried both QGC and MavSDK. Neither will connect to the app. I have my PC (M1 MacBook) and my phone running rosetta drone connected to the same wifi router. I have enabled connect from external GCS in the app. Looking through issues I see few others reporting similar but not seeing a resolution. E.g. https://github.com/RosettaDrone/rosettadrone/issues/181 here they said they resolved by using QGC on the same device. From reading through issues, it seems QGC should detect and connect automatically. Does it search through all IP addresses on the network at this port to find rosetta drone? The <IP_ADDRESS> address shown in rosetta drone settings seems to just be localhost so I am confused about this as well.
Steps To Reproduce

Build app with DJI and google maps API keys filled
Load to phone
Plug phone to RC controller
Power on controller and drone
launch app and click drone button
go to setting in app and enable connect from external device
open QGC app on MacBook
It does not connect (displays disconnected)

Screenshots
No response
Drone Model
DJI Mavic Air

Smartphone Model
- Model: Samsung Galaxy S22
- Android version: 14

Additional context
No response

After step 6, try changing the IP in RosettaDrone to your computer's IP. The field is situated right below the External GCS toggle. The default was a loopback for me (<IP_ADDRESS>).
You may also have to setup a connection to your phone in QGC.


[Question] Should we create release branches to manage backward compatibility?

Currently there's only one main branch and all changes / fixes will be merged into main, while this could bring an issue whenever we push out a patch release. Since some of the new features may not be backported to the patch version, should we create release branches and manage versioning stuff correspondingly?

How would this impact policies specifically especially since we use an annotation to state the  minimum version (minversion) as well as more recently the compatible versions of Kubernetes (kubernetes-version) and Kyverno (kyverno-version)? What problem does this solve?
If we cut a release, even if it's a patch, and these policies stop working, one or multiple things should happen in my mind.

It shouldn't have broken because there's supposed to be CLI validation using this library. Where there are coverage gaps we need to plug them.

2a. Kyverno should be fixed because this may be a bug or
2b. The policy needs to be brought up to date with the current functionality and the minversion annotation bumped in response.

Since the patch releases only have the critical fixes for a minor version, all the new features won't be cherry-picked into the patch release branch. While the policy may already up-to-date reflecting latest changes. This results in CI failures as I'm currently generating 1.5.2 and have to cherry-pick last three feature commits into the 1.5 release branch in order to fix the failure. https://github.com/kyverno/kyverno/commits/release-1.5
If we create release branches as kyverno/kyverno does, I can point the CLI test of the kyverno/kyverno release branch to kyverno/policies release branch, so there won't be any issue.

Is this only a problem for policies written for 1.5.0?

No the problem is for policies written for 1.6.0, and 1.5.2 don't have these supports.

Where in kyverno/policies do we have policies requiring 1.6.0?

These policies require CLI 1.6.0:
https://github.com/kyverno/policies/blob/main/other/prepend_image_registry/prepend_image_registry.yaml
https://github.com/kyverno/policies/blob/main/other/pod_lifetime_annotation/enforce_pod_duration.yaml
And corresponding PRs:
https://github.com/kyverno/kyverno/pull/2673
https://github.com/kyverno/kyverno/pull/2569
https://github.com/kyverno/kyverno/pull/2560

Ok, so these tests are failing even in 1.5.1 so they should never have made their way there. Let's rename the test files temporarily so they don't get picked up by the CLI allowing everything to pass. We'll leave all the files there. Once these are working in the next release, we can rename them back to test.yaml so they get picked up again. How's that sound?

I see a few issues by renaming test.yaml:

we still want to run these tests from kyverno/kyverno main branch, how can we do that if we rename test.yaml?
how do we inform other contributors to follow this?
there must be someone do the job after a release, I prefer not to

By creating different branches we can point kyverno/kyverno branches to target a single branch, even for the tests that aren't working we can merge to a staging branch and merge to main once supported.

This is a one-time thing. The root of the problem here is that we allowed test cases to be written which we knew didn't work. That was a mistake from day one. If we follow good practices from here forward and this doesn't happen, do we still have a problem? If we're proposing creating branches just to solve this one problem, to me that's more overhead to solve a problem that shouldn't have existed to begin with.

Discussed over Slack. While this one issue might have been an isolated occurrence, larger concerns (which we have recently experienced) center around changing of the PolicyReport CRD which the test command uses which requires the test manifest structure changes. This can be a breaking change for earlier Kyverno versions which may still need support. Branching is a way to freeze these in place preventing any such breaking changes. By applying versioning to the schemas of these test manifests as raised here, it should also help.


chore(master): release 2.1.44

:robot: I have created a release beep boop
2.1.44 (2024-04-09)
Bug Fixes

deps: update dependency stripe/stripe-php to v13.18.0 (66e3f50)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/wayofdev/laravel-stripe-webhooks/releases/tag/v2.1.44 :sunflower:


Finally tenant rename working

[Enter feedback here]
As of today (24/Nov/2021) we can do our tenant rename option.
Step 2 can also be made directly on the azure portal, without powershell or modules.
Just use magic aka link
https://aka.ms/SPORenameAddDomain
As it put
&Microsoft_AAD_IAM_tenantRenameAllowed=true
at end of URL.
Besides of creation of another desiredtenant.onmicrosoft.com, you can also set the initial domain directly from the portal

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

ID: 2454cb9a-dfa4-9c8a-3671-3150d49f74c7
Version Independent ID: e0a4a71a-aa4d-1066-8f76-742c3411f06c
Content: Change your SharePoint domain name - SharePoint in Microsoft 365
Content Source: SharePoint/SharePointOnline/change-your-sharepoint-domain-name.md
Service: sharepoint-online
GitHub Login: @kaarins
Microsoft Alias: kaarins

And my tenant wasn't signed the form for this public-preview as noted at end of this post
https://strive2code.com/post/2021/09/15/o365-tenant-rename

Hello @eduardo-publi
How are you? Is there anything you see in the article that you think needs a correction?
Thank you!

Hello @get-itips,
I just guess this article should be moved to a higher level, as it not only affects only Sharepoint, but entire Office 365 services.

Hello, Eduardo @eduardo-publi thanks for clarifying.
If I understand correctly, did you follow this guide step by step and that also changed your tenant name for other services? Please correct me.
Thank you!

Clicking "Configure initial domain" gives "No access" error.

Clicking "Configure initial domain" gives "No access" error.

I experience the exact same issue, haven't found a solution yet

Clicking "Configure initial domain" gives "No access" error.

Same.

Success but not quite the way described above. I managed to delete the original xxx.onmicrosoft.com domain by doing the following.

Navigate to Admin Centre > Domains
Click the onmicrosoft.com domain you want to change / replace
Click the "Add onmicrosoft.com domain" link (See pic) and create a new onmicrosoft.com address to use as your tenant name.

Navigate back to the Domains section.
Click on the original onmicrosoft.com domain again.
Click the "Make Fallback" button.
Navigate back to the Domains list and you should now be able to remove the original onmicrosoft.com domain.

Some notes:
I had to F5 the page a few times to, and the removing of the original domain took some effort due to dependencies but once I did that it all seems to work fine.
Also the domain is labelled "Available" rather than verified in the AAD portal. I'm investigating this now,
Lets hope I didn't just bork my tenant, though everything seems fine so far. Emails are working for my custom domain so that is the main thing :)

Hello,
Has anyone tested renaming with Sharepoint, Dynamics and Teams ?

Clicking "Configure initial domain" gives "No access" error here as well.
Error 403 = "Access Denied"

Yes, I have done it, you have to set time in future date. https://docs.microsoft.com/en-us/sharepoint/change-your-sharepoint-domain-name

I was able to create new custom domain and migrate users and everything looks good, but I cannot remove custom domain. Even I created additional domain for test, with no reference to anything, and I cannot remove it. Any idea how to fix it?

Same error as @mlomat for me, any suggestion?

FYI, you cannot remove .onmicrosoft.com domain, and you are limited to five onmicrosoft.com domains in your Microsoft 365 environment. see below article
https://docs.microsoft.com/en-us/microsoft-365/admin/setup/domains-faq?view=o365-worldwide#why-do-i-have-an--onmicrosoft-com--domain


Foreign key constraint collision when multiple keys exist between the same two tables

#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
pub enum Relation {
    #[sea_orm(
        belongs_to = "super::account::Entity",
        from = "Column::Member1",
        to = "super::account::Column::Id"
    )]
    Member1,
    #[sea_orm(
        belongs_to = "super::account::Entity",
        from = "Column::Member2",
        to = "super::account::Column::Id"
    )]
    Member2,
}

generates
  CONSTRAINT "fk-team2-account" FOREIGN KEY ("member1") REFERENCES "account" ("id"),
  CONSTRAINT "fk-team2-account" FOREIGN KEY ("member2") REFERENCES "account" ("id")

which results in
error returned from database: constraint "fk-team2-account" for relation "team2" already exists

Hey @hlb8122, I was thinking a new naming scheme for foreign keys.
What do you think if we employ the scheme below?

How about FK_TABLENAME_COLUMNNAME?
Keep It Simple Stupid whenever possible.
https://stackoverflow.com/a/199504/7059723

Does this scheme prevent colisions in all cases?
What I was looking for when I noticed the collision was a way to do manual naming.

Does this scheme prevent colisions in all cases?

Not all cases, it's possible to create two foreign keys on the same local column and referencing two different foreign columns. But I would say this seems unlikely to happen in real life.
CONSTRAINT "fk-team2-member1" FOREIGN KEY ("member1") REFERENCES "account1" ("id")
CONSTRAINT "fk-team2-member1" FOREIGN KEY ("member1") REFERENCES "account2" ("id")

What I was looking for when I noticed the collision was a way to do manual naming. I'm not sure whether this is possible in addition to this fix?

Yeah, it's possible to perform manual naming on RelationDef, I can add that.


Add use_sysroot to portable version

fix https://github.com/Eloston/ungoogled-chromium/issues/556

If I'm not mistaken, install-sysroot.py will download binaries from Google to work. That doesn't make sense since this project is trying to remove Google integration. Could you look into using the script to create the sysroot? If possible, I'd like to cache the created sysroot instead of re-creating it every time.

Yes it is grabbing it from google i thought about that too i guess its why sysroot is removed in the first place... i am investigating that and will report back

To install the sysroot install-sysroot.py is used and to "build" them sysroot-creator-sid.sh BuildSysrootAmd64 is used BUT in both cases the binaries are downloaded
either from
https://commondatastorage.googleapis.com/chrome-linux-sysroot/toolchain/e7c53f04bd88d29d075bfd1f62b073aeb69cbe09/debian_sid_amd64_sysroot.tar.xz
or from
http://ftp.us.debian.org/debian//dists/experimental/main/binary-amd64/Packages.xz
I know its possible to build all those package from sources etc. but it a huge work what do you think ? should be stop here or go into a gentoo venture ? loool :p just kidding. the right thing to do is to create a script to build all the needed package from sources, and to be honest i don't have time to do it not right now.
So decide and let me know

or may be provide both binaries with and without sysroot

The Debian binaries are fine. The main thing is that they aren't from Google. For example, on Windows and macOS, we download the LLVM toolchain from LLVM.

The Debian binaries are fine. The main thing is that they aren't from Google. For example, on Windows and macOS, we download the LLVM toolchain from LLVM.

looooooool it's truly about ungoogling the stuff hahahah ok, i will see how to implement that because i am building on suse and the main method give some errors if not on debian...

i am facing a little problem the command to build is ./build/linux/sysroot_scripts/sysroot-creator-sid.sh BuildSysrootAmd64 and as i mentioned i am building on suse... and finally this can not be done on suse nor on non debian based system the reason i am building one suse is because of the glibc version v2.22 for a good backward compatibility.
possible solution host a built pre-built sysroot from debian on uc repo and adapt the command to grab that file instead on the one coming from google. otherwise this will break compatibility with non debian system based on the portable build
what should we do ?

Maybe instead of sysroots, we can require people to build ungoogled-chromium inside a container or chroot of Debian stable?

To fix the issue i was having with non debian system i started by adding manually the Debian signature keys... (it's a single command like to fix that)... this fixed the first step of the process, then i was asked dpkg-deb (or something similar)... i stopped there... i think if i go further in fixing the compatibility i will may be end up having 5 or 6 additional commands... i don't think we should break compatibility.
may be going further in debugging and fixing the compatibility on non Debian system would be the way to go (this is what is mostly done on the different build wiki over here)
This would be faster and more reliable than a container or a chroot.
What do you think ?
(i will see look into that later on, i am a little out of time lool)
Note : i became a github junkie loooool

@Off-topic by the way are you going to the FOSDEM event in Brussels ?

i think if i go further in fixing the compatibility i will may be end up having 5 or 6 additional commands... i don't think we should break compatibility.
This would be faster and more reliable than a container or a chroot.

The sysroot creation script is not under our control. I think this will be more work for us to maintain if Google changes it. This is why a chroot or a container of Debian stable are more practical options, since we are in total control of them.

@Off-topic by the way are you going to the FOSDEM event in Brussels ?

Nope.

i reevaluated the situation here, i may just end up building on debian... i am summarizing
Needs:
use_sysroot to increase systems compatibility
Issue:
use_sysroot is using a pre compiled binary hosted on google servers
Note:
chromium build tools are using debian sysroot other distro are not implemented
Solution:
build/gather sysroot from debian repo > this require a debian system/chroot/container
Solution implementation 1:
Limit portable building integrating sysroot to debian (this somehow what google is doing by its unique debian sysroot) user who want to build on other system would just build without sysroot (as generally most of the time the system we build in are the target system for the application to be run on)
This solution is the easiest one

Pro:
-- Easy to implement
-- Almost zero maintenance
-- User who want to build on system other than debian can do so while disabling the sysroot feature (this is not a problem as long as the targeted distro is the same)
-- Users building on system A (other than debian) and targeting system B are a very small user base
Con:
-- Portable build with sysroot feature (not including google binary) will be limited to debian
-- Users who wants to build on system A (other than debian) and target system B, can encounter https://github.com/Eloston/ungoogled-chromium/issues/556

Solution implementation 2:
Debian chroot/container:

Pro:
-- Portable release would be build-able on any system and targeting any system
-- That chroot/container could be hosted and maintained on ug git that would be kind a VM for building portable uc that devs would just use without facing compatibility/missing-package issues
Con:
-- Not easy to implement
-- All the build environment needs to be integrated/added/installed on that container
-- Need considerable maintenance in case it's hosted
-- If it's implemented as a script/instruction to install/add a chroot/container that would make building uc super complicated and it is already the case i don't think we need to supercharge the building system
-- Space needed to build
-- Time needed to build
-- Do-ability regarding noobs
-- Issue generator for unqualified users and thus wasting time helping them.

Solution implementation 3:
Hosting a debian prebuild sysroot on a separate git
Basically doing the following on a debian system and uploading the result at every release.
$ cd build/linux/sysroot_scripts
$ ./sysroot-creator-stretch.sh BuildSysrootAll

-Pro:
-- Super easy to do
-- Solve all the headache
-- No change to the current build system
-- All distro will remain compatible without changes
-- Implementation would be super easy as well just changing the url from the google server to the generated file
-Con:
-- Sysroot need to be generated from time to time or on every release
Solution implementation 4:
implement a container just to build the sysroot not the whole chromium thing... this is kind a solution 2 with less con.
Alternative:
Google is claiming their binary are coming from debian repo https://chromium.googlesource.com/chromium/src/+/HEAD/docs/linux_sysroot.md
Using the binary from the google hosting may be a solution
Personal situation
I have limited time for UG i personally can not go in a road that require more maintenance time than the current situation, i will then close this PR as current solution is not suitable, temporarily i will build next releases on debian system to be able to add sysroot (not the one from google servers) OR i will build that sysroot on a debian system and use it in my current build system (opensuse) this would be the easier way for me, if this solution is suitable long term, i may maintain a build script for sysroot and PR it. That script would be used as solution 3...
Any way let me know what you decide and i will see if i can do something about it ;) otherwise i am not alone contributing for portable ;) others may help in case of the container solution.

I don't understand what this solution is. Are we requiring people to build on Debian machines (no chroot/container)?

When we add sysroot using google tools/script it download sysroot from google and thus this works on any system BUT if we want to build/package it ./sysroot-creator-stretch.sh BuildSysrootAll this require a debian system and can not be run on any system

I don't understand this solution. Why does using a container to build the sysroot help?

If we want to build the sysroot with the current build script it require debian, now we can implement a new script that build sysroot on any system but it would require a lot of maintenance...
So the theoretical idea here was to use a debian container to build sysroot while keeping the current build method/script

They also have hashes for the entire sysroot images (in tar files), so maybe we could have some way of verifying these hashes are valid by building the images ourselves too? I'm not sure if the tar file is reproducible though...

Yeah tar would produce a different hash, what we could do instead is verify/check that google is indeed using debian binary (this require same effort as solution 3) we would decompress the tar and check the hash of all file inside it (comparing them to debian build) this could get complicated if there are version miss-match between google's hosted binary and debian binary... (i mean miss-match between latest and used version)

I like this solution the most because there are commands to build a sysroot image relatively easily (therefore, any user can build it themselves if they choose). But, how do we make Chromium use the sysroot image?

Me too... to make Chromium use the sysroot image is relatively super easy, current patching system is removing the google link (link of the google's hosted sysroot) we would just replace that link with our link. (would just require only one additional line on the patch that remove google's links from sources)
I can implement solution 3, would be relatively easy (may be one day or half day) to get everything done... we would need an additional sysroot git... if you want to go for it just create an other git for the hosted sysroot under ungoogled-chromium organization, i will PR to it later on once implemented.
So solution would require:

a git/repo for hosting the script to build sysroot and the built sysroot
a PR to UC similar to the current one (with one line difference or so...)

I see, I didn't realize that building the sysroot image requires Debian. In that case, my view is different.
There are essentially two groups of users with their own trade-offs we need to consider for controlled build environments (e.g. sysroot, chroot, container, VM, dedicated system):

Those that only build ungoogled-chromium for their own Linux systems. Technically, these users don't need to worry about a controlled build environment as long as they run their binary on a system that is compatible with theirs.

Not using a controlled environment:  However, there still can be issues if their system libraries are too different from Chromium's expected library versions, or they end up running the binary on a system that is no longer compatible (e.g. by switching distros, or maybe package updates). Even then, I'd expect the number of people in this group to have issues to be relatively small.
Using a controlled environment: Using a controlled environment will eliminate the problems from above, but it is more costly (time and space) for the user. The methods for creating controlled build environments are described in the next group.

Those that build ungoogled-chromium for use on all* Linux systems. Backwards-compatibilty with the system libraries is important to ensure runtime compatibility. This group will want to have a binary they can readily download and run anywhere (e.g. from Contributor Binaries). Therefore, binaries for this group must be built in a controlled environment.

Using sysroots: Since this must be built in a Debian environment, it is silly to require the users to make a container just to build the sysroot. Instead, you mentioned that we could provide pre-built sysroot images. However, this will be more for us to maintain (even if we automate the building and publishing of sysroot images via CI). Also, we'd need to patch Google's script to use our own sysroot image, which means we will need to keep track of changes Google makes to this script.
Using other methods: This removes all complications involving sysroots. In fact, with a solution like Docker, we could provide a Dockerfile that could automate the entire build for us. Sysroots don't provide us that kind of power. However, I'm not sure what kinds of downsides we would have using something like Docker.

* That is, distros supported by Chromium
Essentially, we need to answer these two questions:

For Group 1, should we enforce a controlled build environment?
To make a controlled build environment, should we use sysroots or another method like Docker?

you mentioned that we could provide pre-built sysroot images. However, this will be more for us to maintain (even if we automate the building and publishing of sysroot images via CI). Also, we'd need to patch Google's script to use our own sysroot image, which means we will need to keep track of changes Google makes to this script.

Yes but it does not require a lot of time

For Group 1, should we enforce a controlled build environment?

Theoretically that group does not need sysroot the build script could be adapted to add a "local portable version". Enforcing a controlled build environment will depend on how we implement that controlled build environment if that would require installing docker and setting it up it may be a downside (additional heavy steps) may be splitting the build system could be a solution here

Build a portable widely compatible with a controlled build environment
Build a portable for local usage

If the controlled build environment solution is fairly easy to implement we would just enforce it and avoid all the headache

To make a controlled build environment, should we use sysroots or another method like Docker?

i know how docker works but am not familiar with it (not using it) do you have the time to implement this ? basically what would that Dockerfile do ? the container would be a debian system ? in short what's required for the docker solution ?
Just pick a solution that works best according to what's required, keep in mind some important things

Over complicating a build system that is already complicated may not help
The solution would need to be easily maintainable by you or any contributor (what i mean is that this should not be a time consuming solution otherwise we would remove the portable and add more distributions support)

Here's an example I just found for building Chromium in Docker: https://github.com/chromedp/docker-chromium-builder
I have worked with Docker before, so I could put something together relatively easily. However, this requires users to install Docker in order to use it. This is more work for the user compared to the sysroot solution.
While I don't like that we would have to maintain patches for the sysroot scripts, I think it's better than Docker for users who want to make builds. I will re-open this PR and create a new repo under ungoogled-software for you to PR against.

I created ungoogled-chromium-sysroot. I'm not sure if you can PR against an empty repo, so let me know if it doesn't work.
Also I should note that Docker will be our fallback if sysroots don't work as well as we think they will.

Closing since the fragmentation refactor has been merged. Please re-submit when ungoogled-chromium-portablelinux has been updated.


Makes timeout parameter configurable

Hi team,
We would like to add timeout parameter for our usage. We are seeing frequent failure, which we think are reflated to timeout.
Reference: https://nodejs.org/api/child_process.html#child_processspawnsynccommand-args-options, denotes that spawnSync returns status field, which is the exit code of the subprocess, or null if the subprocess terminated due to a signal.
Example:

https://github.com/fossas/fossa-cli/runs/5470043147?check_suite_focus=true

Overview
As a user, I would like to configure timeout parameter, so I can allow page configuration to more time.
Notes
I'm not sure how to unit-test and validate this, I'm not on windows.

@al-cheb pinging your for review, even if you can bump the default timeout, it would help. Cheers!

Closes:

https://github.com/al-cheb/configure-pagefile-action/issues/16


@jonallured: Organizations Search API. #migration

This adds an Organization Search API using Grape, mounted at /api/v1/organizations/search, which takes a term query param and supports pagination. The search backs onto Elasticsearch and is tailored towards auto-complete, as I believe that's the first client use-case presented by the Artist CV project.
For authentication I use JWT tokens as we do elsewhere (Impulse, Radiation, etc). This is our standard for microservice auth. We expect the aud (audience) property to contain the name of a trusted app, encoded using a Bearden secret key. There is no user authorization or roles at this stage - a trusted app simply has full access to the API. This seems sufficient for the search API as it seems fine to me that any user of Volt should have access to it. I have added volt and bearden as trusted apps for now.
I have updated the README with some details on how to consume the API using JWT.
Migration
A JWT secret has to be placed in the staging and production JWT_SECRET ENV var. We have been using standard 128-bit hex strings - that's not the most secure so I would double the size to use a 64 character key instead, via SecureRandom. For example:
require 'securerandom'
SecureRandom.hex(32)
=> "38bb35000902bf28a4b7c34df33e3f26839dffec4cfdd2a859a5ba6fb7acfac5"

I will generate a unique secret key for each env in this manner and set them in Heroku.
This contributes towards https://github.com/artsy/collector-experience/issues/354.
cc @ashkan18 who has experience using JWT - if you could just verify I am using JWT in the correct manner here, as this is my first time using it. I have largely lifted the middleware and helpers from Impulse so it should all look familiar.

Migration has been applied.

@ashkan18 Makes sense to use the gravity internal_secret for the Bearden ClientApplication instead of creating a new one. I can update to use that. I'm still not fully clear how clients request Gravity for the JWT however. The doc you link to refers only to an XAPP token. How does that relate to the JWT the client needs to send to Bearden?

if it's a trusted client, we need to create a JWT using that command I posted, basically we find Bearden client application and we create a ApplicationTrust.
If user's want to access Bearden, they need to first call Gravity's @POST /api/v1/me/token` and ask for Bearden JWT.

Your scheme also fixes my abuse of the aud (audience) field, which is intended to be "the recipient of the token" - I was mistakenly using it to identify the sender.

I hate to chime in late and after so much work has been done, but I have to ask about Grape. Can you help me understand why Grape is a good fit for adding this endpoint?
Another question I have is why such an old version of the gem - I see that 0.17.0 was picked and that version was released over a year ago. I also see that version v1 was released about a month ago - is there some reason you didn't want to use that version?
Sorry @cavvia, we probably should have touched base on these points before you got started, but I didn't know to ask these questions earlier!!

@ashkan18 I've updated this to use a Gravity JWT. Could you check the README to see if it makes sense?
@jonallured I used Grape as it's a fully featured API framework we use in a number of services (Gravity, Impulse, etc). It's mainly geared towards REST APIs, but it basically had the features I needed for mounting endpoints, handling params and adding auth. What would be your recommended approach? Clearly I don't want to mix these endpoints up with the web application. The version is old because I cargo-culted the Gemfile entry from Gravity, I can definitely update it.

Just wanted to drop in and update this PR - there was a little discussion on Slack about this topic yesterday. I clarified that I was not suggesting GraphQL, but rather, I'd like to see the Bearden API start its life as simple Rails controllers. I feel that adding Grape goes against my goal of keeping the project a pretty straightforward Rails app.
I'm about to have some time off and this work is not on deadline, so I'll come back to this next week.

Had a great pairing session with @cavvia yesterday where I showed him how I have done simple APIs with Rails in the past. We worked on a ping endpoint and then started on the search endpoint, but ran out of time before finishing up. We agreed that I'd merge this PR and then I'd do another PR on top that replaces Grape with a Rails version.


Passing Dynamic Mock to Promise Resolve

I've defined MyService as follows
export interface MyService {
    doStuff(): Promise<any>;
}

and MyClass that consumes MyService as
import {MyService} from "./my.service";
import {Observable} from "rxjs/Observable";
export class MyClass {

    constructor(private myService: MyService) {}

    useMyService(): Observable<boolean> {
        return Observable.create(obs => {
            this.myService.doStuff()
                .then((res: any) => {
                    console.log("Promise resolved!");
                    obs.next(true);
                })
                .catch((err: any) => {
                    console.log("Promise rejected!");
                    obs.error(false);
                })
        });
    };
}

In addition, I have an interface MyModel defined as
export interface MyModel {
    someProperty: string;
}

Now I want to write a test such that I can mock MyService using TypeMoq. So I did the following
describe('MyClass', () => {

    it('useMyService returns true when myService returns true', (done) => {
        let mockModel = TypeMoq.Mock.ofType<MyModel>();
        mockModel.setup(x => x.someProperty).returns(() => "info");

        let mockMyService = TypeMoq.Mock.ofType<MyService>();
        mockMyService.setup(x => x.doStuff()).returns(() => Promise.resolve(mockModel.object));

        let myClass = new MyClass(mockMyService.object);

        myClass.useMyService().subscribe(
            (result: boolean) => {
                expect(result).toBeTruthy();
                done();
            },
            (error: any) => {
                expect(error).toBeFalsy();
                done();
            });
    });
});

However, the Promise.resolve(mockModel.object) never seems to resolve when supplied with the TypeMoq mock as shown above, i.e., I don't get "Promise resolved!" (or "Promise rejected!") printed to the console and the jasmine test times out.
If I replace Promise.resolve(mockModel.object) with Promise.resolve({ someProperty: 'info'}), i.e.,
let mockMyService = TypeMoq.Mock.ofType<MyService>();
        mockMyService.setup(x => x.doStuff()).returns(() => Promise.resolve({ someProperty: 'info'}));

then the test works (I get "Promise resolved!" printed to the console). Why doesn't Promise.resolve() resolve when supplied with a TypeMoq mock? Is this a limitation of dynamic mocking?

Passing a mock object to Promise.resolve doesn't seem to make much sense.
I assume your intention was to resolve it like this:
...
mockMyService.setup(x => x.doStuff()).returns(() => Promise.resolve(mockModel.object.someProperty));
...

Let me know if your test still fails after making the change above.

Hi @florinn,
Can you explain why mocks yielding Promises to other mocks (as @jdbriaris illustrates above) "doesn't make much sense"?
It seems a perfectly reasonable scenario to me -- indeed our team requires it -- and it is still broken in master per this slight modification to the should return a Promise resolved with a mocked property test.
Regards,
Ron
--- a/test/spec/Mock.test.ts
+++ b/test/spec/Mock.test.ts
@@ -1401,7 +1401,7 @@ describe("Mock", () => {
                     mockModel.setup(x => x.someProperty).returns(() => "info");

                     const mockMyService = TypeMoq.Mock.ofType<MyService>();
-                    mockMyService.setup(x => x.doStuff()).returns(() => Promise.resolve(mockModel.object.someProperty))
+                    mockMyService.setup(x => x.doStuff()).returns(() => Promise.resolve(mockModel.object));

                     const myClass = new MyClass(mockMyService.object);

Hi @ron-macneil-youi
If your test scenario requires passing a mock object to Promise.resolve then you have to make sure the mock object is thenable by adding a .then setup:
let mockModel = TypeMoq.Mock.ofType<MyModel>();
mockModel.setup((x: any) => x.then).returns(() => undefined);
...

This is due to a limitation of the underlying technology. For more information see issue #70