Max retries exceeded with url: /pypi/label-studio/json & Temporary failure in name resolution'

trying to run labelstudio and connect it to SAM-2 , I encounter an error and a warning .
Ubuntu 22
Docker version 27.0.3,
Docker Compose version v2.28.1
docker run -it --user root -p 8080:8080 \
               -v $(pwd)/mydata:/label-studio/data \
               --env LABEL_STUDIO_LOCAL_FILES_SERVING_ENABLED=true \
               --env LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT=/home/fatemeh/develop/label-studio/data/images \
               heartexlabs/label-studio:latest

Can't get latest version

You may be able to resolve this warning by setting `model_config['protected_namespaces'] = ()`.
  warnings.warn(
/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_fields.py:160: UserWarning: Field "model_provider_connection_delete" has conflict with protected namespace "model_".

Traceback (most recent call last):
  File "/label-studio/label_studio/core/utils/common.py", line 378, in get_latest_version
    response = requests.get(pypi_url, timeout=10).text
  File "/usr/local/lib/python3.10/dist-packages/requests/api.py", line 73, in get
    return request("get", url, params=params, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/requests/api.py", line 59, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python3.10/dist-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/requests/adapters.py", line 700, in send
    raise ConnectionError(e, request=request)

requests.exceptions.ConnectionError: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /pypi/label-studio/json (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7dd0ed9e0580>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))

using docker exec , I entered in the container. the result of running
python3 manage.py makemigrations

command, was the error above.
why that happens?

Hi @fatemeh-mohseni-AI - it looks like your machine failed to connect to pypi.org. This is likely to be a transient error; unfortunately, it's also not something we can control on our side. Thanks for using Label Studio!


hard coded path for libftd2xx.so won't work everywhere

PR #77 added linux support for the existing ftdi driver for linux. The path to the shared library file is hard coded as '/usr/local/lib/libftd2xx.so'. That will break on installations that use a different install prefix.
Not sure if it's the right solution, but ctypes has a find_library function
https://docs.python.org/3/library/ctypes.html#finding-shared-libraries
@smontanari1, do you want to see if that works?

I belive @smontanari1 confirmed that the hard coded path was the one recommended by the ftdi docs. Although a more generic solution would be appreciated.

Wonder if it's even possible to install the library elsewhere...? Not a big issue. Not sure I have anything FTDI related at home. Might bring something home and check on OS X also

I think I'll close this issue unless we can see a specific case of the library being in a different location.


Add better handling of sessions

Add events for when a session is removed
Try and figure out how to check what sessions a contact may be in and if the session/s are set to contacts/contacts+(this will be used for contacts tab later down the line)
Occasionally refresh global session object in case signalr missed something and /sessions didn't

This should be working code to get a users status hopefully allowing me to store sessions that are contacts/contacts+/etc for future
    async getUserStatus(userId) {
        const res = await this.signalRConnection.send("RequestStatus", userId, false);

        if (res.ok) {
            const json = await res.json();
            return json;
        } else {
            const text = await res.text();
            return text;
        }
    }
    ```


Switch to using Documentation IP ranges in tests

Description
Documentation IP ranges are define in RFC 5737 and are 'safe' address for documentation purposes
This PR is related to the SonarCloud Security Hotspot report:

Using hardcoded IP addresses is security-sensitive cpp:S1313
https://sonarcloud.io/project/security_hotspots?id=SFML_SFML

How to test this PR?
Have the CI pass all the IpAddress tests

SFMLBuildMaster: Build this please.


Enable data poll triggered indirect retransmissions to a sleepy child

If transmission of an indirect frame (frame to a sleepy child)
fails, the sender retransmits the frame following the reception of
a new data request command (a new data poll) from the sleepy child.
It is ensured that the re-transmissions use the same security frame
counter and key id as the earlier attempts. To realize this, info
about the indirect transmissions (such as attempt counter, frame
counter, key id) is saved in the child table.
In openthread-core-default-config.h a set of new OpenThread options
are added to allow  the maximum number of attempts to be configured
for both direct and indirect transmissions.
This PR addresses Issue: https://github.com/openthread/openthread/issues/1424

Codecov Report

Merging #1432 into master will increase coverage by 0.47%.
The diff coverage is 61.29%.

@@            Coverage Diff            @@
##           master   #1432      +/-   ##
=========================================
+ Coverage   70.52%     71%   +0.47%
=========================================
  Files         142     143       +1
  Lines       19328   19376      +48
  Branches     2366    2375       +9
=========================================
+ Hits        13632   13758     +126
+ Misses       4804    4724      -80
- Partials      892     894       +2

Impacted Files
Coverage Δ

src/core/mac/mac.hpp
100% <ø> (ø)
:white_check_mark:

src/core/thread/mesh_forwarder.hpp
0% <ø> (ø)
:white_check_mark:

src/ncp/ncp_base.cpp
37.54% <ø> (+0.59%)
:white_check_mark:

src/core/thread/topology.hpp
100% <ø> (ø)
:white_check_mark:

src/core/mac/mac_frame.hpp
67.44% <100%> (+3.33%)
:white_check_mark:

src/core/thread/mesh_forwarder.cpp
74.8% <52.38%> (-0.98%)
:x:

src/core/mac/mac.cpp
79.12% <75%> (ø)
:white_check_mark:

src/core/net/udp6.cpp
82% <0%> (-2%)
:x:

src/core/api/thread_api.cpp
45.45% <0%> (-0.87%)
:x:

src/core/thread/mle_router.cpp
79.75% <0%> (-0.27%)
:x:

... and 14 more

Continue to review full report at Codecov.

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


Cycles are no longer being reported on mac

After commit c52432c3261c1c5731ca998864397c600b544b26, cycles are not reported on mac os x. I see this in time-osx.c:
    tr->rdtsc = 0;

Older code used this for mac (cycles.c):
#if x86_64_HOST_ARCH || i386_HOST_ARCH

StgWord64 gauge_rdtsc(void)
{
  StgWord32 hi, lo;
  __asm__ __volatile__ ("rdtsc" : "=a"(lo), "=d"(hi));
  return ((StgWord64) lo) | (((StgWord64) hi)<<32);
}

@vincenthz is this deliberate or pending?

I noticed that the rdtsc primitive was not ideal (using 32 bit rdtsc), which is why I hardcoded to 0 on mac/windows. I should have open an issue to keep track of it.

Isn't it a 64-bit counter returning 32-bits in EAX and 32-bits in EDX? We are then combining those two values to return a 64-bit value. Is there something wrong with that? Is there an alternative to it on os x? Do we have perf counter support available? I think BSD has had perf counter support for quite some time now, not sure about os x.

there's an rdtsc instruction (and rdtscp which I think we should be using) that fill 64 bits directly on 64 bits.

Sounds good then.

fixed by #22

@vincenthz this issue is still not fixed. Cycles are still not being reported on mac, they are always 0. Also, now utime and stime are also always reported as 0 on mac, they seem to be fine on Linux. Maybe there is some difference in the timeval structure on mac vs Linux?


Fix relative path issue, cleaned Path.Combine calls

Fixed font bundle relative path issue
Cleaned up Path.Combine weirdness

👍


Drop Transfer will keep working after destroying the designated container

LWC Version (/lwc admin version): 2.1.2-dev-4d34ea2
Server version (/version): Paper 1.13.2 git-Paper-488
Short five word summary of issue: It just doesn't make sense
Detailed description of problem:
To replicate:

Lock a container, a chest for example.
Use /cdroptransfer select to pick the chest
(Not needed) drop something to test the functionality (which it will work)
Destroy the chest
Continue drop something
You will find those item dropped at step 5 gone missing.

@lifehome Unable to reproduce this issue on 2.1.2-dev-4d34ea2 (I happen to be running the same version on my server haha) and Paper-486. Items go to chest, and when broken, drop normally.

Closing this issue now since it seems the feature is working as intended. Will re-open if someone can confirm this as a bug in the latest version of LWC and CraftBukkit/Paper, without any other plugin installed.


Weird issue on how line_comment works

I'm creating a elm atom package using your library and a strange thing happened
I map line_comments as comments in the css class in atom,
and this happens

Not sure why, since I could not find the source of externals in the source code

Relevant file is https://github.com/Razzeee/tree-sitter-elm/blob/master/src/scanner.cc
Can you please post the complete example code? I can look at it on monday

Sure, you can find it here: https://github.com/GrayJack/language-elm-treesitter/blob/master/grammars/tree-sitter-elm.cson#L32

https://github.com/Razzeee/tree-sitter-elm/pull/25 should fix this. It might also affect the negate_expr.

I think I never saw a negate expression, can you give me a example?

Well it's at least what we parse it as :)
https://github.com/Razzeee/tree-sitter-elm/blob/7821b8a941badf11cade7496c0acf41e03bfba8a/corpus/basic.txt#L99

Seems like it didn't fix, in my repo, I did use the new branch and still nothing

Did you actually rebuild it, via npm run build? I'm very confident, that the error you mentioned is fixed by this :)

Maybe I did forget, will double check as soon as I can, sorry for the trouble

Looks like the problem is that apm have to run that, but atom actually expects to be already done.
Can you help me out with this? Kinda lost, not very used with JS stuff, how ca I make my atom package run that before installing?

Should I just publish it on npm? Would that help?
On Tue, Oct 15, 2019, 01:33 Eric Shimizu Karbstein<EMAIL_ADDRESS>wrote:

Looks like the problem is that apm have to run that, but atom actually
expects to be already done.
Can you help me out with this? Kinda lost, not very used with JS stuff,
how ca I make my atom package run that before installing?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Razzeee/tree-sitter-elm/issues/24?email_source=notifications&email_token=ABNLEZE45JQA6QMWLYSK5RDQOT6TFA5CNFSM4I74AAK2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBG5Y3I#issuecomment-541973613,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABNLEZFBM24IY35FZW7I5CTQOT6TFANCNFSM4I74AAKQ
.

I think it would

Pushed a new release to npm and new release builds should shortly show up on github.
Please let me know if it solved it :)

Worked just fine now


Adding custom user data ASP.NET Core MVC

"The project sample is created from a Razor Pages web app, but the instructions are similar for AN ASP.NET Core MVC web app."  It's hard to follow especially for beginner when using ASP.NET Core MVC. I used CLI tools because I'm using JetBrains Rider and I can't follow all the instructions provided.

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

ID: 431df4fc-4168-cc8f-d053-9b264d2971c1
Version Independent ID: cd157d04-d596-83fa-6edb-24d52193eb34
Content: Add, download, and delete user data to Identity in an ASP.NET Core project
Content Source: aspnetcore/security/authentication/add-user-data.md
Product: aspnet-core
Technology: aspnetcore-security
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

This is not a beginners tutorial.


Add greedy path variables to UriTemplate

Also see AWS documentation for greedy path variables:
https://aws.amazon.com/blogs/aws/api-gateway-update-new-features-simplify-api-development/

@blockvote nicely done.
I would like to keep the table test indentation for readability, so I will investigate what possible rules can be added to the lint, however that is something that can be done in the mean time, so I would like to merge this for now.


SQLiteException Error

Hello there (Master Kenobi),
I recently set up a minecraft server on my RaspberryPi whicht is running on Linux 10. The Jobs Reborn plugin starts as it should and works fine but I keep getting the following error code in my console every 10 minutes:
[15:51:42 WARN]: org.sqlite.SQLiteException: [SQLITE_BUSY]  The database file is locked (database is locked)
[15:51:42 WARN]:        at org.sqlite.core.DB.newSQLException(DB.java:1012)
[15:51:42 WARN]:        at org.sqlite.core.DB.newSQLException(DB.java:1024)
[15:51:42 WARN]:        at org.sqlite.core.DB.throwex(DB.java:989)
[15:51:42 WARN]:        at org.sqlite.core.DB.executeBatch(DB.java:814)
[15:51:42 WARN]:        at org.sqlite.core.CorePreparedStatement.executeBatch(CorePreparedStatement.java:64)
[15:51:42 WARN]:        at com.gamingmesh.jobs.dao.JobsDAO.saveBlockProtection(JobsDAO.java:2272)
[15:51:42 WARN]:        at com.gamingmesh.jobs.config.BlockProtectionManager.saveCache(BlockProtectionManager.java:109)
[15:51:42 WARN]:        at com.gamingmesh.jobs.PlayerManager.saveAll(PlayerManager.java:338)
[15:51:42 WARN]:        at com.gamingmesh.jobs.tasks.DatabaseSaveThread.run(DatabaseSaveThread.java:46)

First I thought the reason for this would be that the plugin has not enough permissions in the operating system, so I changed it to full access but the error keeps coming up. Can somebody help me? Thanks in advance!
Greetings
MacMarshmello

Jobs version: <IP_ADDRESS>
Server type: PaperMC
Server version: git-Paper-782 (MC: 1.16.5)
Installed plugins:

CMILib
Essentials/EssentialsChat/EssentialsSpawn
Jobs Reborn
LuckPerms
Multiverse-Core
NametagEdit
PlaceholderAPI
PlayerHeads
Scoreboard
Shopkeepers
Vault
WorldEdit/WorldGuard

Fixed it! Looks like CMILib plugin didn't start up. I updated it today and now there's no error anymore.


Create policy plugin for CNI

I don't want to forget this, so I'm commenting here.
I don't think the json we print to stdout contains the CNI version - "cniVersion": "0.1.0"

One log to consider, then LGTM.

Let's rename this to "policy_drivers.py" - it is more specific than "calico_policy.py" (we might have more than one policy related file)


Current version cannot compile in Android Studio.

Ive tried for days now. It still cannot compile. Any work around.
Am getting gradle build error.

Please provide the build error.

Error:(1, 0) Plugin with id
'com.android.application' not found.
I've tried all solutions suggested by Android communities and blogs. Android works with all projects but never compiled CmuSphinx.

This question is covered here:
http://stackoverflow.com/questions/24795079/error1-0-plugin-with-id-com-android-application-not-found
you need to update your gradle and Android build tools

Believe me I've already done that.
I've gone ahead and downloaded and tested all gradle versions from 1.0 to 2.8.None worked for CmuSphinx.
I want to use this in Unity 3d is it doable.

If its Possible can I get a complete Android Studio Project to download.

Android studio project is available here on github, you just clone the project.


file question - issue in error message

Are you requesting a feature, reporting a bug or ask a question?
bug
What is the current behavior?
There is an error in the error-message of file upload, if the size of the file is to large. It sais: .. 5 MB KB ...
Please see the screenshot:

What is the expected behavior?
Fix the error text
How would you reproduce the current behavior (if this is a bug)?
Provide the test code and the tested page URL (if applicable)
Specify your

browser: Chrome
browser version:
surveyjs platform (angular or react or jquery or knockout or vue): angular
surveyjs version: 1.0.22

Hello! Fix will be available in the next minor update. Thank you!


Isomalloc breaks in hwloc on multicore-darwin-x86_64

Original issue: https://charm.cs.illinois.edu/redmine/issues/1793

On a multicore-darwin-x86_64 build, in tests/ampi/megampi/. You need to remove "-Wl,--allow-multiple-definition" from the Isomalloc link line to get it to build.
$ lldb -- ./jacobi.iso 2 2 2 40 +vp8 +balancer RotateLB
Current executable set to './jacobi.iso' (x86_64).
(lldb) settings set -- target.run-args  "2" "2" "2" "40" "+vp8" "+balancer" "RotateLB" "+LBDebug" "1" "+p3"      l./jacobi.iso 2 2 2 40 +vp8 +balancer RotateLB +LB
(lldb) rg	jacobi	       l./jacobi.iso 2 2 2 40 +vp8 +balancer RotateLB +LBDacobi.o
Process 82047 launched: './jacobi.iso' (x86_64) 2 40 +vp8 +balancer RotateLB +LBD
Process 82047 stopped
* thread #1: tid = 0x62e07, 0x00007fff91882f06 libsystem_kernel.dylib`__pthread_kill + 10, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
    frame #0: 0x00007fff91882f06 libsystem_kernel.dylib`__pthread_kill + 10
libsystem_kernel.dylib`__pthread_kill:
->  0x7fff91882f06 <+10>: jae    0x7fff91882f10            ; <+20>
    0x7fff91882f08 <+12>: movq   %rax, %rdi
    0x7fff91882f0b <+15>: jmp    0x7fff9187d7cd            ; cerror_nocancel
    0x7fff91882f10 <+20>: retq
(lldb) bt
warning: could not load any Objective-C class information. This will significantly reduce the quality of type information available.
* thread #1: tid = 0x62e07, 0x00007fff91882f06 libsystem_kernel.dylib`__pthread_kill + 10, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
  * frame #0: 0x00007fff91882f06 libsystem_kernel.dylib`__pthread_kill + 10
    frame #1: 0x00007fff8466b4ec libsystem_pthread.dylib`pthread_kill + 90
    frame #2: 0x00007fff92a6b6df libsystem_c.dylib`abort + 129
    frame #3: 0x00000001001ae22b jacobi.iso`mspace_free(msp=0x00000001002fb4a0, mem=<unavailable>) + 1531 at memory-gnu-internal.c:5069 [opt]
    frame #4: 0x00000001001afa20 jacobi.iso`mm_free(mem=<unavailable>) + 208 at memory-gnu.c:840 [opt]
    frame #5: 0x00000001001abc1c jacobi.iso`free [inlined] meta_free(mem=0x00000001007000a0) + 124 at memory-isomalloc.c:116 [opt]
    frame #6: 0x00000001001abbda jacobi.iso`free(mem=0x00000001007000a0) + 58 at libmemory-isomalloc.c:643 [opt]
    frame #7: 0x00000001001e74d9 jacobi.iso`hwloc__free_object_contents [inlined] cmi_hwloc__free_infos(infos=<unavailable>, count=<unavailable>) + 29 at topology.c:289 [opt]
    frame #8: 0x00000001001e74bc jacobi.iso`hwloc__free_object_contents(obj=<unavailable>) + 28 at topology.c:385 [opt]
    frame #9: 0x00000001001eaca9 jacobi.iso`hwloc_topology_clear_tree [inlined] cmi_hwloc_free_unlinked_object(obj=0x00000001005a4a90) + 8 at topology.c:404 [opt]
    frame #10: 0x00000001001eaca1 jacobi.iso`hwloc_topology_clear_tree(topology=<unavailable>, root=<unavailable>) + 49 at topology.c:2948 [opt]
    frame #11: 0x00000001001eabfc jacobi.iso`cmi_hwloc_topology_clear(topology=0x00000001005a41d0) + 28 at topology.c:2955 [opt]
    frame #12: 0x00000001001e91de jacobi.iso`cmi_hwloc_topology_destroy(topology=0x00000001005a41d0) + 30 at topology.c:2971 [opt]
    frame #13: 0x00000001001d1210 jacobi.iso`CmiInitHwlocTopology + 176 at cpuaffinity.c:59 [opt]
    frame #14: 0x00000001001b4f28 jacobi.iso`ConverseInit(argc=<unavailable>, argv=0x00007fff5fbff9b0, fn=(jacobi.iso`_initCharm(int, char**) at init.C:1070), usched=0, initret=0) + 104 at machine-common-core.c:1103 [opt]
    frame #15: 0x000000010009d83e jacobi.iso`main(argc=<unavailable>, argv=<unavailable>) + 46 at main.C:9 [opt]
    frame #16: 0x0000000100001064 jacobi.iso`start + 52

Original date: 2018-02-06 17:17:18

I suspect the ordering of initialization between Converse memory modules and hwloc processs launch stuff was inverted by one of the recent hwloc changes.

Original date: 2018-02-07 15:37:22

'-memory os-isomalloc' still works. charmc already changes isomalloc to os-isomalloc on Clang non-SMP,  so I think we can just do that for all Clang builds? In the past I tried making all builds just use os-isomalloc, but uth-linux-x86_64 and cray builds failed on that.

Original date: 2018-02-07 15:51:10

This is doesn't happen on multicore-linux-x86_64{-clang}. It does reproduce on multicore-darwin-x86_64-gfortran-gcc.

Original date: 2018-02-07 18:43:54

It sounds like we should always change isomalloc to os-isomalloc on Darwin.

Original date: 2018-02-07 19:13:40

Yeah, I'll submit a patch to do that. I'm doing a git bisect now to see what broke it too.

Original date: 2018-02-07 19:26:39

This is the offending commit: ~~https://charm.cs.illinois.edu/gerrit/#/c/3144/~~ https://github.com/UIUC-PPL/charm/commit/199aee8f9d8bcff6e8b415ad6365cf0c11ce367e
I'll see if there's an easy fix and otherwise post the workaround fix to use os-isomalloc.

Original date: 2018-02-07 19:47:26

Does this patch help? ~~https://charm.cs.illinois.edu/gerrit/3606~~ https://github.com/UIUC-PPL/charm/commit/4bb6777292633adfc55b557f4d7f74d41af8eb77
EDIT: Probably not, looking again.

Original date: 2018-02-07 19:53:55

It doesn't help

Original date: 2018-02-07 20:27:31

workaround: ~~https://charm.cs.illinois.edu/gerrit/#/c/3698/~~ https://github.com/UIUC-PPL/charm/commit/5401faae83cdc00b243b7c8230665e1e8da24de2

Original date: 2018-02-07 23:13:51

Even though the underlying problem is still there, I'm going to mark this 'Merged' for practical purposes. We'd like to eventually get os-isomalloc to work everywhere, and there's already an open issue for that.


Error when trying to run example project

Describe the bug
The game won't run. Here's the debug log:
Godot version:  3.2.0
 res://addons/gut/gut.gd:823 - Invalid call. Nonexistent function 'get_text_box' in base 'Panel (GutScene.gd)'.
GUT version:  6.8.1
 res://addons/gut/gut.gd:823 - Invalid call. Nonexistent function 'get_text_box' in base 'Panel (GutScene.gd)'.
 res://addons/inkgd/editor/ink.gd:23 - Invalid call. Nonexistent function '_build_button_pressed' in base 'Control (ink_dock.gd)'.
 editor/editor_node.cpp:5140 - An EditorPlugin build callback failed.
 res://addons/inkgd/editor/ink.gd:23 - Invalid call. Nonexistent function '_build_button_pressed' in base 'Control (ink_dock.gd)'.
 editor/editor_node.cpp:5140 - An EditorPlugin build callback failed.
 res://addons/inkgd/editor/ink.gd:23 - Invalid call. Nonexistent function '_build_button_pressed' in base 'Control (ink_dock.gd)'.
 editor/editor_node.cpp:5140 - An EditorPlugin build callback failed.

To Reproduce
Clone the project directly from GitHub and press play after loading it into Godot.
Expected behavior
The game running as normal.
Environment:

OS: Windows 10
Godot version: 3.2.alpha1.mono.official
Inklecate version: 0.8.3
inkgd version: 0.1.4

Hi @shingle-bells, I couldn't reproduce the issue with either Godot 3.1.2 or Godot 3.2.1, but after downloading 3.2.alpha1, I can confirm there's indeed an issue.
However, since it's an alpha version, it's not supported. I assume there's something wrong in the alpha build and I can only suggest to update Godot to a stable version.
It made me realize something though. The main scene in the project is the GUT one, which is probably confusing. I'll change it to ink_runner.tscn.

Closing due to inactivity.

Closing due to inactivity.


Updated the cards on the home page

Reason (Why?)
The labels of the cards on the home page shall match the given categories of "Ehrenamtssuche Hessen".
Solution (What?)
The labels of the cards should be:

Denker/in
Macher/in
Kommunikative
Soziale

The query behind the cards should correspond with the labels.
If the current images do not fit to the label, please exchange the images and list the author in the imprint.
Not doing
None
Relation to other Issues
None
Acceptance criteria
The labels of the cards match the given categories of "Ehrenamtssuche Hessen" and the search query contains the correct category.

I suggest the following selection (4 out of 5) and order:
Soziale
Kreative
Kommunikative
Macher/in

Von: JanF<EMAIL_ADDRESS>Gesendet: Donnerstag, 25. Juni 2020 16:11
An: hochschule-darmstadt/einander-helfen<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Betreff: [hochschule-darmstadt/einander-helfen] Updated the cards on the home page (#93)
Reason (Why?)
The labels of the cards on the home page shall match the given categories of "Ehrenamtssuche Hessen".
Solution (What?)
The labels of the cards should be:

Denker/in
Macher/in
Kommunikative
Soziale

The query behind the cards should correspond with the labels.
If the current images do not fit to the label, please exchange the images and list the author in the imprint.
Not doing
None
Relation to other Issues
None
Acceptance criteria
The labels of the cards match the given categories of "Ehrenamtssuche Hessen" and the search query contains the correct category.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/hochschule-darmstadt/einander-helfen/issues/93 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ABYWHS3HOUU7E5YCUQERIUTRYNLILANCNFSM4OINEUFQ .  https://github.com/notifications/beacon/ABYWHS6KTUPEKAPIDEYTNE3RYNLILA5CNFSM4OINEUF2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4JT3APIA.gif


add IP and username selection to freeform select

You can select by username by typing in name:RealDodos

Also, my previous PR doesn't take effect for others because I forgot to update version there.


tf.dynamic_placeholder gives inconsistent results in Tensorflow 1.5

I'm seeing inconsistencies when calling tf.dynamic_partition(...) with Tensorflow 1.5.
I'm using tf.dynamic_partition(...) to select rows from two tensors. First is a 1D tensor of spare logits, second is a 2D tensor of one-hot encoded labels. My selector is a 1D tensor with entries made of 0s and 1s.
Say matches_mask has shape (268800,) and 320 of its elements are set to 1, rest are 0.
scalar_labels has shape(268800,) and one_hot_encoded_logits has shape (268800, 2).
The expected behaviour for
_, selected_scalar_labels = tf.dynamic_partition(scalar_labels, matches_mask, num_partitions=2)
_, selected_one_hot_encoded_logits = tf.dynamic_partition(one_hot_encoded_logits, matches_mask, num_partitions=2)

is that selected_scalar_labels has shape (320, ) and selected_one_hot_encoded_logits has shape (320, 2).
This code works perfectly fine on two machines, one running Ubuntu 16.4, Tensorflow 1.3 and Tensorflow 1.4 (tested both versions) and CUDA 8 and the other running Ubuntu 16.4, Tensorflow 1.4 and CUDA 8.
However today I upgraded first machine to Ubuntu 16.4, Tensorflow 1.5 and CUDA 9 and above breaks.
For some reason while selected_scalar_labels are as expected, selected_one_hot_encoded_logits have some strange shapes, such as (268352, 2).
I tried writing a minimal test script, such as
labels_placeholder = tf.placeholder(dtype=tf.int32, shape=[None])
logits_placeholder = tf.placeholder(dtype=tf.float32, shape=[None, 2])

mask_placeholder = tf.placeholder(dtype=tf.int32, shape=[None])

_, selected_labels_op = tf.dynamic_partition(labels_placeholder, mask_placeholder, num_partitions=2)
_, selected_logits_op = tf.dynamic_partition(logits_placeholder, mask_placeholder, num_partitions=2)

with tf.Session() as session:

    for _ in range(100):

        print()

        size = 268800

        labels = np.random.randint(0, 2, size=size)
        logits = np.random.uniform(0, 1, size=(size, 2))

        mask = np.random.binomial(1, np.random.uniform(0, 1), size)

        feed_dictionary = {labels_placeholder: labels, logits_placeholder: logits, mask_placeholder: mask}

        selected_labels, selected_logits = session.run([selected_labels_op, selected_logits_op], feed_dictionary)

        print("selected_labels: {}".format(selected_labels.shape))
        print("selected_logits: {}".format(selected_logits.shape))

but that gave correct results.
Problem occurs in a more complicated pipeline that is a part of Single Shot Detector's loss computations.
Unfortunately computing matches_mask is a complex task that depends on image being used on input and SSD configuration, so I can't really provide here a complete test case without posting a few hundreds lines of code that isn't for public use + images. matches_mask itself is very simple though, just a 1D tensor of 0s and 1s.
I appreciate that without presenting a test case that fails it's unlikely anyone will look into this problem, but I decided to post the issue in case someone else sees similar behaviour - from my point of view it seems to be a new bug introduced by Tensorflow 1.5 or its dependencies.
I have of course double checked that mymatches_mask, scalar_labels and one_hot_encoded_logits have expected dimensions and dtypes before dynamic_partition is called and that matches_mask is made of 0s and 1s only.
Environments on which code works as expected:

Ubuntu 16.04, tensorflow 1.3 installed with pip install tensorflow-gpu, CUDA 8.0, cuDNN 6.0, GPU: Tesla V100
Ubuntu 16.04, tensorflow 1.4 installed with pip install tensorflow-gpu, CUDA 8.0, cuDNN 6.0, GPU: GTX 1080 Ti
tf.GIT_VERSION: v1.4.0-19-ga52c8d9
tf.VERSION: 1.4.1
Ubuntu 16.04, tensorflow 1.4 installed with pip install tensorflow-gpu, CUDA 8.0, cuDNN 6.0, GPU: Tesla V100
tf.GIT_VERSION: v1.4.0-rc1-11-g130a514
tf.VERSION: 1.4.0

Environments on which code fails:
4) Ubuntu 16.04, tensorflow 1.5 installed with pip install tensorflow-gpu, CUDA 9.0, cuDNN 7.0, GPU: Tesla V100
tf.GIT_VERSION: v1.5.0-0-g37aa430d84
tf.VERSION: 1.5.0
Environments 1, 3 and 4 are the same machine, the only differences are in Tensorflow and CUDA versions and dependencies they install.

Nagging Assignee @itsmeolivia: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @itsmeolivia: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @itsmeolivia: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @itsmeolivia: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @itsmeolivia: It has been 15 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @itsmeolivia: It has been 105 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @itsmeolivia: It has been 152 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @itsmeolivia: It has been 167 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @itsmeolivia: It has been 182 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Is this still happening with the latest version?

It has been 14 days with no activity and the awaiting response label was assigned. Is this still an issue?

It has been 29 days with no activity and the awaiting response label was assigned. Is this still an issue?

It has been 44 days with no activity and the awaiting response label was assigned. Is this still an issue?

Automatically closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!


Ability to define log group retention period

Start from the Use-case
Whenever an aws lambda function is deployed; its corresponding log group created in cloud watch by default have 'Never Expire' as log retention policy. One has to manually change this value post deployment. It would be good if ability to configure this value is also provided with 7 days as default value
Example Config
worker:
  logExpire: 7 days

Implementation Idea
No response

Since the function is a normal serverless framework function, you can use logRetentionInDays:
provider:
  logRetentionInDays: 14


Use external verified VecMap crate

This does compile and should work out of the box.
But I want to make some performance testing first, before merging, since I replace every expression that uses closures.

@petervdonovan here is another use case for continuous benchmarking.

Right, so there is basically no performance difference:

There are some detectable differences, but they even out overall. And they are seemingly just a result of already existing benchmark performance variation.


Test gitian build: Linux OS (v3.1.0-rc7.2)

PreRelease v3.1.00-rc7.2:

Downloads binaries for Linux:

Logs (Linux)
build.log, install.log
Gitian signatures

@gitianuser   3.1.00-rc7.2-linux

Test binaries on Ubuntu bionic (18.04.1 LTS) (x86_64-linux)
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.1 LTS
Release:	18.04
Codename:	bionic

[x] - Test x86_64-linux QT binary
- QT Wallet general user experience
- QT launch and version

[x] Clean sync
[x] Debug console
[x] Windows and tools
[x] Keyboard and mouse

Building under pbuilder & launchpad with depends

runs under armhf
[x] trusty
[x] xenial
[x] bionic
[x] fedora 27
[x] fedora 28
[x] armbian
[x] raspberry pi (32 bit)

first pbuilder results in, works with no keyboard bug

Pbuilder built binaries run with no keyboard bug

[x] trusty i386
[x] trusty amd64
[x] xenial i386
[x] xenial amd64
[x] bionic i386
[x] bionic amd64

Release build runs on:

[x] trusty i386
[x] trusty amd64
[x] xenial i386
[x] xenial amd64
[x] bionic i386
[x] bionic amd64
[x] fedora 27 x86_64
[x] fedora 28 x86_64

Tested on bionic and xenial - all fine here.


Add error messages and constraints

Extra tests has since been added to improve coverage. Error messages added for expected invalid commands. CLOSED.


Add include for malloc in MergeVTables

I think it's normally included in the Python headers but isn't included the in the limited API versions of the headers. We may as well be clear and include it explicitly.

This is pretty simple so I'm merge it fairly quickly assuming no-one objects

Why do we use plain malloc here at all, instead of PyMem?

Probably just historical. I've changed to doing that instead.


bug fix related to np array divide

Description
Bug fix related to numpy array divide operator
Linked issue(s)/Pull request(s)

issue_number

Type of Change

[ ] Non-breaking bug fix
[x] Breaking bug fix
[ ] New feature
[ ] Test
[ ] Doc update
[ ] Docker update

Related Component

[ ] Simulation toolkit
[x] RL toolkit
[ ] Distributed toolkit

Has Been Tested

OS:

[ ] Windows
[ ] Mac OS
[x] Linux

Python version:

[ ] 3.6
[x] 3.7

Key information snapshot(s):

Needs Follow Up Actions

[ ] New release package
[ ] New docker image

Checklist

[ ] Add/update the related comments
[ ] Add/update the related tests
[ ] Add/update the related documentations
[ ] Update the dependent downstream modules usage

Codecov Report

Merging #245 (2adceb0) into master (d4bb9d5) will not change coverage.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##           master     #245   +/-   ##
=======================================
  Coverage   64.94%   64.94%
=======================================
  Files         111      111
  Lines        5334     5334
=======================================
  Hits         3464     3464
  Misses       1870     1870

Flag
Coverage Δ

unittests
64.94% <0.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

maro/rl/storage/column_based_store.py
67.47% <0.00%> (ø)

Continue to review full report at Codecov.

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

Codecov Report

Merging #245 (2adceb0) into master (d4bb9d5) will not change coverage.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##           master     #245   +/-   ##
=======================================
  Coverage   64.94%   64.94%
=======================================
  Files         111      111
  Lines        5334     5334
=======================================
  Hits         3464     3464
  Misses       1870     1870

Flag
Coverage Δ

unittests
64.94% <0.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

maro/rl/storage/column_based_store.py
67.47% <0.00%> (ø)

Continue to review full report at Codecov.

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


Categories for projects and an optional horizontal project card style

Hi there!
Recently I felt the need to organize my projects into categories (work, fun etc.) and edited my fork to reflect this. In addition, I wanted to card style for the projects to be horizontal (just preference).
In this PR, I added optional categorization of projects if "display_categories" variable is set in the projects.md page. I also added an optional shift from the default vertical card to a horizontal one if the variable "horizontal" is set to true.
If you like these features, feel free to accept the pull request. Also, I am not sure if this counts as a major feature. I can create a feature request and link this PR request there if you prefer that.
Here are a few screenshots of how different settings of the variable looks:
Default - "display_categories" variable unset - "horizontal" variable unset

Horizontal card style - "display_categories" variable unset - "horizontal" variable set

Default with categories - "display_categories" variable set - "horizontal" variable unset

Horizontal card style with categories - "display_categories" variable set - "horizontal" variable set

This is awesome! Thank you for the contribution. I'm going to make a couple of very minor stylistic adjustments and merge.


Option to remove contributors from a package with trident rectify, or automatic overwriting of Josiah Carberry when new contributors are added.

Creating a new package semi-automatically is currently hampered by Josiah Carberry. in the contributor field.
I would like a way to create/update the contributor field to remove Josiah (and potentially, though less importantly, other contributors) from the list.
I would suggest either a --removeContributor option to trident rectify, to contrast the existing --newContributor option,
or a special case being added for Josiah Carberry, where he is automatically removed from the contributor list when another contributor is added to the package.
This would minimise the amount of manual editing of the POSEIDON.yml that a user has to do to finalise a package. That said, I can see that this is only an issue in cases where one user is creating many packages at a time, so maybe not a priority.

We already have a --minimal flag. How about we make it so that when that is chosen, no dummy values are filled in the YAML file?

--minimal also creates no janno, or bib file, just a POSEIDON.yml to go with the genotypes.

Hmm, I'm concerned that we should think hard before adding more CLI options here for very specific YAML changes. The usual rectify-workflow is a quite specific edit of the YAML, geared towards "typical" update workflows. If you want custom changes to the YAML, you could just do that directly. For example, there are tools like https://github.com/andywerner/yaml_cli that you can check, which allow you to edit YAML from the CLI.
Or in fact you could do this:
python3 -c 'import yaml; d=yaml.load(open("POSEIDON.yml", "r").read(), Loader=yaml.CLoader); d["contributor"] = {"name": "Thiseas", "email" : "Thiseas.mail.com"};open("POSEIDON2.yml", "w").write(yaml.dump(d))'

I would argue that removing Josiah Carberry from the contributors is very much a typical update workflow.
One could even argue that validation of a package for addition to the PCA SHOULD check for his absence from the contributors.
I understand that adding a contributor with an update to a Poseidon package is more likely than removing one, and that removal of contributors should perhaps be less easy to do on purpose (as it is a heftier decision to make anyway), but in that case I would still favour a special-case for Josiah be made. The way I see it, there is little value to an easy-to-use way to add a contributor to a package if one then HAS to edit the POSEIDON.yml by hand afterwards anyway. At that point, we could remove the Contributor addition altogether and rely on users editing manually, or coming up with their own python yaml editing solutions for that operation as well.
To be clear, I am obviously not in favour of foregoing this QOL option altogether. But since most packages will only be made once, the usefulness of this option is unclear, unless one doesn't need to also update the YAML file manually.

OK, I think I understand that our choice of adding a dummy contributor is annoying since it nessitates a forced manual update.
The minimal solution would be to simply remove creation of a dummy contributor in trident init, as you have alluded to, @TCLamnidis. I think the reason @nevrome implemented it that way was to give users a pointer to not forget about the contributor. But we could perhaps mitigate that by adapting trident validate to output a warning if a package has no contributor.
A more involved suggestion would be to introduce Poseidon environment variables. For example, we could read from POSEIDON_USER_NAME and POSEIDON_USER_EMAIL, which can be set by a user. If trident init then finds these, it will use them as the first contributor, if not then the contributor field stays empty. I think this wouldn't affect rectify or validate, the variables only affect init.
What do you think?

Here are the options I saw mentioned now:

rectify gets a --removeContributor option
rectify automatically removes Josiah when --newContributor is set
Change nothing and leave users and developers to their own device
remove Josiah from the init output (throw a warning with validate if the contributor is missing)
replace Josiah with a contributor read from environment variables

I think I'm with Thiseas that 3. is not ideal. 5. is not something I would like to do, because I dislike environment variable based configuration. 2. would surprise me as a user, because it's an unexpected side effect.
For me the decision is about 1. and 4. Between the two I think it really depends on how valuable Josiah is as a didactic tool. He's certainly a bit of an odd quirk of trident and maybe it's better to remove him. The validate warning would be a good alternative.

Yes, I think I'm siding with option 4! This gives us a clear angle for implementation!

Implemented and released in v<IP_ADDRESS> :+1:


Update docs to correct path to "demo" folder

The docs located at ( https://docs.payid.org/remote-deployment/ ) refer to a demo folder and a script within. The folder does not appear anywhere within the repo.
Detailed Description
Missing "demo" folder that docs refer to. At one point it seems it was renamed to "example" but that too has been removed in commit ( https://github.com/payid-org/payid/commit/34fef51ecd1e5faa6a117c604b7114496bfdd2b9 ).
Context
I am trying to step through the docs to set up a server on AWS and the folder is missing.

Thank you for bringing this to our attention! @rswarthout
We are updating the docs to reflect more appropriate instructions.
For now, I would recommend that you run npm run devEnvUp in place of those commands.
And chance the port range in the docker-compose.yml file in the root directory from:
8080:8080 to 80:8080


Large file defined in spyder 4.1.3

whenever a file has more than 2000 lines, spyder gives a large file warning:
            "One of the files in the editor or the file you are trying
             to open contains more than 2000 lines.
             Code folding and indent guidelines will be disabled for
             this kind of files in order to prevent performance
             degradation."

and disables code folding and indent guidelines.
According to my own tests (in function "request_folding(self)" , changing the if condition from "if total_lines > 2000 and self.code_folding" to "if total_lines > 5000 and self.code_folding"), 5000 lines is more appropriate in most cases.
So I would like to suggest to increase the threshold from 2000 to 5000 if it is hard-coded, or just give the users a choice in the preference.

Hi @sweettyler,
We already remove this limitation for Spyder 4.1.4, please update once the release is done.
Thanks for reporting!


rustybuzz deprecation

Rustybuzz has been marked as deprecated: https://github.com/RazrFalcon/rustybuzz/issues/74
At this time my plan is to fork rustybuzz into a module in cosmic-text, unless one of two things happen:

It can be demonstrated that swash shaping can be integrated into cosmic-text and passes the universal declaration of human rights translations test. To clarify my comment on the issue, as I understand it, swash shaping is not as feature complete as rustybuzz and a regression in capabilities would not be acceptable for cosmic-text

rustybuzz can be moved to an organization that has similar goals to cosmic-text: high accuracy, and a gradual movement towards higher performance (while preserving accuracy). As I commented, I foresee this requiring a split from the current API that is somewhat inherited from harfbuzz, which means backporting changes from harfbuzz would be harder.

A third option is to use harfbuzz directly.

This is indeed a big issue @grovesNL. There is more talk about this on that rustybuzz issue. My hope is that I can maintain no_std and wasm support indefinitely, regardless of what happens.

harfbuzz would work fine with wue (wasm32-unknown-emscripten).
But the real problem is wasm_bindgen and wuu (wasm32-unknown-unknown) which is slowly worked on -> https://github.com/rustwasm/wasm-bindgen/issues/3454

Hello everyone, I'm new here!
As much as I love rust, I believe having feature-complete (and thus critically more accessible) text shaping is more important.
Having the ability to use harfbuzz with cosmic-text (probably using a feature flag) is IMO the only correct solution moving forward, because as RazrFalcon explains it's simply not sustainable to maintain rustybuzz without any backing. So as time goes on, we'll only see more issues crop up unless someone takes up the mantle.
Rustybuzz should serve as a fallback on wasm targets until https://github.com/rustwasm/wasm-bindgen/issues/3454 is addressed (and any other cross-compilation issues). Additionally, in browser environments it always remains possible to use the browser's own text editing support.
None of this is ideal, but at least provides a workable path forward that leaves plenty of room for improvements in the future.

@MarcGuiselin I target both native and WebAssembly and wouldn't want to include harfbuzz (even if it was technically possible to use a common ABI) because of the extra size and complexity of including a C++ toolchain. I also can't use the browser's built-in shaping for WebAssembly.

@MarcGuiselin In certain environments (notably Qubes OS and probably SpectrumOS as well), harfbuzz is not acceptable because of security concerns.  I’d like to use COSMIC Text to allow rendering arbitrary text in privilege contexts in Qubes OS, but that is only okay if it remains a purely safe Rust library.

@jackpot51 to elaborate on the security concerns: Qubes OS has users (such as Edward Snowden!) who malicious actors might well be willing to burn zero-day exploits on.


Server misbehaving when trying to push/pull/login to docker registry

Description
Issue with package registry. I've not changed anything in my configuration and all of a sudden I can't push/pull images from the package registry. I am on the latest nightly build.
I tried docker logout/login and still I get errors like this.
Error response from daemon: Get "https://URL/v2/": Get "http://gitea:3000/gitea/v2/token?account=username&client_id=docker&offline_token=true&service=container_registry": dial tcp: lookup gitea on <IP_ADDRESS>:53: server misbehaving

I get this error in the logs of gitea
2024/05/16 23:58:47 ...eb/routing/logger.go:102:func1() [I] router: completed GET /v2/ for <IP_ADDRESS>:51504, 401 Unauthorized in 0.1ms @ container/container.go:124(container.ReqContainerAccess)

Gitea Version
Current nightly build
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
No response
Screenshots
No response
Git Version
nightly
Operating System
Docker/UnRaid
How are you running Gitea?
Docker
Database
MySQL/MariaDB

Edit
Rolling back to https://hub.docker.com/layers/gitea/gitea/1.22.0-rc1/images/sha256-031ba2851bbc155db8f676154730257aa803a7f46058e9eb409a89f6527fe09d?context=explore resolved the issue. I don't know the go language completely but I assume the failure comes somewhere in this commit https://github.com/go-gitea/gitea/commit/67c1a07285008cc00036a87cef966c3bd519a50c#diff-36426f1aaff58f9b2084f7fc13593b237474e1d75a4e2883e0a44351e367ff76
maybe in here

Let me know if there is something I need to do on my end, thanks!

How do you deploy the servers? Is there a reverse proxy?
What does the "Self Check" page say in the admin panel (nightly)?

Related to #30885

How do you deploy the servers? Is there a reverse proxy, and are the "Host" / "X-Forwarded-Proto" headers correctly set?
What does the "Self Check" page say in the admin panel (nightly)?

I deploy with docker/nginx (swag). I have the nginx config setup properly (as advised in the docs) and haven't modified any of that. I did double check all of that though just to be sure.
I did have some database warnings in the health page that I used the doctor to resolve.
For MySQL/MariaDB users, you could use the "gitea doctor convert" command to fix the collation problems, or you could also fix the problem by "ALTER ... COLLATE ..." SQLs manually.

This was preset on both versions before the doctor command.

Could you share you nginx config?
I did a quick test:
upstream gitea {
  server <IP_ADDRESS>:3000;
}

server {
  server_name this-host.local;
  listen 80;
  location / {
    proxy_pass http://gitea;
    ## proxy_set_header Host $host;
    ## proxy_set_header X-Forwarded-Proto $scheme;
  }
}

Without these proxy_set_header:
$ curl -v http://this-host.local/v2
< Www-Authenticate: Bearer realm="http://gitea/v2/token",service="container_registry",scope="*"

With these proxy_set_header (uncomment):
$ curl -v http://this-host.local/v2
< Www-Authenticate: Bearer realm="http://this-host.local/v2/token",service="container_registry",scope="*"

I think these are expected behaviors.

And one more thing, I can see that you are using Gitea in a sub-path.
So have you changed your /v2 config section in your nginx?

And one more thing, I can see that you are using Gitea in a sub-path.
So have you checked/changed your /v2 config section in your nginx to make sure the headers are correctly set?

Hmm, I can see one new problem here.
By design (required by the "container" standard ....), the container /v2 path should always be in the root. But AppURL (and the new GuessCurrentAppURL) always have the "sub-path". I will make a new PR to remove the sub-path from "realm".

This is the configuration I've been running for a while. I followed the documentation/an issue on the tracker here to set it up like so. It's been working really well until that commit as far as I am aware. Here is my nginx.
location /gitea {
    return 301 $scheme://$host/gitea/;
}

location /gitea/ {
    client_max_body_size 512M;

    # make nginx use unescaped URI, keep "%2F" as is
    rewrite ^ $request_uri;
    rewrite ^/gitea(/.*) $1 break;
    proxy_pass http://gitea:3000$uri;

    proxy_set_header Connection $http_connection;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}

# This forwards docker traffic to gitea
location /v2/ {
    client_max_body_size 10G;
    proxy_pass http://gitea:3000/v2/;
}

Let me know if anything should be changed.
Yes I am using gitea in a sub-path. Thanks for the help so far!

# This forwards docker traffic to gitea
location /v2/ {
    client_max_body_size 10G;
    proxy_pass http://gitea:3000/v2/;
}

So, please add proxy_set_header in this section too. 🎉

I will add that as well when I can get back on my computer in the morning. Thanks for the advice and looking into the bug. I didn't realize that was supposed to go in that block as well.
I'll be back on in the AM. Thanks again!

Wasn't there a section in https://docs.gitea.com/administration/reverse-proxies which described the additional /v2/ route? I'm missing that part in the current docs.

Wasn't there a section in https://docs.gitea.com/administration/reverse-proxies which described the additional /v2/ route? I'm missing that part in the current docs.

That's why I proposed:  Improve reverse proxy documents #31003

Found the docs. It's only available in the "next" version, so with 1.22 docs. https://docs.gitea.com/next/administration/reverse-proxies#docker--container-registry

Found the docs. It's only available in the "next" version, so with 1.22 docs. https://docs.gitea.com/next/administration/reverse-proxies#docker--container-registry

The problem is that the section is too simple, it doesn't mention that the header & URI decoding requirements.

@wxiaoguang so should I try nightly again while adding the headers to the docker v2 block or wait until a patch?

I tested it, adding the headers did the trick. I agree the documentation wasn't quite clear on this particular use case when it comes to nginx.
I'm not sure if you want me to close this or if you're wanting to keep it open until the documentation patch comes through?
For anyone that is curious for a complete example nginx config with a sub folder (this is used with swag)
location /gitea {
    return 301 $scheme://$host/gitea/;
}

location /gitea/ {
    client_max_body_size 512M;

    # make nginx use unescaped URI, keep "%2F" as is
    rewrite ^ $request_uri;
    rewrite ^/gitea(/.*) $1 break;
    proxy_pass http://gitea:3000$uri;

    # common http headers
    proxy_set_header Connection $http_connection;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;

}

# This forwards docker traffic to gitea
location /v2/ {
    client_max_body_size 10G;
    proxy_pass http://gitea:3000/v2/;

    # common http headers
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}

I added this example to the doc PR #31003 :
server {
    ...
    location /gitea {
        return 301 $scheme://$host/gitea/;
    }
    location ~ ^/(gitea|v2)/ {
        client_max_body_size 512M;

        # make nginx use unescaped URI, keep "%2F" as-is, remove the "/gitea" sub-path prefix, pass "/v2" as-is.
        rewrite ^ $request_uri;
        rewrite ^(/gitea)?(/.*) $2 break;
        proxy_pass http://<IP_ADDRESS>:3000$uri;

        # other common HTTP headers, see the "Nginx" config section above
        proxy_set_header Connection $http_connection;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}


Adapt high-availability configuration of shoot control plane components

How to categorize this PR?

/area high-availability
/kind enhancement
What this PR does / why we need it:
This PR adapts the HA configuration of the non-observability-related shoot control plane components.
Concretely, the components are labeled according to their type and custom replica/affinity changes have been dropped.
The webhook introduced with https://github.com/gardener/gardener/pull/6967 will take care to properly inject the required HA configuration.
Which issue(s) this PR fixes:
Part of https://github.com/gardener/gardener/issues/6529
Similar to https://github.com/gardener/gardener/pull/6982 and https://github.com/gardener/gardener/pull/6989
Special notes for your reviewer:
✅ ~Depends on https://github.com/gardener/gardener/pull/6967 which needs to be merged first.~
/cc @timuthy
Release note:

All non-observability-related shoot control plane components are now running with configuration for high-availability according to [the conventions](https://github.com/gardener/gardener/blob/master/docs/development/high-availability.md).

/cc @rfranzke is this supposed to go in v1.60?

@acumino it'd be nice to have this in v1.60 🙂

/milestone v1.60


bug: Preview buffers aren't closed on cursor move

Did you check the docs and existing issues?

[X] I have read the docs
[X] I have searched the existing issues

Neovim version (nvim -v)
v0.10.0-dev-661+gef94fb69c-Homebrew
Operating system/version
MacOS 13.4.1
Describe the bug
When using preview mode (<C-p>), previewed buffers aren't closed when you move the cursor to the next entry.

Steps To Reproduce

nvim .
<C-p>
jjjjjjjjjjj
<C-p>
:buffers

Expected Behavior
Previewed buffers, that are no longer focused, should be closed
Directory structure
No response
Repro
-- save as repro.lua
-- run with nvim -u repro.lua
-- DO NOT change the paths
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "runtime", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({
    "git",
    "clone",
    "--filter=blob:none",
    "--single-branch",
    "https://github.com/folke/lazy.nvim.git",
    lazypath,
  })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  "folke/tokyonight.nvim",
  {
        "stevearc/oil.nvim",
        config = function()
            require("oil").setup({
              -- add any needed settings here
            })
        end,
  },
  -- add any other plugins here
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

vim.cmd.colorscheme("tokyonight")
-- add anything else here

Did you check the bug with a clean config?

[X] I have confirmed that the bug reproduces with nvim -u repro.lua using the repro.lua file above.

Should be fixed!

Yes, it is! Thank you for your plugin!


How to destroy an active listener?

Hi all,
I created a listener as such
this.$refs.mySwiperMap.$swiper.on("slideNextTransitionEnd", () => {

and now I'm trying to destroy it. (to recreate a new one, so that it doesn't duplicate)
According to the documentation (https://swiperjs.com/api/), I can use mySwiper.detachEvents(), but I have tried the following but doesn't work for me (many duplicates events firing on slide change)

this.$refs.mySwiperMap.$swiper.detachEvents()
this.$refs.mySwiperMap.detachEvents()

I am wondering how do I go about removing the swiper listener?
Dep
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>

this.$refs.mySwiperMap.$swiper.off("slideNextTransitionEnd")


Spooky House Stage

Describe your bug here.
Did.. nobody really notice that before? Or mention it, like, at all?
The Week2 Stage is.. a bit off centered. Or at least for me, with my weird screen
I think the brighter layer should hit the screen end-

Command Prompt/Terminal logs (if existing)
No response
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
n o

Just lower that part, thats all you really need to do.

but source is required.

And I can't compile at all. My computer says no then
And I guess it would be nice for everyone

Pretty sure this is from the original game

damn, it is-
though, it wouldn't be bad to fix it-

change the "camera_boyfriend"'s y value (second number in brackets)


Program interface/UI doesn't show Load button

Hi Kirill
i've just downloaded your TS-SES_Tool in version <IP_ADDRESS>.
After starting up I've read your documentation to figure out how the program works.
I noticed two things which are different from the section "Using tool". First the tool is able to find my game.sii and shows the correct data stored in the file, e.g. my profile, comany etc. But when it comes to load it, the load button is not shown. As a result for instane the Tab Profile shows only grayed out skills.
Instead of a Load button I find a textbox (also grayed out) saying "Disable Steam Cloud". I'm not sure if this should be a button too, but it is not clickable.
Do you have an idea what is wrong, if so?
Best Alex
The UI in the documentation looks like this:

The UI of the current version of the program running on my PC looks like this:

You will have to disable Steam Cloud Saving for that profile in-game (Main Menu -> Manage/Edit Profile). After editing you can turn that on again.

Sorry for the long delay. Thanks for your help. It works.
We are good to close this issues.


Segmentation fault on Debian 11

General description of bug:

What happened: Seg fault when running fastfetch
What should happen: no errror
Fastfetch version used: 2.11.1
Did it work in an older version: no
Where did you get the binary:  Github Release

If fastfatch crashed or freezed
xxxxx@xxxxx:~$ gdb -q -ex 'set confirm off' -ex run -ex 'bt full' -ex quit --args fastfetch
Reading symbols from fastfetch...
Starting program: /usr/bin/fastfetch
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
       _,met$$$$$gg.           xxxxx@xxxxx
    ,g$$$$$$$$$$$$$$$P.        --------------------
  ,g$$P"         """Y$$.".     OS: Debian GNU/Linux bullseye 11.9 x86_64
 ,$$P'               `$$$.     Host: B550M Pro4
',$$P       ,ggs.     `$$b:    Kernel: 5.10.0-27-amd64
`d$$'     ,$P"'   .    $$$     Uptime: 108 days(!), 1 hour
 $$P      d$'     ,    $$$P    Packages: 814 (dpkg)
[Detaching after fork from child process 3485713]
 $$;      Y$b._   _,d$P'       Shell: bash 5.1.4
 Y$$.    `.`"Y$$$$P"'          Cursor: Adwaita
 `$$b      "-.__               Terminal: /dev/pts/0
  `Y$$                         CPU: AMD Ryzen 5 5600G (12) @ 5.00 GHz
   `Y$$.
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7eaefb0 in __lll_cas_lock (futex=0x4) at ../sysdeps/unix/sysv/linux/x86/lowlevellock.h:47
47      ../sysdeps/unix/sysv/linux/x86/lowlevellock.h: No such file or directory.
#0  0x00007ffff7eaefb0 in __lll_cas_lock (futex=0x4) at ../sysdeps/unix/sysv/linux/x86/lowlevellock.h:47
        ret = <optimized out>
#1  __GI___readdir64 (dirp=dirp@entry=0x0) at ../sysdeps/posix/readdir.c:44
        dp = <optimized out>
        saved_errno = 2
#2  0x00005555555a3031 in pciDetectAmdSpecific (options=<optimized out>, options=<optimized out>,
    buffer=0x7fffffffdeb0, pciDir=0x7fffffffdea0, gpu=0x55555569a910)
    at /home/runner/work/fastfetch/fastfetch/src/detection/gpu/gpu_linux.c:50
        hwmonLen = <optimized out>
        value = <optimized out>
        pciDirLen = 33
        dirp = 0x0
        entry = <optimized out>
        pciDirLen = <optimized out>
        dirp = <optimized out>
        entry = <optimized out>
        hwmonLen = <optimized out>
        value = <optimized out>
#3  detectPci (options=0x555555681fb0 <instance+3024>, gpus=<optimized out>, buffer=0x7fffffffdeb0,
    drmDir=0x7fffffffdea0) at /home/runner/work/fastfetch/fastfetch/src/detection/gpu/gpu_linux.c:212
        drmDirPathLength = 33
        vendorId = 4098
        deviceId = 5688
        subVendorId = 4098
        subDeviceId = 5686
        classId = 3 '\003'
        subclassId = 0 '\000'
        pciPath = "../../../devices/pci0000:00/0000:00:08.1/0000:05:00.0\000 1359<PHONE_NUMBER>3709551615 945608-
6654720<PHONE_NUMBER>9805<PHONE_NUMBER>75776 0\000\002\000\000\000\000\000\000h7hUUU\000\000\000\000\000\000\000\00.
        pathLength = <optimized out>
        pPciPath = <optimized out>
        pciDomain = 0
        pciBus = 5
        pciDevice = 0
        pciFunc = 0
        gpu = 0x55555569a910
        pciids = {allocated = 1254399, length = 1254398,
          chars = 0x7ffff7850010 "#\n#\tList of PCI ID's\n#\n#\tVersion: 2021.02.08\n#\tDate:    2021-02-08 0}
#4  0x0000555555583f59 in pciDetectGPUs (gpus=0x7fffffffdf90, options=0x555555681fb0 <instance+3024>)
    at /home/runner/work/fastfetch/fastfetch/src/detection/gpu/gpu_linux.c:350
        pciDevDirLength = 33
        pciDirPath = 0x55555560e5cf "/sys/bus/pci/devices/"
        pciBaseDirLength = 21
        buffer = {allocated = 4097, length = 5, chars = 0x555555699900 "0xc9\n"}
        dirp = 0x5555556918c0
        pciDir = {allocated = 64, length = 40,
          chars = 0x5555556894b0 "/sys/bus/pci/devices/0000:05:00.0/hwmon/"}
        entry = <optimized out>
        pciDirPath = <optimized out>
        dirp = <optimized out>
        pciDir = {allocated = <optimized out>, length = <optimized out>, chars = <optimized out>}
        pciBaseDirLength = <optimized out>
        buffer = {allocated = <optimized out>, length = <optimized out>, chars = <optimized out>}
        entry = <optimized out>
        pciDevDirLength = <optimized out>
#5  ffDetectGPUImpl (gpus=0x7fffffffdf90, options=0x555555681fb0 <instance+3024>)
    at /home/runner/work/fastfetch/fastfetch/src/detection/gpu/gpu_linux.c:368
No locals.
#6  ffDetectGPU.constprop.0 (options=options@entry=0x555555681fb0 <instance+3024>,
--Type <RET> for more, q to quit, c to continue without paging--
    result=result@entry=0x7fffffffdf90) at /home/runner/work/fastfetch/fastfetch/src/detection/gpu/gpu.c:106
        error = <optimized out>
        vulkan = <optimized out>
#7  0x00005555555dfe2f in ffPrintGPU (options=0x555555681fb0 <instance+3024>)
    at /home/runner/work/fastfetch/fastfetch/src/modules/gpu/gpu.c:98
        gpus = {data = 0x55555569a910 "", elementSize = 136, length = 1, capacity = 16}
        error = <optimized out>
        selectedGPUs = {data = 0x7fffffffdfa0 "\020", elementSize =<PHONE_NUMBER>, length = 32767,
          capacity =<PHONE_NUMBER>}
#8  0x0000555555602be8 in parseStructureCommand (line=0x55555568677d "GPU",
    fn=fn@entry=0x5555556015d0 <genJsonResult>, jsonDoc=jsonDoc@entry=0x0, customValues=<optimized out>,
    customValues=<optimized out>) at /home/runner/work/fastfetch/fastfetch/src/common/commandoption.c:115
        baseInfo = 0x555555681fb0 <instance+3024>
        modules = 0x5555556812b8 <G.lto_priv.0+8>
#9  0x000055555556b27d in ffPrintCommandOption (jsonDoc=<optimized out>, data=0x7fffffffe1c0)
    at /home/runner/work/fastfetch/fastfetch/src/common/commandoption.c:137
        colonIndex = 128
        ms = 0
        startIndex = 125
        startIndex = <optimized out>
        colonIndex = <optimized out>
        ms = <optimized out>
        moduleJson = <optimized out>
        str = {<optimized out> <repeats 32 times>}
        len = <optimized out>
#10 run (data=0x7fffffffe1c0) at /home/runner/work/fastfetch/fastfetch/src/fastfetch.c:819
        useJsonConfig = <optimized out>
        useJsonConfig = <optimized out>
#11 main (argc=<optimized out>, argv=<optimized out>)
    at /home/runner/work/fastfetch/fastfetch/src/fastfetch.c:880
        data = {structure = {allocated = 256, length = 194, chars = 0x555555686700 "Title"}, customValues = {
            data = 0x0, elementSize = 40, length = 0, capacity = 0}, configLoaded = false}

I forgot check NULL returned by opendir once again...


Update README.md

Moved Falco from the category RASP (where I published it by mistake) to Monitoring/Logging.
Falco is a runtime security tool that consists of falco-libs to capture runtime information from syscalls and falco engine to process the events and configure alerts and automations.

Commit message updated @andrzejsydor. Could you review it, please?
Thanks

@andrzejsydor @sbilly could we merge this PR now? Thanks in advance

@andrzejsydor @sbilly could we merge this PR now? Thanks in advance

In my opinion, yes, you can merge the PR.

thanks @andrzejsydor but I don't have write permissions so afaik I can't merge it.
FYI @sbilly


Adds AddBreak() method to Paragraphs

Should solve

https://github.com/EvotecIT/OfficeIMO/issues/37

public static void Example_BasicWordWithBreaks(string folderPath, bool openWord) {
    Console.WriteLine("[*] Creating standard document with paragraph & breaks");
    string filePath = System.IO.Path.Combine(folderPath, "BasicDocumentWithParagraphsAndBreaks.docx");
    using (WordDocument document = WordDocument.Create(filePath)) {
        var paragraph1 = document.AddParagraph("Adding paragraph1 with some text and pressing ENTER");

        var paragraph2 = document.AddParagraph("Adding paragraph2 with some text and pressing SHIFT+ENTER");
        paragraph2.AddBreak();
        paragraph2.AddText("Continue1");
        paragraph2.AddBreak();
        paragraph2.AddText("Continue2");

        var paragraph3 = document.AddParagraph("Adding paragraph3 with some text and pressing ENTER");

        document.Save(openWord);
    }
}

Would love to see this merged ❤

@hisuwh need to write some tests over the weekend and will merge both PRs.

Nice one for getting this in.
Any chance you can publish a new version with this change?


SimpleMacvlan support in network-operator

This change introduces macvlan config for additional networks in network-operator.
@dcbw @squeed @dougbtv @danwinship

A few small things, but otherwise looks good.

The current IPAM stuff here isn't compatible with egress-router (where we statically assign IPs), but I think the answer there is going to end up being that we have a special network type for egress routers, which might happen to be implemented as a macvlan (at least on some platforms) but isn't NetworkTypeMacvlan

@danwinship Currently network-attachment-definition does not interwork with Kubernetes network resources, including egress-router. This is also applicable to sr-iov as well as other CNI plugins for network-attachment. I suppose that should be addressed in new issue.

/lgtm

/hold
As before, I am worried that this all looks and sounds like it's very generic, but then it ends up only actually working for one single use case.
If we only have info on one particular use case right now, and aren't necessarily interested in being generically useful, then I'd feel better about this if we renamed it to have a less generic-sounding name. ie, don't call it macvlan when it's really "macvlan for people who are doing X". (And then if we do that you can make Master be non-optional again if you want.)

(I added more code comments but github is hiding them by default...)

@danwinship your concern is not macvlan specific just AdditionalNetworks specific. AdditionalNetwork (not only macvlan, also SR-IOV and so on) has same situation (not related to egress router, only DHCP is allowed for now as supported plugin).
I guess that you seems that macvlan is identical to OpenShiftSDN/OVNKubernetes/Kuryr, but actually macvlan and Raw is not identical to them, just for additionalnetwork. We could change NetworkTypeRaw -> AdditionalNetworkTypeRaw and NetworkTypeMacvlan -> AdditionalNetworkTypeMacvlan to explicitly show the difference, I guess. What do you think about it?

/retest

No, I understand the point of additionalNetworks, I'm just saying that there are lots of reasons people might want to use additional networks, and lots of reasons people might want to use a macvlan specifically, but it feels to me like this particular API was designed while only thinking about one of those use cases (NFV or "high performance" or whatever), and that may make it unusable for other macvlan-based use cases in the future and so we'll end up being forced to create a "macvlan2" type or something with a different API.

DHCP is just a protocol to allocate IP address and DHCP does not support to add annotation for container specific information, such as pod name, container host name and so on.

Um, DHCP supports passing numerous options in the client request.
So the reason I was asking this to begin with was because you have IPAM as just a string, and I was wondering about IPAM plugins that require configuration. Apparently the current version of the CNI DHCP plugin doesn't allow any configuration, but it might in the future (eg, specificying an explicit client-id to pass to the DHCP server). Other IPAM plugins already require additional configuration. In fact, of the 3 IPAM providers that currently exist in containernetworking/plugins, dhcp is the only one that can be used without providing any configuration. So we have this IPAM field here, but it turns out to not actually be useful, because the only value that works is the default value. This is what I mean about the current API seemingly being designed to only solve one use case.

@danwinship I've modified to change "SimpleMacvlan". Could you please take a look into it?

/lgtm

/hold cancel

@knobunc could you please take a look into it and approve it if okey?

Some doc needs clarification
/hold
/approve

@squeed PTAL, again?

@soltysh PTAL?

In the offline discussion, we have following update, so need to update the PR.

Ipam should be kept because 4.2 introduces new Ipam type (static) into the supported, so need to add Ipam fileld.
static Ipam may require more fields in network operator API

Let me update it ASAP.

@squeed Update with static IPAM support. PTAL?

@deads2k PTAL?

/lgtm

@squeed @danwinship  PTAL?

@squeed @danwinship PTAL, again?

Address should be omitempty because address will be given as pod annotation as https://github.com/intel/multus-cni/issues/278#issuecomment-506222323

The static ipam plugin says the field is required (if the addresses section is specified). If you want to specify IP via the pod annotation, then you'd have to not include addresses in the staticIPAMConfig.

@danwinship right, and code/comment is changed.

Two questions, but if they're answered, feel free to merge. I'll be OOO for the next week.

/unhold

/hold cancel

/lgtm


Docker file build issue. K2 module is giving issue

During k2 build ------Makefile:159: recipe for target 'all' failed.

Please post complete logs.

@sanjuktasr
Please see
https://hub.docker.com/repository/docker/k2fsa/icefall/tags?page=1&ordering=last_updated
We have pre-built docker images for icefall.


[Rust] [Experiment] [WIP]: Use SmallVec in ArrayData to optimize the common usecase of single-buffer arrays

Another experiement for speeding up ArrayData. Most array types only contain a single buffer (except for the validity buffer) and also at most one child data object. I think the only types this does not apply to are struct and union arrays. Using a SmallVec trades one comparison against an allocation and the resulting indirection in those cases.
The ArrayData::new method is left in place unchanged for compatibility.
TODO:

[ ] Use the optimized new_smallvec method in kernels whenever applicable
[ ] Run all benchmarks on a non-throttling machine

@jorgecarleitao @Dandandan this is also related to the discussion on #9271. I tried this initially some month ago and the benchmarks were not conclusive, but might be worth trying again or in combination with removing the Arc indirection.

@jhorstmann  I am closing this PR for the time being to clean up the Rust/Arrow PR backlog.  Please let me know if this is a mistake


Please release to maven central

Any news on a Maven Central release? Thanks.

Now you can download the 0.2 release from Maven Central and jcenter


Update train.py to calculate test accuracy correctly

For clarification, this is a PyTorch 0.4 compatibility fix.


invoice.expiration_in() equals the expiry block rather than the amount of blocks until expiry

It does this until the invoice is queried again and it corrects itself.
For example, I set expiry to 250 blocks, and .expiration_in() was 2867261 while creation_height was 2867011.
After using .expiration_in() function a second time, its value was set to 250.

Thanks for making this issue!
I was able to reproduce this by making the first expiration_in() call before any new blocks have arrived. Definitely counterintuitive behavior. Looks like it should be an easy fix though

The fix is on master, so you can point your project at latest master for now and I'll get this out in the next patch release.

Great 🫡


Figure out a minimal healthcheck pattern

Some of our examples use a healthcheck which relies on the admin endpoint, and uses curl to check readiness
Ideally we want  a really minimal healthcheck that requires little/no container/system tools to check, that we could include in the published images - adding curl/nc in the distroless container is not trivial/desirable
One way of doing this would be if there were a filesystem file that could be checked for. This would definitely be the ideal
Another possibility - which would still require admin and a util - would be to expose admin only on a unix socket and connect to that with socat
I have a current need for something like this - but there is also a recent ticket related to this - #31614

the other minimal option would be sending a signal i guess

thinking about this further and realizing that signals wont help as they are one way

I'm using the file based http healthcheck on other distroless images too, currently without any problems.
dockerfile:
HEALTHCHECK CMD ["/docker-healthcheck.sh"]
docker-healthcheck.sh.txt
But this requires /bin/bash as shell and it depends that envoy admin endpoint is unsecure (not using https)

nice, that gets rid of the need for adding a tool other than bash (defo better than my socket suggestion)
i guess the next question is a reliable readiness check
when i looked before the admin endpoint was the most reliable i could see but its generally not desirable to expose admin unless you need it
there is also some question about its reliability for health checking - cc @ravenblackx
i guess there is a more general question about what readiness means in the Envoy context (putting aside healthiness) - eg does it mean the server is running, or specific endpoints are listening

@bruegth if you were up for PRing to replace the curl/healthcheck in the examples with your one i think that would be a good advance on what we have (happy to follow up myself if you prefer)

based on your suggestion and a bit of experimentaion - the best ive got so far is this for distroless
FROM debian:bookworm-slim as debian-static
RUN apt-get -qq update -y \
    && apt-get install bash-static

FROM scratch as binaries
COPY --from=busybox /bin/cat /bin/cat
COPY --from=busybox /bin/echo /bin/echo
COPY --from=busybox /bin/sh /bin/sh
COPY --from=busybox /bin/timeout /bin/timeout
COPY --from=busybox /bin/grep /bin/grep
COPY --from=debian-static /usr/bin/bash-static /usr/bin/bash

FROM envoyproxy/envoy:distroless-dev
COPY --from=binaries \
    /bin/cat \
    /bin/echo \
    /bin/grep \
    /bin/sh \
    /bin/timeout \
    /bin/
COPY --from=binaries \
    /usr/bin/bash \
    /usr/bin/
ENV ENVOY_ADMIN_PORT="${ENVOY_ADMIN_PORT:-9901}" \
    HEALTHCHECK_PORT="${HEALTHCHECK_PORT:-${ENVOY_ADMIN_PORT}}"
COPY --chmod=755 <<EOF /usr/local/bin/healthcheck
#!/usr/bin/bash

HC_HOST="localhost"
HC_PORT="\${HEALTHCHECK_PORT:-9901}"
HC_PATH="/server_info"
HC_EXPECTED="LIVE"
HC_ENDPOINT="/dev/tcp/\${HC_HOST}/\${HC_PORT}"

exec 3<>"\$HC_ENDPOINT"
echo -e "GET "\${HC_PATH}" HTTP/1.1\\nhost: \${HC_HOST}:\${HC_PORT}\\n" >&3
timeout 1 cat <&3 | grep -m 1 state | grep -m 1 "\$HC_EXPECTED"
ERROR=\$?
exec 3<&-
exec 3>&-
exit \$ERROR
EOF

HEALTHCHECK \
    --interval=1s \
    --timeout=2s \
    --start-period=1s \
    --retries=3 \
    CMD /usr/local/bin/healthcheck

for distroless it would need these bins added , but the ubuntu container should be able to just use the hc directly
i think we dont want to put anyting in the distroless image itself so probs we should add another image target :distroless-hc or similar

Your solution looks good to me.

@bruegth if you were up for PRing to replace the curl/healthcheck in the examples with your one i think that would be a good advance on what we have (happy to follow up myself if you prefer)

Sorry, but at moment I'm too busy to create an PR.