Apk Not works on Android

Description of the Bug
Hello
I created a simple weather app using kivymd, and beautifulsoup4 it works fine on windows, ubuntu machine when I build apk with buildozer and installed in the android device when I enter my city name and hit search button app crashed.
I hope that anyone helped me I attached my code so anyone checks it on their systems too.
Code and Logs
from kivymd.app import MDApp
from kivy.lang import Builder
import requests
from bs4 import BeautifulSoup
from kivy.core.window import Window
from kivymd.uix.label import MDLabel
Window.size = (305,480)
kv = """
Screen:
	in_class: box
	MDLabel:
		text: "City"
		# id: box
		pos_hint: {'center_x': 0.6, 'center_y': 0.4}
	MDLabel:
		text: ""
		id: city
		pos_hint: {'center_x': 0.6, 'center_y': 0.3}
	MDLabel:
		text: ""
		id: output
		pos_hint: {'center_x': 0.8, 'center_y': 0.3}
	MDLabel:
		text: "temp"
		# id: box
		pos_hint: {'center_x': 0.8, 'center_y': 0.4}
	MDRaisedButton:
		text: 'Search'
		pos_hint: {'center_x': 0.5, 'center_y': 0.5}
		on_press:
			app.submit()
		# on_release:
		# 	app.buttonclick()

	MDTextField:
		id: box
		hint_text: "Enter You City"
		# helper_text: 'Forgot your password?'
        helper_text_mode: "on_focus"
        pos_hint: {'center_x': 0.5, 'center_y': 0.6}
        size_hint_x: None
        width: 300
        icon_right: "account"
        required: True
	BoxLayout:
		orientation: "vertical"
	MDLabel:
		text: "Weather"
		font_style: "H3"
		pos_hint: {"center_x":0.7, "center_y":0.8}

"""
# search = input("enter City:")

class Main(MDApp):

	def submit(self):
		search = self.root.ids.box.text
		# print(search)
		soup = BeautifulSoup(requests.get(f"https://www.google.com/search?q=weather+in+{search}").text,'html.parser')
		temp = soup.find("div",class_="BNeawe iBp4i AP7Wnd")
		temp = temp.text
		# print(temp)
		self.root.ids.city.text = search
		#temp label
		pass_string = temp
		self.root.ids.output.text = pass_string

		#city label
		temp_string = search
		self.root.ids.box.text = temp_string

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

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

Versions

OS: windows, ubuntu, google colob
Python: 3.7
Kivy: latest
KivyMD: latest

my buildozer.spec:

[app]

# (str) Title of your application
title = My Application

# (str) Package name
package.name = myapp

# (str) Package domain (needed for android/ios packaging)
package.domain = org.test

# (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 = py,png,jpg,kv,atlas

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

# (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

# (list) List of exclusions using pattern matching
#source.exclude_patterns = license,images/*/*.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,kivymd,sdl2_ttf==2.0.15,requests,chardet,idna,urllib3,certifi,wikipedia,soupsieve,pillow,html5lib,HTMLParser,beautifulsoup4

# (str) Custom source folders for requirements
# Sets custom source for any requirements with recipes
# requirements.source.kivy = ../../kivy

# (list) Garden requirements
#garden_requirements =

# (str) Presplash of the application
#presplash.filename = %(source.dir)s/data/presplash.png

# (str) Icon of the application
#icon.filename = %(source.dir)s/data/icon.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 new 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

# (list) Permissions
#android.permissions = INTERNET

# (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 (currently works only with sdl2_gradle
# bootstrap)
#android.add_aars =

# (list) Gradle dependencies to add (currently works only with sdl2_gradle
# bootstrap)
#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_gradle_repositories =

# (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

# (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

#
# 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 =

#
# 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.7.0

# (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

what is the solution @HeaTTheatR

This is almost certainly not a KivyMD problem. Look at the logs to see the traceback when the app crashes. For example by running buildozer android logcat

i am using google collab due to a system issue.. is that possible to do in a collab? I'm new in that android. @timovwb

I'm not familiar with Google Colab. Apparently it's a sort of Jupyter notebook in the cloud. I wouldn't even use Jupyter locally for Kivy development, and you'll probably be restricted in what's possible on the remote machine as well. But this is very offtopic here, I'd go to some Kivy support instead. Something like https://www.reddit.com/r/kivy or their Discord chat https://chat.kivy.org/ . Make sure you provide all necessary information.

ya sure thanks for the help @timovwb


Fix mascarpone

I realized there's a typo in mascarpone and I can't unsee it 😄
https://en.wikipedia.org/wiki/Mascarpone

Lol thank you, amazing catch. I merged but it may take me a couple of days to bump and publish a new npm version.


Update AnimationViewModel.js

Changes from using GregorianDate conversion to getting a JavaScript Date object from the Julian date.  This takes care of the millisecond issue, and also makes tracking the timeline more accurate in less than 1x multiplier mode.

Thanks for the pull request @TJKoury!

:heavy_check_mark: Signed CLA found.
:grey_question: CHANGES.md was not updated.

If this change updates the public API in any way, please add a bullet point to CHANGES.md.

:grey_question: Unit tests were not updated.

Make sure you've updated tests to reflect your changes, added tests for any new code, and ran the code coverage tool.

Reviewers, don't forget to make sure that:

[ ] Cesium Viewer works.
[ ] Works in 2D/CV.

Closing until I can figure out what is going on with the tests missing a millisecond. It has to be related to the error I'm trying to fix in the first place.


Parsing Problems

Hello, this tool is amazing, the best I've found so far. 👍
I use it to extract tables from PDF files(not Scanned PDFs).
If a file can be extracted(PDFs, not image), extraction will use PdfOCR (fitz/opencv);
If can't be extracted, extraction will use OCR (PaddleOCR/TesseractOCR...) It costs too much time 😭
if not self._rotated and self.pdf_text_extraction:
    # Try to get OCRDataframe from PDF
    self.ocr_df = PdfOCR().of(document=self)

However, I have problems while using PdfOCR :

it separates table headers and rows into two separate tables.  Is it because the number of columns is inconsistent?
same strcuture of pdfs, one can extract tables and another one can't ,PdfOCR seems has some limit?

here's the code I used for parsing:
extracted_tables = pdf.extract_tables(borderless_tables=True)

here's the log:
column_groups: [DelimiterGroup(delimiters=[Cell(x1=1564, y1=104, x2=1603, y2=134, content=None), Cell(x1=131, y1=104, x2=164, y2=134, content=None), Cell(x1=67, y1=104, x2=93, y2=134, content=None), Cell(x1=382, y1=104, x2=1410, y2=134, content=None)], elements=[Cell(x1=93, y1=127, x2=131, y2=133, content=None), Cell(x1=1410, y1=104, x2=1564, y2=134, content=None), Cell(x1=164, y1=104, x2=382, y2=134, content=None), Cell(x1=98, y1=104, x2=127, y2=109, content=None)])]
table_rows: [TableRow(cells=[Cell(x1=1410, y1=104, x2=1564, y2=134, content=None), Cell(x1=164, y1=104, x2=382, y2=134, content=None)])]
borderless_table: <img2table.tables.objects.table.Table object at 0x7fc5c9c583a0>
{'img': array([[255, 255, 255, ..., 255, 255, 255],
       [255, 255, 255, ..., 255, 255, 255],
       [255, 255, 255, ..., 255, 255, 255],
       ...,
       [255, 255, 255, ..., 255, 255, 255],
       [255, 255, 255, ..., 255, 255, 255],
       [255, 255, 255, ..., 255, 255, 255]], dtype=uint8), 'tables': [], 'ocr_df': OCRDataframe(df=<LazyFrame [10 cols, {"page": Int64 … "y2": Int64}] at 0x7FC5D956EE20>)}

sometimes identify_borderless_tables can't detect the tables... 😂

Is it the problem some parameter value settings ? How can I handle this?  Thanks for your help 😊
Btw, the new version of PymuPDF already support find_tables, but it's not so good as img2table

Hello,
Fyi, the table extraction is totally independent of the OCR, i.e the same tables will be extracted from a same document regardless of its type/extension. The OCR is just used at the end in order to the table content.
As of headers and all the rest, I know about those issues, I am currently working on an update of the algorithm order to get a more accurate and consistent extraction of borderless tables.
Somehow, it will probably never be 100% accurate

@xavctn Thanks!


chore: upgrade rust-toolchain to 1.74.0

upgrade rust toolchain to 1.74.0
use rust-toolchain.toml

Hold until https://github.com/nervosnetwork/ckb toolchain upgrade

Normally, we are following rust toolchain from ckb: https://github.com/nervosnetwork/ckb/blob/develop/rust-toolchain.


Add flag to enable starting cassandra as root for CASSANDRA-8142

CASSANDRA-8142 adds -R to allow bin/cassandra to run as root - this patch adds --root to the ccm node commands to add -R, allowing that same functionality. This allows scripts that run as root for whatever reason to continue working post-8142

Why not also add this to cluster_cmds? I am fairly sure you will also need to add this flag to dse_node.py and dse_cluster.py.

Should be added to cluster_cmds for sure, and I'll do the dse_ varieties as well for consistency. I'll provide those changes soon'ish.

Updated as requested @ptnapoleon . Apologies for overlooking that.

Lgtm, Thanks!

Sorry. I pushed a fix.


- @ConditionalOnEnabledResourceChain did not find class org.webjars.WebJarAssetLocator (OnEnabledResourceChainCondition)

   WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter#beanNameViewResolver:
      Did not match:
         - @ConditionalOnMissingBean (types: org.springframework.web.servlet.view.BeanNameViewResolver; SearchStrategy: all) found bean 'beanNameViewResolver' (OnBeanCondition)

   WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter#localeResolver:
      Did not match:
         - @ConditionalOnProperty (spring.mvc.locale) did not find property 'locale' (OnPropertyCondition)

   WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter.FaviconConfiguration:
      Did not match:
         - @ConditionalOnProperty (spring.mvc.favicon.enabled) found different value in property 'spring.mvc.favicon.enabled' (OnPropertyCondition)

   WebServicesAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.ws.transport.http.MessageDispatcherServlet' (OnClassCondition)

   WebSocketAutoConfiguration.JettyWebSocketConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer' (OnClassCondition)

   WebSocketAutoConfiguration.UndertowWebSocketConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'io.undertow.websockets.jsr.Bootstrap' (OnClassCondition)

   WebSocketMessagingAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer' (OnClassCondition)

   XADataSourceAutoConfiguration:
      Did not match:
         - @ConditionalOnClass did not find required class 'javax.transaction.TransactionManager' (OnClassCondition)

Exclusions:
-----------

    None

Unconditional classes:
----------------------

    org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration

    org.springframework.boot.actuate.autoconfigure.PublicMetricsAutoConfiguration

    org.springframework.boot.actuate.autoconfigure.ManagementServerPropertiesAutoConfiguration

    org.springframework.boot.actuate.autoconfigure.InfoContributorAutoConfiguration

    org.springframework.boot.actuate.autoconfigure.AuditAutoConfiguration

    org.springframework.boot.actuate.autoconfigure.HealthIndicatorAutoConfiguration

    org.springframework.boot.autoconfigure.web.WebClientAutoConfiguration

    org.springframework.boot.actuate.autoconfigure.EndpointAutoConfiguration

    org.springframework.boot.autoconfigure.context.ConfigurationPropertiesAutoConfiguration

    org.springframework.boot.actuate.autoconfigure.TraceRepositoryAutoConfiguration

    org.springframework.boot.actuate.autoconfigure.MetricRepositoryAutoConfiguration

    org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration

Application startup failed
org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is com.google.common.util.concurrent.ExecutionError: java.lang.StackOverflowError
	at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:178)
	at org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:50)
	at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:348)
	at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:151)
	at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:114)
	at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:880)
	at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:144)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:546)
	at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693)
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:303)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107)
	at com.domain.api.ApiApplication.main(ApiApplication.java:21)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49)
Caused by: com.google.common.util.concurrent.ExecutionError: java.lang.StackOverflowError
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2216)
	at com.google.common.cache.LocalCache.get(LocalCache.java:4147)
	at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4151)
	at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:5140)
	at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:5146)
	at springfox.documentation.spring.web.scanners.CachingOperationReader.read(CachingOperationReader.java:57)
	at springfox.documentation.spring.web.scanners.ApiDescriptionReader.read(ApiDescriptionReader.java:66)
	at springfox.documentation.spring.web.scanners.ApiListingScanner.scan(ApiListingScanner.java:89)
	at springfox.documentation.spring.web.scanners.ApiDocumentationScanner.scan(ApiDocumentationScanner.java:71)
	at springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper.scanDocumentation(DocumentationPluginsBootstrapper.java:95)
	at springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper.start(DocumentationPluginsBootstrapper.java:154)
	at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:175)
	... 19 common frames omitted
Caused by: java.lang.StackOverflowError: null
	at java.util.HashMap.putVal(HashMap.java:641)
	at java.util.HashMap.put(HashMap.java:611)
	at java.util.HashSet.add(HashSet.java:219)
	at com.fasterxml.classmate.MemberResolver._gatherTypes(MemberResolver.java:234)
	at com.fasterxml.classmate.MemberResolver._gatherTypes(MemberResolver.java:243)
	at com.fasterxml.classmate.MemberResolver._gatherTypes(MemberResolver.java:243)
	at com.fasterxml.classmate.MemberResolver._gatherTypes(MemberResolver.java:246)
	at com.fasterxml.classmate.MemberResolver._gatherTypes(MemberResolver.java:246)
	at com.fasterxml.classmate.MemberResolver.resolve(MemberResolver.java:134)
	at springfox.documentation.schema.property.field.FieldProvider.in(FieldProvider.java:46)
	at springfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander.expand(ModelAttributeParameterExpander.java:77)
	at springfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander.expand(ModelAttributeParameterExpander.java:107)
	at springfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander.expand(ModelAttributeParameterExpander.java:107)
	at springfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander.expand(ModelAttributeParameterExpander.java:107)
	at springfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander.expand(ModelAttributeParameterExpander.java:107)
	at springfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander.expand(ModelAttributeParameterExpander.java:107)
	at springfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander.expand(ModelAttributeParameterExpander.java:107)
	at springfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander.expand(ModelAttributeParameterExpander.java:107)
	at springfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander.expand(ModelAttributeParameterExpander.java:107)
	at springfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander.expand(ModelAttributeParameterExpander.java:107)
	at springfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander.expand(ModelAttributeParameterExpander.java:107)
	at springfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander.expand(ModelAttributeParameterExpander.java:107)
	at springfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander.expand(ModelAttributeParameterExpander.java:107)
	at springfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander.expand(ModelAttributeParameterExpander.java:107)
	at springfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander.expand(ModelAttributeParameterExpander.java:107)
	at springfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander.expand(ModelAttributeParameterExpander.java:107)
	at springfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander.expand(ModelAttributeParameterExpander.java:107)
	at springfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander.expand(ModelAttributeParameterExpander.java:107)
	at springfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander.expand(ModelAttributeParameterExpander.java:107)
	atspringfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander.expand(ModelAttributeParameterExpander.java:107)
	at springfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander.expand(ModelAttributeParameterExpander.java:107)
	at springfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander.expand(ModelAttributeParameterExpander.java:107)
	at springfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander.expand(ModelAttributeParameterExpander.java:107)
Disconnected from the target VM, address: '<IP_ADDRESS>:40385', transport: 'socket'

Process finished with exit code 0

I have unit testing for all my controllers, shouldn't this assert springfox to be able to serialize as well?

To me it seems like you miss a couple of dependencies, looks like you have a Spring Boot project. I think one or both of these might fix your problem:
  compile group: 'io.springfox', name: 'springfox-data-rest', version: '2.7.0'
  compile group: 'io.springfox', name: 'springfox-bean-validators', version: ' 2.7.0'

@milosonator thanks for your quick reply.  You are right, I am using spring-boot.
The instruction I had were from springfox documentation. It didn't say to install springfox-data-rest and springfox-bean-validators.
May I ask you for the your reference link ?

I can't remember where I read that exactly but I feel it must have been
some reference manual. Did you try if it works?
On Nov 19, 2017 12:08 PM, "Dimitri KOPRIWA"<EMAIL_ADDRESS>wrote:

@milosonator https://github.com/milosonator thanks for your quick
reply. You are right, I am using spring-boot.
The instruction I had were from springfox documentation. It didn't say to
install springfox-data-rest and springfox-bean-validators.
May I ask you for the your reference link ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/springfox/springfox/issues/2100#issuecomment-345545422,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AM2LNULrWea8e4whd283YRXXPUZyFSwsks5s4Iq_gaJpZM4Qd2yD
.

Yes I did, I posted the output, it produce the same error unfortunately.
I have unit test for all my spring application, if this is a serialization issue due to circular references, and it is not possible springfox must ignore jackson annotation (or use it's own mapper)

Springfox uses Jackson afaik, you could look for circular references and how to prevent the stack overflows. (There are some specific annotations for this)
Maybe try to @JsonIgnore some suspect properties to see if you can identify the issue.

@milosonator I have serialization and deserialization unit test for all my entities I serve through controllers and none of them can't serialize/deserialize.
Because I think we met all the prerequisite, we marked springfox as broken and are awaiting for more information.
Is springfox instanciating is own objectMapper ?

@kopax the stack overflow error is a known bug for inferring model attributes. The reason that happens is possibly because you have some recursively defined models or perhaps a model similar to this
class A {
     B b;
}

class B {
    List<A> as;
}

Regarding documentation for the dependencies:

spring-data-rest
bean validationt

Is springfox instantiating is own objectMapper ? In this case, springfox should use the one instantiated by spring data

Yes springfox instantiates its own ObjectMapper. However, the error you're seeing isn't caused by an ObjectMapper.

Is springfox trying to serialize more than just object used in @RestController ? In this case, I'd like to know what is the strategy applied by springfox for finding such classes.

We use the models used in the operations.

@dilipkrish yes we have circular reference. It is almost impossible to build app without.
I understand springfox can be maintained from a fresh new app if we maintain the startup so it doesn't have any errors.
I want to implement in my application which is not old not big. I can't find any the stacktrace where the serialization is failing and I am about to give up.
Do you have a recommendation that could help me easily get through?

@dilipkrish yes we have just a few circular reference, but each time the entity are serialize.
To follow your advices, I have removed all the object I was doubting and I still have the same startup error.
My application is not old nor big. The error didn't help me find why it is thrown.
Do you know where is the serialization failing ?

Enable debug logging for all your packages, including spring, hibernate,
springfox and see what the last operation is before you get the stack
overflow.
On Nov 25, 2017 8:51 AM, "Dimitri KOPRIWA"<EMAIL_ADDRESS>wrote:

@dilipkrish https://github.com/dilipkrish yes we have just a few
circular reference, but each time the entity are serialize.
To follow your advices, I have removed all the object I was doubting and I
still have the same startup error.
My application is not old nor big. The error didn't help me find why it is
thrown.
Do you know where is the serialization failing ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/springfox/springfox/issues/2100#issuecomment-346952242,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AM2LNXv4nXBiQxPCsfrCTz6fSXR43ogkks5s6EWdgaJpZM4Qd2yD
.

Thanks, that really helped me. I was able to solve the issue,
before closing, may I ask for a Swagger UI ? I see there is a package :
 compile('io.springfox:springfox-swagger-ui:2.7.0')

We use a OAuth client made on react, I doubt this UI will be able to handle JWT authentication and it would be poorly integrated with our webapp if we use an iframe.
What do you recommended? Do you know if there is a Springfox client for React?

@kopax Not sure what the best swagger-ui would be for JWT. I would use the latest provided by swagger-api

Thanks I will try it. Good job.

@kopax i had the same problem in 2.7.0, back to 2.5.0 is all right.

I have the same issue with 2.8.0.  2.6.0 works fine. How to solve it?


the sour collection: xxx does not exists

(Status(code=0, message='Show collections successfully!'), ['milvus_datas'])
2021-03-25 16:50:16,962 ｜ ERROR ｜ milvus_to_milvus.py ｜ transform_milvus_data ｜ 47 ｜ Error with: The sour collection: milvus_datas does not exists.

Are you using MySQL as data management? Please ensure that the source parameter is configured correctly.


are there instructions anywhere for using directsketch to sketch all reference genomes under a certain taxonomic node?

e.g. all plant genomes - https://github.com/sourmash-bio/sourmash/issues/3172 - but I'd like to do fungi.

I have code to do everything except generate the csv of assembly accessions + taxids. Perhaps we can download from NCBI
via REST API (taxonomy) or similar? https://www.ncbi.nlm.nih.gov/datasets/docs/v2/api/rest-api/
Code is mostly in https://github.com/bluegenes/2024-ds-plant but I wrote some improved assembly version handling for the ICTV db that I will add. Shouldn't really be an issue if our downloaded file is recent and doesn't contain suppressed accessions.

For us I think we want an automated workflow, but may be worth writing a tutorial for this too so folks know how to build custom dbs


Missing files

I am having difficulties running this code.  I am on Linux.
The preprocess step seemed to have completed but with some issues,
$ python preprocess.py --dataset='M-AILABS' --language='en_US' --voice='female' --reader='mary_ann' --merge_books=False --book='northandsouth'
WARNING:tensorflow:From /home/al/.local/lib64/python3.5/site-packages/tensorflow/contrib/learn/python/learn/datasets/base.py:198: retry (from tensorflow.contrib.learn.python.learn.datasets.base) is deprecated and will be removed in a future version.
Instructions for updating:
Use the retry module or similar alternatives.
initializing preprocessing..
Selecting data folders..
Traceback (most recent call last):
  File "preprocess.py", line 99, in <module>
    main()
  File "preprocess.py", line 95, in main
    run_preprocess(args)
  File "preprocess.py", line 78, in run_preprocess
    preprocess(args, input_folders, output_folder)
  File "preprocess.py", line 14, in preprocess
    metadata = preprocessor.build_from_path(input_folders, mel_dir, wav_dir, args.n_jobs, tqdm=tqdm)
  File "/home/al/Downloads/tacotron/Rayhane-mamah/Tacotron-2/datasets/preprocessor.py", line 31, in build_from_path
    with open(os.path.join(input_dir, 'metadata.csv'), encoding='utf-8') as f:
NotADirectoryError: [Errno 20] Not a directory: 'en_US/by_book/female/mary_ann/._.DS_Store/metadata.csv'
file en_US/by_book/female/mary_ann/midnight_passenger/wavs/midnight_passenger_05_f000269.wav present in csv metadata is not present in wav folder. skipping!
file en_US/by_book/female/mary_ann/northandsouth/wavs/northandsouth_40_f000069.wav present in csv metadata is not present in wav folder. skipping!

._.DS_Store is a file, so, i am not sure whats going on here.
The train step failed to find training_data/train.txt which doesn't actually exist,
$ python train.py --model='Tacotron'
WARNING:tensorflow:From /home/al/.local/lib64/python3.5/site-packages/tensorflow/contrib/learn/python/learn/datasets/base.py:198: retry (from tensorflow.contrib.learn.python.learn.datasets.base) is deprecated and will be removed in a future version.
Instructions for updating:
Use the retry module or similar alternatives.
Checkpoint path: logs-Tacotron/pretrained/model.ckpt
Loading training data from: training_data/train.txt
Using model: Tacotron
Hyperparameters:
  allow_clipping_in_normalization: True
  attention_dim: 128
  attention_filters: 32
  attention_kernel: (31,)
  cleaners: english_cleaners
  decoder_layers: 2
  decoder_lstm_units: 1024
  embedding_dim: 512
  enc_conv_channels: 512
  enc_conv_kernel_size: (5,)
  enc_conv_num_layers: 3
  encoder_lstm_units: 256
  fft_size: 1024
  fmax: 7600
  fmin: 125
  frame_shift_ms: None
  griffin_lim_iters: 60
  hop_size: 256
  impute_finished: False
  input_type: mulaw-quantize
  log_scale_min: -32.23619130191664
  mask_encoder: False
  mask_finished: False
  max_abs_value: 4.0
  max_iters: 1000
  mel_normalization: True
  min_level_db: -100
  num_mels: 80
  outputs_per_step: 5
  postnet_channels: 512
  postnet_kernel_size: (5,)
  postnet_num_layers: 5
  power: 1.55
  prenet_layers: [256, 256]
  quantize_channels: 256
  ref_level_db: 20
  rescale: True
  rescaling_max: 0.999
  sample_rate: 22050
  silence_threshold: 2
  smoothing: False
  stop_at_any: True
  symmetric_mels: True
  tacotron_adam_beta1: 0.9
  tacotron_adam_beta2: 0.999
  tacotron_adam_epsilon: 1e-06
  tacotron_batch_size: 32
  tacotron_decay_learning_rate: True
  tacotron_decay_rate: 0.4
  tacotron_decay_steps: 50000
  tacotron_dropout_rate: 0.5
  tacotron_final_learning_rate: 1e-05
  tacotron_initial_learning_rate: 0.001
  tacotron_reg_weight: 1e-06
  tacotron_teacher_forcing_ratio: 1.0
  tacotron_zoneout_rate: 0.1
  trim_silence: True
Traceback (most recent call last):
  File "train.py", line 32, in <module>
    main()
  File "train.py", line 26, in main
    tacotron_train(args)
  File "/home/al/Downloads/tacotron/Rayhane-mamah/Tacotron-2/tacotron/train.py", line 174, in tacotron_train
    train(log_dir, args)
  File "/home/al/Downloads/tacotron/Rayhane-mamah/Tacotron-2/tacotron/train.py", line 55, in train
    feeder = Feeder(coord, input_path, hparams)
  File "/home/al/Downloads/tacotron/Rayhane-mamah/Tacotron-2/tacotron/feeder.py", line 38, in __init__
    with open(metadata_filename, encoding='utf-8') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'training_data/train.txt'

Looks like preprocess script didn't create it for some reason.

Hello Alex thanks for reporting this.
The preprocessing didn't create the train.txt because it crashed without
finishing the preprocessing.
I think I know how to solve this, I'll take care of it in a second.
Thank you for your patience.
On Wed, 11 Apr 2018, 21:28 Alex<EMAIL_ADDRESS>wrote:

I am having difficulties running this code. I am on Linux.
The preprocess step seemed to have completed but with some issues,
$ python preprocess.py --dataset='M-AILABS' --language='en_US' --voice='female' --reader='mary_ann' --merge_books=False --book='northandsouth'
WARNING:tensorflow:From /home/al/.local/lib64/python3.5/site-packages/tensorflow/contrib/learn/python/learn/datasets/base.py:198: retry (from tensorflow.contrib.learn.python.learn.datasets.base) is deprecated and will be removed in a future version.
Instructions for updating:
Use the retry module or similar alternatives.
initializing preprocessing..
Selecting data folders..
Traceback (most recent call last):
File "preprocess.py", line 99, in
main()
File "preprocess.py", line 95, in main
run_preprocess(args)
File "preprocess.py", line 78, in run_preprocess
preprocess(args, input_folders, output_folder)
File "preprocess.py", line 14, in preprocess
metadata = preprocessor.build_from_path(input_folders, mel_dir, wav_dir, args.n_jobs, tqdm=tqdm)
File "/home/al/Downloads/tacotron/Rayhane-mamah/Tacotron-2/datasets/preprocessor.py", line 31, in build_from_path
with open(os.path.join(input_dir, 'metadata.csv'), encoding='utf-8') as f:
NotADirectoryError: [Errno 20] Not a directory: 'en_US/by_book/female/mary_ann/._.DS_Store/metadata.csv'
file en_US/by_book/female/mary_ann/midnight_passenger/wavs/midnight_passenger_05_f000269.wav present in csv metadata is not present in wav folder. skipping!
file en_US/by_book/female/mary_ann/northandsouth/wavs/northandsouth_40_f000069.wav present in csv metadata is not present in wav folder. skipping!
._.DS_Store is a file, so, i am not sure whats going on here.
The train step failed to find training_data/train.txt which doesn't
actually exist,
$ python train.py --model='Tacotron'
WARNING:tensorflow:From /home/al/.local/lib64/python3.5/site-packages/tensorflow/contrib/learn/python/learn/datasets/base.py:198: retry (from tensorflow.contrib.learn.python.learn.datasets.base) is deprecated and will be removed in a future version.
Instructions for updating:
Use the retry module or similar alternatives.
Checkpoint path: logs-Tacotron/pretrained/model.ckpt
Loading training data from: training_data/train.txt
Using model: Tacotron
Hyperparameters:
allow_clipping_in_normalization: True
attention_dim: 128
attention_filters: 32
attention_kernel: (31,)
cleaners: english_cleaners
decoder_layers: 2
decoder_lstm_units: 1024
embedding_dim: 512
enc_conv_channels: 512
enc_conv_kernel_size: (5,)
enc_conv_num_layers: 3
encoder_lstm_units: 256
fft_size: 1024
fmax: 7600
fmin: 125
frame_shift_ms: None
griffin_lim_iters: 60
hop_size: 256
impute_finished: False
input_type: mulaw-quantize
log_scale_min: -32.23619130191664
mask_encoder: False
mask_finished: False
max_abs_value: 4.0
max_iters: 1000
mel_normalization: True
min_level_db: -100
num_mels: 80
outputs_per_step: 5
postnet_channels: 512
postnet_kernel_size: (5,)
postnet_num_layers: 5
power: 1.55
prenet_layers: [256, 256]
quantize_channels: 256
ref_level_db: 20
rescale: True
rescaling_max: 0.999
sample_rate: 22050
silence_threshold: 2
smoothing: False
stop_at_any: True
symmetric_mels: True
tacotron_adam_beta1: 0.9
tacotron_adam_beta2: 0.999
tacotron_adam_epsilon: 1e-06
tacotron_batch_size: 32
tacotron_decay_learning_rate: True
tacotron_decay_rate: 0.4
tacotron_decay_steps: 50000
tacotron_dropout_rate: 0.5
tacotron_final_learning_rate: 1e-05
tacotron_initial_learning_rate: 0.001
tacotron_reg_weight: 1e-06
tacotron_teacher_forcing_ratio: 1.0
tacotron_zoneout_rate: 0.1
trim_silence: True
Traceback (most recent call last):
File "train.py", line 32, in
main()
File "train.py", line 26, in main
tacotron_train(args)
File "/home/al/Downloads/tacotron/Rayhane-mamah/Tacotron-2/tacotron/train.py", line 174, in tacotron_train
train(log_dir, args)
File "/home/al/Downloads/tacotron/Rayhane-mamah/Tacotron-2/tacotron/train.py", line 55, in train
feeder = Feeder(coord, input_path, hparams)
File "/home/al/Downloads/tacotron/Rayhane-mamah/Tacotron-2/tacotron/feeder.py", line 38, in init
with open(metadata_filename, encoding='utf-8') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'training_data/train.txt'
Looks like preprocess script didn't create it for some reason.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Rayhane-mamah/Tacotron-2/issues/14, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AhFSwGEjwn7ajB5rTo7MHUzf9XXrdN0nks5tnmeFgaJpZM4TQsqp
.

It seems like it didn't crash.  It was working for a few minutes and exited without a stack trace.

This issue should be stored now, after this commit (0330bd0161e4530acbb7bc2db00a1db95b2dc107)
If you encounter any further problems, please keep me informed.
by the way: Warnings about missing files are "okay". It is due to missing files in the actual version of the dataset and should be taken care of very soon, missing 4 or 5 files from 13000 is fine. So training will work correctly after that.
You can refer to the README for further instruction on options to choose the dataset.

I was wondering where these hidden folders were coming from :)
I'm glad to know that it's all good now, thanks for your great work @imdatsolak!
@maxguru, you tell us if there are any problems left.


Improve typed interface of calculate_implied_probabilities()

The function has a boolean flag argument that alters its output so we can use @overload to specify the relationship between args and output types.
For example,
reveal_type(shin.calculate_implied_probabilities((1.5, 2.5, 3.5)))
reveal_type(shin.calculate_implied_probabilities({"a": 1.5, "b": 2.5, "c": 3.5}))
reveal_type(shin.calculate_implied_probabilities((1.5, 2.5, 3.5), full_output=True))
reveal_type(shin.calculate_implied_probabilities({"a": 1.5, "b": 2.5, "c": 3.5}, full_output=True))

with 0.1.1 branch:
src/domain/utils.py:22: note: Revealed type is "Union[builtins.dict[builtins.str, Any], builtins.list[builtins.float], builtins.dict[Any, builtins.float]]"
src/domain/utils.py:23: note: Revealed type is "Union[builtins.dict[builtins.str, Any], builtins.list[builtins.float], builtins.dict[Any, builtins.float]]"
src/domain/utils.py:24: note: Revealed type is "Union[builtins.dict[builtins.str, Any], builtins.list[builtins.float], builtins.dict[Any, builtins.float]]"
src/domain/utils.py:25: note: Revealed type is "Union[builtins.dict[builtins.str, Any], builtins.list[builtins.float], builtins.dict[Any, builtins.float]]"

Using overloads, that can be:
src/domain/utils.py:22: note: Revealed type is "builtins.list[builtins.float]"
src/domain/utils.py:23: note: Revealed type is "builtins.dict[Any, builtins.float]"
src/domain/utils.py:24: note: Revealed type is "builtins.dict[builtins.str, Any]"
src/domain/utils.py:25: note: Revealed type is "builtins.dict[builtins.str, Any]"

... which is a much nicer experience downstream as we don't need to narrow the return type somehow before we go on to use it.
LMK if this is something you'd be interested in a PR for.. there is potentially a lot of overloads required as all of the arguments can be specified either positionally or by kwarg and mypy requires an overload that covers any scenarios. E.g., here is the diff that I've got to produce the above:
(.venv) peter@pop-os:~/PycharmProjects/shin$ git diff
diff --git a/python/shin/__init__.py b/python/shin/__init__.py
index 2ba4c93..0d58daa 100644
--- a/python/shin/__init__.py
+++ b/python/shin/__init__.py
@@ -1,7 +1,7 @@
-from collections.abc import Collection
+from collections.abc import Sequence
 from collections.abc import Mapping
 from math import sqrt
-from typing import Any, Union
+from typing import Any, Literal, TypeVar, Union, overload

 from .shin import optimise as _optimise_rust
@@ -15,7 +15,7 @@ def _optimise(
     convergence_threshold: float = 1e-12,
 ) -> tuple[float, float, float]:
     delta = float("Inf")
-    z = 0
+    z = 0.0
     iterations = 0
     while delta > convergence_threshold and iterations < max_iterations:
         z0 = z
@@ -31,8 +31,85 @@ def _optimise(
     return z, delta, iterations

+# full output False as positional argument
+# sequence input
+@overload
 def calculate_implied_probabilities(
-    odds: Union[Collection[float], Mapping[Any, float]],
+    odds: Sequence[float],
+    max_iterations: int,
+    convergence_threshold: float,
+    full_output: Literal[False],
+    force_python_optimiser: bool = ...,
+) -> list[float]:
+    ...
+
+
+# mapping input
+@overload
+def calculate_implied_probabilities(
+    odds: Mapping[Any, float],
+    max_iterations: int,
+    convergence_threshold: float,
+    full_output: Literal[False],
+    force_python_optimiser: bool = ...,
+) -> dict[Any, float]:
+    ...
+
+
+# full output False as keyword argument, or default False
+# sequence input
+@overload
+def calculate_implied_probabilities(
+    odds: Sequence[float],
+    *,
+    max_iterations: int = 1000,
+    convergence_threshold: float = 1e-12,
+    full_output: Literal[False] = False,
+    force_python_optimiser: bool = False,
+) -> list[float]:
+    ...
+
+
+# mapping input
+@overload
+def calculate_implied_probabilities(
+    odds: Mapping[Any, float],
+    *,
+    max_iterations: int = 1000,
+    convergence_threshold: float = 1e-12,
+    full_output: Literal[False] = False,
+    force_python_optimiser: bool = False,
+) -> dict[Any, float]:
+    ...
+
+
+# full output True as positional argument
+@overload
+def calculate_implied_probabilities(
+    odds: Union[Sequence[float], Mapping[Any, float]],
+    max_iterations: int,
+    convergence_threshold: float,
+    full_output: Literal[True],
+    force_python_optimiser: bool = ...,
+) -> dict[str, Any]:
+    ...
+
+
+# full output True as keyword argument
+@overload
+def calculate_implied_probabilities(
+    odds: Union[Sequence[float], Mapping[Any, float]],
+    *,
+    max_iterations: int = 1000,
+    convergence_threshold: float = 1e-12,
+    full_output: Literal[True],
+    force_python_optimiser: bool = False,
+) -> dict[str, Any]:
+    ...
+
+
+def calculate_implied_probabilities(
+    odds: Union[Sequence[float], Mapping[Any, float]],
     max_iterations: int = 1000,
     convergence_threshold: float = 1e-12,
     full_output: bool = False,
diff --git a/python/shin/shin.pyi b/python/shin/shin.pyi
index e69de29..1ee3b6f 100644
--- a/python/shin/shin.pyi
+++ b/python/shin/shin.pyi
@@ -0,0 +1,8 @@
+def optimise(
+    inverse_odds: list[float],
+    sum_inverse_odds: float,
+    n: int,
+    max_iterations: int = 1000,
+    convergence_threshold: float = 1e-12,
+) -> tuple[float, float, float]:
+    ...

The number of overloads could be reduced by making the args other than odds keyword only, which would be an OK fit IMO:
def calculate_implied_probabilities(
    odds: Union[Sequence[float], Mapping[Any, float]],
    *,
    max_iterations: int = 1000,
    convergence_threshold: float = 1e-12,
    full_output: bool = False,
    force_python_optimiser: bool = False,
) -> Union[dict[str, Any], list[float], dict[Any, float]]:

Sounds good - might I suggest as per discussion on #3 that this current issue widens in scope to include all of the changes you feel are appropriate to get the package in good shape for mypy including incorporating it into CI

Great, thanks. I will open a PR for this stuff over the next day or so.


Python deserialization fails for union types

Description
Deserialization fails for union types if the data is not always matching the first type.
For example address: Ed25519Address | AliasAddress | NFTAddress only works if the type matches the Ed25519Address variant, for AliasAddress or NFTAddress an error is returned.
Didn't found a solution yet, but maybe can be done with something similar to this
    # https://github.com/lidatong/dataclasses-json/issues/303
    address: Ed25519Address | AliasAddress | NFTAddress = field(
        metadata=config(
            decoder=lambda d:
            match d["type"]:
                    case AddressType.Ed25519:
                        Ed25519Address.from_dict(d)
                    case ...

If not probably a custom _from_dict_custom(), similar to https://github.com/iotaledger/iota-sdk/blob/1add7b796dd964a153a253e29cd06af7d5e8900e/bindings/python/iota_sdk/types/transaction_options.py#L31 can be used
Motivation
Make deserialization work correct
Are you planning to do it yourself in a pull request?
No.

Only happening in 2.0?

Yes, most probably introduced in https://github.com/iotaledger/iota-sdk/commit/80a5667ba740a3c574e2b833d5be69f83c19f51b

Closed by https://github.com/iotaledger/iota-sdk/pull/1335


chartType only provides a line chart

In the description, it seems to indicate that other chart types are available:
chartType: 'Line', //Which Chart.js chart you want (eg. Lie, Bar, Pie, etc.)
Changing this variable appears to have no affect on the actual chart type. Is this intended?

I was experiencing this same issue earlier today, but I discovered the solution. Rather than using chartType, instead simply use type.
 ctx = document.getElementById("testChart").getContext('2d');
            myChart = new RangeSliderChart({
                type: 'bar',
                chartData: { },
                chartOpts: { },
                chartCTX: ctx,
                class: 'my-chart-ranger',
                initial: [0,100]
            });

Hope this helps!

I should have probably thought of that after looking through how RangeSlider-core.js refers to 'type', but I missed it. Good catch!

Would it help if I added a alias from chartType to type?

I think it would be worthwhile just to ensure that your aliases are consistent. :) I felt the same way when I put in class and initial as opposed to chartClass, etc.
Is it feasible to re-write and eliminate the aliases on chartData, chartOpts and chartCTX instead, and return them to the default chartJS data, options and ctx? If so, then I think it may allow for your plugin to work a little cleaner for users who were modifying existing chartjs graphs. Just a suggestion! :)


Parsing and printing pipe expressions with attributes

See https://github.com/rescript-association/reanalyze/issues/164
1 (@doesNotRaise [])->Belt.Array.getExn(0) formats to @doesNotRaise []->Belt.Array.getExn(0) so this is annotating the argument not the result
2 @doesNotRaise ([]->Belt.Array.getExn(0)) formats to []->Belt.Array.getExn(0) so it completely destroys the annotation.

This should be a combination of the syntax and ppx for pipe (which is in the compiler).


Compatibility with KiCad 5.99/6

KiCad 6 is a couple months away, does InteractiveHtmlBom support 5.99 / 6?
We are addicted to InteractiveHtmlBom so KiCad 6 compatibility would drive our migration to version 6.

Yes, nightly is supported but you have to use latest from master branch and not release package.
This is addressed in install instructions.

Yes, nightly is supported but you have to use latest from master branch and not release package.
This is addressed in install instructions.

KiCad 6 is a couple months away, does InteractiveHtmlBom support 5.99 / 6?

Just a comment: a couple may be 6 months. Some milestone features aren't even implemented.

KiCad 6 is a couple months away, does InteractiveHtmlBom support 5.99 / 6?

Just a comment: a couple may be 6 months. Some milestone features aren't even implemented.


Add testing instructions to README

I have just running pytest and it seems to be working.
Is this docs update for a PR yet to come?

Running it with pytest will work, but you may not have all of the external dependencies installed on your system. Using docker-compose up ... will run pytest inside of workflow-tools so that you don't have to have the various bioinformatics tools installed.


[Mount Component/Service 2 of 2] Feature: Add Authorization component and service

⚠ Depending on this PR: https://github.com/dcos/dcos-ui/pull/1130

You can try it out in the Dashboard like so:
import {Authorization, Authorize} from 'foundation-ui/services/AuthorizeBundle';

  componentWillMount() {
    ...
    this.permissions.forEach((permission) => {
      if (permission !== 'dcos:ui:sidebar-tabs') {
        Authorization.on(permission, this.checkPermission.bind(this, permission));
      }
    });
    setTimeout(this.onPermissionChange.bind(this), 2000);
  },

  permissions: [
    'dcos:ui:sidebar-tabs',
    'dcos:services:marathon:full'
  ],

  checkPermission(permission) {
    // some logic like looking at a cache of user permissions and determining
    // if they should see this component.
    return this.permissions.includes(permission);
  },

  onPermissionChange() {
    // Resubscribe
    this.permissions.forEach((permission) => {
      Authorization.removeListener(permission, this.checkPermission.bind(this, permission));
    });
    this.permissions.forEach((permission) => {
      Authorization.on(permission, this.checkPermission.bind(this, permission));
    });
  },

  render() {
    ...
    return (
      <Page title="Dashboard">
        <Authorize authId="dcos:ui:sidebar-tabs">

Authorized!

        </Authorize>
        ...
      </Page>
    );
}

mesosphere-ci Retest this please

mesosphere-ci Retest this please

@orlandohohmeier and @jfurrow this now conforms to the same structure as MountPoint and MountService here: https://github.com/dcos/dcos-ui/pull/1130

@orlandohohmeier Could you review the AuthService and AuthPoint parts and ignore the MountPoint and MountService structure?

@mlunoe I'll look into it tomorrow morning

Wonder if there is a nice way to define fallback content in case a user doesn't have required permissions.


TAJO-1307: HBaseStorageManager need to support for users to use hbase-site.xml file.

The patch ran successfully on my testing cluster.

Sorry for the late review.
I'm reviewing.

Hi @blrunner
In my machine, TestHBaseTable.testVerifyCreateHBaseTableWithHBaseConfiguration() is failed.
Do you check it again, please?

+1
Ship it!


Bits from template are already in the right order, no reversal needed

Thanks. May have to fix the unit test as well.


Wrong urls handling

invalid jetton address, not getting an error message at all

browsing at "/jetton" shows two error messages


Allow classpath Domain scanning, via configurable classloader

I'm trying to use Neo4j on a JBoss EAP 6 environment, without success.

the configured package is not found by the ClassPathScanner/ClassUtils mechanism.

Since the model classes are in the EJB jar, which is loaded by JBoss in its own classloader, ClassUtils.class.getClassLoader().getResources(classPath.replace(".","/")) is incapable of locating them as ClassUtils is loaded by the main EAR classloader.

moving the classes to the same classloader as the ogm-core does not solve the problem. The class is found, in a "vfs" location. Since my Jar is inside an EAR, even with a custom ResourceService I could not address the problem.

Is it possible to provide a hook to specify an appropriate classloader, with the possibility to load class information via introspection, or the very least allow to load a class definition via URL().openStream()?

Perhaps this will help? https://github.com/neo4j/neo4j-ogm/issues/48
You can plug in your own resource resolver. The link above contains a working implementation for VFS

It will help for the 2nd point (which is 1.). It still will be a hassle to move the domain in a location where it is picked by the same classloader of the OGM lib.

@roinou could you please also share your ogm.properties file? This could most likely be an HTTP driver configuration issue

I'm using the BOLT driver. As I stated in previous bug I wasn't able to connect using the HTTP driver.
For the part about the JBoss classloader isolation, I debugged and it really seems like it's related to the way JBoss isolates the resource access between modules. I did not test, but I'm pretty sure that my code run from a Junit entry point would work, but not when run from JBoss.

@roinou We already had code that tries to ensure the correct calling class context is used when obtaining a classloader, but for some reason, it wasn't being used in the ClassUtils class. I've now made a change to correct this. Could you confirm whether this fixes your issue?

Hi @vince-bickers ,
I stopped using neo4j OGM as it is not mature enough for our projects. I'm afraid I won't be able to test this one soon.

Ok, I'll close this issue. I'm sorry you felt unable to use Neo4j OGM in your projects, but thank you  for taking the time to report your issue and help us improve what we're doing.


Fix build failure when using target features

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

0 of 3 (0.0%)  changed or added relevant lines in 1 file are covered.
544 unchanged lines in 2 files lost coverage.
Overall coverage increased (+0.008%) to 6.449%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/lib.rs
0
3
0.0%

Files with Coverage Reduction
New Missed Lines
%

src/inner.rs
1
0.0%

src/lib.rs
543
4.7%

Totals

Change from base Build<PHONE_NUMBER>1:
0.008%

Covered Lines:
95

Relevant Lines:
1473

💛  - Coveralls


Strip whitespace when pasting access token

I just started using the extension and my first step was to add my github token. I copied it from the website then pasted it in, but the box was red! Eventually I figured out it was red because I had a space at the front of the thing I copied that I accidentally pasted in. This was hard to figure out because the space just looked like padding at first.
Then, once I figured out that the space was extra, I realized that the last character of my token had been stripped because of the max length attribute on the input field, so I had to go grab that. Finally, the box was green.
Tricky business.

I feel the pain. Thanks for the report.
Do you know any lightweight solutions to that? Maybe just a paste handler that changes the content before pasting  🤔

That'd be my guess. Seems like there are some decent approaches. Here's a jquery snippet: https://stackoverflow.com/a/32809954/64911

I wonder if the max length attribute is helping or hurting too. What good does it do?

You may be right about the maxlength. I just remembered that GitHub does offer a plain one-click-to-copy button so the issue shouldn't ever happen 😅

Would you be able to send a PR?

Sorry. I wish I could, but I'm in the trenches and under water on my own work for the foreseeable future. It's a sad state.

This bugged me, too. My first thought was that there might be white space but it looked as if there was no leading space. Invisible, I guess, due to proportional spacing.
As a temporary improvement, maybe use a mono-space font for what's pasted? (Is that possible.)
Also maybe enhance the hint on entry,

Please match the requested format.

– to hint that the format requires no leading or trailing space.
(Without a stated requirement, my first guess that was that the string should have been broken into chunks, dash-separated. A wrong guess.)

… GitHub does offer a plain one-click-to-copy button …

I saw that, and tried it before anything else, but IIRC it wasn't effective. (Using Waterfox Classic here.)


Node Deprecation Warning invalid 'main' field of 'y'

npm start
Debugger attached.

<EMAIL_ADDRESS>start
eleventy --serve

Debugger attached.
(node:13504) [DEP0128] DeprecationWarning: Invalid 'main' field in '/Users/ezrimata/node_modules/emitter-mixin/package.json' of 'y'. Please either fix that or report it to the module author
(Use node --trace-deprecation ... to show where the warning was created)
How can I solve this??

I used the command 'node --trace-deprecation ...' and this shows up ->
Error: Cannot find module '/Users/ezrimata/...'
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
at Function.Module._load (node:internal/modules/cjs/loader:778:27)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)
at node:internal/main/run_main_module:17:47 {
code: 'MODULE_NOT_FOUND',
requireStack: []


[RFC] Owamp : Get one way (network) latencies between synchronized computers

Motivation for this change
Reference implementation of https://tools.ietf.org/html/rfc4656
Things done
added the client + the server module

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Success on x86_64-linux (full log)
Attempted: owamp
Partial log (click to expand)
shrinking /nix/store/rnhx4i3kmh41v45j1lcilra0ip3a2qw0-owamp-3.5.6/bin/pfstore
shrinking /nix/store/rnhx4i3kmh41v45j1lcilra0ip3a2qw0-owamp-3.5.6/bin/owping
shrinking /nix/store/rnhx4i3kmh41v45j1lcilra0ip3a2qw0-owamp-3.5.6/bin/powstream
shrinking /nix/store/rnhx4i3kmh41v45j1lcilra0ip3a2qw0-owamp-3.5.6/bin/owampd
shrinking /nix/store/rnhx4i3kmh41v45j1lcilra0ip3a2qw0-owamp-3.5.6/bin/aespasswd
gzipping man pages under /nix/store/rnhx4i3kmh41v45j1lcilra0ip3a2qw0-owamp-3.5.6/share/man/
strip is /nix/store/21ymadblbmsbb2bk4q7gl4kjasp8zmgd-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/rnhx4i3kmh41v45j1lcilra0ip3a2qw0-owamp-3.5.6/lib  /nix/store/rnhx4i3kmh41v45j1lcilra0ip3a2qw0-owamp-3.5.6/bin
patching script interpreter paths in /nix/store/rnhx4i3kmh41v45j1lcilra0ip3a2qw0-owamp-3.5.6
checking for references to /build in /nix/store/rnhx4i3kmh41v45j1lcilra0ip3a2qw0-owamp-3.5.6...

Success on aarch64-linux (full log)
Attempted: owamp
Partial log (click to expand)
shrinking /nix/store/89wam969ska964a8hwv1kyl039r4rlfq-owamp-3.5.6/bin/owping
shrinking /nix/store/89wam969ska964a8hwv1kyl039r4rlfq-owamp-3.5.6/bin/owampd
shrinking /nix/store/89wam969ska964a8hwv1kyl039r4rlfq-owamp-3.5.6/bin/pfstore
shrinking /nix/store/89wam969ska964a8hwv1kyl039r4rlfq-owamp-3.5.6/bin/aespasswd
gzipping man pages under /nix/store/89wam969ska964a8hwv1kyl039r4rlfq-owamp-3.5.6/share/man/
strip is /nix/store/qg2agrqkf240s656d207zqhipl0bc2id-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/89wam969ska964a8hwv1kyl039r4rlfq-owamp-3.5.6/lib  /nix/store/89wam969ska964a8hwv1kyl039r4rlfq-owamp-3.5.6/bin
patching script interpreter paths in /nix/store/89wam969ska964a8hwv1kyl039r4rlfq-owamp-3.5.6
checking for references to /build in /nix/store/89wam969ska964a8hwv1kyl039r4rlfq-owamp-3.5.6...
/nix/store/89wam969ska964a8hwv1kyl039r4rlfq-owamp-3.5.6


Create release notes for v4.2.0

What
Write the release notes for GOV.UK Frontend v4.2.0
Why
To help users understand what changes have been made in the 4.2.0 release.
Who needs to work on this
Tech Writer; Developers
Who needs to review this
Developers; Tech Writer + 2i
Done when
This will be done when the release notes:

[ ] have been drafted
[ ] have been reviewed by a developer
[ ] have been 2i'ed

Release notes draft doc here: https://docs.google.com/document/d/1rqBb9vxm7pqycdlCbNwXwKSbfC5SAIjAmeVRhwI-SUQ/edit#


move_and_slide_with_snap 3D KinematicBody not snapping on slopes

Godot_v3.2.2-beta1_win64
I can't seem to get KinematicBody 3D snap onto slopes. Currently testing with 45º slope.
Same issue here but 2D https://github.com/godotengine/godot/issues/26274
I tried the suggestion to set floor_max_angle to 45º or above.
What am I missing here?
Project attached.
Cortez.zip

Related to #30777?

Duplicate of #34098?
In addition I've noticed:

You're turning snap off when not jumping or falling:

	var snap = Vector3()
	if not (jumping or falling):
		snap = Vector3(0, -1, 0)

but you're defining falling as moving down:
	falling = false
	if velocity.y < 0:
		falling = true

which is the case when you're moving down the slope.

You're setting the move_and_slide_with_snap() floor_max_angle to 46° with the slope of your "Mountain" also at 46°. Although this has been fixed with #36079, to make this work at the moment requires the floor_max_angle to be greater than the floor.

The mountain is 45°. After removing falling from snap check
var snap = Vector3()
if not jumping:
	snap = Vector3(0, -1, 0)

it still doesn't snap.
Then I swapped the 4 RayShapes which were the "feet" colliders with 1 BoxShape and with that it indeed snaps to the slope. At first I had the feet as a BoxShape but swapped to RayShapes because I don't want the player to slide on slopes but found this https://github.com/godotengine/godot/issues/34117. Now snap works but sliding is happening again (I'll try the fix for that from that thread).
So isn't this a bug with RayShape not snapping just like madmiraal linked https://github.com/godotengine/godot/issues/34098?

Why not set 46º as the default value instead of 45º?

Closing as duplicate of #34098.


mstore stress test.

structarray_alloc

Done.

This looks and works good. But I'm not super happy about the name. Maybe array_alloc or structarray_alloc?

Done


blocking player left click on items in item frames

Is there a way to block players from taking items out of item frames?
on player left clicks block doesn't fire
on hanging breaks doesn't fire
player damages entity doesn't fire
I can prevent players from destroying item frames with "on hanging breaks" but not from taking the item in the item frame.

on player right clicks item_frame:
What is your ultimate goal here?

*on player left clicks item_frame:?

oh right, right clicks is for rotating, on player damages item_frame: is for breaking it and also popping items out.

Hey, on player left clicks item_frame didn't fire,
on player damages item_frame:

determine cancelled

had no effect, too. Did you test it? Did I make a mistake there?

Try /denizen debug -e and then hit the frame - it will list all events that fired. Or.. well, most. Modern ScriptEvents won't show up, but I don't believe damage is one of those.

Anthony was right. It works now. Thank you all!


Hooks don't work inside observeChanges

I have a collection with a find hook attached to it.  Inside of a meteor.publish, I have an observeChanges callback that is effectively doing a reactive join.  The problem is that inside that callback, the find call always returns nothing.  It appears to be because the userId isn't being properly retrieved inside the callback.
Meteor.publish('sample', function(id) {
var self = this;

var list1 = Collection1.find({_id:id});
var IDs = _.pluck(list1.fetch(), 'refID');

Collection2.find().count();  // this works fine

var handle = Collection1.observeChanges({
    added: function(id, fields) {
        Collection2.find().count();  // this always returns zero records
        self.added('contacts', fields.refID, Collection2.direct.findOne(fields.refID));  // this works fine
    }
});

// stop observing changes when publish ends
self.onStop(function() {
  return handle.stop();
});

self.ready();

return [list1, Collection2.find({_id:{$in:IDs}})];
});

Using the direct call works fine for my use case, but this seems like a bug, no?

Note that in a method call, I think this might be because Meteor.bindEnvironment doesn't work properly inside observeChanges; I've seen some issues related to this such as meteor/meteor#907 and meteor/meteor#3455.
However, I see you're using a publish function (instead of a method call) there; that definitely won't work because we use a monkey-patch to store the userId during the publish and it will be forgotten when the callback is used. (https://github.com/matb33/meteor-collection-hooks/blob/master/collection-hooks.js#L268)
The problem is that the callback doesn't know it was started during the publish context, and has no idea what user it is supposed to supply to the find hook, so the find hook basically gets no user. The solution is to either set up the find without the hook after binding the userId in the closure yourself - you can use the hook anywhere else outside of publish functions.
Also, you might want to check out https://github.com/mizzao/meteor-partitioner if you're not using it already.

Makes sense.  Thanks.  Should meteor-partitioner solve this issue (great package, by the way)?  I am using a fork of it customized for my particular application, and it's a partitioned collection that is displaying this behavior.  But perhaps I cut out some important code in my customization?

Is there a workaround that will accomplish the same thing?  I don't understand the one mizzao said.

I could only work around it using .direct like above and then handling the transforms that the find hook would normally do manually.

Bummer.  Thanks for letting me know though.

From the first code example in this issue I believe this is related to #215.


allow for un-sanitized hstore stringify

I'm using the node "pg" npm module to connect to postgres.  Suppose I have a table like this:
create table somedata (col hstore)

if I insert into the table from node like this:
client.query(
  "insert into somedata (col) values ($1)",
  [hstore.stringify({a:"a'"})]
)

I will get a double sanitization so the key is a and the value is a''.  I think it would be valuable to have a stringify that doesn't sanitize so that the resulting strings would be ready for use in prepared statements or statements with place holders where the sanitization is done within the database.
Thanks

+1
Noticed this while reading the code immediately. I don't believe single quotes are to be escaped inside an hstore string. Escaping single's is the concern of the thing outside of it.


remove reselect

this removes reselect
Used a bunch of old search (which'll be gone soon i hope)
and used once by git and multiavatar

@keybase/react-hackers this is ready

I got an error clicking around on this branch: searched in chat for team keybase.sf and clicked it, then:
Got boundary error: {name: "Error", message: "Invalid empty converationidkey. Did you mean Constants.noConversationIDKey?", stack: "Error: Invalid empty converationidkey. Did you mea…///./common-adapters/markdown/shared.js?:372:227)", componentStack: "↵    in SimpleMarkdownComponent (created by Markdo…GlobalEscapeHandler (created by Root)↵    in Root"}componentStack: "↵    in SimpleMarkdownComponent (created by Markdown)↵    in Markdown (created by MessageText)↵    in MessageText (created by mapProps(MessageText))↵    in mapProps(MessageText) (created by WrapperAuthor)↵    in div (created by Box)↵    in Box (created by WrapperAuthor)↵    in div (created by Box)↵    in Box (created by WrapperAuthor)↵    in div (created by Box)↵    in Box (created by WrapperAuthor)↵    in div (created by Box)↵    in Box (created by WrapperAuthor)↵    in div (created by Box)↵    in Box (created by WrapperAuthor)↵    in WrapperAuthor (created by Connect(WrapperAuthor))↵    in Connect(WrapperAuthor) (created by _WrapperTimestamp)↵    in div (created by Box2)↵    in Box2 (created by _WrapperTimestamp)↵    in div (created by Box)↵    in Box (created by _WrapperTimestamp)↵    in div (created by Box2)↵    in Box2 (created by _WrapperTimestamp)↵    in div (created by Box)↵    in Box (created by _WrapperTimestamp)↵    in _WrapperTimestamp (created by OverlayParent)↵    in OverlayParent (created by Connect(WrapperTimestamp))↵    in Connect(WrapperTimestamp) (created by MessageFactory)↵    in MessageFactory (created by MessageFactory)↵    in MessageFactory (created by Connect(MessageFactory))↵    in Connect(MessageFactory) (created by OrdinalWaypoint)↵    in div (created by Measure)↵    in Measure (created by Measure)↵    in Measure (created by OrdinalWaypoint)↵    in Waypoint (created by OrdinalWaypoint)↵    in OrdinalWaypoint (created by Thread)↵    in div (created by Measure)↵    in div (created by Measure)↵    in Measure (created by Measure)↵    in Measure (created by Thread)↵    in div (created by Thread)↵    in div (created by Thread)↵    in ErrorBoundary (created by Thread)↵    in Thread (created by lifecycle(Thread))↵    in lifecycle(Thread) (created by withStateHandlers(lifecycle(Thread)))↵    in withStateHandlers(lifecycle(Thread)) (created by Connect(withStateHandlers(lifecycle(Thread))))↵    in Connect(withStateHandlers(lifecycle(Thread))) (created by ListArea)↵    in ListArea (created by Connect(ListArea))↵    in Connect(ListArea) (created by Conversation)↵    in div (created by Box)↵    in Box (created by Conversation)↵    in Conversation (created by withStateHandlers(Conversation))↵    in withStateHandlers(Conversation) (created by Connect(withStateHandlers(Conversation)))↵    in Connect(withStateHandlers(Conversation)) (created by Conversation)↵    in Conversation (created by Connect(Conversation))↵    in Connect(Conversation) (created by RenderRouteNode)↵    in RenderRouteNode (created by Nav)↵    in div (created by Render)↵    in Render (created by RenderRouteNode)↵    in RenderRouteNode (created by Nav)↵    in div (created by Box)↵    in Box (created by Nav)↵    in ErrorBoundary (created by Nav)↵    in div (created by Box)↵    in Box (created by Nav)↵    in ErrorBoundary (created by Nav)↵    in Nav (created by Connect(Nav))↵    in Connect(Nav) (created by RenderRouteNode)↵    in RenderRouteNode (created by RenderRoute)↵    in RenderRoute (created by Main)↵    in Main (created by Connect(Main))↵    in Connect(Main) (created by HotExportedConnect(Main))↵    in AppContainer (created by HotExportedConnect(Main))↵    in HotExportedConnect(Main)↵    in div↵    in Provider (created by Root)↵    in GlobalEscapeHandler (created by Root)↵    in Root"message: "Invalid empty converationidkey. Did you mean Constants.noConversationIDKey?"name: "Error"stack: "Error: Invalid empty converationidkey. Did you mean Constants.noConversationIDKey?↵    at Module.s (webpack:///./constants/types/chat2/common.js?:18:11)↵    at Object.channel (webpack:///./common-adapters/markdown/react.js?:295:95)↵    at eval (webpack:///./common-adapters/markdown/react.js?:323:70)↵    at nestedOutput (webpack:///./node_modules/simple-markdown/simple-markdown.js?:1690:20)↵    at nestedOutput (webpack:///./node_modules/simple-markdown/simple-markdown.js?:1677:31)↵    at Object.paragraph (webpack:///./common-adapters/markdown/react.js?:246:8)↵    at eval (webpack:///./common-adapters/markdown/react.js?:323:70)↵    at nestedOutput (webpack:///./node_modules/simple-markdown/simple-markdown.js?:1690:20)↵    at nestedOutput (webpack:///./node_modules/simple-markdown/simple-markdown.js?:1677:31)↵    at ProxyComponent.render (webpack:///./common-adapters/markdown/shared.js?:372:227)"__proto__: Object
_otherLoggers.map.l @ tee-logger.js:16
TeeLogger.args @ tee-logger.js:16
componentDidCatch @ error-boundary.js:151
componentDidCatch @ react-hot-loader.development.js:580
callback @ react-dom.development.js:15441
callCallback @ react-dom.development.js:11137
commitUpdateEffects @ react-dom.development.js:11176
commitUpdateQueue @ react-dom.development.js:11167
commitLifeCycles @ react-dom.development.js:14841
commitAllLifeCycles @ react-dom.development.js:16047
callCallback @ react-dom.development.js:149
invokeGuardedCallbackDev @ react-dom.development.js:199
invokeGuardedCallback @ react-dom.development.js:256
commitRoot @ react-dom.development.js:16201
completeRoot @ react-dom.development.js:17576
performWorkOnRoot @ react-dom.development.js:17504
performWork @ react-dom.development.js:17408
performSyncWork @ react-dom.development.js:17380
requestWork @ react-dom.development.js:17268
scheduleWork @ react-dom.development.js:17073
enqueueSetState @ react-dom.development.js:11631
Component.setState @ react.development.js:372
onStateChange @ connectAdvanced.js:261
onStateChange @ react-hot-loader.development.js:580
notify @ Subscription.js:37
notifyNestedSubs @ Subscription.js:74
onStateChange @ connectAdvanced.js:258
onStateChange @ react-hot-loader.development.js:580
notify @ Subscription.js:37
notifyNestedSubs @ Subscription.js:74
onStateChange @ connectAdvanced.js:258
onStateChange @ react-hot-loader.development.js:580
notify @ Subscription.js:37
notifyNestedSubs @ Subscription.js:74
onStateChange @ connectAdvanced.js:258
onStateChange @ react-hot-loader.development.js:580
notify @ Subscription.js:37
notifyNestedSubs @ Subscription.js:74
onStateChange @ connectAdvanced.js:258
onStateChange @ react-hot-loader.development.js:580
notify @ Subscription.js:37
notifyNestedSubs @ Subscription.js:74
onStateChange @ connectAdvanced.js:258
onStateChange @ react-hot-loader.development.js:580
dispatch @ redux.js:222
(anonymous) @ redux-logger.js:1
(anonymous) @ middleware.js:69
action @ configure-store.js:96
dispatch @ redux.js:619
(anonymous) @ utils.js:283
(anonymous) @ proc.js:499
exec @ scheduler.js:23
flush @ scheduler.js:64
asap @ scheduler.js:37
runPutEffect @ proc.js:496
runEffect @ proc.js:445
next @ proc.js:325
proc @ proc.js:280
resolveIterator @ proc.js:466
runEffect @ proc.js:442
next @ proc.js:325
currCb @ proc.js:398
runCallEffect @ proc.js:527
runEffect @ proc.js:445
next @ proc.js:325
currCb @ proc.js:398
takeCb @ proc.js:476
put @ channel.js:85
(anonymous) @ channel.js:173
setTimeout @ saga.js:116
setTimeout (async)
map.(anonymous function) @ saga.js:110
handle @ request.js:69
incomingCall @ session.js:185
_rpcIncoming @ index.js:243
_rpcClient.payload @ index.js:102
handler @ transport-shared.js:112
wrapped @ transport-shared.js:64
exports.Dispatch.Dispatch._serve @ dispatch.js:253
exports.Dispatch.Dispatch._dispatch @ dispatch.js:85
exports.Packetizer.Packetizer._get_msg @ packetizer.js:105
exports.Packetizer.Packetizer.packetize_data @ packetizer.js:118
packetize_data @ index.platform.desktop.js:60
(anonymous) @ transport.js:325
emit @ events.js:182
addChunk @ _stream_readable.js:279
readableAddChunk @ _stream_readable.js:264
Readable.push @ _stream_readable.js:219
onread @ net.js:636
react-dom.development.js:14690 The above error occurred in the <SimpleMarkdownComponent> component:
    in SimpleMarkdownComponent (created by Markdown)
    in Markdown (created by MessageText)
    in MessageText (created by mapProps(MessageText))
    in mapProps(MessageText) (created by WrapperAuthor)
    in div (created by Box)
    in Box (created by WrapperAuthor)
    in div (created by Box)
    in Box (created by WrapperAuthor)
    in div (created by Box)
    in Box (created by WrapperAuthor)
    in div (created by Box)
    in Box (created by WrapperAuthor)
    in div (created by Box)
    in Box (created by WrapperAuthor)
    in WrapperAuthor (created by Connect(WrapperAuthor))
    in Connect(WrapperAuthor) (created by _WrapperTimestamp)
    in div (created by Box2)
    in Box2 (created by _WrapperTimestamp)
    in div (created by Box)
    in Box (created by _WrapperTimestamp)
    in div (created by Box2)
    in Box2 (created by _WrapperTimestamp)
    in div (created by Box)
    in Box (created by _WrapperTimestamp)
    in _WrapperTimestamp (created by OverlayParent)
    in OverlayParent (created by Connect(WrapperTimestamp))
    in Connect(WrapperTimestamp) (created by MessageFactory)
    in MessageFactory (created by MessageFactory)
    in MessageFactory (created by Connect(MessageFactory))
    in Connect(MessageFactory) (created by OrdinalWaypoint)
    in div (created by Measure)
    in Measure (created by Measure)
    in Measure (created by OrdinalWaypoint)
    in Waypoint (created by OrdinalWaypoint)
    in OrdinalWaypoint (created by Thread)
    in div (created by Measure)
    in div (created by Measure)
    in Measure (created by Measure)
    in Measure (created by Thread)
    in div (created by Thread)
    in div (created by Thread)
    in ErrorBoundary (created by Thread)
    in Thread (created by lifecycle(Thread))
    in lifecycle(Thread) (created by withStateHandlers(lifecycle(Thread)))
    in withStateHandlers(lifecycle(Thread)) (created by Connect(withStateHandlers(lifecycle(Thread))))
    in Connect(withStateHandlers(lifecycle(Thread))) (created by ListArea)
    in ListArea (created by Connect(ListArea))
    in Connect(ListArea) (created by Conversation)
    in div (created by Box)
    in Box (created by Conversation)
    in Conversation (created by withStateHandlers(Conversation))
    in withStateHandlers(Conversation) (created by Connect(withStateHandlers(Conversation)))
    in Connect(withStateHandlers(Conversation)) (created by Conversation)
    in Conversation (created by Connect(Conversation))
    in Connect(Conversation) (created by RenderRouteNode)
    in RenderRouteNode (created by Nav)
    in div (created by Render)
    in Render (created by RenderRouteNode)
    in RenderRouteNode (created by Nav)
    in div (created by Box)
    in Box (created by Nav)
    in ErrorBoundary (created by Nav)
    in div (created by Box)
    in Box (created by Nav)
    in ErrorBoundary (created by Nav)
    in Nav (created by Connect(Nav))
    in Connect(Nav) (created by RenderRouteNode)
    in RenderRouteNode (created by RenderRoute)
    in RenderRoute (created by Main)
    in Main (created by Connect(Main))
    in Connect(Main) (created by HotExportedConnect(Main))
    in AppContainer (created by HotExportedConnect(Main))
    in HotExportedConnect(Main)
    in div
    in Provider (created by Root)
    in GlobalEscapeHandler (created by Root)
    in Root

React will try to recreate this component tree from scratch using the error boundary you provided, ErrorBoundary.

switched back to master and it was ok


Fix Ecto.UUID type() return

Co-authored-by: Kevin Baird<EMAIL_ADDRESS>I opened the following issue in case our fix was in the wrong direction, I do believe this is a bug though: https://github.com/elixir-ecto/ecto/issues/3046
This PR fixes the linked issue.
Main changes:
uuid.ex ln 21.
I believe that Ecto.UUID.type() should return the desired schema type (either custom or primitive). It was returning a non-custom, non-primitive value which could throw runtime errors for composite type casting.
I updated the type() doc tests to reflect that :uuid is no longer returned.
And I changed this doc test to match, which should have previously failed since :uuid wasn't a primitive type.
I apologize for the noise - I checked a couple times and believe I just ran the formatter as configured, but if you'd like me to strip down to just the relevant lines or it seems like the formatting is in error please let me know.

Can you please submit the changes without the formatter modifications?
Otherwise it is complicated to review it. We also need a test to avoid
regressions in the future.
José Valim
www.plataformatec.com.br
Skype: jv.ptec
Founder and Director of R&D

Btw, the test should be an "integration test"  that reproduces the failure in #3046. My suspicion is that the bug is not in Ecto.UUID but rather in the typed map logic which is converting Ecto.UUID to :uuid when it should not. You can look at test/ecto/type_test.exs for example. We need an assertion like:
assert cast({:map, Ecto.UUID}, %{"x" => "foo"}) == {:ok, %{"x" => ...}}

That fails with the error you mentioned in the parent issue. Thanks!

Ok, i found the root cause of the bug! :D Thanks for the minimal app reproducing it, it makes our lives much easier! :D

Ah dangit. Haha. You bet for the minimal case. Sorry for the formatter / wrong test will make sure not to use if ever find a chance to try and contribute! Thanks for taking care of the real issue in ecto_sql <3


[MNT] Scorecard badge fix

Fix to #1619

Assume theres some weird workflow interaction going on here, the suggested pre-commit change is the one currently in the PR (no whitespace at the end).


fsm: replace before/after state with wrapper

before/after state funcs have big drawbacks - it can't modify context before call happened so we can't inject logger for example with fields before state runs

done in v3.10.5


Enhance /intro Page with Application Status, Feedback, and Discord Invite Link

Issue Description
After a new user submits the join form, they receive a personalized link to check the status of their application. This link should direct them to the /intro page, formatted as /intro?id=<user_id>&status=submitted. The /intro page should display the application status and any feedback provided by a superuser and if the application is approved user can view discord invite link, otherwise that their application was not approved.
Behavior for Different Users:

New Users:

When a new user visits the /intro page using their personalized link, they see the status of their application. Depending on the status:

Pending:
The page displays a message asking them to wait until their application is reviewed.
We are reviewing your application. Please check again here periodically for an update.

Approved:
The page provides a Discord invite link, allowing them to join the server.
Congratulations. You've been approved to join our Discord server using this link: <Link>

Rejected:
The page shows the rejection message and any feedback provided by the superuser.
Unfortunately, at this time, your application is not approved.

Superusers:

If a superuser accesses the personalized link, they should be redirected to the dashboard application page at https://dashboard.realdevsquad.com/applications?id=<user_id> where they can review and update the application status.
Expected Behavior

New users receive a personalized link after submitting the join form and can use it to check their application status on the /intro page.
The /intro page shows different content based on the application status:

If the application is under review, a waiting message is displayed.
If the application is approved, a Discord invite link is shown.
If the application is rejected, a rejection message and feedback are displayed.

Superusers are automatically redirected to the dashboard's application page (https://dashboard.realdevsquad.com/applications?id=<user_id>) when they visit the personalized link.

Steps to Reproduce

A new user fills out and submits the join form.
The user receives a personalized link (e.g., /intro?id=<user_id>&status=submitted) and uses it to check their application status.
If the user is a superuser, visiting the link redirects them to https://dashboard.realdevsquad.com/applications?id=<user_id>.
If the user is not a superuser, they stay on the /intro page and see the relevant application status and feedback.
If the super user approves the application user can discord the invite link on that page.

Severity/Priority

[x] Critical
[ ] High
[ ] Medium
[ ] Low

Additional Information

The Discord invite link is only provided on the /intro page when the application is approved.
Superusers update the application status and provide feedback through the dashboard, not directly on the /intro page and the status and feedback if provided should reflect on the intro page.

Checklist

[ ] I have read and followed the project's code of conduct.
[ ] I have searched for similar issues before creating this one.
[ ] I have provided all the necessary information to understand and reproduce the issue.
[ ] I am willing to contribute to the resolution of this issue.

Requirements look good @vinit717. Thanks!


Ground truth naming not compatible with ivadomed

Context: #49
I am running into this issue: https://github.com/ivadomed/ivadomed/issues/1217
So I will rename the dataset. Working branch: jca/gt-rename

After struggling with SHELL, here's what I've run:
find . -name "*lesion-manual.json" -type f -exec sh -c 'for f; do mv $f ${f%?????}Haris.json; done' sh {} +
find . -name "*lesion-manual.nii.gz" -type f -exec sh -c 'for f; do mv $f ${f%???????}Haris.nii.gz; done' sh {} +

Done:
7570a2b796aedff16316645e6a85877486c76752 (HEAD -> master, origin/master, origin/HEAD) Renamed lesion-manuel3 --> lesion-manualNeuroPoly


Add serverless example

As seen in #150 , this PR is an attempt to showcase how subgraphs can be composed at build time in a serverless context.
@prasek can you give a look at it?
Basically you can run yarn dev in the serverless folder (make sure to have installed all the dependencies). And then you will have a serverless env running on your localhost:

Then if you go to localhost:3000/router, you should be able to query the federated router from the playground:

At this point there seems to be an error due to unexpected json response body, but the architecture is here. I will look it onto fix this issue later.
Can you tell me if the overall architecture and code organization look ok for you?
Do you want me to update the README and add make endpoints for the serverless example also?
PS: I've pushed the yarn.lock because this is a best practice when working in node projects, but maybe you have your own reasons to leave it aside?

@gabsn: Thank you for submitting a pull request! Before we can merge it, you'll need to sign the Apollo Contributor License Agreement here: https://contribute.apollographql.com/

@gabsn awesome will take a look later today 🚀

@gabsn took a look and got it running locally, general approach/layout looks great 👍
had a few goals in mind for the supergraph-demo:

keep it as simple as possible - same level of details as the federation docs - for example: create a gateway

minimize # of files, don't include .lock files, minimize folder nesting, just show how simple the code is

embrace the whole Apollo Federation community, esp. those not coming from a Node background

Dockerize everything - so you don't have to have npm, node install on your dev laptop to run the demo
Have a make command for doing the demo

If you want to get your PR ready to land, I'm happy to help adapt it along these lines after it lands -- or if you want to do that as part of the PR that works too! 🙏

@prasek since I don't know exactly how you'd like it to be, it'd be nice you take it from there. Otherwise, I'm afraid we're wasting time going back and forth.

@gabsn here are some finishing touches, lmk if you'd like any changes before merging and thanks for the contribution! 🎉


feat(chatops): Introduce chatops to repo

Description
Introduce chatops capabilities to the repository.
This PR closes #230 .
Motivation and Context
Lack of chatops support in the repository.
How Has This Been Tested?

Screenshots (if appropriate)

Types of changes

Bug fix (non-breaking change which fixes an issue)
New feature (non-breaking change which adds functionality)
Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes if appropriate.
[x] All new and existing tests passed.

/help


Unsupported Plot Type

unsupported plot type {http://schemas.openxmlformats.org/drawingml/2006/chart}bar3DChart
I see in the documentation that python-pptx have support for chart types such as THREE_D_CLUSTERED_COLUMN, THREE_D_CLUSTERED_BAR

There's a difference between a bar chart that has 3D-appearance bars and a bar chart that has three dimensions (categories, series, and a third thing of some name). Looks like you're trying to open one of the latter type and those aren't supported yet.

I have a chart in a slide, chart type is 3D Clustered Column. When i try to update data of this chart it throws the above mentioned error.
Following is my code
from pptx import Presentation
from pptx.chart.data import ChartData
presentation = Presentation('/Users/itachi/chart-01.pptx')
chart = presentation.slides[0].shapes[1].chart
chart_data = ChartData()
chart_data.categories = ['East', 'West', 'Midwest']
chart_data.add_series('Series 1', (19.2, 21.4, 16.7))
chart.replace_data(chart_data)
presentation.save('/Users/itachi/sample1.pptx')
The code raises this error
ValueError: unsupported plot type {http://schemas.openxmlformats.org/drawingml/2006/chart}bar3DChart
chart-01.pptx

If chart type is in following
qn('c:areaChart'):     AreaPlot,
qn('c:area3DChart'):   Area3DPlot,
qn('c:barChart'):      BarPlot,
qn('c:bubbleChart'):   BubblePlot,
qn('c:doughnutChart'): DoughnutPlot,
qn('c:lineChart'):     LinePlot,
qn('c:pieChart'):      PiePlot,
qn('c:radarChart'):    RadarPlot,
qn('c:scatterChart'):  XyPlot,
Code works perfect. But i don't see any support for THREE_D_COLUMN and THREE_D_BAR Charts under plot.py

I want a chart with 3D appearance.


Add two VU9P cards (FX609/S241)

Following changes were squashed.  So just focus on the files that have been changed.

The DCO check hit on the first Signed-off-by message. Both commits in this pull request have valid signed-off messages, so we can proceed here.
:warning: In general it's not a good idea to squash/merge commits from (several) other people, as the person squashing the commits essentially takes responsibility for all commits. It's not clear who edited which line.

I completely agree. The side work had taken too long. It started in April. I have educated my team to sign everything when they commit. And I think with the code going to stabilize, next time it will not bring so many mixed commits for a new card.

I tested one bitstream and it worked well on FX609.

Some fails were due to lack of Vivado licenses. Will they get reran? @jsvogt

Performing "Squash and merge" instead of "Rebase and merge" due to conflicts.


Cannot combine AS3/DO/TS in one play

Problem description
You cannot combine DO / AS3 / TS scenario's in one Playbook containing separate roles for the 3 ATC components. Once you have run this Galaxy rol for DO (ad an example), it will think all following actions are also for DO, even if they are for AS3 and TS used in different roles in the same playbook.
The reason is the following taks:
https://github.com/f5devcentral/ansible-role-f5_atc_deploy_declaration/blob/e8447de007f3ec0e0de26a9ce95f9dd614e64fff/tasks/main.yaml#L20
atc_service is defined already and not refreshed.
Workaround
Pass the var yourself as described in the README.md, but no auto-detection is happening.

If you specify the atc_service in the role, then it will avoid this. This happens from the role setting the var itself on the initial run.

    declarations:
      - name: Device
        file: do
      - name: Telemetry
        file: ts
      - name: AS3
        file: as3

    - name: ATC
      include_role:
        name: f5devcentral.atc_deploy
      vars:
        atc_method: POST
        atc_service: "{{ item.name }}"
        atc_declaration: "{{ lookup('file', 'bigip/' + item.file + '.json') }}"
        atc_delay: 10
        atc_retries: 45
      loop: "{{ declarations }}"