MD

I have a working app that runs on windows and Android version 8. I recently changed my phone that runs Android 10q. Now the same app is not working as expected. Notably the MDRectangleFlatIconButton  does not seem to be propagating the on_release event. Here is the KV part
MDRectangleFlatIconButton:
       id: file_chooser
       text: "Choose a transaction file"
       icon: "folder"
       size_hint: 0.8,0.1
       pos_hint: { 'center_x': 0.5,'center_y': 0.8 }
       on_release: app.file_manager_open()

Can somebody try to replicate this?

@tksundar Please describe your question in one message, attach a minimal code that may be run without additional manipulations, so developers can look at the working script and fix it. Also write what you expect from the script and what happened wrong. If needed, attach links or screenshots to explain us what you want to do.

Here is the code you can run on windows. The buildozer spec file is given below
from kivy.lang import Builder
from kivymd.app import MDApp
from kivymd.uix.filemanager import MDFileManager

kv = """MDRectangleFlatIconButton:
        id: file_chooser
        text: "Choose a transaction file"
        icon: "folder"
        size_hint: 0.8,0.1
        pos_hint: { 'center_x': 0.5,'center_y': 0.8 }
        on_release: app.file_manager_open()

class FileApp(MDApp):

    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        self.file_manager = MDFileManager(
            exit_manager=self.exit_manager,
            select_path=self.select_path,
        )

        self.file_manager.ext = ['.csv', '.CSV', '.xlsx', '.XLSX']

    def exit_manager(self, *args):
        """Called when the user reaches the root of the directory tree."""
        self.manager_open = False
        self.file_manager.close()

    def select_path(self, path):
        """It will be called when you click on the file name
        or the catalog selection button.
        :type path: str;
        :param path: path to the selected directory or file;
        """
        self.exit_manager()
        self.root.get_screen(self.root.current).ids.file_chooser.text = path
        self.filePath = path

    def file_manager_open(self):
        self.file_manager.show('/')  # output manager to the screen
        self.manager_open = True

    def build(self):
        return Builder.load_string(kv)

if __name__ == '__main__':
    FileApp().run()

The buildozer spec file for building the apk
[app]

# (str) Title of your application
title = FMTest

# (str) Package name
package.name = fmtest

# (str) Package domain (needed for android/ios packaging)
package.domain = com.tksundar

# (str) Source code where the main.py live
source.dir = .

# (list) Source files to include (let empty to include all the files)
#source.include_exts = assets/*,py,png,jpg,kv,atlas
source.include_exts = py,png,jpg,jpeg,gif,ttf,md,kv,json,csv,xlsx

# (list) List of inclusions using pattern matching
source.include_patterns = assets/*

# (list) Source files to exclude (let empty to not exclude anything)
#source.exclude_exts = spec

# (list) List of directory to exclude (let empty to not exclude anything)
source.exclude_dirs = tests, bin, venv,screenshots

(list) List of exclusions using pattern matching
source.exclude_patterns = screenshots/*/*.jpg

# (str) Application versioning (method 1)
version = 0.1

# (str) Application versioning (method 2)
#version.regex = __version__ = ['"](.*)['"]
# version.filename = %(source.dir)s/main.py

# (list) Application requirements
# comma separated e.g. requirements = sqlite3,kivy
requirements = python3,kivy==2.0.0rc4, git+https://github.com/kivymd/KivyMD.git@master,sdl2_ttf==2.0.15
# (str) Custom source folders for requirements
# Sets custom source for any requirements with recipes
#requirements.source.kivymd = ../../kivymd/

# (str) Presplash of the application
#presplash.filename = %(source.dir)s/data/presplash.png
#presplash.filename = %(source.dir)s/ic_launcher2.png
# (str) Icon of the application
#icon.filename = %(source.dir)s/ic_launcher2.png
#icon.filename = %(source.dir)s/assets/kivymd.png

# (str) Supported orientation (one of landscape, sensorLandscape, portrait or all)
orientation = portrait

# (list) List of service to declare
#services = NAME:ENTRYPOINT_TO_PY,NAME2:ENTRYPOINT2_TO_PY

#
# OSX Specific
#

#
# author = © Copyright Info

# change the major version of python used by the app
osx.python_version = 3

# Kivy version to use
osx.kivy_version = 1.9.1

#
# Android specific
#

# (bool) Indicate if the application should be fullscreen or not
fullscreen = 0

# (string) Presplash background color (for android toolchain)
# Supported formats are: #RRGGBB #AARRGGBB or one of the following names:
# red, blue, green, black, white, gray, cyan, magenta, yellow, lightgray,
# darkgray, grey, lightgrey, darkgrey, aqua, fuchsia, lime, maroon, navy,
# olive, purple, silver, teal.
#android.presplash_color = #FFFFFF

# (string) Presplash animation using Lottie format.
# see https://lottiefiles.com/ for examples and https://airbnb.design/lottie/
# for general documentation.
# Lottie files can be created using various tools, like Adobe After Effect or Synfig.
#android.presplash_lottie = "path/to/lottie/file.json"

# (list) Permissions
android.permissions = INTERNET,READ_EXTERNAL_STORAGE,WRITE_EXTERNAL_STORAGE

# (list) features (adds uses-feature -tags to manifest)
#android.features = android.hardware.usb.host

# (int) Target Android API, should be as high as possible.
#android.api = 27

# (int) Minimum API your APK will support.
#android.minapi = 21

# (int) Android SDK version to use
#android.sdk = 20

# (str) Android NDK version to use
#android.ndk = 19b

# (int) Android NDK API to use. This is the minimum API your app will support, it should usually match android.minapi.
#android.ndk_api = 21

# (bool) Use --private data storage (True) or --dir public storage (False)
#android.private_storage = True

# (str) Android NDK directory (if empty, it will be automatically downloaded.)
#android.ndk_path =

# (str) Android SDK directory (if empty, it will be automatically downloaded.)
#android.sdk_path =

# (str) ANT directory (if empty, it will be automatically downloaded.)
#android.ant_path =

# (bool) If True, then skip trying to update the Android sdk
# This can be useful to avoid excess Internet downloads or save time
# when an update is due and you just want to test/build your package
# android.skip_update = False

# (bool) If True, then automatically accept SDK license
# agreements. This is intended for automation only. If set to False,
# the default, you will be shown the license when first running
# buildozer.
# android.accept_sdk_license = False

# (str) Android entry point, default is ok for Kivy-based app
#android.entrypoint = org.renpy.android.PythonActivity

# (str) Android app theme, default is ok for Kivy-based app
# android.apptheme = "@android:style/Theme.NoTitleBar"

# (list) Pattern to whitelist for the whole project
#android.whitelist =

# (str) Path to a custom whitelist file
#android.whitelist_src =

# (str) Path to a custom blacklist file
#android.blacklist_src =

# (list) List of Java .jar files to add to the libs so that pyjnius can access
# their classes. Don't add jars that you do not need, since extra jars can slow
# down the build process. Allows wildcards matching, for example:
# OUYA-ODK/libs/*.jar
#android.add_jars = foo.jar,bar.jar,path/to/more/*.jar

# (list) List of Java files to add to the android project (can be java or a
# directory containing the files)
#android.add_src =

# (list) Android AAR archives to add
#android.add_aars =

# (list) Gradle dependencies to add
#android.gradle_dependencies =

# (list) add java compile options
# this can for example be necessary when importing certain java libraries using the 'android.gradle_dependencies' option
# see https://developer.android.com/studio/write/java8-support for further information
# android.add_compile_options = "sourceCompatibility = 1.8", "targetCompatibility = 1.8"

# (list) Gradle repositories to add {can be necessary for some android.gradle_dependencies}
# please enclose in double quotes
# e.g. android.gradle_repositories = "maven { url 'https://kotlin.bintray.com/ktor' }"
#android.add_gradle_repositories =

# (list) packaging options to add
# see https://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.PackagingOptions.html
# can be necessary to solve conflicts in gradle_dependencies
# please enclose in double quotes
# e.g. android.add_packaging_options = "exclude 'META-INF/common.kotlin_module'", "exclude 'META-INF/*.kotlin_module'"
#android.add_packaging_options =

# (list) Java classes to add as activities to the manifest.
#android.add_activities = com.example.ExampleActivity

# (str) OUYA Console category. Should be one of GAME or APP
# If you leave this blank, OUYA support will not be enabled
#android.ouya.category = GAME

# (str) Filename of OUYA Console icon. It must be a 732x412 png image.
#android.ouya.icon.filename = %(source.dir)s/data/ouya_icon.png

# (str) XML file to include as an intent filters in <activity> tag
#android.manifest.intent_filters =

# (str) launchMode to set for the main activity
#android.manifest.launch_mode = standard

# (list) Android additional libraries to copy into libs/armeabi
#android.add_libs_armeabi = libs/android/*.so
#android.add_libs_armeabi_v7a = libs/android-v7/*.so
#android.add_libs_arm64_v8a = libs/android-v8/*.so
#android.add_libs_x86 = libs/android-x86/*.so
#android.add_libs_mips = libs/android-mips/*.so

# (bool) Indicate whether the screen should stay on
# Don't forget to add the WAKE_LOCK permission if you set this to True
#android.wakelock = False

# (list) Android application meta-data to set (key=value format)
#android.meta_data =

# (list) Android library project to add (will be added in the
# project.properties automatically.)
#android.library_references =

# (list) Android shared libraries which will be added to AndroidManifest.xml using <uses-library> tag
#android.uses_library =

# (str) Android logcat filters to use
#android.logcat_filters = *:S python:D

# (bool) Copy library instead of making a libpymodules.so
#android.copy_libs = 1

# (str) The Android arch to build for, choices: armeabi-v7a, arm64-v8a, x86, x86_64
#android.arch = armeabi-v7a
android.arch = armeabi-v7a

# (int) overrides automatic versionCode computation (used in build.gradle)
# this is not the same as app version and should only be edited if you know what you're doing
# android.numeric_version = 1

# (bool) enables Android auto backup feature (Android API >=23)
android.allow_backup = True

# (str) XML file for custom backup rules (see official auto backup documentation)
# android.backup_rules =

#
# Python for android (p4a) specific
#

# (str) python-for-android fork to use, defaults to upstream (kivy)
#p4a.fork = kivy

# (str) python-for-android branch to use, defaults to master
#p4a.branch = master

# (str) python-for-android git clone directory (if empty, it will be automatically cloned from github)
#p4a.source_dir =

# (str) The directory in which python-for-android should look for your own build recipes (if any)
#p4a.local_recipes =

# (str) Filename to the hook for p4a
#p4a.hook =

# (str) Bootstrap to use for android builds
# p4a.bootstrap = sdl2

# (int) port number to specify an explicit --port= p4a argument (eg for bootstrap flask)
#p4a.port =

# Control passing the --use-setup-py vs --ignore-setup-py to p4a
# "in the future" --use-setup-py is going to be the default behaviour in p4a, right now it is not
# Setting this to false will pass --ignore-setup-py, true will pass --use-setup-py
# NOTE: this is general setuptools integration, having pyproject.toml is enough, no need to generate
# setup.py if you're using Poetry, but you need to add "toml" to source.include_exts.
#p4a.setup_py = false

#
# iOS specific
#

# (str) Path to a custom kivy-ios folder
#ios.kivy_ios_dir = ../kivy-ios
# Alternately, specify the URL and branch of a git checkout:
ios.kivy_ios_url = https://github.com/kivy/kivy-ios
ios.kivy_ios_branch = master

# Another platform dependency: ios-deploy
# Uncomment to use a custom checkout
#ios.ios_deploy_dir = ../ios_deploy
# Or specify URL and branch
ios.ios_deploy_url = https://github.com/phonegap/ios-deploy
ios.ios_deploy_branch = 1.10.0

# (bool) Whether or not to sign the code
ios.codesign.allowed = false

# (str) Name of the certificate to use for signing the debug version
# Get a list of available identities: buildozer ios list_identities
#ios.codesign.debug = "iPhone Developer: <lastname> <firstname> (<hexstring>)"

# (str) Name of the certificate to use for signing the release version
#ios.codesign.release = %(ios.codesign.debug)s

[buildozer]

# (int) Log level (0 = error only, 1 = info, 2 = debug (with command output))
log_level = 2

# (int) Display warning if buildozer is run as root (0 = False, 1 = True)
warn_on_root = 1

# (str) Path to build artifact storage, absolute or relative to spec file
# build_dir = ./.buildozer

# (str) Path to build output (i.e. .apk, .ipa) storage
# bin_dir = ./bin

#    -----------------------------------------------------------------------------
#    List as sections
#
#    You can define all the "list" as [section:key].
#    Each line will be considered as a option to the list.
#    Let's take [app] / source.exclude_patterns.
#    Instead of doing:
#
#[app]
#source.exclude_patterns = license,data/audio/*.wav,data/images/original/*
#
#    This can be translated into:
#
#[app:source.exclude_patterns]
#license
#data/audio/*.wav
#data/images/original/*
#

#    -----------------------------------------------------------------------------
#    Profiles
#
#    You can extend section / key with a profile
#    For example, you want to deploy a demo version of your application without
#    HD content. You could first change the title to add "(demo)" in the name
#    and extend the excluded directories to remove the HD content.
#
#[app@demo]
#title = My Application (demo)
#
#[app:source.exclude_patterns@demo]
#images/hd/*
#
#    Then, invoke the command line with the "demo" profile:
#
#buildozer --profile demo android debug

Screenshots of closed and pressed(on_release event) MDFileManager on a Samsung Galaxy A71 running android 10q
closed:

pressed and released:

On windows 10, I get this

Here is a video of how the app runs on my phone
https://user-images.githubusercontent.com/53440744/103080568-1a490400-45fc-11eb-967d-054ab4df3fc5.mp4

@tksundar You do not have permission to view the root directory of the device.


tools/appsre-build-worker-packer: Fix branch parsing on jenkins

lgtm

Packer build succeeded, doesn't touch the rest. Admin merging.


Cool Project

Not an issue, just nice to see the effort you've put into the project.
Thanks for the OS.

hey thanks! it was much needed for one of my projects, and after seeing the cute-sy implementation of a drip campaign we had at work i knew there was at least a need for something :)
feel free to touch base by email if you have any additional thoughts or questions or anything :)

hey thanks! it was much needed for one of my projects, and after seeing the cute-sy implementation of a drip campaign we had at work i knew there was at least a need for something :)
feel free to touch base by email if you have any additional thoughts or questions or anything :)

I think the same. I'm not going to open another issue to thank you but it's a really cool project. I'm going to use it for an app I'm developing. Thanks for the effort!


Update "About" Page Content

Please provide an update for this page.

We need to enrich the About page and even change it to an FAQ page.
Consider the galleon FAQ page as an example. https://cryptonomic.zendesk.com/hc/en-us/sections/360007678431-FAQ
We have to explain the workflow in plain terms.
All the steps and how long they take along with the critical timers and refunds explaining when it can happen.
And also the fact that there are known bots running to handle the timeouts.
It will help users who have these problems.

https://docs.google.com/document/d/10lekDauQoeW7d1G6_e_MfNNtq7McfeuHdoM9EWaqBaE/edit#heading=h.kanu5pr88brf
Content updated by Kevin at this link.


Update README.md fo ents

@vukosim Do you not want to create a 2nd benchmark? As in, leave the Autshomato one, but also update the JW300?

Will update tomorrow.
Regards,
Vukosi Marivate
On Sun, 9 Feb 2020 at 10:50, Jade Abbott<EMAIL_ADDRESS>wrote:

@vukosim https://github.com/vukosim Do you not want to create a 2nd
benchmark? As in, leave the Autshomato one, but also update the JW300?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/masakhane-io/masakhane/pull/48?email_source=notifications&email_token=AAGME76CWD4MSTC4WE3I52TRB67UNA5CNFSM4KNRCPBKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELGGMLQ#issuecomment-583820846,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAGME76I43UKI2DO4KXPJOLRB67UNANCNFSM4KNRCPBA
.


Fix for issue #94

Implementing a callback handler for on change event.

Could you merge this fix?
The bug seems to have been closed without actually applying the fix, and it's been a year now.


Proposer Assign RPC Return 500 Error

Hi Teku team,
When slot miss. e.g. https://beaconcha.in/slot/10143104
Call Proposer Assign RPC. Teku client return 500 Internal Error.
/eth/v1/validator/duties/proposer/{epoch}
Teku Args:
- --network=${NETWORK}
- --data-path=/data
- --data-beacon-path=/data/beacon
- --data-storage-archive-frequency=${ARCHIVE_FREQUENCY}
- --data-storage-mode=archive
- --checkpoint-sync-url=${CHECKPOINT_URL}
- --ee-endpoint=http://reth:8551
- --ee-jwt-secret-file=/reth/jwt.hex
- --p2p-enabled=true
- --p2p-advertised-ip=${PUBLIC_IP}
- --p2p-advertised-port=${P2P_PORT}
- --rest-api-enabled=true
- --rest-api-host-allowlist=*
- --rest-api-interface=<IP_ADDRESS>
- --rest-api-port=8080
- --rest-api-cors-origins=false

Hi! Thanks for reporting this issue.
To clarify, are you calling the Validator API Get block proposer duties method externally? Or did your Validator node report the RPC error? Or are you saying that your validator missed the proposal because the duties method returned 500?

Just calling the Validator API Get block proposer duties method externally @lucassaldanha

I think he is saying that if the epoch begins with an empty slot, then the api fails. Going to check if it is the case.

@J1a-wei I cannot replicate the issue based on what I understood from your description.
Can you:
provide beacon node logs in the surrounding of the 500 error?

HI @tbenr
Sorry, I synced from the most recent checkpoint, and the previous data has been deleted.
I suspect that if the first slot of the epoch is missed, the RPC cannot be called.
When I checked the logs, it's highly likely that there wasn't any meaningful log because the debug log level wasn't enabled.

@J1a-wei 500 errors are bad errors that do not require debug level logging to have more info.
If there were no error logs it, is it possible that the 500 error you're talking about was a 503?

It happens when you try to hit the endpoint while the node is syncing (like when you start from a checkpoint sync)

@tbenr Maybe. I haven't encountered the issue again so far, but if it happens next time, I'll make sure to record the details carefully and report it to you. Sorry for the trouble!

@J1a-wei  sounds like a good plan. Please reach us out if happens again!

This issue is occurred again
But it is no any useful log(logging-level is all).
curl -X 'GET'   'http://localhost:31080/eth/v1/validator/duties/proposer/321088'   -H 'accept: application/json'
{"code":500,"message":"An unexpected error occurred"}

teku log
02:25:03.307 INFO  - Slot Event  *** Slot: 10278723, Block: 4dfcacf43b396163f71adcc6d63659e95934b79f2d4742d0c695d3a8617a4bb9, Justified: 321209, Finalized: 321208, Peers: 44
02:25:15.323 INFO  - Slot Event  *** Slot: 10278724, Block: 7891ccb9cfe519e7f4ab86b74011101904a19f8e9a1b044b76c4764aee58a320, Justified: 321209, Finalized: 321208, Peers: 56
02:25:27.276 INFO  - Slot Event  *** Slot: 10278725, Block: 45a5d90b3413fab1afd87bcfd2475ac3b8a070ce7fd17293ed57ec9b71fdc884, Justified: 321209, Finalized: 321208, Peers: 56
02:25:39.336 INFO  - Slot Event  *** Slot: 10278726, Block: 92621de8be22c456e705e8f95728e6fd1ef167518981d43eb208f071ec14197e, Justified: 321209, Finalized: 321208, Peers: 63
02:25:51.259 INFO  - Slot Event  *** Slot: 10278727, Block: 6590b3cf23dd0706e02a068077e986ccaa5ed11eef434d9fb962565298094cb6, Justified: 321209, Finalized: 321208, Peers: 58
02:26:03.285 INFO  - Slot Event  *** Slot: 10278728, Block: ed82783ce9bd7de29852846c1afb7dd8664604928f66591bb1dd2949a618b181, Justified: 321209, Finalized: 321208, Peers: 56
02:26:15.298 INFO  - Slot Event  *** Slot: 10278729, Block: dd027ee89d00fd7c43e3105335bba3d3c2daddab8d22e728be111813d5b547d1, Justified: 321209, Finalized: 321208, Peers: 55
02:26:27.275 INFO  - Slot Event  *** Slot: 10278730, Block: 993f36132d82c73b1b1dfe8481f798f1eff5afd557d86d1a050aa0b80614cbcd, Justified: 321209, Finalized: 321208, Peers: 66
02:26:39.339 INFO  - Slot Event  *** Slot: 10278731, Block: 77da487f74148a3db7b9189bfe089293ab32dca9ae789ab8be774afe433f9300, Justified: 321209, Finalized: 321208, Peers: 64
02:26:51.300 INFO  - Slot Event  *** Slot: 10278732, Block: 377d19a64f2f31391d0865ee6c0a93ad240538ce807c7e7bfe630258ea1d9a9b, Justified: 321209, Finalized: 321208, Peers: 64
02:27:03.278 INFO  - Slot Event  *** Slot: 10278733, Block: 62e8cf80fadade559019e1e031e20abcac288bcfb6cd37d508b7ef2ed3d9a8b3, Justified: 321209, Finalized: 321208, Peers: 60
2024-10-29T02:27:12.635328561Z JettyServerThreadPool-985 ERROR Recursive call to appender teku-log-appender
02:27:15.327 INFO  - Slot Event  *** Slot: 10278734, Block: fbf305974f95516eea2e1f79e997b7ca7c9324a02ac23387b0ea27848ab3283e, Justified: 321209, Finalized: 321208, Peers: 57
02:27:27.256 INFO  - Slot Event  *** Slot: 10278735, Block: 835d0d0d65170714476014e36fffa01b521f0f7e65dc549270d8403b9830df49, Justified: 321209, Finalized: 321208, Peers: 68
02:27:39.267 INFO  - Slot Event  *** Slot: 10278736, Block: 01f598cefb71cf3c3f685cdf3a519936350375cee242f3acd7d794823f76c1b8, Justified: 321209, Finalized: 321208, Peers: 70
02:27:51.283 INFO  - Slot Event  *** Slot: 10278737, Block: 9f678972d1900a06ec2f9baf9c30b57987b53f090e6a1c41b37f4c907687e6cc, Justified: 321209, Finalized: 321208, Peers: 67
02:28:03.285 INFO  - Slot Event  *** Slot: 10278738, Block: 11c052b6d17794b05d010111719fc4af31fdfb135b808f03627bc29e94e54b49, Justified: 321209, Finalized: 321208, Peers: 62
02:28:15.240 INFO  - Slot Event  *** Slot: 10278739, Block: 905755615a0b9c23d5f9058559562cdbd2f94c0b2270fafcee6980a0ec8b67a6, Justified: 321209, Finalized: 321208, Peers: 61
02:28:27.291 INFO  - Slot Event  *** Slot: 10278740, Block: 57cd384360e5cc000adda227d798a198f598d565543dbd2ace70b0b2d2ff18e1, Justified: 321209, Finalized: 321208, Peers: 60

Env
NETWORK=mainnet
RETH_IMAGE=ghcr.io/paradigmxyz/reth:v1.0.7
PUBLIC_IP=xx.xx.xx.xx
P2P_PORT=30305
TEKU_IMAGE=consensys/teku:24.8.0
CHECKPOINT_URL=https://beaconstate.ethstaker.cc
ARCHIVE_FREQUENCY=1
STORAGE_MODE=archive
RETAINED_SLOT=50400
Command
services:
  reth:
    image: '${RETH_IMAGE}'
    pull_policy: always
    container_name: reth
    restart: unless-stopped
    stop_signal: SIGINT
    stop_grace_period: 2m
    ports:
    - 30303:30303
    - 30303:30303/udp
    - 31545:8545
    - 31546:8546
    - 8551:8551
    volumes:
    - /data/reth:/data
    command:
    - node
    - --chain=${NETWORK}
    - --datadir=/data
    - --peers-file=/data/peers.file
    - --nat=extip:${PUBLIC_IP}
    - --port=30303
    - --http
    - --http.addr=<IP_ADDRESS>
    - --http.api=eth,net,web3,admin
    - --http.corsdomain=*
    - --ws
    - --ws.origins=*
    - --ws.addr=<IP_ADDRESS>
    - --ws.api=eth,net,web3
    - --authrpc.addr=<IP_ADDRESS>
    - --authrpc.jwtsecret=/data/jwt.hex
    - --authrpc.port=8551
  teku:
    image: '${TEKU_IMAGE}'
    pull_policy: always
    container_name: teku
    restart: unless-stopped
    stop_grace_period: 2m
    environment:
      JAVA_OPTS:  -XX:MinRAMPercentage=50.0 -XX:MaxRAMPercentage=80.0 -XX:+HeapDumpOnOutOfMemoryError
    volumes:
    - /data/teku:/data
    - /data/reth:/reth
    ports:
    - 31080:8080
    - ${P2P_PORT}:${P2P_PORT}
    - ${P2P_PORT}:${P2P_PORT}/udp
    command:
    - --network=${NETWORK}
    - --logging=all
    - --data-path=/data
    - --data-beacon-path=/data/beacon
    - --data-storage-archive-frequency=${ARCHIVE_FREQUENCY}
    - --data-storage-mode=${STORAGE_MODE}
    - --checkpoint-sync-url=${CHECKPOINT_URL}
    - --ee-endpoint=http://reth:8551
    - --ee-jwt-secret-file=/reth/jwt.hex
    - --p2p-enabled=true
    - --p2p-advertised-ip=${PUBLIC_IP}
    - --p2p-advertised-port=${P2P_PORT}
    - --rest-api-enabled=true
    - --rest-api-host-allowlist=*
    - --rest-api-interface=<IP_ADDRESS>
    - --rest-api-port=8080
    - --rest-api-cors-origins=false

@tbenr

Hey @J1a-wei , are you looking in the log file (probably under /data/teku/logs/....log) or in the docker output?  Since you're not using --log-destination=CONSOLE docker logs just contain minimal info.

I've done a couple of things to try to replicate this

both 24.8.0 and master

tried sepolia / minimal / mainnet

outside of historic states we'll get 503. this would include minimal / prune databases that only have back to finalized state, as its selecting the state from the start of the epoch to compute the proposer duties. also prior to the earliest state stored was 503.

finalized -> next epoch returning duties

+2 epochs is a 400, not able to compute duties that far in the future.

It didn't seem to matter if the first slot of the epoch was empty. I wasn't able to get a 500 error, only 503. I'd need the stack trace from the 500 to see how its possible...

Moving to backlog in the hope we get more information.


Adds builder for Condition & renames existing one to StatusCondition

Changes
There was already a function called Condition for building a TaskRun's
status in the builder process. I renamed that to StatusCondition
Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:

[x] Includes tests (if functionality changed/added)
[ ] Includes docs (if user facing)
[x] Commit messages follow commit message best practices

See the contribution guide for more details.

/test pull-tekton-pipeline-integration-tests


feat(model_construct): handle partially hydrated models

When working with an instance of a model implementing ChangeDetectionMixin that have been instanciated through model_construct and with not all fields being set, it does raise a KeyError.
This PR highlights the use-case in a test and fixes it in model_changed_fields method of ChangeDetectionMixin.
It seems to be aligned with the idea behind the tool, to still be able to detect fields being changed within a partially hydrated instance.
Let me know if you're ok with the ide, and if you want it to be extended / done differently.
Thanks !

:wave:  hello @ddanier would you have some time to check this one ? really basic change :pray:
Thanks !

Sorry, this slipped through. Not sure about the use case here, as I would say you are using model_construct() wrongly (see https://docs.pydantic.dev/latest/concepts/models/#creating-models-without-validation - "You should only ever use the model_construct() method with data which has already been validated, or that you definitely trust."). Passing partial data here will break the contract pydantic normally ensures is followed.
However I don't see any issue with the changes. Will merge this and create a release out of this - if this helps ;-)

See https://github.com/team23/pydantic-changedetect/releases/tag/v0.7.3
This now includes your change ;-)


docs: Added v1.0.0 information to upgrade guide

Description Added information to the Karpenter Upgrade Guide, describing how to upgrade to v1.0.0.
Does this change impact docs?

[x ] Yes, PR includes docs updates

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>5
Details

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

Files with Coverage Reduction
New Missed Lines
%

pkg/providers/amifamily/ami.go
1
91.67%

Totals

Change from base Build<PHONE_NUMBER>4:
-0.01%

Covered Lines:
5942

Relevant Lines:
7510

💛  - Coveralls

TODOs

Detail downgrade process
Add references to the upgrade guide in the v1 migration guide and vice versa


Add missing opacity option for ol.style.IconOptions

Currently the opacity is passed to the parent's constructor, but it is not defined in IconOptions.

Looks good to me. Thanks.


assign task

which task do you want to do

I will do task 1

i can do task 2

So my part is obviously task3.

Closed


Add support for IRCv3 message tags

As defined in IRCv3, using the following spec as reference: http://ircv3.net/specs/core/message-tags-3.2.html

Server MUST NOT add a tag to messages, if client didn’t request the capability which enables the tag using CAP REQ.

A few lines below:

Client and server MAY parse the tags even without any capabilities enabled. They SHOULD ignore tags of capabilities which are not enabled.

Still, send the req or complaint servers won't send them to us anyway.

We need a caps subsystem to do this sort of stuff.

Yes, the lib has to send a CAP LS when connecting to the server to get the list of capabilities. Will work on it.

Capability subsystem implemented in #79. Need to get this one merged to fully support the server-time capability.


Extra parameter in vkb::SwapchainBuilder

Chapter 1, "Vulkan Initialization Code", under "Setting up the swapchain" includes the following line of example code:
vkb::SwapchainBuilder swapchainBuilder{_chosenGPU,_device,_surface,_graphicsQueueFamily };

_graphicsQueueFamily has not been created at this point, nor can I see any constructor for vkb::SwapchainBuilder that takes a queue family as a parameter.

Ack this is an oversight on my part. Just put 0 instead of _graphicsQueueFamily  and it should work.
This is because the swapchain builder needs to know what the graphics queue family index is, but we don't want to pollute the VulkanEngine with a bunch of vk-bootstrap types (since it bloats headers and isn't needed anywhere else). Sometimes 'simple' interfaces over complex object initialization can leak, and this is one of those times.

This is because the swapchain builder needs to know what the graphics queue family index is

Does it, though? I took a peek into VkBootstrap and there doesn't seem to be any constructor that even takes 4 parameters at all...

During most of the writing of this tutorial, the vk-bootstrap in third_party was an older version. Last week I updated the repo to use the newer version (which fixed bugs and other good stuff). The code you are looking at is the older version.
The thing is that the swapchain needs the graphics queue family index, so if you want to use the 'raw VK handle' constructor for the swapchain (so you don't have to hold the vkb::Device object), you have to pass in the queue family index manually. The other constructors know how to get it.

I'm looking at the all-chapters branch of the repo and I'm seeing the newer version.
https://github.com/vblanco20-1/vulkan-guide/blob/fee5dbddf0c9f5959ca75902697cc60f1761961c/third_party/vkbootstrap/VkBootstrap.cpp#L1540
And I was pretty sure I updated the tutorial code to match the latest vk-bootstrap commit
https://github.com/charles-lunarg/vk-bootstrap/blob/master/src/VkBootstrap.h

Oh, interesting. I'm currently following through from the starting-point branch. So maybe it's that branch that needs an update to VkBootstrap?

Ah, that would explain everything. My bad, I didn't see that branch when I was updating the library. Seems I need to make a PR pronto.

Glad that's cleared up! I'm keeping track of a couple other minor errata while I go through (only one other so far), but thus far it's a great guide. It's exactly the step-up from vulkan-tutorial that I've been wanting for so long. :smile:

Thanks for reporting the issue. I merged the PR that updates the thing, so it should be fine now


Slow Lexer initialization in the CSS example

I suspect this may be related to using xRegExp.
Will investigate.

Tested this on a large Lexer with more Tokens than CSS (80+ vs 50+)
It took 19ms for the larger Lexer but 1400ms+ for the CSS Lexer.
Perhaps the performance of XRegExp.toString is at fault?
As Chevrotain calls toString on each of the regExps for additional analysis
during the lexer initialization.
Needs to be invstigated more.

A little profiling showed a lot of time wasted on regExp analysis.
Perhaps optimizations are needed in the regExp analysis phase.
I am still wondering if that has anything to do with XRegExp or not.

I think it is simply because the CSS regExps are very complex.
So I guess performance optimizations are in order...

Reduced initialization time from ~1400 ms to ~70m
More optimizations are likely possible in the future.


[Bug] Disabling Action Status Automation option causes permanent action bar above token

Whenever there is no action status automation enabled, starting combat with a token selected will cause the action bar to pop up over the token and become unable to dismiss. This persists even after the token is deselected, but for screenshot purposes, I figured I'd show what it looks like normally.

In order to resolve this issue, the user needs to refresh their browser window.
Versions:
D&D5e --> v1.2.4
DnD5e Helpers --> v2.0.1 (replicated in v2.0.0 as well)
Steps to reproduce:

Disable all other modules
Adjust the settings so that Combat Helpers --> Action Status Automation --> None
Add token(s) to combat tracker
With the token(s) still selected, hit the "Begin Combat" button

Ill close this an track through #106


Fix typo in service-bus-end-to-end-tracing.md

@anthonynguyen : Thanks for your contribution! The author, @lmolkova, has been notified to review your proposed change.


Fix warning when publishing documentation

Closes #159
The line is not needed since the theme is being pulled from remote.

LGTM.  Unfortunately, we won't know if the warning disappears until we merge... 🤷♂

Thanks for taking care of that, @gcgbarbosa !


[useLockScroll] Avoid scrollbar layout shift issues

Closes #603

[x] I have followed (at least) the PR section of the contributing guide.

This applies the internal iOS technique to all browsers aside from iOS, removing the need for scrollbar compensation.
This uses @react-aria/overlays' usePreventScroll hook but only for iOS.

Problem 1
This currently breaks the positioning of (anchored) floating elements. Edit: looks like this currently works if using the fixed positioning strategy instead of absolute.
However, this raises the concern of interoperability with extensions and third party widgets that use outdated versions of Floating UI, Popper (assuming it's broken there) or custom positioning methods that don't handle this edge case (where html has an offset).
Problem 2
The forced overflow of the <html> scrollbar appears on top of backdrops, which looks a bit unsightly if it's not a custom scrollbar

Problem 1: https://github.com/floating-ui/floating-ui/pull/3045

Doing another test:

On an iOS device, I can't seem to scroll or zoom at all
There's a shift when resizing the viewport in Chrome with scrollbar-gutter: stable. This used to works fine in 51fd6823679735a6df62d45109a55e3ed38a07ce

https://github.com/user-attachments/assets/cc1090a7-9c2e-4560-9d07-b93c962d95af

On an iOS device, I can't seem to scroll or zoom at all

You mean once the scroll lock is activated and using pinch-zoom? I can also reproduce this. I suppose it's a limitation of react-aria's solution then, unfortunately. If you mean scrolling or zooming while it's not activated, I can't reproduce that.

There's a shift when resizing the viewport in Chrome with scrollbar-gutter: stable. This used to works fine in https://github.com/mui/base-ui/commit/51fd6823679735a6df62d45109a55e3ed38a07ce

Will have to check that.

You mean once the scroll lock is activated and using pinch-zoom? I can also reproduce this. I suppose it's a limitation of react-aria's solution then, unfortunately

Wow I'm shocked that that's what they have... if you open a dialog zoomed in, your only way to get out of it is basically to close the page.

I'll try to complete the touch-action prototype I had which still allowed pinch-zooming. The logic to find the scrollable container is possible with DOM traversal on a touch event

@atomiks let's catch up on Monday and mull it over as well. I checked a few other implementations (Ariakit working the best so far) and have a few new thoughts; not doing anything on iOS doesn't feel like a bad idea actually.
For Chrome's scroll gutter issue, I think it's caused by that same bug and not our code. We probably just want to check for the scrollbar-gutter value and if it's not "auto", set overflow to hidden because the browser will maintain a stable gutter itself.

@oliviertassinari are you on the right deploy preview? The values you've listed don't hace position: fixed which the deploy link has. It preserves the value and has no layout shift when overflow-y: scroll is on <html>:

@atomiks To reproduce, you need to empty the page to not have enough content to create a scrollbar:
https://github.com/user-attachments/assets/0f07629c-a4e2-420e-9568-35de1099f742
https://deploy-preview-604--base-ui.netlify.app/components/react-dialog/

Developers consistently forget about hard scrollbars. Even in the teams of the highest calibre, these often end up being completely unhandled.

@vladmoroz My guess is that it's because everyone on those teams works on macOS, so they can't see it. They forgot that 70% of the end-users are on Windows. And even for developers, it's still a majority https://www.notion.so/mui-org/Product-Analytics-f2e2576203564e6c8dc3429cf305a36f?pvs=4#8a38433d21814a15acfb99ce2eac7d6b.

Any risk of having a layout shift is not worth it in my opinion.

Yeah, hard dilemma. Your rationale makes sense. Not peak of UX but we avoid the worst-case scenario, and since this is what people tend to remember, it's probably for the best: https://www.notion.so/mui-org/DevEx-DX-044f844fbda74826b2dea32a6e6d8a38?pvs=4#2a825570dd744a5a90b75e014100562e.


chore: Adding additional optional props to editable text component

Description

Adding additional optional props to editable text component

Fixes #18543
Type of change

New feature (non-breaking change which adds functionality)

How Has This Been Tested?

These are additional optional props that are added and don't require testing unless being used.

Manual

Checklist:
Dev activity

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] 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
[x] New and existing unit tests pass locally with my changes
[ ] PR is being merged under a feature flag

QA activity:

[ ] Test plan has been approved by relevant developers
[ ] Test plan has been peer reviewed by QA
[ ] Cypress test cases have been added and approved by either SDET or manual QA
[ ] Organized project review call with relevant stakeholders after Round 1/2 of QA
[ ] Added Test Plan Approved label after reveiwing all Cypress test

/ok-to-test sha=3d72184

/ok-to-test sha=3d72184


⚠ DDoS-Relay US-W-hil-2 has degraded performance

In a8c8637, DDoS-Relay US-W-hil-2 (http://<IP_ADDRESS>:42069/;csv) experienced degraded performance:

HTTP code: 200
Response time: 158 ms

Resolved: DDoS-Relay US-W-hil-2 performance has improved in 9e782ea after 25 minutes.


Feature Request: Separate Treasure Maps from Surveys, and Potions from Poisons

The ability to separate Treasure Maps from Survey Maps as well as Potions from Poisons has been requested a few times.
This allows greater flexibility in loot handling. Many players do not wish keep treasure maps, but do want survey maps. The same is true for not wanting trash poisons, but they do want trash potions.

Also made the following adjustments:
For Treasure/Survey Maps - Added the options to destroy
For Treasure Maps - Added the option to junk.
For Style/Recipe - Added the options to junk/destroy.
For Master Writs - Added the option to destroy.
Moved Poisons/Potions/Food into the "Consumables" category.

Created d8a74ff to address this.
Can close once the pull is merged.

For Treasure/Survey Maps - Added the options to destroy
Do you nkow the price of Vvardenfell, Bangkorai, Malabal Tor, and some other Treasure maps? Destroy?!! What if somebody check this box by mistake? No!
Destroy Survey Maps?!! Ugh... All characters deposites them to bank, one character retreives.

For Treasure Maps - Added the option to junk.
It can not be sold facepalm

For Style/Recipe - Added the options to junk/destroy.

Known reciepes allready have this option.
Destroy unknown? No.

For Master Writs - Added the option to destroy.

What?!! No!

Moved Poisons/Potions/Food into the "Consumables" category.

Consumables is a category for auto gather additionally/auto deposit excess items.
Poisons/Potions/Food filters is for trash items, such dropped poisons, unusable food, etc. And it is "items", so them stays in Items category.

separate Treasure Maps from Survey Maps

Will be added

separate reciepes and blueprints

separate Potions from Poisons
This filter is only for dropped trash items. No reason to separate them.

Regarding the separation of Potion/Poison, I still feel strongly should be separated. Trash potions can be of use, like mag/stam/health pots, but in every scenario running trash poisons results in a DPS loss. I know of no one that would run a trash poison over their default weapon enchant, except maybe someone new to the game that is not educated. Separating the 2 frees up inventory/bank space and removes the tedium of having to pull them out of the bank and selling them from inventory manually.
I am fine not adding the additional options. I was simply thinking for non eso+ subscribers who are not crafters and would prefer the inventory space instead of having to manually delete them.
I'll explain my logic though:
Treasure maps do indeed have value to merchants, not all of them, but some have values. I believe you may be thinking of Survey maps, since they are character bound, treasure maps are indeed traceable though.
Regarding adding the destroy options on Treasure Maps. a lot of people think treasure maps are a waste of time, there are notes in the thread as well about this. And for survey maps
Regarding adding the destroy options on Survey Maps/Master Writs: not everyone does crafting, but they do the crafting writs for the money, so the surveys and master writs are junk as a result.
Regarding the Recipes, i was simply adding the options that are already there for unknown. An example where this would apply, is say i'm on my character that does not do crafting, they get a recipe for provisioning improvement 2, which he will never get, the recipe is unknown to him because it's of a skill level they will never obtain.

Trash potions can be of use, like mag/stam/health pots

150lvl potions can not be marked as junk by "Potion/Poison". Read tooltip.

character that does not do crafting, they get a recipe for provisioning improvement 2, which he will never get, the recipe is unknown to him because it's of a skill level they will never obtain

Any lvl character with any skill lvl can use recipe of ANY lvl and ANY quality lvl.


Unquote Prometheus storage paths

When using the default values I ended up with an installation that did not persist prometheus metrics on the mounted volume (AWS EBS) once the pod was restarted. I found out the reason for this was that data was being written to /prometheus/"/data" instead of /data (the default).
I tested this locally and removing the quote function seems to have done the trick.

good find, thanks @lchi!
cc @mgoodness @viglesiasce

@k8s-bot ok to test

Woops! Sorry about that, @lchi; embarrassing that I didn't test it better.

Thanks much @lchi!!!!

Actually the chart does not work with the default value "/data" since it gets passed in quotes and Prometheus does not work with this.

@ged15 Yup, and this PR is meant to fix it. Sorry again :(

No apologies necessary @mgoodness, you actually saved me quite some time with this chart. Thanks :)

Just checking in on this - is there anything else that needs to be done before this is merged? I'm not too familiar with contributing to charts.


drop coverage as it doesn't see that methods and fixture are called in the tests

I found a solution in pytest-copie, it just needs to be applied here.


Question: How to write a query for comment + function

I've read through the docs on how to write TS queries but I just can't make it work. I'm trying to write a query for lua where it captures a luadoc followed by a function:
---test comment 5
---@param bool any
function M.test5(bool)
	-- oeu
	print("test5", bool)
end

These were my attempts:
(
  (comment) @comment.outer
  (function_declaration) @function.outer
    (comment) @comment.outer
    .
    (function_declaration) @function.outer) @function_context

what I kind of undestood is that by grouping comment and function within () you declare a capture group and the . means that a comment is a direct sibling to the function declaration.
Im using the query with the swap feature:
swap = {
			enable = true,
			swap_next = {
				["<leader>spn"] =<EMAIL_ADDRESS>				["<leader>sfn"] = {
					query = { "@function_context" },
					query_group = "context",
				},
			},
			swap_previous = {
				["<leader>spp"] =<EMAIL_ADDRESS>				["<leader>sfp"] = {
					query = { "@function_context" },
					query_group = "context",
				},
			},
		},

but whatever I do it just either swaps the functions without the comments or with different attempts it would swap the first function with one of the comments above the second function.
---test comment 5
---@param bool any
function M.test5(bool)
	-- oeu
	print("test5", bool)
end

---test comment 4
---@param num any
---@param str any
function M.test4(num, str)
	print("test4", num, str)
end

I did not mark this issue as a bug because there probably is a way to swap functions together with their comments. I appreciate any help or advise that I can get and maybe this could be a feature?

the following query should capture my code but I noticed the issue is within the swap operation as it only swaps with directly adjacent nodes and it's not fully aware of the whole context.
(
  (_) @comment.outer
  .
  (_) @function.outer
) @function_context

but when I try to swap test 5 with test 4 it only swaps test 5 with the comment of test 4
this
---@param bool any
function M.test5(bool)
	-- oeu
	print("test5", bool)
end

---@param str any
function M.test4(num, str)
	print("test4", num, str)
end

becomes this:
---@param bool any
---@param str any

function M.test5(bool)
	-- oeu
	print("test5", bool)
end
function M.test4(num, str)
	print("test4", num, str)
end

I don't believe what you're trying to do is possible in Lua, at least with the current Lua Treesitter parser.
Rationale in brief is this:

nvim-treesitter-textobjects allows you to use a capture name as a target for the swap operation, @function_context in your case.
A capture refers to a single node.
There is no single node that encloses the LuaDoc comment and its associated function definition.

Btw, I think the query you're looking for is this:
(
  (comment) @comment.outer
  .
  (function_declaration) @function.outer
) @function_context

Trying this in Treesitter Playground (:TSPlaygroundToggle then "o" to open query editor), you can see that assigning a capture (@function_context) to the sequence of nodes is not an error, but it only returns the first node in the sequence, which is the comment in this case.
So I think what you're facing is just a limitation in the Lua language or at least the Lua treesitter parser. If you wanted this bad enough you could write a Lua script/plugin to do it. This YouTube video gives a good idea how that might look and uses Treesitter specifically:
https://www.youtube.com/watch?v=IRd2zwF527M


ARROW-2555: Allow parquet writer to truncate timestamps instead of failing

Plumbs an option allow_truncated_timestamps through ParquetWriter and the like.  If this option is set, it allows timestamps to be coerced from us to ms without complaining or crashing.

The code up until now looks good!

There are still some open style issues in the C++ build.

Lints fixed, now seeing a strange failure in the Java build:
[ERROR]   TestExampleServer.after:66 » IllegalState Memory was leaked by query. Memory l...```

https://travis-ci.org/apache/arrow/jobs/434179305

That's ARROW-3343 and not related to these changes

Good to know.  Are there any docs that I should update with this new parameter?  Maybe in pyarrow.parquet.ParquetWriter ?

I'm adding some quick documentation about this, adding the parameter explicitly to pyarrow.parquet.write_table, and rebasing. So I'll merge once the build passes


Create SECURITY.md

Fee Reduce Purchase Terms of Service

SERVICE
Memo Technology, Inc., the Seller, makes no guarantees to the Buyer. Use of the Seller's services are provided as is. The application may become unavailable at any time for any reason.

REFUND
The Seller has the right to terminate service at any time without notice or refund. In the event the Buyer requests a refund, the Seller has sole discretion on whether to fulfill the request. The Seller has the right to deny a refund for any reasons or without a reason.

SECURITY
The Seller does not take responsibility for any compromised or lost accounts for any reason.
@uvhw

Fee Reduce Purchase Terms of Service

SERVICE
Memo Technology, Inc., the Seller, makes no guarantees to the Buyer. Use of the Seller's services are provided as is. The application may become unavailable at any time for any reason.
REFUND
The Seller has the right to terminate service at any time without notice or refund. In the event the Buyer requests a refund, the Seller has sole discretion on whether to fulfill the request. The Seller has the right to deny a refund for any reasons or without a reason.
SECURITY
The Seller does not take responsibility for any compromised or lost accounts for any reason.
@uvhw

https://<IP_ADDRESS>


can't disable multitouch

There is currently no way to disable multitouch site wide for hammer js through vue-touch. I have site-wide bugs related to multi-touch, and need to access that hammer option.

Closing for inactivity. Also likely now possible with the new API for passing & setting hammer options.
If your problem persists, please open a new issue with a more details abaout wehat option you need to set.


feat(docker): Make docker version configurable

Description

[x] Make docker version configurable

@salmanulfarzy please, review it. 😆

LGTM

Seems fine, thanks for the ping!


Packer script halts due to systemd prompt

Hey! 👋 Thanks for working on this tool, it's awesome!
Partway through packer build -var github_feed_token=XXX images/linux/ubuntu1804.json, I get this prompt from Docker about systemd that expects a TTY:
    docker: Setting up systemd (237-3ubuntu10.39) ...
    docker:
    docker: Configuration file '/etc/systemd/system.conf'
    docker:  ==> File on system created by you or by a script.
    docker:  ==> File also in package provided by package maintainer.
    docker:    What would you like to do about it ?  Your options are:
    docker:     Y or I  : install the package maintainer's version
    docker:     N or O  : keep your currently-installed version
    docker:       D     : show the differences between the versions
    docker:       Z     : start a shell to examine the situation
    docker:  The default action is to keep your current version.

Is there a workaround for this?

Weird.  What version of packer are you using?  What OS are you running packer from?

I'm also facing this issue.
Packer version below
$ packer --version
1.5.4

@cplee I'm going to follow up on this later today. My apologizes for not providing that info up front! I should know better 🙄

@cplee I tried the following versions
1.2.0: Fails with the following error
Failed to parse template: 1 error(s) occurred:

* Unknown root level key in template: 'sensitive-variables'

The versions below fail because of the prompt.
1.3.0
1.4.0
1.5.0
1.5.4

Weird. What version of packer are you using? What OS are you running packer from?

Android


Generate a hash function when allow_mutation is False

Feature Request
Output of python -c "import pydantic.utils; print(pydantic.utils.version_info())":
             pydantic version: 1.6.1
            pydantic compiled: False
                 install path: /home/raphael/rhuille/pydantic/pydantic
               python version: 3.8.5 (default, Aug 18 2020, 10:43:36)  [GCC 7.5.0]
                     platform: Linux-5.0.0-1067-oem-osp1-x86_64-with-glibc2.27
     optional deps. installed: ['typing-extensions', 'email-validator', 'devtools']

Hi there,
I need the model to be hashable when I set allow_mutation to False. I could write myself a __hash__ function, but I think it could be nice if pydantic generated it by default in the class BaseModel.
This would be the same behavior of the built-in dataclass which generate a hash function if the object is immutable (parameter frozen is True) and the __eq__ function exists.
Quoting the documentation https://docs.python.org/3/library/dataclasses.html :
If eq and frozen are both true, by default dataclass() will generate a __hash__() method for you.

We could generate a default __hash__ function for BaseModel if allow_mutation is False, what do you think ?
Examples
For example, now we have:
from pydantic import BaseModel

class A(BaseModel):
    x: int

    class Config:
        allow_mutation = False

a = A(x=1)
d = {a: 2}

>>> TypeError: unhashable type: 'A'

After, we would have:
from pydantic import BaseModel

class A(BaseModel):
    x: int

    class Config:
        allow_mutation = False

a = A(x=1)
d = {a: 2}
d[a]
>>> 2

(Note that if allow_mutation = True, the hash function would be None and the behavior would not be changed)

@rhuille @samuelcolvin I believe that the introduction of explicitly setting __hash__ to None for non frozen BaseModels is a backwards incompatible breaking change for models which inherit from a common BaseModel implementation that defines __hash__ and __eq__.
Minimal reproduction:
import pydantic
from pydantic import BaseModel

print(f"Version: {pydantic.version.VERSION}")

class HashableModel(BaseModel):
    x: int

    class Config:
        allow_mutation = False

    def __hash__(self):
        return hash((type(self),) + tuple(self.__dict__.values()))

    def __eq__(self, other):
        return self.__hash__() == other.__hash__()

class ChildModel(HashableModel):
    y: int

# This is fine
test = {HashableModel(x=4): HashableModel(x=2)}
print(test)

# This will fail on 1.8
test = {ChildModel(x=4, y=2): ChildModel(x=2, y=2)}
print(test)

On 1.7.3:
Version: 1.7.3
{HashableModel(x=4): HashableModel(x=2)}
{ChildModel(x=4, y=2): ChildModel(x=2, y=2)}

On 1.8:
Version: 1.8
{HashableModel(x=4): HashableModel(x=2)}
Traceback (most recent call last):
  File "repro.py", line 26, in <module>
    test = {ChildModel(x=4, y=2): ChildModel(x=2, y=2)}
TypeError: unhashable type: 'ChildModel'

A temporary workaround that is both forwards and backwards compatible is to set frozen explicitly to True on the superclass:
class Config:
    allow_mutation = False
    frozen = True

Looking at the patch I'm not sure if there is a simple way to fix this, but I imagine this might hit some folks who have previously defined a common ImmutableBaseModel and are using that instead of BaseModel various places.

Is this fixed by #2423?

Yes it is fixed by that patch, verified with:
$ python3 -m venv venv_test
$ venv_test/bin/pip install wheel
$ venv_test/bin/pip install git+https://github.com/samuelcolvin/pydantic.git@f9fe4aa086e7458f3c3339c408b3215f34e6ca18
$ python repro.py
Version: 1.8
{HashableModel(x=4): HashableModel(x=2)}
{ChildModel(x=4, y=2): ChildModel(x=2, y=2)}

Thanks and apologies for not seeing the new patch!

Python (pydantic)
```python
print('hello world')
```


fix bench for api change

running 6 tests
test tests::bench_fastfield_bitpack_create             ... bench:     107,127 ns/iter (+/- 3,858)
test tests::bench_fastfield_bitpack_get                ... bench:       5,182 ns/iter (+/- 52)
test tests::bench_fastfield_linearinterpol_create      ... bench:     245,936 ns/iter (+/- 4,849)
test tests::bench_fastfield_linearinterpol_get         ... bench:       5,199 ns/iter (+/- 80)
test tests::bench_fastfield_multilinearinterpol_create ... bench:     383,690 ns/iter (+/- 6,445)
test tests::bench_fastfield_multilinearinterpol_get    ... bench:      15,421 ns/iter (+/- 359)

Codecov Report

Merging #1467 (fa0fbc6) into main (998b126) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1467   +/-   ##
=======================================
  Coverage   94.08%   94.08%
=======================================
  Files         238      238
  Lines       44517    44517
=======================================
  Hits        41886    41886
  Misses       2631     2631

Impacted Files
Coverage Δ

src/fastfield/reader.rs
87.73% <0.00%> (-0.62%)
:arrow_down:

src/postings/stacker/expull.rs
99.05% <0.00%> (+0.47%)
:arrow_up:

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


508: EM Submission Access Table Name

Table does not have an accessible name

Testing complete, Table now has an accessible name


Show repo name

This change is to show the repo real name not the project/[project-id]/repos/[repo-name] in clone dialog.

Codecov Report

Merging #745 into m_csr will decrease coverage by <.01%.
The diff coverage is 9.67%.

@@           Coverage Diff            @@
##           m_csr    #745      +/-   ##
========================================
- Coverage   9.86%   9.86%   -0.01%
========================================
  Files        489     490       +1
  Lines      11920   11925       +5
========================================
  Hits        1176    1176
- Misses     10744   10749       +5

Impacted Files
Coverage Δ

...CloudSourceRepositories/CsrCloneWindowContent.xaml
0% <ø> (ø)
:arrow_up:

...oudSourceRepositories/CsrAddRepoWindowContent.xaml
0% <ø> (ø)
:arrow_up:

...nsion/CloudSourceRepositories/AsyncRepositories.cs
0% <0%> (ø)
:arrow_up:

...nsion/CloudSourceRepositories/CsrReposViewModel.cs
0% <0%> (ø)
:arrow_up:

...CloudExtension/CloudSourceRepositories/CsrUtils.cs
0% <0%> (ø)
:arrow_up:

...tension/CloudSourceRepositories/CsAddRepoWindow.cs
11.11% <0%> (ø)
:arrow_up:

...CloudSourceRepositories/CsrCloneWindowViewModel.cs
0% <0%> (ø)
:arrow_up:

...udExtension/CloudSourceRepositories/RepoWrapper.cs
0% <0%> (ø)

...oudSourceRepositories/CsrAddRepoWindowViewModel.cs
65.9% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

See https://github.com/ILMTitan/google-cloud-visualstudio/commit/ae145d530864b70e97b6cc127d64d9d1792b418c for the (untested) changes I think are necessary.

I thought of extension method, but did not know the DataTemplate technique.
Updated with DataTemplate

Thanks for doing the review. I am glad to use simpler solution with DataTemplate.


Bring ErrorCode enums into sync

ErrorCode enums on Python & C# side had gotten out of sync. This can cause the CLI to fail to parse responses.

Codecov Report

Merging #3129 (1b40cf5) into main (5048e6d) will decrease coverage by 1.50%.
The diff coverage is n/a.

:exclamation: Current head 1b40cf5 differs from pull request most recent head 75c12bf. Consider uploading reports for the commit 75c12bf to get more accurate results

@@            Coverage Diff             @@
##             main    #3129      +/-   ##
==========================================
- Coverage   31.61%   30.12%   -1.50%
==========================================
  Files         308      128     -180
  Lines       36535    13979   -22556
==========================================
- Hits        11552     4211    -7341
+ Misses      24983     9768   -15215

Impacted Files
Coverage Δ

src/ApiService/ApiService/OneFuzzTypes/Enums.cs
32.39% <ø> (ø)

... and 180 files with indirect coverage changes


Allow users to provide custom labels for tabs

Added via config.tabs. Wiki Documentation added here

Test Notes: Confirm that the settings object below creates a codebook with just the given tabs with the custom labels and instructions as specified:
{
  "tabs":[
    "codebook",
    {key:"settings",label:"Settingz","instructions":"Set!"}
  ]
}

Confirmed settings object can create custom tabs and labels in all browsers.


Simplify bitmap remove function

Simplifies some calls to remove a cached bitmap by just removing with the key immediately instead of also getting the graphic from the key

Thanks!!!


Some tests for native tracking don't work in aarch64

Seems that https://github.com/bloomberg/memray/pull/52 has broken the tests for native tracking on aarch64:
   def test_simple_call_chain_with_native_tracking(tmpdir, monkeypatch):
        # GIVEN
        output = Path(tmpdir) / "test.bin"
        extension_name = "multithreaded_extension"
        extension_path = tmpdir / extension_name
        shutil.copytree(TEST_NATIVE_EXTENSION, extension_path)
        subprocess.run(
            [sys.executable, str(extension_path / "setup.py"), "build_ext", "--inplace"],
            check=True,
            cwd=extension_path,
            capture_output=True,
        )

        # WHEN
        with monkeypatch.context() as ctx:
            ctx.setattr(sys, "path", [*sys.path, str(extension_path)])
            from native_ext import run_simple  # type: ignore

            with Tracker(output, native_traces=True):
                run_simple()

        # THEN
        records = list(FileReader(output).get_allocation_records())
        vallocs = [
            record
            for record in filter_relevant_allocations(records)
            if record.allocator == AllocatorType.VALLOC
        ]

        assert len(vallocs) == 1
        (valloc,) = vallocs

        (python_stack_trace,) = valloc.stack_trace()
        func, filename, line = python_stack_trace
        assert func == "test_simple_call_chain_with_native_tracking"
        assert filename.endswith(__file__)

        expected_symbols = ["baz", "bar", "foo"]
>       assert expected_symbols == [stack[0] for stack in valloc.native_stack_trace()[:3]]
E       AssertionError: assert ['baz', 'bar', 'foo'] == []
E         Left contains 3 more items, first extra item: 'baz'
E         Full diff:
E         - []
E         + ['baz', 'bar', 'foo']

tests/integration/test_native_tracking.py:112: AssertionError

Bisecting shows b6d865b7f481c4c67f6268483bc81f11a0833527 as the first bad commit:
b6d865b7f481c4c67f6268483bc81f11a0833527 is the first bad commit
commit b6d865b7f481c4c67f6268483bc81f11a0833527
Author: Matthias Diener<EMAIL_ADDRESS>Date:   Fri Apr 22 10:36:02 2022 -0700

    Avoid inlining `exact_unwind`

    On some architectures this can't be inlined. We don't actually care
    whether or not it is inlined, only that whether it is or isn't inlined
    is consistent regardless of build flags.

    Signed-off-by: Matthias Diener<EMAIL_ADDRESS>    Signed-off-by: Matt Wozniski<EMAIL_ADDRESS>
 src/memray/_memray/tracking_api.h | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Seems that libunwind just chokes if the function is not inlined in aarch64. Forcing exact_unwind to always be inlined or just copy-pasting the code into the caller fixes the problem. Given that powerpc doesn't even work but aarch64 does, I propose to just revert this PR.

Seems that even libunwind likes to mark these functions as always inline:
https://github.com/libunwind/libunwind/blob/ec171c9ba7ea3abb2a1383cee2988a7abd483a1f/src/mi/backtrace.c#L35


Use constrained layout in matplotlib visualization

Closes #12024
Bump the minimum requirement for matplotlib to 3.5.0, which supports the recommended layout="constrained" argument and which will be out for 2 years on the 16th of November.

[x] Get CIs green
[x] eradicate subplots_adjust
[x] Run [circle full]
[ ] Visual inspection

Last I think is to eradicate subplots_adjust in favor of layout="constrained" in examples, then this should be good to go

Looking briefly through the docs (e.g., main vs PR) I think what we now need to fix aesthetically are:

evoked.plot_topomap:

evoked.plot_joint

I'll see if these are easy enough to fix. I'm a bit wary since these bits of code are complicated but we'll see 🤞

I'm happy enough with https://output.circle-artifacts.com/output/job/02879e35-b188-4d6f-aa04-a7e396737a39/artifacts/0/html/auto_tutorials/evoked/20_visualize_evoked.html#sphx-glr-auto-tutorials-evoked-20-visualize-evoked-py that I think this is ready to go. Feel free to review and merge @drammock !

Looks good!
spectrum = epochs["visual/right"].compute_psd()
spectrum.plot_topomap()

in this tutorial looks wonky, and the x axis title is getting cut off by the bottom edge of the figure in the immediately prior plot on that same page.
Let's handle those in a follow-up PR (along with whatever else we notice in the coming weeks)


Unable to find Node version 'lts'

Description:
The docs say:
    # Version Spec of the version to use in SemVer notation.
    # It also emits such aliases as lts, latest, nightly and canary builds
    # Examples: 12.x, 10.15.1, >=10.15.0, lts/Hydrogen, 16-nightly, latest, node
    node-version: ''

...but when you set node-version to lts, the action fails with Error: Unable to find Node version 'lts' for platform linux and architecture x64.

Action version:
actions/setup-node@v3
Platform:

[x] Ubuntu
[ ] macOS
[ ] Windows

Runner type:

[x] Hosted
[ ] Self-hosted

Tools version:

Repro steps:
https://github.com/projekt0n/github-nvim-theme/blob/20a949da713b58f28ba6af153a7d1691933ac942/.github/workflows/update-colors.yml
Expected behavior:
Download/use the current lts version of node.
Actual behavior:
See above

Is this a bug? Is there an alternative way to achieve specifying the current lts (such that it will dynamically track/obtain whatever the current lts version is at runtime)?
Maybe my memory is simply failing me, but I could have sworn this used to work.
Thank you

Oh, I apologize, it seems the issue is that lts is an invalid alias (it's supposed to be lts/*). Maybe this could be added to the README? E.g. something like:
 - uses: actions/setup-node@v3
   with:
     # Version Spec of the version to use in SemVer notation.
-    # It also emits such aliases as lts, latest, nightly and canary builds
-    # Examples: 12.x, 10.15.1, >=10.15.0, lts/Hydrogen, 16-nightly, latest, node
+    # lts, latest, nightly and canary build aliases are allowed.
+    # Examples: 12.x, 10.15.1, >=10.15.0, lts/Hydrogen, lts/*, 16-nightly, latest, node
     node-version: ''

Hello, @tmillr ! Thank you for creating the issue! We will take a look at it and see what can be done :)

Hello again, @tmillr ! I would like to tell you that the suggestion you made with your last comment in regards to editing the README, although good, we think would be somewhat unnecessary, as there is already something along those lines explained in this section - specifically, the NVM LTS syntax: section.
We hope this answered your question. I will close this issue now, but in case you have encountered any additional obstacle while using our software that you would like us to investigate, please feel free to create a new issue at any time :)
Thank you for your input and cooperation!

Hello again, @tmillr ! I would like to tell you that the suggestion you made with your last comment in regards to editing the README, although good, we think would be somewhat unnecessary, as there is already something along those lines explained in this section - specifically, the NVM LTS syntax: section.
We hope this answered your question. I will close this issue now, but in case you have encountered any additional obstacle while using our software that you would like us to investigate, please feel free to create a new issue at any time :)
Thank you for your input and cooperation!

Thank you, but I disagree. Let me explain.

I'm not the only one having the same issue. Just since opening this, at least one other person has stumbled upon this footgun.
It's a 5 min or less fix (unless there's a build process or something that I am not aware of).

Yes, technically it is documented clearly (further down the README), but in-practice, developers who have used this action before in the past are not going to read much of the README if at all (rather they are probably going to be relying on either: their memory, the yaml, or just the very top of the README which displays the yaml). The wording in the yaml is confusing: It also emits such aliases as lts? Does that not sound like it is saying that lts is a valid alias?
But that's all I am going to say about. You guys can choose to improve it or not, but I do acknowledge that it is a small issue and not a major one.
Thank you for the swift and friendly support.

The readme is just wrong. It says you can use lts. But you can't. So fix this. It doesn't matter if there are examples somewhere further down that add an explanation how to actually use it correctly.

@dusan-trickovic It seems several people are hitting this, and since there's a PR to add a clarifying note what's the harm in updating it so that others don't have to go through the pain of searching through issues/docs etc?

+1 for clarifying the README comment, as it currently still reads as if node-version: lts is intended to be used the same as latest and nightly, when it is not.

I just ran in to this issue and I suggest updating README asap.


Physical CPU type not displaying on EC2 list

This was on Mac in chrome.

me too.

Looks fine to me in Chrome and Firefox. Some instance families don't have this data provided though. Perhaps you had filtered the list to one of those? If not, please reopen with a screenshot and I'll investigate more. Thanks!

Yeap, maybe change to "TBD"?

Change it to say 'unknown' which some other columns were already doing. Thanks for following up


Cleanup prober to be similar to other tools.

It used a different program structure and argument names.

LGTM


Integrate docker-configomat for configuration parts of start-mailserver.sh #648

This pr integrates my project https://github.com/alinmear/docker-configomat for dealing with container configurations via ENV Variables.
With this separate project testing whether substitution is working or not and also updating the logics behind them is much easier then doing this within start-mailserver.sh (own travis and bats).
This should also fix the problems with the special character | from https://github.com/tomav/docker-mailserver/pull/644#issuecomment-313879711 (@johansmitsnl).

Hm, strange integration tests were just fine on my travis branch https://travis-ci.org/alinmear/docker-mailserver/builds/251575934. I will investigate this and fix this issue ...

@tomav can you just restart the travis build please. I double checked this, locally and on my travis account. All good there.
thx!

Restarted.


Privacy-preserving image/video processing example

adding I-poc example with VaaS (Veracruz as a Service) and CCFaaS (Confidential Computing Function as a Service) micro services.

`@dominic-mulligan-arm commented on this pull request.

+```
+
+The following figure describe the application in more detail. The figure shows the components, communications path and information exchanged.
+In the figure if a symbol is close to an entity, it means that this entity is sending that data (symbol).
+Timeline is not shown in the diagram and it will be described later.
+
+
+
+
+
+
+
+A timeline of a full operation is described below.
+
+1. Administrator register privacy preserving functionis at CCFaaS
sp: functionis --> functions

+1. Administrator register privacy preserving functionis at CCFaaS

Function name, application code (wasm), hash, input/output requirements of the application code and others.
+1. User application creates a temporary key and certificate to be used by the Iotex S3 app application to access the Veracruz instance.

Light blue key and certificate on the diagram
+1. User application creates a json object with the following information:

name of function to be executed in privacy-preserving environment (object detection for example)

a certificate for each input/output file of the privacy-preserving environment

* In the object detection example described:

   * user application certificate as output

     * Dark blue certificate

   * temporary created certificate as input

     * Light blue certificate

+1. User application executes a remote procedure call request to the CCFaaS service with previously created json object

Lower pink FaaS arrow
+1. CCFaaS validates the request and creates a valid policy request json object based on the request and internal database (object detection application code, certificates to load the code into Veracruz)
+1. CCFaaS executes a RPC at VaaS requesting an instance of Veracruz running that polocy

sp: polocy --> policy

@@ -0,0 +1,6 @@
+#

We have a standard header including authorship and copyright/licensing information that we add to all our source and supporting build files.  Can you add that header to this Makefile?

@@ -0,0 +1,445 @@
+from flask import Flask,request,abort

Same comment about the missing standard header on this source file.  Also, in the case of this file, can you also add a short description of what is going on in this file to that header, too?

if jsonData is None:

   return "
function "+name+" not found
",404

return jsonData

+@app.route('/function/', methods=['DELETE'])
+def delete_function_REST(name):

print("Received function delete for name"+name)
error = None
if request.method != 'DELETE':

   print("Received something different than DELETE")

   return "
Not supported!
",400

get pod name = first portion of hostname + port#

if not remove_function_db(name):

   return "
Veracruz instance '"+name+"' does not existe!
",404

sp: existe --> exist

if request.method != 'POST':

   print("Received something different than POST")

   return "
Not supported!
",400

get pod name = first portion of hostname + port#

jsonData = get_function_db(name)
if jsonData is None:

   return "
function "+name+" not found
",404

check if a program with name progname exists on the function description

print("Checking if program "+progname+" is on function name="+name)
for program in jsonData["programs"]:

   if program["program_file_name"] == progname:

       print("Found "+program["program_file_name"]+" program")

       # TODO: Verify if the hash match

Is this TODO still relevant?  If not, can it be deleted, and if so: is there a plan to implement it or keep track of the issue in the issue tracker so it's not forgotten?

+from flask import Flask,request,abort
+import os
+import json
+import time
+import jsonschema
+import shutil
+import requests
+import re
+import json
+import hashlib
+from OpenSSL import crypto, SSL
+from socket import gethostname
+from pprint import pprint
+from time import gmtime, mktime

+def get_function_db(name):
Can you add Python doc-comments to these functions briefly explaining what they are doing?

       "function": { "type": "string"},

       "execution_strategy": { "type": "string"},

       "programs":  json_program_schema,

   },

   "required": ["function","execution_strategy","programs"],

   "additionalProperties": False

}

print("Checking if json is correct")
try:

   jsonschema.validate(instance=requestJson, schema=json_policy_input_schema)

except jsonschema.exceptions.ValidationError as err:

   print("Received incorrect json data"+str(err))

   return "
Json object is not correct "+str(err)+"
",400

print("Check semantically if json is correct")

Is this print stray?  Seems it should be before the try-except block, and there's already a similar print there...

print("Check semantically if json is correct")

print("Json is correct")

print("Processing create function")

if not create_function_db(requestJson["function"],requestJson):

   print("Function already exists "+requestJson["function"])

   return "
Could not create the function "+requestJson["function"]+"
",400

return requestJson

+@app.route("/instance", methods=['POST'])
+def post_instance_REST(): # create

print("Received instance create")
error = None

Where is this ever changed?  Maybe I missed it...

@@ -0,0 +1,6 @@
+#!/bin/bash

Same comment about missing standard header on this file.

@@ -0,0 +1,6 @@
+#

Missing header, etc.

@@ -0,0 +1,391 @@
+from flask import Flask,request,abort

Missing header, and description of what the file does.

@@ -0,0 +1,391 @@
+from flask import Flask,request,abort
+from kubernetes import client, config
+from kubernetes.client.rest import ApiException
+import os
+import json
+import time
+import jsonschema

+def get_kubecon():
Can you add Python doc-string comments to the functions in the file, briefly explaining what they do?

   "properties": {

       "function" : { "type": "string"},

       "interfaces" : {

               "type": "object",

               "patternProperties": {

                  "^.*$" : {"type": "string"}

               },

               "additionalProperties": False

       },

   },

   "required": ["function","interfaces"],

   "additionalProperties": False

}

JSON_INPUT_OBJECT='{

What is this?

+def get_kubecon():

try:

   config.load_incluster_config()

except ApiException as e:

   config.load_kube_config()

kubecon = client.CoreV1Api()
return kubecon

+app = Flask(name)
+
+@app.route("/execute_function", methods=['POST'])
+def execute_function():

print("Received request on post")
error = None

Similar question as above about the purpose of these error = None lines.

         ]

else:

   print("Function "+requestJson['function']+" not found")

   abort(404, description="function '"+requestJson['function']+"' not implemented!")

kubeConnection = get_kubecon()

for veracruzport in range(3014,3024):

   print("Trying port "+str(veracruzport))

   try:

       configmap  = kubeConnection.read_namespaced_config_map("default","veracruz-nitro-server-"+str(veracruzport))

   except ApiException as e:

       if e.status != 404:

           print("Exception when calling AdmissionregistrationApi->get_api_group: %s\n" % e)

           return "
internat error '"+str(e)+"'!
"

sp: internat --> internet?  or internal?

   try:

       configmap  = kubeConnection.read_namespaced_config_map("default","veracruz-nitro-server-"+str(veracruzport))

   except ApiException as e:

       if e.status != 404:

           print("Exception when calling AdmissionregistrationApi->get_api_group: %s\n" % e)

           return "
internat error '"+str(e)+"'!
"

       print("Port "+str(veracruzport)+" is busy")

       configMap = None

   if not configMap is None:

       continue

   print("Found this port open "+str(veracruzport))

   policy = {

Does it make sense to abstract this policy construction out into a function?

           return "
internat error '"+str(e)+"'!
"

       print("Port "+str(veracruzport)+" is busy")

       configMap = None

   if not configMap is None:

       continue

   print("Found this port open "+str(veracruzport))

   policy = {

         "ciphersuite": "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",

         "debug": False,

         "enclave_cert_expiry": {

           "day": 23,

           "hour": 23,

           "minute": 44,

Similarly, does it make sense to take today's date and add 6-months to it, in order to obtain this expiry date?

veracruzPod = client.V1Pod(

           metadata = client.V1ObjectMeta(

                     name = "veracruz-nitro-server-"+str(veracruzport),

                     namespace = "default",

                     labels = { "veracruz-nitro":"server"}

           ),

           spec = client.V1PodSpec(

                     service_account_name = "default",

                     automount_service_account_token = False,

                     dns_policy = "ClusterFirstWithHostNet",

                     hostname = "veracruz-nitro-server",

                     containers = [

                             client.V1Container(

                                     name = "veracruz-nitro-server",

                                     image_pull_policy = "IfNotPresent",

                                     image = "alexandref75arm/veracruz-nitro:v0.5",

Maybe it makes sense to pull this out as a top-level constant.  Presumably at some point we're going to want to change the image used...

                        }

          )

   print("Creating configmap for port "+str(veracruzport))

   try:

       configMapCreate = kubeConnection.create_namespaced_config_map("default",configMap)

   except ApiException as e:

       print("Exception when calling create_namespaced_config_map: %s\n" % e)

       continue

if veracruzport >= 3024:

   return "
no internal resources available!
"

print("Configmap created for port "+str(veracruzport))

print("Creating pod for port "+str(veracruzport))
veracruzPod = client.V1Pod(

Does it make sense to pull this configuration construction out as a function?

kubeConnectionBeta = client.DiscoveryV1beta1Api()

try:

   veracruzEndpointSliceCreated = kubeConnectionBeta.create_namespaced_endpoint_slice("default",veracruzEndpointSlice)

except ApiException as e:

   print("Exception when calling create_namespaced_endpoint_slice: %s\n" % e)

   veracruzPodStatus = kubeConnection.delete_namespaced_pod("veracruz-nitro-server-"+str(veracruzport),"default")

   configMapCreate = kubeConnection.delete_namespaced_config_map("veracruz-nitro-server-"+str(veracruzport),"default")

   return "
Could not create the networking configuration for veracruz instance!
"

policy_file = open("policy-veracruz-nitro-server-"+str(veracruzport),"w")
policy_file.write(str(json.dumps(policy, indent = 4)))
policy_file.close()

ret = os.system("./load-program.sh +policy-veracruz-nitro-server-"+str(veracruzport))
if ret != 0:

   print("ENot able to load the program so stop everything")

sp: ENot --> Not

@@ -0,0 +1,6 @@
+#!/bin/bash

Missing header, etc.

@@ -0,0 +1,25 @@
+#!/bin/bash

Missing header, etc.

@@ -0,0 +1,73 @@
+#!/bin/bash

Missing header, etc.

@@ -0,0 +1,6 @@
+#

Missing header, etc.

@@ -0,0 +1,145 @@
+from flask import Flask,request

Missing header, etc.  Also, can you add a description of what this file does in the header?

+from kubernetes import client, config
+from kubernetes.client.rest import ApiException
+import os
+import json
+import time
+import boto3,botocore
+from botocore.config import Config
+import jsonschema
+import tempfile
+import subprocess

+app = Flask(name)
+
+@app.route("/s3_stream_veracruz", methods=['POST'])
+def execute_function():

error = None

Similar question about what this line is for as previously.

+from flask import Flask,request
+from kubernetes import client, config
+from kubernetes.client.rest import ApiException
+import os
+import json
+import time
+import boto3,botocore
+from botocore.config import Config
+import jsonschema
+import tempfile
+import subprocess

+app = Flask(name)
+
+@app.route("/s3_stream_veracruz", methods=['POST'])
+def execute_function():
Can you add Python doc-strings to these functions explaining what they do?

s3 = boto3.client('s3', config=my_config,

   aws_access_key_id=requestJson["s3"]["aws_access_key_id"],

   aws_secret_access_key=requestJson["s3"]["aws_secret_access_key"],

   aws_session_token=requestJson["s3"]["aws_session_token"]

)
print("Starting the cat process")
veracruzSub = subprocess.Popen(["bash","-c","cat "+fifoFilename+" > "+requestJson["veracruz"]["filename"])
#veracruzSub = subprocess.Popen(["veracruz-client",policyFilename,"--data",requestJson["veracruz"]["filename"]+"="+fifoFilename,"--identity",certificateFilename,"--key",keyFilename)

fifo = open(fifoFilename, 'w')
try:

   s3.download_fileobj(requestJson["s3"]["bucket"],requestJson["s3"]["filename"],fifo)

except botocore.exceptions.ClientError as error:

   print("Error in S3 "+str(error))

#for i in range(10):

What is this?

print("Policy created at "+policyFilename)

keyFilename = os.path.join(tmpdir, 'key.pem')
keyFile = open(keyFilename, 'w')
keyFile.write(requestJson["veracruz"]["key"]);
keyFile.close()
print("key created at "+keyFilename)

s3 = boto3.client('s3', config=my_config,

   aws_access_key_id=requestJson["s3"]["aws_access_key_id"],

   aws_secret_access_key=requestJson["s3"]["aws_secret_access_key"],

   aws_session_token=requestJson["s3"]["aws_session_token"]

)
print("Starting the cat process")
veracruzSub = subprocess.Popen(["bash","-c","cat "+fifoFilename+" > "+requestJson["veracruz"]["filename"])
#veracruzSub = subprocess.Popen(["veracruz-client",policyFilename,"--data",requestJson["veracruz"]["filename"]+"="+fifoFilename,"--identity",certificateFilename,"--key",keyFilename)

What is this?

@@ -0,0 +1,4 @@
+#!/bin/bash

Missing header, etc.

@@ -0,0 +1,120 @@
+#!/usr/bin/python3

Missing header, etc.  Also, can you add a description in the header of what this file does?

@@ -0,0 +1,120 @@
+#!/usr/bin/python3
+import requests
+import os
+import re
+import json
+from OpenSSL import crypto, SSL
+from socket import gethostname
+from pprint import pprint
+from time import gmtime, mktime

+# openssl genrsa -out example/example-program-key.pem 2048
What is this?

+# C = Mx
+# ST = Veracruz
+# L = Veracruz
+# O = Zibble Zabble
+# emailAddress =<EMAIL_ADDRESS>+# CN = zibblezabble
+#
+# [v3_req]
+# subjectAltName = @alt_names
+#
+# [alt_names]
+# DNS.1 = zabble.zibble
+# DNS.2 = www.zabble.zibble

+def create_self_signed_cert():
Can you add doc-strings to these functions explaining what they do?

print("User certificate created and saved on "+USER_CERT_FILE+" and key saved on "+USER_KEY_FILE)

+s3k,s3cert = create_self_signed_cert()
+print("S3 certificate created")
+
+iotexAppRequestJson = {

"function":"objectdetection",
"interfaces": {

   "input-0": certToStringVeracruz(s3cert),

   "output": certToStringVeracruz(usercert)

}
+}

+HOSTPROTOCOL="http://"
+#HOSTIP="<IP_ADDRESS>"
What is this?

@@ -0,0 +1,32 @@
+#

Missing header, etc.

@@ -0,0 +1,32 @@
+#

+ALL: veracruz-nitro-proxy-configmap.yaml veracruz-vaas-app-deploy.yaml veracruz-ccfaas-app-configmap.yaml
Why all-caps instead of all?  That's the expected target name.

@@ -0,0 +1,48 @@
+#!/bin/bash

Missing header, etc.  Though, what is happening in this file?  Can you add a description?

+# Identification of the server, used for directories names and disambiguate tokens and KUBECONFIG files
+SERVERNAME=Veracruz
+# Especific port to be used at the server
+HOSTPORT=6443
+# IP that the clients will be used to connect (If on the cloud it will probably be the external IP of the server)
+HOSTIP=
+
+check_main_ip
+
+# Which version of k3s or k8s to use
+DOCKERIMAGE=rancher/k3s:v1.21.4-engine0-k3s1
+
+LOCALSERVERDIR=$(pwd)/${SERVERNAME}
+
+#CONTAINERID=$(docker run -d --rm -p ${HOSTPORT}:${HOSTPORT} -v ${LOCALSERVERDIR}:/var/lib/rancher/k3s ${DOCKERIMAGE} server --tls-san ${HOSTIP} --advertise-address ${HOSTIP} --https-listen-port ${HOSTPORT} --disable-agent --no-deploy servicelb --no-deploy traefik --no-deploy metrics-server --no-flannel --no-deploy coredns)
What is this?

@@ -0,0 +1,69 @@
+#!/bin/bash

Missing header, etc.

@@ -0,0 +1,24 @@
+#

Missing header, etc.

@@ -0,0 +1,12 @@
+#!/bin/bash

Missing header, etc.

@@ -0,0 +1,73 @@
+#!/bin/bash

Missing header, etc.

@@ -0,0 +1,73 @@
+#!/bin/bash

+#export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
What are these commented out lines?

@@ -0,0 +1,73 @@
+#!/bin/bash

+#export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
+#export RANCHER_FILE="/var/lib/rancher/k3s/server/cred/node-passwd"
+
+#while [ ! -e "${KUBECONFIG}" ]
+#do
+#        sleep 1
+#done
+
+echo "Starting removing dnagling objects"
sp: dnagling --> dangling

   then

           echo "${i} endpointslices, but corresponring node do not exists anymore, removing"

  kubectl delete endpointslices "${i}"

   else

           echo "${i} endpointslices OK"

   fi

+done
+
+echo "From now on just listen to events and clean whenever the a pod is removed"
+
+while true
+do

   kubectl get pods --no-headers --watch-only |

   while read a

   do

           EVENT_OK=$(echo $a | grep "veracruz-nitro-server-" | grep "Terminating")

Is this weird indentation intentional, here?  It seems some lines have an extra space of indentation...

@@ -0,0 +1,427 @@
+from flask import Flask,request,abort

Missing header, etc.  Also, can you add a description in the header of what the file does?

@@ -0,0 +1,427 @@
+from flask import Flask,request,abort
+from kubernetes import client, config
+from kubernetes.client.rest import ApiException
+import os
+import json
+import time
+import jsonschema

+def get_kubecon():
Can you add doc-strings to these functions to explain what they are doing?

       return None

try:

   kubecon = client.CoreV1Api()

except ApiException as e:

   print("Kubernetes client access did not work err:"+str(e))

   return None

return kubecon

+app = Flask(name)
+
+@app.route('/veracruz/', methods=['GET'])
+def get_veracruz(name):

print("Received veracruz get for name="+name)
error = None

Similar question as above about the purpose of error = None here.

except jsonschema.exceptions.ValidationError as err:

   print("Received incorrect json data")

   return "
Json object is not correct "+str(err)+"
",400

print("Json is correct")

print("Processing create veraqcruz")

policy = requestJson;

policy["ciphersuite"] = "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256"
policy["enclave_cert_expiry"] = {

   "day": 23,

   "hour": 23,

   "minute": 44,

Similar comment as above about whether this should be procedurally generated.

print("Check semantically if json is correct")

print("Json is correct")

print("Processing create function")

if not create_function_db(requestJson["function"],requestJson):

   print("Function already exists "+requestJson["function"])

   return "
Could not create the function "+requestJson["function"]+"
",400

return requestJson

+@app.route("/instance", methods=['POST'])
+def post_instance_REST(): # create

print("Received instance create")
error = None

(Actually, this also applies to some of the other functions in this file which also have an error = None line but then never assign to it.  Maybe this is some flask idiom...)
`
All these comments were addressed with the exception of the data calculation that is now in the TODO in the code

Expiration data is now computed and all the files should have headers.

Is this still relevant?

Is this still relevant?

Yes. VOD was merged in https://github.com/veracruz-project/veracruz-example but this is Alex's documentation and infra (VaaS and FaaS), the other piece of the puzzle


Helper for joining related inline Text elements

Including Links inside a block of text is a common pattern. Right now devs have to hand-tune the padding between sibling elements, which can be brittle.

Suggestion: how about a Paragraph element which joins its children with appropriate padding?

I'm asking for a proposed solution to this problem at a high level and then an analysis for why it's the right solution: how the solution addresses the 90% case, how it prevents bugs, and how it can (potentially) be misused by end users.


[Automation] Generate Fluent Lite from datafactory#package-2018-06

[Automation] Generate Fluent Lite from datafactory#package-2018-06

close pr due  to core release


NotFoundError: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child o...

Describe the bug
To Reproduce
Expected behavior
Screenshots
Applicable Versions:

Netlify CMS version<EMAIL_ADDRESS>Git provider: git-gateway
Browser version: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36

CMS configuration
backend:
  name: git-gateway
  accept_roles:
    - admin
    - editor
media_folder: theme/assets/images
public_folder: /assets/images
collections:
  - name: pages
    label: Pages
    identifier_field: title
    extension: md
    create: false
    delete: false
    slug: "{{slug}}"
    editor:
      preview: false
    folder: cms/pages
    fields:
      - label: Title
        name: title
        widget: string
      - label: Publish Date
        name: date
        widget: datetime
      - label: Layout
        widget: hidden
        name: layout
        default: "{{slug}}.html"
      - label: Seo
        name: seo
        widget: object
        collapsed: true
        fields:
          - label: Title
            name: title
            widget: string
            required: false
          - label: Description
            name: description
            widget: string
            required: false
          - label: No index
            name: noindex
            widget: boolean
            default: false
            required: false
          - label: Open Graph Title
            name: og:title
            widget: string
            required: false
          - label: Open Graph Image
            name: og:image
            widget: image
            required: false
            media_library:
              config:
                multiple: false
          - label: Twitter Title
            name: twitter:title
            widget: string
            default: summary
            required: false
          - label: Twitter Card
            name: twitter:card
            widget: string
            default: summary
            required: false
          - label: Twitter Site
            name: twitter:site
            widget: string
            required: false
          - label: Twitter Creator
            name: twitter:creator
            widget: string
            required: false
          - label: Additional HTML tags
            name: additional_tags
            widget: text
            required: false
    publish: true
    type: folder_based_collection
    sortable_fields:
      - commit_date
      - title
      - date
      - commit_author
    view_filters: []
    view_groups: []
  - name: category
    label: Categories
    folder: cms/category
    create: true
    identifier_field: name
    extension: md
    slug: "{{slug}}"
    fields:
      - hint: ""
        name: title
        label: Name
        widget: string
        required: true
      - hint: ""
        name: created-on
        label: Created On
        widget: datetime
        required: false
      - hint: ""
        name: updated-on
        label: Updated On
        widget: datetime
        required: false
      - hint: ""
        name: published-on
        label: Published On
        widget: datetime
        required: false
      - hint: ""
        name: f_promo-pic
        label: Promo Pic
        widget: object
        required: false
        fields:
          - hint: ""
            name: url
            label: Image
            widget: image
            required: false
            allow_multiple: false
          - hint: Image Alt
            name: alt
            label: alt
            widget: string
            required: false
      - hint: ""
        name: f_desc
        label: Description
        widget: string
        required: false
      - hint: ""
        name: f_thumbnail-pic
        label: Thumbnail Pic
        widget: object
        required: false
        fields:
          - hint: ""
            name: url
            label: Image
            widget: image
            required: false
            allow_multiple: false

...

Hi @Ysipower, can you fill in the missing information based on https://github.com/netlify/netlify-cms/issues/new?assignees=&labels=type%3A+bug&template=bug_report.md&title=Please+replace+with+a+clear+and+descriptive+title


[Encoder] minor changes for better judgement and stats calculation

https://rbcommons.com/s/OpenH264/r/1851/

@sijchen  have conflicts


Sync all customer data with stripe

Feature request

Extension name:firestore-stripe-subscriptions

Is your feature request related to a problem? Please describe.
I would like to be able to keep in sync customer information with stripe (https://stripe.com/docs/api/customers/create?lang=node). In particular, address and tax informations (tax_exempt, tax_id_data) but i guess other information can be useful depending on the usage.
Describe the solution you'd like
listen to admin.firestore().collection(config.customersCollectionPath).doc(uid) changes and update stripe customer accordingly.
Describe alternatives you've considered
I can deploy my own cloud function to do the job but i think it can be useful to others.
Thanks,
Best regards

@thorsten-stripe any feedback for this issue ?

@dthib the customer object includes PII that we don't want to sync by default due to GDPR considerations. Therefore I want to keep it to the minimalist lookup table that we have at the moment. If you want to manage customer data in Firebase, you should do so yourself and with full GDPR compliance for your use case.

@thorsten-stripe i totally understand the concern. But as there is a SYNC_USERS_ON_CREATE option, why not add a full_sync mode in addition to existing mode? This way, the extension is totally sync for users wanting full sync with GDPR compliance of course.
Best

In addition, what push me towards this full sync is the need to have a valid customer address for invoices.
Best !