SDL_GetRevision broken

We currently do a pass-through with SDL_GetRevision which is wrong:
it reports SDL3 version and revision: We need something specific to
sdl2-compat.
$ LD_LIBRARY_PATH=~/sdl3/lib ./testver
INFO: Compiled with SDL 2.0 or newer
INFO: Compiled version: 2.29.0 ()
INFO: Linked version: 2.90.0 (SDL-prerelease-3.0.0-2044-gb221b59)

Also note the empty revision string in Compiled version case which
directly references SDL_REVISION: It looks like it cannot find the
generated SDL_revision.h, i.e. it prioritizes top-level include/SDL2
instead of build-dir. CC: @madebr

@madebr: if I comment out the target_include_directories line in
the test_program macro, and swap all the PROJECT_SOURCE_DIR and
PROJECT_BINARY_DIR lines in rest of target_include_directories
then it picks generated SDL_revision.h (see inlined patch below):
The target_include_directories in test_program macro seems to
prepend the top-level include directory to existing ones.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5fa4387..dfa6e92 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -177,10 +177,10 @@ add_library(SDL2::SDL2 ALIAS SDL2)
 target_link_libraries(SDL2 PRIVATE $<BUILD_INTERFACE:SDL3::Headers>)
 target_include_directories(SDL2
   INTERFACE
-    "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>"
-    "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include/SDL2>"
     "$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/include>"
     "$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/include/SDL2>"
+    "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>"
+    "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include/SDL2>"
     "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
     "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/SDL2>"
 )
@@ -319,10 +319,10 @@ add_library(SDL2_test STATIC
 add_library(SDL2::SDL2test ALIAS SDL2_test)
 target_include_directories(SDL2_test
   PUBLIC
-    "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>"
-    "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include/SDL2>"
     "$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/include>"
     "$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/include/SDL2>"
+    "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>"
+    "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include/SDL2>"
     "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
     "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/SDL2>"
 )
@@ -347,7 +347,7 @@ if(SDL2COMPAT_TESTS)

   macro(test_program _NAME _SRCS)
     add_executable(${_NAME} ${_SRCS})
-    target_include_directories(${_NAME} PRIVATE "include/SDL2")
+#   target_include_directories(${_NAME} PRIVATE "include/SDL2")
     target_link_libraries(${_NAME} PRIVATE SDL2::SDL2main SDL2::SDL2test SDL2::SDL2)
     # Turn off MSVC's aggressive C runtime warnings for the old test programs.
     if(MSVC)
@@ -501,10 +501,10 @@ if(SDL2COMPAT_STATICDEVEL AND SDL2COMPAT_DEVEL)
   target_link_libraries(SDL2-static PRIVATE $<BUILD_INTERFACE:SDL3::Headers>)
   target_include_directories(SDL2-static
     INTERFACE
-      "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>"
-      "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include/SDL2>"
       "$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/include>"
       "$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/include/SDL2>"
+      "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>"
+      "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include/SDL2>"
       "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
       "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/SDL2>"
   )


vscode 1.43 breaks default extensions

tested via home-manager.
my channels are as follows.
home-manager https://github.com/rycee/home-manager/archive/master.tar.gz
nixpkgs https://nixos.org/channels/nixpkgs-unstable

This won't install the extensions:
  programs.vscode = {
    enable = true;
    extensions = with pkgs.vscode-extensions; [
      bbenoist.Nix
      scalameta.metals
    ]
  };

This will install the extensions:
  programs.vscode = {
    enable = true;
    extensions = with pkgs.vscode-extensions; [
    ] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
        {
          name = "Nix";
          publisher = "bbenoist";
          version = "1.0.1";
          sha256 = "0zd0n9f5z1f0ckzfjr38xw2zzmcxg1gjrava7yahg5cvdcw6l35b";
        }
        {
          name = "metals";
          publisher = "scalameta";
          version = "1.8.4";
          sha256 = "0j64hpbll0mqspvikgg54lh279z1xmvdmmxjy0cf20az8cz19fwf";
        }
        {
          name = "scala";
          publisher = "scala-lang";
          version = "0.3.9";
          sha256 = "0l6zrpp2klqdym977zygmbzf0478lbqmivcxa2xmqyi34c9vwli7";
        }
      ];
  };

I experienced the same issue, and used the same workaround, except now even the workaround is not working.
It raises errors such as:
error: opening directory '/nix/store/51xyzwi3b7s4nwrsawnqvbz9yaa94bhm-vscode-extension-brettm12345-nixfmt-vscode-0.0.1/share/vscode/extensions': No such file or directory
(use '--show-trace' to show detailed location information)

I must have accidentally assigned this, I don't know anything about the VSCode wrapper :( I unassigned myself.
I found https://github.com/nix-community/home-manager/issues/1260, which seems likely to be the same issue. Since that place is for home-manager, it seems likely to need solving there, unless the vscode-with-extensions package here no longer works with the configuration setup in home-manager.

I must have accidentally assigned this, I don't know anything about the VSCode wrapper :( I unassigned myself.
I found https://github.com/nix-community/home-manager/issues/1260, which seems likely to be the same issue. Since that place is for home-manager, it seems likely to need solving there, unless the vscode-with-extensions package here no longer works with the configuration setup in home-manager.

This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/vscode-extensions-setup/1801/8

This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/vscode-extensions-setup/1801/8

In my system at least, the latest builds work, so maybe we can close this issue?

I think we can close it since it is outdated. new versions might have resolved it already.


Guile Integration for configuration

Leverage libguile for the configuration lang rather than reinventing the wheel, however this still requires integrating the language and loading the required scheme files for upm on start up

Basic integration completed


Suggestion

Good work but it's kinda overpowerd , what if the Dictator get a button to activate during discussion that he use his x8 Vote , and that button can only be used twice per game so the Dictator wouldn't be tossing people left and right + it make more sense for him to use his vote wisely ? when he doesn't click on the button his vote count as normal like everyone else ?

while i dont know how to make a new button instance for the voting buttons, let alone a textured button in general, i could try a keybind to toggle it. this on/off toggle would be shown under the ping counter.
also, i am making a 1.1 update for the option to set his voting value.
will try to add this soon, thanks!


add package.d, deprecate yaml/dyaml.all

Fixes #23.
Note that this breaks compiling on versions of dmd older than 2.064. As that version is 2 years old at this point, this should not be a big issue...

Nice one!
You might also want to take a look at #44 and add the missing export for dyaml.stream to the package.

Unfortunately, the author of the project does not respond to merge requests.
I had to create a new package yaml-d. Please do not judge me. Let's develop Dlang.


Deprecate majority of governator-core which has moved to Karyon

We have decided to backport all the Karyon DI code back into governator instead.  This will be addressed in a separate pull request.


leverage recutils

I noticed that tdfgo fonts ... output is very nearly a recutils format.
RoySac has over 1k fonts alone, and there may be others I'm unaware of, so making the (hopefully) small changes required to support recutils could improve ergonomics around querying, searching, and general composability of tdfgo with other cli utils.

As an exercise, I applied some post-processing to fonts -v so that I could query it with recutils'.
Here is a snippet of the output
/home/crinklywrappr//.config/tdfgo/fonts/USEX.TDF

font: Use Cyan-Blu
char list:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklnopqrstuvwxyz{|}~
width: 11 height: 6 spacing: 2
preview: ▄▄▄▄▄▄▄▄▄▄▄▄▄▄

font: Use Green
char list:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklnopqrstuvwxyz{|}~
width: 11 height: 6 spacing: 2
preview: ▄▄▄▄▄▄▄▄▄▄▄▄

font: Use Purple
char list:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklnopqrstuvwxyz{|}~
width: 11 height: 6 spacing: 2
preview: ▄▄▄▄▄▄▄▄▄▄▄▄

font: Use Red
char list:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklnopqrstuvwxyz{|}~
width: 11 height: 6 spacing: 2
preview: ▄▄▄▄▄▄▄▄▄▄▄▄

font: Use Silver
char list:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklnopqrstuvwxyz{|}~
width: 11 height: 6 spacing: 2
preview: ▄▄▄▄▄▄▄▄▄▄

/home/crinklywrappr//.config/tdfgo/fonts/SECTOR.TDF

font: Sector
char list:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklnopqrstuvwxyz{|}~
width: 14 height: 8 spacing: 1
preview: ▄▄▄▄▄▄▄▄▄▄▄▄

/home/crinklywrappr//.config/tdfgo/fonts/PANDEMON.TDF

font:
char list:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklnopqrstuvwxyz{|}~
width: 10 height: 12 spacing: 2
preview: ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄

/home/crinklywrappr//.config/tdfgo/fonts/CALVIN.TDF
/home/crinklywrappr//.config/tdfgo/fonts/CATLKINX.TDF

font: CattleKingB
char list:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklnopqrstuvwxyz{|}~
width: 11 height: 7 spacing: 2
preview: ▄▄▄▄▄▄▄▄▄▄▄▄▄▄

In order for recutils to read it, it needs to look like this:
file: /home/crinklywrappr//.config/tdfgo/fonts/USEX.TDF
font: Use Cyan-Blu
char_list: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklnopqrstuvwxyz{|}~
width: 11 height: 6 spacing: 2
preview: ▄▄▄▄▄▄▄▄▄▄▄▄▄▄

file: /home/crinklywrappr//.config/tdfgo/fonts/USEX.TDF
font: Use Green
char_list: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklnopqrstuvwxyz{|}~
width: 11 height: 6 spacing: 2
preview: ▄▄▄▄▄▄▄▄▄▄▄▄

file: /home/crinklywrappr//.config/tdfgo/fonts/USEX.TDF
font: Use Purple
char_list: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklnopqrstuvwxyz{|}~
width: 11 height: 6 spacing: 2
preview: ▄▄▄▄▄▄▄▄▄▄▄▄

file: /home/crinklywrappr//.config/tdfgo/fonts/USEX.TDF
font: Use Red
char_list: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklnopqrstuvwxyz{|}~
width: 11 height: 6 spacing: 2
preview: ▄▄▄▄▄▄▄▄▄▄▄▄

file: /home/crinklywrappr//.config/tdfgo/fonts/USEX.TDF
font: Use Silver
char_list: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklnopqrstuvwxyz{|}~
width: 11 height: 6 spacing: 2
preview: ▄▄▄▄▄▄▄▄▄▄

file: /home/crinklywrappr//.config/tdfgo/fonts/SECTOR.TDF
font: Sector
char_list: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklnopqrstuvwxyz{|}~
width: 14 height: 8 spacing: 1
preview: ▄▄▄▄▄▄▄▄▄▄▄▄

file: /home/crinklywrappr//.config/tdfgo/fonts/PANDEMON.TDF
font:
char_list: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklnopqrstuvwxyz{|}~
width: 10 height: 12 spacing: 2
preview: ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄

file: /home/crinklywrappr//.config/tdfgo/fonts/CATLKINX.TDF
font: CattleKingB
char_list: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklnopqrstuvwxyz{|}~
width: 11 height: 7 spacing: 2
preview: ▄▄▄▄▄▄▄▄▄▄▄▄▄▄

I wrote some code to do that post-processing, just to see what might be involved.
generate an outfile
remove colors and null characters
$ tdfgo fonts -v \
| sed 's/\x1b\[[^\x1b]*m//g' \
| tr -d '\0' \
> out.txt

process the outfile
I did this w/ babashka, b/c I wanted to gain some experience.  This code

places char list: ... on a single line
renames char list to char_list
adds the appropriate file: ... value to each record
replaces lines w/ nothing but whitespace with an empty line

I named this file format.clj.
(defn add-file [[prev file xs]]
  (when (seq xs)
    (let [x (first xs)]
      (cond
        (and (not (str/starts-with? prev "file:"))
             (str/starts-with? x "font:")) [(str "file: " file) file xs]
        (and (not (str/blank? x))
             (nil? (str/index-of x \:))) (add-file ["" x (rest xs)])
        :else [x file (rest xs)]))))

(defn format-line [l]
  (cond
    (str/blank? l) ""
    :else l))

(as-> "out.txt" $
  (slurp $)
  (str/replace $ #"\nchar list:\n" "\nchar_list: ")
  (str/split $ #"\n")
  (iterate add-file ["" (first $) (rest $)])
  (rest $)
  (map first $)
  (take-while some? $)
  (map format-line $)
  (doseq [x $] (println x)))

query it
$ bb -f format.clj | uniq | recsel -p file,font

file: /home/crinklywrappr//.config/tdfgo/fonts/KANSAS.TDF
font: Kansas

file: /home/crinklywrappr//.config/tdfgo/fonts/LEGACY.TDF
font: Legacy

file: /home/crinklywrappr//.config/tdfgo/fonts/TRIBWRIT.TDF
font: Tribal Write

file: /home/crinklywrappr//.config/tdfgo/fonts/USEX.TDF
font: Use Cyan-Blu

file: /home/crinklywrappr//.config/tdfgo/fonts/USEX.TDF
font: Use Green

file: /home/crinklywrappr//.config/tdfgo/fonts/USEX.TDF
font: Use Purple

file: /home/crinklywrappr//.config/tdfgo/fonts/USEX.TDF
font: Use Red

file: /home/crinklywrappr//.config/tdfgo/fonts/USEX.TDF
font: Use Silver

file: /home/crinklywrappr//.config/tdfgo/fonts/SECTOR.TDF
font: Sector

file: /home/crinklywrappr//.config/tdfgo/fonts/PANDEMON.TDF
font:

file: /home/crinklywrappr//.config/tdfgo/fonts/CATLKINX.TDF
font: CattleKingB

The big unknown w/ this approach is COLOR.  preview, for instance, is useless w/o color, and I don't know if recutils can parse the control characters for color or not.
Based on this research, I would gate this feature behind a flag.  e.g. tdfgo fonts --plain.

One final thing I didn't do is separate width, height, and spacing into separate lines.

I did do a bit of investigating in caching fonts data and/or bundling fonts with a single header/db chunk at the beginning to make it easier to get metadata, specifically because of the lag and/or huge reads every time it tries to lookup/find a font.
Also since I was lazy and only felt like supporting the COLOR font types, the included fonts are only about 1/4 of the available fonts from RoySAC or the BBS archives. I think one of his font packs is about 4k fonts...
RoySac did come up with his own format of bundling all the fonts into a single file that was like 20Mb I believe... The originaly TheDraw spec only allows for I believe 34 fonts per font file, and there's also a size limit too.
I was trying to mimic figlet/toilet with the single directory filled with fonts and having to re-lookup the fonts every time as a starting point.
I am not too keen on another or separate utility, and also if possible keeping everything within the golang universe languages wise (lazyness again). I dont have a lot of experience with closure but learning another language isn't really the problem. It is just about maintainability/hackability and keeping it within golang makes all parts able to be hacked on similarly.
I am not shooting down your idea, but I would maybe go about it a different way? I am going to open a TODO issue and start a list of stuff if you would like to add input or converse about features/enhancements/etc in one spot.

#7

Sorry, I wrote too much last night to easily digest.
Supporting recutils does not require any additional dependency.  It only requires small changes to the output format.

remove colors
remove null characters
place char list: ... on a single line
rename char list to char_list
add the appropriate file: ... value to each record
replace whitespace lines with an empty line
width,height, & spacing should be on separate lines

This is what a record looks like w/ those changes.
file: /home/crinklywrappr//.config/tdfgo/fonts/CATLKINX.TDF
font: CattleKingB
char_list: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklnopqrstuvwxyz{|}~
width: 11
height: 7
spacing: 2
preview: ▄▄▄▄▄▄▄▄▄▄▄▄▄▄

Does that make sense?

I see what you are saying and at least the usefulness in standardizing the output fields so that they can be parsed via another app similar to how many utilities have a parseable output mode that can be easily awk'd cut'd IFS'd read. Or at least possibly working on a finite structure that like you said can be easily json'd or toml'd or whatever'd...
This would be helpful with two things I am looking for on TODO is that I want to also store/cache this info, and also make the library useful to be included in other applications.
I want to be able to make this work for you but I am knee deep in another project I am trying to finish up before I want to come back to this more in-depth. If you want to start with a PR I am all for it. Your ideas seem to make sense for more than just reclist's usecase.
If you can let me have a few days to finish this other proect I will have no problem getting the list you gave worked in as well as some of the things I want to get resolved and cleaned up. Otherwise if you want to take charge and work on things you listed as far as making it more sensible with your needs, I am behind them since they further my goals/ideas too.
Thx !


Error parsing config file

Do you want to request a feature or report a bug?
Bug
Did you try using a 1.7.x configuration for the version 2.0?

[ ] Yes
[x] No

What did you do?
I tried to create simple reverse-proxy for one host by standalone Traefik container and file provider.
What did you expect to see?
Traefk is listen :8080 and forward from / to https://google.com.
What did you see instead?
I got this error:
dev-proxy | time="2019-07-22T19:12:37Z" level=error msg="error while parsing rule : 1:1: expected operand, found 'EOF'" entryPointName=web routerName=main@file

Output of traefik version: (What version of Traefik are you using?)
Version:      2.0.0-beta1
Codename:     faisselle
Go version:   go1.12.7
Built:        2019-07-19T16:04:34Z
OS/Arch:      linux/amd64

What is your environment & configuration (arguments, toml, provider, platform, ...)?
docker-compose.yml
version: '3.7'

services:
  proxy:
    image: traefik:2.0.0-beta1-alpine
    ports:
      - 8080:8080
    volumes:
      - ./traefik.yml:/traefik.yml:ro
      - ./traefik-dynamic.yml:/dynamic-conf.yml:ro

traefik.yml
global:
  checkNewVersion: false
  sendAnonymousUsage: false

log:
  level: DEBUG

entryPoints:
  web:
    address: ':8080'

providers:
  file:
    filename: dynamic-conf.yml

traefik-dynamic.yml
http:
  routers:
    main:
      service: dev

  services:
    dev:
      loadBalancer:
        servers:
        - url: https://google.com

If applicable, please paste the log output in DEBUG level (--log.level=DEBUG switch)
dev-proxy | time="2019-07-22T19:12:37Z" level=info msg="Configuration loaded from file: /traefik.yml"
dev-proxy | time="2019-07-22T19:12:37Z" level=info msg="Traefik version 2.0.0-beta1 built on 2019-07-19T16:04:34Z"
dev-proxy | time="2019-07-22T19:12:37Z" level=debug msg="Static configuration loaded {\"global\":{\"sendAnonymousUsage\":false},\"serversTransport\":{\"maxIdleConnsPerHost\":200},\"entryPoints\":{\"web\":{\"address\":\":8080\",\"transport\":{\"lifeCycle\":{\"graceTimeOut\":10000000000},\"respondingTimeouts\":{\"idleTimeout\":180000000000}},\"forwardedHeaders\":{}}},\"providers\":{\"providersThrottleDuration\":2000000000,\"file\":{\"watch\":true,\"filename\":\"dynamic-conf.yml\"}},\"log\":{\"level\":\"DEBUG\",\"format\":\"common\"}}"
dev-proxy | time="2019-07-22T19:12:37Z" level=info msg="\nStats collection is disabled.\nHelp us improve Traefik by turning this feature on :)\nMore details on: https://docs.traefik.io/basics/#collected-data\n"
dev-proxy | time="2019-07-22T19:12:37Z" level=debug msg="No default certificate, generating one"
dev-proxy | time="2019-07-22T19:12:37Z" level=info msg="Starting provider aggregator.ProviderAggregator {}"
dev-proxy | time="2019-07-22T19:12:37Z" level=info msg="Starting provider *file.Provider {\"watch\":true,\"filename\":\"dynamic-conf.yml\"}"
dev-proxy | time="2019-07-22T19:12:37Z" level=debug msg="Start TCP Server" entryPointName=web
dev-proxy | time="2019-07-22T19:12:37Z" level=debug msg="Configuration received from provider file: {\"http\":{\"routers\":{\"main\":{\"service\":\"dev\"}},\"services\":{\"dev\":{\"loadBalancer\":{\"servers\":[{\"url\":\"https://google.com\"}],\"passHostHeader\":false}}}},\"tcp\":{},\"tls\":{}}" providerName=file
dev-proxy | time="2019-07-22T19:12:37Z" level=debug msg="Creating middleware" serviceName=dev entryPointName=web routerName=main@file middlewareName=pipelining middlewareType=Pipelining
dev-proxy | time="2019-07-22T19:12:37Z" level=debug msg="Creating load-balancer" routerName=main@file serviceName=dev entryPointName=web
dev-proxy | time="2019-07-22T19:12:37Z" level=debug msg="Creating server 0 https://google.com" entryPointName=web routerName=main@file serviceName=dev serverName=0
dev-proxy | time="2019-07-22T19:12:37Z" level=debug msg="Added outgoing tracing middleware dev" routerName=main@file middlewareName=tracing entryPointName=web middlewareType=TracingForwarder
dev-proxy | time="2019-07-22T19:12:37Z" level=error msg="error while parsing rule : 1:1: expected operand, found 'EOF'" entryPointName=web routerName=main@file
dev-proxy | time="2019-07-22T19:12:37Z" level=debug msg="Creating middleware" middlewareName=traefik-internal-recovery middlewareType=Recovery entryPointName=web
dev-proxy | time="2019-07-22T19:12:37Z" level=debug msg="No default certificate, generating one"

Hello, you have to define a rule https://docs.traefik.io/v2.0/routing/routers/#rule

@Ides no effect.

Hi! I'm Træfiker :robot: the bot in charge of communication regulation.
Thanks for your interest in Traefik!
We dedicate the issue tracker to bug reports and feature requests only. My advanced AI has spotted that your issue might be a configuration problem or relates to something that doesn't look like a bug.
To confirm this, please join our Community Forum and reach out to us on the Traefik section.
In case I'm wrong (well, that would be embarrassing :sweat_smile:), my developers will re-open the issue and fix me!
In the meantime, you can double check Traefik's documentation.


forbid-foreign-prop-types: Allow setting propTypes

To use PropTypes.instanceOf and avoid circular dependencies I need to set propTypes outside of the "target" component. However forbid-foreign-prop-types kicks in.
const PropTypes = require(`prop-types`);
const React = require(`react`);

const B = require(`./B`);

class A extends Component {
	render(){
		return <B me={this} />;
	}
}

B.propTypes.prop = PropTypes.instanceOf(A).isRequired;

You shouldn't need to do this to avoid circular dependencies - B should never be mutated outside of its own module.
How are you exporting A and B?

B is only exposed to A. And I modified the snippet to include an export.

If B is requireable, then it's just as exposed as A :-) However, if you're going to have circular dependencies - something you should avoid strenuously - you can't use the otherwise best practice of module.exports =. Do exports.A = A; and exports.B = B, and then your circular dependencies will work fine.

Doesn't work, probably because my environment is react-native

Actually I don't think passing a component instance to a child is a good practice. I'm even thinking of a rule that throws when such behaviour is present.
Switching to PropTypes.shape and closing.

Indeed; I’d recommend passing an element instead :-)


fix nodeAddressMap docs

Codecov Report

Merging #2228 (09f611f) into master (60ad6aa) will decrease coverage by 5.11%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #2228      +/-   ##
==========================================
- Coverage   95.81%   90.70%   -5.12%
==========================================
  Files         430      430
  Lines        3968     3968
  Branches      448      448
==========================================
- Hits         3802     3599     -203
- Misses        102      305     +203
  Partials       64       64

Impacted Files
Coverage Δ

packages/client/lib/commands/FUNCTION_LOAD.ts
16.66% <0.00%> (-83.34%)
:arrow_down:

packages/client/lib/commands/ZRANGESTORE.ts
20.00% <0.00%> (-80.00%)
:arrow_down:

packages/client/lib/commands/FUNCTION_FLUSH.ts
20.00% <0.00%> (-80.00%)
:arrow_down:

packages/client/lib/commands/FUNCTION_RESTORE.ts
20.00% <0.00%> (-80.00%)
:arrow_down:

packages/client/lib/commands/GETEX.ts
21.42% <0.00%> (-78.58%)
:arrow_down:

packages/client/lib/commands/COPY.ts
33.33% <0.00%> (-66.67%)
:arrow_down:

packages/client/lib/commands/CLIENT_NO-EVICT.ts
33.33% <0.00%> (-66.67%)
:arrow_down:

packages/client/lib/commands/ZINTER.ts
36.36% <0.00%> (-63.64%)
:arrow_down:

packages/client/lib/commands/GEOSEARCHSTORE.ts
36.36% <0.00%> (-63.64%)
:arrow_down:

packages/client/lib/commands/FUNCTION_LIST.ts
37.50% <0.00%> (-62.50%)
:arrow_down:

... and 59 more

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


remove poligrain submodule and add it to env

Since https://github.com/OpenSenseAction/poligrain/pull/41 is now merged, we can add poligrain as a dependency in the env file once a new release is ready that includes GridAtLines and GridAtPoints.

done in a983985


Add documentation for the Listener class

PS: I noticed there's an undocumented current property defined using _set magic. We might want to make it a full-fledged property in 4.0, and remove make_current and clear_current.

Thanks!


Add settings.gradle info for Android install

Should close issues #261 and #270

Oh yes, please merge this PR! Was looking for this info for hours...


False possitives about Download Domains when no OWA Virtual Directory exists

https://github.com/microsoft/CSS-Exchange/blob/e15e04bbc118ca9bb1215858d28e0c38c5133168/Diagnostics/HealthChecker/Analyzer/Security/Invoke-AnalyzerSecurityCve-2021-1730.ps1#L33
The Healthreport shows an error when EnableDownloadDomains is set to $false. However, in a hybrid setup where the onprem server(s) only serve as management servers and/or transport servers and there's no OWAVirtualDirectory, this is a false positive.
This script should therefor check if there's an OWA Virtual Directory and if there's no OWA confgured, this shouldn't show an error.
Furthermore, of only an internal OWA url is configured (external URL -eq $null), the External Download hostname can be null as well (since that means there's no external access to OWA anyway)

The Hybrid servers are Exchange servers and should have OWA Virtual Directory. Therefore it isn't a false positive if it isn't configured.

Fair point, let me rephrase that:
Let's say you have a scenario where all mailboxes are cloud-based, but you still need an onprem Exchange server for either legacy SMTP applications, or for the purpose of management (in case you use ADFS or AADConnect).
In that case, as a security best practice, OWA should be made unavailable on the onprem Exchange (since it serves no purpose at all). To do this, one of the steps (besides DNS & firewall/load balancer/... changes), is to null the external (and internal) URLs on the OWAVirtualDirectory.
However, when you do that, this script will start complaining about it, either because Download Domains is disabled (granted, that may also be because a less security-minded admin just hasn't configured it), or one or both URLs is $null.
I'm currently advising my clients to configure 'localhost' as downoaddomain on the virtual directory in this case, so the alert goes away (but that's more of a hack instead of a clean solution IMHO).

The problem is going to be to determine that is how you use the server. We 'could' check to see if there are any mailboxes on the server, but what if it is just a DR server at the moment you run the script. What if you have some mailboxes on the server and they are just test mailbox or admin mailboxes that aren't used for actual mail use.
For the External domain, some customers don't set the external URL for multiple reasons. But they still use the internal URL, at that point they are still subject to the security vulnerability.
I have never seen the internal URL set to NULL for the OWAVirtualDirectory. With it being NULL, I would still suspect that you can hit the server's OWA virtual directory by the FQDN. If you have those test mailboxes on the server, they should still be able to log in and you still have the vulnerability.
For all of this, I am just following the CVE to what it provides and what the code provides to 'enable' this security feature to avoid the vulnerability. It is up to you and your team to decide if this vulnerability is a concern to you with how you use the Exchange Server.


[storage] rework everything

One major difference is that createStorage is now async which I haven't accounted for in the files that use it yet.

Thanks Kasi!


can you give a example for config.yml, pls?

hi, can you give a example for config.yml, pls?
my config looks like the following text but it dont works...:
telegram:
bot_token: XXX0496345:AAGnLNDPXXXXKvfhGVaK5UtwQg4bWIUXXXX
user_ids: [6196040247]
claude:
api: CLAUDE_API_KEY # leave it blank if you don't want to use claude
bard:
api: BARD_API_KEY (cwiEUiWHK5jbDqZXXXXXXXXXXnb-5sFeoizjrKnv9RJOxuxVEcXXXXXXXdQ., sidts-CjEBNiGH7qqdwnouZdEexVZALfIGMYHQ_rJkP7S66XXXXXXX)

It looks like you don't have claude's api so you need to leave it empty
telegram:
bot_token: XXX0496345:AAGnLNDPXXXXKvfhGVaK5UtwQg4bWIUXXXX
user_ids: [6196040247]
claude:
api:
bard:
api: cwiEUiWHK5jbDqZXXXXXXXXXXnb-5sFeoizjrKnv9RJOxuxVEcXXXXXXXdQ., sidts-CjEBNiGH7qqdwnouZdEexVZALfIGMYHQ_rJkP7S66XXXXXXX

Thank you very much.
Another question: can you create for me Claude account? I am in Germany and don't have access to the Claude API. I am ready to pay. You can find me on telegram t.me/RusikXXXXX

I have changed the config how you writen but bot says:
❌ Error orrurred: SNlM0e value not found in response. Check __Secure_1PSID value.. /reset
Config:
telegram:
bot_token: XXXX96345:AAGnLNDP674eKvfXXXXK5UtwQg4bWIU0qu0
user_ids: [6196040247]
claude:
api:
bard:
api: cwiEUiWHK5jbDqXXXXGwxXE4TSpPWsnb-5sFeoizjrKnv9RJOxuxVEcFu5woSZQL0J2dQ., sidts-CjEBNiGH7qqdwnouZdEexVZALXXXXYHQ_rJkP7S66kBEU8GOpex5IJtpymldHs5PmKxXXXX

Turn on the private mode of the browser and get these two values. It should be fine.


updated version.

Hey @chris-rands This seems like I many changes, but actually I just took the snakemake-workflow template. (see commit message)
What is the reason why you use the rather cumbersome absolute paths?
I can show you the conda magic and some other changes I did. when are you here today?

Thanks for this, as I said I'm in flavor of updating the to the proper snakemake style (although I am not familiar with it yet), but the README.md and documentation at the top of the Snakefile are now outdated, can update them? Also did you mention you wrote some tests somewhere? I notice you deleted my sample data, but I think it would be good to keep it with an example command so that the pipeline can be ran as before to produce the same sample outputs?

Test and your sample data are in .test subdirectory, which is hifdden. So
everithng is there.
You can run
cd .test
./test.sh -n
On Jun 25, 2018 16:19, "Chris Rands"<EMAIL_ADDRESS>wrote:

Thanks for this, as I said I'm in flavor of updating the to the proper
snakemake style (although I am not familiar with it yet), but the
README.md and documentation at the top of the Snakefile are now outdated,
can update them? Also did you mention you wrote some tests somewhere? I
notice you deleted my sample data, but I think it would be good to keep it
with an example command so that the pipeline can be ran as before to
produce the same sample outputs?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/chris-rands/profiles_from_protein_families/pull/2#issuecomment-399968480,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHLK2ogAft0pzAyGRvaBx8mKMvduNXvAks5uAPFZgaJpZM4U1rtm
.

Sorry I can't see .test directory, are you sure you committed the files or am I missing something? Either way, would be good to update the relevant README.md and Snakefile text to ensure it's all documented correctly

thanks Silas


Mkdocs default theme obtained when built with latest Mkdocs version(1.0.4)

We are currently using theme_dir option to specify the custom theme directory in the mkdocs.yml files. This option has been deprecated and replaced by custom_dirfrom the mkdocs version 0.17. As of version 1.0 this seems to raise an error thus giving the default mkdocs theme as the output instead of providing us with the custom ballerina theme.

We are using MkDocs 0.17 in our build systems hence keeping the theme_dir option atm. Once we upgrade the MkDocs version to 1.0 we'll be updating the .yml accordingly.


joystickwake: init at 0.2.4

Motivation for this change
Add package for joystickwake, an utility for disabling screensavers and auto-lock while any input is received from a gamepad. This solves the annoying issue of auto-lock locking the session while playing games.
Things done

Add package definition in pkgs/tools/games/joystickwake/default.nix
Add package to the all-packages.nix file
Add myself as maintainer

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 127879 at 949844cf run on aarch64-linux 1

1 package built successfully:

joystickwake

1 suggestion:

warning: no-python-tests
Test runner could not discover any test cases: ‘Ran 0 tests in 0.000s’
Near pkgs/tools/games/joystickwake/default.nix:20:0:
   |
20 |     description = "A joystick-aware screen waker";
   | ^

I applied all the proposed changes

Just a question. From the application readme xlib is optional and this may also work on Wayland. Is there any way of indicating it?

Just a question. From the application readme xlib is optional and this may also work on Wayland. Is there any way of indicating it?

No, not really.


Respect annotated AtomicReference's

In this example code, I've annotated my AtomicReference to show that it can never be null. However, NullAway still has a warning [NullAway] returning @Nullable expression from method with @NonNull return type. I believe this stems from https://github.com/uber/NullAway/blob/master/nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java#L618, which (based on my quick skim of the code) looks like it pre-annotates the AtomicReference::get method with @Nullable, even when that isn't necessarily true.
Could NullAway consider supporting this better, or is there a good workaround here that I might be missing?
import java.util.concurrent.atomic.AtomicReference;
import org.checkerframework.checker.nullness.qual.NonNull;

public final class MyClass {

    private final AtomicReference<@NonNull String> ref;

    MyClass() {
        ref = new AtomicReference<>("starting value");
    }

    public String getCurrentValue() {
        return ref.get(); // returning @Nullable expression from method with @NonNull return type
    }

    public void updateValue(@NonNull String newValue) {
        ref.set(newValue);
    }
}

Using nullaway 0.9.9 via https://github.com/palantir/gradle-baseline (cc @carterkozak @schlosna )

Thanks for the report.  This is related to #660 and generics support, which we are actively working on (/cc @NikitaAware).  Our first milestone here would be an ability to opt in to this kind of checking, with limited to no support for inference of generic types.  I believe we could handle an example like the one you give in that first milestone; we will aim for it.  I'll comment back here when we have something worth testing.
As an aside, @NonNull is the default with NullAway, so once our milestone is working, the above example should type check without any explicit annotations.  If you wanted to be able to store null into an AtomicReference, then you would need to declare the type of the field as AtomicReference<@Nullable String>.

That all makes sense - thanks!


Install ruamel by default

In #59 you used ruamel as a default parser if present, and in setup.py and README.md files you blame that you use PyYAML by default.
Could you install ruamel by default and add PyYAML as an optional dependency?

According to release notes in 1.6, pyyaml is deprecated and will be replaced by ruamel in 1.7. pykwalify is still in 1.6 :)

I don't see any mentioning of this in README.md, github release notes and release notes on readthedocs site (both stable and unstable links)

https://pykwalify.readthedocs.io/en/unstable/release-notes.html#nov-12-2016
1.5.2 release has specified that ruamel will be default in 1.7, but coupld be clarified in readme as well.
Feel free to do a pr. :)

If PyYAML was deprecated in 1.5.2, why it is still the default in setup and readme?

In principal there is a difference between "deprecated" and no longer supported. The idea i had when i put pyyaml as deprectaed in a earlier release was that to have both version supported over some time and/or major releases so that you could more easily do a upgrade from pyyaml to ruamel yaml within one release, but still maintain the support and compatibility with that old lib.
So basically the progress would be

Add support for ruamel yaml
Deprecate pyyaml
Make ruamel yaml the new default and pyyaml optinoal/supported
Remove explicit support for pyyaml, but possibly maintain it as long as ruamel yaml is compatible with pyyaml.

This would probably be done over 3 major releases if done properly.

In #58 you did it already up to third point. except the documentation.
Additionally, there's no developer choice which library to use for YAML. Some libraries did it with passing loads and dumps functions as a parameter with some known default. This is an easiest way to have something default and developer may choose something else.
Moreso, you distinguish for some unknown reason YAML and JSON while YAML is a superset of and whole syntax of JSON is supported.

There has never been a need for the developer to have any capability to choose any other YAML parser becuase there has only in general ever been one to choose from. Pyyaml has for a very long time been the defacto standard yaml parser and using that one has been a good option and solution for 99% of people using this lib. When ruamel entered the scene it changed some things where support for both solutions has to exists.
The reason for the seperate yaml and json is becuase they work through 2 different parsers.  If i ask people or i tell that a lib has the capability to load the 2 different types, i would expect it to work in that way, unless it was explicitly stated otherwise that json was loaded with pyyaml as parser. This is not a thing that i will change.

@eirnym Fixed added to Master branch now to make it default, will be part of the next major release 1.8.0 that will drop pyyaml and make rumael.yaml the default. No ETA when it will be released.


XML Parsing Error: not well-formed in Firefox

I use i18next with i18next-xhr-backend for my Firefox extension, and I encountered an error message in the console  :
XML Parsing Error: not well-formed ...
This is due to the XHR backend. When the MIME type isn't set by the server, Firefox believe that the file requested is in XML format. To fix this issue, I have edited the code with the following changes in the ajax function (line 73, after the if (data) condition) :
if (x.overrideMimeType) {
      x.overrideMimeType("application/json");
}

The problem was fixed after that.

feel free to add a PR so we could merge this in

Issue fixed.


New release for pandoc-quotes.lua?

Hi there,
I was following the readme for pandoc-quotes.lua (https://github.com/pandoc/lua-filters/tree/master/pandoc-quotes.lua) but failed to get a working installation. The reason for that is that the readme instructs to download the latest release but the latest release (v.0.1.10) does not include the fix for #192. Downloading the latest version from the repository worked.
You might want to release a new version of pandoc-quotes.lua or update the readme.
Thanks!

Note that the release link takes you to different repository. We don't have releases here. Perhaps you could put an issue on that repository.

I see. However, isn't it a bit confusing that the readme in the pandoc/lua-filters repo redirects you to a different repo when the readme is about a file in the pandoc/lua-filters repo?

I created a pull request to fix it


[CLI] Adopt new query protocl protocol

With new query protocol providing the name-based query, CLI could provide the direct queries for every kind of metrics easily. We should adopt the new in the CLI, which should not be a big change. Also, the old ones could be removed.

Fair enough.
FYI @fgksgf , as you're going to add a dashboard command in the CLI, please take a look at the latest query protocol and the live demo, we'll adopt the new query protocol in the 0.3.0

Fair enough.
FYI @fgksgf , as you're going to add a dashboard command in the CLI, please take a look at the latest query protocol and the live demo, we'll adopt the new query protocol in the 0.3.0

OK


Replicate recent changes related to gp3 to main module

Description

Improving just a bit of existing docs for iops/storage_throughput to submodule, adding missing dots
Copying docs improvement from submodule to main module regarding iops/storage_throughput
Change default value for iops from 0 to null

Motivation and Context
This reminder from @lucasvuotto: https://github.com/terraform-aws-modules/terraform-aws-rds/pull/456#issuecomment-1357881179
Breaking Changes
No breaking changes, replicating already merged change in the sub-module
How Has This Been Tested?
No tests done

I will re-open this in two sperate PRs


Fix typo in gdscript_parser

Fixes a typo in the GDScript parser where some errors had an extra closing parenthesis.

Thanks!


Supports multiple segments per junction when correspond

🎉 New feature
Related to #18 #40
Summary
Supports multiple segments per junction when correspond
Relies on:

https://github.com/maliput/maliput_osm/pull/33
https://github.com/maliput/maliput_osm/pull/41

Pendings:
Once https://github.com/maliput/maliput_osm/pull/39 is merged add tests using y_shape_road.osm
Checklist

[x] Signed all commits for DCO
[ ] Added tests
[ ] Added example and/or tutorial
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[ ] Consider updating Python bindings (if it affects the public API)

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

Once https://github.com/maliput/maliput_osm/pull/39 is merged I will add tests using y_shape_road.osm

The following PR adds TShapeRoad map which is a more complex situation for a junction creation and add the tests: https://github.com/maliput/maliput_osm/pull/43
This ad26f3d was added as this bug was evidenced while testing this out with TShapeRoad map.


RPC server accumulates multiple MQTT publish requests for each time there is a configuration update.

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

It appears that new resources subscribing to JMRI object state-changes are created when the RPC client is restarted, while the previous resources remain active. Working on this issue on a separate branch: rpcRobustness.

Temporarilly fixed, see Issue #99 and #100


Support storing shuffle data to secured dfs cluster

What changes were proposed in this pull request?
Support storing shuffle data to secured HDFS cluster by spark job user's own permission in shuffle server side.

Why are the changes needed?
When using the storage type of MEMEORY_LOCALFILE_HDFS, we meet some problems on flushing shuffle data to secured HDFS clusters due to lacking credentials. To solve this, keytabs need to be distributed to all shuffle servers and login/refresh by crontab or other ways.
But this way is not secured, it’s better to flush data with corresponding HDFS users for data isolation.
We hope that:

user A launched a Spark application, and send shuffle data to shuffle server.
Shuffle server should write shuffle data with "user A" into HDFS.
Reduce tasks (launched by user A) could read shuffle data in HDFS with user
Otherwise, user A may not have the permission to read shuffle data written by shuffle server (another user) if it it is not owned by A.

More detail and motivation can be found  in design doc: https://docs.google.com/document/d/1pIDwCwv8iwnXmFQeTZKA5tK55SRc_f0SPKYFONA5K70
Does this PR introduce any user-facing change?
Yes

How was this patch tested?
Manual tests and unit tests.

@zuston To access the secured DFS cluster:

For spark client, it can depend on spark's implementation, and read data according to delegation token.
For Shuffle server, Hadoop conf can be updated with security enable when write data to HDFS
What's the advantage to add HadoopAccessorProvider?

For spark client, it can depend on spark's implementation, and read data according to delegation token.

yes. There is no need to retrieve fs by ugi proxy user. The credentials have been fetched in spark driver side when starting.

For Shuffle server, Hadoop conf can be updated with security enable when write data to HDFS
What's the advantage to add HadoopAccessorProvider?

Now shuffle server can’t access secured cluster due to lacking keytab.
To solve this, i introduced some config and then shuffle server can login and delegate user to write hdfs files by using the proxy user.
Current uniffle don’t support writing shuffle data to secured dfs cluster.

We may not need to support secured hdfs in Uniffle, the DFSClient would create ugi and spawn a renew thread automatically when the shuffler server gets a FileSystem. Normally you could use the hdfs cli to read/write files in secured hdfs if the kerberos-related config is right in you $HADOOP_HOME. Could you check the code in DFSClient and UserGroupInformation and test without any code change using a secured hdfs. @zuston

I think what @zuston mentioned here is the case, for example:

user A launched a Spark application, and send shuffle data to shuffle server.
Shuffle server should write shuffle data with "user A" into HDFS.
Reduce tasks (launched by user A) could read shuffle data in HDFS with user A.

Otherwise, user A may not have the permission to ready shuffle data written by shuffle server (another user) if it it is not owned by A.
I'm not sure if I understand correctly or not? @zuston

@jerryshao
You have caught my thoughts and thanks very much for explaining it in detail.
Sorry I didn't explain clearly in advance.
So I think using the super user to delegate proxy user will be better in access control.

@jerryshao You have caught my thoughts and thanks very much for explaining it in detail. Sorry I didn't explain clearly in advance.
So I think using the super user to delegate proxy user will be better in access control.

Got you points, I think the feature is necessary to support proxy user when using secured HDFS

Now our Uniffle already support multiple HDFS. Is it possible to use the secured hdfs cluster and unsecured hdfds cluster?
And some configuration may be added to RemoteStorageConfItem.https://github.com/apache/incubator-uniffle/blob/0f6a896efbd3a435de5e7a5d28843ecd05c38bde/proto/src/main/proto/Rss.proto#L360

Now our Uniffle already support multiple HDFS. Is it possible to use the secured hdfs cluster and unsecured hdfds cluster? And some configuration may be added to RemoteStorageConfItem.
https://github.com/apache/incubator-uniffle/blob/0f6a896efbd3a435de5e7a5d28843ecd05c38bde/proto/src/main/proto/Rss.proto#L360

I think the logged in ugi can get the unsecured hdfs filesystem. But this case is not involved in current test case, maybe added it later.

Codecov Report

Merging #53 (5f85ff9) into master (f4ce2ed) will increase coverage by 0.76%.
The diff coverage is 71.34%.

@@             Coverage Diff              @@
##             master      #53      +/-   ##
============================================
+ Coverage     55.21%   55.97%   +0.76%
+ Complexity     1111     1013      -98
============================================
  Files           148      136      -12
  Lines          7953     6869    -1084
  Branches        760      657     -103
============================================
- Hits           4391     3845     -546
+ Misses         3321     2810     -511
+ Partials        241      214      -27

Impacted Files
Coverage Δ

...he/uniffle/client/impl/ShuffleWriteClientImpl.java
25.38% <0.00%> (-0.60%)
:arrow_down:

...che/uniffle/coordinator/ClusterManagerFactory.java
100.00% <ø> (ø)

...g/apache/uniffle/coordinator/CoordinatorUtils.java
65.21% <ø> (+4.10%)
:arrow_up:

...pache/uniffle/server/ShuffleServerGrpcService.java
1.00% <0.00%> (-0.01%)
:arrow_down:

...he/uniffle/server/buffer/ShuffleBufferManager.java
81.81% <ø> (ø)

...he/uniffle/server/storage/MultiStorageManager.java
36.58% <0.00%> (-0.92%)
:arrow_down:

...org/apache/uniffle/storage/common/HdfsStorage.java
0.00% <0.00%> (ø)

...storage/handler/impl/HdfsShuffleDeleteHandler.java
0.00% <0.00%> (ø)

...e/storage/handler/impl/HdfsShuffleReadHandler.java
51.02% <ø> (ø)

...rage/request/CreateShuffleWriteHandlerRequest.java
0.00% <0.00%> (ø)

... and 35 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 f4ce2ed...5f85ff9. Read the comment docs.

Updated. @jerqi.
Besides, i think i will introduce some UTs later.

What changes were proposed in this pull request?
Support storing shuffle data to secured dfs cluster
Why are the changes needed?
Now uniffle dont support visiting shuffle data to secured dfs cluster.
Does this PR introduce any user-facing change?
Yes
How was this patch tested?
Manual tests.

Should we provide more detailed description?

@zuston To access secured DFS, I think the process should be:

get remote storage from coordinator
register remote storage to shuffle server with user info
shuffle server stores the mapping about  appId -> user
when shuffle server write DFS with write handler, get user info and write data with proxy mode by doAs()
what do you think?

Access to secured clusters and isolation of user shuffle data are orthogonal, you can still do the isolation innon-securered cluster (using the proxy user way in your pr).
Could you please help to write the pr's description in more detail, and write a design doc to describe your motivation, design, workflow, compatibility, and test case in different scenarios since it's a huge and critical change.
@zuston

@zuston To access secured DFS, I think the process should be:

get remote storage from coordinator
register remote storage to shuffle server with user info
shuffle server stores the mapping about  appId -> user
when shuffle server write DFS with write handler, get user info and write data with proxy mode by doAs()
what do you think?

Got your points.
As I know the HdfsStorage is the shareable in the entire JVM. So now the user only will be added in CreateShuffleWriteHandlerRequest, which is bound to the app's w/r operations.

It could use the proxy user to make the data written to unsecured dfs cluster, to make data isolation? Please let me know whether i am right.

Yes, you're right, say user B can not access the path created by user A, they are both proxy user of the user running the uniflle cluster.

Do i need to introduce a new page to submit proposal like RFC? Or just write it in description? Or open a new issue to track and discuss.

I suggest you enrich your description and add your design doc's (google doc or tencent doc) link to it.

Update the description and submit a single proposal (https://docs.google.com/document/d/1pIDwCwv8iwnXmFQeTZKA5tK55SRc_f0SPKYFONA5K70). Feel free to discuss or comment more.

If you have time, could u help review this proposal? @jerqi

If you have time, could u help review this proposal? @jerqi

I have left some comments.

If you have time, could u help review this proposal? @jerqi

I have left some comments.

updated the comments.

@zuston Do you commit the latest source? Some previous comments seems not be fixed, eg, user shouldn't be a member in RemoteStorage
message RemoteStorage {
  string path = 1;
  repeated RemoteStorageConfItem remoteStorageConf = 2;
  string user = 3;
}

@zuston Do you commit the latest source? Some previous comments seems not be fixed, eg, user shouldn't be a member in RemoteStorage
message RemoteStorage {
  string path = 1;
  repeated RemoteStorageConfItem remoteStorageConf = 2;
  string user = 3;
}

Sorry, i forget to submit, but i think i can submit new commit tomorrow.

I test this PR in our internal env.

[x] coordinator read the exclude-node-file from kerberlized HDFS
[x] shuffle server write shuffle data to kerbeilized HDFS and client read it directly.

Changelog

Add the check of rss.security.hadoop.kerberos.relogin.interval.sec
Add more test cases about kerberos HDFS cluster

@jerqi . Updated, and all CI test passed.

LGTM, I have no other suggestion. cc @colinmjj @duanmeng

Gentle ping @jerqi

Gentle ping @jerqi

Should you ping @colinmjj @duanmeng ?

@colinmjj  @duanmeng  If u have time, could you help review this?
I have spent some time on this current implementation and looking forward to your reply. Thanks.

@zuston Is it possible to split the PR according to following function:

register remote storage to shuffle server with user info and stores the mapping about appId -> user
Add an api in Storage to check if it is secured, eg, isSecuredStorage()
Create new writeHandler/readHandler to deal with secured write/read, eg, SecuredHdfsShuffleWriteHandler extends HdfsShuffleWriteHandler
For Shuffle Server, there has an executor service to deal with kerberos login if secured is enabled.
Just for your reference to split the PR and will be easy to review.

Thanks for your review @colinmjj .
I will update the patch as soon as possible with your comments and maybe split to several commits

The changed first commit: https://github.com/apache/incubator-uniffle/pull/53/commits/52c53d513c494990ad2d9e2ad3b56584e9473ea8
Changelog:

Introduce the SecurityContextFactory to manage security.
In HadoopSecurityContext, it will do kerberos login and refresh auth. The hadoopSecurityContext will only be initialized when kerberos security is enabled. Default securityContext is NoOpSecurityContext.
HadoopFileSystemProvider will be a static class for invoking.

This commit make the security and filesystem retrieval separate.
Could u help review it? @jerqi @colinmjj  And I will submit commit one by one in next days.

The changed first commit: 52c53d5
Changelog:

Introduce the SecurityContextFactory to manage security.
In HadoopSecurityContext, it will do kerberos login and refresh auth. The hadoopSecurityContext will only be initialized when kerberos security is enabled. Default securityContext is NoOpSecurityContext.
HadoopFileSystemProvider will be a static class for invoking.

This commit make the security and filesystem retrieval separate.
Could u help review it? @jerqi @colinmjj And I will submit commits one by one in next days.

I have left some comments. General code is ok.

Thanks for your review @jerqi. Do u have any suggestions? @colinmjj . If OK, i think i will continue.

Add an api in Storage to check if it is secured, eg, isSecuredStorage()
Create new writeHandler/readHandler to deal with secured write/read, eg, SecuredHdfsShuffleWriteHandler extends HdfsShuffleWriteHandler

I think there is no need to introduce extra secured method and writer handler for security.
All the secured operation can be handled by filesystem. And the difference of secured and no-secured fs is the way of initialization which will be handled by HadoopFilesystemProvider https://github.com/apache/incubator-uniffle/commit/52c53d513c494990ad2d9e2ad3b56584e9473ea8
Please let me what you think @jerqi @colinmjj . Thanks

Add an api in Storage to check if it is secured, eg, isSecuredStorage()
Create new writeHandler/readHandler to deal with secured write/read, eg, SecuredHdfsShuffleWriteHandler extends HdfsShuffleWriteHandler

I think there is no need to introduce extra secured method and writer handler for security.
All the secured operation can be handled by filesystem. And the difference of secured and no-secured fs is the way of initialization which will be handled by HadoopFilesystemProvider 52c53d5
Please let me what you think @jerqi @colinmjj . Thanks

LGTM, cc @colinmjj

Add an api in Storage to check if it is secured, eg, isSecuredStorage()
Create new writeHandler/readHandler to deal with secured write/read, eg, SecuredHdfsShuffleWriteHandler extends HdfsShuffleWriteHandler

I think there is no need to introduce extra secured method and writer handler for security.
All the secured operation can be handled by filesystem. And the difference of secured and no-secured fs is the way of initialization which will be handled by HadoopFilesystemProvider 52c53d5
Please let me what you think @jerqi @colinmjj . Thanks

@zuston How secured operation is handled by HadoopFilesystemProvider? When do the such operation, the common way is like:
ugi.doAs() {
    // Real action
}

You mean the real action will be passed to HadoopFilesystemProvider as a parameter?

@colinmjj Thanks for your comment.
The secured write/read only depends on the secured filesystem. And the secured filesystem can be initialized in HadoopFilesystemProvider. As I know, there is no need to wrap all the real action into the doAs method. Same operations from Oozie: https://github.com/apache/oozie/blob/f1e01a9e155692aa5632f4573ab1b3ebeab7ef45/core/src/main/java/org/apache/oozie/service/HadoopAccessorService.java#L638
Filesystem will be created like this:
public class HadoopFilesystemProvider {
  private static final Logger LOGGER = LoggerFactory.getLogger([HadoopFilesystemProvider.class](https://github.com/apache/incubator-uniffle/pull/HadoopFilesystemProvider.class));

  public static FileSystem getFilesystem(String user, Path path, Configuration configuration) throws Exception {
    UserGroupInformation.AuthenticationMethod authenticationMethod =
        SecurityUtil.getAuthenticationMethod(configuration);
    boolean needSecurity = authenticationMethod != [UserGroupInformation.AuthenticationMethod.SIMPLE](https://github.com/apache/incubator-uniffle/pull/UserGroupInformation.AuthenticationMethod.SIMPLE);

    Callable<FileSystem> callable = () -> [FileSystem.get](https://github.com/apache/incubator-uniffle/pull/FileSystem.get)([path.toUri](https://github.com/apache/incubator-uniffle/pull/path.toUri)(), configuration);

    FileSystem fileSystem = null;
    if (needSecurity) {
     // this will return a secured filesystem, right?
      fileSystem = SecurityContextFactory
          .get()
          .getSecurityContext()
          .runSecured(user, callable);
    } else {
      fileSystem = [callable.call](https://github.com/apache/incubator-uniffle/pull/callable.call)();
    }

    if (fileSystem instanceof LocalFileSystem) {
      [LOGGER.debug](https://github.com/apache/incubator-uniffle/pull/LOGGER.debug)("{} is local file system", path);
      return ((LocalFileSystem) fileSystem).getRawFileSystem();
    }

    return fileSystem;
  }
}

Updated the latest commits. (These changes are hard to split meaningful parts, so I make the change shown into the commit log message) @colinmjj @jerqi
Changelog compared with last commit:

Store the app->user mapping into the ShuffleTaskManager, invoked by ShuffleFlushManager by shuffleServer.getShuffleTaskManager.getUserByAppId()
Add the new test cases for abstract SecurityContext
Make all invoking areas use the HadoopFilesystemProvider to get filesystem

PTAL @colinmjj @jerqi . If having any problems, I think I will fix in this weekend.

It's ok for me. Could you resolve conflicts first?

Done

LGTM, please resolve the conflict

Thanks for your patience and kind @jerqi @colinmjj . 😄


Add minSize option

Do you want to request a feature or report a bug?
Feature
What is the current behavior?
bundlesize only checks for maxSize

What is the expected behavior?
To be able to check minSize too.
If this is a feature request, what is motivation or use case for changing the behavior?
Would be nice to check for build errors that result in empty or drastically different bundle sizes.

🤔
I don't think this is something bundlesize should do. It can't replace the need for functional tests

@siddharthkp I agree that functional tests are needed but just now I had a problem when empty css files was generated in our package. Also, bundlesize and maxSize names kind of imply that this package checks everything about sizes. I even tried to add minSize option in our config without checking docs first.

bundlesize and maxSize names kind of imply that this package checks everything about sizes

I didn't try to imply that 😅

I had a problem when empty css files was generated in our package. That requires automated visual tests and that is not fast.

What would you set as the minSize for such case? > 0?

On Mon, Apr 2, 2018, 19:49 Siddharth Kshetrapal<EMAIL_ADDRESS>wrote:

bundlesize and maxSize names kind of imply that this package checks
everything about sizes
I didn't try to imply that 😅

I can see that 😂

I had a problem when empty css files was generated in our package. That
requires automated visual tests and that is not fast.
What would you set as the minSize for such case? > 0?

I would set it slightly less then the current size.
And I would say that if the size gets lower intentionally you have to
change maxSize to match that too, to still be able to control it.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/siddharthkp/bundlesize/issues/207#issuecomment-377922483,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAKoquQMeZjEl0cUiWc51Z53eTNW8kDaks5tkh5dgaJpZM4TDap4
.

Would also like this feature. My project outputs a UMD library bundle with other third-party libraries included inside. It would be great for us to be alerted when our bundle size increases or decreases significantly due to a library's size changing.

Here's another use case: If you're using webpack with aggressive bundle merging, it's nice to be alerted when a bundle size goes down so that you can reconfigure the maxSize.


Feature/strm 922

:tada: This PR is included in version 1.24.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[flink] only sync user table in the sync action

Purpose

add table type to avoid sync VIEW,SYSTEM DATABASE like mysql

Tests

API and Format

Documentation

Already supported, I will close this PR first. If you have any questions, you can open it again.


Incorrect Dapr Redis StateStore Source Used

In what area(s)?

/area runtime

/area operator

/area placement

/area docs

/area test-and-release

What version of Dapr?

1.1.x

Expected Behavior

When initializing Dapr via dapr --init and interfacing with the Redis store component, Dapr should be interfacing with the dapr_redis Docker container.
Actual Behavior

If Redis is already installed and running somewhere else on the machine, Dapr will interface with the previously installed instance of Redis vs. the Docker container initialized by Dapr.
Steps to Reproduce the Problem

On my Windows 11 machine, I already had Redis installed in WSL prior to installing and initializing Dapr. These steps will assume no artifacts of Dapr previously exist
Install Redis in WSL Ubuntu
sudo snap install redis

Install the Dapr CLI

From an Administrative terminal

pwsh -Command "iwr -useb https://raw.githubusercontent.com/dapr/cli/master/install/install.ps1 | iex"

Initialize Dapr and start a Dapr app

From an Administrative terminal

dapr init

dapr run --app-id myapp --dapr-http-port 3500

Store and Retrieve Data in Dapr State Store
# POST data
Invoke-RestMethod -Method Post -ContentType 'application/json' -Body '[{"key": "name", "value": "Bruce Wayne"}]' -Uri 'http://localhost:3500/v1.0/state/statestore'

# GET data
# Output: Bruce Wayne
Invoke-RestMethod -Uri 'http://localhost:3500/v1.0/state/statestore/name'

Connect to dapr_redis Container and Check Data

The following output should print (empty array)
for all executed redis commands

docker exec -it dapr_redis redis-cli

<IP_ADDRESS>:6370>keys *
(empty array)

<IP_ADDRESS>:6370>hgetall "myapp||name"
(empty array)

Connect to WSL Redis Instance and Check Data
Output
# connect to WSL
wsl

# make sure redis-cli is installed
sudo apt install redis-tools

# connect to redis
~$ redis-cli

# check for keys
<IP_ADDRESS>:6379> keys *
1) "myapp||name"

# check value
<IP_ADDRESS>:6379> hgetall "myapp||name"
1) "data"
2) "\"Bruce Wayne\""
3) "version"
4) "1"

Remediate Problem
I honestly had forgotten that I installed Redis in WSL at an earlier point and spent a long time trying to figure out what I had done wrong. Nothing about the scenario made sense until I remembered that I had installed it. Data was able to be stored and retrieved via the Dapr REST methods, but I could not find any trace of it in the dapr_redis instance.
Once I understood what was happening, I was able to get everything working after the following steps:

Remove all Redis artifacts from Ubuntu
# connect to WSL Ubuntu
wsl

# remove redis-tools
sudo apt remove redis-tools

# exit WSL
exit

# restart WSL
wsl --shutdown Ubuntu

# connect again
wsl

# remove redis
sudo snap remove redis --purge

# exit wsl
exit

Purge / Clean Docker for Desktop and Restart.

From an administrative command prompt:
# uninstall Dapr
dapr uninstall

# reinit Dapr
dapr init

Start the Dapr app
dapr run --app-id myapp --dapr-http-port 3500

Store and Retrieve State Store Data
Invoke-RestMethod -Method Post -ContentType 'application/json' -Body '[{"key": "name", "value": "Bruce Wayne"}]' -Uri 'http://localhost:3500/v1.0/state/statestore'

Invoke-RestMethod -Uri 'http://localhost:3500/v1.0/state/statestore/name'

Output
Bruce Wayne

Connect to dapr_redis and verify data:
> docker exec -it dapr_redis redis-cli

<IP_ADDRESS>:6379> keys *
1) "myapp||name"

<IP_ADDRESS>:6379> hgetall "myapp||name"
1) "data"
2) "\"Bruce Wayne\""
3) "version"
4) "1"

Release Note

RELEASE NOTE:

Dapr will connect to the Redis instance defined in the ~/.dapr/components/statestore.yaml file (which is created when you run dapr init). The default is localhost:6379.
In your case, it seems more like an issue with the Windows/WSL networking stack, since you had two instances of Redis (listening on the same port)?

Dapr will connect to the Redis instance defined in the ~/.dapr/components/statestore.yaml file (which is created when you run dapr init). The default is localhost:6379.

Tracking. localhost:6379 is the default port that Redis listens when it is installed. If the intent is for Dapr to connect to the instance running in dapr_redis after running dapr init, perhaps it might be better to have it run on a different port and adjust the default configuration accordingly? This way, you can better project that Dapr is interfacing with the correct instance.
At the very least, it might be helpful to make a note of this in the documentation (maybe in the Initialize Dapr document, as well as this section) as this was pretty difficult for someone new to Dapr to pinpoint on first approach.


Should Exn_bt be published as a separate package?

The need to pair an exception with a backtrace is pretty common.  Is there already a suitable minimal, zero dependency, package for that?  If not, perhaps we should publish Exn_bt as a separate mini library (much like Backoff).
Search for "backtrace" finds two opam packages:

xapi-backtrace — This seems somewhat related, but not quite the same, has a fair amount of dependencies, and does not use raw backtraces.
exn-source — This does not seem to offer similar abstraction.

Does the existing Exn_bt look like something you'd be happy to use in your scheduler if it was in a separate zero dependency package with ISC license?

In #50 I moved Exn_bt to a separate library picos.exn_bt that is available separately.


Recent additions report (urgent)

Links to https://github.com/freeukgen/systemwide/issues/158
E0 U6 S8 C4: P18

Has to be a component of a redesigned Reports system for CEN

Basic code written to generate statistics.
Reports to be added

The first set of reports for overall statistics and county level statistics can now be generated on test3

@geoffj-FUG
A very first cut of statistics on the content, including additions, for Freecen2 has been prepared on test3.
There is an overall report

As well there is a county level report; somerset is an example

Kirk
That covers a lot of good information.
However, RG11_2391 (8 Feb) and RG11_2392 (26 Feb) were Incorporated for SOM in the past 30 days but have not appeared on the report.
Geoff

@geoffj-FUG
This is a report from test3 and there are no incorporated files there.
The code can be applied to production if it looks like it may be useful
There is a considerable amount that can be done with other reports if the basis is acceptable.

Kirk
The base is acceptable. It contains far more information than FC1 reports.
On the topic of reports I am beginning to consider what has happened to the PARMS. The Coordinator needs to know where the whole of the piece is. We have broken it up. The ‘home’ Coordinator has all the Images and will need to organise transcription even if part of the  piece is in another County. They therefore need to be able to enter a TNA piece number and see the various parts of it in our PARMS.
Geoff
From: Kirk Dawson<EMAIL_ADDRESS>Sent: Tuesday, March 9, 2021 1:10 AM
To: FreeUKGen/FreeCENMigration<EMAIL_ADDRESS>Cc: geoffj-FUG<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [FreeUKGen/FreeCENMigration] Recent additions report (urgent) (#1076)
@geoffj-FUG https://github.com/geoffj-FUG
This is a report from test3 and there are no incorporated files there.
The code can be applied to production if it looks like it may be useful
There is a considerable amount that can be done with other reports if the basis is acceptable.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/FreeUKGen/FreeCENMigration/issues/1076#issuecomment-792819188 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AKCPIFOH6YYS2EIYW7ADOHLTCTSGLANCNFSM4U2T2ZRA .  https://github.com/notifications/beacon/AKCPIFO3RSNJDVVMGO6UJ5TTCTSGLA5CNFSM4U2T2ZRKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOF5AXL5A.gif


[Bug]: Attempt to uninstall and reinstall devbox failed

Current Behavior (bug)
Upon upgrading to latest version, nix started throwing errors, and I could not do devbox shell anymore.
I then tried to fully uninstall devbox following these instructions
Upon reinstalling and running devbox shell for the first time, I got this error message:
...
install: mkdir /etc/nix

~~> Installing Nix
      Alright! We have our first nix at /nix/store/6zi5fqzn9n17wrk8r41rhdw4j7jqqsi3-nix-2.18.1
      Just finished getting the nix database ready.

~~> Setting up shell profiles: /etc/bashrc /etc/profile.d/nix.sh /etc/zshrc /etc/bash.bashrc /etc/zsh/zshrc

# Nix
if [ -e '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh' ]; then
  . '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh'
fi
# End Nix

# Nix
if [ -e '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh' ]; then
  . '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh'
fi
# End Nix

# Nix
if [ -e '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh' ]; then
  . '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh'
fi
# End Nix

~~> Setting up shell profiles for Fish with conf.d/nix.fish inside /etc/fish /usr/local/etc/fish /opt/homebrew/etc/fish /opt/local/etc/fish

~~> Setting up the default profile
installing 'nix-2.18.1'
error: the build users group 'nixbld' has no members

---- oh no! --------------------------------------------------------------------
Oh no, something went wrong. If you can take all the output and open
an issue, we'd love to fix the problem so nobody else has this issue.

:(

We'd love to help if you need it.

You can open an issue at
https://github.com/NixOS/nix/issues/new?labels=installer&template=installer.md

Or get in touch with the community: https://nixos.org/community
Error: exit status 1

Error: There was an internal error. Run with DEVBOX_DEBUG=1 for a detailed error message, and consider reporting it at https://github.com/jetpack-io/devbox/issues

Expected Behavior (fix)
I would like to successfully run devbox shell
Additional context

OS: macOS Monterrey 12.5.1, intelCore i9
devbox version 0.8.5
devbox.json:

{
  "packages": [
    "nodejs@18",
    "nodePackages.pnpm",
    "postgresql",
    "nodePackages.typescript-language-server",
    "nodePackages.prettier",
    "colima"
  ],
  "nixpkgs": {
    "commit": "f80ac848e3d6f0c12c52758c0f25c10c97ca3b62"
  },
  "shell": {
    "scripts": {
      "pnpm-store-path": "pnpm store path",
      "install": "pnpm i",
      "test": "pnpm turbo test:unit"
    }
  }
}

yikes!

Upon upgrading to latest version

were you upgrading to the latest version of Devbox, or of nix?

Hey @savil I was updating to the latest version of devbox

I did a second attempt and it worked !
I did 2 things differently this time:

I emptied my bin (it was specified at the bottom of the instructions)
I removed all nixbld users which I thought I had already done, but turned out it hadn’t worked.

Food for thoughts 🌱 : It'd be great for the instructions' steps to be fully laid out in an easy to find documentation, instead of this tiny guide redirecting to 3 important links, each of them needing to be carefully followed.

@cschoreisz-pillar sorry to hear about this poor experience, and glad you are unblocked. Would you happen to know what versions of nix and Devbox you had prior to starting the upgrade?

All good @savil, it's always an occasion for me to learn, and I appreciated the fast answers.
I was on 0.5.11 for devbox, and I dont know about the nix version associated to it unfortunately

@cschoreisz-pillar Thanks for sharing the version info.
We try hard to ensure Devbox version updates are backwards compatible. That said, the times we have failed to ensure that have been around Devbox's internal logic, rather than around the underlying nix system. Its very concerning to me that you had to resort to the drastic measure of re-installing nix. That is not normal at all.
I hope this won't discourage you from updating Devbox more frequently. If you do encounter similar issues next time, please save the output somewhere and file a github issue or hit us up on Discord.


Enable support toolbar for ProfileActivity and added a couple of unit…

Description (required)
Fixes #5026
What changes did you make and why?
Added a couple of unit tests to #5068

Before
After

And would you mind posting before/after screenshots? Thanks!

@nicolas-raoul Added the screenshots and made a very minor change in the MediaDetailPagerFragment.java.
Can you please point out some coding style violations (everything seems fine to me now)?

@nicolas-raoul Thanks for pointing out the errors. I have made the changes as requested.

@nicolas-raoul Made the requested changes and  if (shouldShowContributions) was added in this pr https://github.com/commons-app/apps-android-commons/pull/4678

Hey @nicolas-raoul I was having a look at the issues trying to decide what to pick next. I am a bit confused right now. If you have any issues in mind, that might be suitable for me please let me know


create getinput file

I think you confused this is the repository for Harvard CS50.
This is NOT. This is Gachon CS50 which is a Korean University


Unexpected frames being logged for short period after 'start-display' command is received

Part of the Log, Log.Frames.Position, keeps track of which frame of a pattern is being displayed at any given time. It is accompanied by Log.Frames.Time which takes a reading every 2 ms. We use this to figure out when exactly a pattern started moving on the screen by looking for the first time after the 'start-display' command is received that the frame position changes. This is not working, however, because approximately the first 10 (20 ms worth) frame position readings after the 'start-display' command are never 0 as expected, but are other random numbers, as if it is still getting readings from the previous trial. We need to understand what exactly is being logged here - whether the frame numbers being logged are actually being displayed on the screen, and what exactly happens when a pattern is told to change via the 'start-display' command. Is there just an expected delay between the arena registering the 'start-display' command and the screen actually updating the pattern? If so, what causes this delay and is there a way we can measure it in order to make more accurate estimates of pattern movement time?

presumably addressed in #49 - to be verified

Confirmed this issue seems to have been resolved. I don't see any unexplained frame position numbers at the start of the trial anymore.


Keep comments with specific keywords

Coverage increased (+0.02%) to 98.187% when pulling 4bde27915f6cdfb16bcd19b30eb801dacac356e4 on comments-transformer into 5161df4a777af77f9ebe0970f06091867c5780dd on master.

Anybody can test this branch on a large code (10+ loc) with const and let variables?


Error: unknown shorthand flag: 'n' in -n (kubectl clusternet get subs -n test)

What happened:
Error: unknown shorthand flag: 'n' in -n
What you expected to happen:
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

Clusternet version:

# kubectl clusternet version
{
  "gitVersion": "0.5.0",
  "gitCommit": "8eab4a2e0f64df9f6afe895f2e8eeddcc41b15ac",
  "buildDate": "2021-12-23T08:49:57Z",
  "platform": "linux/amd64"
}

This is a bug of kubectl-clusternet.
Fixed in kubectl-clusternet v0.5.1.
Please run kubectl krew upgrade clusternet.


WIP: Map function blocks

Closes #25.
Closes #16.

NTS: I need to rethink the Instruction model.

This is nowhere near complete, but it's been open for too long. So I'm going to merge it as-is, and focus on VST support in a follow-up (since it should be more self-contained).


replace discovery channel with archiver-server

Uses archiver-server to join swarms.

From IRC:
jhand: i don't want the bot to aggressively connect to other peers like the swarm does. the usecase is a bit different


Calculating class-wise accuracy of Semantic segmentation

I have been able to perform transfer learning on FCN-8s for a 2-class (background,foreground) problem in DIGITS and the results look good on my test set. For calculating area under intersection of foreground class, I need to generate these images. I see that DIGITS is overlaying a binary-segment on original image and dispalying the segmented images. I was expecting the binary-segment to be like feature labels with a pixel value of 0 (background) or 1 (foreground). But the pixel labels are in a range. What is the threshold that I should use in this case to produce the same results as I see when DIGITS makes it?

It was only an issue of the result being in RGB format, figured it out. Thanks.


cordova plugin firebase error more than one library with package name 'com.google.android.gms.license'

last day it work absolutely fine.
but now error showing more than one library with package name 'com.google.android.gms.license'.
.i don't do anything with my code

same here
cordova create firebaseTest
cd firebaseTest
cordova build android
Creates the apk file with no error
then:
cordova plugin add<EMAIL_ADDRESS>--save
cordova build android
shows that error (more than one library....)

Worked for me
https://github.com/arnesson/cordova-plugin-firebase/issues/612#issuecomment-376217404

thanks @codesundar
this solution worked for me

this appears to be fixed by installing cordova-android-play-services-gradle-release


Add: crypto currencies BTC/XBT and ETH

Their iso codes aren't official perse, but definitely needed.

I'd suggest adding a distinction between officially assigned currency codes and the rest.


Azure speech services mrtk2.7 update

Updated MRTK Version to 2.7.0
Updated the tutorials to support Unity 2019 Legacy WSA, XRSDK and Unity 2020 OpenXR and XRSDK.
Tested Azure Speech Services tutorial series for MRTK 2.7.0 with Unity 2019 Legacy WSA, XRSDK and Unity 2020 OpenXR and XRSDK.
Screenshots updated.
Fixed Issue #298

@Vinayak0706 : Thanks for your contribution! The author(s) have been notified to review your proposed change. @jessemcculloch

@Vinayak0706 : Thanks for your contribution! The author(s) have been notified to review your proposed change. @jessemcculloch

@varunsiddaraju : Thanks for your contribution! The author(s) have been notified to review your proposed change. @jessemcculloch

@varunsiddaraju : Thanks for your contribution! The author(s) have been notified to review your proposed change. @jessemcculloch

@Vinayak0706 : Thanks for your contribution! The author(s) have been notified to review your proposed change. @jessemcculloch

Closing this PR, since new PR is created in MicrosoftDocs/mixed-reality-pr, repo.


Extension packaging seems to rely on maven to be in use

When trying to startup a test keycloak container to test a rest extension, in this part it seems to assume Maven is being used.
When using gradle, I get this exception:
Caused by: java.nio.file.NoSuchFileException: target/keycloak13563541036773513476.jar
	at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92)
	at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
	at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116)
	at java.base/sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:219)
	at java.base/java.nio.file.Files.newByteChannel(Files.java:370)
	at java.base/java.nio.file.Files.createFile(Files.java:647)
	at java.base/java.nio.file.TempFileHelper.create(TempFileHelper.java:137)
	at java.base/java.nio.file.TempFileHelper.createTempFile(TempFileHelper.java:160)
	at java.base/java.nio.file.Files.createTempFile(Files.java:867)
	at dasniko.testcontainers.keycloak.KeycloakContainer.createKeycloakExtensionDeployment(KeycloakContainer.java:220)

The problematic assumption IMO is here:
https://github.com/dasniko/testcontainers-keycloak/blob/2.1.1/src/main/java/dasniko/testcontainers/keycloak/KeycloakContainer.java#L220
There are some references in README.md to paths that also assume the use of Maven, in this related block:
https://github.com/dasniko/testcontainers-keycloak/blob/main/README.md?plain=1#L165
For a gradle build, it works with "java/main" rather than "target/classes".
I've found an easy workaround, which I'm using until this is fixed: to create a target folder in the root of the module/application where the test will run.
I hope this helps, and thanks for the amazing plugin, it's helping me a lot!

Hi, thanks for the hint.
You are right, I'm using Maven defaults here, as it is still the most used tool. And you are the first asking for Gradel support ;)
Unfortunately I don't have any Gradle experience and thus it will take some time to dig into it.

Hi Niko,
Ah, I didn't know it didn't have support. For some reason, it worked fine with gradle on version 1.8.0.
For 2.1.1 it works without issues, except for that static directory.
If there was a way to parameterize the build lib dir, it would make it build-automation-tool agnostic.
Just an idea: maybe a new method for allowing to set that up would help?
    public KeycloakContainer withBuildLibDir(File buildLibDir) {
        this.buildLibDir = buildLibDir;
        return self();
    }

There may be other ways to do it, but this way you could still stick to a default dir (maven's?), while allowing the setting of different ones for different or customized build automation tools.

It worked previously by accident. In earlier versions I just mounted the given folder (e.g. target/classes) into the container, so if you specified a Gradle specific output folder, it worked. But this approach didn't work with remote Docker executions and also in the Quarkus distribution, using an expanded archive (folder) doesn't work any more. So I had to change it to build an archive and copy it into the container. That's where this issues starts... ;)
So, as I'm don't know Gradle enough... Can we assume, that, when we specify an extension folder, like "java/main", I can create the local temporary archive file in the "java" folder? Like I do it with "target" from "target/classes". So I could dynamically derive the temporary folder from the given extension folder...
Of course, I could even use some temp or user directory from the system properties, and keeping fingers crossed that it is set. That's the advantage from using a folder in the project directory, I can assume that - at least the project folder itself - is there, otherwise we can't execute the code ;)
Perhaps I should just use the project root folder to create the temp archive, as it's been deleted anyways...
I'm talking ab bit too much sometimes, but sorting the thoughts, before implementing code is always a good thing to do ;)

Hey @davipc
would you mind to test a fix on the development branch with tag development-SNAPSHOT with the help of JitPack: https://jitpack.io/#dasniko/testcontainers-keycloak/development-SNAPSHOT
Your feedback is appreciated!
Thanks.

Hi @dasniko,
Sorry for not coming back to you earlier... this week has been crazy here.
Thanks for looking into this so promptly.
I'll try to answer your questions from 2 comments above, then the last one.
Can we assume, that, when we specify an extension folder, like "java/main", I can create the local temporary archive file in the "java" folder? Like I do it with "target" from "target/classes". So I could dynamically derive the temporary folder from the given extension folder...
Unfortunately no... in standard gradle projects the source and build directories have different structures.
Like in here:

Perhaps I should just use the project root folder to create the temp archive, as it's been deleted anyways...
I think this is probably the safest approach.
I'm talking a bit too much sometimes, but sorting the thoughts, before implementing code is always a good thing to do ;)
No man, you're good. I guess most developers do the same, even if only in their heads. ;-)
Let me test that snapshot branch now, I'll send another comment once I'm done.

It worked like a charm!
I'd have only one suggestion to (IMO) improve it: to create the file inside some temporary directory... so in case there is a crash while running tests, the file doesn't end up hanging in the root project folder, where it could more easily end up being checked in, or cause confusion.
Something like a testcontainer-work or testcontainer-tmp directory maybe?
But again, it already works as it is.
Cheers,
Davi

Thanks for the feedback 🙏
I also thought about the directory... but, stupid me, there's a much more simpler solution to that.... Just use
Files.createTempFile("prefix", "suffix")
and the file is created automatically in the systems temporary directory. No hassle with project directories.
...it's always got to know the APIs... 😳🙄😇

of course, much better :-)
thanks @dasniko


To do so the game currently supports turning via clicking a direction on the the touch pad (Hit left or right on the touch pad and it rotates you 90 degrees in that direction), or you can just turn your head to look around.
Are there any keyevents for the Oculus Go touch pad clicks, or is there a another way to change which way a user is facing using scrcpy?

adb shell input keyevent DPAD_LEFT

?

Thanks, though unfortunately it doesn't do anything. Apparently there are .kl files which contain keyevents on android devices. I will take a look through those on the Go and see if I can find anything.

$ adb shell input
Usage: input [<source>] <command> [<arg>...]

The sources are:
      mouse
      keyboard
      joystick
      touchnavigation
      touchpad
      trackball
      stylus
      dpad
      touchscreen
      gamepad

The commands and default sources are:
      text <string> (Default: touchscreen)
      keyevent [--longpress] <key code number or name> ... (Default: keyboard)
      tap <x> <y> (Default: touchscreen)
      swipe <x1> <y1> <x2> <y2> [duration(ms)] (Default: touchscreen)
      press (Default: trackball)
      roll <dx> <dy> (Default: trackball)

Maybe adb shell input touchpad <something>.


HashMap in JavaScript

Introduction to HashMap
Complexity Analysis of Worst-Case + Best Case
Code for Insertion Operation in HashMap
Explanation of Code Example

Hi , I would like to work on this issue . Assign me on this issue


Nothing being generated

It's me again, go figure haha. So since the most recent update I'm not able to get any output. It will iterate through the input files, say it's parsing, then say 0 files parsed. I don't know if its erroring on the files silently or for some reason considering them invalid? Not sure if there is a debug log or verbose mode that isn't documented but I'm not really sure how to debug this. I can send you my files that I'm trying to parse if that helps. It does generate the index.md file but it seems to be corrupt/incomplete. Let me know if there is any other info I can provide to help. Thanks!

Yes, this seems to be a new issue with 2.3 as far as I know.

Closing this for now. Please feel free to reopen if there are any other issues.


Table of contents UPPERCASE titles un-uppercaseable!

Renderer
v3
Browser
Chrome
Operating System
Windows
What happened?
When generating the table of contents (Text editor -> Table of contents (beta) ->  Table of contents (beta))
H3 titles are "uppercased", while before they where respecting the formatting of the actual title in the editor and it's capitalization.
Maybe this is something that have to do with making things 5e like, but I selected Pathfinder in the brew information, I'm using custom CSS to make things similar to pf2e but in this case is not a css issue, the renderer automatically uppercase the h3 in my brew.
TOC BEFORE:

TOC AFTER:

text is UPPERCASE in html, not via css, cannot easily override...

Code
No response

That is due to your own CSS, not us, there is no official pathfinder theme, so it may come from the copied theme, find the rule that will target that and remove it, you may go into your style tab and search for text-transform. If you don't find anything, please share your brew so we can take a look.

That is due to your own CSS, not us, there is no official pathfinder theme, so it may come from the copied theme, find the rule that will target that and remove it, you may go into your style tab and search for text-transform. If you don't find anything, please share your brew so we can take a look.

sorry to insist, but there is no text-transform css rule affecting that element in the TOC or any container elements, I sent a screenshot showing you the html, that is not affected by the css. The html in the ispector shows how the text is in the html, but is not entered uppercase

here you can see the text in the editor, the text in the toc, the text in the html corresponding to the select element. There is also the style filtered with the keyword "text" to prove that there is no rule for that element and upper elements saying it should be uppercase.
BUT the h3 is uppercase in the renderer in the correspoding page

as you can see the html is correct here (not uppercase) and the css is making it uppercase
so, what I think, but I can be wrong, I fear is that the TOC is generating from the uppercased "output" and not from the source html or the source editor.

Per my last message:

If you don't find anything, please share your brew so we can take a look.

As I understand it, the crux of the issue is that if a user has a style that changes a header to uppercase, then when the ToC is generated, the ToC entry is also in uppercase.
Digging through the code, it appears that this line is the heart of the issue - when the BrewRenderer iFrame is being parsed for headers, the innerText property is passed as the ToC entry content - however this includes any text-transform applied through styling.
A potential alternative might be to use innerHTML instead, although this approach will have issues if the entry contains inline styling.

I can confirm my theory, if I enter in the style editor:
.pages .page h3 {
   text-transform:lowercase;
}

the toc will take it even if there is no h3
this is the brew
https://homebrewery.naturalcrit.com/share/OPBqOHMt7sKn

As I understand it, the crux of the issue is that if a user has a style that changes a header to uppercase, then when the ToC is generated, the ToC entry is also in uppercase.
Digging through the code, it appears that this line is the heart of the issue - when the BrewRenderer iFrame is being parsed for headers, the innerText property is passed as the ToC entry content - however this includes any text-transform applied through styling. A potential alternative might be to use innerHTML instead, although this approach will have issues if the entry contains inline styling.

could an alternative be using textContent instead of innerText or innerHTML?

textContent might do the trick.
I didn't know innerText retained changes due to CSS formatting but it looks like it does.

Looks promising: https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent#differences_from_innertext
It should be relatively simple to throw together an experimental branch for testing - I'm at work at the moment, so if no one else does it in the next six to eight hours, I'll see what a textContent ToC generator variant looks like.

Initial experimentation looks like textContent should work.

Managed to snatch a few minutes during a late lunch break to throw together a quick PR. Initial testing looks like it solves the issue without introducing new ones!


Improve performance/accuracy

Until I get around to doing an internal version, this one needs some optimization.

Optimize the hot code path

probably don't need to call osu::is_playing every iteration
smaller sleep? (Probably don't want to make it customizable so we don't have to look up memory all the time.)
precompute scan codes for Process::send_keypress to get rid of VkKeyScanEx and maybe keep a prefilled static INPUT object around (edit: actually maybe just prepare a bunch of INPUT objects once we know the keys and just pass an index to send_keypress?)

Play around with tap time, see if it makes a difference
Send key presses in batches, if possible

Decreasing the sleep and precomputing scan codes improved performance significantly, good enough for now.


ci(yml): enable try-import branch invoke ci on push

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

LGTM.


where to download output/checkpoint.pth

We are not at the end of the training phase yet, this could go on for a while due to lack of GPUs, I will take the time to update the latest top1 acc.