function_clause error msgs on 3.0.0 version. [JIRA: RIAK-2042]

I tried to upgrade the lager's version in my projects to tag 3.0.0
But I got a some crash log on console as below.
How can I fix this error? No issues on lager 2.X.
Erlang/OTP 17 [erts-6.4.1] [source-381fb6c] [64-bit] [smp:2:2] [async-threads:6] [hipe] [kernel-poll:true]

=ERROR REPORT==== 24-Jul-2015::11:51:28 ===
** gen_event handler log_mf_h crashed.
** Was installed in error_logger
** Last event was: get_loglevel
** When handler state == {state,"log/sasl",10485760,5,25753,5,
                                {file_descriptor,prim_file,{#Port<0.5227>,18}},
                                [],#Fun<sasl.0.89613933>}
** Reason == {function_clause,
                 [{log_mf_h,handle_call,
                      [get_loglevel,
                       {state,"log/sasl",10485760,5,25753,5,
                           {file_descriptor,prim_file,{#Port<0.5227>,18}},
                           [],#Fun<sasl.0.89613933>}],
                      [{file,"log_mf_h.erl"},{line,164}]},
                  {gen_event,server_call_update,3,
                      [{file,"gen_event.erl"},{line,638}]},
                  {gen_event,server_call,4,
                      [{file,"gen_event.erl"},{line,587}]},
                  {gen_event,handle_msg,5,[{file,"gen_event.erl"},{line,258}]},
                  {proc_lib,init_p_do_apply,3,
                      [{file,"proc_lib.erl"},{line,237}]}]}

=ERROR REPORT==== 24-Jul-2015::11:51:28 ===
** gen_event handler sasl_report_file_h crashed.
** Was installed in error_logger
** Last event was: get_loglevel
** When handler state == {<0.1297.0>,"log/sasl-error.log",error}
** Reason == {error,bad_query}
Eshell V6.4.1  (abort with ^G)
(bird@<IP_ADDRESS>)1>

my sys.config file is...
[
 %% SASL config
 {sasl, [
         {sasl_error_logger, {file, "log/sasl-error.log"}},
         {errlog_type, error},
         {error_logger_mf_dir, "log/sasl"},      % Log directory
         {error_logger_mf_maxbytes, 10485760},   % 10 MB max file size
         {error_logger_mf_maxfiles, 5}           % 5 files max
        ]},

 %% Lager config
 {lager, [

      %% Installed Handlers
      {handlers, [
            {lager_file_backend, [
                {file, "log/trace.log"}, { level, debug },  { size,<PHONE_NUMBER>0 }, { date, "$D0" }, { count, 30 }]},
            {lager_file_backend, [
                {file, "log/access.log"},  { level, none },  { size,<PHONE_NUMBER>0 }, { date, "$M1D0" }, { count, 30 }, { formatter_config, [date, " ", time, " ", message, "\n"] }]},
            {lager_kafka_backend, [
                {level, none}, {topic, <<"xyz">>}, {broker, {"kafka.xyz.com", 9092 }}, {formatter_config, [date, " ", time, " ", message]}, {ekaf_per_partition_workers, 5}, {ekaf_partition_strategy, random}]}
      ]},

      {traces, [
            { {lager_file_backend, "log/access.log"}, [{request, access}], info},
            { lager_kafka_backend, [{request, access}], info}
      ]},

      %% What colors to use with what log levels
      {colored, true},

      %% async threshold
      {async_threshold, 100},
      {async_threshold_window, 20}
    ]},

   ...

Is my configuration something wrong?

It looks like your Kafka backend for lager is invoking get_loglevel, which has changed with the new release. Can you point me to the source?

Umm... OK I will try to check the source.
Ah! source repo is https://github.com/snaiper80/lager_kafka_backend
Thank you!

I tried to remove all kafka dependencies from sources, also.. sys.config.
But I got the same issue. :(
umm..ok.. I will try to check lager srcs.

I will take a closer look too. Thank you for following up.
Sent from my iPad

On Jul 26, 2015, at 9:56 PM, Lee GiTack<EMAIL_ADDRESS>wrote:
I tried to remove all kafka dependencies from sources, also.. sys.config.
But I got the same issue. :(
umm..ok.. I will try to check lager srcs.
—
Reply to this email directly or view it on GitHub.

(First, sorry for my poor english)
I am looking this issue by old-fashioned print :)
Below is my print logs.
Erlang/OTP 17 [erts-6.4.1] [source-381fb6c] [64-bit] [smp:2:2] [async-threads:6] [hipe] [kernel-poll:true]

lager_handler_watcher:init(lager_event, lager_backend_throttle, [100,20]) is called
lager_handler_watcher:install_handler2 Lager installed handler lager_backend_throttle into lager_event
lager:update_loglevel_config(lager_event) is called.
lager:get_loglevels(lager_event) is called
lager_handler_watcher:init(lager_event, {lager_file_backend,"log/trace.log"}, [{file,
                                                                                "log/trace.log"},
                                                                               {level,
                                                                                info},
                                                                               {size,
                                                                                10485760},
                                                                               {date,
                                                                                "$D0"},
                                                                               {count,
                                                                                30},
                                                                               {high_water_mark,
                                                                                9999}]) is called
lager_handler_watcher:install_handler2 Lager installed handler {lager_file_backend,
                                                                "log/trace.log"} into lager_event
lager:update_loglevel_config(lager_event) is called.
lager:get_loglevels(lager_event) is called
lager_handler_watcher:init(lager_event, {lager_file_backend,"log/access.log"}, [{file,
                                                                                "log/access.log"},
                                                                                {level,
                                                                                none},
                                                                                {size,
                                                                                10485760},
                                                                                {date,
                                                                                "$M1D0"},
                                                                                {count,
                                                                                30},
                                                                                {formatter_config,
                                                                                [date,
                                                                                " ",
                                                                                time,
                                                                                " ",
                                                                                message,
                                                                                "\n"]}]) is called
lager_handler_watcher:install_handler2 Lager installed handler {lager_file_backend,
                                                                "log/access.log"} into lager_event
lager:update_loglevel_config(lager_event) is called.
lager:get_loglevels(lager_event) is called
lager_handler_watcher:init(lager_event, lager_kafka_backend, [{level,none},
                                                              {topic,
                                                               <<"xxx">>},
                                                              {broker,
                                                               {"kafka.xyz.com",
                                                                9092}},
                                                              {formatter_config,
                                                               [date," ",time,
                                                                " ",message]},
                                                              {ekaf_per_partition_workers,
                                                               5},
                                                              {ekaf_partition_strategy,
                                                               random}]) is called
lager:update_loglevel_config(lager_event) is called.
lager:get_loglevels(lager_event) is called
lager_app:start_error_logger_handler(_, 50, {ok,[]}) is called
lager_handler_watcher:init(error_logger, error_logger_lager_h, [50,handle]) is called
lager_handler_watcher:install_handler2 Lager installed handler error_logger_lager_h into error_logger
lager:update_loglevel_config(error_logger) is called.
lager:get_loglevels(error_logger) is called

=ERROR REPORT==== 27-Jul-2015::11:26:23 ===
** gen_event handler log_mf_h crashed.
** Was installed in error_logger
** Last event was: get_loglevel
** When handler state == {state,"log/sasl",10485760,5,9299,1,
                                {file_descriptor,prim_file,{#Port<0.5071>,18}},
                                [],#Fun<sasl.0.89613933>}
** Reason == {function_clause,
                 [{log_mf_h,handle_call,
                      [get_loglevel,
                       {state,"log/sasl",10485760,5,9299,1,
                           {file_descriptor,prim_file,{#Port<0.5071>,18}},
                           [],#Fun<sasl.0.89613933>}],
                      [{file,"log_mf_h.erl"},{line,164}]},
                  {gen_event,server_call_update,3,
                      [{file,"gen_event.erl"},{line,638}]},
                  {gen_event,server_call,4,
                      [{file,"gen_event.erl"},{line,587}]},
                  {gen_event,handle_msg,5,[{file,"gen_event.erl"},{line,258}]},
                  {proc_lib,init_p_do_apply,3,
                      [{file,"proc_lib.erl"},{line,237}]}]}

=ERROR REPORT==== 27-Jul-2015::11:26:23 ===
** gen_event handler sasl_report_file_h crashed.
** Was installed in error_logger
** Last event was: get_loglevel
** When handler state == {<0.1263.0>,"log/sasl-error.log",error}
** Reason == {error,bad_query}

OK.  why 'error_logger'? maybe this calling seq is cause of this issue.
lager_app:start_error_logger_handler(_, 50, {ok,[]}) is called
lager_handler_watcher:init(error_logger, error_logger_lager_h, [50,handle]) is called
lager_handler_watcher:install_handler2 Lager installed handler error_logger_lager_h into error_logger
lager:update_loglevel_config(error_logger) is called.
lager:get_loglevels(error_logger) is called

After more checking codes, 'error_logger' is came from this.
(https://github.com/basho/lager/blob/master/src/lager_app.erl?#L149)
case supervisor:start_child(lager_handler_watcher_sup, [error_logger, error_logger_lager_h, [HWM, GlStrategy]]) of

Umm..maybe something in sys.config is wrong?

Thank you for your invaluable assistance. I greatly appreciate the work you applied to this problem, and your analysis is very good.
This is probably not the final patch, but please try this branch to see if it works for you: https://github.com/basho/lager/tree/bugfix/jrd/280
If the diff is easier to apply:
--- a/src/lager.erl
+++ b/src/lager.erl
@@ -469,6 +469,10 @@ add_trace_to_loglevel_config(Trace, Sink) ->
     end.

 %% @doc recalculate min log level
+update_loglevel_config(error_logger) ->
+    %% Not a sink under our control, part of the Erlang logging
+    %% utility that error_logger_lager_h attaches to
+    true;
 update_loglevel_config(Sink) ->
     {_, Traces} = lager_config:get({Sink, loglevel}, {ignore_me, []}),
     MinLog = minimum_loglevel(get_loglevels(Sink)),

@macintux and I have been talking about this issue and I would expect an official fix for it soon. I want to write a test case for this problem before we push the fix in.

Incidentally the root cause of this crash is that in the 2.x branch, lager:get_loglevels is only concerned with lager_event and the sink name is hardcoded. When we added multiple sinks in 3.0, we have to tell lager what sink we want to lookup for its current level.  The OTP supplied sink error_logger needs its own special case since none of the OTP supplied logging handlers have any notion of a lager-style "loglevel" much less code to return the current level.  So your analysis was right on, but the error is in lager, not in your SASL configuration.
Thanks again for the ticket.

@macintux Awesome!! After I apply that patch branch, I have no issue. Thank you!
@mrallen1 OK. I will wait the final patch on production environment.
Thanks for your attention. :+1:

OK, 3.0.1 is tagged and pushed, and it contains a fix for this issue. Thanks for the ticket and all of your work diagnosing the issue. :smile:


Button Monitor class

Much like #203 a monitor class for buttons would be helpful.
Suggested features

takes reference to the UI evene queue in its ctor
has s single process() function that would be called from the scan() function of the application (as suggested in #201 ). This function would add events to the queue and also do debouncing, repetition when the button is held down, etc.
Buttons can potentially be connected in a million ways. To keep virtual function calls and other runtime overhead low while still allowing unlimited hardware connections, we could have the button monitor use a backend like this:

class MyButtonDataBackend
{
public:
    // called when the monitor starts a new round of button scanning. Multiplexed button reader classes that use shift registers, etc. could use this function to read all the data at once.
    void startScanning();
    // called when the monitor wants to knot the state of a single button
    bool getButtonState(int index);
    // called after the monitor is done. This can be used to trigger async hardware operations like ADC reads, etc. if required.
    void stopScanning();
}

constexpr int numButtons = 10;
ButtonMonitor<MyButtonDataBackend, numButtons> bttnMonitor(myUiEventQueue);

// called from a low prio timer IRQ
void scan()
{
    bttnMonitor.process();
}

We could provide some default backends, e.g. a simple GPIO backend, a 74HC165 backend, etc.

thinking about this a little further, the backend should be owned by the caller and be passed in by reference in the ctor.
Then we can leave out the startScanning() and stopScanning functions and leave it to the caller to do whatever is required for the backend to function properly.


Replace jstest with mocha

run client side mocha test in browser: https://github.com/direct-adv-interfaces/mocha-headless-chrome

Run test in real browser with karma
https://github.com/karma-runner/karma


FallbackHand grabbing doesn't work

1) There is no SteamVR_Behaviour_Pose component attached to object. That's easy to fix.
2) Mouse click grab doesn't work at all. It seems there's no such call and new input system hasn't been finished to work with fallback hand.
3) Have been trying to find a way to invoke action manually for 2 days already - am I missing something?
It's important for devs like me, who develop remotely and has no hmd with them.

@zite Hi! Could you please tell how to trigger input actions through API?

This should be fixed in the next version of the plugin. If you would like you can check out the beta here: https://github.com/ValveSoftware/steamvr_unity_plugin/releases/tag/2.1b2


circleci - /bin/bash: git: command not found

hitting this.  any ideas?
tim@DESKTOP-HUCQDLR:~/ursaLeo/unity-test$ circleci local execute -c process.yml --job unity-ci/outputAlf
Docker image digest: sha256:2c2fd6a4655b259ac40f3c168b82200d4a7cebdc8287c4eb866a348b0191403d
====>> Spin Up Environment
Build-agent version  ()
Docker Engine Version: 19.03.8
Kernel Version: Linux 7b2fb95aeee5 4.19.84-microsoft-standard #1 SMP Wed Nov 13 11:44:37 UTC 2019 x86_64 Linux
Starting container gableroux/unity3d:2019.1.0f2
  image is cached as gableroux/unity3d:2019.1.0f2, but refreshing...
2019.1.0f2: Pulling from gableroux/unity3d
Digest: sha256:b4f3bb32e1c92f671dbf9a197250870f84755c1d968b8612925d851c9b46517d
Status: Image is up to date for gableroux/unity3d:2019.1.0f2
  using image gableroux/unity3d@sha256:b4f3bb32e1c92f671dbf9a197250870f84755c1d968b8612925d851c9b46517d
====>> Preparing Environment Variables
Using build environment variables:
  BASH_ENV=/tmp/.bash_env-localbuild-1584369042
  CI=true
  CIRCLECI=true
  CIRCLE_BRANCH=master
  CIRCLE_BUILD_NUM=
  CIRCLE_JOB=unity-ci/outputAlf
  CIRCLE_NODE_INDEX=0
  CIRCLE_NODE_TOTAL=1
  CIRCLE_REPOSITORY_URL=https://github.com/UrsaLeo/unity-test.git
  CIRCLE_SHA1=3b9d1c754d2f86785de31ef566dd0315a8e9fbc1
  CIRCLE_SHELL_ENV=/tmp/.bash_env-localbuild-1584369042
  CIRCLE_WORKING_DIRECTORY=~/project

The redacted variables listed above will be masked in run step output.====>> Setup a remote Docker engine
{"Runner":true,"level":"error","msg":"running as root","task-id":"localbuild-1584369042","time":"2020-03-16T14:30:45Z"}
Using local docker engine bind-mounted
====>> Checkout code
  #!/bin/bash -eo pipefail
mkdir -p /root/project && cd /tmp/_circleci_local_build_repo && git ls-files | tar -T - -c | tar -x -C /root/project && cp -a /tmp/_circleci_local_build_repo/.git /root/project
/bin/bash: git: command not found
Error:
Exited with code exit status 127

Step failed
Error: runner failed (exited with 101)
Task failed
Error: task failed

my .yml:
version: 2.1

orbs:
  unity-ci<EMAIL_ADDRESS>
executors:
  unity_executor:
    docker:
      - image: gableroux/unity3d:2019.1.0f2

workflows:
  version: 2
  unity-ci-activate-ulf-file:
    jobs:
      - unity-ci/outputAlf:
          exec: unity_executor

tim@DESKTOP-HUCQDLR:~$ circleci version
0.1.6949+d951526
tim@DESKTOP-HUCQDLR:~$ circleci diagnostic

---
CircleCI CLI Diagnostics
---
Debugger mode: false
Config found: /home/tim/.circleci/cli.yml
API host: https://circleci.com
API endpoint: graphql-unstable
Error: please set a token with 'circleci setup'
You can create a new personal API token here:
https://circleci.com/account/api

I never worked with circleci's orbs so I'm not sure about the following part
orbs:
  unity-ci<EMAIL_ADDRESS>
Also, the error message shows git: command not found, you may want to investigate this.
To give you a hand, here are the labels of the gableroux/unity3d:2019.1.0f2 you are using:
  "Labels": {
    "build-date": "2019-05-02T03:40:49+0000",
    "com.gableroux.unity3d.build": "f2",
    "com.gableroux.unity3d.download_url": "https://beta.unity3d.com/download/292b93d75a2c/UnitySetup-2019.1.0f2",
    "com.gableroux.unity3d.release_notes": "https://unity3d.com/unity/whats-new/2019.1.0",
    "com.gableroux.unity3d.release_url": "https://beta.unity3d.com/download/292b93d75a2c/public_download.html",
    "com.gableroux.unity3d.sha1": "56711ddafdde2554a7782c846785767e07ebdc5d",
    "com.gableroux.unity3d.tag": "2019.1.0f2",
    "com.gableroux.unity3d.version": "2019.1.0",
    "com.gitlab.ci.build": "https://gitlab.com/gableroux/unity3d/builds/205786409",
    "com.gitlab.ci.builder"<EMAIL_ADDRESS>    "com.gitlab.ci.pipeline": "https://gitlab.com/gableroux/unity3d/pipelines/59351554",
    "com.gitlab.ci.ref": "master",
    "vcs-url": "https://gitlab.com/gableroux/unity3d"
  }

For that specific version, the unity docker image didn't have git installed in the image at that time. https://gitlab.com/gableroux/unity3d/-/blob/0f9ce8f4eca7cd55a11114f8ad7f195866692b7d/Dockerfile
Here's a related issue:
https://gitlab.com/gableroux/unity3d/issues/45
You may try to add something like apt-get update && apt-get install -y git to your before_script or upgrade to a more recent unity version. Also note that main repository for this project is hosted on gitlab. Good luck :v:

very much appreciate the notes above.  everything works now that i have switched to gableroux/unity3d:2020.1.0b1-windows


Update Hello.java

Can one of the admins verify this patch?

Can one of the admins verify this patch?


Lacking documentation for swarm service placement constraints

Problem description
In https://docs.docker.com/engine/swarm/services/#control-service-scale-and-placement:
Service constraints let you set criteria for a node to meet before the scheduler deploys a service to the node. You can apply constraints to the service based upon node attributes and metadata or engine metadata. For more information on constraints, refer to the docker service create CLI reference.

However the CLI reference at https://docs.docker.com/engine/reference/commandline/service_create/ only mentions:
--constraint	 	Placement constraints

I had to go to https://github.com/docker/swarmkit/blob/fb654e9afa426579dc0ce14bf51a80db2c18286e/manager/constraint/constraint.go
Problem location
URLs included above
Project version(s) affected
I don't think any versions had placement constraint docs
Suggestions for a fix
Make sure they are documented

Related to https://github.com/docker/docker.github.io/issues/1981

Closing as duplicate of #1981.

what is solved about this issue? there's still no documentation? that's how I ended up here.

@erikbgithub you can find some docs about placement constraints here and here.

@joaofnfernandes In your first link I can't find anything for placement constraints, only for placement prefs. constraints only are explained with two words: "placement constraints". The second link doesn't contain the word "placement" at all. Maybe you know how to use the described stuff there to actually make placement constraints happen, because you used it in many different usecases. I haven't, so I'm not able to use a very general description to apply random features for that usecase. That's what documentation is therefore, to give examples for people who are not experienced enough to use the --help alone. Would you agree?

@joaofnfernandes In your first link I can't find anything for placement constraints, only for placement prefs. constraints only are explained with two words: "placement constraints". The second link doesn't contain the word "placement" at all. Maybe you know how to use the described stuff there to actually make placement constraints happen, because you used it in many different usecases. I haven't, so I'm not able to use a very general description to apply random features for that usecase. That's what documentation is therefore, to give examples for people who are not experienced enough to use the --help alone. Would you agree?

Based on the feedback above I'm reopening this issue.
It seems that we have documentation about placement constraints but it is:

spread all over the place
not easy to understand by new users

Having a single article that describes what are placement constraints, why should you care, and how to use them with Docker, would really help out a lot of people.
@erikbgithub thanks for the feedback!


README.md update from [Obsolete] MonitorEventsAsync example to latest

Hello.
Section : https://github.com/dotnet/Docker.DotNet#example-dealing-with-stream-responses
contains mix of obsolete return type and a new MonitorEventsAsync method signature.
This PR fixes that.

I think this PR is already outdated again.
This example works for me
var progress = new Progress<Message>(o => Console.WriteLine($"{o.Action} {o.Actor.ID} {o.From} {o.ID} {o.Scope} {o.Status} {o.Type}"));

await client.System.MonitorEventsAsync(new ContainerEventsParameters(), progress);


Key Repeat on macOS

Just purchased and didn't test this particular use case. Kicking myself for it!!! I am using on MacOS Sonoma and this makes the usage of vi impossible on remote host.
Originally posted by @rafmuller in https://github.com/isontheline/pro.webssh.net/issues/976#issuecomment-2336788817

@rafmuller I'm planing this issue

@jpizquierdo Yet I'm unable to find a way to implement key repeat on Mac Catalyst platform
Key presses seems to be managed by the OS and I can't override pressesBegan: method


Update dcos_generate_config.sh --help, simplify code a bit

argparse's default --help isn't much better / worse than the custom one, remove the custom one.
Also:

Fix adding the help strings for each argument
Fold simple functions only called by one place to their call sites
Import dcos_installer.async_server inside do_web since it always sets up a bunch of webserver stuff.

For reference:
cos_installer --help
usage: dcos_installer [-h] [--hash-password HASH_PASSWORD] [-v] [--offline]
                      [--cli-telemetry-disabled] [--web] [--version]
                      [--genconf] [--validate-config] [--postflight]
                      [--install-prereqs] [--deploy] [--preflight]
                      [--uninstall]

optional arguments:
  -h, --help            show this help message and exit
  --hash-password HASH_PASSWORD
                        Hash a password on the CLI for use in the config.yaml.
  -v, --verbose         Verbose log output (DEBUG).
  --offline             Do not install preflight prerequisites on CentOS7,
                        RHEL7 in web mode
  --cli-telemetry-disabled
                        Disable the CLI telemetry gathering for SegmentIO
  --web                 Run the web interface
  --version             Print the DC/OS version
  --genconf             Execute the configuration generation (genconf).
  --validate-config     Validate the configuration for executing --genconf and
                        deploy arguments in config.yaml
  --postflight          Execute postflight checks on a series of nodes.
  --install-prereqs     Execute the preflight checks on a series of nodes.
  --deploy              Execute a deploy.
  --preflight           Execute the preflight checks on a series of nodes.
  --uninstall           Execute uninstall on target hosts.

Note for the webserver longer term we should move the webserver building into a function (there is nothing that has to be global currently). Out of scope for this though


Bug: Switching in and out of Zen mode introduces cutoffs and doesn't resize process window

After updating to the latest version, I'm starting to experience this issue.
You can see me reproducing the bug here:
https://github.com/user-attachments/assets/37d4d8d9-1c2c-4e6d-9e9b-7fd349052fac
And to show that this isn't neovim-specific:
https://github.com/user-attachments/assets/9213a817-5ce7-49d9-b5b4-62962a810e9f
To reproduce:

Open your terminal emulator in fullscreen
Run a few processes (preferably some sort of TUI)
Select a process in the sidebar and press 'z' to enter Zen mode
The process doesn't resize and instead shows a ton of question marks
Resize the terminal emulator window while still in zen mode
Fixes itself
Get out of zen mode with CTRL+A
Process does not resize (if using a TUI you'll see a cutoff)
Resize the terminal emulator window
Process resizes

Neovim in Mprocs in Alacritty on MacOS, btw

Thank you for such a thorough explanation!


Feat/default add look up tags

Linked to the PR:
https://github.com/Kong/deck/pull/1124
Description:
Please see Jira: https://konghq.atlassian.net/browse/APIOPS-100
This branch will add a new feature to pass a new lookup_tags in the _info section. It will allow the local state to retrieve the the corresponding entities in Kong.
_info:
  default_lookup_tags:
    consumers:
    - test
    - test3
    - test2

 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.

Replace by REBASE PR: https://github.com/Kong/go-database-reconciler/pull/31


Simplify code

No need to branch out here.

Pull Request Test Coverage Report for Build 103

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.07%) to 67.078%

Totals

Change from base Build 99:
-0.07%

Covered Lines:
978

Relevant Lines:
1458

💛  - Coveralls

Pull Request Test Coverage Report for Build 103

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.07%) to 67.078%

Totals

Change from base Build 99:
-0.07%

Covered Lines:
978

Relevant Lines:
1458

💛  - Coveralls

this simplification is in the main branch now, thanks

this simplification is in the main branch now, thanks

Thank you!

Thank you!


One Type Replication Failure Blocks Other Types Replications

Hi,
We have a bucket replication, which consists of 5 different entity types.
One entity type has started to have mapping problems because of fields changes.
The other types could not be further replicated, until the problematic type has been filtered out.
Is this behavior reasonable? I'd expect the rest of the valid entity types to continue to be replicated.
Couchbase version: 4.5.1-2844 Enterprise Edition
Elasticsearch version: 2.4.4
Transport Couchbase Plugin version: 2.4.4
Thanks,
Miri

Hi Miri,
What you're describing happens because of the way XDCR in Couchbase handles replication failures - it continues to retry forever, which indeed blocks other documents in the same vBucket (shard) from replicating.
You can solve the problem by setting the couchbase.ignoreFailures config setting to true in the ES config file - this will cause the plugin to only log exceptions to the ES log, but not propagate them back to Couchbase. Obviously, this comes with the drawback that you will no longer see XDCR errors on the Couchbase side, but only in the elastic log.
I'm planning to add a more selective way of ignoring exceptions in the next release. For example, only ignoring mapping errors, but propagating the rest back to Couchbase.

10x for the explanation


🌐 French translation for various commands of the Finder part

Add French translation for :

ShowPathbar

Path bar

FXPreferredViewStyle

Default view style

_FXSortFoldersFirst

Keep folders on top

FXDefaultSearchScope

Default search scope

FXRemoveOldTrashItems

Empty bin items after 30 days

showWindowTitlebarIcons

Title bar icons

All these commands already exist in English.
All these commands are in the Finder part.
📷 For _FXSortFoldersFirst command I added records, the .js scripts and .mp4 files for true and false case.

Looking nice! Thanks a lot :)

Btw you should take a look at mac-runner, it should help you to create record scripts ;)


Issue 493: Update index.qmd to become a supporting information

This PR closes #493 .
This is a small PR which converts the index.qmd file in the /manuscript folder into an SI for the main text (which has a read-only link).

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

Project coverage is 89.87%. Comparing base (710a26d) to head (000bdf9).
Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #500   +/-   ##
=======================================
  Coverage   89.87%   89.87%
=======================================
  Files          51       51
  Lines         741      741
=======================================
  Hits          666      666
  Misses         75       75

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


Add support for allocations

Add support for allocations

@dtantsur Could you have a look if you have a minute?

Sure, vendoring is pretty ugly.  That change is here: https://github.com/openshift-metalkube/terraform-provider-ironic/pull/14
I'm splitting out power state, as well.  This PR will have to go last, and tests will fail until both are merged.

Power state PR is here: https://github.com/openshift-metalkube/terraform-provider-ironic/pull/15

I'll rebase this one once the others are merged.

I filed https://github.com/openshift-metalkube/terraform-provider-ironic/issues/18, I'll open a separate PR to handle microversions as recommended for a high-level SDK.

Going to merge this, can iterate on next PR if anything needs changing.


[QUESTION] Extra hosts in marqoai/marqo container

I am following the tutorial here: https://marqo.pages.dev/0.0.8/#setup-and-installation and trying deploying marqo on Fargate container.
When deploying, I get ECS specific error: Create TaskDefinition: Extra hosts are not supported on container when networkMode=awsvpc.
The "Extra hosts" is something that one needs to add when running marqo container.
--add-host host.docker.internal:host-gateway marqoai/marqo:0.0.8

What is this hosts entry used for? Is there a way without it?

Hi @greenpau thanks for raising this. This is so that Marqo can run Marqo-os in a Docker-in-Docker fashion.
Can you this solution?


SN-62 sora substrate icon generator

It would be better not to have Sora specific icon generation here


[Bug]: Appsmith going down when reached high memory

Is there an existing issue for this?

[X] I have searched the existing issues

Description
When I'm using appsmith for a long time, the memory is increasing, and the appsmith application is taking too long to respond, sometime on my console browser show 504 gateway timeout. after i restarted the appsmith apps, it's going normal again. i didn’t see error anything on appsmith, it's just going slow and i just reboot the services it's back to normal
What i expect is appsmith is normal to access, not slow when reach some memory value

Steps To Reproduce

Appsmith is using on production
After a couple of hour, memory increasing
appsmith is going to slow, and sometimes give 504 timeout
restart appsmith
back normal

Public Sample App
No response
Environment
Production
Severity
Critical (Broken Production apps)
Issue video log
No response
Version
Self Hosted - v1.16

Need more observability to understand the repro steps by having logs from the customer's instance. Currently blocked by this github issue.
cc : @pratapaprasanna

@rajatagrawal can we get a date by when we can debug this?

@ariretiarno Apologies for the slow response. Would it be possible to get on a call to help triage this issue ?

@ariretiarno if it is still happening, can you please take a thread dump when the issue occurs and send it across?
You can use jstack  to take a thread dump. I would recommend to take a heap dump using jmap as well, but it can't be shared across in public, as it will contain sensitive data.

Closing this issue as we haven't heard back from you in a while


Problems about flashing speed (IDFGH-7099)

My idf version is ESP-IDF v5.0-dev-2332-ge498209ed2
I use esp-idf in WSL,and there's a problem whenflashing.
After I build my project through idf.py build,and try to flash with idf.py -p /dev/ttyS10 -b 921600 flash, it fails and output this :
================Start==================
esptool.py esp32 -p /dev/ttyS10 -b 921600 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 2MB 0x1000 bootloader/bootloader.bin 0x10000 hello-world.bin 0x8000 partition_table/partition-table.bin
esptool.py v3.3-dev
Serial port /dev/ttyS10
Connecting......................................
A fatal error occurred: Failed to connect to ESP32: Wrong boot mode detected (0x13)! The chip needs to be in download mode.
For troubleshooting steps visit: https://docs.espressif.com/projects/esptool/en/latest/troubleshooting.html
CMake Error at run_serial_tool.cmake:55 (message):
/home/nostalgistl00/.espressif/python_env/idf5.0_py3.8_env/bin/python;;/mnt/e/esp-idf-Linux/esp-idf/components/esptool_py/esptool/esptool.py;--chip;esp32
failed
make[3]: *** [CMakeFiles/flash.dir/build.make:57: CMakeFiles/flash] Error 1
make[2]: *** [CMakeFiles/Makefile2:1951: CMakeFiles/flash.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:1958: CMakeFiles/flash.dir/rule] Error 2
make: *** [Makefile:203: flash] Error 2
make failed with exit code 2
================End==================
i think maybe the baudrate is too high,and i change baudrate as default,it still failed,and output  this :
================Start==================
hello-world.bin binary size 0x29270 bytes. Smallest app partition is 0x100000 bytes. 0xd6d90 bytes (84%) free.
[100%] Built target app_check_size
[100%] Built target app
esptool.py esp32 -p /dev/ttyS10 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 2MB 0x1000 bootloader/bootloader.bin 0x10000 hello-world.bin 0x8000 partition_table/partition-table.bin
esptool.py v3.3-dev
Serial port /dev/ttyS10
Connecting.....
Chip is ESP32-D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 08:3a:f2:51:01:c8
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Traceback (most recent call last):
File "/mnt/e/esp-idf-Linux/esp-idf/components/esptool_py/esptool/esptool.py", line 5347, in
_main()
File "/mnt/e/esp-idf-Linux/esp-idf/components/esptool_py/esptool/esptool.py", line 5340, in _main
main()
File "/mnt/e/esp-idf-Linux/esp-idf/components/esptool_py/esptool/esptool.py", line 4762, in main
esp.flash_set_parameters(flash_size_bytes(args.flash_size))
File "/mnt/e/esp-idf-Linux/esp-idf/components/esptool_py/esptool/esptool.py", line 1048, in flash_set_parameters
self.check_command("set SPI params", ESP32ROM.ESP_SPI_SET_PARAMS,
File "/mnt/e/esp-idf-Linux/esp-idf/components/esptool_py/esptool/esptool.py", line 495, in check_command
val, data = self.command(op, data, chk, timeout=timeout)
File "/mnt/e/esp-idf-Linux/esp-idf/components/esptool_py/esptool/esptool.py", line 468, in command
p = self.read()
File "/mnt/e/esp-idf-Linux/esp-idf/components/esptool_py/esptool/esptool.py", line 413, in read
return next(self._slip_reader)
StopIteration
CMake Error at run_serial_tool.cmake:55 (message):
/home/nostalgistl00/.espressif/python_env/idf5.0_py3.8_env/bin/python;;/mnt/e/esp-idf-Linux/esp-idf/components/esptool_py/esptool/esptool.py;--chip;esp32
failed
make[3]: *** [CMakeFiles/flash.dir/build.make:57: CMakeFiles/flash] Error 1
make[2]: *** [CMakeFiles/Makefile2:1951: CMakeFiles/flash.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:1958: CMakeFiles/flash.dir/rule] Error 2
make: *** [Makefile:203: flash] Error 2
make failed with exit code 2
================End==================
i think it;s still too high ,then i try 115200 with idf.py -p /dev/ttyS10 -b 115200 flashm,and it works,but it;s too slow for me.Then I tried find solution in programming guide in build system,i try to use esptool.py,
and here it is :
esptool.py -p /dev/ttyS10 -b 921600 --before default_reset --after hard_reset --chip esp32  write_flash --flash_mode dio --flash_size detect --flash_freq 40m 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin 0x10000 build/hello-world.bin
and it works with high speed,but i don;t understand why i can not use idf.py to flash the chip with high baudrate but have to use this long command,is there any solution to this?
thanks! :)

Hi @NostalgistL00,
The first error message:
A fatal error occurred: Failed to connect to ESP32: Wrong boot mode detected (0x13)! The chip needs to be in download mode.

means that the chip could not be reseted into bootloader mode. (https://docs.espressif.com/projects/esptool/en/latest/esp32/esptool/entering-bootloader.html). The issue could be caused if possibly by the reset sequence is not propageted properly between Windows and WSL. One of the solutions could be to hold down the Boot button (GPIO0) during flashing.
The second error seems to me a duplicate of https://github.com/espressif/esp-idf/issues/4008.
I see that the flash size is different in the working command. You can try to set the proper value in idf.py menuconfig of your project.
Beside these observations, I don't think there is any difference between invoking idf.py flash and directly esptool.py.


I001: Auto-fix does not respect global conf line-length

The I001 auto-fix does not respect the global line-length ruff config.
Example:
from acceptance.app.novum.pageelements.internalwebviewnavigationtopbar import AndroidInternalWebviewNavigationTopBar
from acceptance.app.novum.pageobjects.base.profile.security_and_privacy.change_security_question.\
    change_security_question import BaseChangeSecurityQuestion

After running ruff with auto-fix:
from acceptance.app.novum.pageelements.internalwebviewnavigationtopbar import AndroidInternalWebviewNavigationTopBar
from acceptance.app.novum.pageobjects.base.profile.security_and_privacy.change_security_question.change_security_question import (
    BaseChangeSecurityQuestion,
)

E501 Line too long (130 > 120 characters)
Ruff version:  0.0.270
Ruff config:
select = [
    #"A", # Flake8 builtins
    #"B", # Flake8 bugbear
    #"D", # Pydocstyle
    "E", # Pycodestyle errors
    "F", # Pyflakes
    "G", # Flake8 logging-format
    "I", # Isort
    "N", # Pep8-naming
    #"Q", # Flake8-quotes
    #"S", # Flake8 bandit
    "W", # Pycodestyle warnings
    "ANN", # Flake8 annotations
    "ASYNC", # Flake8 async
    "ARG", # Flake8 unused-arguments
    #"BLE", # Flake8 blind-except
    #"COM", # Flake8 commas
    #"C4", # Fake8 comprehensions
    "C90", # McCabe
    #"DTZ", # Flake8 datetime
    #"EM", # Flake8 errmsg
    #"EXE", # Flake8 executable
    #"ERA", # Eradicate
    "FA", # Flake8 future-annotations
    #"FBT", # Flake8 boolean-trap
    "FLY", # Flake 8 misc lints
    "INP", # Flake8 implicit-namespace
    "INT", # Flake8 gettext
    #"ISC", # Flake8 implicit-str-concat
    "ICN", # Flake8 import-conventions
    "NPY", # Numpy
    "PYI", # Flake8 pyi
    "PIE", # Flake8 pie
    #"PT", # Flake8 pytest
    #"PTH", # Flake8 path-lib
    "PL", # Pylint
    #"RET", # Flake8 return
    #"RSE", # Flake8 raise
    #"RUF", # Ruff
    #"SLF", # Flake8 self
    #"SIM", # Flake8 simmplify
    "TCH", # Flake8 type-checking
    #"TD", # Flake8 todos
    "TID", # Flake8 tidy-imports
    #"TRY", # Tryceratops
    "T10", # Flake8 debugger
    "T20", # Flake8 print
    "TCH", # Flake8 type-checking
    #"UP", # Flake8 pyupgrade
    "YTT" # Flake8 2020
]
ignore = [
    "ARG001", # unused-function-argument
    "ARG002", # unused-method-argument
    "ARG005", # unused-lambda-argument
    "FLY002", # static-join-to-f-string
    "G001", # logging-format-interpolation
    "PLC1901", # compare-to-empty-string
    "PLR5501", # collapsible-else-if
    "PLR2004", # magic-value-comparison
    "PLW2901", # redefined-loop-name
]
fixable = ["F", "I"]
unfixable = []
exclude = [
    "acceptance/resources/users_data",
    "acceptance/resources/web_driver",
    "acceptance/resources/web_driver_agent",
    "build_tools",
    "docs",
    ".idea",
    ".vscode",
    ".venv",
    "venv",
    "_output",
    ".ruff_cache"
]
line-length = 120
target-version = "py38"
format = "github"

[pylint]
max-branches = 15
max-args = 8

[mccabe]
max-complexity = 15

[flake8-unused-arguments]
ignore-variadic-names = true

[flake8-annotations]
ignore-fully-untyped = true

Hmm, I believe it does respect it -- what output are you expecting here? from acceptance.app.novum.pageobjects.base.profile.security_and_privacy.change_security_question.change_security_question alone exceeds the line length, so there's no way to break up that import to adhere to your setting.

I would also suggest to use relative imports at that level of nested packages. This could simplify the import block and IMHO, more readable as well. Another solution could be to expose the symbols using a __init__.py file in a package so that your top level imports are clean (this is my best efforts, I'm not sure how your project is structured):
from acceptance.app.novum.pageobjects.base import BaseChangeSecurityQuestion


Switch to Bitwarden

https://www.reddit.com/r/Bitwarden/comments/c6s9yw/moving_from_lastpass_to_bitwarden_why_should_i/
https://bitwarden.com/help/article/import-from-lastpass/

Configure Bitwarden CLI with my information by default so that I don't have to set it up. Look into how this can be done with what the Bitwarden CLI generates!

Configure Bitwarden CLI with my information by default so that I don't have to set it up. Look into how this can be done with what the Bitwarden CLI generates!

Either way, I should port all of my LastPass information to Bitwarden so that I can continue to move more of my information to local hosting.

Either way, I should port all of my LastPass information to Bitwarden so that I can continue to move more of my information to local hosting.


Cleanup: Brackets with double quotes to include structures ( like wirem…

…od )
Converted: Global constraints and serializable to real globals

whats the reasoning here?

whats the reasoning here?

Pretty simple actually.
In wiremod there is a convention for all include directives to use brackets and double quotes. This will not harm the mod in any way. For relocating the constraints and serializable it will be easier for future support. When I searched for constraints I literally got a bunch of results and the variable was used in only one place. Either way all control compare values are stored in gtSetupTable, so why not the other two ;)


Re-fork repositories to avoid confusion

@JuliaLopinto To avoid confusion, could you delete your project JuliaLopinto/EasyClip-Extension and re-fork the one hosted in the DCBIA-OrthoLab organization. See https://github.com/DCBIA-OrthoLab/EasyClip-Extension
The fork graph currently shows this:

@fbudin69500 : Could you do the same ?
Thanks :pray:

Ping

Ping

it's done for me :)

@fbudin69500 Could you take care of this one as well ?

Ping @fbudin69500

I have contacted github support in the past to disconnect the upstream a forked repo; perhaps that is an option here.

Closing. Repository has been re-forked.


Why is root-hints not used in unbound?

Why isn't root-hints: "/etc/unbound/root.hints" used in unbound.conf?

By default a list of builtin root hints is used by Unbound. Providing your own file is supported for Unbound in the event you
need to provide a more up-to-date list. If the package stays updated, that shouldn't be necessary.
Plus, Unbound is basically a local cache in this setup and Stubby is doing most of the work. Moreover, the default setup is designed to forward queries to an external resolving DNS server over TLS rather than act as a recursive DNS server, further negating the need for root-hints.
https://wiki.archlinux.org/index.php/unbound#Root_hints
https://nlnetlabs.nl/documentation/unbound/unbound-anchor/

Gotcha!

No worries. It is confusing. You're not the first to ask.
On Sun, Nov 22, 2020, 7:48 AM txtsd<EMAIL_ADDRESS>wrote:

Gotcha!
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/MatthewVance/stubby-docker/issues/15#issuecomment-731751327,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAUMHOW3SES5ITBGCUAQLYLSREJD3ANCNFSM4T6MSAFQ
.


Change lightState to use an internal state object

Otherwise calling "on" would not work if you already called either "on" or "off" due to the property being named like the function.
Same goes for stuff like "rgb"

Thanks for pointing out the flaws in the light state object.
I appreciate the pull request, but based on how bad my implementation is, I am rewriting this module for the 1.0.0 release of the library which I am currently preparing for release soon.

I have now implemented a completely new LightState object in the dev-1.0.0 branch that resolves the issues you have pointed out, check it out here 396739d6320ab241726bb394e678de74bbbdfae8.
Thanks


SmartNotificationCenter wrong displayName

Hello,
The quotes are missing for the display name of the SmartNotificationCenter :
https://github.com/get-focus/focus-notifications/blob/develop/src/index.js#L57
The plugin React for Chrome crashes here.

Corrected in 0.4.1


Upgrade to GHC 9.4.2

https://discourse.haskell.org/t/ghc-9-4-2-is-now-available/4955

Unsurprisingly GHC 9.4.2 isn't on GHCup yet. I'll have to wait for a PR like this one: https://github.com/haskell/ghcup-metadata/pull/26

Blocked by https://github.com/haskell/ghcup-metadata/pull/31.


Cellebrite Tar

Will this work with a Cellebrite tar?  We opened the tar and there wasn't the iOS structure spoken about in the documentation.

Yes.
You will have to extract the tar (or dar) file's content onto a folder on the disk, then use that folder as input_path. Since ios folder structures can result in very long paths for some files/folders, it is recommended to extract very close to root as possible (to reduce path length as much as possible). I usually use C:\fs or something like that.

The think is, when we extracted the tar there were no folders just a large amount of files.

ios_apt only works with a full file system extraction. It won't work with itunes/finder backups (or other forms of extraction). If you can post a screenshot, I can try to tell what you might have. Email me if you don't want it here publicly.

Closing for lack of response


Uses IFluentEmail interface instead of Email class in ISender interface

Actually, we can't do :
var email = Email.From(...).Subject(...).Body(...).To(...);
new SmtpSender().SendAsync(email);

because the type of the email variable is IFluentEmail while Email class is expected in ISender interface.
So, I replaced Email by IFluentEmail in ISender interface.

Yep, makes sense.


fix: copy Gazelle config to scope directives properly

A directive like # gazelle:swift_generate_proto_libraries false is intended to apply to the current package and all subpackages. Currently, though, it's being applied to all further packages that Gazelle parses. This is because we have a shared reference to a single SwiftConfig object that is being updated in place, so changes accidentally propagate further than they should.
This PR instead makes a clone of the SwiftConfig for the current package, based on the way it's done in Gazelle itself.

@cgrindel I added a test in an examples dir. I verified locally that it fails on main and that it passes with this change.
main:
❯ buildozer delete //protos/echoservice:echoservice_swift_proto
fixed /home/niko/rules_swift_package_manager/examples/grpc_example/protos/echoservice/BUILD.bazel

❯ bazel run //:update_build_files && git diff HEAD --quiet
WARNING: Option 'experimental_remote_build_event_upload' is deprecated: Use --remote_build_event_upload instead
INFO: Invocation ID: 29137f14-403d-484f-9326-6d2e7facf215
WARNING: Option 'experimental_remote_build_event_upload' is deprecated: Use --remote_build_event_upload instead
INFO: Analyzed target //:update_build_files (1 packages loaded, 3 targets configured).
INFO: Found 1 target...
Target //:update_build_files up-to-date:
  bazel-bin/update_build_files-runner.bash
  bazel-bin/update_build_files
INFO: Elapsed time: 0.204s, Critical Path: 0.01s
INFO: 1 process: 1 internal.
INFO: Build completed successfully, 1 total action
INFO: Running command line: bazel-bin/update_build_files
gazelle: Unable to find dependency labels for GRPC, NIOCore, NIOPosix, SwiftProtobuf, protos_echoservice_echoservice_proto, protos_echoservice_messages_messages_proto
gazelle: Unable to find dependency labels for GRPC, NIOCore, NIOPosix, protos_echoservice_echoservice_proto, protos_echoservice_messages_messages_proto
gazelle: Unable to find dependency labels for GRPC, NIOCore, NIOPosix, protos_echoservice_echoservice_proto, protos_echoservice_messages_messages_proto

❯ echo $?
1

❯ git diff
diff --git examples/grpc_example/protos/echoservice/BUILD.bazel examples/grpc_example/protos/echoservice/BUILD.bazel
index 70e6e18..c5229ca 100644
--- examples/grpc_example/protos/echoservice/BUILD.bazel
+++ examples/grpc_example/protos/echoservice/BUILD.bazel
@@ -1,4 +1,4 @@
-load("@build_bazel_rules_swift//swift:swift.bzl", "swift_grpc_library", "swift_proto_library")
+load("@build_bazel_rules_swift//swift:swift.bzl", "swift_grpc_library")
 load("@rules_proto//proto:defs.bzl", "proto_library")

 proto_library(
@@ -8,12 +8,6 @@ proto_library(
     deps = ["//protos/echoservice/messages:messages_proto"],
 )

-swift_proto_library(
-    name = "echoservice_swift_proto",
-    visibility = ["//visibility:public"],
-    deps = [":echoservice_proto"],
-)
-
 swift_grpc_library(
     name = "echoservice_client_swift_grpc",
     srcs = [":echoservice_proto"],
...

INFO: Found 1 target...
Target //:update_build_files up-to-date:
  bazel-bin/update_build_files-runner.bash
  bazel-bin/update_build_files
INFO: Elapsed time: 0.190s, Critical Path: 0.05s
INFO: 3 processes: 2 disk cache hit, 1 internal.
INFO: Build completed successfully, 3 total actions
INFO: Running command line: bazel-bin/update_build_files
gazelle: Unable to find dependency labels for GRPC, NIOCore, NIOPosix, SwiftProtobuf
gazelle: Unable to find dependency labels for GRPC, NIOCore, NIOPosix
gazelle: Unable to find dependency labels for GRPC, NIOCore, NIOPosix

❯ git diff
diff --git examples/grpc_example/protos/echoservice/BUILD.bazel examples/grpc_example/protos/echoservice/BUILD.bazel
index 70e6e18..713d482 100644
--- examples/grpc_example/protos/echoservice/BUILD.bazel
+++ examples/grpc_example/protos/echoservice/BUILD.bazel
@@ -8,12 +8,6 @@ proto_library(
     deps = ["//protos/echoservice/messages:messages_proto"],
 )

-swift_proto_library(
-    name = "echoservice_swift_proto",
-    visibility = ["//visibility:public"],
-    deps = [":echoservice_proto"],
-)
-
 swift_grpc_library(
     name = "echoservice_client_swift_grpc",
     srcs = [":echoservice_proto"],
@@ -37,3 +31,9 @@ swift_grpc_library(
     visibility = ["//visibility:public"],
     deps = [":echoservice_swift_proto"],
 )
+
+swift_proto_library(
+    name = "echoservice_swift_proto",
+    visibility = ["//visibility:public"],
+    deps = [":echoservice_proto"],
+)

@cgrindel That seems reasonable to me!
@adzenith FYI if you're using the swift proto library generation I added to this repo, I recently merged a big PR to write a new swift_proto_library rule in rules_swift and deprecate the old swift_proto_library and swift_grpc_library rules (they're still present in the repo, just marked as deprecated).
https://github.com/bazelbuild/rules_swift/pull/1140
The new swift_proto_library rule functions much closer to go_proto_library and allows for customizable module names and  proto compilers (including SwiftProtobuf and grpc-swift from Swift Package Manager through this repo).
I have a PR into this repo to add support for the new rules:
https://github.com/cgrindel/rules_swift_package_manager/pull/834
It already covers all of the cases covered by the current gazelle plugin and then some.
I'm trying to get it working at Snapchat for our entire pb_schema repository with 6000+ protos and many obscure edge cases (multiple proto packages in the same directory, proto packages spanning multiple directories, multiple proto import prefixes etc.).
Once I have it working for our entire pb_schema repo, I'll re-open it here.
Feel free to test it out in a branch and let me know if you have any issues with the new rules or generated targets.

The new rule looks great. I'll see if I have time to try out the branch; otherwise we'll use it when it lands :)
As a bonus, it looks like this PR doesn't conflict with yours!

Awesome, yeah I don't mind rebasing it. I'll clean it up before I take it out of draft mode.
By the way, @cgrindel, is there any way we can avoid the MODULE.lock files for examples? They add thousands of lines to the diff which might scare off reviewers 😅

@adzenith Can you run bazel run //:tidy and push the changes? The tidy failure is probably due to the new Bazel packages needing to be added to the deleted list for the root workspace.

@cgrindel done!

The test was using git diff, which was a bad idea and also didn't work. It now runs Gazelle in --mode=diff, which sets the exit code if the BUILD files aren't up to date. Should pass CI now.

Thank you!


Add line_of_best_fit

Adds a line_of_best_fit utility function to asubFunctions.
Functionality is tested in IOC tests for the IOCs which use it (e.g. heliox).
For https://github.com/ISISComputingGroup/IBEX/issues/4549

Now being done in GSL repo instead - this PR no longer required.


alakarteio/todomvc

What do we do about https://github.com/alakarteio/todomvc

it is has been ! I delete this after breizhcamp.

Ok we should not remove it but rename it 'todomvc-sagas'
Ans create a new todomvc repo with Just a readme that point out others and explains why they are differents and why they exist.
We should rename 'k-todomvc' to 'todomvc-k-ramel' maybe

Or only one repo 'todomvc' with package declination ?
@todomvc/redux-saga
@todomvc/k-ramel
@todomvc/


GetCurrentProcess should return valid handle

Kernel32.GetCurrentProces returns SafeObjectHandle  which treates '-1' as invalid:
    public override bool IsInvalid => this.handle == INVALID_HANDLE_VALUE || this.handle == IntPtr.Zero;

GetCurrentProcess doesn't return a real handle, it returns pseudo handle with value of '-1' .
The fact 'Kernel32.GetCurrentProcess().IsInvalid == false' should be true.

Interesting case. Not sure what to do about it. -1 isn't a valid handle anywhere else, so we can't change SafeObjectHandle. And we can't change the handle type that GetCurrentProcess returns without it being a breaking change.

Maybe a possibility is to have GetCurrentProcess be an helper function that call DuplicateHandle after the real GetCurrentProcess to get the non-pseudo value.

In my project I have SafeObjectHandle which receives Boolean for treating -1 as invalid and it is true by default.
In SafeProcessHandle derived class I pass "false" value to treat -1 as valid.

This is my implementation of SafeObjectHandle <- SafeWaitHandle <- SafeProcessHandle
Other wait handles such as SafeThreadHandle just derive from SafeWaitHandle passing default values.
[SecurityCritical]
public abstract class SafeObjectHandle : SafeHandle
{
	private readonly bool minusOneIsInvalid;

	protected SafeObjectHandle() : this(true, IntPtr.Zero, true)
	{
	}

	protected SafeObjectHandle(bool minusOneIsInvalid, IntPtr existingHandle, bool ownsHandle)
		: base(IntPtr.Zero, ownsHandle)
	{
		this.minusOneIsInvalid = minusOneIsInvalid;

		SetHandle(existingHandle);
	}

	[SecurityCritical]
	protected override bool ReleaseHandle()
	{
		// Do not call CloseHandle on invalid handle value.
		if (handle != Kernel32.INVALID_HANDLE_VALUE)
		{
			return Kernel32.CloseHandle(handle);
		}
		else
		{
			return true;
		}
	}

	public override bool IsInvalid
	{
		[SecurityCritical]
		get
		{
			if (minusOneIsInvalid)
			{
				return handle == IntPtr.Zero || handle == Kernel32.INVALID_HANDLE_VALUE;
			}
			else
			{
				return handle == IntPtr.Zero;
			}
		}
	}
}

Next is SafeWaitHandle which takes care of -1:
[SecurityCritical]
public abstract class SafeWaitableHandle : SafeObjectHandle
{
	protected SafeWaitableHandle(): this(true, IntPtr.Zero, true)
	{
	}

	protected SafeWaitableHandle(bool minusOneIsInvalid, IntPtr existingHandle, bool ownsHandle)
		: base(minusOneIsInvalid, existingHandle, ownsHandle)
	{
	}
}

And finally SafeProcessHandle which just passes 'false' in first argument for minusOneIsInvalid:
[SecurityCritical]
public class SafeProcessHandle : SafeWaitableHandle
{
	public SafeProcessHandle() : this(IntPtr.Zero)
	{
	}

	public SafeProcessHandle(IntPtr existingHandle) : this(existingHandle, true)
	{
	}

	public SafeProcessHandle(IntPtr existingHandle, bool ownsHandle) : base(false, existingHandle, ownsHandle)
	{
	}
}

Sorry, I don't have time for PR but hope the idea is clear and you can implement it.

@AArnott I started making PR for this, and I think I miss the meaning of SafeObjectHandle in PInvoke library.
In my project I used SafeObjectHandle as a base class for other safe handles to reuse code,
Since, here it doesn't have this function, I suspect that this class is unnecessary and specific safe handles should be introduces, SafeFileHandle, SafeTokenHandle and so on.

It looks like fixing this will require a SafeObjectHandle-derived type that overrides IsInvalid so that it allows -1.

I would add that CreateFile also can return -1 in certain cases. The scenario I experienced was an improper serial port name ("\\.\COM3", ....) is correct I tried with (@"\\.\COM3", ....) and got the -1 error.

BTW DPI_AWARENESS_CONTEXT handles can also be valid with values -1, -2, -3 etc.

@vatsanm -2 is not a problem. The issue is solely with -1.


Text von Prof. Winter:
HITO contains data on concepts that can be used to describe application software products (e.g., application system types, functions, roles, outcome criteria, …). You can find these concepts on the diagram. For a given concept, its datasets describe instances of this concept. For some concepts, such as "roles", different terms are available. There are colloquial terms ("folks's terms") and terms from terminologies ("terminology items"), which are also related to each other. In HITO, for example, the colloquial term "Laboratory Manager" has a classifying relationship with the term "Laboratory technician occupation". The term "Laboratory technician occupation" can be related to other colloquial terms. The term "Laboratory technician occupation" is taken from the terminology "SNOMED CT User Group Catalogue"; this terminology is an instance of the term "terminologies".
Moreover, HITO contains further relationships between concepts, such as the relationship "evaluates" between the concepts "study" and "application software product". One instance of this relationship describes, for example, that the study entitled "The Influence that Electronic Prescribing ..." evalutes the application software product "Medicator".
You may now have quite complex questions like the following:
What studies report on

the usage of application software product ASP?

application software products …

suitable for supporting work in organizational unit U?

suitable for supporting work of role R?

suitable for supporting information processing function IPF?

having feature F?

…

outcome criteria of outcome criteria catalog OCC?

What features are used when information processing function IPF shall be supported?

What features do application software products use for supporting information processing function IPF

For what application software products do we have information regarding their fulfilment of the outcome criterion OC

What application software products are suitable for implementing an application system of type AST?

…

Such questions involve complex relationships between two concepts. Let's assume you need application software for a specific professional group in a hospital, i.e., a specific role R. Then you could ask the question, "what studies report on application software products suitable for supporting work of various roles?". This is about the relationship between the concepts "studies" and "roles". To find instances for this relationship first left-click to the concept "studies" in the diagram. If you are interested in colloquial terms for roles, you then right-click to the "folks' term" concept related to "roles"; if you are interested in terms from terminologies right-click to "terminologie items" nearby.
In this case, HITO shows you two connection paths between the clicked concepts in different colors. Only paths are shown, for which there is data on instances of these paths in HITO. In our example, one of these paths includes the concept "application software products", the other does not. If you click e.g., the path via "application software products", a table with the instances of this path is displayed. In this case, the table contains, for example, the information that in the study "The Influence that Electronic Prescribing ..." the application software product "Medicator" was evaluated and that this product can be used by people with the role colloquially referred to as "Doctor". You can also see that "Doctor" was assigned to "Physician occupation" , an item of a terminology. If several rows are displayed in the results table, you can set filters in the table header to find the data you need.
Just give it a try for some of the questions mentioned above. We hope you find HITO helpful.

Auf Basis von Prof. Winters Vorschlag habe ich eine help.html entworfen.
@Yagnap: Bitte 1-2 Screenshots hinzufügen und prüfen, ob es eine Abweichung zwischen der Hilfe und dem Prototypen gibt. Wenn ja, prüfen ob wir es einfach implementieren können, ansonsten erstmal in der Hilfe anpassen.

🠈 go back to search: The unicode symbol isn't shown because it's not included in the font that is selected on my Linux/Gnome/Firefox system, which is NimbusRoman-Regular.

The edges label in the table headers are now shown in passive form, we need a new screenshot there.

Wait with new screenshot until new rework of table.


[WIP] fix/issue-276

Add "proprietary" license.
Fetch Apache 2.0 and EPL 2.0 licenses from official websites on build time.
Change copybara configuration file generation logic to be more robust but less efficient.

[x] Ensure that you followed http://eclipse.github.io/winery/dev/ToolChain#github---prepare-pull-request.
[x] Branch name checked. That means, the branch name starts with thesis/, fix/, ...
[x] Ensure that the commit message is a good commit message
[ ] Ensure to use auto format in all files
[x] Ensure that you appear in NOTICE at Copyright Holders
[ ] Tests created for changes
[ ] Documentation updated (if needed)
[ ] Screenshots added (for UI changes)

Follow up at:
https://github.com/eclipse/winery/pull/351


[BUG] Charsets with one or two characters immediately cause a crash

I propose that instead it just shows a fatal error instead of

are you using the latest code?

oh nope whoops
On Fri, May 3, 2024 at 4:35 PM Ishan Goel @.***> wrote:

image.png (view on web)
https://github.com/quackduck/aces/assets/38882631/5ed2fefa-d1f9-43dc-8eeb-58487b908cd3
are you using the latest code?
—
Reply to this email directly, view it on GitHub
https://github.com/quackduck/aces/issues/5#issuecomment-2093793362, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ATOOUFUO66T3FRXYIXPTBZDZAP7IPAVCNFSM6AAAAABHGFTXCSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAOJTG44TGMZWGI
.
You are receiving this because you authored the thread.Message ID:
@.***>


Use activationCommands instead of activationEvents

if this is merged, how come I still get this warning in my Atom editor? I have updated all my plugins. @jakesankey, Is there a missing 'release' step that has to be done?

Sorry @jesperronn, I hadn't had a chance to publish the latest build.. I just published 2.6.0. Let me know if your issue is resolved.


[BUG] Encoders parameter 'quality' not functioning

Describe the bug
The 'quality' parameter in the Encoders, as described in the Picamera2 Manual, does not appear to be functioning.
Reference: Picamera2 Manual (p.41-42)
To Reproduce
I recorded videos with the following three quality conditions, but there did not seem to be any differences in quality between them:
import time
from picamera2.encoders import H264Encoder, Quality
from picamera2 import Picamera2

picam2 = Picamera2()
video_config = picam2.create_video_configuration()
picam2.configure(video_config)
encoder = H264Encoder()

picam2.start_recording(encoder, 'low.h264', quality=Quality.VERY_LOW)
print(encoder.bitrate)
time.sleep(5)
picam2.stop_recording()

picam2.start_recording(encoder, 'medium.h264', quality=Quality.MEDIUM)
print(encoder.bitrate)
time.sleep(5)
picam2.stop_recording()

picam2.start_recording(encoder, 'high.h264', quality=Quality.VERY_HIGH)
print(encoder.bitrate)
time.sleep(5)
picam2.stop_recording()

Expected behaviour
The recorded videos should have noticeable differences in quality based on the specified 'quality' parameter.
Console Output, Screenshots
N/A
Hardware(Environment information):

Raspberry Pi: Raspberry Pi 3 model B
Camera: Freenove FNK0056
Raspberry Pi OS: Debian GNU/Linux 11 (bullseye)
Python: 3.9.2
picamera2: 0.3.9

Additional context
The issue seems to be caused by the fact that the 'quality' argument is passed to the following function, but no processing is done within the function: Relevant part in encoder.py

Hi, thanks for reporting that. Yes, this does seem to be broken. I'll fix it for the next release. In the meantime I think you would probably need to pass the bitrate explicitly as a workaround.


Invalid escape "\g" on raw syntaxes

Description
The sublime syntax https://github.com/jonschlinkert/sublime-markdown-extended/blob/master/Syntaxes/Markdown Extended.sublime-syntax is not parsed by typst . The error is "invalid escape "\g""
Reproduction URL
https://typst.app/project/w-2sqMyNWpgYl9Yeppy7pr
Operating system
Web app
Typst version

[X] I am using the latest version of Typst

Duplicate of https://github.com/typst/typst/issues/1952


Change all references to titles to title case

I think it would be good to make all references to titles as title case; for example, if the title of a .md file is "My trip to the beach", it would be displayed just like that as opposed to the title case format of "My Trip to the Beach".
References to the title should include anything in the list.html layout as well as anything on the sidebar such as recent posts and featured. It would also apply to the buttons in the post.html that let you navigate forwards and backwards between posts since it displays the title name.
If you want, I could do a PR and edit the html directly to accommodate this or I could arrange it such that the proposed title case format is dependent on a parameter in the config files so the choice is left to the user. Which would you prefer and is this something you would prefer to do or would you accept this PR?
Thanks!

Sounds good. PR are welcome. I prefer to provide a parameter, disabled by default.
But I have no idea how to name the parameter. I'm looking forward to your PR.

I will just name it titleCase. I'll put it under config.toml and will disable it by default as you requested.

I will just name it titleCase. I'll put it under config.toml and will disable it by default as you requested.

Literally, does titleCase have multiple values?

I will just name it titleCase. I'll put it under config.toml and will disable it by default as you requested.

Literally, does titleCase have multiple values? Such as lowercase and uppercase?

It has multiple values. "Set titleCaseStyle to specify the title style used by the title template function and the automatic section titles in Hugo. It defaults to AP Stylebook for title casing, but you can also set it to Chicago or Go (every word starts with a capital letter)."
Full uppercase or full lowercase is something that can be done with CSS, I don't think that applies to title case options in Hugo. Does that make sense?

I'll work on the PR now and have it submitted today.

I didn't know the titleCaseStyle before,  thanks for letting me know.
I'm looking forward to your submission.

It's almost done; however, I am having a tough time getting it to work properly with bread crumb trails as well as search lists. It seems to work fine for every other list/reference to a title. Do you want me to submit it anyways?

Yep. Thanks for your work, please make a PR, I'll take care of the rest.

Yep. Thanks for your work, please make a PR, I'll take care of the rest.

Will do in a bit. Check out the breadcrumbs (I modified breadcrumb.html) and the search results (did not modify search.html

and the search results (did not modify search.html

Kind remind: https://github.com/razonyang/hugo-theme-bootstrap/blob/32bcbee9bc916c9354c72adf09e82923668cfebc/layouts/index.json#L4
Modify this line may help.

Closing due to #136


fix(textlint): don't use error.code when catch error

error.code is a string, not a number.
https://nodejs.org/api/errors.html#errors_error_code

@buzztaiki Thanks for Pull Request!
This changes will be included in next (major) release. #304
We will release next release at tomorrow.
You can try that beta release.
npm install<EMAIL_ADDRESS>

Thanks!


Avoid false positives on egl extension matching

Due to the strstr prefix match EGL_EXT_foo would be incorrectly matched
if EGL_EXT_foobar would be available but not foo.
This doesn't matter for the currently checked extensions but will matter
for EGL_EXT_image_dma_buf_import_modifiers vs
EGL_EXT_image_dma_buf_import
Code borrowed from weston

Missed that one. Updated.

On Wed, Feb 28, 2018 at 10:11:45AM -0800, emersion wrote:

emersion commented on this pull request.

@@ -83,6 +83,25 @@ static bool egl_get_config(EGLDisplay disp, EGLint *attribs, EGLConfig *out,
return false;
}

+static bool
+check_egl_ext(const char *egl_exts, const char *ext)
+{

size_t extlen = strlen(ext);
const char *end = egl_exts + strlen(egl_exts);

while (egl_exts < end) {

if (*egl_exts == ' ') {

	egl_exts++;

	continue;

}

size_t n = strcspn(egl_exts, " ");

if (n == extlen && strncmp(ext, egl_exts, n) == 0)

Style: no conditions without brackets

I'm having a hard time adjusting to this coding style, fixed now.

On Wed, Feb 28, 2018 at 06:48:59PM +0000, emersion wrote:

emersion commented on this pull request.

@@ -83,6 +83,25 @@ static bool egl_get_config(EGLDisplay disp, EGLint *attribs, EGLConfig *out,
return false;
}

+static bool
+check_egl_ext(const char *egl_exts, const char *ext) {
Style: static bool on the same line! :P

Sorry about that. It's just so different from my habit, updated.

Feel free to join our IRC channel if you want to discuss about the project. Thanks!


"Specified method is not supported" in base-class specification

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest released version
[X] Search the existing issues.
[X] Refer to the FAQ.
[X] Refer to Differences between Windows PowerShell 5.1 and PowerShell.

Steps to reproduce
Background, StackOverflow issue: Custom class comparer error: Specified method is not supported
I have been hesitating whether I should report this bug as it clearly might be gathered under the general issue "classes defined in the same script or module file cannot reference themselves" covered in various PowerShell Class Issues: #6652.
Yet I would like to report it as it differences slight, as @mklement0 states (anyways, feel free to close it as a duplicate nevertheless):

It is curious that your specific code can at least be parsed in Windows PowerShell (whereas in PowerShell (Core) 7 it can only be parsed if the class defines no properties)

class MyClass {}

class MyComparer : Collections.Generic.IComparer[MyClass] {
    [String]$PrimaryKey # Should always become first
    [int] Compare ([MyClass]$Value1, [MyClass]$Value2) { return 0 }
}

In other words, apart, from the known condition/workaround "to use [object] in lieu of MyClass, i.e., to implement System.Collections.Generic.IComparer[object] and to test the specific type identities at runtime.", this issue doesn't show an error:

in Windows PowerShell 7
or when the properties are removed from the concerned comparer class

Meaning, the later condition might be exploited for a different workaround, meaning deriving the comparer from an additional ComparerProperties class that contains the concerned properties:
lass MyClass {
    hidden $Value
    MyClass($Value) { $this.Value = $Value }
    [String] ToString() { return $this.Value }
}

class ComparerProperties { # Prevent: Specified method is not supported
    [String[]]$PrimaryKey # Should always be first
}

class MyComparer : ComparerProperties, Collections.Generic.IComparer[MyClass] {
    [int] Compare ([MyClass]$MyClass1, [MyClass]$MyClass2) {
        if ($MyClass1.Value -in $this.PrimaryKey) { return -1 }
        elseif ($MyClass2.Value -in $this.PrimaryKey) { return 1 }
        elseif ($MyClass1.Value -eq $MyClass2.Value) { return 0 }
        elseif ($MyClass1.Value -lt $MyClass2.Value) { return -1 }
        else { return 1 }
    }
}

But as it appears that this know "classes defined in the same script or module file cannot reference themselves" issue has caused an unnoticed break change somewhere in the past, there will probably be no guaranty that the above "deriving the comparer from an additional ComparerProperties class" workaround will hold in the future if the parser e.g. gets smarter and does (partly) reference mutual classes.
Expected behavior
No error

Actual behavior
Error: 'Specified method is not supported'

Error details
No response
Environment data
Name                           Value
----                           -----
PSVersion                      7.4.2
PSEdition                      Core
GitCommitId                    7.4.2
OS                             Microsoft Windows 10.0.19045
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Visuals
No response

I've found one strange symptom, even without the property workaround via an intermediate class; here's a minimal example:
class MyClass { }

class MyComparer : Collections.Generic.IComparer[MyClass] {
  [int] Compare ([MyClass]$MyClass1, [MyClass]$MyClass2) { return 0 }
}

[Collections.Generic.List[MyClass]] $l = @([MyClass]::new(), [MyClass]::new())

# Executing this is what makes later non/dot-sourced re-invocation fail in
# the parsing stage.
$l.Sort([MyComparer]::new())

If you place this in a script file and execute it twice - once with and once without dot-sourcing - the second invocation fails in the parsing stage with:

Error during creation of type "MyComparer". Error message: Method 'Compare' in type 'MyComparer' from assembly 'PowerShell Class Assembly, Version=<IP_ADDRESS>, Culture=neutral,
| PublicKeyToken=null' does not have an implementation.

If you replace the [MyClass] type argument in the interface-implementation declaration with [object] the problem goes away.


Add a disclaimer that Windows 10 Home cannot be Azure AD Joined

[The doc states that All Windows 10 devices are supported but Windows 10 Home cannot be joined to the domain. Please update the document/table]

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

ID: 08003efa-d3f6-6b9a-c855-67e356ba2e4f
Version Independent ID: 60949414-f20a-951b-832a-7e2f3a1f342b
Content: What is an Azure AD joined device?
Content Source: articles/active-directory/devices/concept-azure-ad-join.md
Service: active-directory
Sub-service: devices
GitHub Login: @MicrosoftGuyJFlo
Microsoft Alias: joflore

@singhnishant40
Thanks for your feedback! We will investigate and update as appropriate.

Thanks! I think it's a good point to note that and made a pull request to update the document. https://github.com/MicrosoftDocs/azure-docs-pr/pull/125269


deploy: Fix the issue for the script of running longhorn engine command

https://github.com/longhorn/longhorn/issues/655

LGTM


Fix issue 3015 - slice renderer missing upper portions of dataset

Fix #3015.
The problem was that the slice was being placed outside of the box's extents.
At startup, a VDC will have Box classes that encompass the entire domain.  When increasing refinement, the domain will grow but the Box will not grow proportionally.
This fix adjusts the Box extents to be whatever fraction of the domain it encompassed before a refinement level change.    IE - If a Box spans between the 25% and 75% extents on an axis, it will still encompass those percentiles after refinement level changes.

As discussed. This is not the fix we want to implement for this problem.


Unable to read key vault secret with AzureKeyVault configbuilder without Get and List permission

I am using the AzureKeyVault configbuilder (Microsoft.Configuration.ConfigurationBuilders.Azure 1.0.0-preview) to retrieve an app setting from key vault.    The web.config contains:
 <add name="AzureKeyVault"
           vaultName="valid key vault name"
           clientId="valid client id"
           clientSecret="valid client secret"
           type="Microsoft.Configuration.ConfigurationBuilders.AzureKeyVaultConfigBuilder, Microsoft.Configuration.ConfigurationBuilders.Azure, Version=<IP_ADDRESS>, Culture=neutral" />

Unfortunately, I was unable to retrieve the secret when the principal (associated with the clientId) had only the Get Secret permission.
I had to give the prinicipal the List Secret permission.

@jimt4593 please open an issue over here
https://github.com/aspnet/MicrosoftConfigurationBuilders/issues


Modifying dplython functions to take DataFrame arguments

I have idea on a change and want to get feedback before making it.
In dplyr, you can call each function on the dataframe itself. So:
# with piping
df %>% mutate(foo=bar)

# same as
mutate(df, foo=bar)

Currently in dplython, the dplython functions all return other functions which are then applied to the DataFrame. If you want to replicate the above, you would have to do something that looks like this:
# with piping
df >> mutate(foo=X.bar)

# same as
mutate(foo=X.bar)(df)

My proposal is to modify the dplython functions to check the type of the first argument. If the first argument is a DataFrame (or inherits from DataFrame), then instead of returning a function, the function is applied to the dataframe. I think this will be more readable.
So:
# old
mutate(foo=X.bar)(df)

# new, also works
mutate(df, foo=X.bar)

Note that this will not break the old way of doing things. I wanted to see what people think before making the change!

I like the resulting syntax, but I'm curious why you think type checking is necessary. It seems like what you need to branch on is positional args vs keyword args.
I.e. maybe you could replace this:
def mutate(**kwargs):
    # Do the thing

With something more like this:
def mutate(*args, **kwargs):
    if args:
        df = args[0]
    # Do the thing

Thoughts?

That's a nice solution for mutate! Some of the other verbs, like select and dfilter, do use args and not kwargs, so you need to at least check that the input isn't a Later, which might be more efficient than checking if it's a DplyFrame derived class.

Ah, gotcha. In that case, I am in favor of your original suggestion. By the way, isinstance(thing, ThingClass) is the idiomatic way to do it. The Python hive-mind is generally averse to type(thing) == ThingClass for some reason.

This is completed in #14. I ended up using a decorator which does the type check, and then either returns the function or returns the result when the dataframe is piped into the function.

Great idea.
One thought: while taking the dataframe as the first argument is the convention in R, the ordinary convention for partial application would generally be to have the dataframe be the last argument. In other words, when a function that requires N arguments is passed fewer arguments, it returns a partially applied function that takes the remaining arguments.
See F# and Elm for nice examples of the connection between partial application, infix operators, and pipe operators.
This is probably academic, since in Python, non-keyword arguments can't follow keyword arguments, so this may be impossible to implement (or at least impossible to implement in a non-confusing way). But it may be worth keeping in mind.


Update "Member Card" credential name to "Member Credential"

Background
LSBC has a printable credential online that is called the "Member Card". LSBC wants to change the credential name of their VC from "Member Card" to "Member Credential".
Acceptance Criteria

Update the credential name to "Member Credential" in their OCA bundle

Reference:

https://github.com/bcgov/aries-oca-bundles

Verified in 1.0.15-1452


Nixio 1.5.0b4 breaks unittests

With the switch from nixio version 1.5.0b3 to 1.5.0b4 the unittests are breaking for the NixRawIO.
The error is
Traceback (most recent call last):
  File "/home/circleci/repo/neo/test/rawiotest/common_rawio_test.py", line 122, in test_read_all
    reader.parse_header()
  File "/home/circleci/repo/neo/rawio/baserawio.py", line 151, in parse_header
    self._parse_header()
  File "/home/circleci/repo/neo/rawio/nixrawio.py", line 59, in _parse_header
    ch_name = da.metadata['neo_name']
  File "/home/circleci/repo/venv/lib/python3.6/site-packages/nixio/section.py", line 458, in __getitem__
    values = list(prop.values)
  File "/home/circleci/repo/venv/lib/python3.6/site-packages/nixio/property.py", line 243, in values
    v = self._read_old_values()
  File "/home/circleci/repo/venv/lib/python3.6/site-packages/nixio/property.py", line 234, in _read_old_values
    v = v["value"]

@achilleas-k Do you have an idea what's going wrong here?

See https://github.com/NeuralEnsemble/python-neo/pull/767#issuecomment-554322399
I think that's the issue.

fixed by completing #767


Evaluation on DoubleTake

Thank you for your amazing work.
I have a question about the evaluation on HumanML3D of DoubleTake.
Can you explain how you can evaluate the "Motion" and "Transition" on HumanML3D? (Since their is no ground truth transition in this dataset)

Thanks for your question.
Regarding the evaluation of HumanML3D (same goes for BABEL) of DoubleTake, I'd like to split the answer to two.
First, basically its the same idea as evaluating motion as been explained in this paper and other like MDM and T2M (please let me know if any explanation needed regarding the metrics and the classifier training), we evaluate for each long motion by splitting each motion to two parts: Motion and Transition.
for the Motion Evaluation: for each long motion we take all the motion parts (e.g., the part of the long sequence that is not within the transition, and we evaluate for each motion using its own text.
each sequence is defined as follows:
=================== ====== ===============. ====== =================
||      Motion_0                 ||     T_0     ||           Motion_1.    ||.    T_1     ||            Motion_2.       ||
=================== =====.  =============== ====== =================
So we take just the motion parts and evaluate each separately measuring our matrices as been measured for each t2m in other papers (as we also have GT for those we can measure R-precision, FID, Diversity and  MultiModal-Dist ).
for the Transition part, as we don't have any transition ground truth, all we ask for is a natural from distribution motion.
thus we trained our classifier for motion sequences within the lengths we ask our transition to be.
then we measure FID and diversity just to be from the distribution of other motions (by taking only the transition parts as the generated motion).
please check: https://github.com/priorMDM/priorMDM/blob/main/eval/eval_humanml_double_take.py#L292
for any code reference.
let me know if something is still does not work out for you


Check return condition in the CreateExecutor

In the create_executor.py, we have
if (self.node.if_not_exists):
            # check catalog if we already have this table
            return

Due to this condition, we are not able to actually create tables for metadata. Temporarily disabling this for my tasks, but do we actually need this? if yes, how do we handle creation of new tables.

Fixed!


Ability to reopen a thread

Feature Addition

What is the feature you would like to see added?

Ability to unaccept an answer, and reopen a thread.

Why would this be beneficial to add?

In the event of a wrongly accepted answer

v0.1 removed this functionality.


Implement control mode

I would like to request an enhancement to have control mode added. This is triggered with ctrl + a in the current distribution of csshX
A few commonly used features from the original csshX are to be able to do the following:

Option to retile open windows. Done with ctrl + a, then r. Useful for when many connections are opened initially but then are close for whatever reason. Fills the screen as much as possible with the still active windows.
Option to enable/disable input to certain windows.Done with ctrl + a, then e. Select window with directional keys, then press t to trigger the enable/disable. If ctrl + a, then n is used, it enables all windows for input.
Option to add host to current group of active windows. Triggered with ctrl + a, then c, then typing in host name. Doesn't currently work in csshX with cluster names, only specific hostnames.

I will focus on 1. first, that should be rather easy to implement.
3. should also be feasible, although it will be more effort.
2. will be a challenge in my opinion; let me share some ideas regarding the implementation:
We will have to create a mapping from window handle to position on the screen.
To see which client window is currently selected we should highlight it somehow: for windows 11 and higher we can set a border color. But if we want to keep compatibility with windows 10 we should think of another way.

The highlight method is what csshX does so I think that makes plenty of sense.

Version 0.8.1 introduces control mode with the retile option.
create window enable/disable input is not yet available.

Version 0.11.0 adds the [c]reate window(s) functionality.


Add tags and part of to installations

The work spawned as I needed to add the part of, and tags got added too.

@gestchild sorry about this - but the PR changed mid-way, I have now added tags and the part of.
Fancy casting another set of eyes over it?


Produce automated release builds for desktop app (Windows, MacOS & Linux)

Have decided to stick with NW.js. It seems to be much easier to create dual purpose (browser-based and desktop) applications with node webkit.


Make BGC public

Description
Check if https://github.com/NOAA-EMC/ocean_BGC.git can become public.

Request sent; waiting for EMC management's response.
@jkbk2004 @guillaumevernieres

@guillaumevernieres I was informed that EMC has no requirements for releasing codes from the ocean BGC repository (https://github.com/NOAA-EMC/ocean_BGC) that SOCA currently points at. The repo is already a public repository (I just created a new GitHub account to log in and was able to clone that repository right away) so I don't see problems on the ocean BGC side with SOCA's release. I am not sure I even need to create a release tag since SOCA points to a specific commit hash when initializing the BGC submodule.

@guillaumevernieres I was informed that EMC has no requirements for releasing codes from the ocean BGC repository (https://github.com/NOAA-EMC/ocean_BGC) that SOCA currently points at. The repo is already a public repository (I just created a new GitHub account to log in and was able to clone that repository right away) so I don't see problems on the ocean BGC side with SOCA's release. I am not sure I even need to create a release tag since SOCA/MOM6 points to a specific commit hash when initializing the BGC submodule.

Thanks for checking @liuxiao37k . All we need is for that repository to be public, so all good!


Moved consts to enums

Moving all the constants to a proper enum 🙏

@tabacitu I'll move to you just so you can confirm the read.me;
https://github.com/Laravel-Backpack/activity-log/tree/activitylog-enum#linking-options---subject--causer
Other than this, I believe we can merge 👌

I like it! Run with it!


Dynamic function call callback possibility

Confirm this is a feature request for the Python library and not the underlying OpenAI API.

[X] This is a feature request for the Python library

Describe the feature or improvement you're requesting
I have a use case where the list of functions that could be used by is dynamic (I get the list programmatically from an external API).
I can populate the list of functions list easily with the API response JSON, no problem.
The problem is with the actual "callback" functions: I cannot provide them "dynamically". In my use case, if a function is identified and should be called, then I would need to call a generic API that I created that implements the function logic.
I can call this API with the name of the function and the parameters. So it's not a local Python function but something on an external server. But the list of these functions should be always dynamic, and be provided by an external API.
I could use something like the following:
def func_call_proxy(**data):
# function name
func_name = inspect.currentframe().f_code.co_name
# params and values
for key, value in data.items():
print("{} is {}".format(key,value))
But the actual function name here is of course always the same. Maybe I am not that adept with Python, I thought about using lambda functions, but there does not seem to be a way to realize my use case of dynamic functions. If this is the case, then it would be nice to be able to support it via e.g. providing a proxy function that receivers the name of the function first and arguments.
Thanks!
Additional context
No response

Ok, lambda functions were working after all. :) Here is a little snippet in case someone tries to do something like this:
function_map={
        "get_books_of_series": lambda **data : func_call_proxy('get_books_of_series', **data),
        "get_book_first_published": lambda **data : func_call_proxy('get_book_first_published', **data),
    }

and
def func_call_proxy(function_name, **data):
    if function_name == 'get_books_of_series':
        return get_books_of_series(**data)
    if function_name == 'get_book_first_published':
        return get_book_first_published(**data)

def get_books_of_series(book_series_name):
    return ['Book1', 'Book2']

def get_book_first_published(book_title):
    return "2023"


Using compound bodies with Bodies.fromVertices does not work it just shows a filled in shape.

Using compound bodies with Bodies.fromVertices does not work it just shows a filled in shape.

the set of vertices is:
{ x: 0.454546, y: 70 },
{ x: 0.454546, y: 0.181816 },
{ x: 42.5909, y: 0.181816 },
{ x: 42.5909, y: 7.68182 },
{ x: 8.90909, y: 7.68182 },
{ x: 8.90909, y: 31.2727 },
{ x: 40.4091, y: 31.2727 },
{ x: 40.4091, y: 38.7727 },
{ x: 8.90909, y: 38.7727 },
{ x: 8.90909, y: 62.5 },
{ x: 43.1364, y: 62.5 },
{ x: 43.1364, y: 70 }
But I have tested lots of different vertices sets
code (ignore normalLetterBody and bubbleBody):
```
const root = await loadSvg(images[imageIndex]);
const vertexBubbleSets = select(root, "path").map((path) => {
return Vertices.scale(Svg.pathToVertices(path, 5), 1.25, 1.25)
});
const vertexSets = select(root, "path").map((path) => {
return Svg.pathToVertices(path, 5);
});
console.log(vertexSets);
const normalLetterBody = Bodies.fromVertices(
xLocation,
120,
vertexSets, // coordinates
{
render: {
fillStyle: "red",
strokeStyle: "blue",
lineWidth: 1
},
restitution: parseFloat(restitution),
density: parseFloat(density),
friction: parseFloat(friction),
},
true,
);
const bubbleBody = Bodies.fromVertices(
xLocation,
120,
vertexBubbleSets, // coordinates
{
render: {
fillStyle: "transparent",
strokeStyle: "red",
lineWidth: 1,
},
restitution: parseFloat(restitution),
density: parseFloat(density),
friction: parseFloat(friction),
},
false,
)
const compoundBody = Body.create({
parts: [Bodies.fromVertices(
xLocation,
120,
vertexSets, // coordinates
{
render: {
fillStyle: "red",
strokeStyle: "blue",
lineWidth: 1
},
restitution: parseFloat(restitution),
density: parseFloat(density),
friction: parseFloat(friction),
},
true,
)],
});
Composite.add(
physicsRunner.engine.world,
compoundBody
);

I think the issue comes from Render.bodies where there needs to be recursion for rendering the body parts. As a body part can have parts


Removing friends array, bit level hacking

It really is a waste of memory to have an array of 129 bools (-- The max player IDX should be 32 anyway). You can just store all of your friends as bits. I also removed the IDX checks since by default it's using a player and their IDX should never be outside 1-32.

Thanks,while I imagine it's not a huge difference this seems cool anyway

Any level of optimization is a good one.


Migration formatting, model template adjustment

Adjusted migration class, file name and table name to match the
templates accordingly, adjusted formatting in the model - issue #32

Please fix the tests :)

Already ahead of you :)

Cool I'll do the version release tonight unless you see anything else.

Looks good to me.


Subscription Activation on devices without firmware-embedded keys

What is correct scenario for devices without firmware-embedded keys, but with Win 10 licence from MAK key? As far I was able to test it (Win10 1809), those devices will not automatically activate Win10 from subscription, but remain on MAK key/KMS. Is there a way to activate them manually? Thanks

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

ID: dd18b4c7-1c71-916d-cb5c-8322903e8ed5
Version Independent ID: 7b4c1663-1b1a-2952-7bf8-b0cb724013af
Content: Windows 10 Subscription Activation
Content Source: windows/deployment/windows-10-enterprise-subscription-activation.md
Product: w10
Technology: windows
GitHub Login: @greg-lindsay
Microsoft Alias: greglin

@officedocsbot assign @e0i

@asefl
The issues section of this repository is intended for documentation and content related issues.
Please open a support ticket via the link below so that that your question gets answered quickly.
Windows 10 Support
Thank you.

@officedocsbot close

Hi guys, I think it's really important to address this issue in this document. I think you just need to add some guidance under Scenario 3 in the last paragraph talking about Windows 7 wipe-and-load as this is the exact scenario that is causing many people lots of confusion. I believe what is required is a statement around which product key should be loaded with the Win 10 image that is used in the wipe-and-load scenario for devices without firmware-embedded keys.

Fair point. Could you suggest how that text should be formulated to fit the existing text on this page?

Being education I have KMS, abundance of MAK keys, O365 A3/A5 subscriptions. But existing Dell Latitude 7400 do come oddly with W10 Home key firmware embedded. All devices are on 1909 Education KMS activated. No matter what, I cannot get Subscription to show up in Activation (it is only KMS via your organization). I do login with A5 enabled user (could it be that my test user account exceeded the allowed activation count?)


Support Constantinople changes

It seems the relevant EIPs are:

EIP1014
EIP1052
EIP1087

Last discussion here: https://github.com/ethereum/pm/issues/50

This can definitely be postpones until Constantinople is activated.