upgrade failed when upgrading from passive

cos-toolkit version:
master (built probably June 14/15 whenever the initramfs "cut" problem was introduced)
CPU architecture, OS, and Version:
amd64 Leap 15.3
Describe the bug
This is a potential bug.
elemental upgrade --reboot failed to remount /run/initramfs/cos-state ro, un ultimately reboot (elemental cli never finished the Cleanup step.)
I wanted to upgrade to pick up the "cut" fix.  My system was booted to passive because active had the missing "cut". Ran "elemental upgrade --reboot" configured to upgrade from my local registry. (Note: references to k3os have nothing to do with rancher os2. I have basically built my own flavor of k3os v1 with elemental toolkit.)
/etc/luet/luet.yaml:
logging:
  color: false
  enable_emoji: false
general:
  debug: false
  spinner_charset: 9
repositories:
  - name: local
    description: local
    type: docker
    enable: true
    cached: true
    priority: 1
    verify: false
    urls:
      - <IP_ADDRESS>:5000/k3os

/etc/elemental/config.yaml
upgrade:
  system:
    uri: docker:<IP_ADDRESS>:5000/k3os:staging
  recovery-system:
    uri: channel:recovery/cos
reboot: true

Ran "elemental upgrade --reboot" as root.
To Reproduce
Boot to passive and attempt an upgrade? (Not 100% sure.)
Expected behavior
Expected the upgrade to complete and reboot.
Logs
INFO[2022-06-17T10:43:14Z] Upgrade completed
E0617 10:43:14.216350   19578 mount_linux.go:195] Mount failed: exit status 32
Mounting command: systemd-run
Mounting arguments: --description=Kubernetes transient mount for /run/initramfs/cos-state --scope -- mount -t auto -o remount,ro /dev/sda4 /run/initramfs/cos-state
Output: Running scope as unit: run-r72f77cfd7d8145ac9d1808cf43912cc5.scope
mount: /run/initramfs/cos-state: mount point is busy.

ERRO[2022-06-17T10:43:14Z] Failed mounting device /dev/sda4 with label COS_STATE

mount:
/dev/sda4 on /run/initramfs/cos-state type ext4 (rw,relatime)

Clearly, the intention is for COS_STATE to be remounted as read-only.
I ran this directly:
systemd-run --description="Kubernetes transient mount for /run/initramfs/cos-state" --scope -- mount -t auto -o remount,ro /dev/sda4 /run/initramfs/cos-state
Running scope as unit: run-r16db1092507044c5b1eb2947d629aeb3.scope
mount: /run/initramfs/cos-state: mount point is busy.

Installed lsof (via scp) and no files were opened.
Discovered loopback device was deleted.
k3os-staging:/var/log # losetup -a
/dev/loop0: [2052]:262147 (/run/initramfs/cos-state/cOS/passive.img (deleted))

Even just a simple umount of /run/initramfs/cos-state reported target busy.
I tried everything I could think of to make the device not busy, to no avail.  I ended up rebooting, since the upgrade had actually succeeded, it just died in the unwinding Cleanup() in elemental-cli.
Additional context
k3s WAS running at the time of the upgrade, but, I have done this many times now, so I don't suspect this affected anything.  However, I am using the embedded etcd for the first time. Not sure if that might have contributed to this.

I realize now that loop0 is mounted on /, so, any file being opened while the fs was mounted as rw, could have caused this.  I did k3s-killall.sh before attempting all of the above diagnostics, but not before I did the initial upgrade attempt.  I bet that's what it was. Something opened a file while the upgrade was / mounted rw and by the time upgrade completed, / was busy.

Thanks for the report @kcburge !
When implementing the upgrade I did hit this on occasion, when the cos-state partition was unable to be remounted RO after the upgrade due to it being busy, although I could never reproduce it consistently to find out what was keeping it from remounting it.
In the end, it should not affect much, as its done after the upgrade is finished so the system is correct and a reboot should be the next thing but we would really like to keep the system in the same state as when we started.
I guess this kind of makes sense if upgrading from passive as we move the old active into passive before upgrading the active, thus we are removing the current system.
Do you have in hand your custom k3os and the cloud config used in order to try to reproduce it? Were you able to reproduce this or it was a once only issue?
Thanks!

See https://github.com/rancher/elemental-cli/issues/431 for more info, closing this, feel free to reopen if it is still an issue


[ENHANCEMENT] Playoff Stats

The is already a collection of playoff data in leagueRecords.js at line 406.
Create tables for PPG, Win%, etc.
Try and separate teams still in the running from loser's brackets. Currently I believe it just collects all postseason points regardless of if the game is still in the running for champ.

There is already a Playoff filter on the Records page to see leader boards.
I want to add total stats for every team on there. Similar to the table for Playoffs on the Overall Stats sheet in Google Drive.


"Start Over" during X's turn makes O go twice

During an AI game, clicking "Start Over" during your turn will rest the board and allow you to make the first turn in a new game. After you make your first turn, the AI will then take two turns, placing two O on the map instead of one.

If you aren't working on this problem I can try to have a look at it.
I can't seem to recreate this bug. Clicking the "Start Over" button in an AI game and making your first move doesn't place two O on the map for me. Am I missing something?

@ImmutableBox I guess that bug was in an older version or something. I cannot seem to reproduce it anymore, either. Thank you, anyway!


Not supported for 1.21

The whole world becomes invisible when a shader is activated.

then use this
https://discord.com/channels/844591537430069279/1125004721585934356/1247734648092758137

Closing this since support for 1.21 has been added in laz branch.
Changes might be back ported to mbt branch if there are still users who prefer using old build system.


Disallow 00000000-0000-0000-0000-000000000000 as .id

Currently it is possible to insert a document with an all-zero UUID as .id when using allow_user_specified_id.
This UUID is often used as a special value, e.g. to indicate that an entity is not stored in the database yet. If code encounters an object in the database with such an id it can cause bugs and possibly even security issues. Plus I don't really see any use-case where you'd want to store an all-zero id.
So I'd suggest rejecting inserts using this id, even when allow_user_specified_id is specified.

I think it's unlikely we're going to add checks like this; the intention really is that allow_user_specified_id should typically be for easing migrations, and not the typical course of operations.
You should be able to put your own constraint on it in a base type for your application, though, if you want.


ESP32-H2 LEDC Output is too slow (IDFGH-13499)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
5.3.2
Espressif SoC revision.
ESP32-H2
Operating System used.
Windows
How did you build your project?
Command line with idf.py
If you are using Windows, please specify command line type.
CMD
Development Kit.
Custom ESP32-H2
Power Supply used.
USB
What is the expected behavior?
Output 200KHz Square Wave
What is the actual behavior?
Outputs a 13Hz Square Wave, verified by my oscilloscope
Steps to reproduce.
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_log.h"
#include "driver/adc.h"
#include "driver/ledc.h"
#include "driver/gpio.h"
#include "esp_err.h"
#define LEDC_TIMER              LEDC_TIMER_0
#define LEDC_MODE               LEDC_LOW_SPEED_MODE
#define LEDC_OUTPUT_IO          (5) // Define the output GPIO
#define LEDC_CHANNEL            LEDC_CHANNEL_3
#define LEDC_DUTY_RES           LEDC_TIMER_1_BIT // Set duty resolution to 13 bits
#define LEDC_DUTY               (1 << (LEDC_DUTY_RES - 1))
#define LEDC_FREQUENCY          (200000)
#define ADC1_CHANNEL (ADC1_CHANNEL_3)  // GPIO 4 corresponds to ADC1_CHANNEL_3
static void ledc_init(void)
{
// Prepare and then apply the LEDC PWM timer configuration
ledc_timer_config_t ledc_timer = {
.speed_mode       = LEDC_MODE,
.duty_resolution  = LEDC_DUTY_RES,
.timer_num        = LEDC_TIMER,
.freq_hz          = LEDC_FREQUENCY,
.clk_cfg          = LEDC_USE_XTAL_CLK
};
ESP_ERROR_CHECK(ledc_timer_config(&ledc_timer));
// Prepare and then apply the LEDC PWM channel configuration
ledc_channel_config_t ledc_channel = {
    .speed_mode     = LEDC_MODE,
    .channel        = LEDC_CHANNEL,
    .timer_sel      = LEDC_TIMER,
    .intr_type      = LEDC_INTR_DISABLE,
    .gpio_num       = LEDC_OUTPUT_IO,
    .duty           = LEDC_DUTY, // Set duty to 0%
    .hpoint         = 0
};
ESP_ERROR_CHECK(ledc_channel_config(&ledc_channel));

uint32_t clk_freq = ledc_get_freq(ledc_timer.speed_mode, ledc_timer.timer_num);

ESP_LOGI("LEDC", "LEDC source clock frequency: %ld Hz", clk_freq);

}
void app_main(void)
{
// Set the LEDC peripheral configuration
ledc_init();
// Set duty to 50%
ESP_ERROR_CHECK(ledc_set_duty(LEDC_MODE, LEDC_CHANNEL, LEDC_DUTY));
// Update duty to apply the new value
//ESP_ERROR_CHECK(ledc_update_duty(LEDC_MODE, LEDC_CHANNEL));

adc1_config_width(ADC_WIDTH_BIT_12);                // 12-bit ADC resolution
adc1_config_channel_atten(ADC1_CHANNEL, ADC_ATTEN_DB_0); // No attenuation

while (1)
{
    // Read the ADC value
    int adc_value = adc1_get_raw(ADC1_CHANNEL);
    ESP_LOGI("ADC", "ADC Value: %d", adc_value);

    // Delay for 100 ms
    vTaskDelay(pdMS_TO_TICKS(100));
}

}
Debug Logs.
No response
More Information.

Trying to make a low power moisture sensor using the esp32-h2, however I cannot produce a 200KHz square wave using this board. I was able to using the dev kit + Arduino but for some reason my board is only giving me 13Hz. Could it be that the LEDC timer is defaulting to a one of the RTC timers somehow? Any help would be appreciated. Thank you

I can't reproduce the issue with your code, I can see a 200KHz 50% duty square wave. Have you tried with other GPIO?


Bug: remove /examples from the navigation bar when on the index/home page

When you're on the index page, /examples still shows up, not sure why this is the case, maybe you can figure this out @Valcoholics

This seemed to go away, maybe I was on the wrong link.

It's janky, i fix it by adding the meta.json files to each folder, it's remembering old deploys for some reason, will open the issue to the nextra team as well


Formulate amplitude model with t-channel effects

The notebooks introduced #17 and #18 only build a simple decay chain model, constructing $p\gamma$ as a 'virtual' state (s channel) with single, fixed quantum numbers. This is not feasible for GlueX, where t channels dominate.
For this reason, a second set of project notebooks is developed in parallel that build the amplitude through pure SymPy (#13, see also https://github.com/ComPWA/RUB-EP1-AG/issues/144). This does not use an amplitude builder for the decay chain, but should offer the flexibility to build up a correct formulation of the production mechanism.
Additional constraints can be formulated from the final state in order to further simplify the amplitude model. As suggested by @bgrube, a nice example of this can be found in GlueX-doc-4788.

The notebooks introduced #17 and #18 only build a simple decay chain model, constructing pγ as a 'virtual' state (s channel) with single, fixed quantum numbers. This is not feasible for GlueX, where t channels dominate.
For this reason, a second set of project notebooks is developed in parallel that build the amplitude through pure SymPy (#13, see also ComPWA/RUB-EP1-AG#144). This does not use an amplitude builder for the decay chain, but should offer the flexibility to build up a correct formulation of the production mechanism. Additional constraints can be formulated from the final state in order to further simplify the amplitude model. As suggested by @bgrube, a nice example of this can be found in GlueX-doc-4788.

"Pomeron Exchange" 🤔

Area for relevant literatures that are interesting or maybe useful (updating):
Coupled-channel analysis for ϕ photoproduction with Λ(1520)


[FEATURE] MustNotMatch validator

Hi,
Is there a way to create the opposite of the mustMatch validator?
The use case here is in password reset, the user needs to enter the current password and the new password, so I want to make sure the user doesn't put the same password in both fields.
Thanks

Hi @naamapps,
Mmm, interesting. your suggestion.
Thanks


Add ofirgall/goto-breakpoints.nvim

Checklist:

[V] The plugin is specifically built for Neovim.
[V] The lines end with a .. This is to conform to awesome-list linting and requirements.
[V] It's not already on the list.
[V] If it's a colorscheme, it supports treesitter syntax.
[V] The title of the pull request is Add `username/repo`  when adding a new plugin.
[V] Neovim is spelled as Neovim (not nvim, NeoVim or neovim), Lua is spelled as Lua (capitalized).

Thanks for the PR!


error decoding RegisterResponse with server key

version info
headscale version
0.17.0-beta3
tailscale version
1.28.0
error decoding RegisterResponse with server key
2023-02-23T16:50:45.611+08:00: control: [v1] TryLogin: register request: cannot decrypt response
2023-02-23T16:50:45.611+08:00: control: [v1] sendStatus: authRoutine-report: state:authenticating
2023-02-23T16:50:45.611+08:00: Received error: register request: cannot decrypt response

Can you update to Headscale to v0.20.0?


docs(readme): add @favware/cliff-jumper package

Description
I recently finished @favware/cliff-jumper, which is exactly what is described in the change. Not entirely sure what the definition of "Similar project" is, but I figured "hey nothing ventured, nothing gained". If a package like this does not meet the requirements for "Similar project" then no harm done rejecting this PR.

Motivation and Context

N.A., readme only.
How Has This Been Tested?

N.A., readme only.
Screenshots / Output (if appropriate):
N.A., readme only.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[x] Documentation (no code change)
[ ] Refactor (refactoring production code)
[ ] Other

Checklist:

[x] My code follows the code style of this project. (I think so? Not entirely sure what the markdown formatting is that was applied on readme, I guessed a prose wrap and line length of 120)
[x] I have updated the documentation accordingly.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

Codecov Report

Merging #83 (8438dd0) into main (9801963) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #83   +/-   ##
=======================================
  Coverage   38.96%   38.96%
=======================================
  Files          14       14
  Lines         901      901
  Branches      233      234    +1
=======================================
  Hits          351      351
  Misses        440      440
  Partials      110      110

Continue to review full report at Codecov.

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


Add option to save RAM.

Added two flags for training LocalRF to get the camera poses only.
These flags help reduce the RAM occupation.

skip_saving_video: If set, will not generate rendered video
skip_TB_images: If set, TensorBoard will not show the rendered images.

Hi,
Thank you for this contribution. Would you mind making  skip_saving_video and skip_TB_images store_true?
Skiping should occur when these variables are True, not False.

Hi, @ameuleman
Thank you for the suggestion and I'm sorry for the late update.
I changed the logic of the flags.


github.com/typesense/typesense-go/v2/go.mod does not exist

github.com/typesense/typesense-go/v2/go.mod does not exist

same here cant upgrade

Some pkg.go.dev is not picking up the latest release: https://github.com/typesense/typesense-go/releases/tag/v2.0.0

by go module standard, because you bumped to v2 it should be under repo/v2/

or you could do what e.g. labstack/echo did: https://github.com/labstack/echo/blob/master/go.mod
they just have v2 in the root gomod, but sadly you cannot tag v2 without you updating to v2 gomod

Looking at the changes in v2, are they actually a semver-major change? The phrasing in the upgrade notes sounds like the added generic types are an optional feature rather than a source-breaking one. It seems like the simplest solution would be to release that as an update in the v1 release line rather than bumping the major version, given all of this rigmarole with changing import paths.
Would that be an option?

Given that there were no breaking changes, I've published v1.1.0 instead and deleted the earlier v2 release.


Define and implement GetRecordedResourcesCounts

This is contains the definition and the implementation of the GetRecordedResourcesCounts AWSReader method in order to have a wrapper around the configservice.GetDiscoveredResourceCountsWithContext
closes #30

Coverage increased (+0.1%) to 84.615% when pulling 599b4f8daff06f9c3922b4961cc25427d7725469 on if-30 into 05f5e40574f64957b74f398e1f86cb56539060ac on master.


Added Transactions and Essential vs Non-Essential Use Cases.

Added Transactions and Essential vs Non-Essential Use Cases.

Also made sure no errors, but when you push make sure you review that email verification is how it should be


[Docs] testDir for suites that sit alongside Jest/Mocha

That should work via specifying a folder (first param)


'dep init' pulling in packages that don't exist online hangs

What version of dep are you using (dep version)?
v0.3.2-163-g5d5088d6
What dep command did you run?
I ran dep init -gopath -v while in a directory only containing the file main.go below.
// main.go
package main

import (
	"fmt"

	. "github.com/test/color"
)

func main() {
	fmt.Println("vim-go")
}

My intention was to add a repo from my own gopath under src/github.com/test/color (for testing purposes). I deleted the .git information in this directory.
What did you expect to see?
I expected this to work: because of the -gopath flag it would just go and get the repo info from the gopath.
If for some reason it didn't do this and tried to get the information from github, I would have expected it to fail.
What did you see instead?
❯ dep init -gopath -v
Getting direct dependencies...
Checked 1 directories for packages.
Found 1 direct dependencies.
Searching GOPATH for projects...

This text came up. I waited a long time for it to do something (10-20 mins) and it was just stuck here.

So seeing this, I did some investigation as to why it just froze like this. The freeze occurs in gps/cmd_unix.go. Here is what I found:

The one repo that it tries to pull in doesn't exist.
It first tries https. That doesn't work because it doesn't exist so it goes onto the next option: ssh.
It tries to make the connection with ssh and this is where it freezes. (The git ls-remote command witht he ssh address)

I tried running the git ls-remote<EMAIL_ADDRESS>command on my terminal and it showed the known_hosts prompt:
The authenticity of host 'github.com (<IP_ADDRESS>)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)?

So I assumed that the freeze up occurs because git ls-remote ssh... can't proceed witht he action because github is not a 'known_host'.
On my own run of git ls-remote<EMAIL_ADDRESS>I said yes to the prompt (thus adding github in .ssh/known_host. Then, whenever I tried to repeat this bug and freeze it up, it gave the error as it should have. Deleting github from the known_host file made the freezing resume.

Possible Solution
In trying to find a solution for this I stumbled across the "GIT_SSH_COMMAND" environment variable. Just like the "GIT_ASKPASS=", "GIT_TERMINAL_PROMPT=0" variables are set, if the
GIT_SSH_COMMAND='ssh -oBatchMode=yes' variable is set, this makes ssh not display the The authenticity of host message. So maybe we would want to add the GIT_SSH_COMMAND='ssh -oBatchMode=yes' environment variable as well.

hmm, interesting. I don't think we can do that safely, though, as we do need to support the case - at least eventually, we clearly don't now - where passworded login works. see Masterminds/glide#411

I think I am also able to reproduce this issue. My dep init stuck for a long time.

By the way setting env variables in the current codebase to disable prompting doesn't work as expected.
https://github.com/golang/dep/blob/b2afe44d132da37a16a84aca7d84ddb0d9802020/gps/vcs_source.go#L265
If GIT_TERMINAL_PROMPT is previously set to a positive value, say in .bashrc it'll just ask for password and hang.
And the reason of the hang is that Setpgid is used, child processes that read from the terminal get SIGTTIN'ed, see man 2 setpgid.

Just for anyone who encounters this the current workaround is to use ssh-agent to open your key up for dep. For example (use at your own risk):
eval `ssh-agent`
ssh-add PATH-TO-SSH key
dep ensure -v

/cc


refactor -> select_model(functional)

Related Issue

Checklist

[ ] I have read the CONTRIBUTING guidelines.
[ ] I have added tests to cover my changes.
[ ] I have updated the documentation (docs folder) accordingly.

Additional Notes
Add any other context about the PR here.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 81.66667% with 11 lines in your changes missing coverage. Please review.

Project coverage is 73.51%. Comparing base (8ac0b3c) to head (3efc07c).

Files with missing lines
Patch %
Lines

...finity_emb/infinity_emb/inference/batch_handler.py
78.78%
7 Missing :warning:

...nfinity_emb/infinity_emb/inference/select_model.py
90.00%
2 Missing :warning:

libs/infinity_emb/infinity_emb/engine.py
66.66%
1 Missing :warning:

.../infinity_emb/infinity_emb/transformer/abstract.py
75.00%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

:exclamation:  There is a different number of reports uploaded between BASE (8ac0b3c) and HEAD (3efc07c). Click for more details.
HEAD has 1 upload less than BASE

Flag
BASE (8ac0b3c)
HEAD (3efc07c)

2
1

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #468      +/-   ##
==========================================
- Coverage   79.51%   73.51%   -6.00%
==========================================
  Files          41       41
  Lines        3417     3440      +23
==========================================
- Hits         2717     2529     -188
- Misses        700      911     +211

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


KCL executor: accept and send 'replay' flag, track session data

Part of https://github.com/KittyCAD/engine/issues/2504:
The engine accepts this 'replay' flag now, so, accept it too and send it up to the engine.
Part of https://github.com/KittyCAD/cli/issues/847
The engine sends 'session data' now (like the API Call ID). The CLI executes KCL using this executor, and would like to get the session data after execution.

im not sure this will work til https://github.com/KittyCAD/api-deux/pull/2023 is pulled thru?

im not sure this will work til KittyCAD/api-deux#2023 is pulled thru?

I think it'll work via CLI + engine directly, but not through api-deux. That's OK as the former is the intended workflow. But yeah I will get the api-deux PR merged.


Pin imagehash

DO NOT MERGE
(a) Incorporates commits from #2972
(b) this is just a trial : we probably need a proper fix.
(

a proper fix

see #2974 for partial solution with unpin )

#2989 suggests we are going to move forwards to v4 of imagehash in fairly short order, so I think I can safely close this, right @pp-mo?


Remove support of unadded repositories in helm dep update

Running helm dep update currently adds repositories to the set that was added via helm repo add automatically for the current resolution. helm dep build requires requires repositories to be manually added before allowing them to be used.
This issue is to change the behavior of helm dep update to be that of helm dep build. This can't happen until Helm v4 as the behavior change would be backward breaking.
The reason for this change is related to security and has been discussed as part of security audits.
helm dep update is typically used by those maintaining a chart. If a chart repository is added for a dependency that the maintainer hasn't opted-in to it could be a security issue or breach. By requiring the use of helm repo add it makes the usage of a new repository opt-in. This is common with package managers for this security reason.
helm dep build should stay opt-in on repositories. Anyone who builds a chart, whether a maintainer or consumer of the chart who builds it, should be away of where the dependent packages are coming from and opt-in to any locations.
This issue was discussed in the Helm developer call on July 1, 2021 and this issue is an outcome of that call.
We do understand that we are trading ease for security. In this case, we believe security is more important. Especially with the rise in supply chain attacks.

Can we at least have a flag for helm dep build and helm dep update to enable the behaviour of trusting the contents of our own repository?
Otherwise when building generic build pipelines we just have to work around it and add things, which is super awkward when these are nested.
It still preserves the security requirements you want by default, but lets users who want the current behaviour have a choice.

@mikebryant Can you provide an example of what you think the flag could look like?

I imagine it would be the same flag for both helm dep build and helm dep update
It could be something like --auto-add-repositories or --trust-repositories. Using just the flag would default to true, or you could be explicit with --auto-add-repositories=true or --auto-add-repositories=false.
The flag could be added now, without breaking compatibility - have the default value be true for updates and false for build, to match current behaviour. Then for Helm v4, the flags could be kept, and switch the default value for build to be false for updates.
This would give the default behaviour described in the ticket, but allow users to opt out of it as they need.

Let's run this through a conceptual test. So, there is a chart and it has a sub-chart from a repo someone hasn't added. So, the flag causes the sub-chart to be pulled without adding. Now, an attacker manages to modify the source of the parent to add another sub-chart in a new and different repo. The flag would let this sub-chart be pulled in without CI or users of helm build noticing.
Security is layered and this would decrease the overall security. As supply chain attacks have been on the increase, I think it would be a bad idea to decrease supply chain security. We've already been asked to do things that increase supply chain security.
Using helm repo add for each of the trusted repos isn't difficult and it opts-in to each of those repos. The same internal work needs to happen to get the repo information when it's hasn't been added for helm dep update.

Now, an attacker manages to modify the source of the parent to add another sub-chart in a new and different repo. The flag would let this sub-chart be pulled in without CI or users of helm build noticing.

We could equally replace this with, an attack manages to modify the source of the parent to add another template file (which could do anything a subchart could do), or another sub-chart in the same repo. These cases require the same level of compromise (changing the source), and have the same effect. Or indeed, in the common case of things like github actions / gitlab CI / circle CI, when the CI config is all in the repository why is changing the Chart.yaml not going to be noticed, and changing the CI config is?
In particular - when helm dep build needs the repositories to be added first, this now needs to be in CI. So we'll have to add it to the Makefile first. People building locally will still type make, repositories will automatically pollute their user-wide configuration (because helm requires this user-wide configuration instead of it being scoped to the repository), and an attacker who changes the Makefile will be just as undetected as before.
When I build a go application, it doesn't need me to explicitly add each of the myriad of dependencies from different repositories. When I build a Python package, it pulls from whatever explicit sources are set. What makes helm have different requirements here - and in particular not having the option to behave the same way as other tooling?

Security is layered and this would decrease the overall security. As supply chain attacks have been on the increase, I think it would be a bad idea to decrease supply chain security. We've already been asked to do things that increase supply chain security.

How does adding options that are useful for users decrease the security in the default case? Users would need to opt-in to this behaviour, just as they would need to opt-in to individual repositories. Here I am asking you to not reduce usability for people who need it.

Using helm repo add for each of the trusted repos isn't difficult and it opts-in to each of those repos. The same internal work needs to happen to get the repo information when it's hasn't been added for helm dep update.

This isn't correct. This is difficult - at scale.

The difference between Chart.lock and go.sum, package-lock.json, composer.lock and some others is, helm only stores the direct dependencies vs. the others preserving the full tree with all sub-dependencies and including hashes of the content.
Chart.lock isn't sufficient to rebuild chart/*.tgz with exactly the same state as I have "on my machine".
It would be nice to just have to review Chart.lock after dep update and to be sure, dep build is able to recreate exactly that state in CI. Without it, we need to trust all referenced repos or commit chart/*, so we don't need deb build in CI at all.
Just my 2 cents.

I would like to point out that security isn't a boolean. It's not the situation that you have it or you don't. Instead, dealing with security is layered. Some layers minimize some attack surfaces but don't deal with others. Some layers catch some intrusions or changes after they happen. Pointing out how a layer doesn't prevent one type of problem doesn't deal with how it is effective at another type of security situation.
Go and Python are not great examples of package management systems to compare Helm to. For example, when Go Modules first started I was talking with members of the Go team about dependency management. One of the assumptions they shared was that they expected people to review all of the code and code changes to their dependencies. Go modules uses hashes in the go.sum file to ensure that each time you rebuild it's the exact same code so there would be no differences from that which was previously reviewed. How many, in general, hold that same assumption?
Helm is a platform package manager more in line with apt (debian packages), yum, zypper, etc. Many of those are coupled to security conscious projects who go to great lengths to help ensure security. If we look at their models, you have to explicitly add each repository. Typically, a cryptographic key needs to be accepted or added. In fact, security auditors for Helm have asked us to add more security layers to our model in the future.
For those interested in Helm, security, and platforms I strongly suggested looking at how Linux distros handle package management and security. Many have been around for many years and have to look at it from various angles. It's a great place to learn about this stuff.
Making CI work with Helm isn't all that hard. For example, a step can be added via Makefile or configuration for the CI system to add the repositories. In many CI systems the config and cache location can be shared from run to run and that would work for Helm, too. It only needs to be coded once and then CI can repeat it hundreds or thousands of times.

Hello,
Indeed, making CI work with helm isn't that hard, but adding the repos in the CI would add some awkward logic/confusion. For instance, for a shared helm repo config, we could have 10 charts that refers to 10 different repos, so in our CI we would have a helm config containing those 10 different repos even though we only need one of those repos. A work around could be to read and parse the Chart.lock file, to get its dependencies block files and to do a "helm repo add" on each of the dep's repo - but it defeats the security purpose of trusting external repos.
I don't think helm is in line with apt and etc because most of the time those platform package management already has the repos added (and verified). Helm packages are mostlikely bound to it's helm repo. AFAIK, its almost always a 1-to-1 (if I look at the charts in https://hub.helm.sh/). So I'd say helm is more in line with something like language package managers.
I agree that security is very important but IMHO, we could use the same pattern as lets say composer which uses hashing for ensuring packages authenticity. Having some repo signature check like on OS package system is great, but it should be configurable in the Chart.lock/yaml, otherwise it will still CI/CD-unfriendly.
Lets have a use case here, if we could have hashing on packages:
My chart A has a dependency on a remote chart B 1.0.0 (on a remote repo). Now lets say remote chart B has an update and is now at 1.0.1. Since my chart A has its dependency chart B locked on 1.0.0 and I have it has a content hash, my "helm repo build" will use that same package. So this means that I didn't have any code review to do so far and I can confirm that no attackers altered the dependency since I still point at the same dep.

helm is a tool to avoid people doing the same thing again and again at the first sight, correct me if I'm wrong.
Leaving people to do parsing on their own in their CI to get the same thing done get the list of repos add helm repo add them is not in the same line with my first sentence.
Yes security is the right direction but maybe helm can provide a tool to parse its own Chart.yaml & Chart.lock and add that list of repo into helm repo database? Maybe helm repo add --from-file=Chart.yaml --from-file=Chart.lock

After reading this I get where the engineer is coming from. Though I know this will cause friction in a lot of CICD tooling. So I made a helm plugin that I feel is a good middle ground. Helm still will be requiring someone to add the repo knownly granting that attack surface. Though by downloading a plugin to do it for you, you are still accepting the risk but at a higher degree but the fact you installed something 3rd party means you probably know the risk you are taking.
If you are interested you can get the plugin here: https://github.com/codayblue/helm-build

Background discussion
It seemed like a bug that helm repo add was required for helm dep build based on a Chart.lock that had explicit URLs in it, generated from a Chart.yaml also having explicit URLs in.
But, then there was this inline comment I managed to find via #9840:
https://github.com/helm/helm/blob/9a5eb70320c1c1b7b6f1c5a6f0f5420cb1c934a0/pkg/downloader/manager.go#L176-L183
Actively looking for a relationship between helm dep and helm repo I found this note in helm dep --help:
If the dependency chart is retrieved locally, it is not required to have the
repository added to helm by "helm add repo". Version matching is also supported
for this case.

I've not used helm repo but instead relied on --repo=<URL> during helm template|install|upgrade, and declared URLs in Chart.yaml and Chart.lock. So when I ended up needing to do helm repo add name-doesnt-matter <URL> first before I could do helm dep build that came out of nowhere.
At the moment I'm not confident that using helm repo add as a manual step to declare trust for repository URLs in Chart.yaml and Chart.lock is helpful from a security perspective, but I'll go with the assumption it is and provide the following suggested action points.
Ideas of action points

Document in --help for helm dependency [update|build] and helm repo that helm repo list is used as a set of URLs to trust for helm dependency build and meant to be used to trust for helm dependency update in the future.
Clarify in the error message for helm dependency build that helm repo is seen as a list of trusted URLs.
Add a flag such as --trust-repositories to allow helm dependency sub-commands update and build to bypass the need to have non-local repository URLs declared in helm repo list, as an alternative mechanism of declaring trust.

I'm happy to help with these action and open concise PRs if a maintainer would declare support for them. @mattfarina what do you think?

I understand @mattfarina point about the perceived larger attack surface if helm were to auto-add repos, but the more serious attack was mentioned by @mikebryant in passing and I think it deserves more attention.

pollute their user-wide configuration (because helm requires this user-wide configuration instead of it being scoped to the repository)

I am often working with both test and production environments from the same computer (and thus same user account).  This is very common.  When I am forced to helm repo add a repo for testing, I do not want it to be trusted or used in my production environments when I run helm dependency build under any circumstances.  If helm repo add is used as a mechanism to add trust in a helm repository then it should (optionally) be localized to a project.  Something like a .helm-trusted-repositories.yaml file at some level of a GIT repo would do the trick, but we are already signifying trust by adding it to the Charts.yaml file.  So I would argue that using helm repo add without per project localization/overrides actually decreases security compared to "auto-adding" repositories when already referenced in the Chart.yaml or a Chart.lock when performing a helm dependency build.

I'm pretty sure this change is a big decrease in security, because now it is necessary to run a hacky and unmaintained script like https://github.com/helm/helm/issues/8036#issuecomment-728867646 in CI pipelines to modify/overwrite global state (who knows what else that might affect) instead of being able to just tell helm to pull from the exact sources listed in the lockfile (which, if somehow modified by an attacker, would fail the checksums defined there). This opens the door for lots of interesting attacks that were not possible before.
Prior comments indicate that the Helm team is not open to discussion on this issue, but I guess I can add my voice to the many dozens of others explaining why this is not the right solution.

Hi! I know I'm just piling on here, but is there a possibility, once helm dep update requires the repos to be added in v4, that that requirement could be removed from helm dep build?
My thought process is that if helm dep update requires the repositories, then the Charts.lock file should be fully-trustable. The update process could become the point of trust confirmation, and then helm dep build can become a fully deterministic step that only ever reads a fully-constructed Charts.lock file.
If helm dep update has that verification, is there a reason it would need to stay in for helm dep build?

Unrelated, for anyone looking for a CI-compatible solution for today, I suggest committing your list of trusted repositories, and using helm dependency build --repository-config helm_repositories.yaml.
This should solve both the problem of a polluted safe-repos namespace on local developer machines, and of empty safe-repos namespaces on CI.


Pod ‘[RELEASE]-timescaledb-0’ does not have a named port ‘postgresql’ when kubectl port-forward to custom nodePort service

The named target port does not seem to be defined.
https://github.com/timescale/timescaledb-kubernetes/blob/master/charts/timescaledb-single/templates/svc-timescaledb.yaml#L27

Some additional info that may be worth analyzing for context.
This was tested on a Digital Ocean cluster with K8s version 1.17.5.
I've heard reports from antoher that was able to make this work with a K8s cluster with version 1.16.

See discussion in communty Slack #general thread

This was just released as https://github.com/timescale/timescaledb-kubernetes/releases/tag/v0.6.1


Error in edgeprobe_bert

 Issue by sagnik
Wednesday Sep 16, 2020 at 19:13 GMT
Originally opened as https://github.com/nyu-mll/jiant/issues/1115

I am trying to run a probing test on Ontonotes SRL data with BERT as the pretrained model.
This:
(jiant) user:jiant$ python main.py --config_file jiant/config/edgeprobe/edgeprobe_bert.conf -o "target_tasks=edges-srl-ontonotes,exp_name=exp_bert_srl_ontonotes"

gives the following error:
Traceback (most recent call last):
  File "main.py", line 16, in <module>
    main(sys.argv[1:])
  File "/home/user/jiant/jiant/__main__.py", line 664, in main
    phase="target_train",
  File "/home/user/jiant/jiant/trainer.py", line 493, in train
    tasks, batch_size, train_params, optimizer_params, scheduler_params, phase
  File "/home/user/jiant/jiant/trainer.py", line 330, in _setup_training
    pad_dict = instance.get_padding_lengths()
  File "/home/user/anaconda3/envs/jiant/lib/python3.6/site-packages/allennlp/data/instance.py", line 81, in get_padding_lengths
    lengths[field_name] = field.get_padding_lengths()
  File "/home/user/anaconda3/envs/jiant/lib/python3.6/site-packages/allennlp/data/fields/text_field.py", line 128, in get_padding_lengths
    padding_lengths['num_tokens'] = max(num_tokens)
ValueError: max() arg is an empty sequence
Traceback (most recent call last):
  File "main.py", line 27, in <module>
    raise e  # re-raise exception, in case debugger is attached.
   I have previously run this successfully:
(jiant) user:jiant$ python main.py --config_file jiant/config/edgeprobe/edgeprobe_cove.conf -o "target_tasks=edges-coref-ontonotes,exp_name=ep_cove_demo_coref_ontonotes

I have not seen this before, possible that it's ingesting an empty batch somehow, thus num_tokens == []?

Hi jeswan,
did you solve the problem? I had the same problem and have no idea how to solve it. If it is possible, could you please give me some suggestions?


develop to master

Alexander, this unintentionally got added into your PR. It does need to be merged, though, so feel free to merge it when you get a chance.


How to install on Linux

I downloaded the .zip file, unziped but I don't know what to do now. I'm a new Linux user, sorry the silly question

You can execute the binary file directly from there. But usually on linux is recommended to move the application directory into the /opt directory.

Thanks!


Steph paper sprint Aug2021

New PR with existing changes merged in to resolve conflicts

quarantest build successful. Demo link at
http://18b0cbe4.quarantest.iobio.io


Animated Items/Text Not working

I cant seem to get animated items or text to work on 1.13.2?
I add the example lines from spigot and it just shows the text instead of actually becoming an item or becoming animated text? The plugin as a whole works fine other than this issue? Not sure what im doing wrong
/holograms addline demo animated_item:diamond_sword 1||gold_sword 1||iron_sword 1
/holograms insertline demo 0 animated_item(500):diamond_sword 1||gold_sword 1||iron_sword 1
/holograms setline demo 0 animated_item:stone 1||dirt 1||grass 1

Nevermind the commands are wrong on the site....

How did you solved it?


Improve the documentation and examples

We wish to improve the documentation. Any help is welcome!

Hey.I would want to know whether you are referring to README.md file or any documentation in general.

hi i would like to take this issue

Hi @rodgeraraujo ,
Would love to work on this. Kindly assign!


Please make the Recording Speech to Text available in different languages (more insterested in Cantonese (Chinese)

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Thanks for the feature request! I'll look into adding this soon :)


Official OpenJDK support

Along the same lines as wso2/product-is#2115, are there any plans to officially support OpenJDK? My understanding is Oracle Java 8 will no longer be freely available after 2018.
Thanks!

@bmaupin
Thanks for reporting the issue. Wso2 products do support for openjdk. Please find the doc as follows.
[1] https://docs.wso2.com/display/compatibility/Tested+Operating+Systems+and+JDKs

Glad to hear that was added, thanks!


Add ACRUX USB GAME PAD

Adds ACRUX USB GAME PAD controller to Database , mapping gotten  form https://github.com/PCSX2/pcsx2/issues/4218#issue-803611814

Hopefully fixes https://github.com/gabomdq/SDL_GameControllerDB/issues/429


[BUG]

Describe the bug
On Python3.6 (yes, I know that it is EOL, but it is part of RHEL UBI7 images that are still used) it is impossible to use newer version of charset_normalizer in conjuction with requests.
To Reproduce

have python3.6 installed;
install/upgrade requests - python3.6  -m pip install requests --upgrade
install/upgrade charset_normalizer - python3.6  -m pip charset_normalizer --upgrade
error is shown:
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
requests 2.27.1 requires charset-normalizer~=2.0.0; python_version >= "3", but you have charset-normalizer 3.0.1 which is incompatible.
reinstall requests - python3.6  -m pip install requests --upgrade
charset normalizer is downgraded to supported version automatically:
[root@f614cf38f6a4 /]#  python3.6  -m pip install requests --upgrade
Requirement already satisfied: requests in /usr/local/lib/python3.6/site-packages (2.27.1)
Collecting charset-normalizer~=2.0.0
Using cached charset_normalizer-2.0.12-py3-none-any.whl (39 kB)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.6/site-packages (from requests) (2022.12.7)
Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.6/site-packages (from requests) (3.4)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.6/site-packages (from requests) (1.26.15)
Installing collected packages: charset-normalizer
Attempting uninstall: charset-normalizer
Found existing installation: charset-normalizer 3.0.1
Uninstalling charset-normalizer-3.0.1:
Successfully uninstalled charset-normalizer-3.0.1
Successfully installed charset-normalizer-2.0.12
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv

Expected behavior
When installing/upgrading charset_normalizer it should take into account env and installed packages. Becuse if there is some tool to automate upgrading packages than charset_normalizer will break it.
Logs
see "TO REPRODUCE" section
Desktop (please complete the following information):

OS: RHEL7 UBI image (standard);
Python version: 3.6
Package version: >=3.x

Additional context
Note that I am not opening this issue due to usage of Python3.6 and icompatibility between outdated packages but due to fact that there is missing some condition in charset_normalizer because this is the only one that is trying to update to its latest version regardless of any consenquences from all the packages I have teted on UBI.

Hello,
I understand the frustration you encountered. I think there is a lot of misunderstanding about what you can expect.
First, the last version of requests that support Python 3.6 is 2.27.1 which does not support charset-normalizer 3.x
Finally, the last version of charset-normalizer that support Python 3.6 is 3.0.1.
To conclude, your OS stuck you with requests 2.27.1 and charset-normalizer v2.0.12
There is nothing I can do, neither can requests.
Regards,


Misiu/os advance sep26

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.8 out of 14 committers have signed the CLA.:white_check_mark: mattpulver:white_check_mark: yoonminnam:white_check_mark: pearu:white_check_mark: mattgara:white_check_mark: misiugodfrey:white_check_mark: paul-aiyedun:white_check_mark: cdessanti:white_check_mark: tmostak:x: guilhermeleobas:x: simoneves:x: steveblackmon-mapd:x: pantosik:x: brenocfg:x: bmanturnerYou have signed the CLA already but the status is still pending? Let us recheck it.


Change main references to release-0.4

What type of PR is this?
/kind cleanup

What this PR does / why we need it:
Change main references to release-0.4
Which issue(s) this PR fixes:

Relates to #955
Special notes for your reviewer:
Does this PR introduce a user-facing change?

NONE

/hold

/hold cancel


⚠ Processors has degraded performance

In ffc0045, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 85 ms

Resolved: Processors performance has improved in eb7aaa7.


[FancyZonesEditor]: Grid Editor keyboard control

Summary of the Pull Request
What is this about:
What is include in the PR: /How does someone test / validate:

Ctrl+Tab to switch between zones and layout overlay window
Tab to focus between grid zones and resizers
While resizer is focused: arrows to move it; Del to remove it
While zone is focused: (Shift)+S to split it horizontally/vertically

Quality Checklist

[x] Linked issue: #7105
[ ] Communication: I've discussed this with core contributors in the issue.
[ ] Tests: Added/updated and all pass
[ ] Installer: Added/updated and all pass
[ ] Localization: All end user facing strings can be localized
[ ] Docs: Added/ updated
[ ] Binaries: Any new files are added to WXS / YML

[ ] No new binaries
[ ] YML for signing for new binaries
[ ] WXS for installer for new binaries

Contributor License Agreement (CLA)
A CLA must be signed. If not, go over here and sign the CLA.

@jaimecbernardo

@jaimecbernardo

/azp run


Map.get does not work with tuple keys

Speaks for itself.

This was a bug in pattern matching library. Updated in PR that should fix this


Frenzied shade goes underground mid fight, never to return.

It has happened thrice now. It goes underground when fighting, but rather than resurfacing it just stays under. Sometimes wandering hundreds of blocks away
You can now see the bossbar when in the area
but not the boss or hear it, and another such area nearby where another one wandered away.

Fixed in upcoming update.


Bump golang1.17

Golang 1.16 is EOL, as shown in the golang supported versions doc.
Fixes: #224

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 53.88%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
861

Relevant Lines:
1598

💛  - Coveralls

@dougbtv we'll need to find a publicly available golang 1.17 builder...
Any clue where I can find it ?


Function Serverside Validation

Motivation
Currently the cli does all the validation(about types, etc) before submitting to the worker, which does very little validation. This is problematic when clients other than pulsar cli are used to submit functions.
The current function submission also suffers from poor abstraction. The main abstraction for the cli is the FunctionConfig interface, while for the rest interface its the FunctionDetails protobuf.
This pr is the first step in removing both of the above issues. In this pr, we allow users to specify a json version of the FunctionConfig and do validation on it. The current cli still uses the old style, we will change those in later prs.
Modifications
Describe the modifications you've done.
Result
After your change, what will change.

@sijie Will change the integration tests to use curl based submission once I move even the cli to use the new bindings


ncgen does not ignore "secret" attributes

I ran ncgen -lc on an ncdump output. I had used the -s option with the ncdump output, so it contained hidden attributes.
ncgen then generates code that tries to set hidden attributes. This surprised me. I would have thought ncgen would be smart enough to ignore the hidden atts.
    stat = nc_put_att_text(ncid, NC_GLOBAL, "_Format", 1, "netCDF-4");
    check_err(stat,__LINE__,__FILE__);

Also when this code ran, the error message surprised me. I would have thought we had a message for trying to set a hidden attribute, but we get:
line 201 of tst_glm_ncgen_write.c: NetCDF: String match to name in use
Maybe we should have an error that says that this is a protected attribute name and should not be used by the user?

As I pondered this I realized that it might also be good to actually use the hidden attributes, instead of ignoring them. In ohter words, if there is a _Format of netCDF-4, then treat that as if the user had specified the flag that called for a netcdf-4 file.
This strays rather beyond the original issue title. Perhaps a ignoring them is better.

For _Format, I think it does that now.
IN any case, some attributes are used: _Endianness, for example.

Well I just got the error for _Format, and that was with 4.7.2. Am I using it wrong? See above for the exact error message...

THis .cdl works:
netcdf t {
:_Format = "netcdf4";
}

Will you also be adding a test? ;-)

oops, I will do that.

I believe this has been fixed, so I will close this issue.


create new release

there is new procyon out there
any timeline to create new updated build?
thanks

thanks releaseing 0.4.5
Closing it out now


mobile: Fix the flaky SendDataTest Kotlin test

The test failed when adding the native Assertion filter, with an error from loadFromYaml:
INVALID_ARGUMENT: could not find @type 'type.googleapis.com/envoymobile.extensions.filters.http.assertion.Assertion

After running git bisect, it turns out the bad commit came from https://github.com/envoyproxy/envoy/pull/33169. That PR introduces HttpTestServer to the SendDataTest.kt, which causes the required proto types to not get loaded.
In this commit, the test is fixed by using a TestRemoteResponse filter, similar to the other Kotlin tests (e.g. SendTrailersTest). However, we need to figure out why the config filter protos aren't loading when creating the HttpTestServer.

/assign @fredyw

/assign @RyanTheOptimist


Torrent links of DSiWare Downgrade o3ds/n3ds 11.1.0 to 10.4.0 are flipped

The mirrors are fine though.

Whoops, fixed.


Doin't use type hint for $user param of discord_user_groups_changed

This can return User or UserRightsProxy (thus you will get "must be an instance of User, instance of UserRightsProxy given" if it returns UserRightsProxy)
Echo doesn't use type hints either for this.

Bump

Tested to be working and merging now. Thank you! :)

Could you verify that the commits went in correctly to master?

Looks correct to me, thanks!

Fantastic. Thank you!


Use entrypoints to list extra licenses.

Should allow some packages to expose custom licenses if they like.

Thoughts ?

I'm not particularly keen for flit to depend on entrypoints, because that's
packaged with flit, so it's a circular dependency for downstream packagers.
I switched zipfile36 back to setup.py before using it in flit.
Secondly, I don't really want 'flit init' to gain much more complexity. I
would like a better tool to create packages and add features, but I don't
think it should be part of flit. "Do one thing and do it well." I have some
vague ideas about this, which I'd be happy to talk about when I'm not on my
phone keyboard.
On 28 Dec 2016 8:08 p.m., "Matthias Bussonnier"<EMAIL_ADDRESS>wrote:

Should allow some packages to expose custom licenses if they like.
Thoughts ?
You can view, comment on, or merge this pull request online at:
https://github.com/takluyver/flit/pull/97
Commit Summary

Use entrypoints to list extra licenses.

File Changes

M flit.ini https://github.com/takluyver/flit/pull/97/files#diff-0
(1)
M flit/init.py
https://github.com/takluyver/flit/pull/97/files#diff-1 (64)

Patch Links:

https://github.com/takluyver/flit/pull/97.patch
https://github.com/takluyver/flit/pull/97.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/takluyver/flit/pull/97, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAUA9RiKNQGRuvT2Z5QkfgS-AremMbDOks5rMsGogaJpZM4LXKKa
.

I'm not particularly keen for flit to depend on entrypoints, because that's
packaged with flit, so it's a circular dependency for downstream packagers.
I switched zipfile36 back to setup.py before using it in flit.

Fair enough.

Secondly, I don't really want 'flit init' to gain much more complexity. I
would like a better tool to create packages and add features, but I don't
think it should be part of flit. "Do one thing and do it well." I have some
vague ideas about this, which I'd be happy to talk about when I'm not on my
phone keyboard.

Ok, I'll wait, but I'd really like to have choices beyond the one provided by default with flit.
Unless we add a 5) More option in init which allows more choice.
Enjoy your end of 2016 and don't work too much.

I guess you are familiar with https://spdx.org/spdx-specification-21-web-version#h.jxpfx0ykyb60

@dholth I'm not familiar with that. It looks interesting, but it doesn't really fit with my goal of keeping things simple here. (And is it just me who finds that document quite hard to look at?)
@Carreau OK, now I'm back at a real keyboard, so here goes.
I've been thinking about tools like cookiecutter and love, and why I don't use them, even though I've tried them and think they're neat. I reckon my complaint is that either they make a cookie that's too small, and I still have to add stuff myself, or it's too big and does things I don't want. Not every tiny package I make will have docs on RTD. Maybe this time I want to try putting it on Gitlab rather than Github, or using Mkdocs instead of Sphinx. There are many steps that I've done over and over, but I don't set up exactly the same structure each time, and I don't know exactly what will change. And even if I had a fixed cookie shape I used every time, other people probably wouldn't like it.
What tools like flit init bring is automation of adding a feature to an existing project - in this case, flit packaging. sphinx-quickstart is another example. Whereas cookiecutter & love expect to start with an empty directory and create everything, these tools start with a directory already containing files, and add a particular piece to it.
flit init and sphinx-quickstart are both tools that I do use. Sphinx quickstart annoys me a bit because it asks a lot of questions I'm not usually interested in:
> Name prefix for templates and static dir [_]:

I have deliberately made flit init do the bare minimum to make a viable package, and try to be smarter about guessing defaults. But I know how to add information later in the config file, which a newcomer may not. Both are very simple input() based UIs, and while much more is possible if you use something like prompt_toolkit, it's a sideline, not the main point of the project, and I'm not interested in making a big thing of it. I'm guessing Sphinx isn't either, but that's a total guess.
So, I'm envisaging something different from both. Let's call it block for now, for the sake of description.  A nice terminal UI built on prompt_toolkit appears with some guessed values inserted as defaults. You can easily select any field and replace the contents. License may be a dropdown. Perhaps there's an 'advanced' section for optional information. When you're done, you press F12 (for the sake of argument), and it creates/modifies the files as necessary.
However, block itself doesn't know about Flit or Sphinx. When you run block flit, it uses entrypoints (or a similar mechanism) to find the piece that provides that block - that could be flit itself, or a third-party package. There could be multiple for one tool, e.g. flit, flit-advanced, flit-Carreaus-opinion.
Block would provide an API for:

Defining a form-like interface. Ideally this should be possible with minimal knowledge of prompt_toolkit, but the full power would be available to blocks that want to do cleverer things.
Guessing default values from the working directory and from stored data.
Storing data to inform future guesses (like flit init does)

This is all imagination at the moment, but I think something like that would allow us to build a more polished set of tools like flit init (which I'm quite fond of, even if I deny most improvements to it), without duplicating a lot of code between projects. And it could make such tools more discoverable.

I hear you, the issue is that now flit is doing 1/2 its job of letting users choose a licence.
I have to do a second step if I want a BSD, while other licenses are just pressing 4 times enter.
Anyway I can keep this patch on top of flit locally that's not an issue.
Thanks.


UnableToResolveError: Unable to resolve module events

Same issue as previously posted by @shango44 and closed - wasn't able to comment on his issue so re-posting, thanks!
Expected behavior
I should receive this in prompt:
Bundlingindex.js[development, non-minified] 100.0% (728/728), done.
Actual behavior
Receiving Error:
Bundling 'index.js' [development, non-minified] 33.9% (476/818), failed. error: bundling failed: UnableToResolveError: Unable to resolve module 'events' from '...\node_modules\steem\lib\api\index.js': Module does not exist in the module map
How to reproduce
Install
npm install -g react-native-cli
react-native init steemapp
npm install steem --save
Code
import steem from 'steem'
Run
react-native run-android
Environment information
Windows 10 64
Node v8.6.0
Npm 5.6.0
Steem v0.6.7

I have the same problem. Why has this issue been closed? Is there a solution to the problem?
Thanks.


Issues while running npm run protractor - Timed out waiting for the WebDriver server...

As per the error on the console the following fails in my system:
protractor e2e-tests/protractor.conf.js
Complete log:
Pranab@Pranab MINGW64 ~/angular-phonecat (master)
$ npm run protractor

<EMAIL_ADDRESS>preprotractor C:\Users\Pranab\angular-phonecat
npm run update-webdriver

<EMAIL_ADDRESS>preupdate-webdriver C:\Users\Pranab\angular-phonecat
npm install

<EMAIL_ADDRESS>postinstall C:\Users\Pranab\angular-phonecat
bower install

npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules\chokidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

<EMAIL_ADDRESS>update-webdriver C:\Users\Pranab\angular-phonecat
webdriver-manager update

[19:16:21] I/file_manager - creating folder C:\Users\Pranab\angular-phonecat\node_modules\protractor\node_modules\webdriver-manager\selenium
[19:16:21] I/downloader - selenium standalone: downloading version 2.53.1
[19:16:21] I/downloader - curl -o C:\Users\Pranab\angular-phonecat\node_modules\protractor\node_modules\webdriver-manager\selenium/selenium-server-standalone-2.53.1.jar https://selenium-release.storage.googleapis.com/2.53/selenium-server-standalone-2.53.1.jar
[19:16:21] I/downloader - chromedriver: downloading version 2.25
[19:16:21] I/downloader - curl -o C:\Users\Pranab\angular-phonecat\node_modules\protractor\node_modules\webdriver-manager\selenium/chromedriver_2.25win32.zip https://chromedriver.storage.googleapis.com/2.25/chromedriver_win32.zip
[19:16:21] I/downloader - geckodriver: downloading version v0.11.1
[19:16:21] I/downloader - curl -o C:\Users\Pranab\angular-phonecat\node_modules\protractor\node_modules\webdriver-manager\selenium/geckodriver-v0.11.1-win64.zip https://github.com/mozilla/geckodriver/releases/download/v0.11.1/geckodriver-v0.11.1-win64.zip
[19:16:25] I/update - chromedriver: unzipping C:\Users\Pranab\angular-phonecat\node_modules\protractor\node_modules\webdriver-manager\selenium\chromedriver_2.25win32.zip
[19:17:58] I/update - geckodriver: unzipping C:\Users\Pranab\angular-phonecat\node_modules\protractor\node_modules\webdriver-manager\selenium\geckodriver-v0.11.1-win64.zip

<EMAIL_ADDRESS>protractor C:\Users\Pranab\angular-phonecat
protractor e2e-tests/protractor.conf.js

[19:17:59] I/local - Starting selenium standalone server...
[19:17:59] I/launcher - Running 1 instances of WebDriver
[19:18:39] E/launcher - Timed out waiting for the WebDriver server at http://<IP_ADDRESS>:62412/wd/hub
[19:18:39] E/launcher - Error: Timed out waiting for the WebDriver server at http://<IP_ADDRESS>:62412/wd/hub
at Error (native)
at onError (C:\Users\Pranab\angular-phonecat\node_modules\selenium-webdriver\http\util.js:87:11)
at ManagedPromise.invokeCallback_ (C:\Users\Pranab\angular-phonecat\node_modules\selenium-webdriver\lib\promise.js:1379:14)
at TaskQueue.execute_ (C:\Users\Pranab\angular-phonecat\node_modules\selenium-webdriver\lib\promise.js:2913:14)
at TaskQueue.executeNext_ (C:\Users\Pranab\angular-phonecat\node_modules\selenium-webdriver\lib\promise.js:2896:21)
at asyncRun (C:\Users\Pranab\angular-phonecat\node_modules\selenium-webdriver\lib\promise.js:2775:27)
at C:\Users\Pranab\angular-phonecat\node_modules\selenium-webdriver\lib\promise.js:639:7
at process._tickCallback (internal/process/next_tick.js:103:7)
[19:18:39] E/launcher - Process exited with error code 199
npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\Program Files (x86)\nodejs\node.exe" "C:\Program Files (x86)\nodejs\node_modules\npm\bin\npm-cli.js" "run" "protractor"
npm ERR! node v6.9.1
npm ERR! npm  v3.10.8
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>protractor: protractor e2e-tests/protractor.conf.js
npm ERR! Exit status 199
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>protractor script 'protractor e2e-tests/protractor.conf.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the angular-phonecat package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     protractor e2e-tests/protractor.conf.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs angular-phonecat
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls angular-phonecat
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     C:\Users\Pranab\angular-phonecat\npm-debug.log

What versions of Protractor and Node are you using?
FWIW, it works for me with the same version of Selenium/ChromeDriver with Protractor v4.0.11 (on Windows 10).

Please check if java (JRE) is installed in your system. In my case it turned out that I had got a new system with ubuntu 16.04 and jre was not present. Make sure that the java path is accessible to selenium server started by protractor.
Also open 2 CLI windows and in the first run npm start and in another run npm run protractor

Closing since we haven't heard back from the OP and there is no indication that the issue is directly related to angular-phonecat.


Try updating SDK

cc @sebastienros

Blocked on https://github.com/dotnet/sdk/pull/3002

Do you mean you will take a newer sdk instead? But in that case you would just close this PR, so I don't get why it's blocked.

Ok, I'll close it after it fails.

Hm, it looks like it will pass. I guess we are not affected by the mentioned issue.

Somehow expected, this SDK is much older (2 weeks), the latest is around 3.0.100-preview4-010553 and the issue only appeared yesterday. This is the one I was using on benchmarks.
I think we should still take it, and then the new one when it's ready, because there might be other issues with it.


Get build tooling working on ARM/M1 Mac

What happened:
The Makefile build tools work on x86, but don't work an arm64 and/or a Mac M1.
What you expected to happen:
They should work.
How to reproduce it (as minimally and precisely as possible):
Try it. It goes back.
Anything else we need to know?:

https://docs.docker.com/build/building/multi-platform/
https://docs.docker.com/engine/reference/builder/#from

Environment:

Quilkin version: dev
Execution environment (binary, container, etc): N/A
Operating system: M1 mac, arm64 Linux
Custom filters? (Yes/No - if so, what do they do?):

I've got a lot of this working on arm64, and trying to make everything native to the host arch so it can run as fast as possible.
So far, the only things I've had to rely on emulation for:

make help - which is not the end of the world, it's a tiny image.
make build-macos-binary - there's no arm64 image for the container image we use here.  I've filed an issue, but I'm not hugely concerned, because building the mac binary through make is more of a release task (which happens on amd64) than anything else. Anyone on macos can build locally for their local tests anyway.

For my own reminder, I did have to run:
docker run --privileged --rm tonistiigi/binfmt --install linux/amd64

To get linux/amd64 emulation to work. I think that comes pre-baked on MacOS Docker Desktop? Just debating whether to run it by default in the Makefile (maybe with some OS checking). We'll likely want it at some point to create a multi-arch image with arm64 and amd64 architectures anyway, so it may be easy enough to add now.
But I have make build-image working, which is the main part, but I want to make sure make docs works as expected, as well as make test-agones as well.

So I even went down a whole rabbit hole of trying to get cross compilation to work from linux/arm64 -> macOS/amd64 with Zig (https://actually.fyi/posts/zig-makes-rust-cross-compilation-just-work/) but I ran into all sorts of things that refused to compile. In the end I'm going to mark it as "known issue" and leave this issue open to revisit at a later date.

https://github.com/joseluisq/rust-linux-darwin-builder/pull/13 - got a PR in place to fix the issue with make build-macos-binary. That was a fun and tricky problem!

https://github.com/joseluisq/rust-linux-darwin-builder/pull/16 is still working on native releases for arm64 for the project.
As a workaround, I'll make a cloud build script we can run to host our own arm64 and amd64 images on artifact registry, and that can move us to a point where we can close this issue and move on.

Working on this now.


Test for different QoS

When we get to testing for different configurations and some services on/off, another feature we need to have as part of our "configuration" testing is running with different quality of service settings for messaging.  By default, we run with QoS set to 0.  Options of 1 and 2 are also possible.  This could impact performance or even be a potential issue based on some testing eKuiper did with this setting (although it looks like it was based on eKuiper's implementation of QoS).

This looks like testing the broker, not our service.


Updating tasks run while exporting

We need to fix some bugs we are experiencing when exporting the CVS file related to number of tasks run.
In theory, we should get an updated export every time we try to export the file from the web interface.
Unfortunately, this is not happening, so the file I obtain while exporting is not updated.

@ValeErre87 just to be clear, are you trying to export tasks or task runs?

@othieno I tried to export task runs (in CVS format).

@ValeErre87 I seem to have found a temporary solution to this on my end. Could you try it out and let me know if you're having issues?
For future reference (beware, here be dragons):
Why is this happening?
PyBossa creates a zip file (for instance, here's how a zipped JSON export is created) which it then caches (since the creation operation can be fairly expensive) and uploads to the requester.
From my understanding, the problem is that the once a file is cached it is never updated and is always returned when an export is requested, which breaks the assumption that up-to-date task run data can be requested at any moment.
A very quick and temporary solution is to delete the cached file, thereby forcing PyBossa to regenerate a more recent export, however this process will have to be repeated each time an export is requested. An ideal solution would be comparing the date and time the cached file was created (T_created) and the project data was last updated (T_last_updated). If T_created < T_last_updated, then the cache is updated.
I'll keep this issue open until I can push a more permanent solution.

@othieno Hey Jeremy, thank you for fixing this. It works now.
I am a bit concerned we will face the same issue next month, when I will need to export the same tasks again.
I'll keep you posted.


fix helm directory structure

currently
helm package .

creates package at the repository root, which includes everything which is not intended.
move helm stuff into charts/k8s/{Chart.yaml, values ...}

see also #79


dsn/intern stacktrace

What does this PR do?
Interns the stack trace used by the profiler.
Motivation
Currently, multiple samples with the same stack trace end up repeatedly paying the cost of storing that stack trace. Instead,
Additional Notes
Anything else we should know when reviewing?
How to test the change?
I validated the memory savings using the modifier c-ffi test.
We should run this on some client libraries to ensure that it doesn't break before merging.

After:
config: {:threads=>16, :depth=>50, :seconds=>60, :timeline_enabled=>true}
Before serialization, process rss usage is 97040k
After serialization, process rss usage is 146000k
Size of uncompressed serialized pprof: 9014k
After shrinking, process rss usage is 146000k

Before:
╰─➤  TIMELINE=true bundle exec ruby ruby_overhead_experiment.rb
config: {:threads=>16, :depth=>50, :seconds=>60, :timeline_enabled=>true}
Before serialization, process rss usage is 139040k
After serialization, process rss usage is 154448k
Size of uncompressed serialized pprof: 9014k
After shrinking, process rss usage is 153024k


[FLINK-9349][Kafka Connector] KafkaConnector Exception while fetching from multiple kafka topics

Thank you very much for contributing to Apache Flink - we are happy that you want to help us improve Flink. To help the community review your contribution in the best possible way, please go through the checklist below, which will get the contribution into a shape in which it can be best reviewed.
Please understand that we do not do this to make contributions to Flink a hassle. In order to uphold a high standard of quality for code contributions, while at the same time managing a large number of contributions, we need contributors to prepare the contributions well, and give reviewers enough contextual information for the review. Please also understand that contributions that do not follow this guide will take longer to review and thus typically be picked up with lower priority by the community.
Contribution Checklist

Make sure that the pull request corresponds to a JIRA issue. Exceptions are made for typos in JavaDoc or documentation files, which need no JIRA issue.

Name the pull request in the form "[FLINK-XXXX] [component] Title of the pull request", where FLINK-XXXX should be replaced by the actual issue number. Skip component if you are unsure about which is the best component.
Typo fixes that have no associated JIRA issue should be named following this pattern: [hotfix] [docs] Fix typo in event time introduction or [hotfix] [javadocs] Expand JavaDoc for PuncuatedWatermarkGenerator.

Fill out the template below to describe the changes contributed by the pull request. That will give reviewers the context they need to do the review.

Make sure that the change passes the automated tests, i.e., mvn clean verify passes. You can set up Travis CI to do that following this guide.

Each pull request should address only one issue, not mix up code from multiple issues.

Each commit in the pull request has a meaningful commit message (including the JIRA id)

Once all items of the checklist are addressed, remove the above text and this checklist, leaving only the filled out template below.

(The sections below can be removed for hotfixes of typos)
What is the purpose of the change
(For example: This pull request makes task deployment go through the blob server, rather than through RPC. That way we avoid re-transferring them on each deployment (during recovery).)
Brief change log
fix synchronization issue

test to verify it

Verifying this change
This change added tests and can be verified as follows:
via org.apache.flink.streaming.connectors.kafka.internal.Flink9349Test#testConcurrentPartitionsDiscoveryAndLoopFetching
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): ( no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no )
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: ( no )
The S3 file system connector: ( no)

Documentation

Does this pull request introduce a new feature? ( no)
If yes, how is the feature documented? (not applicable)

Thanks for the PR @snuyanzin!
I had some comments, please let me know what you think.
Also, some general contribution tips:

I would suggest the title of the PR to be something along the lines of "[FLINK-9349] [kafka] Fix ConcurrentModificationException when add discovered partitions". That directly makes it clear what exactly is being fixed.
The message of the first commit of the PR should also be appropriately set to be similar to the title (most of the time if it is a 1-commit PR, the title of the PR and the commit message can be identical).

@tzulitai, @tedyu thnk you for your review, comments and contribution tips
I did updates which includes moving test into AbstractFetcherTest and making it kafka connector version independent
Could you please help me a bit?
Suddenly the travis build failed on YARNSessionCapacitySchedulerITCase (only on flink travis, on my fork it passed several times).  It does not look like result of changes as there is nothing related to yarn. Anyway I tried to investigate it. I found several similar issues on jira however they are closed.
Also I downloaded logs mentioned in failed travis job

Uploading to transfer.sh
https://transfer.sh/JspTz/24547.10.tar.gz

based on them it looks like there was a connectivity issue with one of the ApplicationMaster
as log yarn-tests/container_1526608500321_0007_01_000001/job-manager.log is full of

2018-05-18 01:56:49,448 WARN  akka.remote.transport.netty.NettyTransport                    - Remote connection to [null] failed with java.net.ConnectException: Connection refused: travis-job-2a2afdc5-7bf8-4597-946e-16551a5ebbc4/<IP_ADDRESS>:43980
2018-05-18 01:56:49,449 WARN  akka.remote.ReliableDeliverySupervisor                        - Association with remote system [akka.tcp://flink@travis-job-2a2afdc5-7bf8-4597-946e-16551a5ebbc4:43980] has failed, address is now gated for [50] ms. Reason: [Association failed with [akka.tcp://flink@travis-job-2a2afdc5-7bf8-4597-946e-16551a5ebbc4:43980]] Caused by: [Connection refused: travis-job-2a2afdc5-7bf8-4597-946e-16551a5ebbc4/<IP_ADDRESS>:43980]

very strange thing

Remote connection to [null]

@snuyanzin the failing YARNSessionCapacitySchedulerITCase is known to be bit flaky, so you can safely ignore that for now. I'll take another look at your changes soon. Thanks!

@tzulitai thank you for your review and comments
based on your comments I have a question. Could you please clarify it?
You mentioned Flink's OneShotLatch  and CheckedThread  at the same time in some Kafka connector's tests used AtomicReference, Thread and etc. (I used one of them as an example while writing my version of the test). Just to be on the sage am I right that OneShotLatch  and CheckedThread  in tests are more preferable or are there some rules/limitations/whatever?

Using CheckedThread is more preferable, as it simplifies some of the test code.
But yes, the utility was introduced at a later point in time in Flink, so some parts of the test code might still be using Threads and AtomicReferences.


Fix intermittent test failures regarding search

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@4570e50). Click here to learn what that means.
The diff coverage is 93.75%.

@@            Coverage Diff            @@
##             master    #1509   +/-   ##
=========================================
  Coverage          ?   72.98%
  Complexity        ?    12232
=========================================
  Files             ?      900
  Lines             ?    51855
  Branches          ?     8589
=========================================
  Hits              ?    37844
  Misses            ?    10597
  Partials          ?     3414

Impacted Files
Coverage Δ
Complexity Δ

...e/src/main/java/ca/uhn/fhir/jpa/entity/Search.java
96.8% <100%> (ø)
56 <8> (?)

.../uhn/fhir/jpa/search/SearchCoordinatorSvcImpl.java
88.53% <100%> (ø)
59 <0> (?)

...search/cache/DatabaseSearchResultCacheSvcImpl.java
82.75% <66.66%> (ø)
7 <0> (?)

Continue to review full report at Codecov.

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


feat: server side authentication

Related Issue

Information about the related issue

Closes: #341
Describe the changes you've made

Type of change
What sort of change have you made:

[ ] Bug fix (non-breaking change which fixes an issue)
[x] 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)
[ ] Documentation update.
[ ] This change requires a documentation update

How Has This Been Tested?

Checklist

[x] My code follows the guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented on my code, particularly wherever it was hard to understand.
[ ] I have made corresponding changes to the documentation.
[x] 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.

Screenshots (if applicable)

Original
Updated

original screenshot
updated screenshot

Code of Conduct

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

Thanks for your contribution to the project and looking forward to see more contribution to the project.


Height of image in Outlook

Hello,
I made a mjml prototype for an email template. The thing is, I have to be able to use it in Outlook. The thing is : outlook just break my code, tear apart my css and deform my image. He use indeed the 100% width but the auto height completely mess up, not respecting proportionnality.
any idea how to fix it ? What are the atribute are you using to settle up your images ?
Thanks,
B.

Hi,
I think you posted this question on OpenClassrooms. This is more related to creating an HTML email in Outlook than using MJML, so I'll close the issue and we can keep the discussion on OpenClassrooms.
Cheers!

I'd still like to know which attribute you insert in your mj-image to
stabilize your images...
Le 14 juin 2017 17:05, "Nicolas Garnier"<EMAIL_ADDRESS>a
écrit :
Hi,
I think you posted this question on OpenClassrooms
https://openclassrooms.com/forum/sujet/responsive-email-envoye-par-outlook?page=1.
This is more related to creating an HTML email in Outlook than using MJML,
so I'll close the issue and we can keep the discussion on OpenClassrooms.
Cheers!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mjmlio/mjml/issues/719#issuecomment-308460513, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AcEbUJM6zWuL4TTEAoSpM36lJkCWCDhdks5sD_aqgaJpZM4N55em
.

The best option is to set the width of your image only and leave the height so it's automatically adapted and the ratio is respected. By forcing it, you might stretch the image.
Example: https://mjml.io/try-it-live/Byo6PRRf-

OK, i was not forcing neither width or height. I will try to use a fixed
width but no height value.
Thanks
Le 14 juin 2017 17:36, "Nicolas Garnier"<EMAIL_ADDRESS>a
écrit :

The best option is to set the width of your image only and leave the
height so it's automatically adapted and the ratio is respected. By forcing
it, you might stretch the image.
Example: https://mjml.io/try-it-live/Byo6PRRf-
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mjmlio/mjml/issues/719#issuecomment-308470424, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AcEbUAO1hEtE_kieM2Q77dPsNbnjuczBks5sD_4LgaJpZM4N55em
.

Just for you to know, outlook still deform my images, even when fixing the
image width depending on the column width.
Le 14 juin 2017 18:28, "Brauwan ."<EMAIL_ADDRESS>a écrit :

OK, i was not forcing neither width or height. I will try to use a fixed
width but no height value.
Thanks
Le 14 juin 2017 17:36, "Nicolas Garnier"<EMAIL_ADDRESS>a
écrit :

The best option is to set the width of your image only and leave the
height so it's automatically adapted and the ratio is respected. By forcing
it, you might stretch the image.
Example: https://mjml.io/try-it-live/Byo6PRRf-
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mjmlio/mjml/issues/719#issuecomment-308470424, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AcEbUAO1hEtE_kieM2Q77dPsNbnjuczBks5sD_4LgaJpZM4N55em
.

That's strange and not an expected behaviour. Can you please share an example @Brauwan?

Je t'ai répondu sur open class room (après tout on peut switch en français)
Veux tu un exemple du code ou un screen du visuel du mail ?
Le 15 juin 2017 09:47, "Nicolas Garnier"<EMAIL_ADDRESS>a
écrit :

That's strange and not an expected behaviour. Can you please share an
example @Brauwan https://github.com/brauwan?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mjmlio/mjml/issues/719#issuecomment-308655855, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AcEbUPzaaPDaAjNZtqpXBhibc6Q329ewks5sEOGlgaJpZM4N55em
.

We try to keep things in English here so anyone having the same issue can find an answer 👀
To be able to help, we need:

the original MJML code used
the version of MJML used to convert MJML into HTML
the result you get versus what you'd like to get (with specifics regarding the email client, ie the version of Outlook you're referring to)

Hello,
I have the same problem using outlook in desktop, apparently only in outlook is not respected the height of the images
@Brauwan Could you get some solution?

Hi
@faldunate can you share some code please ?


Release/x1

Codecov Report

Merging #39 (7259dfe) into main (8132fac) will not change coverage.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##             main      #39   +/-   ##
=======================================
  Coverage   32.00%   32.00%
=======================================
  Files          13       13
  Lines         125      125
  Branches       30       30
=======================================
  Hits           40       40
  Misses         80       80
  Partials        5        5

Impacted Files
Coverage Δ

src/pages/_document.tsx
0.00% <ø> (ø)

src/pages/blog/[slug].tsx
0.00% <0.00%> (ø)

Continue to review full report at Codecov.

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

Looks great


Text formatting

Small bug in formatting. Let's assume:
**I want bold text**
Expected:
I want bold text or * I want bold text *
Result:
I want bold text (no bold, no asterisks).
And general question. Why custom standard instead of so common markdown standard? Many people, mostly developers, are used to using markdown :) and it is easier to use some ready to use parser like https://www.npmjs.com/package/vue-simple-markdown

Indeed that's a bug. I'll check that.
I don't really like using external packages, especially if it's not actively maintained.
Plus, vue-simple-markdown is a very heavy package: minified bundle is 268kb while the chat is only 76kb.

It is more about using standard (markdown) instead custom one. I do not recommend any library to a Vue, maybe is easier to just adjust existing code to markdown standard. Markdown is universal across languages, for example I use it to message templating in PHP.

What do you mean by standard markdown?
The one I use is a mix between the one used by slack and github.

Slack has custom standard, it is only similar to markdown. However Github follows markdown standard.
https://www.markdownguide.org/basic-syntax/
First difference between both is bold/italic formatting.

Right, I think real users (not developers) are more used to slack custom standard.
I prefer to use that, but indeed I will fix this issue:
*bold* will be bold
**bold** will be bold
***bold*** will be bold
Same for italic

I started working on this but it will be difficult to achieve.
I am open to ideas or help to implement a light and solid markdown implementation, as the current one has some flaws.

Fixed in https://github.com/antoine92190/vue-advanced-chat/commit/4212b386917fec1c26d55e9e67cb61a59017dcb1

Final behaviour is:
bold will be bold
bold will be bold
bold will be bold


Add initial support of UID and GID

Fixes #9
Issue summary
Since Docker is using different methods to share files between host and container, it may be required to set UID and GID of ZSH when you need to update files from your containers.
https://www.reddit.com/r/docker/comments/jh9qyt/inconsistent_behaviour_with_permissions_of_a_bind/
Summary
Idea is to create a user named avd with preconfigure shell and uid=1000 / gid=1000.
[...]
RUN useradd -md /home/avd -s /bin/zsh -u 1000 avd
USER avd

# Install Oh My ZSH to provide improved shell
RUN wget --quiet https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | zsh || true \
    && echo 'plugins=(ansible common-aliases safe-paste git jsontools history git-extras)' >> $HOME/.zshrc \
    && echo 'eval `ssh-agent -s`' >> $HOME/.zshrc \
    && echo 'export TERM=xterm' >>  $HOME/.zshrc

# Set default folder
WORKDIR /projects
VOLUME ["/projects"]

# Use ZSH as default shell with default oh-my-zsh theme
ENV PATH=$PATH:/root/.local/bin
USER root
CMD [ "/bin/entrypoint.sh" ]

Entrypoint will implement support for custom value:
# Reconfigure AVD User id if set by user
if [ ! -z "${AVD_UID}" ]; then
  echo "Update uid for user avd with ${AVD_UID}"
  usermod -u ${AVD_UID} avd
fi

if [ ! -z "${AVD_GID}" ]; then
  echo "Update gid for group avd with ${AVD_GID}"
  groupmod -g ${AVD_GID} avd
fi

su - avd -c /bin/zsh

Usage
❯ id
uid=501(titom73) gid=20(staff)

❯ docker run --rm -it -v ./docker-avd-base/:/projects \
	-e AVD_REQUIREMENTS=NONE \
	-e AVD_ANSIBLE= \
	-e AVD_UID=1001 \
	-e AVD_GID=1001 \
	-v /etc/hosts:/etc/hosts avdteam/base:3.6-feature-uid

Requirement file not found, skipping...
Update uid for user avd with 1001
Update gid for group avd with 1001
Agent pid 53
➜  /projects git:(feature-uid) id
uid=1001(avd) gid=1001(avd) groups=1001(avd)

This is a better approach than how I first tackled in my own work netdev containers.  I was instead experimenting with having the user build the image adding the uid that way.  Entrypoint is a way better option that handles everything behind the scenes.

I tested and all looks good.
I do not see any risk in setting the default vars for GID and UID to use $(id -g) and $(id -u) since mac users would not be impacted negatively.  Asking the user to pass make run UID=$(id -u) GID=$(id -g) is likely adding a undue barrier for getting started.
I noticed that when I connected using the make command above, I was no longer being placed into the projects directory at first log in.

A temporary image is available for testing:
$ docker pull avdteam/base:3.6-feature-uid

docker pull avdteam/base:3.6-feature-uid is missing /bin/entrypoint.sh  If I build the image locally, I see it just fine.  Because of this, the image tag for this feature that you can pull  from dockerhub does not work properly.  Just an FYI if you want to use that tag.  I am not sure how to view your github actions settings, but I suspect it is still building off of master which does not have an entrypoint.sh copied to /bin.

Another observation.  Assuming you build the feature-uid locally, when using with .devcontainers, the entrypoint.sh does not execute it seems to be overwritten by VS code.
When using the below devcontainer.json (swapping the image out from 3.6 to 3.6-feature-uid, root is always the connected user instead of avd for the new 3.6-feature-uid
{
  "name": "AVD_development",
  "image": "avdteam/base:3.6-feature-uid",

  "settings": {
      "terminal.integrated.shell.linux": "/bin/zsh",
  },

//"extensions": [
//     "ms-python.python",
//],
  "containerEnv": {
      "ANSIBLE_CONFIG": "./ansible.cfg"
  }
}

Example:
16b1c8a42390# whoami
root

16b1c8a42390# /bin/entrypoint.sh
Agent pid 317

➜  /projects whoami
avd

https://code.visualstudio.com/docs/remote/devcontainerjson-reference#_devcontainerjson-properties
I suspect this is because:

overrideCommand
boolean
Tells VS Code whether it should run /bin/sh -c "while sleep 1000; do :; done" when starting the container instead of the container's default command. Defaults to true since the container can shut down if the default command fails. Set to false if the default command must run for the container to function properly.

With the original version of this Dockerfile that did not leverage entrypoint.sh as extensively as this build.
Possibly not tied to this PR, but we should look to play around with the devcontainer.json settings to fix this.  I tried various combinations of overrideCommand,  postCreateCommand, postStartCommand, postAttachCommand.
In nearly all instances where I pointed a post command to /bin/entrypoint.sh, the container hung during startup in vscode.  When disabling the overrideCommand, docker in vs Code would error out.

Indeed, VScode is not using entrypoint nor cmd defined at image level

Container startup

[115330 ms] Start: Run: docker run -a STDOUT -a STDERR \
--mount type=bind,source=arista-ansible,target=/workspaces/\
arista-ansible,consistency=cached -l vsch.quality=stable \
-l vsch.remote.devPort=0 -l vsch.local.folder=arista-ansible \
-e ANSIBLE_CONFIG=./ansible.cfg --entrypoint /bin/sh vsc-arista-\
ansible-b3cc758e689c9e9bf6a9db85407b3e11 -c echo Container started ; \
trap "exit 0" 15; while sleep 1 & wait $!; do :; done
Container started

Container configuration

docker exec -i -u root -e \
VSCODE_REMOTE_CONTAINERS_SESSION=92a54d52-\
c6ec-4491-a322-19c1e99b33ce1605722417727 d76d69272b979d4d092160382b1d7202e21bb3f4ecf3af63537396280ba75427\
/bin/sh

devcontainer.json fix:
{
  "name": "AVD_development",
  "image": "avdteam/base:3.6-feature-uid",
  "remoteUser": "avd",
  "updateRemoteUserUID": true,
  "settings": {
      "terminal.integrated.shell.linux": "/bin/zsh",
  },

//"extensions": [
//     "ms-python.python",
//],
  "containerEnv": {
      "ANSIBLE_CONFIG": "./ansible.cfg"
  }
}

I will update the documentation and look into the same for docker-compose version.  Thanks @titom73


JSON schema summary error

errors_count of errors for items_cout of items
For example
JSON Schema Validation:
        551 errors for 277 of items

Currently, it's
JSON Schema Validation:
	500 items were checked, 9 error(s)

“of items” sounds a bit off to me. What about “X errors in Y items”?


Scheduler View Interval slots

Hello,
To be able to have multiday events also in the Scheduler view, I think it is necessary to implement the interval slot also for the scheduler view like it exists in the resource-view.
The interval would then come from the startDate until the startDate+maxDays-Prop.
Any chance to implement that?
Thanks
Martin

@martinfruehmorgen Probably, yes, but I am slammed atm. I'll see when I can get onto it.

Hi,
would it also be possible to implement multiday events in day-resource view ?
And do you maybe know when you could get to it ?
Realy great quasar extension btw
Thanks a lot

@scarfaceablo I am currently in the process of converting QCalendar to Vue3. I really did not know how much work this was going to be. Breaking everything down into composables is actually a lot of work.

I'm playing a bit with QCalendarScheduler, given there's this example it seems this issue has been resolved


Encrypt folder

I love your tool, but it's missing the ability to encrypt a folder, which I added.
Just use the same command, the folder will be detected then compressed into tar.gz and then encrypted. The intermediate tar.gz folder will be deleted.
Then simply use the command to decrypt, you will then be asked if you want to decompress the archive and if you want to delete this archive after decompression.

@Gu1llaum-3 humm, I appreciate this PR, but I wonder if adding the additional code and complexity is really needed? Doesn't the following work?
tar -czf - /path/to/directory | cryptr encrypt

@nodesocket I appreciate your suggestion, but the command you mentioned does not work. Even if it did, it wouldn't be as straightforward as the code I added. While it does introduce some additional complexity, it remains quite reasonable and provides a very practical option that I find highly useful.