text:
SVG issue

I changed the logo in Account UI Single-page according to https://docs.keycloakify.dev/account-theme/single-page#changing-the-logo
My log is and SVG file and this is the error in browser console log

Should I follow the proposed solutions?
I used the same logo.svg in Login UI, NOT in public directory, and it works. Why?

Hello @GioviQ,
I believe the error message explains the issue quite well.
The logoUrl prop expects a URL that begins with https, but you're passing an inline data:image... string, which isn't supported.
When SVGs are very small, are inlined as a data URL. To resolve this, you can either:

Move your SVG file to the public directory, or
Add some comments to the SVG to artificially prevent it from being inlined.

Alternatively, you can adjust your Vite configuration to lower the threshold for asset inlining. Here's a helpful link for that:
https://vitejs.dev/config/build-options#build-assetsinlinelimit

@garronej still I don't understand why this happens only in Accoun UI and not in Login UI with the same SVG file.
Do Account UI and Login UI have different Vite configurations?

Do Account UI and Login UI have different Vite configurations?

No. There's only one vite configuration for the project.
It work in the Login UI because in theory there's no issue with the url being a data url.
It's just that the Account UI components are less flexible than the Login UI components.
The account UI components are made by the Keycloak team, Keycloakify is just re-packaging them.
This is not a bug, this is just the spec. The account UI component expect an https url. It does not work with data urls.

after changing the logo, the ancor link changed too. I am looking for pf-v5-c-page__header-brand-link in many repositories, with no luck. Do you know where is the variable to set the proper url?
Thank you

Hum that's not ideal indeed, I should fix that.
In the meantime you can watch this video to understand how the Account UI works:
https://docs.keycloakify.dev/account-theme/single-page
You need to find the header component and eject it (copy paste it into your repo)

Hi, @GioviQ It's fixed in 25.0.4-rc.9

authors: GioviQ garronej

repo: keycloakify/keycloakify


text:
Validate if downloaded file is complete.

Validate if the downloaded image file is complete by comparing the content-length of the request with the actual file size.

@jgsrodrigues Awesome! Thanks!

source: gharchive/pull-request

authors: jgsrodrigues kfiroo

repo: kfiroo/react-native-cached-image

license: mit

license_type: permissive

license_source: bigquery


text:
Can I use the peer image of the docker hub?

I want to use hyperledger/fabric-peer 2.2 or custom peer image.
Is it possible?
Please reply.

You can use whatever docker image you wish.
The only thing you need to keep in mind is to make sure that building and launching the chaincode is supported by the image, either as an external service or directly in Kubernetes(https://github.com/kfsoftware/externalbuilder or https://github.com/postfinance/hlfabric-k8scc)

참고하여 테스트 해보겠습니다.
답변해주셔서 감사합니다.

I'll refer to it and test it.
Thank you for your answer.

source: gharchive/issue

repo: kfsoftware/hlf-operator

license_source: github-api


text:
Proximity missiles

AoE missiles currently only create their blast just before they terminate. Missiles only terminate on contact or when they reach their maximum range.
In addition to the current behavior, missiles with a non-zero Blast Power should terminate IF their target is within their Blast Radius AND the distance to their target is increasing. This will not affect Aleph Res because although Aleph Res has a Blast Radius, like all missiles in existing cores it has a Blast Power of 0.
Imported from trac ticket #159,  created by Compellor on 07-21-2010 at 06:30, last modified: 02-24-2012 at 07:33

low prority

authors: LordBlacksun kgersen

repo: kgersen/Allegiance

license: MIT


text:
Avoid duplicate calls to installInProto

Avoid of calling installInProto of the property in proto.cls_ when this and proto.cls_ are different objects but share the same installInProto.

I don't think this is correct. Can you instead try when you install the psedo-property on the prototype, make it so that it can be overridden.

authors: KernelDeimos kgrgreer


text:
🛑 microbin is down

In 99597d6, microbin (https://bin.hmuy.tech) was down:

HTTP code: 0
Response time: 0 ms

Resolved: microbin is back up in 85cca96 after 18 hours, 35 minutes.

repo: khanhmuy/webstatus


text:
When testing this I found that if this is here logs are duplicated.

          @mr-ssd When testing this I found that if this is here logs are duplicated.

Originally posted by @cparkins in https://github.com/kheeklab/privacyidea-docker/pull/177#discussion_r1884615753

To reproduce simple do a build of the main branch (commit:11a58ea) and run the container.  Log in using the admin account and see the following results:
[2024-12-16 18:28:40,448][157][140737469629632][INFO][privacyidea.lib.pooling:117] Created a new engine registry: <privacyidea.lib.pooling.SharedEngineRegistry object at 0x7ffff9a453d0>
[2024-12-16 18:28:40,448][157][140737469629632][INFO][privacyidea.lib.pooling:117] Created a new engine registry: <privacyidea.lib.pooling.SharedEngineRegistry object at 0x7ffff9a453d0>
[2024-12-16 18:28:40,449][157][140737469629632][INFO][privacyidea.lib.pooling:82] Creating a new engine and connection pool for key sqlaudit
[2024-12-16 18:28:40,449][157][140737469629632][INFO][privacyidea.lib.pooling:82] Creating a new engine and connection pool for key sqlaudit
[2024-12-16 18:28:42,688][155][140737469629632][INFO][privacyidea.lib.pooling:117] Created a new engine registry: <privacyidea.lib.pooling.SharedEngineRegistry object at 0x7ffff96f1400>
[2024-12-16 18:28:42,688][155][140737469629632][INFO][privacyidea.lib.pooling:117] Created a new engine registry: <privacyidea.lib.pooling.SharedEngineRegistry object at 0x7ffff96f1400>
[2024-12-16 18:28:42,688][155][140737469629632][INFO][privacyidea.lib.pooling:82] Creating a new engine and connection pool for key sqlaudit
[2024-12-16 18:28:42,688][155][140737469629632][INFO][privacyidea.lib.pooling:82] Creating a new engine and connection pool for key sqlaudit
[2024-12-16 18:28:42,835][155][140737469629632][INFO][privacyidea.api.auth:293] Local admin 'admin' successfully logged in.
[2024-12-16 18:28:42,835][155][140737469629632][INFO][privacyidea.api.auth:293] Local admin 'admin' successfully logged in.
[2024-12-16 18:28:42,836][155][140737469629632][INFO][privacyidea.lib.crypto:820] initializing HSM class: <class 'privacyidea.lib.security.default.DefaultSecurityModule'>
[2024-12-16 18:28:42,836][155][140737469629632][INFO][privacyidea.lib.crypto:820] initializing HSM class: <class 'privacyidea.lib.security.default.DefaultSecurityModule'>
[2024-12-16 18:28:42,837][155][140737469629632][INFO][privacyidea.lib.crypto:252] Initialized HSM object {'obj': <privacyidea.lib.security.default.DefaultSecurityModule object at 0x7ffff955f560>}
[2024-12-16 18:28:42,837][155][140737469629632][INFO][privacyidea.lib.crypto:252] Initialized HSM object {'obj': <privacyidea.lib.security.default.DefaultSecurityModule object at 0x7ffff955f560>}
[2024-12-16 18:28:43,089][156][140737469629632][INFO][privacyidea.lib.pooling:117] Created a new engine registry: <privacyidea.lib.pooling.SharedEngineRegistry object at 0x7ffff9589430>
[2024-12-16 18:28:43,089][156][140737469629632][INFO][privacyidea.lib.pooling:117] Created a new engine registry: <privacyidea.lib.pooling.SharedEngineRegistry object at 0x7ffff9589430>
[2024-12-16 18:28:43,090][156][140737469629632][INFO][privacyidea.lib.pooling:82] Creating a new engine and connection pool for key sqlaudit
[2024-12-16 18:28:43,090][156][140737469629632][INFO][privacyidea.lib.pooling:82] Creating a new engine and connection pool for key sqlaudit
[2024-12-16 18:28:43,123][154][140737469629632][INFO][privacyidea.lib.pooling:117] Created a new engine registry: <privacyidea.lib.pooling.SharedEngineRegistry object at 0x7ffff96ec680>
[2024-12-16 18:28:43,123][154][140737469629632][INFO][privacyidea.lib.pooling:117] Created a new engine registry: <privacyidea.lib.pooling.SharedEngineRegistry object at 0x7ffff96ec680>
[2024-12-16 18:28:43,124][154][140737469629632][INFO][privacyidea.lib.pooling:82] Creating a new engine and connection pool for key sqlaudit
[2024-12-16 18:28:43,124][154][140737469629632][INFO][privacyidea.lib.pooling:82] Creating a new engine and connection pool for key sqlaudit

Note that all log entries are duplicated.  To resolve, remove the root logging configuration and not the logs are no longer duplicated (tested and confirmed).

Thank you, I'll check this.

authors: cparkins mr-ssd

repo: kheeklab/privacyidea-docker


text:
ACME renewal logic is wrong

I received an alert from LetsEncrypt one of the servers that's running ACME issued through BonsiaDb hasn't renewed its certificate. Last night, I ssh'ed in and updated the server and rebooted it, figuring that would trigger the renewal logic for sure.
This morning, I noticed it still hadn't updated. I tracked it down to the use of a helper function from the acme library. I assumed it did something a little different than what it does -- it returns half the duration remaining on the certificate.
The way the loop is currently written, the err_cnt parameter is never incremented, which means this function will always return half the remaining time on the certificate -- not the duration until the halfway point of the certificate's lifetime. That's where my misunderstanding came from.
We should move the renewal logic from being completely stateless to tracking the next renewal timestamp on the TlsCertificate entity. We should keep track of the renewal attempts as well, to help with debugging certificate issuance problems.

On second thought, the scheduling of this could be a good job service (#78) function. Regardless, the logic should be fixed in the loop to make sure we actually try renewing starting 2 weeks out.

repo: khonsulabs/bonsaidb


text:
Uni Card Customer Care Number@8168245307@

Uni Card Customer Care Number@8168245307@ 8910148836//
Uni Card Customer Care Number@8910148836@ Uni Card Customer Care Number@8910148836@Uni Card Customer Care Number@8168245307@ 8910148836//
Uni Card Customer Care Number@8910148836@ Uni Card Customer Care Number@8910148836@Uni Card Customer Care Number@8168245307@

Uni Card Customer Care Number@8168245307@ 8910148836//
Uni Card Customer Care Number@8910148836@ Uni Card Customer Care Number@8910148836@Uni Card Customer Care Number@8168245307@ 8910148836//
Uni Card Customer Care Number@8910148836@ Uni Card Customer Care Number@8910148836@Uni Card Customer Care Number@8168245307@ 8910148836//
Uni Card Customer Care Number@8910148836@ Uni Card Customer Care Number@8910148836@


text:
R2S 最新自建固件无法引导

分支: 22.03.5
内核: 5.15.109
自建固件rufus刷入，无法启动，应该是无法引导，刷入过去版本无问题，不知道是不是个案。

不是个案，r5s一样无法启动


text:
Fix doctests

Doctests may have been using an old syntax, fix em.

Merging this fix into my other fix branches.

repo: kiddouk/redisco


text:
[DROOLS-7418] Update README for VS Code extension installation

a small update, but important for early adopters :)

@mariofusco Please merge this, thanks!

repo: kiegroup/drools-lsp


text:
[KIECLOUD-683] - Find a way to retrieve the image name built os OSBS

Signed-off-by: Spolti fspolti@redhat.com
Thank you for submitting this pull request
JIRA: (please edit the JIRA link if it exists)
link
referenced Pull Requests: (please edit the URLs of referenced pullrequests if they exist)

referenced pull request 1
referenced pull request 2
referenced pull request 2
etc.

How to retest a PR or trigger a specific build:

* a pull request please add comment: Jenkins retest this

It looks great to me.
Just a proposal, the script could be minimized a bit in order to avoid using python, e.g., something like this using jq (which should be already installed - is it?):
$(/usr/bin/brew call --json-output getTaskResult $( cat output.txt| grep -oP 'Task \\d{8}' | cut -d" " -f2) | jq -nre "input.repositories[0]")

In this way you can remove the python env activation - a bit lighter.
Note: -ne ensure that jq exits with non-zero code if empty input or if null result.
This is just a proposal, it does the same thing you did with python.. so up to you :)

My only concern is that, if brew call fails, the python script could be invoked with empty input making it failing but with 0-code exit status. Not 100% sure but something to double check.

@lampajr updated, please take a look.

authors: lampajr spolti

repo: kiegroup/kie-ci


text:
KOGITO-9459 Review Dev UI extension guide

JIRA: KOGITO-9459

Description: Reviews Dev UI extension guide, including update on the diagram images and the inclusion of the Monitoring page.

How to backport a pull request to a different branch?

In order to automatically create a backporting pull request please add one or more labels having the following format backport-<branch-name>, where <branch-name> is the name of the branch where the pull request must be backported to (e.g., backport-7.67.x to backport the original PR to the 7.67.x branch).

NOTE: backporting is an action aiming to move a change (usually a commit) from a branch (usually the main one) to another one, which is generally referring to a still maintained release branch. Keeping it simple: it is about to move a specific change or a set of them from one branch to another.

Once the original pull request is successfully merged, the automated action will create one backporting pull request per each label (with the previous format) that has been added.
If something goes wrong, the author will be notified and at this point a manual backporting is needed.

NOTE: this automated backporting is triggered whenever a pull request on main branch is labeled or closed, but both conditions must be satisfied to get the new PR created.

@kaldesai if you could please review so we can merge. Thanks!

repo: kiegroup/kogito-docs


text:
[KOGITO-4186] Consolidate ApplicationGenerator, PersistenceGenerator and JsonSchemaGenerator usages

https://issues.redhat.com/browse/KOGITO-4186
Summary:
Quarkus and Springboot had two quite different codepath for generation but this is not necessary: some features were available only using the maven plugin (e.g. disable a generator with a property) and there was a lot of duplicated code. The goal of this PR is to generalize where possible the differences especially in the usages of ApplicationGenerator, PersistenceGenerator and JsonSchemaGenerator
Generator/ApplicationGenerator review:

It is now possible to disable a generator using a property: each Generator has a name() (e.g. decisions) and using the property (e.g. kogito.codege.decisions) the generation will not be registered inside ApplicationGenerator
Reviewed all classLoader usages to be sure to use the proper one (now provided via KogitoBuildContext). With this change I have also removed the specific codepath inside DecisionCodegen
Moved DashboardGeneratedFileUtils.list method invocation inside ApplicationGenerator.generate()
Created ApplicationGeneratorDiscovery to load ApplicationGenerator and all generators
Updated GenerateModelMojo and KogitoAssetsProcessor to use ApplicationGeneratorDiscovery and remove duplication

JsonSchemaGenerator review:

Removed JsonSchemaGenerator.SimpleBuilder and now both Quarkus and Spring directly use JsonSchemaGenerator.ClassBuilder. This means that Jandex in Quarkus is only used to find the annotated classes and then directly loaded with classLoader.loadClass() instead of use the different builder that internally load them in any case

PersistenceGenerator/ProtoGenerator review:

Moved persistenceType check inside the generator
Moved collection of classes inside ProtoGenerator when created to avoid possible inconsistency (e.g. Jandex ClassInfo used with ReflectionProtoGenerator)
Moved introspection of persistenceClassParams to ProtoGenerator impl because it is type specific

Other changes:

Removed targetDirectory from KogitoBuildContext: after moving all writes outside generators (https://github.com/kiegroup/kogito-runtimes/pull/953) there was no more usages of this property
Unified default base package name and package validation for generated files in both kogito-maven-plugin and Quarkus
Created AddonsConfigDiscovery to perform automatic discovery of addons using classpath introspection in a unified way (using KogitoBuildContext.hasClassAvailable)
Moved findKieModuleModel inside IncrementalRuleCodegen
Moved AppPaths to kogito-codegen module and use it as utility class to handle project paths
Removed DecisionTablesCompilationProvider and consolidated inside RuleCompilationProvider
Updated logic of context.hasClassAvailable for Quarkus to first look inside Jandex indexed but then fallback on classLoader make the method more flexible

jenkins retest this please

jenkins retest this please

jenkins retest this please

jenkins retest this please

jenkins retest this please

jenkins retest this please

jenkins retest this please

jenkins retest this please

@danielezonca a few broken examples

@danielezonca a few broken examples

jenkins retest this please

jenkins retest this please

authors: danielezonca evacchi

repo: kiegroup/kogito-runtimes


text:
[8.13.x] Bump Quarkus version to 2.13.4.Final (#453)

Assembly:

https://github.com/kiegroup/kogito-runtimes/pull/2820
https://github.com/kiegroup/kogito-apps/pull/1639
https://github.com/kiegroup/kogito-examples/pull/1581
https://github.com/kiegroup/optaplanner/pull/2639
https://github.com/kiegroup/optaplanner-quickstarts/pull/522

jenkins please retest this

jenkins please retest this

repo: kiegroup/optaplanner-quickstarts


text:
Create an intro

Add an intro about yourself:

who are you
what is your strength
why are you here.

Task is now in 'Ready' status, waiting for action.


text:
Re-generate user docs according to #347

See #8

Thanks!

authors: david-xie pierre

repo: killbill/killbill-docs


text:
Erro no Fonte.prw equest ignored -- RMS_DBGCOMPILE -- Build not started. No MAC

Olá venho trabalhando desde ontem com o MAC sem problemas na compilação derrepente começou aparecer esse erro RMS_DBGCOMPILE em toda compilação que eu tento, verifiquei ele em outra pergunta refiz o processo para gerar a senha e coloquei mas não funcionou segue meu arquivo de configuração já desinstalei e instalei de novo o plugin e nada.
{
"editor.fontSize": 14,
"files.encoding": "windows1252",
"advpl.environments":[
{
"name": "pneumax",
"smartClientPath":"/Applications/smartclient.app/Contents/MacOS/",
"environment":"COMP",
"includeList":"/Applications/smartclient.app/Contents/include/",
"server":"192.168.0.220",
"port":"1202",
"user":"administrador",      "passwordCipher":"WOHqcQG4VGHkiOYsrR+sOkRrdnMtF5VVvwg2fgBf0TwM9MG903aD5cgt2565mJnzAAiNb6+FZblPguupc6rgqdQK="
}
],
"advpl.selectedEnvironment": "pneumax",
"advpl.logger" : true,
"advpl.startProgram": "SIGAMDI",
"advpl.debug_ignoreSourceNotFound": true,
"advpl.debug_showPrivates": true,
"advpl.debug_showPublic": true,
"advpl.debug_showStatics": true,
"advpl.debug_showTables": true,
"files.trimTrailingWhitespace": true,
"workbench.iconTheme": "material-icon-theme"
}

No servidor aparece
[WARN ][SERVER] Request ignored -- RMS_DBGENDBUILD -- Build not started.
[WARN ][SERVER] Request ignored -- RMS_DBGCOMPILE -- Build not started.
[WARN ][SERVER] Request ignored -- RMS_DBGENDBUILD -- Build not started.

Rapaz já tentei sim, mas verifiquei aqui o que era uma coisa que eu realmente não esperava, o HD do servidor ficou cheio então ele não conseguia compilar.

Outro motivo que pode gerar este erro RMS_DBGCOMPILE e tentar compilar com o RPO em uso.

repo: killerall/advpl-vscode


text:
Update link to Structopt in Readme.md

Just noticed by chance that the current link to Structopt doesn't seem to point to anything meaningful. This one should work better.

Thanks!

repo: killercup/quicli


text:
Add header files for openssl and fast_float to build.zig?

I'm new to zig but wanted to let you know that I got the build to complete with the duckdb sources from yesterday.
I needed to make some changes, though:

add header files for openssl and fast_float
make change in src/common/operator/cast_operators.cpp - duckdb_fast_float::from_chars changed to fast_float::from_chars

I did not change the build.zig-file.
Could/should the build.zig-file be updated to take the above changes into account (perhaps mostly the first one)?
Details below:
The zig build command appears to need to be able to find some header files for openssl and fast_float. I am not sure if the build.zig file could be amended to find these, but it seems the build completed when I placed those header files in these locations (should those be in an include directory and/or under third_party?):
$ ls third_party/httplib/openssl/
asn1err.h         comperr.h         dsaerr.h          lhash.h           pem.h             sslerr.h
asn1.h            comp.h            dsa.h             md5.h             pkcs7err.h        ssl.h
asyncerr.h        conferr.h         dtls1.h           objectserr.h      pkcs7.h           stack.h
async.h           conf.h            ecerr.h           objects.h         rsaerr.h          symhacks.h
bioerr.h          cryptoerr.h       ec.h              obj_mac.h         rsa.h             tls1.h
bio.h             crypto.h          e_os2.h           opensslconf.h     safestack.h       x509err.h
bnerr.h           cterr.h           err.h             opensslconf.h.in  sha.h             x509.h
bn.h              ct.h              evperr.h          opensslv.h        srtp.h            x509v3err.h
buffererr.h       dherr.h           evp.h             ossl_typ.h        ssl2.h            x509v3.h
buffer.h          dh.h              hmac.h            pemerr.h          ssl3.h            x509_vfy.h

$ ls src/common/operator/fast_float
ascii_number.h  decimal_to_binary.h  fast_float.h  float_common.h
bigint.h        digit_comparison.h   fast_table.h  parse_number.h

Also, there was another complaint that could be fixed by making a change in cast_operators.cpp:
$ git diff src/common/operator/cast_operators.cpp
diff --git a/src/common/operator/cast_operators.cpp b/src/common/operator/cast_operators.cpp
index 20d0f2a5a..31a9f4896 100644
--- a/src/common/operator/cast_operators.cpp
+++ b/src/common/operator/cast_operators.cpp
@@ -1040,7 +1040,7 @@ static bool TryDoubleCast(const char *buf, idx_t len, T &result, bool strict) {
                len--;
        }
        auto endptr = buf + len;
-       auto parse_result = duckdb_fast_float::from_chars(buf, buf + len, result);
+       auto parse_result = fast_float::from_chars(buf, buf + len, result);
        if (!CheckDoubleValidity<T>(result)) {
                return false;
        }

Thanks Markus. I'll check this later today. I did earlier almost same changes but forgot to update the repo.

I will update build.zig for fastfloat so you don't have to take duckdb_ out because there is a purpose for it.

authors: kimmolinna mskyttner

repo: kimmolinna/duckdb-zig-build


text:
bump minor version for ElementLineP0

Fixes #518.
Is it just

the Changelog in the README.md
version in setup.cfg

that need updating?

The PyPI release used to be done by Travis, but it's not implemented in Github Actions at the moment. I'll have to do a release manually. I'll do it today or tomorrow.

authors: gdmcbain kinnala

repo: kinnala/scikit-fem


text:
add lib

export types as lib

https://github.com/kinode-dao/kit/pull/57

repo: kinode-dao/kinode


text:
docs(rest-api-client): change any links referred Kintone Developer Program

Why
Kintone Developer Program will be hosted on a brand new website.
Ref. https://developer.kintone.io/hc/en-us/articles/4408520355481
What
In @kitnone/rest-api-client  documents, changed the referencing links.
How to test
N/A
Checklist

[x] Read CONTRIBUTING.md
[ ] Updated documentation if it is required.
[ ] Added tests if it is required.
[x] Passed yarn lint and yarn test on the root directory.

@mshrtsr
Thank you for your review. I've applied your comments.

repo: kintone/js-sdk


text:
Document manual k8s certificate rotation process

In https://github.com/kinvolk/lokomotive/issues/309 we plan to automate the renewal of k8s certificates. In the meantime, we should document how to rotate the certificates manually.

Perhaps see https://github.com/kubernetes/website/issues/23323 ?

Status update:
I've made some progress. Looks like we have the following covered:

Generate a new k8s CA.
Generate keys and certificates for kube-apiserver and the admin kubeconfig.
Update kube-controller-manager with the new CA information.
Update all SA token secrets with the new CA information.
Update kube-apiserver with the new CA information as well as the new client+server certificate and key.
Update the admin kubeconfig file with the new CA information as well as the client certificate and key.

Following the above the kubelets no longer trust the API server (which makes sense since they don't yet know about the new CA) so things like kubectl logs or kubectl exec aren't working. I'm on it right now.
Things left to do:

[ ] Update kubelets.
[ ] Regenerate aggregation CA and update all relevant services.
[ ] Regenerate etcd CA and update all relevant services (likely just kube-apiserver and etcd).

Ordering seems to matter a lot in the cert rotation process and there are certain times where the user needs to wait for things to converge, which makes scripting the whole thing a bit trickier.
The guide has proved to be very unreliable and not 100% applicable to our use case (because we have a self-hosted control plane). In addition, some code snippets in the guide are broken at the syntax level, which makes me suspect the author hasn't actually tried following the guide...

I've updated the previous comment with the latest status. I'll try to make as much progress as I can on this until the next sprint and then we'll what work is left to do.

Made some progress around making kubelets trust kube-apiserver again after rotating kube-apiserver certs. It doesn't work yet but I have a much better understanding of the moving parts and I think I may have found the right order of operations to rotate the kubelet certs without getting into an unrecoverable cluster state.

My very messy WIP is here: https://github.com/kinvolk/lokomotive/commits/johananl/k8s-cert-rotation
This is the latest state of the notes I've been writing for myself while trying to figure out the correct "recipe" for rotating the certs safely. In case someone else picks this up, please don't treat this document in its current state as a user-facing document or even a developer document as it needs to be completed, organized and cleaned up. Same goes for my "creative" commit messages :slightly_smiling_face:

Note: we should think about a rollback process in case the manual rotation breaks.

I took a stab at understanding how the certificates work as well as how to go about rotating them especially if the CA is also to be rotated. However I eventually got a lot more confused than I expected and hence couldn't make significant progress on this task.
One thing I want to make note of this we should not be doing the certificate creation using the tools(openssl etc) rather we should be utilizing terraform to generate the certificates to make the certificate generation process easier and since we have terraform generating the certificates when the cluster is bootstrapped it only makes sense to utilize further when rotating certs.

Yes @ipochi, this is a tough one.
I've opted for openssl for two reasons:

I was hoping to get a better understanding of how the PKI works at a low level.
I wanted to eventually have a set of commands which can be executed as a script rather than asking the user to follow instructions.

In my experience the tricky part isn't generating the certificates but rather rotating them in a way which doesn't break the cluster. That said, if using Terraform helps in any way, we can go that route of course.

I'll continue with this task.

One thing I want to make note of this we should not be doing the certificate creation using the tools(openssl etc) rather we should be utilizing terraform to generate the certificates to make the certificate generation process easier and since we have terraform generating the certificates when the cluster is bootstrapped it only makes sense to utilize further when rotating certs.

100% agree :+1:
Given the size of this task, I think it's reasonable to break it down into smaller tasks, so we can accomplish it step-by-step. I'll start from this.

Given that private keys do not expire, I think in a first step we can skip rotating them. We should focus on expiring certificates, which may break cluster functionality.
WIP PR which will be BIG: https://github.com/kinvolk/lokomotive/pull/1198.

Closing in favor of #1215

authors: iaguis invidian ipochi johananl

repo: kinvolk/lokomotive


text:
cli/cmd: rename --kubeconfig flag to --kubeconfig-file

This PR renames --kubeconfig flag to --kubeconfig-file  to avoid automatic reading of KUBECONFIG environment variable by viper and adds explicit read of KUBECONFIG variable after cluster configuration in the hierarchy, when selecting kubeconfig file to use.
For the time being, there is no tests for this patch, as testing that is not trivial to implement (involves creating lokocfg configuration file in temporary directory, testing private method, and testing viper flags parsing.
Closes #595.

For the time being, there is no tests for this patch, as testing that is not trivial to implement (involves creating lokocfg configuration file in temporary directory, testing private method, and testing viper flags parsing.

It turns out, I introduced some other bugs to the implementation, so I decided to write tests for it, even though they are not great.

@invidian @iaguis

I think that we should not use ~/.kube/config to fall back.

Having KUBECONFIG_FILE environment variable gives an irritating behavior to the user as lokoctl is not a replacement for kubectl.

Even after installing the component by setting the KUBECONFIG_FILE environment variable, a user still interfaces the cluster with kubectl or in some cases helm. In such a scenario kubectl or helm is pointing to KUBECONFIG env variable or ~/.kube/config and lokoctl to KUBECONFIG_FILE.
Consider the the simplest scenario :

Installed a component X  with KUBECONFIG_FILE env var set.
Need to get some logs of the component via kubectl, now I need to set the KUBECONFIG to the Lokomotive managed cluster in order to perform operations.

IMO, we should just have a flag --kubeconfig-file in lokoctl without KUBECONFIG_FILE env var.
Can we perhaps use Extensions (not sure how extensions is used, I've never seen it in a kubeconfig file) in the kubeconfig file to specify the additional cluster information as managed by Lokomotive. If the KUBECONFIG or current context is not referring to the same then we print out a message to the user for confirmation before proceeding ?

I agree with Imran, that having this env variable is not really desired. Unfortunately, this is a side effect of the cobra. I'm not sure if we can disable env variable reading for just one flag.

Just as I reminder, my main focus for this PR is fixing the following case (which happened to me twice with bad consequences):

A user runs lokoctl component apply from their cluster directory.
The user has $KUBECONFIG set to another cluster, probably not even managed by Lokomotive.
The components are applied to the cluster defined in $KUBECONFIG instead of the Lokomotive cluster (!)

I agree the $KUBECONFIG_FILE env var doesn't make sense. If it's not possible to disable it from cobra/viper I think just keeping it undocumented should be fine.
Regarding falling back to ~/.kube/config if there's no $KUBECONFIG and the user is not in a Lokomotive cluster directory I'm on the fence.
On the one hand kubectl falls back to ~/.kube/config so it makes sense if we do the same and commands to kubectl and lokoctl would apply to the same cluster. On the other hand this behavior might be dangerous and as a caution we might want to forbid it and ask the user to set $KUBECONFIG.
Since falling back to ~/.kube/config is already happening now, we can keep it and decide later if we want to change this behavior.

Addressed my review since @invidian is out.

authors: iaguis invidian ipochi


text:
[WIP] Backup test

Work in progress and based on #6 currently.

Auto-closed by GitHub as it was based on a feature branch and not master. Will open a new PR.

repo: kinvolk/sensu-operator


text:
vue3 drag-handle _uid 的问题

设置了 drag-handle 后，控制台报 this._uid is undefined 错误。
定位到源代码是：
if (this.dragHandle && target.getAttribute('data-drag-handle') !== this._uid.toString()) {                 return;             }
can't access _uid in vue3

I have this warning when enable drag handle
[Vue warn]: Unhandled error during execution of native event handler
at <VueDragResize dragHandle=".drag" key=0 w=140  ... >
Please help.  Thanks in advance

怎么解决呢？

怎么解决呢？

我把代码拉下来，自己做了一点点小修改，然后重新build。

@imouhero 感谢您找到修复程序，但是您现在如何将 src/component/vue-drag-resize.js 编译为 dist/index.js？

the problem is this._uid is undefined in Vue 3 unlike in Vue 2 which works perfectly.
so when using the dragHandle prop this line is causing the issue dragHandle.setAttribute('data-drag-handle', this._uid);
the only solution is to modify the this.uid by your own ID generator function or a utility that does this and rebuild as you did.
unfortunately, the library is not well maintained at this point so there are some Vue 3 issues. 😞
I hope  @kirillmurashov  gets back or at least opens up the door for other maintainers.

authors: augushong hamedbaatour imouhero ntgraph steve-armadillo

repo: kirillmurashov/vue-drag-resize


text:
Translations, i18n and l10n

The text domain has not been registered but a text domain is being used.
Either the translations should be collected in the framework like is done in Redux or you should recommend the theme authors to replace the text domain with their own like done in Options Framework.

Unfortunately this is not enough. You need to use load_textdomain() and create a languages folder and create a POT file.
For the theme authors I would really really recommend that they change the text domain when including the framework in the theme. The TRT only allows a maximum of two different text domains in a theme. The reason for this is that in the future WordPress.org will provide a platform for all themes and plugins to be translated on translate.wordpress.org. The POT generator on w.org will pull all of the strings regardless of the text domain.
A third option I forgot to mention is allow the strings be defined from a variable like in TGMPA

crap, you're absolutely right... I completely forgot about that.
I'll push this in a few minutes, writing it now.

OK, I think I got everything this time.
If not then please do let me know...
Users will now be able to change the textdomain like this:
function custom_change_kirki_textdomain( $options ) {

  $options['textdomain'] = 'my-domain';
  return $options;

}
add_filter( 'kirki/config', 'custom_change_kirki_textdomain', 99 );

Unfortunately that will not be allowed on dotorg. The requirement is that the text domain should be a slug and not a variable or constant.
What I meant earlier about the variable was something like this:
$options['strings'] = array (
	'all'               => __( 'All', 'text-domain' ),
	'cyrillic'         => __( 'Cyrillic', 'text-domain' ),
	'cyrillic-ext'   => __( 'Cyrillic Extended', 'text-domain' ),
	'devanagari' => __( 'Devanagari', 'text-domain' ),
	'greek'          => __( 'Greek', 'text-domain' ),
	'greek-ext'    => __( 'Greek Extended', 'text-domain' ),
	'khmer'         => __( 'Khmer', 'text-domain' ),
	'latin'             => __( 'Latin', 'text-domain' ),
	'latin-ext'       => __( 'Latin Extended', 'text-domain' ),
	'vietnamese' => __( 'Vietnamese', 'text-domain' ),
);

public function get_google_font_subsets() {
	return array(
		'all'               => $options['strings']['all'],
		'cyrillic'         => $options['strings']['cyrillic'],
		'cyrillic-ext'   => $options['strings']['cyrillic-ext'],
		'devanagari' => $options['strings']['devanagari'],
		'greek'          => $options['strings']['greek'],
		'greek-ext'    => $options['strings']['greek-ext'],
		'khmer'         => $options['strings']['khmer'],
		'latin'             => $options['strings']['latin'],
		'latin-ext'       => $options['strings']['latin-ext'],
		'vietnamese' => $options['strings']['vietnamese'],
	);
}

Fixed. I'm updating the docs now and releasing a new version on w.org

Thank you for making the changes! :smile:

Thank you for being so thorough with your reviews...
I wouldn't have been able to fix these issues without your advice.
I owe you a beer! :beer: perhaps in WCEU if you're there.

I won't be able to make this year but perhaps in 2016 then.

Hi, how change kirki text domain with my own domain?
WARNING: More than one text-domain is being used in this theme. This means the theme will not be compatible with WordPress.org language packs. The domains found are kirki, kc.

It's safe to use up to 2 different text domains in the WordPress repository. This warning is safe to be ignored @liveweb22. We do the same in our Page Builder Framework theme for instance. Alternatively, you can manually replace all kirki textdomains with your own.

authors: MapSteps aristath grappler liveweb22

repo: kirki-framework/kirki


text:
[Crash in Swift]  When  'debugPrint(visibleItems.first?.indexPath)' in the block of visibleItemsInvalidationHandler

Error logs:
Swift/ArrayBuffer.swift:510: Precondition failed: NSArray element failed to match the Swift Array Element type
Expected IBPNSCollectionLayoutVisibleItem but found NSCollectionLayoutVisibleItem

I've the same error...

@SunChJ @Narayane
So how did you solve the problem? I'm experiencing the same problem too

@kishikawakatsumi Do you have any idea to fix?

authors: IniongunIsaac Narayane SunChJ toanbv-fabbi


text:
decoder: Teach loadUnicode to return ErrUnexpectedEOF, not paper it over in tests

While doing a5094338 (encoder: More unexpected EOF handling) I was a bit
disappointed that https://golang.org/cl/37052 was not going to be
accepted and somehow added hack to tests that was doing
strconv.ErrSyntax -> io.ErrUnexpectedEOF

error conversion if the test name contained "unicode".
Today I was refactoring tests and noticed that it is better we teach loadUnicode
to return io.ErrUnexpectedEOF in the first place, and the next easy way for this
(after fixing strconv.UnquoteChar itself) is to append many "0" to string and
see if strconv.UnquoteChar still returns ErrSyntax.
So do it in our custom unquoteChar wrapper.

ping @kisielk

Thanks, too.

repo: kisielk/og-rek


text:
First log in failure

Trying to log in to task board for the first time with 'admin' credentials, nothing seems to happen. Checked the browser console, found:
"Failed to load http://localhost/taskboard/api/login resource: the server responded with a status of 404 (Not Found)"
Changed apache config to set "AllowOveride All" and restarted apache. When I tried taskboard again I got an error:
"API Error. Ensure api directory is writable."
And in the console:
"http://localhost/taskboard/api/login 503 (Service Unavailable)"
The taskboard directory is entirely writable and executable (777). Mod_rewrite is enabled.
I'm running Fedora 20, PHP 5.5.20, taskboard v0.2.7. Any ideas?

Is php5-sqlite installed and enabled in your php.ini?

Yes, I have pdo_sqlite.so and sqlite.so in my php.ini.

I did notice an issue on one install I tested where I had to change api.php to default the sqlite setup, then set it back and everything was working. I'm assuming this is a bug in RedBeanPHP, but did not have time to research it.
If you want to try it, just change line 32.
From: R::setup('sqlite:taskboard.db');
To: R::setup();
Login once (this creates a default sqlite db in /tmp), then change that line back and it worked for me.
Let me know if this helps.

Thanks for the reply,
I tried your suggestion and was able to log in after removing the 'sqlite:taskboard.db' parameter. However after logging out and changing it back, I ran into the same error:
"API Error. Ensure api directory is writable."

Looks like I have some research to do. If you come up with anything on your end, please let me know!

Would you try out the dev branch and let me know how that works? It's currently stable, just doesn't have everything planned for v0.3.0 in it yet.
I ask because one of the changes it has is including the stack trace with those API Error messages.

I am having this exact same problem...
I have Ubuntu Server 14.04 with sqlite and php5-sqlite installed. I tried checking out dev and this was the output of /api/login:

{
  "message": "API Error.",
  "data": "Could not connect to database (?).",
  "alerts": null,
  "trace": [
    {
      "file": "/home/taskboard/public_html/api/lib/rb.php",
      "line": 598,
      "function": "connect",
      "class": "RedBeanPHP\\Driver\\RPDO",
      "type": "->",
      "args": []
    },
    {
      "file": "/home/taskboard/public_html/api/lib/rb.php",
      "line": 785,
      "function": "runQuery",
      "class": "RedBeanPHP\\Driver\\RPDO",
      "type": "->",
      "args": [
        "SELECT COUNT(*) FROM `user`  -- keep-cache",
        []
      ]
    },
    {
      "file": "/home/taskboard/public_html/api/lib/rb.php",
      "line": 808,
      "function": "GetAll",
      "class": "RedBeanPHP\\Driver\\RPDO",
      "type": "->",
      "args": [
        "SELECT COUNT(*) FROM `user`  -- keep-cache",
        []
      ]
    },
    {
      "file": "/home/taskboard/public_html/api/lib/rb.php",
      "line": 3113,
      "function": "GetCol",
      "class": "RedBeanPHP\\Driver\\RPDO",
      "type": "->",
      "args": [
        "SELECT COUNT(*) FROM `user`  -- keep-cache",
        []
      ]
    },
    {
      "file": "/home/taskboard/public_html/api/lib/rb.php",
      "line": 4524,
      "function": "getCell",
      "class": "RedBeanPHP\\Adapter\\DBAdapter",
      "type": "->",
      "args": [
        "SELECT COUNT(*) FROM `user`  -- keep-cache",
        []
      ]
    },
    {
      "file": "/home/taskboard/public_html/api/lib/rb.php",
      "line": 6497,
      "function": "queryRecordCount",
      "class": "RedBeanPHP\\QueryWriter\\AQueryWriter",
      "type": "->",
      "args": [
        "user",
        [],
        "",
        []
      ]
    },
    {
      "file": "/home/taskboard/public_html/api/lib/rb.php",
      "line": 7701,
      "function": "count",
      "class": "RedBeanPHP\\Repository",
      "type": "->",
      "args": [
        "user",
        "",
        []
      ]
    },
    {
      "file": "/home/taskboard/public_html/api/lib/rb.php",
      "line": 10268,
      "function": "count",
      "class": "RedBeanPHP\\OODB",
      "type": "->",
      "args": [
        "user",
        "",
        []
      ]
    },
    {
      "file": "/home/taskboard/public_html/api/helpers.php",
      "line": 305,
      "function": "count",
      "class": "RedBeanPHP\\Facade",
      "type": "::",
      "args": [
        "user"
      ]
    },
    {
      "file": "/home/taskboard/public_html/api/api.php",
      "line": 33,
      "function": "createInitialUser",
      "args": []
    }
  ]
}

@flyingfisch, @hobbsogblin, have you guys been able to get things working? Or do you have any additional information?

Sadly I have the same problem. I was using lighttpd and switched to apache with the correct settings.
chmod -R 777 taskboard and chmod -R www-data taskboard didn't helped.
mod_rewrite enabled.

Also having this problem on kubuntu 14.04, PHP 5.5.9, Apache 2.4.7, php5-sqlite installed, rewrite and expires enabled, and AllowOverride All on.
There is no feedback when the login fails, but when I look in the console, it says there is a 404 error at http://localhost/TaskBoard/api/login. Maybe there's a problem with the rewrite rules in api/.htaccess? I haven't changed anything in any .htaccess files...

@naught101 I'm actually very confident about api/.htaccess as I'm using it in another project.
The only location that should require any changes is the api directory itself. @marcsoler you may have meant chown -R www-data taskboard.
I still have no idea why anyone is getting a 404 for the login. Would you mind trying the dev branch and let me know if it has the same problem?

Same issue. Tried dev branch.
API Error. Ensure api directory is writable.

main folder is 755. API is 777.

I tryed it on a local xampp installation and it worked. So it must be a apache/php configuration beside AllowOverride All that must be different from the default

This docker build works for me. Is there anything in there that can help you troubleshoot?

Thanks @iamthemuffinman hopefully that helps someone figure out the settings.
Just so everyone knows, I did a clean install and all I did was make api writable and everything worked. I'm going to close this as a local settings issue.
If you do figure out what was missing from your setup, please reply here and I'll update the readme to help others that may have the same problem.

I will test on my local dev server and a heroku and digital ocean vm when I get off work but just so you know it appears whatever configuration issue we have your demo server has as well. The same thing is happening there.
http://taskboard.matthewross.me/demo/#/

Is there some kind of logging we can enable to help troubleshoot it? I don't really have much to go off...

@AlexBoorman Thanks for pointing that out to me! I moved things around on the server the other day and it had a permissions error.
@naught101 Any errors in the API should be logged wherever you have PHP setup to log them. Errors that are captured by the API are provided in the return object with the dev branch so you could try that and see if it sheds any light on things.

I didn't get an opportunity to check it out last night but I will try tonight to insure all is well

Hi I have the exact same problem
Running on an arch linux system which already runs pydio and owncloud I guess the config should be ok. API is writeable. However, I noticed that I can't access the website as written in the wiki. Index.html just points me to a blank page. Manually using indexDev.html points me to the login with the usual problem.
Furthermore, accessing api does not result in a empty page (as written elsewhere) but in
{"message":"API Error.","data":"Could not connect to database (?).","alerts":null}
but I guess that is normal since I did not manage to set-up anything database related yet?!
Would be glad if we find a solution to this.

I'm also having this same problem on Ubuntu 14.04 and I've tried everything that has been suggested here and nothing works!!

This seemed to work:
sudo a2enmod expires

And adding a new conf file for apache2 in /etc/apache2/conf-available (on Ubuntu 14.04 at least) with this in it.
Alias /TaskBoard "/var/www/TaskBoard/"

<Directory "/var/www/TaskBoard">
    Options +FollowSymLinks
    AllowOverride All
        Options All
        Require all granted
</Directory>

Hello,
Sorry to bring up this issue after it being closed for so long but I may have a possible solution for those still having this problem:

"message":"API Error.","data":"Could not connect to database (?).","alerts":null,"trace":

The issue for me was that I was missing my sqlite3 path in my php.ini file:

[sqlite]
sqlite3.extension_dir =

Should be:

[sqlite]
sqlite3.extension_dir = /sbin/sqlite3

*I am using Linux so the package names and directories may vary from os to os.

I got around this by changing permissions of Taskboard/api directory to 777.

尝试使用“管理员”凭据首次登录任务板，似乎没有任何事情发生。检查浏览器控制台，发现：
“无法加载http：// localhost / taskboard / api / login资源：服务器响应状态为404（未找到）”
更改了apache配置以设置“AllowOveride All”并重新启动apache。当我再次尝试任务板时，我收到一个错误：
“API错误。确保api目录是可写的。”
在控制台中：
“ http：// localhost / taskboard / api / login 503（服务不可用）”
任务板目录是完全可写和可执行的（777）。Mod_rewrite已启用。
我正在运行Fedora 20，PHP 5.5.20，任务板v0.2.7。有任何想法吗？

Trying to log in to task board for the first time with 'admin' credentials, nothing seems to happen. Checked the browser console, found:
"Failed to load http://localhost/taskboard/api/login resource: the server responded with a status of 404 (Not Found)"
Changed apache config to set "AllowOveride All" and restarted apache. When I tried taskboard again I got an error:
"API Error. Ensure api directory is writable."
And in the console:
"http://localhost/taskboard/api/login 503 (Service Unavailable)"
The taskboard directory is entirely writable and executable (777). Mod_rewrite is enabled.
I'm running Fedora 20, PHP 5.5.20, taskboard v0.2.7. Any ideas?

environment:ubuntu16.0.4,apache2,sqlite3,php7.0
i may solve the problems,you may try,do not execute  sudo a2ensite taskboard,sudo a2enmod expires
sudo a2enmod rewrite again
first:sudo apt-get purge apache2
second:sudo apt-get install apache2
third:connet your server like this:php -S 127.0.0.1:8080 devrouter.php
and log in

environment:ubuntu16.0.4,apache2,sqlite3,php7.0
i may solve the problems,you may try,do not execute sudo a2ensite taskboard,sudo a2enmod expires
sudo a2enmod rewrite again
first:sudo apt-get purge apache2
second:sudo apt-get install apache2
third:connet your server like this:php -S 127.0.0.1:8080 devrouter.php
and log in

Just run:
docker run --name my-tasks -p 8100:80 -v $PWD/taskboard.db:/var/www/html/api/taskboard.db rubmorgade/taskboard
and can't login. Error:
API Error. Ensure api directory is writable.
Any help? Thank you

i got the same error message running the rubmorgade docker image running it with the persisten
form, and it is because (i dont know why), the "taskboard.db" is created as a directory, so "touching" /
creating this file before the "docker run...." command it works (for me :)
rm -rf taskboard.db
touch taskboard.db
docker run --name my-tasks -p 8100:80 -v $PWD/taskboard.db:/var/www/html/api/taskboard.db rubmorgade/taskboard

authors: AlexBoorman JetUni asgimenez fercb17 flyingfisch ginesdelpan hobbsgoblin hobbsogblin iamthemuffinman indiealexh kiswa marcsoler naught101 nitinraghav thbor torwag

repo: kiswa/TaskBoard


text:
Check the valid use of lists in our data structures

We use lists in many places, and I think in most of them a set would be the better solution. API changes will be possible here, though. So we have to be careful and deprecate old APIs.

In AbstractDataEntityBuilder, List<String> authors = new ArrayList<>(); should be a set.

Also, this builder method takes a list and puts things into a set. From the functionality perspective, allowing all Collections would be possible. This is also something we should check. This one should not even break the API as List also implements Collection. Probably there are more places where we can make use of Collection<>.
https://github.com/kit-data-manager/ro-crate-java/blob/146f40c7c635ff750d5abcd0a9ad31bc25d225f6/src/main/java/edu/kit/datamanager/ro_crate/entities/AbstractEntity.java#L342

We should consider keeping the order of author lists (and see how we currently do it). While we'll need to support that, I would like to encourage to give roles to people, like author or reviewer, via the API.

For the APIs, we should consider using Collections and/or Streams. Not yet sure what the best use case would be in our case. Internally we may use what is there for now, or adjust it to our needs.
Related: https://www.baeldung.com/java-return-stream-collection

repo: kit-data-manager/ro-crate-java


text:
Run action with additional args

Hi,
locally I can run "slim build --expose 8080 --expose 8000 --include-path /home/appuser --include-path /srv geniepy/demo" which gives me a runnable container. However when I execute
- name: Slim down the container image
uses: kitabisa/docker-slim-action@v1.1.2
env:
DSLIM_HTTP_PROBE: false
SLIM_EXPOSE: "8080,8000"
SLIM_INCLUDE_PATH: "/home/appuser"
with:
target: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.sha }}
tag: ${{ github.sha }}-slim
args: "--expose ${SLIM_EXPOSE} --include-path ${SLIM_INCLUDE_PATH}"
I does not consider the args, so that the resulting image (24MB!) does not work as expected, as there is too many things removed. I have caddy running, some static html and a FlaskAPI backend (reflex). Actually you I try to package a Python Reflex app (https://geniepy.com)

Actually, you can can control the behavior of the Slim build command by setting environment variables. More info: https://github.com/kitabisa/docker-slim-action?tab=readme-ov-file#inputs

authors: alepaltri hannes-sistemica

repo: kitabisa/docker-slim-action


text:
Cardio.framework missing

After running Carthage update, I get the Result.framerwork files but not the Cardio.framework files.
I am not sure if I am doing something wrong or it it is an issue.  This is my first time using Carthage.  Can you think of something that I would be doing wrong? Or is this a bug?

I figured out my problem. I was using the cartfile that I downloaded from github. Once I figured out how to create and use a new cartfile it created both the result and cardio frameworks.

repo: kitasuke/Cardio


text:
Use the proper user model

create_user was using django's default user model. Most projects to this date extend beyond that model and use something else. That model is indicated with the setting AUTH_MODEL.
This change uses that model instead of the default one. Should not affect functionality for users that require django's contrib auth model.

@tisto Something missing on my part for this?

@cdvv7788 thanks for the fix. I just saw it, sorry. Will look into it soon!

repo: kitconcept/robotframework-djangolibrary


text:
Kite makes 2019.3 EAP not being able to write

Hello Kite Team,
I just would like to report that on the new Pycharm 2019.3 EAP Professional, the Kite plugin makes the IDE unable to write. This means at the time of writing a character, it gets instantly deleted. This is solved when Kite plugin is disabled.

@jvaldiviezo9 Thank you for bringing this up. This will be investigated and fixed.
Which specific version of the EAP are you using?

This is the info related to the Version
PyCharm 2019.3 EAP (Professional Edition)
Build #PY-193.4386.14, built on October 9, 2019
PyCharm EAP User
Expiration date: November 8, 2019
Runtime version: 11.0.4+10-b517.1 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 10 10.0
GC: ParNew, ConcurrentMarkSweep
Memory: 4433M
Cores: 8
Registry:
Non-Bundled Plugins: com.jetbrains.intellij.datalore, net.seesharpsoft.intellij.plugins.csv, net.vektah.codeglance

I have similar issue with PyCharm 2019.3 EAP.
PyCharm 2019.3 EAP (Professional Edition)
Build #PY-193.3793.15, built on September 25, 2019
PyCharm EAP User
Expiration date: October 25, 2019
Runtime version: 11.0.4+10-b485.1 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.13.6
GC: G1 Young Generation, G1 Old Generation
Memory: 6000M
Cores: 4
Registry: debugger.watches.in.variables=false
Non-Bundled Plugins: BashSupport, Mongo Plugin, YAML/Ansible support, com.intellij.apacheConfig, com.kite.intellij, com.paperetto.dash, org.jetbrains.plugins.vue, ru.adelf.idea.dotenv
Kite Plugin: 1.2.26

Editor does not let me type also Kite Plugin keeps crashing with following error:
java.lang.NoSuchMethodError: 'void com.intellij.codeInsight.AutoPopupController.<init>(com.intellij.openapi.project.Project)'
	at kite.obsfucated.fo.<init>(KiteAutoPopupController.java:47)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
	at com.intellij.serviceContainer.ConstructorInjectionKt.instantiateUsingPicoContainer(constructorInjection.kt:44)
	at com.intellij.serviceContainer.PlatformComponentManagerImpl.instantiateClassWithConstructorInjection(PlatformComponentManagerImpl.kt:500)
	at com.intellij.serviceContainer.ServiceComponentAdapter.createAndInitialize(ServiceComponentAdapter.kt:52)
	at com.intellij.serviceContainer.ServiceComponentAdapter.doCreateInstance(ServiceComponentAdapter.kt:39)
	at com.intellij.serviceContainer.BaseComponentAdapter.getInstanceUncached(BaseComponentAdapter.kt:110)
	at com.intellij.serviceContainer.BaseComponentAdapter.getInstance(BaseComponentAdapter.kt:72)
	at com.intellij.serviceContainer.BaseComponentAdapter.getInstance$default(BaseComponentAdapter.kt:65)
	at com.intellij.serviceContainer.PlatformComponentManagerImpl.getService(PlatformComponentManagerImpl.kt:288)
	at com.intellij.openapi.components.ComponentManager.getService(ComponentManager.java:114)
	at com.intellij.codeInsight.AutoPopupController.getInstance(AutoPopupController.java:42)
	at com.intellij.codeInsight.editorActions.TypedHandler.autoPopupCompletion(TypedHandler.java:267)
	at com.intellij.codeInsight.editorActions.TypedHandler.lambda$execute$0(TypedHandler.java:173)
	at com.intellij.openapi.editor.impl.CaretModelImpl.lambda$runForEachCaret$3(CaretModelImpl.java:354)
	at com.intellij.openapi.editor.impl.CaretModelImpl.doWithCaretMerging(CaretModelImpl.java:453)
	at com.intellij.openapi.editor.impl.CaretModelImpl.runForEachCaret(CaretModelImpl.java:346)
	at com.intellij.openapi.editor.impl.CaretModelImpl.runForEachCaret(CaretModelImpl.java:336)
	at com.intellij.codeInsight.editorActions.TypedHandler.execute(TypedHandler.java:151)
	at com.intellij.codeInsight.lookup.impl.LookupTypedHandler.execute(LookupTypedHandler.java:75)
	at com.intellij.codeInsight.template.emmet.EmmetPreviewTypedHandler.execute(EmmetPreviewTypedHandler.java:39)
	at com.intellij.openapi.editor.impl.DefaultRawTypedHandler$1.run(DefaultRawTypedHandler.java:55)
	at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:874)
	at com.intellij.openapi.editor.impl.DefaultRawTypedHandler.execute(DefaultRawTypedHandler.java:49)
	at com.intellij.openapi.editor.impl.EditorFactoryImpl$MyRawTypedHandler.execute(EditorFactoryImpl.java:289)
	at com.intellij.openapi.editor.actionSystem.TypedAction.lambda$actionPerformed$0(TypedAction.java:133)
	at com.intellij.reporting.FreezeLoggerImpl.runUnderPerformanceMonitor(FreezeLoggerImpl.java:28)
	at com.intellij.openapi.editor.actionSystem.TypedAction.actionPerformed(TypedAction.java:133)
	at com.intellij.openapi.editor.impl.EditorImpl.processKeyTypedNormally(EditorImpl.java:1291)
	at com.intellij.openapi.editor.impl.EditorImpl.processKeyTyped(EditorImpl.java:1274)
	at com.intellij.openapi.editor.impl.EditorImpl.processKeyTyped(EditorImpl.java:3347)
	at com.intellij.openapi.editor.impl.EditorImpl$7.keyTyped(EditorImpl.java:1104)
	at java.desktop/java.awt.Component.processKeyEvent(Component.java:6606)
	at java.desktop/javax.swing.JComponent.processKeyEvent(JComponent.java:2849)
	at java.desktop/java.awt.Component.processEvent(Component.java:6428)
	at java.desktop/java.awt.Container.processEvent(Container.java:2263)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5026)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4858)
	at java.desktop/java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1950)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:878)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1148)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:1017)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:843)
	at com.intellij.ide.IdeKeyboardFocusManager.dispatchEvent(IdeKeyboardFocusManager.java:40)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4907)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2773)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4858)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:751)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:749)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:748)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:906)
	at com.intellij.ide.IdeEventQueue.dispatchKeyEvent(IdeEventQueue.java:832)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:773)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:422)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:705)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:421)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

were you able to replicate?

@jvaldiviezo9 Yes, we're able to replicate. The recent EAPs changed some internals which breaks the current version of the plugin. We'll release a fix for this soon.

@jvaldiviezo9 We have a fix for this issue in place, I expect that it'll be out this week.

Thank you very much, expecting for it!

The issue remains with PyCharm 2019.3 final and 2019.3.1 Preview.

@ruiEnca Hm, a fix was released a few week ago.
Could you post which version of the Kite plugin you're using? (File > Settings >Plugins > Kite)

@jansorg I have reinstalled Kite and the version 1.3.1.193 seems to work without problems.
Thx for you help!

authors: epaprat jansorg jvaldiviezo9 ruiEnca

repo: kiteco/plugins


text:
🛑 BitCanna API is down

In 3c5bbbf, BitCanna API (https://bitcanna-api.kitkat.zone/cosmos/auth/v1beta1/params) was down:

HTTP code: 502
Response time: 263 ms

Resolved: BitCanna API is back up in ac84026 after 2 days, 20 hours, 30 minutes.


text:
how to change the name of Filter box and label, also the url params ?

Is there a way to change the name of Filter box and label also the url params, via any function or config ?

The URL can't be changed easily.
If you want to change the name of the filter box, or the label, you can use the translation system (override the translation file of the bundle).
Best regards,
Philippe

Thanks but in my case, it's not being translated , it's kitpages_data_grid.filter

You probably have to activate the translator in your symfony app.

Thank you so much.

authors: philippe-levan safaa-alnablsi

repo: kitpages/KitpagesDataGridBundle


text:
"Exception: Shader didnt link, check info log" while trying to instantiate the widget not in build method

See traceback
File "/home/sergey/projects/kivy_relayr/graph/__init__.py", line 153, in __init__
     self._fbo = Fbo(size=self.size, with_stencilbuffer=False)
   File "kivy/graphics/fbo.pyx", line 148, in kivy.graphics.fbo.Fbo.__init__ (kivy/graphics/fbo.c:2895)
   File "kivy/graphics/instructions.pyx", line 750, in kivy.graphics.instructions.RenderContext.__init__ (kivy/graphics/instructions.c:10606)
   File "kivy/graphics/shader.pyx", line 184, in kivy.graphics.shader.Shader.__init__ (kivy/graphics/shader.c:3832)
   File "kivy/graphics/shader.pyx", line 687, in kivy.graphics.shader.Shader.vs.__set__ (kivy/graphics/shader.c:10883)
   File "kivy/graphics/shader.pyx", line 549, in kivy.graphics.shader.Shader.build_vertex (kivy/graphics/shader.c:8766)
   File "kivy/graphics/shader.pyx", line 579, in kivy.graphics.shader.Shader.link_program (kivy/graphics/shader.c:9205)

Looks like it's somehow connected to threading and opengl

The traceback doesn't help as you cutted the Kivy log that is necessary to understand the error.
If you used opengl in a thread, it will not work. That's the case with anything related to drawing and widgets in Kivy.
(it's a limitation from OpenGL)

authors: eviltnan tito


text:
Raspberry pi cannot init server

Hi,
I have followed the instructions to install Kivy on raspbery pi. Additionally, I installed xclip and xsel. However I cannot get it work with the following error:
`
pi@raspberrypi ~/pipivo/gui $ python main.py
[INFO   ] [Logger      ] Record log in /home/pi/.kivy/logs/kivy_16-03-01_17.txt
[INFO   ] [Kivy        ] v1.9.2-dev0
[INFO   ] [Python      ] v2.7.9 (default, Mar  8 2015, 00:52:26)
[GCC 4.9.2]
[INFO   ] [Factory     ] 182 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_gif, img_sdl2, img_pil (img_ffpyplayer ignored)
[INFO   ] [Text        ] Provider: sdl2
[INFO   ] [Window      ] Provider: egl_rpi
[INFO   ] [GL          ] OpenGL version <OpenGL ES 2.0>
[INFO   ] [GL          ] OpenGL vendor
[INFO   ] [GL          ] OpenGL renderer
[INFO   ] [GL          ] OpenGL parsed version: 2, 0
[INFO   ] [GL          ] Shading version <OpenGL ES GLSL ES 1.00>
[INFO   ] [GL          ] Texture max size <2048>
[INFO   ] [GL          ] Texture max units <8>
[INFO   ] [Shader      ] fragment shader:
[INFO   ] [Shader      ] vertex shader:
[INFO   ] [Window      ] virtual keyboard not allowed, single mode, not docked
(process:881): Gtk-WARNING **: Locale not supported by C library.
Using the fallback 'C' locale.
Unable to init server: Could not connect: Connection refused
Unable to init server: Could not connect: Connection refused
(main.py:881): Gtk-CRITICAL **: gtk_clipboard_get_for_display: assertion 'display != NULL' failed
[INFO   ] [Clipboard   ] Provider: gtk3(['clipboard_dbusklipper'] ignored)
xclip version 0.12
Copyright (C) 2001-2008 Kim Saunders et al.
Distributed under the terms of the GNU GPL
`
Do you have any idea what is this?
Thanks,
Rafal

I believe the xclip package requires the X server to be running...
I have been using Kivy on Raspberry Pi with this error with few problems. It seems xclip and xsel are not critical to Kivy operation, unless you are using the text box widgets (and then you don't need xclip unless you use cut/paste operations).

Every clipboard implementation we have for Linux requires X11. I suppose we could make a Kivy-only clipboard, it just wouldn't be quite as useful as it won't share that clipboard data with other apps - though that probably isn't much of an issue on RPi. I wouldn't count on it happening, as it's a rare use case with little benefit.

Thanks for comments,
I reinstalled everything and the init error seems to be caused by upgrade in RPi. Now, however, the simple app (just label) is running without errors but there is nothing displayed only console. The log is:
[INFO              ] Logger: Record log in /home/pi/.kivy/logs/kivy_16-03-02_6.txt
[INFO              ] Kivy: v1.9.2-dev0
[INFO              ] Python: v2.7.9 (default, Mar  8 2015, 00:52:26)
[GCC 4.9.2]
[INFO              ] Factory: 182 symbols loaded
[DEBUG             ] Cache: register <kv.lang> with limit=None, timeout=None
[DEBUG             ] Cache: register <kv.image> with limit=None, timeout=60
[DEBUG             ] Cache: register <kv.atlas> with limit=None, timeout=None
[INFO              ] Image: Providers: img_tex, img_dds, img_gif, img_pygame, img_pil (img_ffpyplayer ignored)
[DEBUG             ] Cache: register <kv.texture> with limit=1000, timeout=60
[DEBUG             ] Cache: register <kv.shader> with limit=1000, timeout=3600
[INFO              ] Text: Provider: pygame
[DEBUG             ] App: Loading kv <./my.kv>
[DEBUG             ] App: kv <./my.kv> not found
[INFO              ] Window: Provider: egl_rpi
[DEBUG             ] Window: Actual display size: 720x480
[INFO              ] GL: OpenGL version <OpenGL ES 2.0>
[INFO              ] GL: OpenGL vendor
[INFO              ] GL: OpenGL renderer
[INFO              ] GL: OpenGL parsed version: 2, 0
[INFO              ] GL: Shading version <OpenGL ES GLSL ES 1.00>
[INFO              ] GL: Texture max size <2048>
[INFO              ] GL: Texture max units <8>
[INFO              ] Shader: fragment shader:
[DEBUG             ] Shader: Fragment compiled successfully
[INFO              ] Shader: vertex shader:
[DEBUG             ] Shader: Vertex compiled successfully
[DEBUG             ] ImagePygame: Load </usr/local/lib/python2.7/dist-packages/kivy/data/glsl/default.png>
[INFO              ] Window: virtual keyboard not allowed, single mode, not docked
[DEBUG             ] Resource: add </usr/share/fonts/truetype> in path list
[DEBUG             ] Resource: add </usr/share/fonts/truetype/dejavu> in path list
[DEBUG             ] Resource: add </usr/share/fonts/truetype/roboto> in path list
[DEBUG             ] Resource: add </usr/share/fonts/truetype/openoffice> in path list
[DEBUG             ] Resource: add </usr/share/fonts/truetype/droid> in path list
[DEBUG             ] Resource: add </usr/share/fonts/truetype/freefont> in path list
[DEBUG             ] Resource: add </usr/share/fonts/truetype/gentium-basic> in path list
[DEBUG             ] Resource: add </usr/local/share/fonts> in path list
[DEBUG             ] Resource: add </usr/local/lib/python2.7/dist-packages/kivy/data/fonts> in path list
[INFO              ] OSC: using  for socket
[DEBUG             ] Base: Create provider from mouse
[DEBUG             ] Base: Create provider from probesysfs,provider=mtdev
[DEBUG             ] ProbeSysfs: using probesysfs!
[DEBUG             ] ProbeSysfs: found device: Logitech USB Receiver at /dev/input/event0
[INFO              ] ProbeSysfs: device match: /dev/input/event0
[INFO              ] MTD: Read event from </dev/input/event0>
[DEBUG             ] ProbeSysfs: found device: Logitech USB Receiver at /dev/input/event1
[INFO              ] ProbeSysfs: device match: /dev/input/event1
[INFO              ] MTD: Read event from </dev/input/event1>
[DEBUG             ] ProbeSysfs: found device: stmpe-ts at /dev/input/event2
[INFO              ] ProbeSysfs: device match: /dev/input/event2
[INFO              ] MTD: Read event from </dev/input/event2>
[DEBUG             ] Base: Create provider from probesysfs,provider=hidinput
[DEBUG             ] ProbeSysfs: using probesysfs!
[DEBUG             ] ProbeSysfs: found device: Logitech USB Receiver at /dev/input/event0
[INFO              ] ProbeSysfs: device match: /dev/input/event0
[INFO              ] HIDInput: Read event from </dev/input/event0>
[DEBUG             ] ProbeSysfs: found device: Logitech USB Receiver at /dev/input/event1
[INFO              ] ProbeSysfs: device match: /dev/input/event1
[INFO              ] HIDInput: Read event from </dev/input/event1>
[DEBUG             ] ProbeSysfs: found device: stmpe-ts at /dev/input/event2
[INFO              ] ProbeSysfs: device match: /dev/input/event2
[INFO              ] HIDInput: Read event from </dev/input/event2>
[INFO              ] Base: Start application main loop
[INFO              ] MTD: </dev/input/event0> range position X is 0 - 0
[INFO              ] MTD: </dev/input/event0> range position Y is 0 - 0
[INFO              ] MTD: </dev/input/event0> range touch major is 0 - 0
[INFO              ] MTD: </dev/input/event0> range touch minor is 0 - 0
[INFO              ] MTD: </dev/input/event0> range pressure is 0 - 255
[INFO              ] MTD: </dev/input/event1> range position X is 0 - 0
[INFO              ] MTD: </dev/input/event1> range position Y is 0 - 0
[INFO              ] MTD: </dev/input/event1> range touch major is 0 - 0
[INFO              ] MTD: </dev/input/event2> range position X is 0 - 4095
[INFO              ] MTD: </dev/input/event2> range position Y is 0 - 4095
[INFO              ] MTD: </dev/input/event2> range touch major is 0 - 0
[INFO              ] MTD: </dev/input/event0> axes invertion: X is 0, Y is 0
[INFO              ] MTD: </dev/input/event0> rotation set to 0
[INFO              ] MTD: </dev/input/event1> range touch minor is 0 - 0
[INFO              ] MTD: </dev/input/event1> range pressure is 0 - 255
[INFO              ] MTD: </dev/input/event2> range touch minor is 0 - 0
[INFO              ] MTD: </dev/input/event2> range pressure is 0 - 255
[INFO              ] HIDMotionEvent: using
[INFO              ] MTD: </dev/input/event1> axes invertion: X is 0, Y is 0
[INFO              ] MTD: </dev/input/event1> rotation set to 0
[INFO              ] HIDMotionEvent: using
[INFO              ] MTD: </dev/input/event2> axes invertion: X is 0, Y is 0
[INFO              ] MTD: </dev/input/event2> rotation set to 0
[INFO              ] GL: NPOT texture support is available
[INFO              ] HIDMotionEvent: using
[INFO              ] HIDMotionEvent:  range ABS X position is 0 - 4095
[INFO              ] HIDMotionEvent:  range ABS Y position is 0 - 4095
[INFO              ] HIDMotionEvent:  range ABS pressure is 0 - 255
My setup is RPi + 2.8 TFT. I tried to start kivy from gui, from ssh and from command line mode including sudo. This is my configuration file:
[kivy]
keyboard_repeat_delay = 300
keyboard_repeat_rate = 30
log_dir = logs
log_enable = 1
log_level = debug
log_name = kivy_%y-%m-%d_%_.txt
window_icon =
keyboard_mode =
keyboard_layout = qwerty
desktop = 1
exit_on_escape = 1
pause_on_minimize = 0
config_version = 14
[graphics]
display = 1
fullscreen = 1
height = 240
left = 0
maxfps = 60
multisamples = 2
position = auto
rotation = 0
show_cursor = 1
top = 0
width = 320
resizable = 1
borderless = 1
window_state = visible
minimum_width = 0
minimum_height = 0
[input]
mouse = mouse
mtdev_%(name)s = probesysfs,provider=mtdev
hid_%(name)s = probesysfs,provider=hidinput
[postproc]
double_tap_distance = 20
double_tap_time = 250
ignore = []
jitter_distance = 0
jitter_ignore_devices = mouse,mactouch,
retain_distance = 50
retain_time = 0
triple_tap_distance = 20
triple_tap_time = 375
[widgets]
scroll_timeout = 250
scroll_distance = 20
scroll_friction = 1.
scroll_stoptime = 300
scroll_moves = 5
[modules]
I have no clue why nothing is displayed.

The Raspberry Pi automatically outputs the screen to the HDMI port. The
Kivy docs suggest this output can be redirected, but I've not been able to
make that work.
I've resorted to using a program called fbcp to copy the display from fb0
to fb1.I just start and run it in the background.
On Wed, Mar 2, 2016 at 12:27 AM, guma44 notifications@github.com wrote:

Thanks for comments,
I reinstalled everything and the init error seems to be caused by upgrade
in RPi. Now, however, the simple app (just label) is running without errors
but there is nothing displayed only console. The log is:
[INFO ] Logger: Record log in /home/pi/.kivy/logs/kivy_16-03-02_6.txt
[INFO ] Kivy: v1.9.2-dev0
[INFO ] Python: v2.7.9 (default, Mar 8 2015, 00:52:26)
[GCC 4.9.2]
[INFO ] Factory: 182 symbols loaded
[DEBUG ] Cache: register with limit=None, timeout=None
[DEBUG ] Cache: register with limit=None, timeout=60
[DEBUG ] Cache: register with limit=None, timeout=None
[INFO ] Image: Providers: img_tex, img_dds, img_gif, img_pygame, img_pil
(img_ffpyplayer ignored)
[DEBUG ] Cache: register with limit=1000, timeout=60
[DEBUG ] Cache: register with limit=1000, timeout=3600
[INFO ] Text: Provider: pygame
[DEBUG ] App: Loading kv <./my.kv>
[DEBUG ] App: kv <./my.kv> not found
[INFO ] Window: Provider: egl_rpi
[DEBUG ] Window: Actual display size: 720x480
[INFO ] GL: OpenGL version
[INFO ] GL: OpenGL vendor
[INFO ] GL: OpenGL renderer
[INFO ] GL: OpenGL parsed version: 2, 0
[INFO ] GL: Shading version
[INFO ] GL: Texture max size <2048>
[INFO ] GL: Texture max units <8>
[INFO ] Shader: fragment shader:
[DEBUG ] Shader: Fragment compiled successfully
[INFO ] Shader: vertex shader:
[DEBUG ] Shader: Vertex compiled successfully
[DEBUG ] ImagePygame: Load
[INFO ] Window: virtual keyboard not allowed, single mode, not docked
[DEBUG ] Resource: add in path list
[DEBUG ] Resource: add in path list
[DEBUG ] Resource: add in path list
[DEBUG ] Resource: add in path list
[DEBUG ] Resource: add in path list
[DEBUG ] Resource: add in path list
[DEBUG ] Resource: add in path list
[DEBUG ] Resource: add in path list
[DEBUG ] Resource: add in path list
[INFO ] OSC: using for socket
[DEBUG ] Base: Create provider from mouse
[DEBUG ] Base: Create provider from probesysfs,provider=mtdev
[DEBUG ] ProbeSysfs: using probesysfs!
[DEBUG ] ProbeSysfs: found device: Logitech USB Receiver at
/dev/input/event0
[INFO ] ProbeSysfs: device match: /dev/input/event0
[INFO ] MTD: Read event from
[DEBUG ] ProbeSysfs: found device: Logitech USB Receiver at
/dev/input/event1
[INFO ] ProbeSysfs: device match: /dev/input/event1
[INFO ] MTD: Read event from
[DEBUG ] ProbeSysfs: found device: stmpe-ts at /dev/input/event2
[INFO ] ProbeSysfs: device match: /dev/input/event2
[INFO ] MTD: Read event from
[DEBUG ] Base: Create provider from probesysfs,provider=hidinput
[DEBUG ] ProbeSysfs: using probesysfs!
[DEBUG ] ProbeSysfs: found device: Logitech USB Receiver at
/dev/input/event0
[INFO ] ProbeSysfs: device match: /dev/input/event0
[INFO ] HIDInput: Read event from
[DEBUG ] ProbeSysfs: found device: Logitech USB Receiver at
/dev/input/event1
[INFO ] ProbeSysfs: device match: /dev/input/event1
[INFO ] HIDInput: Read event from
[DEBUG ] ProbeSysfs: found device: stmpe-ts at /dev/input/event2
[INFO ] ProbeSysfs: device match: /dev/input/event2
[INFO ] HIDInput: Read event from
[INFO ] Base: Start application main loop
[INFO ] MTD: range position X is 0 - 0
[INFO ] MTD: range position Y is 0 - 0
[INFO ] MTD: range touch major is 0 - 0
[INFO ] MTD: range touch minor is 0 - 0
[INFO ] MTD: range pressure is 0 - 255
[INFO ] MTD: range position X is 0 - 0
[INFO ] MTD: range position Y is 0 - 0
[INFO ] MTD: range touch major is 0 - 0
[INFO ] MTD: range position X is 0 - 4095
[INFO ] MTD: range position Y is 0 - 4095
[INFO ] MTD: range touch major is 0 - 0
[INFO ] MTD: axes invertion: X is 0, Y is 0
[INFO ] MTD: rotation set to 0
[INFO ] MTD: range touch minor is 0 - 0
[INFO ] MTD: range pressure is 0 - 255
[INFO ] MTD: range touch minor is 0 - 0
[INFO ] MTD: range pressure is 0 - 255
[INFO ] HIDMotionEvent: using
[INFO ] MTD: axes invertion: X is 0, Y is 0
[INFO ] MTD: rotation set to 0
[INFO ] HIDMotionEvent: using
[INFO ] MTD: axes invertion: X is 0, Y is 0
[INFO ] MTD: rotation set to 0
[INFO ] GL: NPOT texture support is available
[INFO ] HIDMotionEvent: using
[INFO ] HIDMotionEvent: range ABS X position is 0 - 4095
[INFO ] HIDMotionEvent: range ABS Y position is 0 - 4095
[INFO ] HIDMotionEvent: range ABS pressure is 0 - 255
My setup is RPi + 2.8 TFT. I tried to start kivy from gui, from ssh and
from command line mode including sudo. This is my configuration file:
[kivy]
keyboard_repeat_delay = 300
keyboard_repeat_rate = 30
log_dir = logs
log_enable = 1
log_level = debug
log_name = kivy_%y-%m-%d_%_.txt
window_icon =
keyboard_mode =
keyboard_layout = qwerty
desktop = 1
exit_on_escape = 1
pause_on_minimize = 0
config_version = 14
[graphics]
display = 1
fullscreen = 1
height = 240
left = 0
maxfps = 60
multisamples = 2
position = auto
rotation = 0
show_cursor = 1
top = 0
width = 320
resizable = 1
borderless = 1
window_state = visible
minimum_width = 0
minimum_height = 0
[input]
mouse = mouse
mtdev_%(name)s = probesysfs,provider=mtdev
hid_%(name)s = probesysfs,provider=hidinput
[postproc]
double_tap_distance = 20
double_tap_time = 250
ignore = []
jitter_distance = 0
jitter_ignore_devices = mouse,mactouch,
retain_distance = 50
retain_time = 0
triple_tap_distance = 20
triple_tap_time = 375
[widgets]
scroll_timeout = 250
scroll_distance = 20
scroll_friction = 1.
scroll_stoptime = 300
scroll_moves = 5
[modules]
I have no clue why nothing is displayed.
—
Reply to this email directly or view it on GitHub
https://github.com/kivy/kivy/issues/4050#issuecomment-191125871.

Thanks a lot, this thingy with redirection of buffers worked out! I needed only to adjust the rotations of the kivy and it is now really good. I think somebody can close this.

@kived we have dummy clipboard which does copy/paste within kivy.

authors: akshayaurora guma44 horsetailfiddlehead kived

repo: kivy/kivy


text:
Ffpyplayer version check

As with #3932
This checks for ffpyplayer._version_ but falls back on ffpyplayer.version, to accommodate older versions of ffpyplayer.

:+1:

authors: Laspimon matham


text:
Error loading the widget of a concurrent function

Description of the Bug
This is caused by mistake, by using a concurrent function, which processes text and sorts it in processing order to generate widgets.
It turns out that if you run this in an isolating environment, it works correctly, but you have such a big project, when I need to access this module my idea is to reuse the screen, commute multiple texts that it can process,
This widget is prepared to open links.
open images and copy plain texts inside the widget
It is based on a scrollview that has an mdlist and it executes different statements
The error arises when I use multiple screenmanagers to access each module of my project, when executing that application module it fails to load the widget
Code and Logs
import webbrowser
from kivy.core.clipboard import Clipboard
from kivy.metrics import dp
from kivymd.app import MDApp
from kivymd.uix.boxlayout import MDBoxLayout
from kivymd.uix.button import MDTextButton, MDRaisedButton
from kivymd.uix.dialog import MDDialog
from kivymd.uix.fitimage import FitImage
from kivymd.uix.label import MDLabel
from kivymd.uix.list import MDList
from kivy.core.window import Window
__version__ = 1.0
__author__ = "Mau"

from kivymd.uix.scrollview import MDScrollView

test = """
.:title:.Hola.:/title:.
habia una ves un pez llamado juanito
que este queria ser libre de que mamá este presa
entonces pasa esto..

.:title:.Termina EL texto.:/title:.

Copia: .:copy:.Imbuiments.:/copy:. para pergarlo donde corresponda.

agrupadas en dos alianzas militares enfrentadas: Los Aliados, por un lado, y las potencias del Eje, por otro. Fue la mayor contienda
bélica de la historia, con más de 100 millones de militares movilizados y un estado de guerra total en que los grandes contendientes

Link: .:link:.Preciona Aqui!.:https://www.ainhosoft.cl/TibiaKray/:..

.:imageurl:.http://www.ainhosoft.cl/TibiaKray/assets/images/LogoHD.jpeg.:/imageurl:.
"""

class Notification(MDDialog):

    def __init__(self, tittle, message, func_new=None, **kwargs):
        self.title = tittle
        self.text = message
        self.auto_dismiss = True
        self.accept = MDRaisedButton(text="Accept", on_release=self.exit)
        self.cancel = MDRaisedButton(text="Cancel", on_release=self.exit)
        self.buttons = [self.accept, self.cancel]
        super().__init__(**kwargs)
        if func_new is not None:
            self.accept.bind(on_release=func_new)

    def exit(self, *args):
        self.dismiss()

class AtributeLinkGet(MDTextButton):
    def __init__(self, target="https://www.ainhosoft.cl/TibiaKray", **kwargs):
        super().__init__(**kwargs)
        self.target = target
        self.bind(on_release=self.get_web)

    def get_web(self, *args):
        webbrowser.open(self.target)

class AtributeTextCopy(MDTextButton):
    def __init__(self, target=None, **kwargs):
        super().__init__(**kwargs)
        self.target = target
        self.bind(on_release=self.copy_items)

    def copy_items(self, *args):
        if self.target is not None:
            Clipboard.copy(self.target)
            Notification("Test", "has been copied successfully").open()
        return None

class DocumentsPreDefinition(MDScrollView):

    def __init__(self, information, **kwargs):
        super().__init__(**kwargs)
        self.container = MDList(padding=dp(15), spacing= dp(15))
        self.condition_page = []
        self.do_scroll_x = False
        self.do_scroll_y = True
        self.information = information
        self._plane_text = ""
        self._pre_build(self.information)
        self.build_items()
        self.add_widget(self.container)

    def Len_Resize_Windows(self, texto):  # -> kivy.metrics:
        result = len(texto)/ Window.size[0]
        result2 = int(result*5*55)
        return dp(result2)

    def build_items(self):
        for elements in self.condition_page:
            if elements.get("plane_text") is not None:
                self.container.add_widget(MDLabel(size_hint_y= None,height=self.Len_Resize_Windows(elements.get("plane_text")),text=elements.get("plane_text")))
            elif elements.get("title") is not None:
                self.container.add_widget(MDLabel(size_hint_y= None, height=dp(25), halign="center", font_style="H5", text=elements.get("title")))
            elif elements.get("copy") is not None:
                self.container.add_widget(elements.get("copy"))
            elif elements.get("link") is not None:
                self.container.add_widget(elements.get("link"))
            elif elements.get("imageurl") is not None:
                self.container.add_widget(elements.get("imageurl"))

    def _plane_text_format(self):
        if self._plane_text == "":
            return None
        self.condition_page.append({"plane_text": self._plane_text})
        self._plane_text = ""

    def _pre_build(self, info):
        info = info.split("\n")
        for lines in info:
            if lines == "":
                continue

            if ".:title:." in lines:
                if not self._plane_text == "":
                    self._plane_text_format()
                residue = self.__procesing_title(lines)
                if residue is not None:
                    raise Exception(f"In a title, it should not have more information: '{residue}'")

            elif ".:copy:." in lines:
                self._plane_text_format()
                residue = self.__procesing_copy(lines)
                self.condition_page.append({"copy": residue})

            elif ".:link:." in lines:
                self._procesing_link(lines)

            elif ".:imageurl:." in lines:
                self._procesing_image_url(lines)

            else:
                self._plane_text += lines + " "
        self._plane_text_format()

    def __procesing_multiple_elements(self, target, lines, num_control=0, sub_procesing={}) -> dict:
        sub_procesing = {} if sub_procesing == {} else sub_procesing
        if not target in lines[0]:
            sub_procesing.update({num_control: [False, lines[0]]})
            lines.pop(0)
        else:
            lines = lines[0].split(target)
            sub_procesing.update({num_control: [True, lines[0]]})
            lines.pop(0)
        num_control += 1

        if len(lines) != 0:
            self.__procesing_multiple_elements(target, lines, num_control, sub_procesing)

        return sub_procesing

    def _procesing_link(self, lines):
        sub_procesing = {}

        lines = lines.split('.:link:.')
        sub_procesing.update({1: [False, lines[0]]})

        comment = lines[1].split(".:")
        sub_procesing.update({2: comment[0]})

        link = comment[1].split(':.')
        sub_procesing.update({3: link[0]})

        print(link[1])
        sub_procesing.update({4: link[1]})

        container = MDBoxLayout(orientation="horizontal",adaptive_height = True, size_hint_y = None, height = dp(25))
        container.add_widget(MDLabel(text=sub_procesing.get(1)[1],adaptive_size = True))
        container.add_widget(AtributeLinkGet(text = sub_procesing.get(2), target=sub_procesing.get(3), theme_text_color= 'Custom', text_color= "004294"))
        container.add_widget(MDLabel(text=sub_procesing.get(4),adaptive_size = True))
        self.condition_page.append({"link":container})

    def __procesing_copy(self, lines) -> MDBoxLayout:
        lines = lines.split(".:copy:.")
        residue = self.__procesing_multiple_elements(".:/copy:.", lines)
        container_new = MDBoxLayout(orientation="horizontal",adaptive_height = True, size_hint_y = None, height = dp(25))
        for elements in residue.keys():
            obj = residue[elements]
            if obj[0]:
                container_new.add_widget(AtributeTextCopy(theme_text_color= 'Custom',text=obj[1], target=obj[1], text_color= "540909"))
            else:
                container_new.add_widget(MDLabel(text=obj[1],adaptive_size = True))

        return container_new

    def _procesing_image_url(self, lines):
        lines = lines.split('.:imageurl:.')
        residue = self.__procesing_multiple_elements(".:/imageurl:.", lines)
        container = MDBoxLayout(orientation="horizontal",adaptive_height = True, size_hint_y = None, height = dp(25))
        for elements in residue.keys():
            obj = residue[elements]
            if obj[0]:
                container.add_widget(FitImage(source=obj[1], size_hint_y= None, height= dp(350)))
            else:
                container.add_widget(MDLabel(text=obj[1],adaptive_size = True))

        self.condition_page.append({"imageurl":container})

    def __procesing_title(self, lines):
        lines = lines.replace(".:title:.", "")
        residue = None
        if ".:/title:." in lines:
            lines = lines.split(".:/title:.")
            if lines[1] == "":
                self.condition_page.append({"title": lines[0]})
            else:
                residue = lines[1]
        return residue

class MyApp(MDApp):

    def build(self):

        return DocumentsPreDefinition(test)

if __name__ == "__main__":
    MyApp().run()

class MainApp(App):
    def build(self):
        self.root = Builder.load_string(kv)

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

Screenshots
Add images to explain us this bug. Paste urls here.

The error arises when I use multiple screenmanagers to access each module of my project, when executing that application module it fails to load the widget

Versions

OS:
Python: 3.10
Kivy: master
KivyMD: master

Not related to the KivyMD library.

repo: kivymd/KivyMD