fix timestamp overflow in quotes

Why
Fixes https://github.com/bluesky-social/social-app/issues/3717
For some reason we were setting maxWidth on the text for web and iOS vs using flexShrink. We actually use flex on Android, so I'm unsure why we were adding additional space here on iOS.
In any case, using maxWidth rather than flex/flexShrink causes problems with <Text>. Without flex, the text component won't be able to properly break text when it should (or, at least, not well). This was never really a problem because it would break before we reached the end of the container, but now that we have year old posts, its' getting bad.
Test Plan
So this bit us a tad bit before, so here's a video to display the differences on both iOS and on web with this change. The timestamp does move a bit on iOS, but it actually allows us to see more of the handle so I think that's a win here honestly.
Probably just need to think about if we like this or not. Maybe we want a bit more padding?
https://github.com/bluesky-social/social-app/assets/153161762/e918640d-e2f8-42dc-9f07-83b7c32511a9

Seems net-positive overall. If it looks good on Android I'm +1

This also fixes this problem

So it looks like this now

Pushed one more change here:

Android behaves the same as it always has
Web stays at the 80% we had before as well
iOS expands to 90% since we have room. We don't want to use 100% because it looks a little too close to the side of the screen, but 80% is giving a way a lot of free real estate too


Added --block option which calls 'sync -y' for SGE, '-Wblock=true' fo…

…r PBS and '--wait' for SLURM.

This is good to go, but it seems we've lost our Travis CI instance. I'm waiting on @pipitone to re-enable so we can make sure the tests pass.

hurrah! thanks


⚗ try the new individual Python tests workflow

Description
Experiments with running Python tests individually.
Checklist:

[x] The pull request only contains commits that are related to it.
[x] I have added appropriate tests and documentation.
[x] I have made sure that all CI jobs on GitHub pass.
[x] The pull request introduces no new warnings and follows the project's style guidelines.

Closing this, as we probably want to stay with the combined workflow for compiled projects.


Warnings in task A distracting from errors in task B

Context:
AndroidX is observing the stdout and stderr of our builds to contain a large amount of text ( examples: https://issuetracker.google.com/action/issues/154755010/attachments/29770165?download=false  and https://issuetracker.google.com/action/issues/154755010/attachments/29601086?download=false ). Consequently, when the build fails, it becomes more difficult to identify which messages are important.
In particular, if task A and task B both begin execution, and then task A fails, and then task B displays a large amount of output and succeeds, then it can be difficult to identify the problem with task A. This gets even more difficult if —stacktrace argument was given to Gradle, in which case the text “org.gradle.api.tasks.TaskExecutionException: Execution failed for task ‘A’ ” might not be within one page of the bottom of Gradle’s output.
Expected behavior:
A) One possible solution is that we (AndroidX) can look into each individual warning and file an appropriate bug for those warnings, but it would help us to keep the quantity of warnings down if we can have an automated way to obtain the stdout and stderr of a task, compare them to expected values, and fail the build if new warnings have been added since the previous execution of that task.
It looks like we could probably implement this by replacing each Task’s Logger ( https://android.googlesource.com/platform/frameworks/support/+/5db061f245c2a5b7324d3c77d88d056a50b2fd43/buildSrc/src/main/kotlin/androidx/build/logging/logging.kt#30 ) with a custom logger that records all output written, but that seems to be a deprecated API ( https://github.com/gradle/gradle/blob/bf64fff701e3d2033d41b891079969f1156d0cc4/subprojects/core/src/main/java/org/gradle/api/internal/TaskInternal.java#L101 ) that presumably may be removed at some point
B) A second possible solution could be that Gradle could organize output slightly differently to make it easier to recognize the cause of a build failure, possibly by repeating the output of failed tasks, or possibly highlighting them in some other way. We (AndroidX) could implement this ourselves via some parsing ( https://android-review.googlesource.com/c/platform/frameworks/support/+/1289032/4/development/build_log_simplifier.py ) although that would cause us to be less likely to notice noisiness in the future and less likely to report bugs to the owners of verbose tools, whose other clients could then be affected more significantly.
C) Also related is https://github.com/gradle/gradle/issues/1005 which seems to ask for it to be possible to put important summary information in one place (stdout/stderr) and detailed debugging information in another (a file).
Current Behavior:
Currently, Gradle will sometimes display output from failing tasks above that of some passing tasks, and also doesn’t seem to provide a non-deprecated way to track/forbid/suppress new messages added into task outputs in the future.

Also potentially relevant is that some tasks are known to generate large amounts of output (Dokka tends to generate a lot of output for us). If the total output grows large enough it could potentially be useful to automatically demote the log level of certain lines of output (for example, from certain tasks).
I'm not sure whether the solution to that more-specific problem would be the same as the solution to the general problem of getting a little bit of extra output from each of many tasks.

Also potentially relevant is that some tasks are known to generate large amounts of output (Dokka tends to generate a lot of output for us). If the total output grows large enough it could potentially be useful to automatically demote the log level of certain lines of output (for example, from certain tasks).
I'm not sure whether the solution to that more-specific problem would be the same as the solution to the general problem of getting a little bit of extra output from each of many tasks.

Also interesting is that the solution we’re currently going with is similar to option A from the first comment:
We run Gradle inside a wrapper script ( https://android.googlesource.com/platform/frameworks/support/+/be22adf3252e69a46990e4fd5173760a13116851/gradlew#244 ) that also saves Gradle’s output to a file ( https://android.googlesource.com/platform/frameworks/support/+/be22adf3252e69a46990e4fd5173760a13116851/development/build_log_processor.sh#84 )
We parse the saved Gradle output ( https://android.googlesource.com/platform/frameworks/support/+/be22adf3252e69a46990e4fd5173760a13116851/development/build_log_simplifier/build_log_simplifier.py )
We compare the discovered output to a bunch of regexes of expected output ( https://android.googlesource.com/platform/frameworks/support/+/be22adf3252e69a46990e4fd5173760a13116851/development/build_log_simplifier/messages.ignore )
If any unrecognized output appears, we fail the build ( https://android.googlesource.com/platform/frameworks/support/+/be22adf3252e69a46990e4fd5173760a13116851/development/build_log_simplifier/build_log_simplifier.py#564 )
We also use this list of regexes to identify new output and in most cases only show that to developers ( https://android.googlesource.com/platform/frameworks/support/+/be22adf3252e69a46990e4fd5173760a13116851/development/build_log_simplifier/build_log_simplifier.py#523 )

Also interesting is that the solution we’re currently going with is similar to option A from the first comment:
We run Gradle inside a wrapper script ( https://android.googlesource.com/platform/frameworks/support/+/be22adf3252e69a46990e4fd5173760a13116851/gradlew#244 ) that also saves Gradle’s output to a file ( https://android.googlesource.com/platform/frameworks/support/+/be22adf3252e69a46990e4fd5173760a13116851/development/build_log_processor.sh#84 )
We parse the saved Gradle output ( https://android.googlesource.com/platform/frameworks/support/+/be22adf3252e69a46990e4fd5173760a13116851/development/build_log_simplifier/build_log_simplifier.py )
We compare the discovered output to a bunch of regexes of expected output ( https://android.googlesource.com/platform/frameworks/support/+/be22adf3252e69a46990e4fd5173760a13116851/development/build_log_simplifier/messages.ignore )
If any unrecognized output appears, we fail the build ( https://android.googlesource.com/platform/frameworks/support/+/be22adf3252e69a46990e4fd5173760a13116851/development/build_log_simplifier/build_log_simplifier.py#564 )
We also use this list of regexes to identify new output and in most cases only show that to developers ( https://android.googlesource.com/platform/frameworks/support/+/be22adf3252e69a46990e4fd5173760a13116851/development/build_log_simplifier/build_log_simplifier.py#523 )


cli: add completion support for fish shell

Fixes: https://github.com/cilium/cilium/issues/11283

Add completion support for fish shell

test-me-please

test-me-please

test-me-please


compile err with assistant-sdk-cpp

While following following steps
cd ../
git clone https://github.com/googlesamples/assistant-sdk-cpp.git
cd assistant-sdk-cpp/
make run_assistant
I get Compile error
-I./grpc -I./src/  -c -o src/json_util.o src/json_util.cc
src/json_util.cc:21:36: fatal error: src/core/lib/json/json.h: No such file or directory
compilation terminated.
: recipe for target 'src/json_util.o' failed
make: *** [src/json_util.o] Error 1
Actually src/core/ does not exist
m@pe:~/GVA/assistant-sdk-cpp$
m@pe:~/GVA/assistant-sdk-cpp$ pwd
/home/m/GVA/assistant-sdk-cpp
m@pe:~/GVA/assistant-sdk-cpp$
m@pe:~/GVA/assistant-sdk-cpp$ ls
CONTRIBUTING.md googleapis.ar  Makefile  README.md  src
get_credentials.sh  LICENSE        proto     resources
m@pe:~/GVA/assistant-sdk-cpp$
m@pe:~/GVA/assistant-sdk-cpp$
m@pe:~/GVA/assistant-sdk-cpp$ ls src/
assistant_config.h   audio_output_alsa.cc           embedded_assistant.pb.o
audio_input_alsa.cc  audio_output_alsa.h            json_util.cc
audio_input_alsa.h   audio_output_alsa.o            json_util.h
audio_input_alsa.o   embedded_assistant.grpc.pb.cc  json_util_test.cc
audio_input_file.cc  embedded_assistant.grpc.pb.h   run_assistant.cc
audio_input_file.h   embedded_assistant.grpc.pb.o   scope_exit.h
audio_input_file.o   embedded_assistant.pb.cc       service_account_util.cc
audio_input.h        embedded_assistant.pb.h        service_account_util.h
m@pe:~/GVA/assistant-sdk-cpp$
m@pe:~/GVA/assistant-sdk-cpp$

Looks like that may be in a sub-project, like gRPC and one may need to enter a separate directory. I will look into the compiler error.

Can you try doing export GOOGLEAPIS_GENS_PATH=pwd/googleapis/gens instead?
I'm working on updating the Makefile now to be a bit more helpful

Thanks Fleker,
In Makefile changed
GRPC_SRC_PATH ?= ./grpc
to
GRPC_SRC_PATH ?= ../grpc
now it compiles further but fails on openssl as shown under. I'll install openssl dev
In file included from src/service_account_util.cc:23:0:
../grpc/src/core/lib/security/credentials/jwt/json_token.h:23:25: fatal error: openssl/rsa.h: No such file or directory

I'm working on fixing some of the build components. I've found a few issues since the last time I compiled it.
Did you do the same thing for the GOOGLEAPIS_GENS_PATH var in the Makefile?

Yes, same change is needed for both
GRPC_SRC_PATH ?= ../grpc
GOOGLEAPIS_GENS_PATH ?= ../googleapis/gens

This change was also needed
SSL_PATH ?= ../grpc/third_party/boringssl/include/
CPPFLAGS += -I/usr/local/include -pthread -I$(GOOGLEAPIS_GENS_PATH)
-I$(GRPC_SRC_PATH) -I./src/ -I$(SSL_PATH)

That's an interesting change as I've never had to make that.

I've connected a Mic and Earplugs and have tested both then run it as under
./run_assistant --audio_input ALSA_INPUT --credentials_file ./My-First-Project-4e60ff8cbdfe.json --credentials_type SERVICE_ACCOUNT
When I give above command I get Audio o/p "Give me permission to help you"
When I give this command and make a voice query through Mic "What is weather today", even in this case I get Audio o/p as mentioned above. It does not answer query.
I'd created a project "My First Project"
Project ID
sustained-valor-186206
Project number
996445381799
It has Service account as under
<EMAIL_ADDRESS>and Role is Owner
I checked API and Service "Google Assistant API " is enabled.
When I check API Services -> Dashboard : I'm able to see traffic there.
Any Idea why am I not gettig response?

You may need to enable some features in your account's Activity Controls .

Hi Fleker,
Following are enabled
Web & App Activity
Location History
Device Information
Voice & Audio Activity
YouTube Search History
YouTube Watch History
For Voice & Audio Activity => Manage Activity=> I see only 1 item for yesterday. Says "transcript not available". I can hear some audio for this activity.

Thanks. Would it be possible for you to try a USER_ACCOUNT. I'll look into why a service account may be having issues.

That works
./run_assistant --audio_input ALSA_INPUT --credentials_file ./credentials.json --credentials_type USER_ACCOUNT
With above I'm able to get reasonable response
./run_assistant --audio_input ./resources/switch_to_channel_5.raw --credentials_file ./credentials.json --credentials_type USER_ACCOUNT
With above Response : Sorry I can not help with that yet.

I'll look into why there's a problem with the service account. In the meantime I'll close the issue since it seems like you've resolved it.

I am trying to build Google Assistant "googlesamples/assistant-sdk-cpp".
For Linux i am able to build and its working fine. I am trying to make one sample application for Tizen platform and trying to make one GBS build.
I am able to build protobuf and GRPC but when i am trying to build Google Assistant using spec file its giving below error ->
[    9s] src/run_assistant.cc:39:70: fatal error: google/assistant/embedded/v1alpha2/embedded_assistant.pb.h: No such file or directory
[    9s]  #include "google/assistant/embedded/v1alpha2/embedded_assistant.pb.h"
i tried to build googleapis separately but its giving below error ->
[    9s] protoc --proto_path=.:/usr/local/include --cpp_out=./gens --grpc_out=./gens --plugin=protoc-gen-grpc=/usr/local/bin/grpc_cpp_plugin google/api/label.proto
[    9s] protoc --proto_path=.:/usr/local/include --cpp_out=./gens --grpc_out=./gens --plugin=protoc-gen-grpc=/usr/local/bin/grpc_cpp_plugin google/api/usage.proto
[    9s] /usr/local/bin/grpc_cpp_plugin: program not found or is not executable
[    9s] --grpc_out: protoc-gen-grpc: Plugin failed with status code 1.
[    9s] Makefile:44: recipe for target 'google/api/label.pb.cc' failed
[    9s] make: *** [google/api/label.pb.cc] Error 1
[    9s] make: *** Waiting for unfinished jobs....
I tried with "GRPC_SRC_PATH ?= ../grpc" this change in GA Makefile but its not woking :(
do i need to build googleapis separately ? and link with provide the same for GA as "BuildRequires :"
if so please help me to resolve above issue.


Create Decagon

Decagon Institute

@Divian29 Decagon I am sorry, I have to close the request without merging, because you made a mistake in a request and did not specify any filepath. Please ensure that you are familiar with this repository rules located at the bottom of this page and make a new correct request. Thank you for your understanding!


Featureadd check to disable unsupported type for Nereids

Proposed changes
Issue Number: close #xxx
Problem summary
check output slots of all the node and if unsupported type found, throw an exception.
Checklist(Required)

[ ] Does it affect the original behavior
[ ] Has unit tests been added
[ ] Has document been added or modified
[ ] Does it need to update dependencies
[x] Is this PR support rollback (If NO, please explain WHY)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run p0

run p0

run buildall

run buildall

run buildall

run p0

run p0

run buildall

run p0

run p0

run p0


Add incanter as a dep

https://clojars.org/incanter

Not sold on this yet ... I think for maths, there might be another, lighter-weight solution now? I'll have to look over the Clojure mail list announcements.

https://github.com/generateme/fastmath
https://github.com/mikera/vectorz-clj

Archived:

https://github.com/ztellman/primitive-math

Maybe I'll just change the title of the ticket ...


[FEATURE] Add a Like or Upvote button for each project

Description
It would be nice having a Like or upvote button for project, so user's of the site would be able like the project, also it will put a soft impact on visitors of the project.

@rupali-codes can we split this issue with [FRONTEND] and [BACKEND]?

@rohitdasu you mean tags, right?

yes, like rename this issue having a frontend tag example [feature] add a upvote or like button - Frontend and create another issue for backend. let me know if you have any doubts.

Alright @rohitdasu, Thanks.

I will like to take up this issue.

@Olaleye-Blessing thanks for taking interest, you can start working on it, and create pull request. Let us know for any kind of issues.

I also created a frontend version, but I can push my work without frontend if there is a better version.

With a frontend version I was able to visually test my backend code in development mode.

Did you create a seperate branch for fronted implementation? @zvolcsey


Software to check out

[x] https://github.com/syncthing/syncthing
[x] https://github.com/atlas-engineer/nyxt
Sticking with qutebrowser
[x] https://github.com/duplicati/duplicati
Chose restic/autorestic
[x] https://github.com/librespeed/speedtest
[x] https://github.com/oetiker/SmokePing
Currently ping sensors in Home Assistant is enough
[x] https://github.com/restic/restic
[x] https://github.com/cupcakearmy/autorestic
[x] https://github.com/healthchecks/healthchecks
[x] https://github.com/bdd/runitor
[x] https://github.com/znc/znc
[x] https://github.com/grocy/grocy
[x] https://github.com/meeb/tubesync
[x] https://github.com/tubearchivist/tubearchivist
[x] https://github.com/apache/guacamole-server
[x] https://github.com/heimdal/heimdal
[x] https://github.com/bastienwirtz/homer
[x] https://github.com/authelia/authelia
[x] https://github.com/crazy-max/diun
[x] https://github.com/linuxserver/docker-duckdns
[x] https://github.com/crowdsecurity/crowdsec
[x] https://github.com/louislam/uptime-kuma
[x] https://github.com/Sonarr/Sonarr
[x] https://github.com/advplyr/audiobookshelf
[x] https://github.com/photoprism/photoprism
[x] https://github.com/TandoorRecipes/recipes
[x] https://github.com/filebrowser/filebrowser
[x] https://github.com/jarnedemeulemeester/findroid
[x] https://github.com/Lissy93/dashy
[x] https://github.com/benphelps/homepage
[x] https://github.com/karlomikus/bar-assistant
[x] https://github.com/amerkurev/doku
[x] https://github.com/TwiN/gatus
[x] https://github.com/seriousm4x/UpSnap
Nice but homeassistants wake_on_lan platform is
enough for the moment, might revisit.
[x] https://github.com/petersem/monocker
[x] https://github.com/borgbackup/borg
Chose restic/autorestic
[x] https://github.com/albfan/miraclecast
[x] https://github.com/netdata/netdata
Dashdot gives me enough (and prettier) info
[x] https://github.com/MauriceNino/dashdot
[x] https://github.com/cockpit-project/cockpit

Some of these programs might fit better in https://github.com/claha/smart-home

Created new issues.


Deps: Update all non-major dependencies

Description
Updating dependencies partialy.
Additional context

Issue reference
https://github.com/lmc-eu/spirit-design-system/pull/1181

Before submitting the PR, please make sure you do the following

[ ] Read the Contributing Guidelines.
[ ] Follow the PR Title/Commit Message Convention.
[ ] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[ ] Ideally, include relevant tests that fail without this PR but pass with it.

coverage: 70.462% (-26.0%) from 96.491%
when pulling 296aa7c716926c0ec1aa73039f5c8ff506722dcc on dependencies/all-minor-patch-partial
into 4f9887e175a4d8251cf7a0d04b4802cf8ee44821 on main.


Include generate_fidl as part of the extract step.

Anytime we're running make extract/generate with Fuchsia as a target, we
probably want to update FIDL descriptions too, so we don't fall behind
what upstream is up to.
This includes generate_fidl as part of the make generate workflow.

make generate (1) does not depend on any kernel sources, (2) generates everything in one go (i.e. not just for 1 arch so that one needs to run it multiple times). While make extract does require sources and may re-generate only part of files. This distinction is very intentional and has to do with the fact that the are lots of kernels, arch, some descriptions may require e.g. android checkout on particular version. So make extract is the step when one is supposed to deal with all that, while make generate is purely abstract text processing and can run on bare syzkaller checkout (i.e. can be done by bazel during build).
Doing this part only for 1 OS and 1 arch and requiring kernel sources during make generate is wrong. If you want to bundle this step with something else, it should be extract (and then it should be done for both archs).
Moreover, after generate_fidl one always needs to run extract to get new constants. Running generate  right after generate_fidl will always produce wrong result. There must be extract in between.
Also generate_fidl and generate_sys should not run in parallel, this will lead to non-deterministic mess. generate_fidl -> extract -> generate_sys should all be sequenced.

Is this more what you had in mind?

Yes, this looks good to me. One less step in the process.

Alright, should be good now!


DRONEKIT_PATH variable

Currently dronekit only supports relative and absolute paths. It would be nice if we could point api start <file> to look at a set of directories when running a script. DRONEKIT_PATH would point to your project folders.
This idea was brought up in a recent dronekit session Chris and I had. At a minimum we should specify in the documentation that if that user can't specify the directory in which mavproxy is started(i.e. running SITL), then they must start use an absolute path to call their script.
DRONEKIT_PATH should not be necessary for when we run dronekit without mavproxy. But at a minimum we should document that the user should provide an absolute path when running dronekit scripts.

Also, let's update the documentation to show people how to download the
example files:
git clone https://github.com/dronekit/dronekit-python/examples
On Tue, Jul 28, 2015 at 2:28 PM, Daniel Nugent<EMAIL_ADDRESS>wrote:

Currently dronekit only supports relative and absolute paths. It would be
nice if we could point api start  to look at a set of directories
when running a script. DRONEKIT_PATH would point to your project folders.
This idea was brought up in a recent dronekit session Chris and I had. At
a minimum we should specify in the documentation that if that user can't
specify the directory in which mavproxy is started(i.e. running SITL), then
they must start use an absolute path to call their script.
DRONEKIT_PATH should not be necessary for when we run dronekit without
mavproxy. But at a minimum we should document that the user should provide
an absolute path when running dronekit scripts.
—
Reply to this email directly or view it on GitHub
https://github.com/dronekit/dronekit-python/issues/251.

--
Chris Anderson
CEO, 3D Robotics
<EMAIL_ADDRESS>

Yes, it is painful to have to enter full search paths - I'm always thinking "what is my current path" and I tend to just close the prompt and reopen it in the new folder I want to run. I like the idea, but I don't think we'll need it when we have dronekit running as a module, so I guess whether we do this depends on priority/effort vs how quickly we'll get dronekit running as an independent module. @tcr3dr do you have a view on that?
@djnugent  @zlite Regarding the docs - In both cases the "missing" documentation is present (see below).

But at a minimum we should document that the user should provide an absolute path when running dronekit scripts.

We do document this here in the getting started:

Also, let's update the documentation to show people how to download the
example files: git clone https://github.com/dronekit/dronekit-python/examples

We do explain how to get the examples in Running the Examples.

You can't AFAIK just clone the example tree as you've shown, so I demonstrate how to clone the whole branch.
I am however missing this information in the getting started (http://python.dronekit.io/guide/getting_started.html#running-an-app-example) so perhaps the solution is to add how to get the examples there?
I am not sure how to better highlight the absolute path thing, so advice welcome ...

Thanks, Hamish. I think this is more an issue of documentation
organization, rather than totally missing information.
For example,  for my OSX/SITL runthrough, I started at the Getting Started
http://python.dronekit.io/guide/getting_started.html page (reasonably
enough!).  It took me to the "Running an app/example" section, which is
where I ran into trouble because I didn't know how to download the example
script into my Vagrant instance. And even once I figured out how to copy it
from my OSX drive to Vagrant, I didn't have it in the right directory.
As you point out, all these questions are answered in the "Running the
Examples http://python.dronekit.io/examples/running_examples.html" page,
but that wasn't linked on the Getting Started page so I didn't see it.
So I'd suggest either embedding the Running the Examples info in the
Getting Started page, as you recommend, or at least linking to that page
with a highlighted note that you have to go through those processes before
going further in the tutorial.
Needless to say, these documentation issues are just a symptom of a
too-complicated toolchain, so I'm hoping Dronekit 2.0 solves this at the
root-cause level.
-Chris
On Tue, Jul 28, 2015 at 4:15 PM, Hamish Willee<EMAIL_ADDRESS>wrote:

Yes, it is painful to have to enter full search paths - I'm always
thinking "what is my current path" and I tend to just close the prompt and
reopen it in the new folder I want to run. I like the idea, but I don't
think we'll need it when we have dronekit running as a module, so I guess
whether we do this depends on priority/effort vs how quickly we'll get
dronekit running as an independent module. @tcr3dr
https://github.com/tcr3dr do you have a view on that?
@djnugent https://github.com/djnugent @zlite https://github.com/zlite
Regarding the docs - In both cases the "missing" documentation is present
(see below).
But at a minimum we should document that the user should provide an
absolute path when running dronekit scripts.
We do document this here in the getting started
http://python.dronekit.io/guide/getting_started.html#running-an-app-example
:
[image: image]
https://cloud.githubusercontent.com/assets/5368500/8946042/4f3ce83a-35d0-11e5-9116-b54004622dc9.png
Also, let's update the documentation to show people how to download the
example files: git clone
https://github.com/dronekit/dronekit-python/examples
We do explain how to get the examples in Running the Examples
http://python.dronekit.io/examples/running_examples.html.
[image: image]
https://cloud.githubusercontent.com/assets/5368500/8946143/645b67e0-35d1-11e5-8001-4eee145df395.png
You can't AFAIK just clone the example tree as you've shown, so I
demonstrate how to clone the whole branch.
I am however missing this information in the getting started (
http://python.dronekit.io/guide/getting_started.html#running-an-app-example)
so perhaps the solution is to add how to get the examples there?
I am not sure how to better highlight the absolute path thing, so advice
welcome ...
—
Reply to this email directly or view it on GitHub
https://github.com/dronekit/dronekit-python/issues/251#issuecomment-125779048
.

--
Chris Anderson
CEO, 3D Robotics
<EMAIL_ADDRESS>

Hi Chris / @zlite
I've updated the documentation - you can see the changes in #261. The documentation in both sections is now much better, and also very similar. The only real difference being that the getting started focuses on a specific example.
In both cases they start with how to get the examples/where the examples are located.

Needless to say, these documentation issues are just a symptom of a too-complicated toolchain, so I'm hoping Dronekit 2.0 solves this at the root-cause level.

Very charitable of you - sadly I think I just needed to spend a bit more time on this section.
A  lot of really good work has been done on the toolchain in the last few weeks.

@stephendade  finished a new windows DK installer that runs over the top of the MAVProxy installer (my next task to document)
@tcr3dr and fiends have nearly finished dronekit-sitl-runner - a script which automatically downloads and sets up SITL for you without any of the Vagrant stuff ... on all platforms.

Yes, that should make this much more bulletproof!

@tcr3dr the docs are updated, but we still need to decide if it is worth creating better handling for file management. My gut feeling is that the speed of progress on making DK a stand alone module means that this is not worth doing.
Open or close?

Looks like close as of DKPY2. Recommendation is to use standard Python path tools.


Enable / document BYO HTTP Objects

Was recently pointed out in https://github.com/GoogleCloudPlatform/gcloud-python/issues/903#issue-83467800 that httplib2.Http objects are not threadsafe.
@mwitkow-io suggested that using urllib3 connection pooling would be useful to them.
Other users may also want to use Twisted for their transport layer (instead of httplib2).

Currently (as of<PHONE_NUMBER>708cef29cdbefeba65572e8481f067) this is possible in datastore because Connection takes a standalone http object (of any type the user pleases) and the only place the http object is used has a very clear signature
headers, content = self.http.request(uri=..., method=..., headers=..., body=...)

Related to https://github.com/google/oauth2client/issues/128

So here's a stab at using requests. It seems to work locally (fetches, deletes, queries) with JSON service account files, but we haven't rolled it out anywhere just yet. It uses the httplib2 only for re-negotiating the OAuth2 token with Google using oauth2client. It creates a pool of 10 connections, and seems to cut down our latency by ~80ms.
# coding: utf-8
import logging
import httplib2
import requests
import requests.adapters
import requests.auth
import threading

from gcloud import datastore as gds
from gcloud import exceptions as gcloud_e

logger = logging.getLogger(__name__)

class PooledDatastoreConnection(gds.Connection):
  """Requests-based Datastore Connection.

  This only uses the HTTPlib2 for renegotiating the Google's OAuth, otherwise uses our pooled stuff
  for all connecitons.
  """

  def __init__(self, credentials=None, http=None, api_base_url=None):
    super(PooledDatastoreConnection, self).__init__(credentials,
                                                    http=None,
                                                    api_base_url=api_base_url)
    self._session = requests.Session()

    self._https_adapter = requests.adapters.HTTPAdapter(pool_connections=True,
                                                        pool_maxsize=10,
                                                        max_retries=3)
    self._session.auth = GoogleOAuth(self.credentials)
    self._session.mount('https://', self._https_adapter)
    self._session.mount('https://', self._https_adapter)

  def _request(self, dataset_id, method, data):
    headers = {
        'Content-Type': 'application/x-protobuf',
        'Content-Length': str(len(data)),
        'User-Agent': self.USER_AGENT,
    }
    uri = self.build_api_url(dataset_id=dataset_id, method=method)
    response = self._session.request('POST', uri, data=data, headers=headers)

    if response.status_code != 200:
      raise gcloud_e.make_exception(response.headers, response.content, use_json=False)

    return response.content

class GoogleOAuth(requests.auth.AuthBase):
  """Attaches a valid Google OAuth token, with refresh if needed.."""

  # Google Data client libraries may need to set this to [401, 403].
  REFRESH_STATUS_CODES = [401]

  def __init__(self, credentials):
    self._credentials = credentials
    self._httplib2_for_auth = httplib2.Http(timeout=5)
    self._refresh_lock = threading.RLock()

  def _check_for_401(self, resp, **kwargs):
    """Takes the given response and tries digest-auth, if needed."""
    if resp.status_code not in self.REFRESH_STATUS_CODES:
      return resp

    if resp.request._response_body_pos is not None:
      # Rewind the file position indicator of the body to where
      # it was to resend the request.
      resp.request.body.seek(resp.request._response_body_pos)

    self._refresh_access_token()
    new_req = self._consume_and_recreate_request(resp)
    self._apply_credentials(new_req)
    new_resp = resp.connection.send(new_req, **kwargs)
    new_resp.history.append(resp)
    new_resp.request = new_req
    return new_resp

  def _consume_and_recreate_request(self, response):
    # Consume content and release the original connection
    # to allow our new request to reuse the same one.
    _ = response.content
    response.raw.release_conn()
    return response.request.copy()

  def _apply_credentials(self, prepared_request):
    self._credentials.apply(prepared_request.headers)

  def _refresh_access_token(self):
    previous_token = self._credentials.access_token
    with self._refresh_lock:
      if self._credentials.access_token != previous_token:
        # Another thread we were waiting for at the lock already changed the value.
        return
      logger.info('Refreshing Google access_token.')
      self._credentials.refresh(self._httplib2_for_auth)

  def __call__(self, req):
    if not self._credentials.access_token:
      self._refresh_access_token()

    self._apply_credentials(req)
    try:
      req._response_body_pos = req.body.tell()
    except AttributeError:
      # In the case the request is gonna get reused and the body of
      # the previous request was a file-like object, pos has the
      # file position of the previous body. Ensure it's set to
      # None.
      req._response_body_pos = None
    req.register_hook('response', self._check_for_401)
    return req

Thanks for sending along!! A few notes

self._session could stand in for self.http since they both implement .request and have the same signature. The only difference is the single response output that defines response.headers and  response.content in contrast to the return from httplib2:
headers, content = self.http.request(...)

If the above were a closer match, you wouldn't have to override Connection._request. We could factor out the response parsing in a custom method that you could override.

Did you mean for
self._session.mount('https://', self._https_adapter)
self._session.mount('https://', self._https_adapter)

to mount one for http://?

re https indeed, corrected :)
As for overriding _request I believe this is easy enough already.

@mwitkow-io Yes, this is easy enough, I'm just trying to imagine a way to make it easy to address this bug, i.e. BYO http.
Asking users to subclass one of our internal classes is a bit more than I'd like to have to ask. However, your sample is great!


Explicit floating point division for Python 2 compatibility

@jvegasbsc Can you confirm this is correct?

Yes, it is. It's a unit conversion from mass-mixing-ratio to volume-mixing-ratio and the conversion factors must be float.

Yes, this is correct.


test http::response::tests::deserialize_index_not_found_exception ... ok
test root::bulk::tests::serialize_bulk_operations_with_different_types_writes_to_bytes ... ok
test root::bulk::tests::serialize_bulk_operations_with_same_type_writes_to_bytes ... ok
test http::transport::tests::connection_url_with_no_path_and_trailing_slash ... ok
test http::transport::tests::connection_url_with_trailing_slash ... ok
test http::transport::tests::connection_url_with_no_path_and_no_trailing_slash ... ok
test http::transport::tests::connection_url_with_no_trailing_slash ... ok
test http::response::tests::deserialize_illegal_argument_exception ... ok
test http::transport::tests::invalid_pkcs12_cert_credentials ... ok

test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s

     Running tests/auth.rs (target/debug/deps/auth-ce5ef59b9b424b40)

running 3 tests
test basic_auth_header ... ok
test bearer_header ... ok
test api_key_header ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.91s

     Running tests/aws_auth.rs (target/debug/deps/aws_auth-d0c7a2b58fea83da)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/cert.rs (target/debug/deps/cert-5a27819082c3c2c4)

running 8 tests
test certificate_certificate_validation ... ok
test fail_certificate_certificate_validation ... ok
test default_certificate_validation ... ok
test full_certificate_validation ... ok
test certificate_certificate_ca_validation ... ok
test full_certificate_ca_chain_validation ... ok
test none_certificate_validation ... ok
test full_certificate_ca_validation ... ok

test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.49s

     Running tests/client.rs (target/debug/deps/client-e524c653e93db373)

running 17 tests
test byte_slice_body ... ok
test cat_health_format_json ... ok
test cat_health_text ... ok
test serialize_querystring ... ok
test default_user_agent_content_type_accept_headers ... ok
test default_header ... ok
test override_default_header ... ok
test read_response_as_bytes ... ok
test cat_health_header_json ... ok
test clone_search_with_body ... FAILED
test search_with_body ... ok
test deprecation_warning_headers ... ok
test x_opaque_id_header ... ok
test uses_call_request_timeout ... ok
test call_request_timeout_supersedes_global_timeout ... ok
test search_with_no_body ... ok
test uses_global_request_timeout ... ok

failures:

---- clone_search_with_body stdout ----
thread 'clone_search_with_body' panicked at 'assertion failed: `(left == right)`
  left: `0`,
 right: `1`', opensearch/tests/client.rs:444:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

failures:
    clone_search_with_body

test result: FAILED. 16 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.83s

error: test failed, to rerun pass `-p opensearch --test client`
     Running tests/error.rs (target/debug/deps/error-d4e4b73af4d96280)

running 2 tests
test deserialize_exception ... ok
test bad_request_returns_response ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.90s

     Running unittests src/main.rs (target/debug/deps/yaml_test_runner-92a0269b27f980e3)

running 1 test
test rusty_json::test::from_set_value_correctly_interpolates_strings ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s

   Doc-tests api_generator

running 1 test
test src/generator/output.rs - generator::output::merge_file (line 90) ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.65s

   Doc-tests opensearch

running 23 tests
test src/lib.rs - (line 103) - compile ... ok
test src/lib.rs - (line 139) - compile ... ok
test src/lib.rs - (line 123) - compile ... ok
test src/lib.rs - (line 115) - compile ... ok
test src/lib.rs - (line 260) - compile ... ok
test src/cert.rs - cert::CertificateValidation (line 59) - compile ... ok
test src/lib.rs - (line 191) - compile ... ok
test src/lib.rs - (line 162) - compile ... ok
test src/indices.rs - indices::Indices<'a>::put_mapping (line 9221) - compile ... ok
test src/cat.rs - cat (line 81) - compile ... ok
test src/cat.rs - cat (line 103) - compile ... ok
test src/lib.rs - (line 307) - compile ... ok
test src/cert.rs - cert::CertificateValidation (line 125) - compile ... ok
test src/cat.rs - cat (line 38) - compile ... ok
test src/cat.rs - cat (line 60) - compile ... ok
test src/lib.rs - (line 217) - compile ... ok
test src/cert.rs - cert::CertificateValidation (line 93) - compile ... ok
test src/indices.rs - indices::Indices<'a>::create (line 9067) - compile ... ok
test src/root/bulk.rs - root::bulk::BulkOperation (line 116) - compile ... ok
test src/lib.rs - (line 93) - compile ... ok
test src/lib.rs - (line 342) - compile ... ok
test src/root/bulk.rs - root::bulk::BulkOperations (line 582) - compile ... ok
test src/root/mod.rs - root::OpenSearch::scroll (line 9263) - compile ... ok

test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.06s

error: 1 target failed:
    `-p opensearch --test client`
[cargo-make] ERROR - Error while executing command, exit code: 101
[cargo-make] WARN - Build Failed.

I don't believe it's a setup issue, it think it's just flakiness in the test for some reason.
Can you run the following command to see if it fails on its own:
RUST_BACKTRACE=full cargo make test -p opensearch --test client -- clone_search_with_body

RUST_BACKTRACE=full cargo make test -p opensearch --test client -- clone_search_with_body

Just tried this. It worked without any errors. It could be the flakiness as you mentioned, but that seems a little problematic. If CI/CD is running the same tests, it may undeterministically reject working pull requests.

What should we be looking to do to resolve this issue?

@AbhinavGarg90 The solution here is just to update the DEVELOPER_GUIDE.md to have correct and complete instructions

Are we looking to make any changes regarding the flakiness of the tests? I'll start working on a proposed change for the documentation.


Better reuse identifiers

Attempt to implement issue #21
Current concerns:

[ ] Changing reuseIdentifiers to objects makes it hard to use them as strings, maybe we should make a seperate category of this "higher level" R.swift feature?
(I want it to be simple to start using R.swift and not force users to use our higher level functions as this could mean being not able to use R values in certain edge cases.)

[x] CollectionView support missing

[x] TableView header/footer support missing

[x] Registering nibs should also be less messy

Changing reuseIdentifiers doesn't seem to be that hard since we now have overloads for those functions. :)


FIX : README.md

Fix the readme this projects name !

this is to simple , can you mention this article to this readme md ?
https://medium.com/@iqbalsyamilayas/bagaimana-cara-berkontribusi-di-ekosistem-open-source-melalui-hacktoberfest-2019-57a5af09eb6b


⚠ Spryr has degraded performance

In f8415a3, Spryr (https://spryr.com) experienced degraded performance:

HTTP code: 200
Response time: 4402 ms

Resolved: Spryr performance has improved in 7db2afb after 14 minutes.


fix(backend-dynamic-feature-service): add resolvePackagePath support in the CommonJSModuleLoader.

Hey, I just made a Pull Request!
The resolvePackagePath function of the backend-plugin-api Core backstage package, tries to resolve the package.json of a package by package name, to find out the local folder of the plugin.
This works out-of-the-box for static plugins which are in the main monorepo structure of the application.
But for the dynamic backend plugins which are loaded for an external place (as sub-folders of the dynamic-plugins-root), the default require.resolve algorithm isn't sufficient.
This PR overrides the CommonJS resolveFileName logic, in order to also search such a package.json file in the list of loaded backend dynamic plugins.
It also allows customizing this search, in order to support cases when the name of the dynamic plugin (after some repackaging for example) doesn't match exactly the name expected by the code that called resolvePackagePath.
Fixing this backend dynamic plugin limitation related to resolvePackagePath is important for backend dynamic plugins which use the database, since database migration scripts systematically use resolvePackagePath.
NOTE: this is indeed a contribution to upstream, in a more generic shape, of a fix which is in place in the janus-idp/backstage-showcase (Red hat Developer Hub upstream project) since 7 months.
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[x] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

+1 for the changes
/lgtm
/approve

Alright so as discussed in the SIG, let's have some comments with the context for this code close to the implementation to make it clear that this is something we're aiming to remove.

I added this comment: https://github.com/backstage/backstage/pull/27309/files#diff-536979b34bfce39b3660e00e3a933de7fdedc29f7e1540c9336d2fdd51248810R71

Other than that I'm wondering if we can simplify the external API now that we've fixed this gap in the module loading?

See my comment above


Firebase Auth

firebase  OTP is not working in android version 12 and below after uploading application into play store
can some one help me to fix this issue
i am using  SDK version
SDK: ">=2.17.5 <4.0.0"
firebase_core: ^2.15.0
cloud_firestore: any
firebase_auth: ^4.7.2

Firebase auth is not managed by the flutter team. Any issues you face using it should be reported on their repo.
Closing from here as this is not a flutter issue.
Please make sure you're facing this issue on the latest versions of the firebase libraries before you report the issue.
Thank you


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_e2rs1hpi8p/clone/recipe/meta.yaml:22: missing_wheel: For pypi packages, wheel should be present in the host section
ERROR: /tmp/abs_e2rs1hpi8p/clone/recipe/meta.yaml:28: missing_pip_check: For pypi packages, pip check should be present in the test commands
INFO: /tmp/abs_e2rs1hpi8p/clone/recipe/meta.yaml:31: invalid_url: http://www.danielrichman.co.uk/libraries/strict-rfc3339.html : URL domain redirect www.danielrichman.co.uk ->  djr61.uk
ERROR: /tmp/abs_e2rs1hpi8p/clone/recipe/meta.yaml:32: incorrect_license: The recipe's about/license key is not an SPDX compliant license or license exception, closest match: EPL-2.0
ERROR: /tmp/abs_e2rs1hpi8p/clone/recipe/meta.yaml:49: http_url: http://www.danielrichman.co.uk/libraries/strict-rfc3339.html is not https
Errors were found


added variable MULTIVERSO_DIR to Applications/WordEmbedding/CMakeList…

…s.txt

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot


feat: refresh function

extracted the refresh function of verify into a separate function, to enable storing access tokens in memory in a spa setup

lol we were just talking about adding this today - need to tweak what you have a little but will do later today

uh idk why this closed

damn i messed something up that was dumb - can you force push what you have locally to your branch

nvm we got it here #44

haha nice thank you
what are your thoughts on having an option for the authorizer to set a http only cookie for the refresh token?


[SU-50] Load initial data table column settings from saved column settings

Currently, when you view a data table, the initial column settings (which columns are visible and in what order) are loaded from local storage so that changes persist across sessions. If you're viewing the table for the first time, all columns are shown in alphabetical order.
There's a use case that's important to some groups where one person (Editor) uploads data and prepares it before handing it off to another person (Viewer), who looks at the table only after Editor is done with it. Viewer wants to see a specific set of columns in a specific order.
Currently, this can be done by setting a workspace-column-defaults workspace attribute with a JSON encoded object:
{
  "tableName": {
    "shown": ["columnA", "columnB"],
    "hidden": ["columnC"]
  },
  ...
}

However, it's not convenient to set/edit that attribute and workspaces with many tables or tables with many columns may exceed the maximum size of a string attribute.
We have the ability to save column settings in the UI (the gear button at the top right of the data table). So Editor could save column settings which Viewer could then load.
To streamline this and make it so that Viewer does not have to load column settings, this looks for saved column settings named "Default" and uses that for initial column settings if it exists.
To replicate viewing a data table for the first time, clear column settings from local storage using:
userId = localStorage.getItem('apc_user_id')
localStorage.removeItem(`dynamic-storage/${userId}/${workspaceNamespace}/${workspaceName}/${entityType`)

@nawatts integration test failures look suspicious.

Just flaky tests I think. They passed after re-running.

I don't know very much about this functionality at all, so despite your excellent PR description I don't feel very competent testing this. Would it be worth tagging someone on the team that owns this functionality so that they are aware of the change in behavior and can provide another set of eyes?

I'll ask.
My test plan for this was:

Clear table settings from local storage.
View/reload data table. Columns should be sorted in alphabetical order.
Edit column settings and save some settings named "Default". Cancel the modal so settings are not applied.
Clear table settings from local storage.
View/reload data table. Columns should be sorted in the order specified by the "Default" settings.

Rebased on request (no changes).


improve simulation visualization results

[ ] Zoom in more to have less blank space at the image borders to have more detail view / autozoom to fit content
[ ] Show hours or minutes instead of seconds in the colorbar
[ ] Add discrete semitransparent points for positions every 1/4 of the simulation time
[ ] TBC

Of course we need to have access to the simualtion result data for this to implement this.
But it was already suggested that we might add those improvements upstream, but its good to have it already here documented.
We can also implement this already on our side, and later up stream this.

[ ] Show grid in DD MM SS format instead of DD.dd

We do have access to the data with :
lw.get_lonlats()

Wow! Looking very nice! Good job!
Thanks
Where did you implement this?
Python on my local machine. I will branch it here

Next step is to use the heatmap

often postion reports are precise to the minute. Also Minutes are easier to use. and when we zoom in further the zebra frame will be precise to 0.1 minute.
So its more about how much we can fit in the frame. We could produce a second image of the end points only that is more zoomed in.

check this out:


Flux: train only specific layers

As written at https://www.reddit.com/r/StableDiffusion/comments/1f523bd/good_flux_loras_can_be_less_than_45mb_128_dim/ it can be sufficient just to train single_transformer_blocks.7.proj_out to get a very good and very small character LoRA.
It would be great when I could do such a training with this training script.
And it would be even greater when that would also lower the VRAM requirement significantly for that.

i am looking forward to this as well

looking forward to this as well. if we can get any hints on the functions we can modify to get this working I'm happy to look into it Kohya!


inlined comments

Currently we don't identify inlined comments in code, all comments are just regular (not inlined) (https://github.com/t3rn0/ast-comments#notes).
Difference between them is lost after the code is parsed into the tree.
We should try distinguish inlined and regular comments when unparsing the tree back to the code.
It'd be great to cover following cases:

simple expression:a = 1  # c1

if-elif-elseif a:  # c2
    ...
elif b:  # c3
    ...
else:  # c4
    ...

try-except-else-finally
for-else
match

anyway i can support with this ticket?
i stumbled upon your lib today and it does exactly what i need but this bug is causing me small issues :/
example:
def __init__(self, **kwargs: Any):
    """Initialize a MarkdownTextSplitter."""
    separators = [
        # First, try to split along class definitions
        "\nclass ",
        "\ndef ",
        "\n\tdef ",
        # Now split by the normal type of lines
        "\n\n",
        "\n",
        " ",
        "",
    ]
    super().__init__(separators=separators, **kwargs)

becomes this:
def __init__(self, **kwargs: Any):
    """Initialize a MarkdownTextSplitter."""
    # First, try to split along class definitions
    # Now split by the normal type of lines
    separators = ['\nclass ', '\ndef ', '\n\tdef ', '\n\n', '\n', ' ', '']
    super().__init__(separators=separators, **kwargs)

Thanks for noticing that.
The example you gave is not relevant to the issue, so I opened another one https://github.com/t3rn0/ast-comments/issues/13
I don't have enough time to look at it right now but I'll try to fix it next month

Any progress here? Not urgent for me as this lib already does everything I need but I just wanted to add a gentle nudge to continue developing it as it's an amazing tool for anyone who delved a bit too deep into last.
Big thanks for making this effort and I hope this library gets a lot more popular!

Hello. Thank you for your interest in the library.
The original problem here was resolved a few commits ago. Almost...
There is one element left: comments for match blocks.
Now this issue serves as a kind reminder to me that there is still work to be done. 😁


Transfusion

text: Transfusion work only if minion inflict damage-fresh topic
link: http://www.vekn.net/forum/rules-questions/78638-transfusion-and-elemental-damage

Added


[IZPACK-952] Avoid functional dependency on TargetPanel - allow installers without TargetPanel

Fixes following issue as well:
IZPACK-853 PacksPanel empty without activating TargetPanel before

@akuhtz I'm not that familiar with this piece of code, so I like that you also take a look at it.

Done the requested changes.

@akuhtz, any idea why the build fails for maven-plugin-plugin?

@reinhapa, please refer to my reply.


Users can edit HOLON scenario's

Description
Anylogic provides an API to connect with models and get results based on new input parameters. There are several clients for REST, Python and JavaScript. Based on the specific functionality of the api and the demands for the interactivity the best solution should be chosen.
API documentation: https://cloud.anylogic.com/api/open/8.5.0
Javascript examples: https://www.anylogic.com/blog/anylogic-cloud-api-new-possibilities/
To discuss

What is the extend of interactivity for the POC?
What are the advantages/disadvantages of using Javascript or Python?
Should the model update on change of sliders or should there be a calculate button?

Acceptance criteria

[ ] Users can change sliders and get new results
[ ] Users can change radio buttons and toggles and get new results
[ ] Users get updates on the calculation state of the model
[ ] The system has a built in delay before new results are requested

Advantage of python client: API key is not exposed in the frontend

Basis have already made in #6

48 (!) sec response time for a miss. If by luck the simulation has already been run before and the requests is resolved by a hit, Anylogic cloud still takes 4 secs to resolve...


[Feature]: CPU+GPU using accelerate?

Hey Everyone!
Could accelerate make it possible to distribute the processes between CPU + GPU and RAM + VRAM?
As I'm not familiar with it and only tested accelerate config command, it might be a feature request

Do you mean for training and using some of the model on CPU and some of the model on GPU? Or can you describe a bit more with the ideal workflow you're imagining?

Hi @muellerzr
The only thing is in my mind is using CPU + System RAM & GPU + VRAM simultaneously. Thought that accelerate could distribute processes between these two different processing units to train larger models (even with slower performance) or for example create larger images in Stable Diffusion.
I hope I'm not wrong

This is something we're mildly looking into (the ability to train using the same methodology as big model inference), if this is accurate to what you are thinking.

This is something we're mildly looking into (the ability to train using the same methodology as big model inference), if this is accurate to what you are thinking.

Yes exactly! It would be great to harness the power of both the GPU and CPU simultaneously for parallel processing. This would not only accelerate our training process but also allow us to process data with greater efficiency using our trained models. It's certainly worth exploring for future improvements.

Hey @muellerzr if this has been approved/needs someone to work on, I'm willing to look into it. Would be needing some advice/help though

Hi @rishabbala, if you'd like to contribute or see what you can get to, that'd be great! I'll be looking into this soon-ish but there's other pressing matters I need to do first. Here's a colab notebook with how far I got, basically there's an issue with autograd we need to consider so that the gradients backprop properly and efficiently: https://colab.research.google.com/drive/1s6tq_zcaXBnP3Ldj42CJ0gg4VXTZDfJ7?usp=sharing

Hi @muellerzr, I went over your notebook and got the overall idea of what we are trying to do. If I understand correctly, we want to move the weights and intermediate tensors to CPU after their forward call, and move them back to GPU before we perform backward. Is this correct? Can you let me know what the current limitation or issue is with what you've implemented and how I can proceed?

Any updates on this?


Do not hardcode localhost:3000 as ws endpoint in frontend.

this allow to use nomad-ui behind proxy.

Whoops, that one slipped through, thanks for the PR.


How to load uploaded files ?

After the widget does the initial get request, my controller return the json object structure and it seems good, but there is no files in the table of the widget, which could be the problem ? here is the json response:
[{"name":" 2:2.png ","size":,"url":"/sinapsis/archivoadjunto/render?id=2 " ,"thumbnail_url":" ","delete_url":"/sinapsis/archivoadjunto/deletedad?id=2","delete_type":"DELETE"}]
I'm leaving empty some unnecessary fields
Thanks!

I'm sorry, I found the problem. It was the "size" parameter that was incomplete.


Meter number

Hi,
thanks for your hard work, it works like a charm :-).
I'm wondering where in the code i can change the meter-number. Here it is sth like 078893. i'd like to change it to the real meter-number from the Stromnetzbetreiber :-), especially because the number shows up in the mqtt-message.
Feature request: Mqtt Port in the GUI.
btw: You didn't change the Version number to 212 in config.h .. Don't know if that matters..
btw2: Is there a reason why WiFiUDP.h isn't in your Code? Perhaps you should mention it in your readme.
Cheers,
Alex

The number is derived from the MAC address of the ESP8266, but making it configurable is no big deal. Same holds true for the MQTT port.
The header file WiFiUDP.h is included in influx.h. Do you get compiler warnings/errors or why are you asking? Mentioning the old version number I guess you're using the Arduino IDE, right? I switched to VisualStudio/PlatformIO quite a while ago, so I no longer compile the code explicitly under the Arduino IDE.

Thank you, I found the codeparts with the MAC or systemID Call.
No, i freshly installed Visual Code and PlatformIO. I then cloned into your repository and opened the folder in Visual Code. The compiler complained about the missing WiFiUDP.h.  After adding it manually under "include", the compilation went through without errors.
sorry, i'm new to this whole stuff. This is my first project ...
Another Question: I added your Project via MQTT to iobroker. MQTT connection drops twice per minute with "connection lost: Timeout". Any idea how i can fix this? My fritzbox shows Signalstrength of -79 to -74 which is not too good, but the GUI is responsive

Just uploaded v2.1.3 with options in web ui to configure the MQTT port and power meter id. Please check if it's working as expected.
Sorry, I cannot reproduce your error due to missing header WiFiUDP.h. I cleaned up my project in VS and download/compiled all libraries from scratch: no warnings or errors message from the compiler.
I'm using HA and never experienced any connection timeout warnings. Low signal strength is probably not the cause. But I think the warnings are no matter of concern. Looking at the source code of the PubSubClient library I found MQTT_KEEPALIVE and MQTT_SOCKET_TIMEOUT to be set to 15 seconds by default. Timeout and keep alive could be increased with setSocketTimeout() and setKeepAlice() in mqtt.cpp which might fix iobroker's complains. You could try to set the publish interval to 30 or even 15 secs and check if you still get connect lost warnings.

Thank you so much. I changed the timeout and keepalive to 40 seconds and the publish intervall to 30s. The connection is now stable and no more warnings in iobrokers log.
All your other changes (Meter Name, Port) work great. Thanks for this!


Insertion Sort

I have completed this task. I am not returning a separate list, just modifying the original and returning None just like the default sort method in python.
Is this okay or do you want me to return a list?


Unable to pre-fill the modal with a fetched date string

Please I am unable to pre-fill the modal with a date string on loading the component. Only null and new Date() default works. Any other time does not work as it throws the error: "TypeError: this.value.getHours is not a function"
Here is my code
<timeselector
:value="'Sat Jun 29 2019 00:00:00 GMT+0200 (Central European Summer Time)'"
:disabled="monday.isNotWorking"
:placeholder="'Start'"
:displayFormat="'HH mm'"
:interval="{h:1, m:30}"
returnFormat="HH.mm MON START"
@formatedTime="formatedTime"
@cleared="myClearedFunc('monday', 'start')"
>
Also, the placeholder does not disappear when there is an initial default value binded.
Please can someone tell me what I am doing wrong? Thanks.

Hey eakenbor,
Have you tried to convert your string date into a real Date object ? As for today, valueprops must be a null or Date object. Maybe creating a DATE <-> STRING converter or another type of props (as day, hour, min, sec... props) in the component could be a good idea.
Regarding to the placeholder. You are right, it acts like a real input placeholder. If you have already set a value inside the components, the value replaces the placeholder.
If I understand well, you would like to set an initial value for the dropdown menu (on click), but not directly inside the input box ? The placeholder would disappear after the first click on the dropdown menu ?

Thanks alexiscolin. It worked when I passed the date string into a new Date() object. For the placeholder, it also works fine now.
Also see if you can improve the UI experience in the future by ensuring the time drop down menu disappears after clicking on the time instead of having to click anywhere outside the menu for it to disappear.
Second, for the returnFormat prop, when additional strings are attached to the standard time formats, say for instance "monday", it emits "m" as the first digit of the minute and the let "a" as AM. That is as"1ondAMy" To avoid this, I would have to use all upper casing "MONDAY". However, the problem persists for example "THURSDAY". "H" will add hour to the emitted string to become for example "T3URSDAY. To avoid that I would have to misspell as "TURSDAY" or something else. See if you can fix this or maybe consider passing arguments through @formatedTime="formatedTime" for it to be easy to identify the specific selector when there are several timeselector modals.

That's an interesting idea, but the dropdow menu need to be closed only after the user has selected every time operator he desire (h, m, s...). So we need a way to know when the user has finished to set the complete time to do that.
On the second issue you encounter, there are already a way to avoid that weird behaviour. You can escape those "reserved time operators" (letter) by using brackets :

It's possible to escape a letter used for formatting ("h", "H", "m" ...) by surrounding it with brackets, eg. HH[h]mm could render 01h35. Time may be set to UTC or not in order to display and return UTC time.

Feel free to share all your ideas. Thank you for you feedback !


Workflow processing fails to complete due to incomplete WorkflowTaskResult from interrupted pod

Pre-requisites

[X] I have double-checked my configuration
[X] I have tested with the :latest image tag (i.e. quay.io/argoproj/workflow-controller:latest) and can confirm the issue still exists on :latest. If not, I have explained why, in detail, in my description below.
[X] I have searched existing issues and could not find a match for this bug
[ ] I'd like to contribute the fix myself (see contributing guide)

What happened/what you expected to happen?
As part of #12402 (included from v3.5.3 onwards), workflow pod wait-container behavior was changed to create a placeholder (incomplete) WorkflowTaskResult before waiting for the main-container to complete.
https://github.com/argoproj/argo-workflows/blob/0fdf74511d4671cf0c8c334aa2d90ecd61c5acce/cmd/argoexec/commands/wait.go#L38-L42
The WorkflowTaskResult is finalized after output artifacts, logs etc. have been handled:
https://github.com/argoproj/argo-workflows/blob/0fdf74511d4671cf0c8c334aa2d90ecd61c5acce/cmd/argoexec/commands/wait.go#L34
If the wait-container is interrupted in a way that prevents FinalizeOutput from being called (e.g. pod deletion without sufficient grace period), an incomplete WorkflowTaskResult remains with the workflows.argoproj.io/report-outputs-completed label set to false. Retries of the same task will produce additional WorkflowTaskResults and will not mark the previous one complete. This leaves the workflow stuck in Processing state until the WorkflowTaskResult is manually edited to mark it complete.
The reproduction example workflow simulates forced pod deletion using a pod that deletes itself, leaving behind an incomplete WorkflowTaskResult. The included workflow controller log snippet shows the resulting processing loop.
This issue may be one of the causes of #12103.
Version
v3.5.3
Paste a small workflow that reproduces the issue. We must be able to run the workflow; don't enter a workflows that uses private images.
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: workflow-hang-example-
spec:
  entrypoint: self-delete
  templates:
    - name: self-delete
      retryStrategy:
        limit: "1"
        retryPolicy: Always
      podSpecPatch: |
        containers:
          - name: main
            env:
            - name: RETRY_COUNT
              value: "{{retries}}"
        terminationGracePeriodSeconds: 0
      container:
        image: bitnami/kubectl:latest
        env:
          - name: POD_NAME
            valueFrom:
              fieldRef:
                fieldPath: metadata.name
        # Simulate interruption via forced pod deletion on first attempt, complete successfully on retry
        command: ["sh", "-c", "sleep 10; [ $RETRY_COUNT -eq 0 ] && kubectl delete pod $POD_NAME; sleep 10"]

Logs from the workflow controller
time="2024-04-29T10:31:58.427Z" level=info msg="Processing workflow" Phase=Running ResourceVersion=26673983 namespace=ext-namespace workflow=workflow-hang-example-hf6nh
time="2024-04-29T10:31:58.428Z" level=info msg="Task-result reconciliation" namespace=ext-namespace numObjs=2 workflow=workflow-hang-example-hf6nh
time="2024-04-29T10:31:58.429Z" level=debug msg="task result:\n&WorkflowTaskResult{ObjectMeta:{workflow-hang-example-hf6nh-1013521106  ext-namespace  7ad71c97-1148-4c59-aea4-84e8c56d19c4 26673606 1 2024-04-29 10:29:57 +0000 UTC <nil> <nil> map[workflows.argoproj.io/report-outputs-completed:false workflows.argoproj.io/workflow:workflow-hang-example-hf6nh] map[] [{argoproj.io/v1alpha1 Workflow workflow-hang-example-hf6nh af4266ff-e25f-4e4d-b073-dee4b6778da7 <nil> <nil>}] [] [{argoexec Update argoproj.io/v1alpha1 2024-04-29 10:29:57 +0000 UTC FieldsV1 {\"f:metadata\":{\"f:labels\":{\".\":{},\"f:workflows.argoproj.io/report-outputs-completed\":{},\"f:workflows.argoproj.io/workflow\":{}},\"f:ownerReferences\":{\".\":{},\"k:{\\\"uid\\\":\\\"af4266ff-e25f-4e4d-b073-dee4b6778da7\\\"}\":{}}}} }]},NodeResult:NodeResult{Phase:,Message:,Outputs:nil,Progress:,},}" namespace=ext-namespace workflow=workflow-hang-example-hf6nh
time="2024-04-29T10:31:58.429Z" level=debug msg="task result name:\nworkflow-hang-example-hf6nh-1013521106" namespace=ext-namespace workflow=workflow-hang-example-hf6nh
time="2024-04-29T10:31:58.429Z" level=debug msg="Marking task result incomplete workflow-hang-example-hf6nh-1013521106" namespace=ext-namespace workflow=workflow-hang-example-hf6nh
time="2024-04-29T10:31:58.429Z" level=info msg="task-result changed" namespace=ext-namespace nodeID=workflow-hang-example-hf6nh-1013521106 workflow=workflow-hang-example-hf6nh
time="2024-04-29T10:31:58.429Z" level=debug msg="task result:\n&WorkflowTaskResult{ObjectMeta:{workflow-hang-example-hf6nh-3630579407  ext-namespace  3fe40d94-0f39-45ee-aff6-902f6086b578 26673958 2 2024-04-29 10:30:36 +0000 UTC <nil> <nil> map[workflows.argoproj.io/report-outputs-completed:true workflows.argoproj.io/workflow:workflow-hang-example-hf6nh] map[] [{argoproj.io/v1alpha1 Workflow workflow-hang-example-hf6nh af4266ff-e25f-4e4d-b073-dee4b6778da7 <nil> <nil>}] [] [{argoexec Update argoproj.io/v1alpha1 2024-04-29 10:30:57 +0000 UTC FieldsV1 {\"f:metadata\":{\"f:labels\":{\".\":{},\"f:workflows.argoproj.io/report-outputs-completed\":{},\"f:workflows.argoproj.io/workflow\":{}},\"f:ownerReferences\":{\".\":{},\"k:{\\\"uid\\\":\\\"af4266ff-e25f-4e4d-b073-dee4b6778da7\\\"}\":{}}},\"f:outputs\":{}} }]},NodeResult:NodeResult{Phase:,Message:,Outputs:&Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{},Result:nil,ExitCode:nil,},Progress:,},}" namespace=ext-namespace workflow=workflow-hang-example-hf6nh
time="2024-04-29T10:31:58.429Z" level=debug msg="task result name:\nworkflow-hang-example-hf6nh-3630579407" namespace=ext-namespace workflow=workflow-hang-example-hf6nh
time="2024-04-29T10:31:58.429Z" level=debug msg="Marking task result complete workflow-hang-example-hf6nh-3630579407" namespace=ext-namespace workflow=workflow-hang-example-hf6nh
time="2024-04-29T10:31:58.429Z" level=info msg="task-result changed" namespace=ext-namespace nodeID=workflow-hang-example-hf6nh-3630579407 workflow=workflow-hang-example-hf6nh
time="2024-04-29T10:31:58.429Z" level=debug msg="Skipping artifact GC" namespace=ext-namespace workflow=workflow-hang-example-hf6nh
time="2024-04-29T10:31:58.429Z" level=debug msg="Evaluating node workflow-hang-example-hf6nh: template: *v1alpha1.WorkflowStep (self-delete), boundaryID: " namespace=ext-namespace workflow=workflow-hang-example-hf6nh
time="2024-04-29T10:31:58.429Z" level=debug msg="Resolving the template" base="*v1alpha1.Workflow (namespace=ext-namespace,name=workflow-hang-example-hf6nh)" tmpl="*v1alpha1.WorkflowStep (self-delete)"
time="2024-04-29T10:31:58.429Z" level=debug msg="Getting the template" base="*v1alpha1.Workflow (namespace=ext-namespace,name=workflow-hang-example-hf6nh)" tmpl="*v1alpha1.WorkflowStep (self-delete)"
time="2024-04-29T10:31:58.429Z" level=debug msg="Getting the template by name: self-delete" base="*v1alpha1.Workflow (namespace=ext-namespace,name=workflow-hang-example-hf6nh)" tmpl="*v1alpha1.WorkflowStep (self-delete)"
time="2024-04-29T10:31:58.430Z" level=debug msg="Node workflow-hang-example-hf6nh already completed" namespace=ext-namespace workflow=workflow-hang-example-hf6nh
time="2024-04-29T10:31:58.430Z" level=info msg="TaskSet Reconciliation" namespace=ext-namespace workflow=workflow-hang-example-hf6nh
time="2024-04-29T10:31:58.430Z" level=info msg=reconcileAgentPod namespace=ext-namespace workflow=workflow-hang-example-hf6nh
time="2024-04-29T10:31:58.430Z" level=debug msg="Task results completion status: map[workflow-hang-example-hf6nh-1013521106:false workflow-hang-example-hf6nh-3630579407:true]" namespace=ext-namespace workflow=workflow-hang-example-hf6nh
time="2024-04-29T10:31:58.430Z" level=debug msg="taskresults of workflow are incomplete or still have daemon nodes, so can't mark workflow completed" fromPhase=Running namespace=ext-namespace toPhase=Succeeded workflow=workflow-hang-example-hf6nh
time="2024-04-29T10:31:58.443Z" level=info msg="Workflow update successful" namespace=ext-namespace phase=Running resourceVersion=26673983 workflow=workflow-hang-example-hf6nh

Logs from in your workflow's wait container
N/A (wait container must be forcibly interrupted for this issue to appear)

It seems unreliable to determine whether the task result has been successfully reported through the AnnotationKeyReportOutputsCompleted.

After reproducing it, there are indeed some problems and need to think about how to fix it.

Is the primary case for this one in which the Controller itself issues a SIGKILL to the container because the container isn't responding fast enough to a SIGTERM?

Is the primary case for this one in which the Controller itself issues a SIGKILL to the container because the container isn't responding fast enough to a SIGTERM?

The root cause for the pod interruption in my case was primarily related to node deprovisioning, as the environment where this issue appeared consistently uses EC2 Spot Instances along with an aggressive deprovisioning strategy for underutilized nodes. I believe that node-pressure eviction could also cause this issue, along with any other external condition that would result in a non-graceful pod termination.

Is the primary case for this one in which the Controller itself issues a SIGKILL to the container because the container isn't responding fast enough to a SIGTERM?

The root cause for the pod interruption in my case was primarily related to node deprovisioning, as the environment where this issue appeared consistently uses EC2 Spot Instances along with an aggressive deprovisioning strategy for underutilized nodes. I believe that node-pressure eviction could also cause this issue, along with any other external condition that would result in a non-graceful pod termination.

Got it. That's interesting that node-deprovisioning and node-pressure eviction would result in SIGKILL rather than SIGTERM.

Got it. That's interesting that node-deprovisioning and node-pressure eviction would result in SIGKILL rather than SIGTERM.

There are projects like NTH which should get you a SIGTERM with some time to do some work. Perhaps they're not being used here. For non-graceful termination though, we still need a solution.
I think we need to consider "Pod gone away" after a reasonable period (to allow for propogation of the WorkflowTaskResult) to be pod failure and mark the outputs as completed (with error) to allow the workflow to fail/retry.

Good find. We encounter this sometimes in long running workflows.

This leaves the workflow stuck in Processing state until the WorkflowTaskResult is manually edited to mark it complete.

How exactly can I manually edit this?

For non-graceful termination though, we still need a solution.
I think we need to consider "Pod gone away" after a reasonable period (to allow for propogation of the WorkflowTaskResult) to be pod failure and mark the outputs as completed (with error) to allow the workflow to fail/retry.

Agreed, I said something very similar in https://github.com/argoproj/argo-workflows/pull/13066#discussion_r1633911846 and proposed a similar approach in https://github.com/argoproj/argo-workflows/issues/13344#issuecomment-2229916539. The proposed PR #13051 would not necessarily resolve this as a finalizer does not necessarily prevent non-graceful termination (e.g. OOMs and the like are kubelet/node level and not control plane/k8s resource level).
I don't have time to take this on, @Joibel would you be able to tackle this when you're back from vacation? Or if someone else wants to tackle it in the meantime, that would work too. See my proposed approach in https://github.com/argoproj/argo-workflows/issues/13344#issuecomment-2229916539 for more details.

I don't want to block someone else, but yes, otherwise I have it at the top of the list to do.

Is the primary case for this one in which the Controller itself issues a SIGKILL to the container because the container isn't responding fast enough to a SIGTERM?
If so, it seems like we need to indicate on the Controller side that if we are doing a SIGKILL not to wait for the WorkflowTaskResult for that task, right?

I am seeing this issue in 3.5.8 with just a kubectl delete pod.  Reproduction case is

submit a workflows
kubectl delete the pod for the running node
workflow becomes stuck in a perpetual Running status

@isubasinghe and I are working on a fix


Assignment - Layout using Flex

Assignment-5

the layout is fine but the position of the second image is wrong(should be in the center). Can also add hover functionality on images.


Increase space between icon and error

The output icon has no space to the error message 'Core with name [...] exists'

This improves the output's readability.

LGTM :-) i do not have the permissions to to trigger the workflow.
@rfay can you either trigger the workflow and merge or give my user permissions to do so? :-) Thank you.

Ran tests and also invited you as member of the whole org @ochorocho

Ran tests and also invited you as member of the whole org @ochorocho

@rfay seems like is still have no permission to merge. At least there is no merge-button showing up in GitHub.
Would you mind checking the permissions for my user? No rush.
Thank you.

Running tests and merging aren't the same privilege level. I added you as maintainer of this repo now.


iOS: Plugin should use a background thread

This warning is logged in Xcode's All Output each time an URL is opened.
THREAD WARNING: ['SpinnerDialog'] took '14.428955' ms. Plugin should use a background thread.

same issue....
THREAD WARNING: ['SpinnerDialog'] took '23.087891' ms. Plugin should use a background thread.
Please help


Transformer includes - Call to a member function setCurrentScope() on string

I'm trying to use the includes logic to include another collection. However, when trying to include, I'm getting an error whether I'm using $defaultIncludes or including them manually via ?include=: Call to a member function setCurrentScope() on string.
Analysing the stack trace. The initial transformers ->fireTransformer has it as an object, but the second call (when it calls the include), ->fireTransformer calls it as a string and I think that is why it is failing. But I don't understand quite right why it is happening.
I'm using Fractal version 0.17.0 and PHP 7.4
My transformers is pretty straightforward:
// DraftTransformer.php
class DraftTransformer extends TransformerAbstract
{

    protected $availableIncludes = [
        'attachments',
    ];

    public function transform(Draft $draft)
    {
        return [
            'id' => (int) $draft->id,
            'form' => $draft->form,
            'meta' => [
                'has_attachments' => $draft->getMedia('attachments')->count() > 0,
                'created_at' => $draft->created_at->toDateTimeString(),
                'updated_at' => $draft->updated_at->toDateTimeString(),
            ]
        ];
    }

    public function includeAttachments(Draft $draft)
    {
        $attachments = $draft->getMedia('attachments');
        return $this->collection($attachments, AttachmentTransformer::class);
    }
}

// AttachmentTransformer
class AttachmentTransformer extends TransformerAbstract
{

    public function transform(Media $attachment)
    {
        return [
            'id' => (int) $attachment->id,
            'name' => $attachment->file_name,
            'contentType' => mime_content_type($attachment->getPath()),
            'size' => $attachment->size,
        ];
    }
}

Stack trace:
Call to a member function setCurrentScope() on string {"userId":1,"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): Call to a member function setCurrentScope() on string at /Users/karl/projects/zone/api/vendor/league/fractal/src/Scope.php:406)
[stacktrace]
#0 /Users/karl/projects/zone/api/vendor/league/fractal/src/Scope.php(349): League\\Fractal\\Scope->fireTransformer('Zone\\\\Webmail\\\\Ma...', Object(Spatie\\MediaLibrary\\Models\\Media))
#1 /Users/karl/projects/zone/api/vendor/league/fractal/src/Scope.php(235): League\\Fractal\\Scope->executeResourceTransformers()
#2 /Users/karl/projects/zone/api/vendor/league/fractal/src/TransformerAbstract.php(162): League\\Fractal\\Scope->toArray()
#3 /Users/karl/projects/zone/api/vendor/league/fractal/src/TransformerAbstract.php(128): League\\Fractal\\TransformerAbstract->includeResourceIfAvailable(Object(League\\Fractal\\Scope), Object(Zone\\Webmail\\Mailbox\\Models\\Draft), Array, 'attachments')
#4 /Users/karl/projects/zone/api/vendor/league/fractal/src/Scope.php(435): League\\Fractal\\TransformerAbstract->processIncludedResources(Object(League\\Fractal\\Scope), Object(Zone\\Webmail\\Mailbox\\Models\\Draft))
#5 /Users/karl/projects/zone/api/vendor/league/fractal/src/Scope.php(411): League\\Fractal\\Scope->fireIncludedTransformers(Object(Zone\\Webmail\\Mailbox\\Transformers\\DraftTransformer), Object(Zone\\Webmail\\Mailbox\\Models\\Draft))
#6 /Users/karl/projects/zone/api/vendor/league/fractal/src/Scope.php(346): League\\Fractal\\Scope->fireTransformer(Object(Zone\\Webmail\\Mailbox\\Transformers\\DraftTransformer), Object(Zone\\Webmail\\Mailbox\\Models\\Draft))
#7 /Users/karl/projects/zone/api/vendor/league/fractal/src/Scope.php(235): League\\Fractal\\Scope->executeResourceTransformers()
#8 /Users/karl/projects/zone/core/src/TransformerHelper.php(59): League\\Fractal\\Scope->toArray()
#9 /Users/karl/projects/zone/core/src/Http/Response.php(48): Zone\\Webmail\\Core\\TransformerHelper->item(Object(Zone\\Webmail\\Mailbox\\Models\\Draft), Object(Zone\\Webmail\\Mailbox\\Transformers\\DraftTransformer))
#10 /Users/karl/projects/zone/mailbox/src/Controllers/DraftController.php(69): Zone\\Webmail\\Core\\Http\\Response->item(Object(Zone\\Webmail\\Mailbox\\Models\\Draft), Object(Zone\\Webmail\\Mailbox\\Transformers\\DraftTransformer))
#11 /Users/karl/projects/zone/api/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(48): Zone\\Webmail\\Mailbox\\Controllers\\DraftController->get('5baab08427b25a6...', '3278')
#12 /Users/karl/projects/zone/api/vendor/laravel/framework/src/Illuminate/Routing/Route.php(219): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(Zone\\Webmail\\Mailbox\\Controllers\\DraftController), 'get')
#13 /Users/karl/projects/zone/api/vendor/laravel/framework/src/Illuminate/Routing/Route.php(176): Illuminate\\Routing\\Route->runController()
#14 /Users/karl/projects/zone/api/app/Http/Middleware/ModuleRouting.php(32): Illuminate\\Routing\\Route->run()
...
"}

Foolish me. I did not call the AttachmentTransformer as an instance.
return $this->collection($attachments, new AttachmentTransformer);


Fixes Basic and Post Client Credentials not Working gh-346

Fixed issue #346 caused by ClientSecretBasicAuthenticationConverter creating   OAuth2ClientAuthenticationToken with deprecated ClientAuthenticationMethod.BASIC

@bibibiu2017 Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@bibibiu2017 Thank you for signing the Contributor License Agreement!

Hi @bibibiu2017, thanks for your interest in the project!
Unfortunately, this change has broken quite a lot of tests. Any chance you can take a look at those? Looking at the tests may highlight whether this alone is the correct change to make or not. I'm still catching up on the issue myself.
Also, please refer to contributing guidelines when submitting pull requests. In particular, you will want to update the header of files updated with the year "2021" in the copyright, squash your commits, and include "Fixes gh-346" on a separate line in your commit comment.

I have taken a look at the tests, the configured test registered clients, and some assertions are using the deprecated POST and BASIC Client authentication methods.

Thanks for looking at the tests, @bibibiu2017! I've tested on your branch, and while the immediate issue is resolved with this change, the sample project no longer works. This is because we've flipped the problem so now the deprecated client authentication methods are not allowed.
This is a difficult issue to solve for without too many changes, due to the fact that the AuthenticationConverters being used aren't aware of the RegisteredClient which requests what method(s) should be supported, as that later runs into a conflict in OAuth2ClientAuthenticationProvider.java#L103.
Of the available options, I think we can either:

Automatically add CLIENT_SECRET_BASIC or CLIENT_SECRET_POST when a client is registered with BASIC or POST respectively, or
Automatically upgrade BASIC or POST to CLIENT_SECRET_BASIC or CLIENT_SECRET_POST respectively when a client is registered.

Both options could have an impact. Would you be able to attempt option 2? One approach could be limiting changes to RegisteredClient.Builder#clientAuthenticationMethod, RegisteredClient.Builder#clientAuthenticationMethods and tests.

I have attempted option 2. Though I could not localize impact to the recommended test files due to assertions that check equality with deprecated BASIC and POST. One recommendation would be to change overridden  equals() method of ClientAuthenticationMethod  making BASIC or POST equivalent to CLIENT_SECRET_BASIC  or CLIENT_SECRET_POST  respectively.

Also, I forgot to mention, make sure your commit message contains on a separate line:
"Closes gh-346"

@sjohnr thanks for the feedback will be working on this shortly.

Thanks for all the updates @bibibiu2017 ! This is now in main.
I also added a polish commit that ensures all usages of ClientAuthenticationMethod.BASIC and ClientAuthenticationMethod.POST are no longer used.


support for vim, neovim

Hi, I was a vscode user and found this plugin super helpful. After migrating to neovim, I miss the power of generating good documentation for functions that I used to, I tried vim-doge and neogen but it still doesn't feel as satisfying.
Could you guys bring this plugin into vim/neovim? That would be great for other vim users and me to enjoy this amazing piece of software!

Hey I'm surprise this doesnt have more comments this would be killer !

Great idea! I think it would be helpful to reference the coc.nvim plugin at  [neoclide/coc.nvim]https://github.com/neoclide/coc.nvim, which enables developers to implement VSCode plugin functionality in Neovim.

I was also previously a vscode user, now i can't back to something else that is not neovim and i highly miss this plugin. I would love to see it implemented!

Hey guys
I made a plugin for it.
If you want to use Mintlify in Neovim try this
aidoc.nvim
check it out. 🚀


Removing unused tag from ReadOnlyUserStoreManager

Please add the Jira Details to the PR

https://wso2.org/jira/browse/IDENTITY-3333


Use Senzing SDK for Python packaging

See https://github.com/Senzing/g2command/issues/32

All changes are in the https://github.com/Senzing/g2explorer/tree/issue-18.jae.1 branch.


0.17.8

If this happens again just leave 0.17.7 open. I'd like to have a build for every version.

If this happens again just leave 0.17.7 open. I'd like to have a build for every version.

Whoops, noted. Sorry!

No worries, I just stole the hash from the last pull :)


Image pull from a private repo for quarks-job, quarks-secret and coredns does not work as expected

Describe the bug
Image pull from a private repo for quarks-job, quarks-secret and coredns does not work as expected.
Tried to get the cf-operator working with images from the private registry and have added the credentials for the registry to the global/image/credentials section which allows the cf-operator image to be pulled successfully however the other 3 images
coredns
quarks-job
quarks-secret
do not pick up the global credentials and hence the image pull for these components fails
global:
  image:
    credentials:
      username: xxxxxx
      password: xxxxxxxxxxxxxx
      servername: xxxxxxxxxxxx
image:
  repository: cf-operator
  org: private/repo
  tag: v6.1.17-0.gec409fd7
operator:
  boshDNSDockerImage: "private/repo/coredns:0.1.0-1.6.7-bp152.1.19"
quarks-job:
  image:
    org: private/repo
    repository: quarks-job
    tag: v1.0.206
quarks-secret:
  image:
    org: private/repo
    repository: quarks-secret
    tag: v1.0.744

To Reproduce
Provide private repository details to get the quarks-job, quarks-secret and coredns images in the values yaml file.
Expected behavior
Images should be pulled successfully.
Environment

CF-Operator Version - 6.1.17+0.gec409fd7
Kubecf - 2.6.1

Additional context
Installation is done on OpenShift version 4.4

(this ticket and https://github.com/cloudfoundry-incubator/quarks-operator/issues/1228 seem related).

Hi @divyaaswath , this issue is fixed by https://github.com/cloudfoundry-incubator/quarks-secret/pull/81 & https://github.com/cloudfoundry-incubator/quarks-job/pull/158. Please re-open if you still face the same issue.

@rohitsakala Thanks for your update Rohit! What about coredns fix? I didn't seem to see changes for that in the code. Please let me know if that is also addressed. Thanks!

Hi @divyaaswath , the coredns image pull bug should be fixed by https://github.com/cloudfoundry-incubator/quarks-operator/pull/1256. Please reopen the issue if the problem persists.


Why do the non-fast versions of stable voting and simple stable voting exist?

There exist both simple_stable_voting_faster and stable_voting_faster as well as simple_stable_voting and stable_voting. From the docs description, it seems like they compute the same set, so why do the non-fast versions exist? I'd either delete them or explain in the docs.

My guess is they're for testing (probably using an easier-to-write, but non-optimized, algorithm). In that case it would make sense to move them to the testing folder.

Thanks!   These are great points, and I do very much like the idea of having one name for a method with parameters to choose the algorithm.   One of the reasons why we had it defined in the way that we do  is that when we discuss the voting methods in papers, we wanted the the implementation to match as much as possible the description of the method.   But, that is often not the fastest way to implement the method (e.g., for Beat Path it is better to use the variation of the Floyd-Warshall algorithm rather than the implementation based on the definition typically used in papers).
Another issue is that, for instance, for Stable Voting one can prove that the method is Condorcet consistent.   But, it would look weird if you prove that a method is Condorcet Consistent when the first step of the method is "find a Condorcet winner and return it if it exists".  So,  for instance, for our paper on Stable Voting we wanted the implementation of stable_voting to match our discussion of the algorithm in our paper.   But, when using the method in simulations, etc., it nice to have a slightly faster version.

The abcvoting package also passes an algorithm parameter for functions that compute a rule (with a default going to the fastest available algorithm), which makes sense to me. Such an approach is compatible with having a close-to-definition implementation, which could be named algorithm=reference or algorithm=basic or similar. A disadvantage of the current setup is that there can be confusion whether two different "rules" (two different methods) are supposed to be extensionally different or not. For example, the facts that stable_voting != simple_stable_voting and stable_voting == stable_voting_faster are not immediately clear.

I like this approach, and I think we will implement that for pref_voting.
The relationship between stable_voting and simple_stable_voting is subtle.    Wes and I conjectured that stable_voting and simple_stable_voting always produce the same results on uniquely weighted profiles (it's not too difficult to see that they produce different results when there are ties in the margins, but very difficulty to find examples when there are no ties in the margins).  It turns out that this is true for 6 or fewer candidates, but not when there is more than 6 candidates.  We are writing a paper about this.

I've added the algorithm parameter to split_cycle, stable_voting, simple_stable_voting, ranked_pairs, and beat_path.
I decided to keep ranked_pairs_with_test as a separate function from ranked_pairs.   ranked_pairs_with_test sometimes returns None when it seems like the algorithm will take too long.     This is not a different algorithm for producing Ranked Pairs winners, but rather a simple heuristic to allow people to run ranked_pairs on profiles without taking forever to find the winners.


[autoparallel] add rotor C version

What's New?
In this PR I add C extension of rotor dynamic programming table calculation and remove repeated MetaInfoProp in rotor solver, right now you should execute the following code before running solver rotor
if META_COMPATIBILITY:
                    data_meta = MetaTensor(data, fake_device=next(gm.parameters()).device)
                    MetaInfoProp(gm).run(data_meta)

As we might use rotor for simplified offload strategy, this modification is crucial as we might run solver over the same graph several time for auto capper heuristic, we don't need to run this MetaInfoProp over and over again. Actually with the new C version dynamic programming, the MetaInfoProp itself consumes more time than simply run the dynamic programming.

I will build a unit test to compare the solution of python and C version dynamic programs.

I will convert this PR to draft until it is ready for review again.

As the unit test of C version solver consistency is skipped in torch11, the above is the result on torch12.


Fix mmap syscall on s390

mmap arguments must be passed in an array on s390.
Signed-off-by: Ilya Leoshkevich<EMAIL_ADDRESS>

@googlebot I signed it!

Applied. Thanks.


Workout Log Page Ticked Set Problem

In WorkoutLog.kt, when clicked set tick, database occures some problem.

Fixed


Update VueTabs.js

Fix issue https://github.com/cristijora/vue-tabs/issues/43
If initialize tabs programmatically, Tab content does not display when initial tab is the leftmost (first) tab
Thanks to @mattrw89

Who can merge this in? @cristijora?

Good catch guys! Thanks for the input @mattrw89 and @bicienzu
Sorry for the long delay, I've been on vacation.
Appreciate your work !


Unify handling of kwargs

Python and R have different implementations of the same feature, the ability to pass in an arbitrary set of keyword arguments into a function.
Python:
def some_func(**kwargs):
    print(kwargs)

some_func(a=True)

R:
some_func <- function(...){
    print(list(...))
}

some_func(a = TRUE)

Right now, doppel will not recognize that those two functions define the same public API. Resolving this issue involves recognizing these situations and recording the corresponding argument data to some more generic key like ~~KWARGS~~ or something else language-agnostic.

I did this! As of https://github.com/jameslamb/doppel/commit/7a94b82a34cbf97874077750e0965e66cf0de341 and the following two commits


feat: allow nomos migrate to continue on error

ACM operator will soon report an error when monorepo mode is enabled. This change allows nomos migrate to still operate for new versions of ACM operator.
Alternatively we could filter by specific error message, however currently the only errors set by ACM operator are related to the git config issues. This solution is simpler and less brittle on account of hard coded string comparison.

/assign @nan-yu

/retest

/retest

/retest

/retest


can pass user/password from code ?

I have a platform that create a room in a self-hosted Jitsi using prosody’s “Internal_plain” authentication.
So, the user that I configured works perfectly when I create a room out of my platform (It question the user/pass and when I put, entry).
But now I want that when I create a room from my platform, I want to pass the user/password automatically. In this way, the host would automatically enter while waiting for the other guests.
It’s possible?

I would like to do the same, to have users auto-join with provided credentials. Did you ever figure it out?

Hi @angga1992 I believe you can use the executeCommand to do this, I haven't tried this myself by please check this doc from Jitsi, thanks https://jitsi.github.io/handbook/docs/dev-guide/dev-guide-iframe-commands#password

Closing this for now due to the length of the opening of the issue. Apologies I haven't seen this one for a long time. 😅


Feature request: Add gender to the information extracted from the German wiktionary dump

Each article title for nouns has information on the gender of the corresponding noun. It would be very helpful to have them extracted as well.

In addition to the title, gender information is also stored in the inflection table. The corresponding section is explicitly skipped in the parsing code (https://github.com/LuminosoInsight/wikiparsec/blob/a7bfe4c668da1ff610ca5852f5efa08f845438ce/Text/MediaWiki/Wiktionary/German.lhs#L281).


chore: update openrpc spec file to api version v0.2.0

Updates openrpc spec for api version v0.2.0

We should only merge this once we release


Documentation

Document MIO for use by others

[ ] Readme
[ ] Guides
[ ] Rustdoc
[ ] Examples

The client/server example provided in the documentation won't compile in the current version of Rust.
I've made a variation that compiles without warnings that is probably far from idiomatic, but at least runs.

Closing in favor of #222


Execute JavaScript on Page improvements

[ ] Add selector / handle support (run eval injecting the elementhandle as an argument)
[ ] Rename to Execute Javascript

Fixed in 4890ac64a42d23d85d7d9eb5df4997b6722fcc6f