make executables smaller

exclude data files, tests, if those are being grabbed.  see if you can exclude some matplotlib backends.

Working to make the executables smaller is a great idea. Glad that you are working on this issue.

I tried manually preventing all of the other backends, and it made basically no difference in the size:  https://github.com/pyinstaller/pyinstaller/issues/2785.

Excluding basemap makes the distribution a tiny bit smaller, but not much (and it is used in Demag GUI).  I thought it might be worth excluding if the gains were large, but they are not.
Excluding pytz doesn't appear to help much either, but I think some substantial timezone stuff is still being grabbed.

maybe we should shift to cartopy instead of basemap - it is where python seems to be moving.
lisa

On Mar 7, 2018, at 10:49 AM, Lori J<EMAIL_ADDRESS>wrote:
Excluding basemap makes the distribution a tiny bit smaller, but not much (and it is used in Demag GUI). I thought it might be worth excluding if the gains were large, but they are not.
Excluding pytz doesn't appear to help much either, but I think some substantial timezone stuff is still being grabbed.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/PmagPy/PmagPy/issues/312#issuecomment-371242951, or mute the thread https://github.com/notifications/unsubscribe-auth/AAKrDQ32SpjhTk4Vb075sNVlm7JzxCJvks5tcCuxgaJpZM4SUUWr.

Yes, we definitely need to do that switch.  @ltauxe, do you have time to look at cartopy_map_magic.py again?  It mostly worked but there was a weird issue with a missing band of data in the plot...

I've been able to get a modest but worthwhile size reduction in the windows executable by using UPX.  I've updated the setup_scripts README to reflect Haven't had much success on OS X.
I have a (currently) unanswered stack overflow question about this issue: https://stackoverflow.com/questions/49180871/upx-with-pyinstaller-not-working-on-os-x

Tried manually excluding some matplotlib backends as documented in this pyinstaller issue: https://github.com/pyinstaller/pyinstaller/issues/2785
but had only small gains here.
Between 3.13.0 and 3.15.0, the OS X standalones got much smaller (from ~400 to ~300).  I'm not sure what caused this.  Possibly it was upgrading to a newer version of Pyinstaller?
Current is 319.7 MB.
My optimizations since opening this issue have only reduced the size of the executable by ~2 MB.
Current version:
PyInstaller               3.4.dev0+gab8fd975           <pip>

Trying with:
PyInstaller               3.4.dev0+g31785ca8           <pip>

makes no difference.
Excluding IPython (which is a large import) gets us down to 307.8 MB, and everything still seems to work.
To do:

Try with -O
Probably the best way to decrease the size of the executables is to do it in a more bare bones Python environment.  Anaconda is a comparatively large Python distribution.  https://stackoverflow.com/questions/18548447/what-are-some-general-tips-to-reduce-the-file-size-for-a-pyinstaller-generated-e

-O doesn't help at all.

I was able to get down to 196.8 MB by installing Python with home-brew, instead of using Anaconda Python, yay!  I'll add instructions for installing Python + dependencies to the README.  Anaconda is still best for most uses, but it is bulky.

Just a quick idea, but have you tried starting with Miniconda (https://conda.io/miniconda.html) and pip installing only the packages needed after that?

@rminnett, yes,that is totally worth a try!

Pyinstaller works with miniconda, but it has some quirks.  I've added instructions for building with brew python or miniconda.  Both ways are kind of annoying, but few people will need to do this.  I'm going to try the miniconda from scratch now that I know what needs to happen, and make doubly sure it all works.

Updating setuptools is important for this process!  otherwise there are weird errors with six.

I've now made new releases to for both the OS X and Windows standalones that are significantly smaller than they were before.  Instructions for how to do so are included:  https://github.com/PmagPy/PmagPy/tree/master/setup_scripts
There's probably no more low-hanging fruit here.


[BUG] I'm being muted to myself after a few days using the program

Describe the bug
Title. When I'm muted, I can't see my own messages
To Reproduce

Steps to reproduce the behavior:

Play a few days
You will be muted to yourself

Expected behavior
Nothing
Logs

Add any relevant logs. Logs are found by going to File → Open Logs Folder

Screenshots

If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

OS: [e.g. Windows 10, 8, 7]
Version of bot detector [e.g. <IP_ADDRESS>4]

Additional context

If I delete the voice_ban.dt file in tf/, it works again

I don't believe this is possible as I'm pretty sure the code doesn't do anything around muting. I am unable to reproduce the issue and I have been running it quite a bit lately. This can be reopened if others come forward

oh right, the program doesn't mute people. I guess that what happened is what Jesse said.


diamond version

Hi,
May I know which diamond version is used? I just tried to use the nr database created under documentation directory using the latest diamond verison but failed with this error:
"Error: Incompatible database version".
Best,
Quan

Hi Quan,
Usually this problem occurs when you built diamond database with previous version of diamond and is trying to make an alignment with a newer version. Is this your case? CAT was developed and tested with diamond v0.8.31.

Thanks!

Hello,
I'm getting this same problem now with the downloaded CAT databases (2018-12-12).
Error: Database was built with a different version of Diamond and is incompatible.
[2019-03-11 23:37:55.541631] ERROR: Diamond finished abnormally.

I'm running Diamond v<IP_ADDRESS>, and installed everything from bioconda, which should have compatible Diamond versions. Which version of diamond was the 2018-12-12 CAT database built with?
Jeff


csv-parse Update

Getting an error on csv-parser. Please update the csv-parser version to 4.6.5 so that it may start working.

is there a way to update the dependencies?

closing since there was already same issue created


Volume Reconstruction

Hi! First of all, thanks for sharing code of this wonderful work.
I have some questions about saving SR result as a volume file.
With default setting, it seems like it only saves only N_eval number of slides.
Is there any guidelines for saving real volume data? for example, npy file or nii.gz file again.
In my case, I upsampled 128^3 volume in 512^3 for SR with scale 4.0, so I put 512^3 bicubic upsampled volume for input.
However, ours.nii.gz file shaped like 512x512x50.
I hope I can get your help soon. Thanks in advance!

Hello. If i understand your question correctly, you can leave N_eval blank. And with the current repo, it will just store all 512* 512*512 images.

Thanks a lot! With more study of your code, I manually fixed N-eval=512 and got similar result.
Further, I have few more questions, and if possible, it would be really greatful if you help me dealing with some problems.

I'm running experiments with my personal data, and my experiments results in some voxel values with larger than 1, while all the inputs were normalized with the range between 0~1. Is there any normalization process during training? What is the expected range of result from your experiments?

In case of bicubic interpolation experiment you've used as an comparison method, I'm wondering what specific method are you using. I'm currently dealing with 3D SR tasks, and I'm still wondering what are 'cubuic' interpolation mean in 3D datsets, and I still didn't found solution.

Hoping for your replies.
Thanks a lot in advance!


Only assign errors if parameter is non-NULL.

This fixes #4164.
pod lib lint --sources=https://cdn.cocoapods.org/ --analyze FirebaseFunctions.podspec

 -> FirebaseFunctions (2.5.1)
    - NOTE  | xcodebuild:  note: Using new build system
    - NOTE  | xcodebuild:  note: Planning build
    - NOTE  | xcodebuild:  note: Constructing build description
    - NOTE  | xcodebuild:  warning: Skipping code signing because the target does not have an Info.plist file. (in target 'App')

FirebaseFunctions passed validation.

Adding the comments seems excessive, since it's pretty obvious what's happening.

Thanks, removed.


compilation: FerMem.h not found

During compilation (make) I get this problem:
[...]
make[3]: Entering directory '/home/mhu027/src/Ferret/fer/special'
/usr/bin/gcc -m64 -fPIC -Dcrptd_cat_argument -Ddouble_p -Dgfortran -Dreclen_in_bytes -Dunix -Dxgks -DG77 -DG77_SIGNAL -DINTERNAL_READ_FORMAT_BUG -DMANDATORY_FORMAT_WIDTHS -DNEED_IAND -DNO_DOUBLE_ESCAPE_SLASH -DNO_OPEN_CARRIAGECONTROL -DNO_OPEN_SHARED -DNO_OPEN_READONLY -DNO_OPEN_RECORDTYPE -DNO_PASSED_CONCAT -DNO_PREPEND_STRING -DSTAR_1_SUPPORTED -DX_REFRESH -I. -I/usr/include -I/usr/local/netcdf-<IP_ADDRESS>-64/include -I/fer/common -I/fmt/cmn -I/ppl/tmap_inc -I/ppl/include -I/xgks/src/lib -I/xgks/port  -O -DNDEBUG   -c -o FerMem_routines.o FerMem_routines.c
FerMem_routines.c:4:20: fatal error: FerMem.h: No such file or directory
compilation terminated.
<builtin>: recipe for target 'FerMem_routines.o' failed
make[3]: *** [FerMem_routines.o] Error 1
make[3]: Leaving directory '/home/mhu027/src/Ferret/fer/special'
Makefile:184: recipe for target 'update' failed
make[2]: *** [update] Error 2
make[2]: Leaving directory '/home/mhu027/src/Ferret/fer'
Makefile:110: recipe for target 'ncdf4' failed
make[1]: *** [ncdf4] Error 2
make[1]: Leaving directory '/home/mhu027/src/Ferret/fer'
Makefile:15: recipe for target 'optimized' failed
make: *** [optimized] Error 2

I used a site_specific.mk from an earlier (~half a year ago) checkout (see #1865).

I am surprised this came up as the FerMem.h file is found in .../fer/common which should have been one of the include directories.  However, since you are using an old version of site_specific.mk, you might see what differences exist between that file and the site_specific.mk.in from the repository.
(One unrelated difference you will see is the removal of Java-related items in the new version.  Java was only used for the ThreddsBrowser, which was removed from Ferret/PyFerret.)

Not seeing this problem.

Make sure DIR_PREFIX given in site_specific.mk is correct.  Include directories are all relative to this value.


Test with python 3.7

I'm also removing sudo, because it's deprecated on travis.
Closes #59

Not sure why the nightly builds are timing out. We could just drop those tests.

The project was moved to github actions.


Geocoding example

Cleaning up geocoding results

Coverage decreased (-0.07%) to 70.972% when pulling 1ff8d6298f5d92a8079fd60d60f48a264b0b0570 on geocoding_example into f9e7a220bd01f59671b3c693f4f990391cef91ba on master.

LGTM, I thought I had read @jjmulenex's JIRA ticket to also include alignment of addresses that don't have icons set? Will this be part of a new PR or included in this one?

There are some style changes that need to be added to this branch still, including a fixed width blank icon for the case where there is no icon provided.  For the time being we will keep the icons provided by the service.

Coverage increased (+0.007%) to 71.049% when pulling addd42ea5ee6d933c9996e6ec1d5de4f225678b1 on geocoding_example into f9e7a220bd01f59671b3c693f4f990391cef91ba on master.

Coverage decreased (-0.06%) to 70.987% when pulling eb1499631904cfbb1b67098d379752e958f672cd on geocoding_example into f9e7a220bd01f59671b3c693f4f990391cef91ba on master.


site overrides: remove important from inline class

Closes https://github.com/zenodo/who-rdm/issues/23
When the .inline class was moved from invenio-app-rdm to invenio-theme, it also became !important which it was not before. This is causing an override of the SUI classes for .inline.fields, which is the reason for this change.
See:
invenio-theme, where the class became important:

https://github.com/inveniosoftware/invenio-theme/commit/7bf5d135bd681196e2c3421f33098100ee8ac065

History of invenio-app-rdm where it is not important:

https://github.com/inveniosoftware/invenio-app-rdm/blob/eb2b383c646045fc7420601d78311a7424a98432/invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/globals/site.overrides#L456

thank you for fixing this!


Fix sort by price

Before, ps_facetedsearch used column p.price to sort by price, but this is not correct, because it does not take into consideration catalog rules. This commit takes the prices from ps_layered_price_index to sort by price.

This change is

Hi and thanks for your contribution.
Really sorry to answer just now.
We are currently working on a huge refactoring (#52) where we can maybe include what you did, but unfortunately we can't merge it in the dev branch.
Kind regards

Your patch has been applied in #52
Kind regards


Include NodeJS builtin 'buffer' in rollup using rollup node pollyfills.

To solve this issue. I have only been able to test this on my Galaxy Tab S8 but so far this fix seems functional and restores this plugins ability to embed images in the notes.

Thanks, this resolves #8 for me too.


Add fix for Xcode 12.5

👋
I was unable to compile this project using Xcode 12.5, and I didn't see any pull requests that fixed the problem so here's my attempt.
Steps to repro:

Clone this repo
Open Package.swift
CMD+B

Compiler error on XCTest.swift:48 -
'XCTIssueReference' is not implicitly convertible to 'XCTIssue'; did you mean to use 'as' to explicitly convert?

Oh! They really do love to keep us on our toes.
Thanks @kerrmarin-lvmh.


Unable to run app "incrementalReleaseJavaCompilationSafeguard"

Hello, I have followed all of the basic steps in order to test lottie but whenever I run it I get this exception
`Execution failed for task ':lottie-react-native:incrementalReleaseJavaCompilationSafeguard`
> java.io.IOException: Could not delete path 'C:\Shariq\Albert\NewLottieTesting\node_modules\lottie-react-native\lib\android\build\intermediates\classes\release\android'.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 1 mins 8.53 secs
Could not install the app on the device, read the error above for details.
Make sure you have an Android emulator running or a device connected and have
set up your Android development environment:
https://facebook.github.io/react-native/docs/android-setup.html

I have searched a lot and didn't come up with any results so I'm posting an issue here.
Here is my code:
INDEX.ANDROID.JS
import {AppRegistry} from 'react-native';
import App from './src/App';
export default App;
AppRegistry.registerComponent('NewLottieTesting', () => NewLottieTesting);

and here is my App.js
import React from 'react';
import { Animated } from 'react-native';
import Animation from 'lottie-react-native';

export default class App extends React.Component {
    constructor(props) {
        super(props);
        this.state = {
            progress: new Animated.Value(0),
        };
    }

    componentDidMount() {
        Animated.timing(this.state.progress, {
            toValue: 1,
            duration: 25000,
        }).start();
    }

    render() {
        return (
            <Animation
        style={{
            width: 350,
                height: 350,
        }}
    source={require('../anim/data.json')}
    progress={this.state.progress}/>
);
}
}

@ShariqMush What's in your Android build.gradle file?

Closing this because it's stale. Feel free to reopen if it's still a issue.

I'm having similar error. Can the issue be reopened?
...
:lottie-react-native:generateReleaseBuildConfig FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':lottie-react-native:generateReleaseBuildConfig'.
> java.io.IOException: Could not delete path 'D:\myPATH\myApp\node_modules\lottie-react-native\src\android\build\generated\source\buildConfig\release\com'.


The Remarks are incorrect

This event is actually designed as a companion to DragStarting, so is fired by elements with CanDrag = true, after the drag and drop operation initiated from that element has finished (successfully or unsuccessfully).

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

ID: dad59210-d313-291b-1683-e709a6b10a74
Version Independent ID: f96daf06-a3fe-1d13-27c7-f47b85c2d365
Content: UIElement.DropCompleted Event (Windows.UI.Xaml) - Windows UWP applications
Content Source: https://cpubwin.visualstudio.com/DefaultCollection/windows-uwp/_git/winrt-api-build?path=%2fwinrt-api-build%2fwindows.ui.xaml.uielement.yml&version=GBlive&_a=contents
Product: uwp
Git Login: jwmsft
Microsoft Alias: jimwalk

@jwmsft - could you please update the doc to update the remark mentioned  in this Issue.

The doc has been updated.


Podcasts management

It would be awesome if Groove Basin can support podcasts
management - to be able to download and also just online playback (without download) of
podcasts.
Also, can you add Import By URL to the Sandstorm version of Groovebasin?

@dwrensha is the maintainer of sandstorm. I believe that project has its own issue tracker.

I've opened an issue: https://github.com/dwrensha/groovebasin/issues/3


Upgrade OpenAI to 1.0 and add llamafile support

Purpose
This PR updates the repo to support OpenAI 1.0. While I was at it, I also added support and documentation for llamafile local LLM via an environment variable.
Does this introduce a breaking change?

[ ] Yes
[X] No

Pull Request Type
What kind of change does this Pull Request introduce?

[ ] Bugfix
[X] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

How to Test

Tests should all pass. Mocks are updated.
Run server locally, should work.
Deployed app should work.

Waiting on https://github.com/Azure/azure-sdk-for-python/issues/33858


[bug] Public Registry not populated

:warning: Use this to report bugs related to the Intuita VS Code extension, not codemod-specific issues and improvements. For codemod-specific issues, please submit an issue in the codemod registry.

Describe the bug
The public registry doesn't show any results
Steps to Reproduce
Steps to reproduce the behavior:

Go to Intuita viewlet

Click on 'Codemod Discovery'

See no results

Search for 'msw'
See no results
Screenshots
If applicable, add screenshots to help explain your problem.
Actual behavior
Public registry shows no results
Expected behavior
Public registry shows results
Environment:

Intuita extension version: 0.36.16
OS: Windows 10 Enterprise, build number 19045.3693
Node.js version: 20.10.0

Additional context
Add any other context about the problem here.

Hmm, I’ve just installed the extension and I am seeing the same issue 6 weeks later… is this project maintained?

@MattyBalaam Yes, we have a ticket opened for this. I'll make sure to have it prioritized ASAP. Thanks for re-activating this issue, Matty.

@MattyBalaam We already debugged the issue and planning to add Windows support during current sprint.

@MattyBalaam Windows support is now available in v0.38.10 🎉

thanks @GeorgeWL for reporting this issue. please let us know if you come across any issues with our CLI or extension.


Error when trying to preload data on many_to_many with binary_id foreign keys

Precheck
I receive the following error:
** (ArgumentError) Postgrex expected a binary of 16 bytes that can be encoded/cast to type "uuid", got "710e27db-91dd-4c8f-8e8d-a520eec7a095". Please make sure the value you are passing matches the definition in your table or in your query or convert the value accordingly.
    (postgrex) lib/postgrex/extensions/uuid.ex:9: Postgrex.Extensions.UUID.encode/4
    (postgrex) lib/postgrex/query.ex:100: DBConnection.Query.Postgrex.Query.do_encode/4
    (postgrex) lib/postgrex/query.ex:61: DBConnection.Query.Postgrex.Query.encode/3
    (db_connection) lib/db_connection.ex:885: DBConnection.describe_execute/5
    (db_connection) lib/db_connection.ex:966: anonymous fn/4 in DBConnection.run_meter/5
    (db_connection) lib/db_connection.ex:421: DBConnection.query/4
    (ecto) lib/ecto/adapters/sql.ex:379: Ecto.Adapters.SQL.sql_call!/6
    (ecto) lib/ecto/adapters/sql.ex:363: Ecto.Adapters.SQL.execute/6

Environment

Elixir version (elixir -v): 1.2.3
Database and version (PostgreSQL 9.4, MongoDB 3.2, etc.): 9.4
Ecto version (mix deps): 2.0.0-beta2
Database adapter and version (mix deps): postgrex 1.11.0
Operating system: Mac OSX

Current behavior
Error as above. I have created a sample application that reproduces the behaviour at https://github.com/andrewtimberlake/ecto_test
Expected behavior
That I can preload the association.

About to report the same issue

As @dmarinortega and I were discussing this "bug", I got this minimum example:
This works:
  from(s in Schema)
  |> where([s], s.id == ^some.id)

This will not work:
  from(s in "schemas")
  |> where([s], s.id == ^some.id)

The problem could be that the association query don't really know which type to cast, since there's no defined/referenced schema. In the given example, the error is supressed by doing:
  from(s in "schemas")
  |> where([s], s.id == type(^some.id, Ecto.UUID))

Thank you for the app that reproduces the error, really helpful!

It’s a pleasure, glad I could help

On 09 Apr 2016, at 19:24, José Valim<EMAIL_ADDRESS>wrote:
Thank you for the app that reproduces the error, really helpful!
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub https://github.com/elixir-lang/ecto/issues/1357#issuecomment-207819509


[Port] TL support for filtering

Porting this change from 15.4. Not porting specific commits to change th vsix for now since similar changes are already in master.

I ran into a stack overflow using the filter, filed an issue here: #1079

@smadala , @singhsarab .. you guys already approved this on another branch. If you don't see any concerns with this port, I can just push this in.

@AbhitejJohn When can we get this change merged and inserted?

@dotnet-bot test Windows_NT / Release Build please.

@genlu : Was hoping to get this in yesterday. Will push this in today after I get approvals.


Remove django 3.2 and 4.1

Removes Django 3.2 and 4.1
Uses stable version of python 3.12 (instead of RC)
Uses stable version of django 5.0 (instead of alpha)
Pins version of poetry to always get similar lock files

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
5 unchanged lines in 3 files lost coverage.
Overall coverage decreased (-0.1%) to 89.744%

Files with Coverage Reduction
New Missed Lines
%

django_q/tests/test_scheduler.py
1
99.52%

django_q/utils.py
1
89.13%

django_q/core_signing.py
3
81.63%

Totals

Change from base Build<PHONE_NUMBER>:
-0.1%

Covered Lines:
3334

Relevant Lines:
3715

💛  - Coveralls


File changes do not save.

Prerequisites

[X] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: https://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: https://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description

Steps to Reproduce

Open a file in atom, make changes to it and save.

Repeat couple of times.

Expected behavior:

 Every save should persist changes.

Actual behavior:

 Save doesn't persist changes. A blue dot on the file name tab is observed.

Reproduces how often:

 Intermittent but frequent, near about 100% of the time.

Versions
Atom    : 1.51.0                                                                                Electron: 5.0.13                                                                                Chrome  : 73.0.3683.121                                                                                Node    : 12.0.0

Additional Information

Hi @sandeep-tukaram, I currently can't reproduce this issue, could you try running atom in safe mode and confirm if this issue exists?

@darangi tries safe mode. Could repro the issue. One observation - the issue is seen with java projects and not on python projects.

@sandeep-tukaram this PR fixes the issue with java files. The fix should hit nightly soon


ModuleEnvironment confused by class name collisions

If there are multiple classes with exactly the same name (including package), ModuleEnvironment.getTypesAnnotatedWith may return the wrong results. For each class that has the annotation in the current module set, it returns an arbitrary class with the same name, possibly even from a module that isn't currently loaded. Obviously having name collisions in the first place should be avoided, but fixing this too could help prevent some very confusing bugs.
The actual problem occurs in the reflections library, which refers to classes by name instead of by Class object internally. I don't know whether the most appropriate fix would be in Terasology, in Gestalt, or in Reflections.

Dare I ask how you found this out?
How in the world is the java linker (outside any of our custom ModuleEnvironment/gestalt/reflections stuff) supposed to work if there are multiple classes with the same fully-qualified class name?

Dare I ask how you found this out?
How in the world is the java linker (outside any of our custom ModuleEnvironment/gestalt/reflections stuff) supposed to work if there are multiple classes with the same fully-qualified class name?

Dare I ask how you found this out?
How in the world is the java linker (outside any of our custom ModuleEnvironment/gestalt/reflections stuff) supposed to work if there are multiple classes with the same fully-qualified class name?

in original  java world fully-qualified classes which equals rewrites :/
in order, which classpath defined. ( i used this hack at IDEA 2018 and junit5 5.1.0, because IDEA use antother version for test run... and I catched method not found - array parameters replaced with varargs)

Dare I ask how you found this out?
How in the world is the java linker (outside any of our custom ModuleEnvironment/gestalt/reflections stuff) supposed to work if there are multiple classes with the same fully-qualified class name?

in original  java world fully-qualified classes which equals rewrites :/
in order, which classpath defined. ( i used this hack at IDEA 2018 and junit5 5.1.0, because IDEA use antother version for test run... and I catched method not found - array parameters replaced with varargs)

Dare I ask how you found this out?

I noticed this because Inferno contained a copy of part of Caves, modified to Inferno's purposes but still in the org.terasology.caves package, which meant that Caves wouldn't work is Inferno was also present in the workspace. (This specific issue is fixed in https://github.com/Terasology/Inferno/pull/19).

How in the world is the java linker (outside any of our custom ModuleEnvironment/gestalt/reflections stuff) supposed to work if there are multiple classes with the same fully-qualified class name?

I don't know how exactly a fix for this issue would work, but I would expect it to at least not lead to the behavior I saw, where a search for classes with the RegisterPlugin annotation returns Inferno's version of CaveFacetProvider, which doesn't even have that annotation.

Dare I ask how you found this out?

I noticed this because Inferno contained a copy of part of Caves, modified to Inferno's purposes but still in the org.terasology.caves package, which meant that Caves wouldn't work is Inferno was also present in the workspace. (This specific issue is fixed in https://github.com/Terasology/Inferno/pull/19).

How in the world is the java linker (outside any of our custom ModuleEnvironment/gestalt/reflections stuff) supposed to work if there are multiple classes with the same fully-qualified class name?

I don't know how exactly a fix for this issue would work, but I would expect it to at least not lead to the behavior I saw, where a search for classes with the RegisterPlugin annotation returns Inferno's version of CaveFacetProvider, which doesn't even have that annotation.

Could it perhaps help in general if we enforced package naming to the module's namespace? So every class in Inferno would have to start in package org.terasology.inferno... or we'd fail the build or something?

Could it perhaps help in general if we enforced package naming to the module's namespace? So every class in Inferno would have to start in package org.terasology.inferno... or we'd fail the build or something?

Just apply gestaltv7 PRs. :D
Every module was moved in own package.

Just apply gestaltv7 PRs. :D
Every module was moved in own package.

Every module was moved in own package.

Is that a permanent fix tho? Couldn't an author still pick a base package that doesn't match the module?
And before I get ahead of myself: that's a kinda fix for modules hosted under the Terasology org since naming there has to be unique. It wouldn't help for 3rd party modules hosted elsewhere - they could be named anything and use any sort of package naming.

Every module was moved in own package.

Is that a permanent fix tho? Couldn't an author still pick a base package that doesn't match the module?
And before I get ahead of myself: that's a kinda fix for modules hosted under the Terasology org since naming there has to be unique. It wouldn't help for 3rd party modules hosted elsewhere - they could be named anything and use any sort of package naming.

Author can use another packages...seems  it will works incorrectly. With gestaltv7.
We already have rules for hosted only modules.
Like rule for reflections on org.* Packages only (in gestaltv7 org.terasology.*)
Thirdparty modules should have custom gradle script. Also adds to game/server in handy way.
And have custom gathered reflections.
When we done with gestalt-di - third party module should be broken

Author can use another packages...seems  it will works incorrectly. With gestaltv7.
We already have rules for hosted only modules.
Like rule for reflections on org.* Packages only (in gestaltv7 org.terasology.*)
Thirdparty modules should have custom gradle script. Also adds to game/server in handy way.
And have custom gathered reflections.
When we done with gestalt-di - third party module should be broken

From looking at posts about similar java classpath collisions, this sounds like the sort of mess where I don't expect to make that inferno-caves-overlap thing work consistently.
But it would sure be helpful to detect and throw up a warning or error about it, along with some of the sorts of things you've mentioned here to help avoid module publishers from getting in to this position in the first place.
In searching I came across a tool for detecting duplicate classes called JHades. It's aimed at inspecting war files, which is not what we have, but it could be something to look at as we go to implement checks about this kind of thing.

From looking at posts about similar java classpath collisions, this sounds like the sort of mess where I don't expect to make that inferno-caves-overlap thing work consistently.
But it would sure be helpful to detect and throw up a warning or error about it, along with some of the sorts of things you've mentioned here to help avoid module publishers from getting in to this position in the first place.
In searching I came across a tool for detecting duplicate classes called JHades. It's aimed at inspecting war files, which is not what we have, but it could be something to look at as we go to implement checks about this kind of thing.

and from following some links from issues there: http://blog2.vorburger.ch/2019/02/how-to-find-duplicate-classes-and.html
using ClassGraph in opendaylight's infrautils

and from following some links from issues there: http://blog2.vorburger.ch/2019/02/how-to-find-duplicate-classes-and.html
using ClassGraph in opendaylight's infrautils


Add ESN/Widevine window settings and code cleaning

Check if this PR fulfills these requirements:

[x] My changes respect the Kodi add-on development rules
[x] I have read the CONTRIBUTING document.
[x] I made sure there wasn't another Pull Request opened for the same update/change
[x] I have successfully tested my changes locally

Types of changes

[x] New feature (non-breaking change which adds functionality)
[x] Feature change (non-breaking change which change behaviour of an existing functionality)
[x] Improvement (non-breaking change which improve functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description

This PR add a new xml window for change the ESN/Widevine settings
this finally makes it easier for the user to make ESN/Widevine changes and test the changes directly in the window,
this allowed further simplification of the code handling these things with less confusion
In this new window has been added a button to allow save into a txt file the device system information,
especially on android will make it easier for the user to provide the required data without installing other Apps from the store,
that on Android tv often is a problem for non-expert users and this will make it easier for maintainers to find the problem
In addition, the code has been cleaned up in relatively related parts
In case of Feature change / Breaking change:
Describe the current behavior

Describe the new behavior

Screenshots (if appropriate):

my device can not open ESN/Widevine window settings,every time i select ESN/Widevine  it will return to add on screen ..there is no ESN/Widevine window jump out.

@zhouyunjian this is a PR for development not for other problem discussion,
follow the rules to open an Issue bug thread


Please specify roles of both identities and methods to view them

[Enter feedback here] Please specify which identity is the user assigned identity and which one the system assigned.
Various documentation mention a kublet identity which can be retrieved by:
az aks show -g $RG -n $AKS --query identityProfile.kubeletidentity.clientId -o tsv
vs
az aks show -g $RG -n $AKS --query identity.principalId -o tsv
Which one is the "Cluster identitity" & which one is the "User identitity"
It seems like useridentity and kublet identity are the same. This document should clarify this clearly.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 6a9c74a8-9f1a-3d3d-3aed-f8ec45f92e05
Version Independent ID: 01e98043-dc80-490e-a761-8d558ff4e6df
Content: Use managed identities in Azure Kubernetes Service - Azure Kubernetes Service
Content Source: articles/aks/use-managed-identity.md
Service: container-service
GitHub Login: @mlearned
Microsoft Alias: thomasge

Thanks for the feedback! I'll take a look into it.

Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

Thank you! There is a new preview on bringing pre-created UserAssigned Managed Identities in AKS. Please do clearly call out the different ways & how to get your kublet and cluster identities (regardless of userAssigned or SystemAssigned)

Thank you @asubmani for the feedback.
I have added an item to our backlog and will prioritize accordingly.
#please-close


=> Cannot reconstruct, because path to COLMAP is not specified

Using the python script, there is no need to install COLMAP. When I try to reconstruct a recording, it says
==Cannot reconstruct, because path to COLMAP is not specified
Any help on this?

You may wish to download from https://github.com/colmap/colmap. Then pass the path as an argument --colmap_path "(...)"


protein sequence input

How can we use protein sequence as receptor input and ligand smiles file as a ligand input?
I tried to use fasta format or txt format for the sequence of my protein but I got an error as " can only join an iterable".
Also, how can we obtain a score for the results?

apptainer run --nv results/dependencies/neuralplexer/neuralplexer.sif neuralplexer-inference --task=batched_structure_sampling --model-checkpoint results/dependencies/neuralplexer/data/neuralplexermodels_downstream_datasets_predictions/models/complex_structure_prediction.ckpt --out-path results/data/test/2024-05-13_20:16/ --input-receptor "FGGGFGGGGGSGSGSGG|FGGGFGGGGGSGSGSGG|FGGSGSGSGG" --input-ligand "data/lig_ref.sdf|data/lig_ref.sdf" --sampler langevin_simulated_annealing --n-samples 10 --cuda

The sequences are provided as text directly to the argument of the shell.

@Luke-ebbis  Thanks. You're right about using it that way, not the fasta file. The reason I was trying to put the sequence as input was because neuralplexer's prediction for multi chain was weird, but it predicts the same thing when I put the sequence as input. I guess that means it doesn't exist naturally.

the protein sequence is working without " or ' but for ligand it only take
.sdf file not smiles. And also I see that there is a gap between proline
and backbone atom. it cannot bind proline to the next residue, Did
something like that happen for you?
ugi @.***>, 28 May 2024 Sal, 11:44 tarihinde şunu yazdı:

@Luke-ebbis https://github.com/Luke-ebbis Thanks. You're right about
using it that way, not the fasta file. The reason I was trying to put the
sequence as input was because neuralplexer's prediction for multi chain was
weird, but it predicts the same thing when I put the sequence as input. I
guess that means it doesn't exist naturally.
—
Reply to this email directly, view it on GitHub
https://github.com/zrqiao/NeuralPLexer/issues/20#issuecomment-2134664741,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATLZXWVDPB3S5C4ANSEZUHLZEQ7V3AVCNFSM6AAAAABE3FZJZWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZUGY3DINZUGE
.
You are receiving this because you authored the thread.Message ID:
@.***>

@ehsansyh  I got the same issue


Nuking_Lizards Ban Appeal

**Information:
IGN: Nuking_Lizards
Discord: Nuking_Lizards#4702**
Dear Oblique,
I would like to first state that I'm humbly sorry for my actions. My actions will never be forgotten but I hope for a day where we can look past my idiotic mistake. I was banned a couple of months back for abusing my perms. Said perms was access to Creative to spawn in copious shrines that I sold to Admin shop to generate copious amounts of money. I was reasonably banned, permanently, which is extremely justified. A week later I used a VPN and a relatives Minecraft account just to see what has happened to my town (Now revamped to TkTownies) I was banned again for use of an alt.
I would like to be unbanned because I miss the community. I miss the friends I've made and friends I haven't yet made. Although I have a 0% chance of ever becoming staff again, I also miss helping the player base and the community. My actions can not be justified by any means. However, I would like to grow past my mistake and be welcomed back into the amazing pixelmon community. I am a dedicated player and a very generous player as some may know. I hope for the day that we may meet again.
Kind Regards,
Nuking_Lizards

It’s not an easy journey, to get to a place where you forgive people.
— Tyler Perry

Forgiveness says you are given another chance to make a new beginning.
— Desmond Tutu

P.S. Kata, I hope you are happy with the grammar, punctuation, and spelling. I'm still trying to make you proud. <3

I won't be unbanning you because this appeal is way too early. You were banned on the 3rd of June. August just started. Especially for how large the extent of permission abuse was, this is too early. I understand you may be genuine with your apology but you knew what you were doing. The spawning in and selling, clearly methodical. If you miss the community and friends, should've never risked it in doing something so foolish. Not even going to bother with the alt because that dug your grave even deeper.
Also next time you do an appeal, don't add quotes, especially ones telling the person deciding your outcome how to think or feel. We're well aware what forgiveness is. We just have to determine if you're worth enough to get it.


Outliner indention error

Not sure this is the Theme's error or Outliner. But if you have a list, with an indention and a todo.
You get this double line, looks like this:

Really love the theme, this is the only thing I can't seem to get around myself.

Hi, did you update to the latest version of the theme?

Yes, checked for updates now, update all, and restart. Problem is still there. Could it be a Windows thing? I'm on Win 10 Pro.

It works on my iPhone, but not on my PC. So I'm guessing this is some Windows CSS problem.

Thank you for bringing this issue to our attention. I'm happy to let you know that the problem has been fixed. To resolve the double line issue you described, please ensure that you have the latest version of the theme. Also, now you can install "Style Settings" plugin to customize various aspects of your theme, including show/hide indentations.
I appreciate your feedback and hope that you continue to enjoy using the theme.

Yes, thanks! Can confirm, it's fixed. <3


Add big-endian test with GitHub Actions

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

Project coverage is 83.67%. Comparing base (d5fbdfd) to head (cc6a3b1).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #148      +/-   ##
==========================================
+ Coverage   79.04%   83.67%   +4.62%
==========================================
  Files          54       53       -1
  Lines        3198     2849     -349
==========================================
- Hits         2528     2384     -144
+ Misses        670      465     -205

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


Refactor Camera2D to separate property and display updates

Currently, almost any property change to Camera2D and almost all internal notifications call _update_scroll() which updates the Viewport transform by calling _get_camera_transform(). However, _get_camera_transform() is responsible for:

Updating the camera's target position (adjusted for drag margins and limits)
Updating the camera's current screen position (adjusted for smooth scrolling and limits).
Creating the Viewport's new Transform2D

This causes updates and recalculations to occur not only unnecessarily, but also undesirably. For example, changes to Camera2D's properties shouldn't cause updates to the current screen position. Therefore, currently, every time a property is updated, the changes to the current screen position need to be undone (see #2764, #39567, #63580 required to fix #2074, #16323 and #63083 respectively). Furthermore, making _get_camera_transform() responsible for everything results in various difficult to troubleshoot bugs (see #44358, #56336, #63330, #63572, #63738, etc.). To make matters worse, users call force_update_scroll() or even the hidden, but bound, method _update_scroll() to try workaround bugs.
This PR refactors the private methods _update_scroll() and _get_camera_transform() and adds:

void _update_viewport()
void _update_size()
void _update_position()

_update_position() is used to update the camera's target position based on the Node2D position and adjusted for drag margins and limits. It is called every time the position is updated or any of the properties (drag margins and limits) that affect the target position are changed.
_update_scroll() is now only called by the internal process notifications and only does anything when smoothing_enabled is true. It is used to close the gap between the current camera position and the target position in a consistent manner.
_get_camera_transform() now only calculates the Viewport transform based on the current camera position, zoom and, if rotating is true, rotation.
_update_viewport() is used instead of _update_scroll() to update the Viewport or the editor.
_update_size() is used to update the new screen_size variable when the screen size or zoom changes; instead of recalculating it every time it is needed.
This PR also includes forward ports of:

#46717
#46829
#53459

In addition, some internal variables have been renamed to make them easier to understand:

camera_pos -> target_position
smoothed_camera_pos -> current_position
smoothing -> smoothing_speed (along with its getter and setter)
first -> initialised (and reversed the logic)

And unneeded methods have been removed or unbound:

_get_camera_screen_size(): removed
force_update_scroll(): removed
_update_scroll(): unbound

Fixes #44358
Fixes #49747
Fixes #63572
Fixes #63738
Closes #56336
This PR also includes some additional enhancements:

When the Viewport size is larger than the camera limits, which can happen when zooming out, it interpolates the camera position between the limits; instead of the current arbitrary behaviour (https://github.com/godotengine/godot/issues/62441#issuecomment-1186246018) of locking it to the top-right corner due to the internal order of calculation.
As identified here and here, it ensures that scroll updates do not overshoot.
It updates the editor to only allow sensible values for smoothing_speed between 0 and 60 and drops the incorrect px/s suffix.
Finally, in addition to fixing #49747 i.e. reverts the change made by 1063ddfeb52c796a3207a62142cc3b7ae3fbccb7 to smoothing_speed to describe it as the speed is in pixels per second when it isn't, it also makes some minor documentation updates to hopefully make other methods and properties clearer.

poke poke?

This looks great. :+1:
I'm wondering whether it would be possible to have separate commits (or separate PR, and then build on it in this one?) for the existing forward ports of the 3 PRs from 3.x, then a separate PR for the improvements here? That might make it a little easier to review.

I'm wondering whether it would be possible to have separate commits (or separate PR, and then build on it in this one?) for the existing forward ports of the 3 PRs from 3.x, then a separate PR for the improvements here? That might make it a little easier to review.

If you plan on reviewing them, I don't see why not. cc @madmiraal Can you split your work into forward ports and enhancements?

Generally it looks pretty good I think. Probably would benefit from @KoBeWi or anyone else having a look through too.
Will require a bunch of testing with 2D projects in 4.x, and I can't really do this easily, I'm presuming @madmiraal has done this as much as possible.
I suspect ultimately it will probably have to be tried as one of those YOLO merges, and then watching for regressions, as the logic and order of operations are quite fiddly. But I agree it is worth refactoring and cleaning up Camera2D at this stage, before it becomes too difficult to change. :+1:

Needs rebase to make testing easier.

Would be good to reach consensus on whether this can be merged soon for 4.0. There have been a few other minor compat breaking changes to the Camera2D API in the meantime (rotation smoothing, possibly further renaming of (follow) smoothing: #65779) which would need to be integrated too.
Feedback welcome from more users and contributors too to make sure this is what we want the Camera2D API to be like in 4.0. From a cursory look it seems to make sense to me but I'm no expert nor heavy user.

We sadly didn't really reach further consensus on this and it's too late to assess/merge now for 4.0, which is close to RC stage.
Let's aim to review/address those issues for 4.x, and see how to handle compatibility breakage (either accept to break compat anyway in a future 4.x release, or preserve it somehow if it doesn't make the API too awkward).

This doesn't fix https://github.com/godotengine/godot/issues/44358, but it shouldn't need to.


Available personas in navigation drawer

At present resources are to be refreshed after changing the persona is changed.
No token is saved by default. That will be changed to save to first token itself.

New changes in Hawkular server (Removing support for tokens) do not need this code. So canceling the PR. :)


turn off automatic update during molecule test

Docker provisioner always tries to update the image to make it ansible compatible.
Is there a way I can turn this off so that a prebuilt image from a local registry can be used for testing?
This can speed up the testing process.

There is currently no way to turn it off. However, I will make a PR to add a flag to skip-build for the docker driver.

Implemented in #246.


Update redme, fix code example

:loudspeaker: Type of change

[ ] Bugfix
[ ] New feature
[ x] Enhancement
[ ] Refactoring

:scroll: Description
Error in code example in readme
:bulb: Motivation and Context
The example in the readme was missing an async keyword to compile.
:pencil: Checklist

[ x] I reviewed submitted code
[ ] I added tests to verify changes
[ ] All tests passing
[x ] No breaking changes

:crystal_ball: Next steps

thanks for this :)
try out our alpha release btw:
so you don't have to do this manually:
https://github.com/getsentry/sentry-dart/releases/tag/4.0.0-alpha.2


Upgrading from v0.10 to v0.11 - missing cainjector annotation

The annotation is missing from the table:
old: certmanager.k8s.io/inject-ca-from
new: cert-manager.io/inject-apiserver-ca
I'll try to get a few moments to submit a PR tomorrow!

/kind documentation
/priority backlog


Adjust MultiFieldPanelWCMUseTest to Java 11

Pull Request Test Coverage Report for Build 4651

8 of 8 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.002%) to 53.496%

Totals

Change from base Build 4646:
0.002%

Covered Lines:
13849

Relevant Lines:
25888

💛  - Coveralls

@reggie7 a general note for all these tests - im not going to have the time to look through all the test changes and grok the changes to the actual Impls (tbh, the only changes to the impls should be things that make testing materially easier; like wrapping calls to the AEM static methods in mockable methods).
There's just too many changes to Impl's for me to take the time to understand and sanity check that they aren't breaking something (while we have unit tests, they absolutely aren't complete - so i don't trust the tests themselves to ensure uncovered cases aren't breaking).
If the changes were ONLY to the test files, then I wouldn't have any problems merging.

@davidjgonzalez let me revert the non-test non-essential changes then simply.


support caching artifacts for child devices/services

Is your feature improvement request related to a problem? Please describe.

Installing firmware/software/configuration on child devices requires the child device to download the given url directly from the internet, or via the c8y proxy service (which requires internet). Both of these downloads means that the child device needs to support retries and resuming of the download which is sometimes not feasible for devices such as microcontrollers.
Describe the solution you'd like

thin-edge.io should support a mechanism where the child device can request thin-edge.io to download and cache the artifact so that the child device only has to download the artifact via a local cache.
The caching mechanism should be supported on any of the commands (e.g. firmware/software/configuration).
Describe alternatives you've considered

Additional context

The PR introducing support for log and config operation workflows,
also introduced a regression bypassing file cache for config update.

Previously, configuration updates were first downloaded on the gateway device to be locally available for the child devices.
Now, this preparation step is skipped and the child devices are using unchanged the url provided by the config update command:

i.e. a local url to c8y http proxy when the device is connected to Cumulocity
a remote url to the cloud resource for the other clouds.

In other words, currently, the configuration of a child device can only be updated from Cumulocity.

We must re-introduce this ability:

to cache on the gateway device a file downloaded from the cloud
and to make this file locally available over HTTPS to child devices, containers and services
not only for configuration files (as previously done)
but for all kind of resources (configuration files, software packages, firmware updates).

Proposal
Introduce a new file_cache operation:

triggered from any device or service on te/<entity-id>/cmd/file_cache/<request-id>
with a payload { "status": "init", "remote_url": "<remote-url>" }
handled on the main device by the agent which downloads the file
and makes it available with a local url that is returned to the requester
{ "status": "successful", "remote_url": "<remote-url>", "local_url": "<local-url>" }.

Pros:

The file_cache operation can be triggered as a sub-operation from a workflow
There is no fundamental changes neither on the workflow system nor on the file cache actor.
The latter was specialized on configuration updates, it has simply to be extended to address more usages.

Cons:

This is not a true command: there is no capability message
and its execution model is unusual (handled by the main agent whatever the requesting device).
When should the cache be invalidated? Using a TTL?
Note, that despite its name, the file cache actor was caching nothing simply downloading each file on each request.

Alternatives:

Make this operation a plain operation only available on the main device.

In that case, the workflow mechanism must be extended with the ability to trigger an operation on another device

Use a request / response pattern with two topics te/device/main///req/file-cache and te/device/main///res/file-cache

The  workflow mechanism must be extended to trigger such operation.

Extend the file transfer service with a POST command to upload a remote resource and to make it available locally.

But then how to tell the requester that the resource has been fully downloaded and is locally available?
By keeping the connection open till ready?
With a combination of 202 (Accepted) and pooling?
With a combination of 202 (Accepted) and MQTT messaging ?

This is not a true command: there is no capability message
and its execution model is unusual (handled by the main agent whatever the requesting device).

Technically, there is nothing stopping the component from publishing a capability message, as that would have the benefit of formerly declaring the ability to provide a caching functionality, so that components know whether they should try to create the operation message or not


improve serve

seeve stop and go.
it slow down

Yes. githon serve support incremental build
28.2s → 0.9s


MRQ fails with pymongo WriteError if job result conains dots in dictionary keys

We've recently tried to switch from celery to MRQ and ran into a problem. One of our tasks was returning some debug queryset data in a dictionary with keys that contained dots in them (e.g. "result.debug.qs.parameters.some").
The stacktrace was as follows:
2016-10-04 15:49:08.674762 [ERROR] Traceback (most recent call last):
  File "/main/.env/local/lib/python2.7/site-packages/mrq/worker.py", line 546, in perform_job
    job.perform()
  File "/main/.env/local/lib/python2.7/site-packages/mrq/job.py", line 279, in perform
    self.save_success(result)
  File "/main/.env/local/lib/python2.7/site-packages/mrq/job.py", line 364, in save_success
    self._save_status("success", updates)
  File "/main/.env/local/lib/python2.7/site-packages/mrq/job.py", line 438, in _save_status
    }, {"$set": db_updates}, w=w, j=j, manipulate=False)
  File "/main/.env/local/lib/python2.7/site-packages/newrelic-<IP_ADDRESS>/newrelic/api/datastore_trace.py", line 43, in _nr_datastore_trace_wrapper_
    return wrapped(*args, **kwargs)
  File "/main/.env/local/lib/python2.7/site-packages/mrq/monkey.py", line 84, in mrq_monkey_patched
    ret = base_method(self, *args, **kwargs)
  File "/main/.env/local/lib/python2.7/site-packages/pymongo/collection.py", line 2237, in update
    check_keys, multi, manipulate, write_concern)
  File "/main/.env/local/lib/python2.7/site-packages/pymongo/collection.py", line 710, in _update
    _check_write_command_response([(0, result)])
  File "/main/.env/local/lib/python2.7/site-packages/pymongo/helpers.py", line 301, in _check_write_command_response
    raise WriteError(error.get("errmsg"), error.get("code"), error)
WriteError: The dotted field 'parameters.some.available' in 'result.result.debug.qs.parameters.some' is not valid for storage.

I think that storing task result "as is" may not be always the right behavior, I suppose there should be some setting that lets you store task results as their string representation to avoid non-obvios errors like this one :)

Hi @DataGreed!
We indeed store results as-is by default, to make them searchable for instance.
If you don't want this behaviour it should be easy to write a subclass to Job that stores its results differently and use it instead by changing this:
https://github.com/pricingassistant/mrq/blob/master/mrq/worker.py#L31
If you have any suggestion on how to make it easier for users, we'd be happy to discuss them! I understand it may be a common issue for others.
Cheers!

Any thoughts @DataGreed ?

Add this in common issues / FAQ ? #195


Redirect http to https ?

This may be a very siple one, but I am unable to ind how to conigure http-server to redirect requests over http to https. which means that querying mydomain.com gives a "the server served no content" error instead of the content, because users don't think about adding the s to http.

You could have http-server listen on port 443, serving over HTTPS. Then, setup an HTTP proxy, listening on port 80 and redirecting to HTTPS.

When you say http proxy do you mean with http server or should I use something like nginx?

Something like node-http-proxy might work.

cool thanks


phonegap build error

PhoneGap CLI 6.3.3, node version 4.5.0  & npm version 3.10.7
I was trying to build a android apk(phonegap build android) and this error appeared. I had previosuly built it numerous times but this time it returned the error in the picture
As a result it stops building and returns an error
Steps to Reproduce
Please see image

What plugins are you using within your app? A quick google search on this error seems like it could be due to multiple dependencies that reference something that is has been included already.
http://stackoverflow.com/questions/32798816/unexpected-top-level-exception-com-android-dex-dexexception-multiple-dex-files

With no response from the reporter, I am closing this issue down. If this is still a problem and you would like help in resolving it, please re-open the issue and we will do our best to help.


Know key element on 'onSortEnd'

It would be good to know what element has been moved when onSortEnd is called. Because if you aren't using 'setState', you can't  modify state with new position value and save it permanently)
(Sorry for my bad English)

Sorry, I have found a solution to my problem, I was a little obfuscated and desesperated and I couldn't see
clearly.


DChartPieO not show labels

Hi,
Unfortunately if I try to open the documentation (https://flutterdlux.netlify.app/d_chart/widgets/pie/) I got a "Privacy Error" and the browser not let me go further unless I not disable all the protection.
So, kindly I'm asking here how to show the labels on DChartPieO because by default I not seen them and also using customLabel.
My code:
     List<OrdinalData> ordinalList = widget.data
        .map((e) => OrdinalData(
              domain: e["name"] ?? "",
              measure: (e["value"] ?? "").toString().toDouble("en_UK") ?? 0.0,
            ))
        .toList(growable: false);

    return DChartPieO(
            data: ordinalList,
          );

Thanks for your help

The web documentation changed. For details cek to dchart.netlify.app
Pada Rab, 21 Feb 2024 15.15, Sam @.***> menulis:

Hi,
Unfortunately if I try to open the documentation (
https://flutterdlux.netlify.app/d_chart/widgets/pie/) I got a "Privacy
Error" and the browser not let me go further unless I not disable all the
protection.
So, kindly I'm asking here how to show the labels on DChartPieO because by
default I not seen them and also using customLabel.
My code:
 List<OrdinalData> ordinalList = widget.data
    .map((e) => OrdinalData(
          domain: e["name"] ?? "",
          measure: (e["value"] ?? "").toString().toDouble("en_UK") ?? 0.0,
        ))
    .toList(growable: false);

return DChartPieO(
        data: ordinalList,
      );

Thanks for your help
—
Reply to this email directly, view it on GitHub
https://github.com/indratrisnar/d_chart/issues/24, or unsubscribe
https://github.com/notifications/unsubscribe-auth/APTLYD7W6LO2YT7EC6DL6TDYUWUKXAVCNFSM6AAAAABDSSF7PKVHI2DSMVQWIX3LMV43ASLTON2WKOZSGE2DMMBYGQ4TGOA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Thanks for the quick reply but as I wrote before I cannot access also to https://dchart.netlify.app/docs/properties/custom-label.
I got always a "Privacy Error" and the browser not let go further.

customLabel: (numericData, index) {
return '${numericData.domain}: ${numericData.measure} kg';
},
customLabel: (ordinalData, index) {
return '${ordinalData.domain}: ${ordinalData.measure}';
},
customLabel: (timeData, index) {
return '${timeData.domain}: ${timeData.measure}';
},
Pada Rab, 21 Feb 2024 17.11, Indra Trisna @.***>
menulis:

Maybe your browser cannot allow to access the website. Can caused by
extension or cache problem.
Pada Rab, 21 Feb 2024 15.54, Sam @.***> menulis:

Thanks for the quick reply but as I wrote before I cannot access also to
https://dchart.netlify.app/docs/properties/custom-label.
I got always a "Privacy Error" and the browser not let go further.
—
Reply to this email directly, view it on GitHub
https://github.com/indratrisnar/d_chart/issues/24#issuecomment-1956169112,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APTLYD5RQNVP4GNG37NYH33YUWY5VAVCNFSM6AAAAABDSSF7PKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJWGE3DSMJRGI
.
You are receiving this because you commented.Message ID:
@.***>

I tried with three different browser and have with all the same issue.
Also from mobile and I got the same issue.. so maybe is my country that block your website.
Can you just tell me why I not see the label?
is more easy?
Very thanks

I seen.. very thanks

I tried also in incognito but the issue persists.
```
  List<OrdinalData> ordinalList = widget.data
    .map((e) => OrdinalData(
          domain: e["name"] ?? "",
          measure: (e["value"] ?? "").toString().toDouble("en_UK") ?? 0.0,
        ))
    .toList(growable: false);

return DChartPieO(
        data: ordinalList,
        customLabel: (ordinalData, index) {
          return '${ordinalData.domain}: ${ordinalData.measure}';
        },
      );

Still no see any labels.
I already checked the data and "domain" contains text and "measure" a number.
I'm in web.. maybe the issue is only on web.

Thanks

Thanks for the quick reply but as I wrote before I cannot access also to https://dchart.netlify.app/docs/properties/custom-label. I got always a "Privacy Error" and the browser not let go further.

usually, u can enter mode advance

Cannot

Anyway also using customLabel in web (on mobile idk) labels are not shown.
Thanks

try use this property:
 configRenderPie: ConfigRenderPie(     arcLabelDecorator: ArcLabelDecorator(),   ),

that proeprty is alternatively for show label on Pie. also for style the label.

Tutorial about DChartPie: https://youtu.be/E6E1T_GzlUU

The label problem is connected with various paramters. For example the inner label is not shown if you have high labelPadding. Try this configuration:
final List<OrdinalData> ordinalDataList = [
    OrdinalData(domain: 'Mon', measure: 5, color: AppColors.secondary),
    OrdinalData(domain: 'Tue', measure: 2, color: AppColors.pink),
    OrdinalData(domain: 'Wed', measure: 9, color: AppColors.grey),
    OrdinalData(domain: 'Thu', measure: 15, color: AppColors.blue),
  ];

AspectRatio(
    aspectRatio: 16 / 9,
    child: DChartPieO(
        data: ordinalDataList,
        animate: true,
        animationDuration: const Duration(milliseconds: 1000),
        customLabel: (ordinalData, index) {
          return 'Test';
        },
        configRenderPie: ConfigRenderPie(
          arcWidth: 40,
          arcLength: 2 * pi,
          startAngle: 1 * pi,
          strokeWidthPx: 4,
          arcLabelDecorator: ArcLabelDecorator(
            labelPosition: ArcLabelPosition.auto,
            insideLabelStyle: const LabelStyle(
              color: Colors.white,
              fontSize: 18,
            ),
            outsideLabelStyle: const LabelStyle(
              color: Colors.white,
              fontSize: 16,
            ),
            labelPadding: 2,
            leaderLineStyle: const ArcLabelLeaderLineStyle(
              color: Colors.blue,
              length: 20,
              thickness: 2,
            ),
            showLeaderLines: true,
          ),
        ),
    ),
  ),


Make the Home/End keys jump to the actual start of the view

Currently, Home/End take you to the top/bottom of the currently loaded messages.  This is an unexpected implementation detail for many users.  See https://chat.zulip.org/#narrow/stream/6-frontend/topic/IDEA.3A.20Go.20to.20TOP.20of.20TOPIC/near/854828 for more user feedback.
The reason we do this is for implementation simplicity; there's already PageUp/PageDown for smaller jumps (or holding them down, for big-but-not-to-top jumping).
Because we have FetchStatus.has_found_newest() data available in the frontend, we can use the following algorithm to produce the desired UX with minimal performance impact (example below with Home):

If FetchStatus.has_found_oldest, do the existing "scroll to the first loaded message" logic, more or less (might need to do a rerender) -- we know that's the first message ever already.
If not, we basically call narrow.activate() to rebuild the current view around the target message ID.  For the "All messages" view, we'd need to switch to a near: narrow, which is ugly, for technical reasons (home_msg_list never gets rerendered).  But that's probably OK; the main use case is likely in narrows/searches anyway.

@zulipbot claim

@ryanreh99 this might be an issue you're unusually equipped to help with.

I found this issue on ovio.org and would love to contribute!

Maybe related https://github.com/zulip/zulip/issues/12098

@zulipbot claim


Update contact.html for redirecting to github page of metaverse

Title and Issue number

Title :Update contact.html for redirecting to github page of metaverse
Issue No. :#302
Code Stack : contact.html
Close #302

Video (mandatory)

https://github.com/apu52/METAVERSE/assets/129644396/43bf47ea-e653-480c-857b-5857ad18a433
Checklist:

[X] I have mentioned the issue number in my Pull Request.
[X] I have commented my code, particularly in hard-to-understand areas

Additional context (Mandatory )
Are you contributing under any Open-source programme?
KWOC 2023

Here i made necessary changes to able to redirect to github link instead of contact page

Hello @yashitz07 thank you for your contribution. But this issue is assigned to someone else. So we cannot accept this PR.
Also untill and unless the issue has been assigned to you please do not make a PR for it.


Added proposal to get KRaft controller configuration via Kafka Agent

This proposal is about providing a way for the Kafka Roller to get controller node configuration (when in KRaft mode) in order to have the ability to roll nodes (on configuration changes) and moving forward with the Zookeeper to KRaft migration support.
This aims to be a temporary solution when the main problems will be address in the Kafka project upstream as described in the proposal itself.

FYI @tinaselenge I will add you as reviewer as soon as you accept the invite to the "contributors" team I sent to you ;-)

Should this instead cover the whole issue of rolling controllers? It is not just the configuration bt also finding out if they are in sync etc.

Can you elaborate a little bit more please?
Do you mean exposing some KRaft related metrics (https://kafka.apache.org/documentation/#kraft_monitoring) to the Kafka Roller so it can argue if the metadata topic is replicated/sync on all the controllers?

Yes, I think those are the other parts missing.

I agree with Jakub that we should specify the changes in the KafkaRoller in this proposal too, so that readers can understand how the complete solution will work

@tombentley I have got something different from Jakub comment. I mean ... you are talking about the "changes in the KafkaRoller" and I think I covered them (as an overall picture) in the "Kafka Roller usage" section.
Jakub is talking about exposing information about how much in sync are the controllers, so not just configuration but some additional metrics (i.e. high-watermark, log end offset, ...) related to metadata topic that the Kafka Roller can use to argue about the need for rolling.

@tombentley

Any of the expected controller nodes are not in the voters

I think we can relax a bit saying "majority + 1 of the expected voters". Wdyt?

Any of them have leader.lastCaughtUpTimestamp() - node.lastCaughtUpTimestamp() > valueOf("controller.quorum.fetch.timeout.ms")`

Should be greater than or equal?

don't see a ready alternative right now.

The KafkaRoller knows if the cluster has no live broker node right? So it should simply block any controller restart. I would be the 0 condition in your list.

Any of the expected controller nodes are not in the voters, and

I don't know what kind of situation this is. The voters list returned from DESCRIBE_QUORUM is from the voter config, so I don't understand what the expected controller nodes are not in the voters mean. Could you elaborate more on it?

Any of them have leader.lastCaughtUpTimestamp() - node.lastCaughtUpTimestamp() > valueOf("controller.quorum.fetch.timeout.ms")

I think this is too strict. leader.lastCaughtUpTimestamp() - node.lastCaughtUpTimestamp() > valueOf("controller.quorum.fetch.timeout.ms") means the follower node might have only 1 chance to fetch data from the leader, which might still not be able to catch up with the leader.
On the other hand, what do we expect for restarting the slow follower? Suppose this following is just slow due to network, we might not interrupt it under this case, right? So, maybe we restart the node only when it is stuck, like this:
LogEndOffset of the node is not increasing AND leader.lastCaughtUpTimestamp() - node.lastCaughtUpTimestamp() > valueOf("controller.quorum.fetch.timeout.ms")
WDYT?

Any of the expected controller nodes are not in the voters, and

I don't know what kind of situation this is. The voters list returned from DESCRIBE_QUORUM is from the voter config, so I don't understand what the expected controller nodes are not in the voters mean. Could you elaborate more on it?

Any of them have leader.lastCaughtUpTimestamp() - node.lastCaughtUpTimestamp() > valueOf("controller.quorum.fetch.timeout.ms")

I think this is too strict. leader.lastCaughtUpTimestamp() - node.lastCaughtUpTimestamp() > valueOf("controller.quorum.fetch.timeout.ms") means the follower node might have only 1 chance to fetch data from the leader, which might still not be able to catch up with the leader.
On the other hand, what do we expect for restarting the slow follower? Suppose this following is just slow due to network, we might not interrupt it under this case, right? Like when a partition is not catching up to the leader, we will not restart this node. So, maybe we restart the node only when it is stuck, like this: LogEndOffset of the node is not increasing AND leader.lastCaughtUpTimestamp() - node.lastCaughtUpTimestamp() > valueOf("controller.quorum.fetch.timeout.ms")
That is, this node is stuck and not sending fetch request within controller.quorum.fetch.timeout.ms
WDYT?

I think this makes sense. It does seem like voters list does not reflect if controllers are alive or not, although observers list does get updated when a broker shuts down, which is an odd inconsistency. My thought on the KafkaRoller is:

When a reconciler starts up, the KafkaRoller should make sure that we have majority of the voters alive and at least one of the follower is up to date with the leader (lag of 0?) in case there is a re-election during the rolling. Since we can't take voters list into an account, I guess we can check that majority of the voters are leader.lastCaughtUpTimestamp() - node.lastCaughtUpTimestamp() < valueOf("controller.quorum.fetch.timeout.ms").
Should we then follow the current logic of restarting the unhealthy/unready controllers first? In which case, besides checking the Kubernetes readiness, we can also check the logEndOffset not increasing while being fallen behind the leader as @showuon suggested.
Once we roll a controller, before we move on to the next controller to roll, what's the safety criteria here? We can wait for the rolled controller to catch up to the leader (when the lag becomes 0?) but also do we check again that we have the majority of the controllers alive before rolling the next controller or not since we already checked this in the beginning of reconciler?

These also depend on the answers to some of @katheris 's questions above, which order we are rolling the brokers and controller and what level of risk we can accept.

@tinaselenge and I have reviewed the configuration options that you can supply to a Kafka node and this is the list of configurations we suggest should be used to trigger a controller restart. Any other configuration changes would be ignored by the new logic. @tombentley @showuon @mimaison does this list look sufficient to you? Are there any that should be removed from or added to the list?
        static final List<String> CONTROLLER_CONFIGS = List.of(
                "authorizer.class.name",
                "auto.create.topics.enable",
                "background.threads",
                "broker.heartbeat.interval.ms",
                "broker.session.timeout.ms",
                "connection.failed.authentication.delay.ms",
                "connections.max.idle.ms",
                "connections.max.reauth.ms",
                "controlled.shutdown.enable",
                "controlled.shutdown.max.retries",
                "controlled.shutdown.retry.backoff.ms",
                "controller.listener.names",
                "controller.quorum.append.linger.ms",
                "controller.quorum.election.backoff.max.ms",
                "controller.quorum.election.timeout.ms",
                "controller.quorum.fetch.timeout.ms",
                "controller.quorum.request.timeout.ms",
                "controller.quorum.retry.backoff.ms",
                "controller.quorum.voters",
                "controller.quota.window.num",
                "controller.quota.window.size.seconds",
                "controller.socket.timeout.ms",
                "create.topic.policy.class.name",
                "delete.topic.enable",
                "early.start.listeners",
                "initial.broker.registration.timeout.ms",
                "kafka.metrics.polling.interval.secs",
                "kafka.metrics.reporters",
                "leader.imbalance.check.interval.seconds",
                "leader.imbalance.per.broker.percentage",
                "listener.security.protocol.map",
                "listeners",
                "log.dir",
                "log.dirs",
                "max.connection.creation.rate",
                "max.connections.per.ip.overrides",
                "max.connections.per.ip",
                "max.connections",
                "metadata.log.dir",
                "metadata.log.max.record.bytes.between.snapshots",
                "metadata.log.max.snapshot.interval.ms",
                "metadata.log.segment.bytes",
                "metadata.log.segment.min.bytes",
                "metadata.log.segment.ms",
                "metadata.max.idle.interval.ms",
                "metadata.max.retention.bytes",
                "metadata.max.retention.ms",
                "metric.reporters",
                "metrics.num.samples",
                "metrics.recording.level",
                "metrics.sample.window.ms",
                "node.id",
                "num.io.threads",
                "num.network.threads",
                "principal.builder.class",
                "process.roles",
                "sasl.enabled.mechanisms",
                "sasl.kerberos.kinit.cmd",
                "sasl.kerberos.min.time.before.relogin",
                "sasl.kerberos.principal.to.local.rules",
                "sasl.kerberos.service.name",
                "sasl.kerberos.ticket.renew.jitter",
                "sasl.kerberos.ticket.renew.window.factor",
                "sasl.login.callback.handler.class",
                "sasl.login.class",
                "sasl.login.connect.timeout.ms",
                "sasl.login.read.timeout.ms",
                "sasl.login.refresh.buffer.seconds",
                "sasl.login.refresh.min.period.seconds",
                "sasl.login.refresh.window.factor",
                "sasl.login.refresh.window.jitter",
                "sasl.login.retry.backoff.max.ms",
                "sasl.login.retry.backoff.ms",
                "sasl.mechanism.controller.protocol",
                "sasl.oauthbearer.clock.skew.seconds",
                "sasl.oauthbearer.expected.audience",
                "sasl.oauthbearer.expected.issuer",
                "sasl.oauthbearer.jwks.endpoint.refresh.ms",
                "sasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms",
                "sasl.oauthbearer.jwks.endpoint.retry.backoff.ms",
                "sasl.oauthbearer.jwks.endpoint.url",
                "sasl.oauthbearer.scope.claim.name",
                "sasl.oauthbearer.sub.claim.name",
                "sasl.oauthbearer.token.endpoint.url",
                "sasl.server.callback.handler.class",
                "sasl.server.max.receive.size",
                "security.providers",
                "server.max.startup.time.ms",
                "socket.connection.setup.timeout.max.ms",
                "socket.connection.setup.timeout.ms",
                "socket.listen.backlog.size",
                "socket.receive.buffer.bytes",
                "socket.request.max.bytes",
                "socket.send.buffer.bytes",
                "ssl.cipher.suites",
                "ssl.client.auth",
                "ssl.enabled.protocols",
                "ssl.endpoint.identification.algorithm",
                "ssl.engine.factory.class",
                "ssl.key.password",
                "ssl.keymanager.algorithm",
                "ssl.keystore.certificate.chain",
                "ssl.keystore.key",
                "ssl.keystore.location",
                "ssl.keystore.password",
                "ssl.keystore.type",
                "ssl.principal.mapping.rules",
                "ssl.protocol",
                "ssl.provider",
                "ssl.secure.random.implementation",
                "ssl.trustmanager.algorithm",
                "ssl.truststore.certificates",
                "ssl.truststore.location",
                "ssl.truststore.password",
                "ssl.truststore.type",
                "unclean.leader.election.enable"
        );

First, I agree that there are things about how the KafkaRoller will roll controller nodes which haven't been defined here. However, I think those things need to be agreed whether this proposal is implemented, or whether the APIs defined in KIP 919 are used. So with that in mind does it make sense to have a separate proposal that discusses how the KafkaRoller should handle controller nodes?

It makes sense to have another proposal when KIP-919 is implemented upstream and we're going to adopt the APIs there.

Second, what is the impact of the quorum being lost during a rolling restart? Would it be acceptable to risk a loss of quorum when this proposal is implemented with the expectation that later down the line the KafkaRoller would be updated to properly handle controller rolls to prevent loss of quorum?

The impact of quorum being lost is the no metadata update is available, ex: create topic, expand ISR, change config...etc. We should try to avoid loss of quorum in this proposal IMO.

Finally, apart from KafkaRoller checks for the quorum, should the KafkaRoller also be opinionated about what order it rolls the nodes in? For example at the moment it rolls the controller last. Should it roll all controller nodes, then all broker nodes? Should it roll the controller quorum leader last? I wonder if that also needs to be agreed somewhere, whether that's here or in a different proposal.

The order of rolling nodes, good question! I don't think it'd make any difference we roll controller first or broker first. And the active controller last while rolling controller is for sure. I'm thinking about the configs related to the connection between broker <-> controllers, ex: controller.listener.names, either we roll controller first or broker first, there will be a period of time broker cannot talk to controllers, which is not what we want. We should discuss it separately.

@tinaselenge and I have reviewed the configuration options that you can supply to a Kafka node and this is the list of configurations we suggest should be used to trigger a controller restart. Any other configuration changes would be ignored by the new logic. @tombentley @showuon @mimaison does this list look sufficient to you? Are there any that should be removed from or added to the list?

    static final List<String> CONTROLLER_CONFIGS = List.of(
            "authorizer.class.name",
            "auto.create.topics.enable",  // broker-only
            "background.threads",
            "broker.heartbeat.interval.ms",
            "broker.session.timeout.ms",
            "connection.failed.authentication.delay.ms",
            "connections.max.idle.ms",
            "connections.max.reauth.ms",
            "controlled.shutdown.enable",
            "controlled.shutdown.max.retries",
            "controlled.shutdown.retry.backoff.ms",

            // Below will be forbidden for users to change
            "controller.listener.names",
            "controller.quorum.append.linger.ms",
            "controller.quorum.request.timeout.ms",
            "controller.quorum.retry.backoff.ms",
            "controller.quorum.voters",
            "controller.quota.window.num",
            "controller.quota.window.size.seconds",
            "controller.socket.timeout.ms",
            // end of controller.* configs

           // exceptions for controller.*
           "controller.quorum.election.backoff.max.ms",
            "controller.quorum.election.timeout.ms",
            "controller.quorum.fetch.timeout.ms",
           // end of exception for controller.*

            "create.topic.policy.class.name",
            "delete.topic.enable",
            "early.start.listeners",
            "initial.broker.registration.timeout.ms",
            "kafka.metrics.polling.interval.secs",
            "kafka.metrics.reporters",
            "leader.imbalance.check.interval.seconds",
            "leader.imbalance.per.broker.percentage",

            // forbidden prefix with listener.* and listeners
            "listener.security.protocol.map",
            "listeners",
            // forbidden prefix with listener.* and listeners

            // forbidden for log.dir
            "log.dir",
            "log.dirs",
            // forbidden for log.dir

            "max.connection.creation.rate",
            "max.connections.per.ip.overrides",
            "max.connections.per.ip",
            "max.connections",
            "metadata.log.dir",  // should be forbidden, filed https://github.com/strimzi/strimzi-kafka-operator/pull/9031 to fix it
            "metadata.log.max.record.bytes.between.snapshots",
            "metadata.log.max.snapshot.interval.ms",
            "metadata.log.segment.bytes",
            "metadata.log.segment.min.bytes",
            "metadata.log.segment.ms",
            "metadata.max.idle.interval.ms",
            "metadata.max.retention.bytes",
            "metadata.max.retention.ms",
            "metric.reporters",
            "metrics.num.samples",
            "metrics.recording.level",
            "metrics.sample.window.ms",

            "node.id", // forbidden for node.id

            "num.io.threads",
            "num.network.threads",
            "principal.builder.class",

            "process.roles", // forbidden for process.roles
            // forbidden for sasl.*
            "sasl.enabled.mechanisms",
            "sasl.kerberos.kinit.cmd",
            "sasl.kerberos.min.time.before.relogin",
            "sasl.kerberos.principal.to.local.rules",
            "sasl.kerberos.service.name",
            "sasl.kerberos.ticket.renew.jitter",
            "sasl.kerberos.ticket.renew.window.factor",
            "sasl.login.callback.handler.class",
            "sasl.login.class",
            "sasl.login.connect.timeout.ms",
            "sasl.login.read.timeout.ms",
            "sasl.login.refresh.buffer.seconds",
            "sasl.login.refresh.min.period.seconds",
            "sasl.login.refresh.window.factor",
            "sasl.login.refresh.window.jitter",
            "sasl.login.retry.backoff.max.ms",
            "sasl.login.retry.backoff.ms",
            "sasl.mechanism.controller.protocol",
            "sasl.oauthbearer.clock.skew.seconds",
            "sasl.oauthbearer.expected.audience",
            "sasl.oauthbearer.expected.issuer",
            "sasl.oauthbearer.jwks.endpoint.refresh.ms",
            "sasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms",
            "sasl.oauthbearer.jwks.endpoint.retry.backoff.ms",
            "sasl.oauthbearer.jwks.endpoint.url",
            "sasl.oauthbearer.scope.claim.name",
            "sasl.oauthbearer.sub.claim.name",
            "sasl.oauthbearer.token.endpoint.url",
            "sasl.server.callback.handler.class",
            // forbidden for sasl.*
            "sasl.server.max.receive.size", // exception for sasl.*

            "security.providers", // forbidden for security.*
            "server.max.startup.time.ms",
            "socket.connection.setup.timeout.max.ms",
            "socket.connection.setup.timeout.ms",
            "socket.listen.backlog.size",
            "socket.receive.buffer.bytes",
            "socket.request.max.bytes",
            "socket.send.buffer.bytes",

            // forbidden for ssl.*

            "ssl.client.auth",
            "ssl.endpoint.identification.algorithm",
            "ssl.engine.factory.class",
            "ssl.key.password",
            "ssl.keymanager.algorithm",
            "ssl.keystore.certificate.chain",
            "ssl.keystore.key",
            "ssl.keystore.location",
            "ssl.keystore.password",
            "ssl.keystore.type",
            "ssl.principal.mapping.rules",
            "ssl.provider",
            "ssl.trustmanager.algorithm",
            "ssl.truststore.certificates",
            "ssl.truststore.location",
            "ssl.truststore.password",
            "ssl.truststore.type",
            // forbidden for ssl.*

             // exception for ssl.*
             "ssl.cipher.suites",
             "ssl.protocol",
            "ssl.enabled.protocols",
            "ssl.secure.random.implementation",
            // end exception for ssl.*

            "unclean.leader.election.enable". // broker-only config. In Controller, it uses Raft protocol to do leader election

            // in v3.6.0, delegation token will be supported in KRaft
            "delegation.token.master.key"
            "delegation.token.secret.key"
            "delegation.token.max.lifetime.ms"
            "delegation.token.expiry.time.ms"
            "delegation.token.expiry.check.interval.ms"

            // the queued configs are also used in controller
            "queued.max.requests"
            "queued.max.request.bytes"

           "alter.config.policy.class.name" // controller also works

    );

Read this while checking the docs:

To determine if the majority of the controllers have the committed data, run the kafka-metadata-quorum.sh tool to describe the replication status
Check and wait until the Lag is small for a majority of the controllers. If the leader's end offset is not increasing, you can wait until the lag is 0 for a majority; otherwise, you can pick the latest leader end offset and wait until all replicas have reached it. Check and wait until the LastFetchTimestamp and LastCaughtUpTimestamp are close to each other for the majority of the controllers. At this point it is safer to format the controller's metadata log directory.

So, the suggestion from the doc about how to determine if the majority of the controllers have the committed data:

Check and wait until the Lag is small for a majority of the controllers
1.1. If the leader's end offset is not increasing, you can wait until the lag is 0 for a majority (Basically this won't happen because there is a periodically heartbeat commit by default)
1.2. you can pick the latest leader end offset and wait until all replicas have reached it. <-- I think this is a good method

Check and wait until the LastFetchTimestamp and LastCaughtUpTimestamp are close to each other for the majority of the controllers.  <-- This is the way we proposed.

So, are we going to adopt (1.2) + (2)?  Or just (2)? If we want to adopt (1.2), the rolling will be slower since we need multiple rounds of reconciliation to verify if follower caught up with the expected offset, but of course, it provides more accuracy.

It seems initial.broker.registration.timeout.ms is a broker only configuration too.

After a discussion with @ppatierno @katheris @tinaselenge, we decided to replace this proposal with https://github.com/strimzi/strimzi-kafka-operator/pull/9125 PR that uses an already existing mechanism for detecting the controller configuration changes. The mechanism it is based on is already used for example to roll pods when plugin configurations change. As it is not a new mechanism, it does not need the proposal. The same caveat applies to it as to this proposal -> it serves as a stop-gap mechanism that will be replaced once Kafka provides operationalized Kafka controller nodes (e.g. the KIP-919 and possible follow-ups).

Thanks Jakub. I am going to close this proposal. I reviewed and approved the PR you provided.


Support for more user friendly choice lists

From what I know prompt choice list which is number based selection is the one provided by knack as of now.
Can we have a more user friendly choice list available through knack? Something like pick  or some other similar alternatives.
This will help in standardizing the behaviour across various CLI tool based on knack.
If there is a reason to stay with the numerical selection list as supported today, then sharing that would be fine :)
Background: I am working on a azure cli extension and I want to use things like spinner (for waiting behavior), and choice list for options selection. I would want to be consistent with the azure cli as well. So started looking into whether knack or azure cli already has a precedence in this regard on what to use?

@derekbekoe @tjprescott Does this make sense for Knack or Azure cli?
Any thoughts on changing the default prompt-list function supported in Knack as of today?

Would something like this make sense - This is a interactive selection list with support for paginated options listing.

Sample Code: https://github.com/atbagga/PythonSamples/blob/996a4f3a271195a1cb95f0da24da1ece9759cdaf/promptlist.py#L1
If yes, I can refine the experience and code to raise a PR.


3D CNN

Could this repository add a new feature that can draw 3D CNN architecture?

If you can prove that this is a frequently desired figure type, I'm willing to review a PR.

3D CNN is frequently used in the medical image process. For instance, MRI, CT images are all 3D images that have three dimensions. There are also some papers using 3D CNN to do video classification which treat the time dimension as the third dimension!

Could you point to example 3D CNN diagrams?

Maybe like the one with 3D ShapeNets: A Deep Representation for Volumatric Shapes?
https://people.csail.mit.edu/khosla/papers/cvpr2015_wu.pdf


Using this plugin for server side rendering (ssr)?

First at all, thank you for your plugin, it is great and easy to user.
In this moment I want to use in a project that requires server side rendering, and you use Window in OpenIdConnectAuthorizeStep. Is posible to change it for Aurelia's Platform Abstraction Layer Window?

It's definitely possible to do that, but it would be the least of your problems I'm afraid..
See this discussion: https://github.com/IdentityModel/oidc-client-js/issues/809
TLDR: don't try to use a client identity model framework on the server, treat them as 2 different clients instead


wxc-navpage title-color invalid

<wxc-navbar class="navbar" title="nice" background-color="#ffd900" title-color="#000000"></wxc-navbar>

the color of title in my page is still white.

otherwise,The doc says the background-color of wxc-navpage is default white and the  title-color is default black , but in reality both are opposite.

hi, we have checked our code. As we described in the document, it is ok.
Can you try again or provide us the .we  file,  we can debug for you.

Because there is no more discuss such a long time, this issue would be closed.
And it could be reopen anytime if more information supplied.
Also we could talk about the usage in Gitter.
Thanks.


Add proper timestamps to ACK frames

This applies to QUIC 34 ACK frames as well.

Currently Chrome doesn't use the timestamps, see below. Postponing this issue until later.
~/s/c/s/n/quic git:(upstream ⚡ detached@51b2400) → ack --ignore-file=match:_test.cc received_packet_times
quic_connection_logger.cc
143:  dict->Set("received_packet_times", received);
144:  const PacketTimeVector& received_times = frame->received_packet_times;

quic_framer.cc
1577:    ack_frame->received_packet_times.reserve(num_received_packets);
1596:    ack_frame->received_packet_times.reserve(num_received_packets);
1597:    ack_frame->received_packet_times.push_back(
1619:      ack_frame->received_packet_times.push_back(
1947:  if (ack.received_packet_times.empty()) {
1951:  return 5 + 3 * (ack.received_packet_times.size() - 1);
2419:  DCHECK_GE(numeric_limits<uint8_t>::max(), frame.received_packet_times.size());
2421:  if (frame.received_packet_times.size() > numeric_limits<uint8_t>::max()) {
2425:  uint8_t num_received_packets = frame.received_packet_times.size();
2433:  PacketTimeVector::const_iterator it = frame.received_packet_times.begin();
2459:  for (++it; it != frame.received_packet_times.end(); ++it) {

quic_protocol.cc
603:       ack_frame.received_packet_times) {

quic_protocol.h
1025:  PacketTimeVector received_packet_times;

quic_received_packet_manager.cc
151:    ack_frame_.received_packet_times.clear();
191:  ack_frame_.received_packet_times.push_back(
241:  for (PacketTimeVector::iterator it = ack_frame_.received_packet_times.begin();
242:       it != ack_frame_.received_packet_times.end();) {
245:      it = ack_frame_.received_packet_times.erase(it);

test_tools/quic_test_packet_maker.cc
107:    ack.received_packet_times.push_back(make_pair(i, clock_->Now()));
159:    ack.received_packet_times.push_back(make_pair(i, clock_->Now()));
261:    ack.received_packet_times.push_back(make_pair(i, clock_->Now()));
344:    ack.received_packet_times.push_back(make_pair(i, clock_->Now()));

Ian provided some useful information about the timestamp section here: https://github.com/quicwg/base-drafts/pull/298#issuecomment-279809382

According to the WG draft, unprotected ACKs MUST NOT contain timestamps: https://github.com/quicwg/base-drafts/pull/429

It was agreed to remove timestamps from the ACK frame on the QUIC WG interim meeting in Seattle, until anyone comes up with a better proposal for those.
Closing this issue for now.


MINOR: Missing throttle time in OffsetsForLeaderEpoch response

With KIP-320, the OffsetsForLeaderEpoch API is intended to be used by consumers to detect log truncation. Therefore the new response schema should expose a field for the throttle time like all the other APIs.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@lindong28 I think we missed this in the KIP. We can bump the protocol again if we have to, but perhaps no need if we merge fairly quickly. What do you think?

@lindong28 Thanks, comments addressed. Unless you spot any other issues, I'll plan to merge this evening as long as there are no problems with the build.

Thanks @hachikuji for the update. LGTM. Yeah we can merge it after it passes test.

@lindong28 Pushed a fix for the failing quota tests. Mainly we needed to use the throttled response send from KafkaApis. Probably fine to wait till tomorrow to merge. Thanks!

@lindong28 The test failures look like they are unrelated. I will go ahead and merge if there are no objections.

@hachikuji Sounds good. Please feel free to merge :)


Allowing to resuse media url

This decouples media upload from message send function, this allows to separate upload call, and hence the caller can decide to reuse media URL for broadcast

Please update stract to meet latest WhatsApp update
type MediaConn struct {
	Status    int `json:"status"`
	MediaConn struct {
		Auth  string `json:"auth"`
		TTL   int    `json:"ttl"`
		Hosts []struct {
			Hostname string `json:"hostname"`
			IPs []interface{} `json:"ips"`
		} `json:"hosts"`
	} `json:"media_conn"`
}

The IP isn't really used right? Why does it need to be in the struct?

@SchulteMK please close this, it is not valid, and the developer did not reply to the advice to fix the struct which lead to image issues.
I am  not sure if this pl is a great one, but since the developer dos not follow the recommendations, l believe we have to protect the community by closing this pl.
Regard

@SchulteMK I think there is a mistake this pull has nothing to do with @beshoo  changes, this adds a feature which will save bandwidth while sending multiple messages with same media URL


Add all professors to the graph

As of now, not all professors are added to the graph because their office doesn't exist or the node doesn't have the same name as their office name.

To do this, you will also need to add some nodes to the graph, making it more complete.

Professor data fixes that are wrong on the RiTeh website:

Kristijan Lenac should be in office 1-49c
Goran Mauša in 1-49d